Fix recorder drag collapse, focus events, ts/raw_coord (#6)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-07 14:33:46 +09:00
parent f17e764678
commit 56b7233500
6 changed files with 408 additions and 47 deletions

View File

@@ -0,0 +1,16 @@
# 이슈 #6 — Recorder Iteration 2
- 소요 시간: 약 20분
- Context 사용량: 약 35K tokens
- 이슈: #6 (recorder)
## 변경 요약
1. `DragCollapser.cs` 신규: down/move/up 상태 머신으로 click 또는 drag 스텝 생성. focus_change/wheel/key_down/right-click도 처리.
2. `Scenario.ScenarioStep``Ts`, `RawCoord`, `EndOffset`, `EndRawCoord` 필드 추가 (snake_case 직렬화).
3. `RawEvent``FocusedElementPath` 필드 추가.
4. `Program.cs`: ConsumeAsync는 raw 이벤트 버퍼링만, 종료 시 DragCollapser로 일괄 변환. `UIA3Automation.RegisterFocusChangedEvent` 호출 추가 (callback에서는 element 캡처 + path build만 수행하고 큐로 push).
5. 테스트 4개 추가 (drag/click/focus/yaml roundtrip), 총 9개.
## 결과
- `dotnet build recordingtest.sln`: 0 warning / 0 error
- `dotnet test tests/Recordingtest.Recorder.Tests`: 9 passed