Skip to content

Add gamepad navigation and current search match markers - #324

Merged
Eli Pinkerton (wallstop) merged 6 commits into
masterfrom
feat/log-triage-navigation
Oct 19, 2026
Merged

Eli Pinkerton (wallstop) merged 6 commits into
masterfrom
feat/log-triage-navigation

Conversation

@wallstop

@wallstop Eli Pinkerton (wallstop) commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

DISCLOSURE: LLM-GENERATED TEXT

Why:
Gamepad input cannot reach terminal controls, and search navigation lacks a visible current row.
Refs #241, #242, #245

What:

  • Let configured actions own native terminal navigation.
  • Serialize action names and route custom maps through C# events.
  • Preserve text selection while marking the current matching row.
  • Style focused header controls and repair the terminal stylesheet.

Note

Medium Risk
Touches PlayerInput routing, UI Toolkit focus/navigation suppression, and cancel/repeat state—behavioral regressions are possible outside the expanded Play Mode suites, though risk is mitigated by broad new tests.

Overview
Adds gamepad- and keyboard-driven UI navigation for the open terminal via new Navigate, Submit, and Cancel Input System routes, with header focus styling and repeat/cancel semantics (including blocking held stick input until neutral).

TerminalPlayerInputController now serializes per-route action names, resolves MapName/ActionName, and routes both default Send Messages and Invoke C Sharp Events through shared protected hooks; when those actions are enabled and bound it suppresses duplicate native UI Toolkit move/submit/cancel on the terminal root.

TerminalUI gains Navigate / SubmitNavigation / CancelNavigation, queued navigation event tracking, and a current log-search match row (terminal-output-label--current-match) that updates on Prev/Next without altering text selection (including collapsed repeats).

Docs, changelog, and tests expand coverage for custom action maps, gamepad flows, native-vs-owned navigation, and capture assertions; repo style rules now forbid expression-bodied members (with related formatting/doc updates).

Reviewed by Cursor Bugbot for commit 17e9101. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread Runtime/CommandTerminal/Input/TerminalPlayerInputController.cs
Why
A held stick restarted navigation after Cancel returned command focus.
What changed
- Track cancellation across direct and PlayerInput calls.
- Ignore held directions until neutral and reset on ownership loss.
- Cover mixed bindings and action-map handoff with queued gamepad input.
Comment thread Runtime/CommandTerminal/Input/TerminalPlayerInputController.cs Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0c16e00. Configure here.

Comment thread Runtime/CommandTerminal/Input/TerminalPlayerInputController.cs
Comment thread Runtime/CommandTerminal/Input/TerminalPlayerInputController.cs Outdated
@wallstop
Eli Pinkerton (wallstop) merged commit 0eed851 into master Oct 19, 2026
16 checks passed
@wallstop
Eli Pinkerton (wallstop) deleted the feat/log-triage-navigation branch October 19, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant