Skip to content

Release v2.3.0: HUD input optimization & debounce FSM redesign#8

Merged
gdtknight merged 3 commits intomainfrom
develop
Feb 11, 2026
Merged

Release v2.3.0: HUD input optimization & debounce FSM redesign#8
gdtknight merged 3 commits intomainfrom
develop

Conversation

@gdtknight
Copy link
Owner

@gdtknight gdtknight commented Feb 11, 2026

Description

  • Debounce FSM 전면 재설계: 기존 복잡한 상태 머신을 4-state FSM (IDLE → ACTIVE → FINAL → COOLDOWN)으로 단순화하고, LQ preview throttle (50ms) 추가
  • Dead code 제거: HUD 텍스트 렌더링 (hud_text.c), shift key 핸들링 (RENDER_SHIFT_HELD), RENDER_SHOW_INFO 플래그 등 미사용 코드 정리
  • Keymap 재배치: Resize (Y/U, N/M), Rotate (I/J, O/K, P/L), Light move ([ ]/; '/,.) 키를 인체공학적 그리드 배치로 변경
  • Keyguide 업데이트: 새 키맵에 맞춰 HUD 키가이드 오버레이 갱신
  • 033-hud-input-optimization 스펙 문서 전체 추가 (spec, plan, tasks, research, data-model, contracts)

Changes (29 files, +1,428 / -247)

  • includes/: render_debounce.h, window.h, window_internal.h, hud.h, hud_text.h 정리
  • src/render/: debounce FSM 재작성 (render_debounce.c, render_debounce_timer.c)
  • src/window/: 이벤트 핸들러, 키 핸들러, 리사이즈, 로테이트, 오브젝트 이동 로직 업데이트
  • src/hud/: hud_text.c 삭제, hud_toggle.c 정리
  • src/keyguide/: 키가이드 렌더링 업데이트
  • specs/033-hud-input-optimization/: 7개 스펙 문서 + contracts/ 추가

Testing

  • make 빌드 성공 확인
  • 기본 씬 렌더링 정상 동작 확인
  • 새 키맵 동작 검증: Resize (Y/U, N/M), Rotate (I/J, O/K, P/L), Light ([]/;'/,.)
  • Debounce FSM 동작 확인: 입력 시 LQ preview → 150ms 대기 → FQ 렌더 → 350ms 쿨다운
  • HUD 토글 (H키) 및 키가이드 표시 확인
  • 제거된 키 (Shift, Insert, Home 등) 무반응 확인

🤖 Generated with Claude Code

gdtknight and others added 3 commits February 11, 2026 11:49
- Redesign debounce as 4-state FSM (IDLE/ACTIVE/FINAL/COOLDOWN) with
  50ms-throttled LQ preview for immediate visual feedback
- Remove dead code: cancel_requested, PREVIEW state, hud_render_background,
  RENDER_SHOW_INFO, handle_object_selection, RENDER_SHIFT_HELD
- Remap keys: Y/U N/M resize, I/J O/K P/L rotate, [] ;' ,. light move,
  TAB select, UP/DOWN page navigation (macOS SHIFT compatibility)
- Add keyguide dirty flag for incremental redraw optimization
- Gate pixel_timing output behind RENDER_ENABLE_PIXEL_TIMING flag

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reflect 033-hud-input-optimization changes across all documentation:
- Update keybinding tables (resize Y/U/N/M, rotate I/J/O/K/P/L,
  light []/;'/,., select TAB, page Up/Down)
- Rewrite debounce FSM docs (4-state: IDLE→ACTIVE→FINAL→COOLDOWN)
- Add v2.3.0 entry to CHANGELOG and release history
- Update render loop flow diagrams and event handler dispatch
- Add complete render state flags table to Data-Structures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gdtknight gdtknight self-assigned this Feb 11, 2026
@gdtknight gdtknight added the enhancement New feature or request label Feb 11, 2026
@gdtknight gdtknight merged commit b9300a6 into main Feb 11, 2026
16 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in @gdtknight's miniRT Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant