# Release Notes — v0.1.290 (45th stable seal)

날짜: 2026-05-22 (KST 자율 8h 종료 후 사용자 세션 봉인)
사이클 범위: v0.1.289 ~ v0.1.290 (2 빌드 + handoff UI 3 + wiki 정합성 3 자율 사이클)
이전 봉인: 44th seal (v0.1.288) — [release-notes/v0.1.288.md](v0.1.288.md)
journal: [2026-05-22-v0.1.289-290-45th-stable-seal.md](../../journal/2026-05-22-v0.1.289-290-45th-stable-seal.md)
인덱스: [wiki/INDEX.md](../../INDEX.md)
협업자 view: [handoff.html](../../handoff.html)

## 봉인 의의

44th seal 후 자율 8h 모드에서 협업자 spec `edit-copy-cut-paste` 100% 달성 + handoff PM 액션 패널 UI 동적 레이아웃 전환. 코드 변경 ~36라인(Cut) + wiki 정적 -> 동적 전환 ~95 CSS 라인. 누적 핸드오프 메모 다음 단계로 45th seal 진행.

## 신규 기능

### Cut (Ctrl+X) 완성 — 협업자 spec r073 100%

| 기능 | 버전 | 비고 |
|---|---|---|
| `CutSelected()` + Ctrl+X 단축키 | v0.1.289 | `_clipboard` 참조 보관 + DeleteCommand SetActive(false) 활용 |
| 씬 우클릭 메뉴 "잘라내기" 항목 | v0.1.289 | selection 일괄 / 단일 / Edit 탭 활성 |
| 옵션 B 채택 사전 분석 | v0.1.289 사전 분석 | `wiki/topics/edit-cut-snapshot-options.md` (~30분 자율 분석) |

## 사용자 영향

| 영향 | 정도 |
|---|---|
| 데이터 마이그레이션 필요 여부 | 없음 — `.twn` 자동 호환. Cut 동작 중 잘라낸 GameObject는 `SetActive(false)` 상태로 보관, Paste 시점에 새 사본 생성 |
| 신규 단축키 | Ctrl+X (Cut) — Ctrl+C/V는 v0.1.285~286에서 이미 구현 |
| Ribbon Edit 탭 | 기존 Copy/Paste 활성 옆 Cut 버튼 silent-button-toast 룰 준수 |
| Undo 동작 | Ctrl+Z 시 Cut 원본 복원 (SetActive true + _partHidden 복원) / Paste undo 시 새 사본 SetActive false + Parts.Remove |

## handoff UI 동적 레이아웃 전환 (외부 산출물)

| 사이클 | 작업 | 라인 |
|---|---|---|
| 1 | 인라인 style 100% 제거 -> 격리 `<style>` + `pm-card` class 4종 + clamp 토큰 6개 + 텍스트 배지 4종 (`완료`/`대기`/`진행`/`정보`) | ~95 CSS |
| 2 | CSS Grid `auto-fit minmax(min(100%, 24rem), 1fr)` + 카드 0/2/build 풀폭 `grid-column: 1 / -1` + KPI 요약 row 4개 카드 | ~15 |
| 3 | `<details>` 접기 4건 (브리프 / PM 확정 22 / release-notes / 이전 답변 8) + `>`/`v` 화살표 마커 | ~25 |

### 동적 동작

- **모바일 (360~480px)** — 카드 1열 자동, clamp 폰트 0.78rem~0.86rem 자동 축소
- **태블릿 (~768px)** — 카드 1+3 나란히 2열, 카드 0/2 풀폭
- **데스크탑 (~1440px)** — 카드 1+3 2열 + clamp 폰트 1.08rem 최대치
- **컨텐츠 가변** — `auto-fit + minmax` 자동 wrap. 카드 추가/제거 별도 수정 불필요
- **미디어 쿼리** — 0개 (clamp + auto-fit이 모든 break 처리)

## 룰 준수

| 룰 | 준수 항목 |
|---|---|
| `publish-latest-marker.md` | 옛 빌드 278개 archive/ 이동 + 최상위 latest + v0.1.290 + v0.1.290-stable 3개만 유지 |
| `mobile-cli-environment.md` | handoff fragment 이모지 0건 (python3 unicode codepoint 범위 0x1F300~0x1FAFF + 0x2600~0x27BF 검사 매칭 0) |
| `external-deliverable-tone.md` | 협업자 노출 페이지 한글 일관 + 배지 라벨 한글 |
| `cycle-critic-review.md` | v0.1.289 단일 사이클 ~36라인 (200라인 미만 — critic 의무 적용 외) / handoff UI는 정적 자산 (코드 변경 외) |

## 협업자 handshake INDEX r065 정합 (자율 사이클 20)

협업자 commit a12934c (2026-05-21 12:11) "handshake/INDEX.md PM spot-check 28개 seal 정보 추가" 발견 후 자체 측 handoff 정합 회복:

| 자체 카드 | before | after | 추가 항목 |
|---|---|---|---|
| [1] PM 회신 필요 | 2 | 3 | QA-006 (씬 클릭 재발 v0.1.240 재현) 최우선 추가 |
| [2] PM spot-check 대기 | 18 / 37 | 24 / 43 | QA-008/019/028/029/032 + handshake 추가 6건 |
| [3] 개발자 답변 누계 | 10 | 14 | QA-024/025/027/069 NEW 답변 추가 |

상세: 룰 `handshake-index-integrity.md`

## 협업자 spec 진척 (v0.1.290 기준)

| spec | P1 | P2 | P3 | 전체 |
|---|---|---|---|---|
| panel-resize-pin (r071) | 완료 | 완료 | 해당 없음 | 100% |
| tower-lamp (QA-073) | 완료 | 완료 | 완료 HDR | 100% (Material 풀링만 P3 잔존, defer) |
| edit-copy-cut-paste (r073) | 완료 | 완료 | 완료 Cut | **100%** |
| studio-hamburger-lnb (r072) | 대기 | 해당 없음 | 해당 없음 | 사용자 명시 대기 (사전 분석 460라인 완료) |
| component-scene-inspector-ux (r072) | 대기 | 해당 없음 | 해당 없음 | 사용자 명시 대기 (사전 분석 340라인 완료) |
| MX Component (QA-074) | 해당 없음 | 해당 없음 | 해당 없음 | SDK 도착 대기 |

협업자 spec 3건 100% 달성. 잔존 = 큰 구조 변경 2건 + SDK 1건.

## 봉인 산출물

| 항목 | 경로 |
|---|---|
| 빌드 zip | `wiki/downloads/factory00-windows-x64-v0.1.290.zip` (50.4MB) |
| stable alias | `wiki/downloads/factory00-windows-x64-v0.1.290-stable.zip` |
| latest alias | `wiki/downloads/factory00-windows-x64-latest.zip` |
| journal | `wiki/journal/2026-05-22-v0.1.289-290-45th-stable-seal.md` |
| release-notes | 본 문서 |
| 외부 URL | https://os-file-server.tail2b816d.ts.net/downloads/factory00-windows-x64-latest.zip |
| handoff | https://os-file-server.tail2b816d.ts.net/handoff.html (45th seal 표기) |

## 다음 사이클 자율 결정 후보

| 후보 | 사용자 결정 필요 | 자율 가능 |
|---|---|---|
| studio-hamburger-lnb P1.1~P1.6 | 명시 필요 (구조 변경) | 사전 분석은 자율 |
| component-scene-inspector-ux P1.1~P1.7 | 명시 필요 (Selection SSOT) | 사전 분석은 자율 |
| handoff UI 후속 polish (사이클 4+) | 사용자 모바일 확인 후 요청 | 부분 자율 |
| 룰/하네스 보강 | 명시 없음 | 자율 가능 |
| QA-014 / QA-010 PM 회신 대기 | PM 회신 | 진행 불가 |

권장: 사용자가 모바일에서 handoff UI 확인 후 추가 요청 명시 시 사이클 4 진입, 또는 studio-hamburger-lnb 옵션 결정.
