Skip to content

Roasty's lines ship as a bank, so a language folder can reach them - #617

Merged
maximsan merged 3 commits into
mainfrom
feat/roasty-lines-are-a-bank
Sep 18, 2026
Merged

maximsan merged 3 commits into
mainfrom
feat/roasty-lines-are-a-bank

Conversation

@maximsan

Copy link
Copy Markdown
Owner

Why

Roasty's lines were the one piece of reader-facing prose no language folder
could reach — read straight off rootBundle, bypassing the bank loader and the
language overlay every other content file goes through. Closes #604, which
blocks every language shipping.

Watch for

  • The lines are authored in prototype/customize.jsx now, by the owner. A
    bank's master comes from the extractor and there is no non-prototype bank
    source, so that is where they had to go. Same 18 lines, same counts per
    occasion — only the ids and occasion are new.
  • A language ships the same number of quips as English (ADR-0029). One
    record per line, so fixing an English typo re-stales that line and not its
    neighbours; the cost is that a translator cannot ship fewer. The alternative —
    one list per occasion — buys length freedom and loses the per-line review
    marks ADR-0026 exists for.
  • An unknown occasion throws. A line that can never be spoken is a build
    defect, and a companion that quietly says less is indistinguishable from one
    with fewer lines authored.
  • owned_term.g.dart is regenerated and unrelated. Pre-existing drift on
    main — the committed output no longer matched the generator. Doc-comment text
    only, no behaviour.

Checks

Smoke suite run locally, since it gates main rather than PRs and this moves
content loading at startup.

The lines were read straight off rootBundle, bypassing the bank loader and
the language overlay, so no language folder could translate them. They now
load through loadBank like every other content file.

One record per line, each with an id of its own: a language fills the same
slots English has, and fixing an English typo sends only that line back for
re-reading rather than its neighbours (#604).

Still owed: the ROASTY_LINES declaration in the prototype, and the
regenerated bank that comes from it.
The 18 lines move from a hand-authored asset into ROASTY_LINES in
customize.jsx, where the extractor reads them like every other bank. The
old assets/content/companion_lines.json is gone; the generated bank
replaces it, so a language folder reaches Roasty for the first time.

Same words, same counts per occasion — only ids and the occasion field
are new (#604).
@maximsan
maximsan merged commit b137a82 into main Sep 18, 2026
7 checks passed
@maximsan
maximsan deleted the feat/roasty-lines-are-a-bank branch September 18, 2026 19:14
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.

Roasty's lines are content, not a bank — no language folder can reach them

1 participant