Review R4, the table and prep: the sweep and a finished table can be found, scenes on the prep sheet, the phone face (#1020) #1025

Merged
claude-bot merged 10 commits from fix/1020-table-prep into main 2026-10-02 02:31:38 +00:00
Collaborator

Part of #1020, the owner's 1 October review. Four items, in their words.

"I don't see a 'sweep the shelf' option… Also, I can't view the Table for completed sessions, where is that?" (l5-sweep)

The sweep existed behind three doors, none of which said so where they looked: the Table's button was called "End of session…" (and hidden on a phone's bar), and a session's page had "Sweep the shelf →" only at the foot of the Review tab's Still to do. A finished session's table always opened, but nothing linked to it.

  • A played session's Read and Review tabs show the GM "Two cards from this session are still on the shelf." with Sweep the shelf →, and Open the table → always. Players get neither.
  • The Table's control is named Sweep the shelf… in the bar and at the phone's foot (SWEEP_THE_SHELF in vocabulary.js).
  • Closing the sweep drops ?sweep=1 from the address, so a reload or Back no longer reopens it.
  • No single "finish" button was added: the drawing (TABLE-5) has each row settle on its own, and Done only closes.
  • The review item told the owner the sweep was on This week. It never was, in the drawing or the build; that was the item's mistake.

"I can't delete a scene… I can't move items within a scene, the popup appears within the card and the only selectable option is No Scene." (l6-scene)

  • The menu was clipped. The kit's .list is overflow: hidden and the menu hangs under its row, so only its heading and first item ("No scene") showed. It is no longer clipped on the prep sheet.
  • The current scene was left out, so a session with one scene really did offer only "No scene". The menu lists every scene as a menuitemradio, ✓ on the current one, then "No scene".
  • Delete on a scene, beside Rename, with the Table's route and Undo; its cards go under "No scene yet"; focus goes to Undo, and back to the scene's heading when it is undone.

"The formatting gets really weird and large when I try to show something to the table." (l5-phone)

Not reproduced with the phone upright; two likely causes are fixed. The phone face's stage text was the desk's size (22px first line; the drawing has body size), and the "Show the table" dialog's field was 13px, at which iOS Safari zooms the page on focus and stays zoomed. The phone face now has its own scale, the dialog's field is 16px there, and every control on it is at least 44px. Whether a sideways phone (which gets the desktop board) is what the owner saw is question Q144; whether the phone face should be able to take a reveal back is Q143.

"'it is where each session is got ready' needs rewording." (l6-nonGM)

Now "it is where a GM gets each session ready." Planning had the same construction: "it is where a GM gets its sessions, arcs and scenes ready."

Checked

  • Full vitest on the merged tree: 3645 passed, 1 skipped; after merging main again, the session, prep, table, discussions, wiki and shell tests: 1151 passed. eslint 0 errors; every coverage/lane*.py and the changelog check pass. No backend change. Catalogue rows IS-475 and IS-476.
  • Rendered in an e2e stack at 390×844 (touch) and 1440×900, light and dark (112 shots), and looked at:
    • the phone face at rest, with each kind of card on stage, the reveal dialog (focused, chosen), after showing, and the by-field dialog: body 15px, title 22px, field 16px, every button ≥44px, no sideways scroll, viewport scale 1;
    • a played session as its GM (the line and both links on Read and Review) and as a player (neither); an empty shelf (Open the table only); the table opened for a played session; the sweep;
    • the prep sheet's Move menu, unclipped, all scenes with the current one marked, a card moved each way; Delete and Undo;
    • the two "not for you" messages.
  • The four follow-ups from that check (44px links on the session's line, 44px Rename and Delete on a coarse pointer, focus after Undo, dropping ?sweep=1) are in and covered by tests; they were measured on a static harness, not re-rendered in the app.
  • J4 changed one line: it presses "Sweep the shelf…" where it pressed "End of session…".

🤖 Generated with Claude Code

Part of #1020, the owner's 1 October review. Four items, in their words. ## "I don't see a 'sweep the shelf' option… Also, I can't view the Table for completed sessions, where is that?" (l5-sweep) The sweep existed behind three doors, none of which said so where they looked: the Table's button was called "End of session…" (and hidden on a phone's bar), and a session's page had "Sweep the shelf →" only at the foot of the Review tab's Still to do. A finished session's table always opened, but nothing linked to it. - A played session's Read and Review tabs show the GM "Two cards from this session are still on the shelf." with **Sweep the shelf →**, and **Open the table →** always. Players get neither. - The Table's control is named **Sweep the shelf…** in the bar and at the phone's foot (`SWEEP_THE_SHELF` in `vocabulary.js`). - Closing the sweep drops `?sweep=1` from the address, so a reload or Back no longer reopens it. - No single "finish" button was added: the drawing (TABLE-5) has each row settle on its own, and Done only closes. - The review item told the owner the sweep was on This week. It never was, in the drawing or the build; that was the item's mistake. ## "I can't delete a scene… I can't move items within a scene, the popup appears within the card and the only selectable option is No Scene." (l6-scene) - **The menu was clipped.** The kit's `.list` is `overflow: hidden` and the menu hangs under its row, so only its heading and first item ("No scene") showed. It is no longer clipped on the prep sheet. - **The current scene was left out**, so a session with one scene really did offer only "No scene". The menu lists every scene as a `menuitemradio`, ✓ on the current one, then "No scene". - **Delete** on a scene, beside Rename, with the Table's route and Undo; its cards go under "No scene yet"; focus goes to Undo, and back to the scene's heading when it is undone. ## "The formatting gets really weird and large when I try to show something to the table." (l5-phone) Not reproduced with the phone upright; two likely causes are fixed. The phone face's stage text was the desk's size (22px first line; the drawing has body size), and the "Show the table" dialog's field was 13px, at which iOS Safari zooms the page on focus and stays zoomed. The phone face now has its own scale, the dialog's field is 16px there, and every control on it is at least 44px. Whether a sideways phone (which gets the desktop board) is what the owner saw is question Q144; whether the phone face should be able to take a reveal back is Q143. ## "'it is where each session is got ready' needs rewording." (l6-nonGM) Now "it is where a GM gets each session ready." Planning had the same construction: "it is where a GM gets its sessions, arcs and scenes ready." ## Checked - Full vitest on the merged tree: **3645 passed, 1 skipped**; after merging main again, the session, prep, table, discussions, wiki and shell tests: 1151 passed. eslint 0 errors; every `coverage/lane*.py` and the changelog check pass. No backend change. Catalogue rows IS-475 and IS-476. - Rendered in an e2e stack at 390×844 (touch) and 1440×900, light and dark (112 shots), and looked at: - the phone face at rest, with each kind of card on stage, the reveal dialog (focused, chosen), after showing, and the by-field dialog: body 15px, title 22px, field 16px, every button ≥44px, no sideways scroll, viewport scale 1; - a played session as its GM (the line and both links on Read and Review) and as a player (neither); an empty shelf (Open the table only); the table opened for a played session; the sweep; - the prep sheet's Move menu, unclipped, all scenes with the current one marked, a card moved each way; Delete and Undo; - the two "not for you" messages. - The four follow-ups from that check (44px links on the session's line, 44px Rename and Delete on a coarse pointer, focus after Undo, dropping `?sweep=1`) are in and covered by tests; they were measured on a static harness, not re-rendered in the app. - **J4** changed one line: it presses "Sweep the shelf…" where it pressed "End of session…". 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A player opening /sessions/<id>/prep was told prep 'is where each session
is got ready'. It now says 'it is where a GM gets each session ready', on
the sheet and on the Contents' Prep entry; Planning's version of the line
is reworded the same way.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The sheet's Shelf section could make and rename a scene and not delete one.
Each scene now has Delete beside Rename: Table mode's delete, on the same
route, at once and with an Undo (D12). Its cards stay on the shelf under
'No scene yet' and the undo files them back; focus goes to the Undo, since
the Delete that was pressed has gone with its group.

A shelf card's menu was drawn inside its list, and the kit's list clips what
leaves it, so on a short list only the menu's heading and 'No scene' could
be seen. The Shelf section's lists let it out and the end rows carry the
corners. The menu also left the card's own scene out; it offers every scene
now, the one the card is in marked, then No scene, as the card's menu in
Table mode does.

IS-475, on PREP-1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
'Sweep the shelf' was only at the foot of the Review tab's checklist, and
nothing on a played session's page led back to its table, so a GM who landed
on Read had neither. Table mode does not close when a session ends: the
board, its scenes and what was shown are still at /sessions/:id/table, and
its sweep at ?sweep=1.

A GM now has both under the tabs on Read and under Still to do on Review:
Sweep the shelf while any card from the session is still on its shelf, with
how many, and Open the table always. A player has neither; what the table
was shown is Read's own section.

In Table mode the sweep's button is called Sweep the shelf… as well, in the
bar and at the foot of the phone face, where the drawing says End of
session…: one name wherever it is reached. The sweep itself is as drawn,
each row settling on its own and Done closing it. J4 presses it by the new
name.

IS-476, on SESS-3, SESS-4 and TABLE-5.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A card put on stage on a phone was set in the desk stage's display type:
every line a size up and the first at step 2 in the serif. Only the title had
a phone rule, so the drawing's step 0 never reached the card's words. The
phone stage now has its own scale, as tableGMPhone draws it.

Show the table opens a dialog that gives its field focus, and the field was
13px: under 16px iOS Safari zooms the page in on focus and leaves it there,
which is the other way the page 'gets large' at the moment of showing. On a
phone a Table mode dialog's field is 16px.

Nothing runs off the side: the face and the stage are one column that may be
narrower than its content, long names wrap (the stage's title, the bar's
session name), and the foot's two buttons share the row whatever they say.
The bar's clock is the size drawn for a phone.

Every button on the face and in its dialogs is 44px: Table mode's small
button is 36px, and Leave, the stage's x, a banner's Try again, the sweep's
Done and its rows are all small buttons; the stage's two arrows are a glyph
wide and now a finger's. The same on any touch screen, as the kit's own small
button is.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sweep the shelf and Open the table are small ghost buttons: 34px to a
pointer. Each is 44px on a touch screen and at the phone's width, beside the
count sentence or alone. They are one group now, pulled back by a ghost
button's padding and border, so when they wrap under the sentence their words
start at its left edge rather than 11px in.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
They were a line of text's links, 24px high and 11px apart, and Delete is the
one that takes something away. On a touch screen and at the phone's width
each is a 44px target with room between them; on a desk they are the links
they were.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Undo restored the scene and took its own notice away, leaving focus on the
page. It goes to the restored scene's name, as Table mode's Scenes panel goes
to the restored scene's name field; the heading takes focus without joining
the tab order. An Undo that fails becomes Try again, and focus goes to that;
a Try again that works goes on to the Undo or to the scene, whichever it
leads to.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Done or Escape left the parameter there, so a reload opened the sweep again.
It is removed in place (replace), so Back does not reopen it either. A sweep
opened from the bar has no parameter and changes nothing in the address,
which is J4's path.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Merge main: the ledger keeps both branches' rows (#1020)
All checks were successful
CI / Backend lint (ruff) (pull_request) Successful in 36s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m6s
CI / Does this change touch the recording path? (pull_request) Successful in 35s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Has been skipped
CI / Bot/backend version sync (pull_request) Successful in 1m6s
CI / Bot tests and audit (pull_request) Successful in 2m2s
CI / Feedback site tests (pull_request) Successful in 1m56s
CI / Docker image build (pull_request) Successful in 4m45s
CI / Frontend (shard 2/2) (pull_request) Successful in 7m3s
CI / Frontend (shard 1/2) (pull_request) Successful in 9m53s
CI / End-to-end journeys (phone) (pull_request) Successful in 16m5s
CI / Backend migration, tests, and audit (pull_request) Successful in 23m11s
CI / End-to-end journeys (desktop) (pull_request) Successful in 17m51s
CI / End-to-end journeys (keyboard) (pull_request) Successful in 17m52s
c5ccf7a15e
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No description provided.