Skip to content

Make every view of the UI overhaul reachable - #1129

Merged
v0lumehi merged 10 commits into
mainfrom
v0lumehi/wire-new-views
Nov 10, 2026
Merged

v0lumehi merged 10 commits into
mainfrom
v0lumehi/wire-new-views

Conversation

@v0lumehi

@v0lumehi v0lumehi commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Fix or feature

  • Fix
  • Feature

What and why

Follows #1097.

Problem. Several views of the UI overhaul were hidden or unreachable: Supported games, console mode's quick menu and game page buttons, Hold or Toggle with a controller, the Switch 2 badge in the shell.
Cause. #1097 placed some entries where a player would not look, and some had no hint or no way in.
Change. Every item of the audit is now reachable and visible. Supported games sits in the collection header and console mode's Library page. Console mode shows its buttons. The shell and the in-game menu got the missing pieces.

Details: the audit and the fixes

I checked every view, card and action #1097 added or moved, by how a user reaches it with mouse and keyboard, a controller, console mode and iOS.

Desktop:

  • Supported games: a button before Sort in the collection header (symbol only below 1100 pt), out of the Manage menu. Cmd+F in its sheet focuses its search. A controller reaches its rows.
  • The search button's tooltip says "(⌘F)" and its accessibility hint names the shortcut.
  • Light focus ring and tile underline: the Light primary at 0.55. Dark keeps the cream.

Console mode:

  • Supported games: menu > Library > Supported games, a page with the search's keyboard.
  • The home screen shows − Quick menu. A game's page shows X Play, Y Game options, − Quick menu and B Back. X resumes a paused game.
  • Y no longer deletes in a search. B deletes a letter while there is one and leaves once the field is empty. The hint says which.
  • Swap A and B is also on the Controllers page.
  • The unused desktop ConsoleEntryButton is removed. The desktop has visible ways in (View > Console Mode, the Select hint, the prompt).

iOS shell:

  • With A B X Y moving together, the diamond's toolbar has a Hold or Toggle button per key. A controller sets them without moving the keys apart.
  • Toggled keys carry a mark in the editor. The Touch controls row lists them.
  • The Switch 2 badge and its memory note show at the top of a game's settings.
  • The controller's Options button (Xbox View, PlayStation Create, Nintendo Minus) opens the shell settings over the library and over a game's settings, and closes them again. It does nothing over other panels, and the shell takes no controller input while a game runs. The library's and the controller help's hints show it. The gear stays in the focus order for pads without Options.

In-game menu (engine patch 0124, Upstream-Status: pending, builds on 0121):

  • The menu's title, Controller layout, Keys that toggle and None come from DM_GAME_MENU_TEXT, English when missing.
  • The shell passes it with every launch. An iPhone or iPad build bakes it into a game's own app through the build's env file, in the launcher's language.

Not changed, by design: stick deadzones stay a desktop card (the values reach games started from console mode). Light and System stay Mac only, the shell is dark.

New texts are in all 10 languages. The iOS catalogs are regenerated.

Checked

  • Tests: frontend swift test 1108 app tests plus NXCore 304 and NXModel 204, 0 failures. frontend-ios package tests pass. tools/tests 220 OK. frontend-qt 426 OK. python3 tools/engine.py check: 88 patches apply. The engine's test_env_switches passes.
  • Test for a fix: SupportedGamesReachabilityTests, ConsoleHintsReachabilityTests, GameMenuTextTests, theDiamondsKeysGetAModeWhileTheyMoveTogether, theInGameMenuWordsGoWithEveryLaunch, testOptionsOpensTheShellSettings, ShellSettingsShortcutTests, testFocusRingIsQuieterInLightAndUnchangedInDark.
  • Visual QA: launcher captures in en, de and fr. Console captures.
  • Not run: the app, a device, the iOS simulator UI tests. GameMenu.swift was type-checked against the iOS SDK, not run on a device.

Screenshots

Library, Light, before and after:

Library before
Library after

At 900 pt the button keeps its symbol and Sort keeps its menu:

Library 900 before
Library 900 after

Focus on the Library tab in Light, before and after:

Focus before
Focus after

Console mode, Library page before and after, and the new Supported games page:

Console Library before
Console Library after
Console Supported games

Console mode home screen before and after (− Quick menu in the hints), a game's page and the search with their new hints:

Console home before
Console home after
Console game page
Console search

Scope

  • No engine file (dm/, scripts/, docs/, ref/) is added to the repository
  • A fix to the engine or a game profile also goes to seedds/nxnative as a PR in parallel: patch 0124 is pending, it builds on 0121, which is not upstream yet
  • A change to a launcher view has before and after screenshots above
  • No keys, game files or data extracted from a game in the change or the attachments

The controller's focus ring and the selected tile's underline were solid
near-black in Light. They now use the Light primary at 0.55 through the
LauncherPalette tokens focusRing and selectionUnderline. Dark keeps the cream.
Supported games was only in a game's Manage menu and the empty library.
It is now a secondary button in the collection header before Sort (its
symbol only below 1100 pt), and no longer in the Manage menu. Console
mode reaches it from the menu's Library page: a page with the search's
on-screen keyboard, the notes on A and the owned game's page. Cmd+F in
the desktop sheet focuses its search, and a controller reaches its rows.
New texts in all ten languages, reachability tests and captures.
@v0lumehi v0lumehi added bug Something isn't working launcher The NX2Apple launcher app labels Nov 10, 2026
@github-actions github-actions Bot added documentation Improvements or additions to documentation windows Windows (the Qt front end) labels Nov 10, 2026
The home screen and a game's page show the quick menu on minus, and a
game's page shows X Play and Y Game options. X resumes a paused game.
Y no longer deletes in the search: B deletes a letter while there is
one and leaves once the field is empty, and its hint says which. Swap
A and B is also a switch on the Controllers page. The desktop's unused
console entry button is removed. Adds the texts of this PR in all ten
languages.
With A B X Y moving together the diamond's toolbar has a Hold or Toggle
button per key, so a controller sets them without moving the keys apart.
Toggled keys carry a mark in the editor, and the Touch controls row lists
them. The Switch 2 badge and its memory note show under the state at the
top of a game's settings, where the hidden header had them.
Patch 0124 reads the menu's title, Controller layout, Keys that toggle
and None from DM_GAME_MENU_TEXT, English when a line is missing. The
shell passes it with every launch. An iPhone or iPad build of a game's
own app gets it in its bundled env file, in the launcher's language.
@github-actions github-actions Bot added ios iPhone or iPad patch-queue Changes the patch queue or the upstream pin labels Nov 10, 2026
Options (Xbox View, PlayStation Create, Nintendo Minus) opens the gear's
settings over the library and over a game's settings, and closes them
again. It does nothing over another panel or dialog, and the shell takes
no controller input while a game runs. The library and the controller
help show it in their hints. A pad without Options keeps the gear in the
focus order.
The demo gets a QA Options button and a --switch2 flag.
The game-menu-text patch is 0123 now, the next free number after main's 0122.
@v0lumehi
v0lumehi merged commit 8481a6e into main Nov 10, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation ios iPhone or iPad launcher The NX2Apple launcher app patch-queue Changes the patch queue or the upstream pin windows Windows (the Qt front end)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant