# v0.1.426 — AxisFieldElement + Vector3FieldElement (좌표/회전 통합 모듈 P1)

- 버전: v0.1.426
- 날짜: 2026-05-26
- 다운로드: [factory00-windows-x64-v0.1.426.zip](../../downloads/factory00-windows-x64-v0.1.426.zip) (169 MB)
- 캡처: [qa-screenshots/v0.1.426/](../../qa-screenshots/v0.1.426/)

---

## 핵심 변경
### 사용자 명시 (2026-05-26)
"모든 좌표 및 회전값에 대한 조작은 객체지향적으로 같은 모듈화된 함수를 사용하자. 디자인은 프로퍼티 좌표 표기처럼 컬러가 들어간 게 좋다"
### P1 신설 (scope: scrubber-less 단순 입력 전용)
**AxisFieldElement** (단일 float 입력 + 컬러 라벨)
- Axis enum (X/Y/Z) + AxisToUssClass 명시 switch (enum 확장 안전)
- value getter/setter + SetValueWithoutNotify (Drag/Undo 외부 갱신용)
- OnValueChanged 이벤트 — commit 시점에만 발화 (Bootstrap.EditableVec3Row L5588 패턴 미러)
- BlurEvent + KeyDownEvent (Enter/KeypadEnter) commit 패턴
- float.TryParse — Culture 호환 (CurrentCulture, Bootstrap 정합)
**Vector3FieldElement** (3 AxisField 묶음)
- X/Y/Z 자식 → 전체 Vector3 통합
- OnValueChanged(Vector3) 이벤트
### USS 토큰 + 스타일
- `--axis-x-color` rgba(220,80,80,0.85) — CAD 빨강
- `--axis-y-color` rgba(80,180,80,0.85) — CAD 초록
- `--axis-z-color` rgba(80,110,240,0.85) — CAD 파랑
- `.axis-field--{x,y,z} .axis-field__label` 컬러 라벨 적용
### critic CONDITIONAL → 즉시 fix (중대 3 → 0)
1. isDelayed + RegisterValueChangedCallback blur race → **BlurEvent + KeyDownEvent 패턴 (Bootstrap 미러)**
2. scrubber 누락 → **P1 scope = scrubber-less 명시 (Inspector Transform P3 별도)**
3. Culture 차이 → **NumberStyles 제거 (Bootstrap CurrentCulture 정합)**
추가 처리 (중간/사소):
- USS 색상 hardcoded → tokens.uss SSOT 추출
- Axis enum → switch 명시 (확장 안전)
- FocusInput 미사용 API 제거
- v0.1.424 주석 → v0.1.426 정정
## P1 사용처 (P2 대상)
Inspector Transform 외 일반 좌표/회전 입력 영역:
- Modbus Mapping XYZ
- Sensor 속성 (PhotoSensor angle / SensingDistance 등)
- Servo 속성 (HomePosition 등)
- ContextMenu 좌표 다이얼로그 (향후)
**Inspector Transform 자체는 P3 scrubber-aware 파생 클래스로 별도 처리** (v0.1.167 drag-scrub 회귀 차단).
## 영향 파일
- Assets/Scripts/UI/AxisFieldElement.cs — 신규 (~190라인)
- Assets/UI/Theme/tokens.uss — `--axis-{x,y,z}-color` 3 토큰 신규
- Assets/UI/Theme/components.uss — `.axis-field` 절 신규 (~35라인)
## 다음 자율 큐
P2 — Modbus Mapping / Sensor / Servo 속성에서 기존 SensorFloatField → AxisFieldElement 치환.
P3 — Inspector Transform scrubber-aware AxisFieldScrubElement 파생 클래스.
