diff --git a/provisional/decisions.md b/provisional/decisions.md index 94efb75..0fee9a0 100644 --- a/provisional/decisions.md +++ b/provisional/decisions.md @@ -127,7 +127,9 @@ type ProjectFile = { 新規ノードは種別の接頭辞 + ランダム文字列(`key-`, `cl-`, `cmp-`, `vg-`, `v-` + `crypto.randomUUID()` の先頭12桁)。 プロファイル・提供者・LEDチェーンも同じ規則。PHY内の全ノードでIDを一意にする。 -移動・並べ替え・reparentではIDを変えない。複製は配下も含めて新しいIDにし、ELC・MAP・IDXへの参照は複製しない。 +移動・並べ替え・reparentではIDを変えない。複製(コピー&ペーストを含む)は配下も含めて新しいIDにし、ELC・MAP・IDXへの参照は複製しない。 +複製した範囲の中で閉じた参照(VariantGroupの `default`)は新しいIDへ付け替える。複製したキーはIDXの末尾へ足さず、未登録のままにする。 +同じプロジェクト内のカット&ペーストはreparentとして扱い、IDと参照を保つ(削除+複製にすると T-15 で参照が消える)。 KLEの取り込みは毎回新しいIDを振る。 ### T-12 phyReference diff --git a/provisional/phy-editor-feedback.md b/provisional/phy-editor-feedback.md index 535dcb8..70830ea 100644 --- a/provisional/phy-editor-feedback.md +++ b/provisional/phy-editor-feedback.md @@ -67,6 +67,11 @@ - ポップオーバーでは既定のバリアントを印で示すだけにする。既定の変更とバリアントの追加・削除はデータを変えるので、 表示の切り替えと分けてプロパティ欄や操作ボタンで行う。 +### コピー&ペースト + +- IDと参照の扱いは [仮決定 T-11](decisions.md#t-11-id)。 +- クリップボードのKLE JSONを貼り付けで取り込める。幾何だけを読み、新しいIDを振る(KLE取り込みと同じ経路で、手元のデータとは照合しない)。 + ## 要検討 ### モックで試して決める @@ -87,8 +92,7 @@ - タブ名と検証結果欄の呼び方。PHY・ELCなどのレイヤー名は設計上の仮称で、画面に出すかどうかは別途決める。 全エディタに共通するので、PHY Editorとは別に扱う。 -- コピー&ペースト(モックに無い。未議論)。新しいIDの振り方と他の層からの参照の扱いはデータモデルの問いで、 - メインドキュメント側に置くべきものかもしれない。 +- 別のプロジェクトへ貼り付けるとき、貼り先に同じIDのProfileがない、またはIDが同じで中身が違う場合の扱い。 ## モックの実装上の問題