phy: プロファイルをファイル単位の器に置き、キーはIDで参照する
保存形式に PhyFile を書き、profiles を木の外に出した。同じ定義を複数のキーに 複製しないため、Key.profile は実体ではなくIDの参照にする。 ビジュアル表現は上面矩形の4辺インセット + R とし、非対称な上面を表せる形にした。 プロファイル内の距離はすべてmmに統一。 Journal: journal/2026-09-21-profile-container.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01246a5KFLmwcRXriZvX8fdJ
This commit is contained in:
@@ -86,6 +86,7 @@ ELC・IDX・MAPはどれもPHYを参照する。ELCはIDXを参照せず、MAP
|
||||
"name": { "type": "string" },
|
||||
"unitSize": {
|
||||
"type": "object",
|
||||
"description": "Millimeters per 1U",
|
||||
"required": ["x", "y"],
|
||||
"properties": {
|
||||
"x": { "type": "number", "minimum": 0 },
|
||||
@@ -94,9 +95,13 @@ ELC・IDX・MAPはどれもPHYを参照する。ELCはIDXを参照せず、MAP
|
||||
},
|
||||
"visualOffset": {
|
||||
"type": "object",
|
||||
"description": "Key top rectangle, in millimeters: inward distance from each edge of the outline, plus corner radius",
|
||||
"required": ["top", "right", "bottom", "left", "radius"],
|
||||
"properties": {
|
||||
"x": { "type": "number" },
|
||||
"y": { "type": "number" },
|
||||
"top": { "type": "number" },
|
||||
"right": { "type": "number" },
|
||||
"bottom": { "type": "number" },
|
||||
"left": { "type": "number" },
|
||||
"radius": { "type": "number", "minimum": 0 }
|
||||
}
|
||||
}
|
||||
@@ -283,7 +288,7 @@ ELC・IDX・MAPはどれもPHYを参照する。ELCはIDXを参照せず、MAP
|
||||
"id": "standard",
|
||||
"name": "Standard Cherry MX",
|
||||
"unitSize": { "x": 19.05, "y": 19.05 },
|
||||
"visualOffset": { "x": 1, "y": 1, "radius": 1 }
|
||||
"visualOffset": { "top": 3, "right": 3, "bottom": 3, "left": 3, "radius": 1 }
|
||||
}
|
||||
],
|
||||
"root": [
|
||||
|
||||
Reference in New Issue
Block a user