# v0.1.286 edit-copy-cut-paste P2 — 씬 우클릭 메뉴 Copy/Paste 추가

- 버전: v0.1.286
- 분류: 48th stable seal (v0.1.366) 일괄 봉인 사이클
- 다운로드: [factory00-windows-x64-v0.1.286.zip](../../downloads/archive/factory00-windows-x64-v0.1.286.zip) (archive 보존)
- 캡처: [qa-screenshots/v0.1.286/](../../qa-screenshots/v0.1.286/)

---

## 사이클 요약
협업자 spec **edit-copy-cut-paste P2** 의 우클릭 메뉴 통합. v0.1.285 의 단축키 + Ribbon 버튼에 이어 **씬 우클릭 ContextMenu**에 Copy/Paste 항목 추가. Cut 은 P3 deferred (snapshot semantics 별도 사이클).

## 변경
| 영역 | 변경 | 라인 |
|---|---|---|
| BuildObjectMenuItems | Copy / Paste 항목 2개 추가 (지우기 위에) | +20 |라인 합계: ~20. 매우 작은 사이클 (1000라인 한도 충분).

## 메뉴 항목
`씬 우클릭 (부품 위)
├── 보이기/감추기 (selCount 일괄)
├── 투명하게 보이기 / 투명 해제
├── ─── 구분 ───
├── 복사 [Ctrl+C]                  │   ├── selCount > 1 이고 우클릭 대상이 선택 집합에 포함 -> 선택 전체 복사
│   └── 그 외 -> 우클릭 단일 부품만 복사 (선택과 무관)
├── 붙여넣기 (N개) [Ctrl+V]         │   └── 클립보드 비어있으면 "(클립보드 비어있음)" 라벨
├── ─── 구분 ───
├── 지우기
├── ─── 구분 ───
├── 새창에서 보기
└── 속성 (Property)
`
## Cut deferred 사유 (P3)
Cut semantics 결정이 필요해 본 사이클에서 제외:
| 옵션 | trade-off |
|---|---|
| (A) Cut = Copy + Delete | DuplicateCommand 가 cachedTransform 필요 -> Delete 직후 Paste 시 fail |
| (B) Cut = Copy + 원본 inactive | DeleteCommand 의 SetActive(false) 패턴 활용. Paste 가능하나 Undo 복잡 |
| (C) Cut = Snapshot 보관 + 원본 삭제 | 가장 안전. 새 PasteSnapshotCommand IEditCommand 필요 (~100라인) |
P3 사이클에서 옵션 (C) 채택 가능성. 본 P2 = 우클릭 메뉴만.

## 누적 진행
| spec / 사이클 | 상태 |
|---|---|
| tower-lamp P1 + P2 | [완료] v0.1.279~284 |
| edit-copy-cut-paste P1 (단축키 + Ribbon) | [완료] v0.1.285 |
| **edit-copy-cut-paste P2 (우클릭 메뉴)** | **[완료] v0.1.286** |
| edit-copy-cut-paste P3 (Cut snapshot semantics) | [대기] deferred |
| studio-hamburger-lnb | [대기] 사용자 명시 대기 |
| component-scene-inspector-ux | [대기] 사용자 명시 대기 |


---

## 봉인 참조

본 사이클은 **48th stable seal (v0.1.366, 2026-05-24)** 일괄 봉인에 포함됨.

- journal: [2026-05-24-v0.1.298-366-48th-stable-seal.md](../../journal/2026-05-24-v0.1.298-366-48th-stable-seal.md)
- alias zip: [factory00-windows-x64-v0.1.366-stable.zip](../../downloads/factory00-windows-x64-v0.1.366-stable.zip) (170 MB)
