feat: camera-restore + LauncherUI UX 개선 + player fallback 강화 (#15)
camera-restore: - IEngineStateProvider.SetCamera 반사 쓰기 (HmegDirectStateProvider) - POST /camera/restore (BridgeHttpServer, StateRouter) - Recorder --sidecar-url + camera_snapshot 캡처 - UiaPlayerHost.TryRestoreCamera, PlayerEngine 재생 전 복원 - 149 tests LauncherUI (#15): - Sidecar URL 체크박스 + 입력란 (녹화/재생 모두 연동) - 재생 속도 슬라이더 (0.25x~4.0x, 기본 1.0x) - 빌드 타임스탬프 타이틀바 표시 - 녹화 완료 후 RecordNameBox 초기화 - UiAnalysisWindow 추가 PlayerEngine (#15): - CancellationToken 지원 (중단 버튼 동작) - Focus 스텝 early return (no-op, issue #11) - Type/Drag unresolvable UIA path fallback - SpeedMultiplier 옵션 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
13
PLAN.md
13
PLAN.md
@@ -5,14 +5,17 @@
|
||||
|
||||
## P0 — 지금 바로
|
||||
|
||||
1. **훅 동작 검증** — SessionStart/Stop/Guard 3개 shell 스크립트를 실제로 트리거시켜 확인
|
||||
- 의존: jq 설치 여부 확인
|
||||
_(없음 — 훅 동작 확인 완료: jq 설치 ✓, SessionStart/Stop 훅 실 동작 확인 ✓)_
|
||||
|
||||
## P1 — 다음 통합 단계
|
||||
|
||||
4. **Runner sidecar 라이브 검증** — `dotnet run --project src\Recordingtest.Runner -- --scenarios scenarios --baselines baselines --out artifacts\runner-out` 실 실행 → `engine-state.received.json` 생성 확인 → 사용자가 approve 해서 `<scenario>.engine-state.approved.json` 베이스라인 승격 → 재실행 시 sidecar diff pass 확인.
|
||||
5. **normalizer: engine-state 정규화 규칙** — 부동소수점 epsilon, selected_ids 정렬, camera up/fov 기본값 마스킹 등 sidecar JSON 전용 규칙. 현재는 identity 정규화로 지나감.
|
||||
6. ~~recorder Gap I-1~~ — **deferred**. UIA poller PoC 결과 본질적 한계 확인 (AutomationPeer 부재 컨트롤은 못 봄). generic WPF DLL injection 또는 AutomationPeer AI 부착 PoC가 선결.
|
||||
1. **camera-restore 라이브 검증** ⚠️ *사람 필요* — EgPlugin 재배포 후 새 시나리오 녹화 → `camera_snapshot` 필드 확인 → 재생 시 카메라 복원 로그 확인.
|
||||
2. **Runner sidecar 라이브 검증** ⚠️ *사람 필요* — Runner 실행 → `engine-state.received.json` 생성 확인 → 베이스라인 승격 → diff pass 확인.
|
||||
```
|
||||
dotnet run --project src\Recordingtest.Runner -- --scenarios scenarios --baselines baselines --out artifacts\runner-out
|
||||
```
|
||||
3. ~~normalizer: engine-state 정규화 규칙~~ — **완료** (engine-state.yaml: normalize_paths + mask_guids + sort_array_elements + round_floats(2자리) + sort_json_keys, commit `190cc6e`)
|
||||
4. ~~recorder Gap I-1~~ — **deferred**.
|
||||
|
||||
## Follow-ups (non-blocking)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user