# ドキュメント間の食い違い 仮決定の作業中に見つけたもの。メインドキュメントは直していない(CLAUDE.md「食い違いは指摘する」)。 直すかどうかは別途決める。モックでの扱いは decisions.md の該当項目。 | ID | 食い違い | 根拠 | モックでの扱い | |---|---|---|---| | D-1 | PHYの保存形式(TS風の型)に、ノードの `type`、`Cluster.name`、キー・ファイル単位の `kleCompatibility` がない。JSON Schemaにはあり、`type` は必須 | `PHYレイヤー.md`「保存形式」、`phase1-json-schema.md` §1 | 保存形式はSchemaに合わせる | | D-2 | ELC・IDXの保存形式に `version` と `phyReference` がない。Schemaでは必須 | `ELCレイヤー.md`・`IDXレイヤー.md`「保存形式」、`phase1-json-schema.md` §2, §3 | 層の本体と、それを包むファイルの形を分ける(T-10) | | D-3 | PHYの概要は「matrix情報や入力キー情報を含ませることができる」とするが、全体方針ではELC・MAPが別の層としてPHYを参照する | `PHYレイヤー.md`「概要」、`keyboard-design-layers.md`「レイヤー構造」 | PHYへ他層の情報を入れない | | D-4 | MAPはレイヤーとStaticの動作を名前で参照すると定めるが、Schemaの `keycode` は任意の文字列で、名前での参照の書き方がない | `MAPレイヤー.md`「MAPデータと他レイヤーの関係」、`phase1-json-schema.md` §4 | 書き方を仮に決める(T-22) | | D-5 | ELCは「排他でないキー同士が同じ接続先の組を持つのは設計エラー」とする。順序のない組と読むと、Cr0wn60(行と列に同じ9本のピン。`1,0` と `0,1` が両方ある)は、行と列のピンの並びが同じなら同じ2本のピンの組になってエラーになり(ピンの並びはファームウェアで未確認)、charlieplexingを検証用サンプルにしていることと両立しない | `ELCレイヤー.md`「レイアウトバリアント」、`implementation-plan.md`「テストケース」、`samples/via/cr0wn60.json` | ダイオードの向きを含めて比べる(T-25) | | D-6 | 座標の単位はUで「1Uのサイズはプロファイルで指定する」が、プロファイルはキーごとに参照する。クラスターの変換や、異なる `unitSize` のキーが混在する木で、どのUを使うかが決まっていない | `PHYレイヤー.md`「座標と回転」「プロファイル設定」 | `unitSize` が揃ったものだけ編集可(T-21) | | D-7 | reparentの式 `M_i' = M_C⁻¹ · M_i` は、`M_i` と `M_C` が同じ座標系にある場合(新しい親が元の兄弟)にしか成り立たない。クラスターから出す操作や、別の階層への移動での形が書かれていない | `PHYレイヤー.md`「クラスターの組み替え」 | ワールド変換で計算する(T-27) | | D-8 | HSTは「MAPが出力するのはHIDのキーコード」とするが、MAPはQMKの表記でレイヤー動作等も扱い、すべてが1つのHIDキーコードになるわけではない | `HSTレイヤー.md`「概要」、`MAPレイヤー.md` | 影響なし(HSTを作らない) | | D-9 | Schemaは `unitSize`、キーの `w`/`h` に0を許し、IDの一意性・参照先の存在は表せない | `phase1-json-schema.md` | 意味的な検証の関数で正の値・一意性・参照を検査する(T-16) |