Shop nav: move_* actions, process-based autorepeat #86

Merged
cammymoop merged 1 commit from feature/shop-nav-input into master 2026-03-06 10:15:56 -06:00
Collaborator

Summary

  • Replace ui_left/right/up/down event handling with per-frame Input.get_vector("move_left","move_right","move_up","move_down") so analog sticks give a proper direction vector
  • First press navigates immediately; after NAV_INITIAL_DELAY (0.35s) repeats at NAV_REPEAT_INTERVAL (0.12s) while held
  • Direction change > 60° resets the timer for instant response when flipping direction
  • ui_accept and mouse click still handled event-based (single-fire, correct)

Test plan

  • Headless runs clean
  • Keyboard arrows navigate nodes with initial delay then autorepeat
  • Gamepad analog stick steers to nearest node in held direction
## Summary - Replace `ui_left/right/up/down` event handling with per-frame `Input.get_vector("move_left","move_right","move_up","move_down")` so analog sticks give a proper direction vector - First press navigates immediately; after `NAV_INITIAL_DELAY` (0.35s) repeats at `NAV_REPEAT_INTERVAL` (0.12s) while held - Direction change > 60° resets the timer for instant response when flipping direction - `ui_accept` and mouse click still handled event-based (single-fire, correct) ## Test plan - [ ] Headless runs clean - [ ] Keyboard arrows navigate nodes with initial delay then autorepeat - [ ] Gamepad analog stick steers to nearest node in held direction
Replace event-based ui_left/right/up/down with per-frame polling of
Input.get_vector("move_left","move_right","move_up","move_down") so
analog sticks work naturally. First press navigates immediately, then
waits NAV_INITIAL_DELAY (0.35s) before repeating at NAV_REPEAT_INTERVAL
(0.12s). Direction change > 60° resets the timer for instant response.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cammymoop merged commit 96d8ab6a78 into master 2026-03-06 10:15:56 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cammymoop/semi-vibed-game!86
No description provided.