# Release Notes — v0.1.366 (48th stable seal)

**날짜**: 2026-05-24
**범위**: v0.1.298 ~ v0.1.366 (자율 모드 69 사이클 일괄 봉인)
**이전 봉인**: v0.1.297 (47th seal, 2026-05-22)
**호환성**: 호환 (마이그레이션 자동 — `.twn` `CoilEStop` → `CoilStop` string replace)

## 주요 변경 (handoff-pm-action.html [3] 답변 카드 SSOT)

### S0051 STEP 임포트 PoC (v0.1.325~331)
- cadquery-ocp 7.9.3 + Python 3.11.9 embedded
- Tools/converter-py-slim (411MB) → 빌드 zip 동봉
- 회기 검증 MD5 hash 일치
- 7 사이클 누적

### QA-093 E-Stop hotfix (v0.1.333, S0002 r003)
- `EStop` state 폐지 + `Held` → `Stopped` 통합 (enum 6→5)
- `CoilEStop` → `CoilStop` 필드 rename
- `PneumaticEStopEvent` → `PneumaticStoppedEvent`
- `CommandEStop`/`ReleaseEStop` 폐지 → `CommandStopCoil` 신설
- `.twn` 자동 마이그레이션 (string replace)
- **사용자 마이그레이션 자동 — 별도 작업 없음**

### QA-010 .twn Transform 직렬화 (v0.1.330+360)
- SaveProject: `foreach Part — cachedTransform.localPosition/Rotation/Scale → Part.position/rotation/scale` 동기
- LoadProject: `existing.position/rotation/scale = p.position/rotation/scale` 복원 + cachedTransform 적용
- scale fallback (Vector3.zero → Vector3.one) 옛 .twn 보호
- File → New: `ClearImportedScene` 신설

### QA-090 Measure/Angle/Collision 씬 오버레이 (v0.1.342~365)
- T-1 LineRenderer 치수선 (URP 권장)
- T-2 TMP World Space 치수 레이블
- T-3 SceneSelectionHandler 모드 (MeasurePending / AngleA / AngleB)
- T-5 BBox 26 스냅 포인트 (꼭짓점 8 + 면 중심 6 + 모서리 중심 12)
- **T-4 Vertex 스냅 deferred** — GLTFast 6.10.1 `mesh.isReadable=false` default 한계

### QA-021 Duplicate 보강 (v0.1.359)
- `DuplicateRotaryPneumaticActuators` 신규 (v0.1.335 RotaryPneumaticActuator 누락 fix)
- `ResetActuatorPlcBinding` 본문 구현 (Linear+Rotary 공통 PortArrivalSensor.LinkedSignalId 초기화)
- 5종 컴포넌트 모두 deep copy + IO 초기화 정합성 100%

### QA-030 부품 리스트 필터링 P2 (v0.1.356~357)
- `PartFilterMode` enum 5종 (All / HiddenOnly / VisibleOnly / WithActuator / WithoutActuator)
- F4~F8 단축키 + [▼필터] 드롭다운
- 세션 임시 (PlayerPrefs 미사용)

### QA-088 모두접기 fix (v0.1.358)
- `collapseAllAction` 안 `InitFoldDefaults()` → `foreach _foldExpanded[id]=false`
- 토스트: "트리 전체 접힘 ({N}개 보임)"
- 5라인 hotfix

### QA-100 handoff 라벨 + sed lazy bug hotfix (v0.1.362~366)
- v0.1.362: `pm-fetched-at` div 추가 (마지막 fetch 라벨)
- v0.1.363: sed 패턴 추가 (lazy 매칭 결함 발견)
- v0.1.366: `pattern.sub` lambda group 1+3 preserve 패턴으로 fix

### QA-101 MxBridge 4섹션 답변 (v0.1.364)
- A.구조 / B.메시지포맷 / C.배포 / D.Mock
- MxBridgeClient.cs 정확 인용
- 사용자 PC SDK 도착 시 즉시 진입 가능

### 기타
- v0.1.334+339: PneumaticStrokeBarVisualizer P1
- v0.1.335+336: RotaryPneumaticActuator P1
- v0.1.350: QA-099 RotaryAxis rename 답변 (코스메틱)

## 알려진 이슈

- **T-4 Vertex 스냅 미구현** — GLTFast import 시 mesh isReadable=false. T-5 BBox 26 스냅 포인트로 대체. 사용자 정밀 vertex 명시 시 별도 spec 필요
- v0.1.298~324 사이 27 사이클 세부 추적 불가 — build-title.txt overwrite 패턴. handoff-pm-action.html 안 답변 카드만이 SSOT
- 88 사이클 uncommitted (v0.1.279 ~ v0.1.366) — 다음 세션 사용자 명시 후 commit

## 다운로드

- 외부 URL: https://os-file-server.tail2b816d.ts.net/downloads/factory00-windows-x64-v0.1.366-stable.zip
- alias: https://os-file-server.tail2b816d.ts.net/downloads/factory00-windows-x64-latest.zip

## SSOT 동기화 확인 (2026-05-24 11:00 KST)

| 자산 | 버전 |
|---|---|
| ProjectSettings/ProjectSettings.asset | 0.1.366 |
| wiki/latest-version.js | v0.1.366 (sealLabel 48th seal 갱신) |
| wiki/index.html | v0.1.366 |
| wiki/handoff.html | v0.1.366 |
| wiki/handoff-pm-action.html | v0.1.365 (다음 빌드에서 갱신) |
| wiki/downloads/latest.zip | v0.1.366 |
| 외부 URL HTTP 200 | PASS |
