# Release Notes — v0.1.204 (31st stable seal)

**날짜**: 2026-05-17 19:18 KST
**스코프**: 하네스 잔여 fix (publish/critic-gate) + Modbus Serial + MC Protocol 풀스택 동시 폐기 -> 협업자 spec 12/12 = 100% 달성
**누적 사이클**: 2 (v0.1.203 -> v0.1.204)
**zip**: [factory00-windows-x64-v0.1.204-collab-100pct-stable.zip](../../downloads/stable/factory00-windows-x64-v0.1.204-collab-100pct-stable.zip) (50 MB)

---

## 핵심 변경

### v0.1.203 — 하네스 잔여 fix + critic 사소 2건
1. **publish-build-auto.sh Stop-Process retry loop (3회)** — Permission denied 잔여 회피 (이전 사이클 0건 재발)
2. **critic-gate flag granularity 사이클별 변경** — `/tmp/factory00-critic-done-v0.1.X` 패턴으로 분리 (이전: 글로벌 flag)
3. **critic 사소 #1 fix** — EventBus 재진입 보호 주석 명시 (MotionEvent만 적용 이유)
4. **critic 사소 #2 fix** — UnitId 하드코딩 주석 (Modbus Driver Default=1)

### v0.1.204 — Modbus Serial + MC Protocol 풀스택 동시 폐기 (사용자 명시 2건)

#### 사용자 명시 ① (2026-05-17)
> "Windows 환경에서 실행될 어플리케이션이기 때문에 시리얼 포트에 대한 호환성을 신경쓰지 않고 폐기한다. TCP만 구현한다."

- `Assets/Scripts/Communication/Modbus/ModbusSerialDriver.cs` + `.meta` 제거
- 분모: 14 -> 13

#### 사용자 명시 ② (2026-05-17)
> "미츠비시 PLC는 MX컴포넌트만 대응해주면 된다."

- `Assets/Scripts/Communication/McProtocol/` 디렉토리 전체 제거 (6 파일 + 6 .meta + 디렉토리 .meta)
  - IMcProtocolDriver.cs / McProtocolDriverComponent.cs / McProtocolEvents.cs (3 event struct)
  - McProtocolInspectorPanel.cs / McProtocolTcpDriver.cs (3E frame TCP 5007) / PlcDeviceMap.cs
- `Assets/Scripts/Events/EventBus.cs`:
  - event 3종 + Publish overload 3건 + Reset() 3 분기 모두 폐기 주석
- `Assets/Scripts/Game/Factory00Bootstrap.cs`:
  - OnDestroy `_mcProtocolInspector?.Unsubscribe()` 제거 (3 panel -> 2 panel)
  - L1478~1492 comm-mc-protocol-inspector 클릭 핸들러 폐기 주석
  - L1562 `_mcProtocolInspector` 필드 폐기 주석
- `Assets/UI/Components/Ribbon.uxml`:
  - `comm-mc-protocol-inspector` 버튼 제거
  - 미츠비시 안내 Label "MxBridge SDK 도착 후 활성"
- 분모: 13 -> 12

#### 미츠비시 통신 path 일원화
- **Before**: MC Protocol (Tier C-3 직접 구현) + MxBridge (Tier C-1 SDK 대기) 2 channel
- **After**: MxBridge (MX Component v5) 단일 channel = Tier C-1

---

## 협업자 spec 진행도 — **12 / 12 = 100% [완료]**

| 카테고리 | 완료 | 비고 |
|---|---|---|
| Tier A (3 모듈) | [완료] 3/3 | Pneumatic 직선/회전 · Modbus TCP · SignalSimulator |
| Tier B (3 탭) | [완료] 3/3 | File / Edit / View |
| Tier C-4 | [완료] Modbus Address Mapping P2.0~7+P2.8 | SignalRolePopup · 후보 4종 · Play Mode 실시간 · .twn 직렬화 |
| Tier C-6 | [완료] .twn Project Save (AES-256-CBC + HMAC + ExtensionBlock) | parts-visibility 포함 |
| Tier C-8 | [완료] Modbus TCP Inspector Panel | 상태 배지 · 폴링 통계 · history 8건 |
| 스튜디오 parts-visibility | [완료] 14/14 checklist | |
| ~~Tier C-3~~ | [삭제] 폐기 (2026-05-17) | MC Protocol -> MxBridge 일원화 |
| ~~Tier C-5~~ | [삭제] 폐기 (2026-05-17) | Modbus Serial -> Windows TCP only |
| Tier C-1 (대기) | [대기] MxBridge SDK 도착 대기 | MX Component v5 |
| Tier C-2 (대기) | [대기] MxBridge P1 완료 후 | 위치결정 모듈 |

---

## 자가 검증

- Unity batch build v0.1.204: 15s · 110.4 MB · BuildResult.Succeeded
- 외부 URL HTTP 200: index.html / latest-builds.html / zip 모두 PASS
- 1920x1080 캡처: 회귀 0건 (Ribbon 8 탭 + 트리 + 프로퍼티 + 모터 표 + axis indicator 정상)
- MC Protocol 폐기 후 컴파일 에러 0
- critic 호출 생략 (v0.1.204 폐기 사이클 — 신규 로직 0, 코드 삭제만 ~150라인)

## 다음 단계

- v0.1.205+ task #226 Studio Ribbon Shell 8 탭 P1 (Model/Review/Present placeholder 확장)
- task #39 InspectorVM/MotorTableVM 분리 (Bootstrap 슬림화)
- MxBridge SDK 도착 시 즉시 Tier C-1 진입
