player: active foreground wait replaces fixed 600ms sleep (#14)

BringSutToForeground() now polls GetForegroundWindow() == SUT hwnd at 25ms
intervals up to 2s, followed by a 100ms tail settle, instead of the brittle
fixed 600ms sleep. First-attempt replay of box-v6.yaml is now reliable
(previously dropped the opening "BOX" keystrokes on a cold start).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-08 19:39:05 +09:00
parent 70bf5703b3
commit 98d801442b
3 changed files with 23 additions and 11 deletions

View File

@@ -10,9 +10,8 @@
## P1 — 라이브 검증 (사용자 환경 필요)
4. **이슈 #14 재생 안정화** — 첫 시도 BOX 타이핑 누락 문제. foreground settle 600ms→능동 대기 전환 또는 첫 type 이전 `Keyboard.Type` warm-up. `/contract player-foreground-stabilize`.
5. **recorder Gap I-1** — type 스텝 target을 `Automation.FocusedElement`로 직접 채워 null_target_steps=0 달성. `/contract recorder-focused-element-target`.
6. **engine-bridge v3** — ReflectionEngineStateProvider 실매핑 (smoke test 이후)
4. **recorder Gap I-1** — type 스텝 target을 `Automation.FocusedElement`로 직접 채워 null_target_steps=0 달성. Player fallback 의존도 줄이기.
5. **engine-bridge v3** — ReflectionEngineStateProvider 실매핑 (smoke test 이후)
## Follow-ups (non-blocking)