provisional: IDX Editorのバリアント選択と、欠番を作らないことを決める
- 欠番は作らない(現行仕様のまま)。構成をまたいで番号をそろえる場面を挙げられないため - 複数行にまたがるキーは上端の行の位置に置く - 左ペインをVariantGroupのツリーにし、キャンバスには選択した構成だけを表示して並べ替える - 隠れたキーは同じVariantGroupで選択中のキーにくっつけ、決まらなければ手前のキーにくっつける Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYqQUp9AZ5TqvtELdpcwC6
This commit is contained in:
@@ -45,18 +45,27 @@
|
||||
プリセットは走査でキーの列を作って渡す。なぞる操作や「順にクリックして番号を振る」は、後から同じ操作に乗せる。
|
||||
- 排他キー: `order` では既に別々の要素であり(`IDXレイヤー.md`「レイアウトバリアント」)、選択後に同時には残らない。
|
||||
そのため排他キー同士の前後はどの出力番号にも影響せず、決め方は任意でよい(保存データの差分が安定すれば足りる)。
|
||||
出力番号に効くのは、複数行にまたがるキー(縦2U、ISO Enter)を共通キーに対してどの行に置くか。下の「欠番」の項目と同じ問題として扱う。
|
||||
出力番号に効くのは、複数行にまたがるキー(縦2U、ISO Enter)を共通キーに対してどの行に置くか。上端の行に置く(「欠番」の項目)。
|
||||
|
||||
## 要検討
|
||||
### 欠番
|
||||
|
||||
- バリアント選択のドロップダウンの位置。左上に置く案。
|
||||
- 欠番(番号の飛び)を作れないこと。現行仕様では、出力番号は `order` 内の位置で表し、飛ばない(`IDXレイヤー.md`「保存形式」)。
|
||||
- 欠番(番号の飛び)は作らない。現行仕様(`IDXレイヤー.md`「保存形式」)のままとする。
|
||||
構成をまたいで番号がそろっていてほしい利用場面を、今は挙げられないため。
|
||||
- 場面: 4x4の右下(11, 15)をoption A、縦2UキーをBにする。2Uを `order` の末尾に置くと、Bでは12〜14が1つずつ前へずれる。
|
||||
「2Uを末尾にする」と「バリアント外のキーの番号をずらさない」を両立するには、11を欠番にするしかない。
|
||||
- 番号を詰める方式は2026-09-22に決めた(`journal/2026-09-22-idx-variant-output.md`)。番号の互換性はバリアントを選んだ構成ごとに扱い、
|
||||
別の構成で同じ番号が同じキーを指すことは保証しない。ただし、そのときの例は1対1の排他キー(ANSI/ISO)だけだった。
|
||||
- 今の仕様のままなら、2Uを11の位置に置けば12〜14はずれない(QMKのテンキーの+キーも上端の位置に置く慣習)。
|
||||
- 構成をまたいで番号が揃っていてほしい利用場面(手書きのkeymap.cを共有する、など)があるかを確認してから扱いを決める。
|
||||
2Uを11の位置に置けば12〜14はずれない(QMKのテンキーの+キーも上端の位置に置く慣習)。
|
||||
- 構成をまたいで番号をそろえたい場面が出てきたら考え直す。
|
||||
|
||||
### バリアント選択
|
||||
|
||||
- 左ペインを、VariantGroupとバリアントのツリーにする。入れ子のグループは親バリアントの下に置く。
|
||||
PHY Editorの左ペインのツリーと見た目をそろえる。クラスターは出さない。
|
||||
- キャンバスには選択した構成のキーだけを表示し、その上で並べ替える。
|
||||
全バリアントを表示すると、排他キー(ANSI/ISOのEnterなど)が同じ場所に重なって操作できないため。
|
||||
- 隠れたキー(選ばれていないバリアントのキー)は、同じVariantGroupで選択中のバリアントのキーにくっつける。
|
||||
- 例: `order` が `[a, h, b]` で、hがISO Enter、aがANSI Enterとする。
|
||||
aとbの間へxをドロップすると `[a, h, x, b]` になり、hが見える構成でも「xはEnterの後」という意図が保たれる。
|
||||
- 両隣とも同じVariantGroupでなければ、手前のキーにくっつける。
|
||||
- 表示中のキーを別の場所へ動かしても、隠れたキーはその場に残る。
|
||||
|
||||
## モックの実装上の問題
|
||||
|
||||
|
||||
Reference in New Issue
Block a user