From 3749f267b55ab13f4efc1e57105bd1c31bc37282 Mon Sep 17 00:00:00 2001 From: EwdErna Date: Mon, 26 Oct 2026 08:49:51 +0900 Subject: [PATCH] =?UTF-8?q?provisional:=20PHY=20Editor=E3=81=A7=E7=95=B0?= =?UTF-8?q?=E5=BD=A2=E3=82=AD=E3=83=BC=E3=82=92=E6=8F=8F=E3=81=8D=E3=83=BB?= =?UTF-8?q?=E7=B7=A8=E9=9B=86=E3=81=97=E3=83=BB=E8=BF=BD=E5=8A=A0=E3=81=99?= =?UTF-8?q?=E3=82=8B=E6=96=B9=E6=B3=95=E3=82=92=E4=BB=AE=E3=81=AB=E6=B1=BA?= =?UTF-8?q?=E3=82=81=E3=82=8B(T-32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2つの矩形の和の外形を1つの輪郭で描き、選択枠も同じ外形にする - プロパティ欄は「異形キー」のチェックで2つ目の矩形の欄(X2・Y2・Width2・Height2)を出し入れする - 1Uの「キーを足す」は残し、隣に「異形キーを足す」selectを置く。候補はdomainのプリセット表から出し、今はISO Enterだけ - 追加位置は1Uと同じ規則で、外接矩形の左上を合わせる Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Xmqw9x7EoryY6zf116i3yM --- provisional/decisions.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/provisional/decisions.md b/provisional/decisions.md index 54ab72a..5afe666 100644 --- a/provisional/decisions.md +++ b/provisional/decisions.md @@ -155,6 +155,23 @@ ISO Enter・BAE等の異形キー(`w2`・`h2`・`x2`・`y2` のいずれかを 覆すときに影響する箇所: `mock/src/ui/idx/`、`mock/src/domain/` の IDX の並べ替え関数とそのテスト、`mock/e2e/idx.spec.ts`。 +### T-32 PHY Editorでの異形キー + +PHY Editorで、2つ目の矩形(`x2`・`y2`・`w2`・`h2`)を持つキーを描き、編集し、追加できるようにする。 +理由: データモデル・KLEの読み書きは2つ目の矩形を扱えるのに、キャンバスは主矩形しか描かず、編集手段もなかった。 + +- 描画: 2つの矩形の和の外形を1つの輪郭で描く。選択枠も同じ外形にする。当たり判定と範囲選択は両方の矩形で取る。 + 2つ目の矩形を持たないキーは今までどおり角丸の矩形で描く。 +- 編集: プロパティ欄に「異形キー」のチェックを置き、オンのときだけ2つ目の矩形の欄(X2・Y2・Width2・Height2)を出す。 + オンにしたときの初期値はKLEの既定(0, 0, w, h)。オフにすると4つとも消す。Width・Heightを変えても2つ目の矩形は変えない。 +- 追加: ツールバーの「キーを足す」(1U)はそのまま残し、隣に「異形キーを足す」のselectを置く。 + 候補は `domain/` のプリセット表から出し、今はISO Enter(KLEのプリセットと同じ `w1.25 h2`、`x2 -0.25 w2 1.5 h2 1`)だけを置く。 + プリセットを表に足せば、selectの項目も増える。ショートカットのキー追加は1Uのまま。 +- 追加位置: 1Uキーと同じ規則(T-30 単位6)で求めた位置に、キーの外接矩形の左上を合わせる。ISO Enterは原点が外接矩形の0.25U右になる。 +- スイッチ位置・スタビ: 変えない。スイッチは主矩形の中心(`switchOffset` 0)、スタビ候補は置かない(T-30 単位8)。 + +覆すときに影響する箇所: `mock/src/domain/keyShape.ts` とそのテスト、`mock/src/ui/phy/` の描画・選択枠・プロパティ欄・ツールバー、`mock/e2e/phy.spec.ts`。 + ## B. 明示的な未決事項 ### 未確認事項