Freeplay search and sort, HUD profiles and editor, mouse and controller in menus #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Requested by Kees
Menu and HUD features from Kees' feedback.
Freeplay
/opens a search bar under the difficulty. It filters by song name as you type.HUD
hudProfiles/hudProfile.--base-hud): mods with their own HUD use the default HUD instead.Mouse
mouseInMenusoption: a cursor in menus; hover selects, click confirms, the wheel scrolls; Freeplay capsules are clickable.Tested headless with xdotool-driven screenshots: search, sort, editor buttons, hold-to-move, profiles, mouse hover/click/wheel, and controller bindings in the editor. Tests ran with a separate test HOME, so no real save data was touched.
🤖 Generated with Claude Code
Title
Freeplay search and sort, HUD profiles and editor, mouse and controller in menus
User description
Requested by Kees
Menu and HUD features from Kees' feedback.
Freeplay
/opens a search bar under the difficulty. It filters by song name as you type.HUD
hudProfiles/hudProfile.--base-hud): mods with their own HUD use the default HUD instead.Mouse
mouseInMenusoption: a cursor in menus; hover selects, click confirms, the wheel scrolls; Freeplay capsules are clickable.Tested headless with xdotool-driven screenshots: search, sort, editor buttons, hold-to-move, profiles, mouse hover/click/wheel, and controller bindings in the editor. Tests ran with a separate test HOME, so no real save data was touched.
🤖 Generated with Claude Code
PR Type
Enhancement, Bug fix
Description
Adds mouse cursor and hover/click controls to menus.
Introduces Freeplay search, sort, and controller support.
Implements named HUD profiles with editor and rating letter.
Adds "Base HUD In Mods" option for mod compatibility.
Diagram Walkthrough
File Walkthrough
5 files
Toggles mouse cursor visibility based on menu stateAdds rating letter element and named profile supportImplements mouse hover select and click confirm logicAdds search bar, sort modes, and controller bindingsAdds profile management and advanced alignment tools3 files
Adds mouseInMenus and forceBaseHud preference optionsExtends save data with HUD profiles and new prefsAdds --base-hud command line argument3 files
Prevents Q/E input during active text searchRespects base hud setting to show engine HUDRespects base hud setting to show engine HUD3 files
Exposes Base HUD and Mouse In Menus settingsDocuments new features and fixes in changelogUpdates controls and options documentation1 files
Checks base hud preference before hiding engine HUDPR Reviewer Guide 🔍
📋 Focus areas: 🔴 2 open · ✅ 0 handled. Every push re-checks them; a handled area moves to Resolved findings at the bottom.
Possible Issue
In
updateSearch(), the code checks ifcurrentFilteredSongsis empty to switch difficulties when searching. However,currentFilteredSongsis a local variable ingenerateSongList()and is not accessible here. The code should instead checktempSongs(the list being filtered) or re-fetch the current song list. This could cause the search to fail to find matches even if songs exist on other difficulties.Missing Error Handling
In
deleteProfile(), the function checks if there is only one profile left before deleting. However, it does not handle the case whereHudExtras.activeProfile()returns a name that no longer exists after deletion (e.g., if the active profile was the last one and the check failed for some reason, or if the active profile name is stale). It should explicitly update the active profile to the first remaining one after deletion, similar to howrenameProfile()handles it.PR Code Suggestions ✨
No code suggestions found for the PR.