Skip to content

Learn: make tutorial copy layout-agnostic - #111

Merged
JumpLink merged 5 commits into
mainfrom
fix/108-tutorial-layout-agnostic
Jun 9, 2026
Merged

Learn: make tutorial copy layout-agnostic#111
JumpLink merged 5 commits into
mainfrom
fix/108-tutorial-layout-agnostic

Conversation

@JumpLink

@JumpLink JumpLink commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Fixes #108.

The tutorial text in packages/learn/tutorial.mdx described the portrait single-button (FAB) layout, which is wrong in the desktop layout (separate toolbar buttons + always-visible debugger panel). Issue title nailed it: the copy mixes both modes.

Changes (4 spots, layout-agnostic)

  • "Our first program": "click the button in the top right … click it again to run" → "use Assemble … and Run … as buttons or in the menu".
  • Stepping intro: "select Step from the dropdown … the button will switch to step mode" → "use Step to execute one instruction at a time", plus a short note: the Debugger is a separate tab on a small window, and the panel below the game console on a wide one.
  • "turn on the debugger" → "open the Debugger".
  • "select Step from the Run button's dropdown menu" → "use Step".

Refers to actions by name instead of positions/interaction mechanics, so it's correct for both GNOME layouts, Web and Android.

Notes

  • Source-only change (tutorial.mdx). These 4 sentences are gettext msgids, so they'll need re-translation in ~15 languages — left to the normal Weblate flow, no .po/.pot churn in this PR.
  • Draft: still open to wording tweaks (esp. the Debugger orientation sentence).

@JumpLink
JumpLink force-pushed the fix/108-tutorial-layout-agnostic branch from 69d155c to bf0fdba Compare June 9, 2026 19:14
@JumpLink
JumpLink marked this pull request as ready for review June 9, 2026 19:21
JumpLink added 3 commits June 9, 2026 21:22
The previous tutorial referenced control names that don't exist in the
GNOME and Android UIs:

- It said "Debugger" everywhere, but the tab in both apps is labeled
  "Debug" (issue #108 explicitly flagged this).
- "monitor in the debugger" / "memory monitor" were generic, while the
  actual section in GNOME and Android is the "Hex Monitor".
- The instructions for the addressing-modes example told users to
  enter values into "Start" and "Length" fields, which only exist in
  the (separate) Web app — GNOME and Android use a memory-region
  dropdown instead.
- The "Our first program" and stepping copy still described the
  portrait FAB layout ("button in the top right", "click it again to
  run", "dropdown menu", "the button will switch to step mode"), which
  is wrong on desktop / wide layouts.

Refer to actions by name (Assemble / Run / Step / Reset) and reference
the visible UI parts ("Debug" view, "Hex Monitor", "Hexdump"). Replace
the Start/Length example with a memory-region pick that matches the
actual dropdown options. Result is correct for both GNOME layouts and
for Android, without any portrait/desktop assumption.

Fixes #108
The Learn: commit replaced four+ tutorial sentences that referenced
non-existent UI elements ("Debugger" tab, "Start"/"Length" inputs,
generic "monitor"). Regenerate .pot, then update the 15 .po files so
each language uses its own translation of the actual UI labels:

  Debug view  ->  reuses each language's existing "Debug" tab label
  Hex Monitor ->  reuses each language's existing "Hex Monitor" label
  Hexdump     ->  reuses each language's existing "Hexdump" label
  Assemble / Run / Step / Reset / Copy
              ->  reuse each language's existing button labels

Voice/formality is preserved per language (e.g. German "du", French
"vous"). HTML tags, 6502 opcodes, registers, and hex literals are kept
verbatim.

Regenerate the Android i18n JSON files and the metainfo.xml (which
also picks up the previously-missing Hebrew strings) as side effects
of the translations build.

For #108
`cp -r ../translations/dist/locale ./data/locale` only behaves
correctly on the first build. On every subsequent run `./data/locale`
already exists, so cp copies the source dir into it and creates
`./data/locale/locale/{lang}/LC_MESSAGES/*.mo`. The runtime still
reads the old `./data/locale/{lang}/LC_MESSAGES/*.mo` from the first
build and never picks up new translations until `yarn clear:locales`
is run by hand.

Remove the destination before copying so each rebuild reflects the
current state of `../translations/dist/locale`.
@JumpLink
JumpLink force-pushed the fix/108-tutorial-layout-agnostic branch from 6e88c4c to 269178b Compare June 9, 2026 19:23
JumpLink added 2 commits June 9, 2026 21:33
The first group on the Debug tab was titled "Settings", which made
users opening the tab in desktop mode (where the debug panel sits
below the game console) wonder whether they were looking at the
debugger or at some app-wide settings page (issue #108, comment).

Rename the group to "Debug Settings" so its purpose is obvious
without context from the tutorial.

For #108
Companion to the Gnome: rename commit. Each language uses its own
compound of the existing "Debug" tab translation + "Settings" word
(e.g. German "Debug-Einstellungen", Japanese デバッグ設定, Chinese
调试设置). Regenerate .pot, .mo, and the Android JSON files.

For #108
@JumpLink
JumpLink merged commit 365a409 into main Jun 9, 2026
3 checks passed
@JumpLink
JumpLink deleted the fix/108-tutorial-layout-agnostic branch June 9, 2026 21:11
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.

Text is mixing between Portrait and Desktop modes

1 participant