# v0.1.285 edit-copy-cut-paste P1 (Ctrl+C / Ctrl+V + Edit 탭 활성)

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

---

## 사이클 요약
협업자 spec **edit-copy-cut-paste P1** 진입 (협업자 r073 10abd81 신규 승격). v0.1.268 에서 P2 미구현으로 비활성 처리됐던 Edit 탭 Cut/Copy/Paste 버튼 중 **Copy / Paste 활성**. Cut 은 P2 후속 사이클 분할 (사이클 크기 안전).
## 변경 요약
| 영역 | 변경 | 라인 |
|---|---|---|
| 단축키 (Update) | Ctrl+C / Ctrl+V 추가 (기존 Ctrl+D, Ctrl+A 옆) | +2 |
| 멤버 필드 | List _clipboard | +3 || 메서드 | CopySelected / PasteFromClipboard | +40 |
| Edit 탭 wiring | edit-copy / edit-paste clicked -> 핸들러 / edit-cut 만 비활성 유지 | +8 |
| ClearAllRuntimeComponents | _clipboard.Clear() 추가 (.twn 새 로드 시 reset) | +2 |라인 합계: ~55. 본 사이클 = 작은 사이클 (1000라인 한도 안전 마진).

## 동작 흐름
`[선택] -> [Ctrl+C 또는 Edit 탭 Copy] -> _clipboard 에 참조 보관
                                        ↓
[Ctrl+V 또는 Edit 탭 Paste] -> 각 Part 마다 DuplicateCommand -> UndoStack push -> +50mm 오프셋
                                        ↓
[Ctrl+Z] -> 모든 Paste 부품 Undo 가능 (DuplicateCommand IEditCommand 통합)
`
## 정책 결정
- **참조 보관 (vs 깊은 복사)**: clipboard 는 Part 참조만. Paste 시점에 DuplicateCommand 가 GameObject.Instantiate -> Material 복사 -> 컴포넌트 복제 (v0.1.243 QA-021 정책 그대로 활용)- **원본 삭제 처리**: clipboard 안 Part 가 삭제됐으면 cachedTransform == null 검출 -> skip + 토스트 안내- **오프셋**: DuplicateCommand 패턴 따라 origId 누적 카운터 사용 (반복 Paste 시 +50mm / +100mm / ...)- **Cut deferred**: Cut = Copy + Delete 조합. 본 P1 에서는 Copy / Paste 만. Cut 은 P2 사이클 (DeleteCommand 와 PasteCommand 의 stack 통합 검증 필요)- **multi-select Paste**: 선택 N개 -> Paste 시 N개 모두 복제 (DuplicateCommand 가 각각 처리)
## P1 -> P2 deferred
- **Cut (Ctrl+X)** — Copy + Delete 조합. UndoStack 통합 (Cut + Paste 가 atomic 인지)- **우클릭 메뉴** — Copy/Cut/Paste 항목 ContextMenu 추가 (spec 명시)- **clipboard 상태 UI** — Edit 탭에 "Paste (n개)" 동적 라벨- **Material 복사 비용 옵션** — 현재 Paste 마다 Material.Instantiate. 다수 Paste 시 메모리 부담
## 누적 진행 (협업자 spec 큐)
| spec | 상태 |
|---|---|
| tower-lamp P1 + P2 | [완료] v0.1.279~284 |
| **edit-copy-cut-paste P1** | **[완료] v0.1.285** (Copy + Paste) |
| edit-copy-cut-paste P2 (Cut + 우클릭) | [대기] 다음 사이클 |
| studio-hamburger-lnb | [대기] 사용자 명시 대기 (큰 구조 변경) |
| component-scene-inspector-ux | [대기] 사용자 명시 대기 (큰 구조 변경) |

## 자가점검
- spec-vs-codebase-pre-check.md 룰 적용 — Bus property / _selectedParts / DuplicateCommand IEditCommand / 단축키 패턴 모두 사전 검증 PASS- 변수 scope: _clipboard 클래스 필드 (메서드 로컬 X)- API 일관성: DuplicateCommand 패턴 미러 -> 기존 Ctrl+D 와 동일 동작


---

## 봉인 참조

본 사이클은 **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)
