provisional: PHY Editorのクラスター選択とフォーカスモードの方向を合意に移す
クラスターは長押しで選び、押している間に直近の親から順に上がってループする。 フォーカスモードはダブルクリック(始めた時点で選ばれていたクラスター)かEnterで入り、Escで出る。 キー操作の候補一覧とモディファイアを振る基準を phy-editor-keybindings.md に置いた。 要検討は「モックで試して決める」と「画面仕様までに決める」に分けた。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SMS99uQoYnBW1LHuyyufQc
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
| [decisions.md](decisions.md) | 仮決定の本体。範囲と技術 / 明示的な未決事項 / 暗黙の未決事項 |
|
| [decisions.md](decisions.md) | 仮決定の本体。範囲と技術 / 明示的な未決事項 / 暗黙の未決事項 |
|
||||||
| [discrepancies.md](discrepancies.md) | 作業中に見つけたドキュメント間の食い違い。メインドキュメントは直していない |
|
| [discrepancies.md](discrepancies.md) | 作業中に見つけたドキュメント間の食い違い。メインドキュメントは直していない |
|
||||||
| [phy-editor-feedback.md](phy-editor-feedback.md) | PHY Editorモックの所感。画面仕様を作り直すときの入力 |
|
| [phy-editor-feedback.md](phy-editor-feedback.md) | PHY Editorモックの所感。画面仕様を作り直すときの入力 |
|
||||||
|
| [phy-editor-keybindings.md](phy-editor-keybindings.md) | PHY Editorのキー操作の候補一覧と、モディファイアを振る基準 |
|
||||||
| [idx-editor-feedback.md](idx-editor-feedback.md) | IDX Editorモックの所感。画面仕様を作り直すときの入力 |
|
| [idx-editor-feedback.md](idx-editor-feedback.md) | IDX Editorモックの所感。画面仕様を作り直すときの入力 |
|
||||||
| [elc-editor-feedback.md](elc-editor-feedback.md) | ELC Editorモックの所感。画面仕様を作り直すときの入力 |
|
| [elc-editor-feedback.md](elc-editor-feedback.md) | ELC Editorモックの所感。画面仕様を作り直すときの入力 |
|
||||||
| [map-editor-feedback.md](map-editor-feedback.md) | MAP Editorモックの所感とRemapの現状。画面仕様を作り直すときの入力 |
|
| [map-editor-feedback.md](map-editor-feedback.md) | MAP Editorモックの所感とRemapの現状。画面仕様を作り直すときの入力 |
|
||||||
|
|||||||
@@ -6,24 +6,41 @@
|
|||||||
## 方向が合意できたもの
|
## 方向が合意できたもの
|
||||||
|
|
||||||
### 選択
|
### 選択
|
||||||
|
|
||||||
- 何を選択しているかが一目で分かること(モックは選択枠がほぼ見えない。下記「モックの実装上の問題」)。
|
- 何を選択しているかが一目で分かること(モックは選択枠がほぼ見えない。下記「モックの実装上の問題」)。
|
||||||
- クリックでの追加選択は1件ずつのトグルのみ(連続選択の「順番」は作らない)。
|
- クリックでの追加選択は1件ずつのトグルのみ(連続選択の「順番」は作らない)。
|
||||||
- 複数選択はキャンバス上のドラッグ(範囲選択)でもできる。
|
- 複数選択はキャンバス上のドラッグ(範囲選択)でもできる。
|
||||||
- キャンバスでクリックしたとき先に選ばれるのはキー。クラスターを選ぶ手段は別に要る(要検討)。
|
- キャンバスでクリックすると、それまでの選択によらずキーが選ばれる。
|
||||||
|
- クラスターは長押しで選ぶ。押している間、一定間隔で選択先が直近の親から順に上がり、
|
||||||
|
一番上の親の次はキーに戻ってループする。離したときの状態で選択が確定する。途中の選択先はインジケータで示す。
|
||||||
|
- Shift+長押しで、クラスターを選択に足せる。
|
||||||
|
- 親とその配下は同時に選択しない(変換が二重にかかるだけで、使い道がない)。
|
||||||
|
- クラスターは長押しのほか、階層パネルとキー操作(親へ上がる・子へ降りる)でも選べる。長押しはヘルプで案内する。
|
||||||
|
- タッチ操作(長押しが標準のメニューと重なる)は当面考えない。
|
||||||
- 何もない場所のクリック・Escで選択を外せる。
|
- 何もない場所のクリック・Escで選択を外せる。
|
||||||
|
|
||||||
### クラスター
|
### クラスター
|
||||||
|
|
||||||
- クラスターの当たり判定・選択表示は子を囲む矩形。クラスターのローカル座標で取る(回転に追従するOBB)。
|
- クラスターの当たり判定・選択表示は子を囲む矩形。クラスターのローカル座標で取る(回転に追従するOBB)。
|
||||||
- 階層(ツリー)パネルはクラスター・VariantGroupの選択と構造の確認に必要。キーの一覧としては不要なので、キーは畳むなど目立たせない。
|
- 階層(ツリー)パネルはクラスター・VariantGroupの選択と構造の確認に必要。キーの一覧としては不要なので、キーは畳むなど目立たせない。
|
||||||
- VariantGroupはクラスターの一種という認識。移動・回転の「親」にVariantGroupも含む。
|
- VariantGroupはクラスターの一種という認識。移動・回転の「親」にVariantGroupも含む。
|
||||||
|
|
||||||
|
### フォーカスモード
|
||||||
|
|
||||||
|
- 特定のクラスター内だけを編集対象にし、他を薄く表示するモードを作る。
|
||||||
|
- 入る: クラスターを選んだ状態でダブルクリック。ダブルクリックを始めた時点で選ばれていたクラスターに入る
|
||||||
|
(1回目のクリックで選択がキーに移っても、入る先は変わらない)。キーボードではEnter。
|
||||||
|
- 出る: Esc。選択があるときのEscはまず選択を外し、選択がない状態のEscでフォーカスを抜ける。
|
||||||
|
|
||||||
### 移動・回転・サイズ
|
### 移動・回転・サイズ
|
||||||
|
|
||||||
- 移動・サイズ変更・削除をキーボードで操作できる。削除は参照の確認(T-15)を省かない。確認は操作した場所の近くに出す。
|
- 移動・サイズ変更・削除をキーボードで操作できる。削除は参照の確認(T-15)を省かない。確認は操作した場所の近くに出す。
|
||||||
- 矢印キーでの移動方向は、直近の親(クラスター・VariantGroup)の軸方向。ドラッグと同じ。
|
- 矢印キーでの移動方向は、直近の親(クラスター・VariantGroup)の軸方向。ドラッグと同じ。
|
||||||
- 複数選択に対して回転以外の操作(移動など)もできる。
|
- 複数選択に対して回転以外の操作(移動など)もできる。
|
||||||
- 複数キーを共通の中心で回したいなら、それはクラスターをなす。選択ノードを個別に回転する操作はそれとして残す。
|
- 複数キーを共通の中心で回したいなら、それはクラスターをなす。選択ノードを個別に回転する操作はそれとして残す。
|
||||||
|
|
||||||
### 表示
|
### 表示
|
||||||
|
|
||||||
- キャンバスは画面サイズに追従する(モックは1152×896px固定)。
|
- キャンバスは画面サイズに追従する(モックは1152×896px固定)。
|
||||||
- 読み込み時は全体が収まり中央に来るようにズームする。同じ操作をボタン・キーでも呼べる(全体表示)。
|
- 読み込み時は全体が収まり中央に来るようにズームする。同じ操作をボタン・キーでも呼べる(全体表示)。
|
||||||
- 見出しを付けすぎない(「レイアウト」「PHYの木」など)。
|
- 見出しを付けすぎない(「レイアウト」「PHYの木」など)。
|
||||||
@@ -31,14 +48,25 @@
|
|||||||
|
|
||||||
## 要検討
|
## 要検討
|
||||||
|
|
||||||
- キャンバス上でクラスターを選ぶ手段(キー選択から親へ上がる操作、クラスター枠内の空き場所のクリック、など)。
|
### モックで試して決める
|
||||||
- フォーカスモード(特定クラスター内だけ表示し、他を薄くする)の要否。作るなら「クラスターに入る」操作(ダブルクリックなど)とセットにする。
|
|
||||||
|
触って比べないと決まらないもの。
|
||||||
|
|
||||||
|
- 長押しの詳細: 選択先が上がる間隔、インジケータの見た目、長押しとドラッグの切り分け(長押しで階層を選んでからドラッグに移れるか)。
|
||||||
- 個別回転とクラスター化してからの回転のどちらを主な操作にするか。
|
- 個別回転とクラスター化してからの回転のどちらを主な操作にするか。
|
||||||
- ドラッグのスナップの細かさ。0.25U刻みはズーム1倍で16pxずつ飛び、細かい調整がしづらい。キーボード操作で足りるなら不要。
|
- ドラッグのスナップの細かさ。0.25U刻みはズーム1倍で16pxずつ飛び、細かい調整がしづらい。キーボード操作で足りるなら不要。
|
||||||
- 矢印キーの刻み幅(修飾キーで粗く・細かく、など)。
|
- 矢印キーの刻み幅(修飾キーで粗く・細かく、など)。
|
||||||
- どこまでアイコンのみのボタンにするか。
|
- どこまでアイコンのみのボタンにするか。
|
||||||
|
- ホイールでのカーソル中心ズーム、ホバー時の強調(モックに無い。未議論)。
|
||||||
|
|
||||||
|
### 画面仕様までに決める
|
||||||
|
|
||||||
|
試さなくても決められる、または試す前に決めておく必要があるもの。
|
||||||
|
|
||||||
|
- キー割り当て。候補の一覧とモディファイアを振る基準は [phy-editor-keybindings.md](phy-editor-keybindings.md)。
|
||||||
- UIでの呼び方。PHY・ELCなどのレイヤー名は設計上の仮称で、画面に出すかどうかは別途決める(「PHYの木」→「階層」など)。
|
- UIでの呼び方。PHY・ELCなどのレイヤー名は設計上の仮称で、画面に出すかどうかは別途決める(「PHYの木」→「階層」など)。
|
||||||
- ホイールでのカーソル中心ズーム、ホバー時の強調、コピー&ペースト(モックに無い。未議論)。
|
- コピー&ペースト(モックに無い。未議論)。新しいIDの振り方と他の層からの参照の扱いはデータモデルの問いで、
|
||||||
|
メインドキュメント側に置くべきものかもしれない。
|
||||||
|
|
||||||
## モックの実装上の問題
|
## モックの実装上の問題
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
# PHY Editor のキー操作(検討用)
|
||||||
|
|
||||||
|
キーで呼べるとよさそうな操作の一覧と、モディファイアを振るときの基準。**仕様ではない。**
|
||||||
|
[phy-editor-feedback.md](phy-editor-feedback.md) の要検討を詰めるための材料。キー割り当ては未決。
|
||||||
|
|
||||||
|
## 操作一覧
|
||||||
|
|
||||||
|
「メモ」の割り当ては一般的な慣例か、議論に出た候補。決めたものではない。
|
||||||
|
|
||||||
|
### A. 選択を動かす(データは変わらない。方向があり、繰り返し押す)
|
||||||
|
|
||||||
|
| 操作 | メモ |
|
||||||
|
| --- | --- |
|
||||||
|
| 選択を外す | Esc(合意済み) |
|
||||||
|
| 親へ上がる | 長押しで親へ上がる操作のキーボード版。候補: Alt+Ctrl+↑ のような形(モディファイアは未定) |
|
||||||
|
| 子へ降りる | 上がる前に選んでいた子を覚えておけば、上下を往復できる |
|
||||||
|
| 兄弟へ順に移る | Tab / Shift+Tab にすれば、MAP Editor の Tab での入力ループと揃う |
|
||||||
|
| 画面上で隣にあるキーへ移る | 4方向。マウスを使わずに配置を詰める作業に使う |
|
||||||
|
| 全選択 | フォーカスモード中はそのクラスター内だけにするなど、範囲を決める必要がある |
|
||||||
|
| 同じ親を持つキーをすべて選ぶ | クラスターの組み替えは同じ親を持つノードに限るので、組み替えの準備に使える |
|
||||||
|
|
||||||
|
### B. 配置を変える(データが変わる。方向があり、量を持ち、繰り返し押す)
|
||||||
|
|
||||||
|
| 操作 | 方向 | メモ |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 移動 | 4方向 | 刻みは通常・粗い・細かい |
|
||||||
|
| サイズ(w/h) | 4方向 | 原点が左上なので、右と下が伸びる向き |
|
||||||
|
| 回転 | 2方向 | ±15°と、それより細かい刻み |
|
||||||
|
| スイッチの向き | 2方向 | 90°ずつ切り替える |
|
||||||
|
| スイッチ位置のオフセット | 4方向 | 使う頻度は低い。数値入力で足りるかもしれない |
|
||||||
|
|
||||||
|
### C. 構造を変える(データが変わる。1回で完結する)
|
||||||
|
|
||||||
|
| 操作 | メモ |
|
||||||
|
| --- | --- |
|
||||||
|
| クラスターにする | よく使われる割り当ては Ctrl+G |
|
||||||
|
| クラスターを解除する | よく使われる割り当ては Ctrl+Shift+G |
|
||||||
|
| 1つ上の親へ出す | |
|
||||||
|
| VariantGroup にする / Variant を足す | 頻度が低いので、メニューからで十分かもしれない |
|
||||||
|
|
||||||
|
### D. 作る・消す(データが変わる。1回で完結する)
|
||||||
|
|
||||||
|
| 操作 | メモ |
|
||||||
|
| --- | --- |
|
||||||
|
| 削除 | Delete。他の層から参照されていないかの確認は省かない(合意済み) |
|
||||||
|
| 複製 | Ctrl+D |
|
||||||
|
| コピー・カット・ペースト | 要検討に載っている項目。新しい ID の振り方と、他の層からの参照の扱いは複製と同じ問題 |
|
||||||
|
| キーを足す | 選択中のキーの隣に 1U を置く、など |
|
||||||
|
|
||||||
|
### E. 表示(データは変わらず、保存もしない)
|
||||||
|
|
||||||
|
| 操作 | メモ |
|
||||||
|
| --- | --- |
|
||||||
|
| 全体表示 | 合意済み |
|
||||||
|
| 選択範囲にズーム | |
|
||||||
|
| ズームイン・アウト、等倍 | |
|
||||||
|
| フォーカスモードに入る・出る | Enter で入る、Esc で出る(合意済み) |
|
||||||
|
| 表示するバリアントを切り替える | 選んでいる VariantGroup の次の Variant へ送る |
|
||||||
|
| 表示のオン・オフ | ラベル、ゴースト、スイッチの位置と向き、グリッド。頻度は低い |
|
||||||
|
| 階層パネルを開く・閉じる | |
|
||||||
|
|
||||||
|
### F. 文書全体・その他
|
||||||
|
|
||||||
|
| 操作 | メモ |
|
||||||
|
| --- | --- |
|
||||||
|
| 元に戻す / やり直す | Ctrl+Z / Ctrl+Shift+Z |
|
||||||
|
| 保存・書き出し | |
|
||||||
|
| プロパティの入力欄へ移る | 数値を入れるとき。F2 や Enter など |
|
||||||
|
| ショートカットの一覧を出す | `?` など |
|
||||||
|
|
||||||
|
## モディファイアを振るときの基準
|
||||||
|
|
||||||
|
1. **データを変えるか**: A・E(変えない)と、B・C・D(変える)に分かれる。
|
||||||
|
表示や選択を動かすつもりで配置を変えてしまわないよう、両者は別のモディファイアにしたい。
|
||||||
|
2. **方向があって繰り返し押すか**: A(一部)と B は方向を持つので、矢印キーを取り合う。
|
||||||
|
どの値を動かすかをモディファイアで切り替えることになる。
|
||||||
|
1回で完結する C・D・F は、Ctrl+文字キーの慣例に乗せられる。
|
||||||
|
3. **刻みの粗さ**: B の中だけで使う軸。「どの値か」と「刻み」をどちらもモディファイアで表すと、
|
||||||
|
組み合わせの数が掛け算で増える。
|
||||||
|
4. **効く場所**: どこでも効くもの(元に戻す・保存)、キャンバスやパネルにフォーカスがあるときだけ効くもの、
|
||||||
|
入力欄では文字入力を優先するもの、に分かれる。
|
||||||
|
|
||||||
|
矢印キーを取り合う候補は、移動・サイズ・回転・スイッチの向き・選択の移動の5つ。
|
||||||
|
回転とスイッチの向きは2方向しかないので、`[` `]` や `,` `.` のような対になったキーに移せる。
|
||||||
|
そうすると矢印キーの取り合いは、移動・サイズ・選択の移動の3つに減る。
|
||||||
|
|
||||||
|
## 避けたい組み合わせ
|
||||||
|
|
||||||
|
Web アプリとして動かす場合、OS やブラウザが先に取る組み合わせがある。
|
||||||
|
|
||||||
|
- Ctrl+Alt+矢印: Windows の一部の Intel グラフィックドライバで画面回転のホットキー
|
||||||
|
- Ctrl+矢印: macOS の Mission Control(デスクトップの切り替え)
|
||||||
|
- Alt+←/→: ブラウザの戻る/進む
|
||||||
|
- Ctrl+F: ブラウザのページ内検索。ELC・IDX のエディタでキー検索に使いたくなる可能性もある
|
||||||
Reference in New Issue
Block a user