# v0.1.518 — S0048 C4a 어드레스 마이그레이션 등록 + .twn 백업 (additive shadow)

- 버전: v0.1.518
- 날짜: 2026-06-02
- 다운로드: [factory00-windows-x64-v0.1.518.zip](../../downloads/factory00-windows-x64-v0.1.518.zip) (170 MB)
- 캡처: [qa-screenshots/v0.1.518/](../../qa-screenshots/v0.1.518/)

---

## 핵심 변경
- 옛 modbusCoil*/Register* 필드 → 중앙 `PlcAddressMap` 등록 (런타임 shadow). **@Obsolete 병존** — 옛 필드 active 유지
- `PlcAddressMigration` 중앙 클래스 (6 컴포넌트 포트→옛필드 매핑, value=0 skip)
- Bootstrap: `_plcAddressMap` 필드 + `PopulatePlcAddressMapFromLegacyFields()`(로드 후 1패스) + .twn 1회 백업(`.pre-S0048.bak.twn`, idempotent)
- ★ **.twn 직렬화 X** — 매 로드 시 옛 필드에서 재populate(옛 필드 SSOT, reopen 안전). 기존 동작 0 변경
- 사용자 승인 "@Obsolete 병존 / 권장"
## 영향 파일
- `Assets/Scripts/Plc/PlcAddressMigration.cs` (신규)
- `Assets/Scripts/Game/Factory00Bootstrap.cs` (_plcAddressMap + Populate + 백업 + 호출)
## S0048 진행
- C1~C3 + **C4a**(등록+백업) 완료. 다음 C4b(@Obsolete 마킹 + #pragma 정당 소비처) → C5(Inspector read-only) → C6(4탭 매핑 에디터)
- C4a = additive shadow(기존 동작 0 변경) → self-review + 빌드 검증
