ewderna and Claude Opus 5
a175ee3c53
PHY: レイアウトバリアントを木のノードとして導入し、ELC/IDXの扱いを決める
...
交換可能なキークラスタ(ISO Enter、スペース周りのキー数など)を、
VariantGroup / Variant の2ノードでPHYの木に表す。全バリアントのキーを
同時に持ち、単一の配置を要求する出力のときだけ1つ選んで畳む。
ELCは選択に関係なくsupersetを配線する。排他キー同士は同じ接続先を共有してよい。
IDXはキー番号の空間を1つに保ち、同じ接続先に配線された排他キーは
`order` の配列要素として同じ番号を共有する。
Journal: journal/2026-09-21-multi-layout.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01JPCpuPv6hDN76RgNe2PsRR
2026-09-21 09:34:51 +09:00
ewderna and Claude Opus 5
2eb2867c13
IDX: キー番号の正本としてIDXレイヤーを確定し、MAPの参照をPHYへ移す
...
キー番号はPHYの幾何からもELCの配線からも導出できない決めごとなので、IDXが正本を持つ。
公開した基板のキー番号は他人のキーマップが依存する公開インターフェースであり、
出力のたびに生成し直さず固定する。
「最も重要な抽象化層」「最も欠けている層」という位置づけは誤りだったので落とした。
QMKのLAYOUTマクロの引数順、ZMKのmatrix transformのmap、KMKのcoord_mappingとして
既に存在していて、形式化されていないだけである。
あわせて2点。MAPはキー番号ではなくPHYのキーIDを参照する(IDXへの挿入でMAPがずれないため)。
IDXの保存形式は order: string[] とし、ELCのLEDChain.orderと同じく並びの位置を番号とする。
phase1-json-schema.md の P-1 を解消。
Journal: journal/2026-09-21-idx-necessity.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-21 08:52:27 +09:00
ewderna and Claude Opus 5
d858361586
schema: IDX/ELCスキーマを確定した仕様に追従させる
...
ELCをELCレイヤー.mdの保存形式で書き直した。microcontrollerとmatrixの列挙は
捨てたモデルなので削除し、提供者・端子・LEDチェーンに置き換え。参照先もIDXからPHYへ。
IDXからはrow/colとラベルを外し、キーIDとキー番号の対応だけにした。
PHYはcompatibilityブロックを、キー側と同じ形のファイル単位kleCompatibilityに置換。
clusterのnameは保存形式に無いため必須から外した。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-20 21:56:32 +09:00
ewderna and Claude Opus 5
900dfff65e
schema: PHYスキーマをPHYレイヤー.mdに追従させる
...
size に x2〜h2、key に switchOffset / partGroup / orientation /
perKeyLED / decal / ghost / labels を追加し、部品ノードを component
として定義して root と cluster.children に加えた。
key.metadata は廃止し、labels をトップレベルへ移した。残る見た目の
属性は保持する先の層が決まっていない(P-6)ため、構造化せず
kleCompatibility に不透明なまま置く。
PHYレイヤー.md 側の「スキーマが追従していない」注記を削除。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-20 14:31:47 +09:00
ewderna and Claude Opus 5
9ebe302691
json-schema: PHYスキーマを相対座標モデルとKLE往復の決定に合わせる
...
cd6a94f(相対座標・回転中心なし)と 1a9a2a0(KLE往復は照合)の反映漏れを直す。
- position を $defs/transform (x, y, rotation) に置き換え、rotationOrigin を削除
- size を width/height から w/h に揃え、親の変換を受けないことを明記
- elements を root / children に改名
- kleCompatibility.originalIndex を削除(KLEは保存時にキーを並べ替える)
- 使用例を新しい形に更新し、スキーマで検証が通ることを確認
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-18 22:17:36 +09:00
ewderna and Claude Opus 5
55243f626d
初期検討段階のドキュメントと運用ルールを取り込む
...
ルール策定前に書かれた設計ドキュメント7点を、以降の基準点として
そのままの状態で記録する。CLAUDE.md のルール1〜4は未適用。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MdLT5x5ka5y6CaWLeE3EKb
2026-09-18 08:43:01 +09:00