Files
recordingtest/PLAN.md
minsung 11eb92b2b2 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>
2026-04-13 18:37:13 +09:00

2.2 KiB

PLAN.md — recordingtest

다음에 할 일의 우선순위 큐. 에이전트는 상단부터 집어든다. 비자명한 항목은 /contract <name>docs/contracts/<name>.md 로 Sprint Contract 먼저 작성.

P0 — 지금 바로

(없음 — 훅 동작 확인 완료: jq 설치 ✓, SessionStart/Stop 훅 실 동작 확인 ✓)

P1 — 다음 통합 단계

  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-1deferred.

Follow-ups (non-blocking)

  • sut-prober snake_case JSONJsonNamingPolicy.SnakeCaseLower 적용. Evaluator가 pass 처리했지만 contract 엄격 준수를 위해 권장.

P2 — 통합

  1. test-runner — 시나리오 일괄 실행 + 실패 triage
    • 의존: recorder + player + normalizer + diff-reporter 전부
  2. engine-bridge 탐색 — HmEG PDB 리플렉션으로 카메라/선택 상태 접근 가능 여부 확인
    • Sprint Contract 필요
  3. AutomationPeer PR 전략 PoC — SUT fork에 AI로 AutomationPeer 자동 부착 샘플

P3 — 상시

  • Scaffolding review (PoC 3개마다)
  • .claude/ 비계 감사 — 기사 원칙: 불필요한 비계 제거
  • history 파일 누락 체크 — Stop hook이 경고

규칙

  • 항목을 집을 때 PROGRESS.md의 "In progress"에 기록하고 본인(에이전트명/세션) 명시.
  • 비자명한 P0/P1/P2 항목은 반드시 Sprint Contract 먼저.
  • Generator와 Evaluator는 같은 세션이 겸하지 않는다.
  • 완료 시: evaluator pass → PROGRESS.md Done 이동 → PLAN.md 제거 → history 작성 → /handoff.