Table mode is where Quest Board earns its keep: the GM’s shelf of cards during play, what the
players see when something is shown to them, a screen the whole table can read, the recording, and the sweep at
the end that decides what was worth keeping. 163 features across five surfaces — and
TABLE-1 alone is 111 of them, the largest surface in the catalogue. The first draw drew the decided
parts and left 76 out; the backfill (#696) draws the rest: every card’s own controls and shapes, Find
and the preview beside the table, the canvas’s other states, and the recording panel’s.
Desktop-first for the GM, deliberately (D34). The desk is where a GM is meant to be. A phone
gets a real reduced surface for when the laptop has died or is needed for something else — not a squashed
board.
Same campaign. Session 14 is in progress: Dana is running it, four of five are here, and the bot
has been recording for an hour and forty-two minutes.
Look
Found, settled, and open
Nothing open
D37 settles the one question this lane raised. The shelf is freeform, not
look.html’s reflowing grid, and the board is a canvas that may be wider than the screen, with
sideways scrolling an officially supported way to get more room. The default stays 1:1, so every card stays
readable at a glance; “see the whole board” is an optional overview rather than a shrunken default.
Worth recording how it was reached: the question was what happens if a GM preps on a 4K
monitor and plays on a 1080p one. The variable turned out to be CSS width, not resolution — a 4K monitor
at 200% scaling is exactly as wide as a 1080p one, while a laptop at 125% is narrower than either — and
positions were already screen-independent. What was missing was that the scrolling happened by accident, the
whole page scrolled rather than the board, and nothing told the GM a card was off to the right.
Settled for the backfill
D53 — one search, with a preview beside it. Find covers tonight’s cards, the wiki and the
rules; a result opens in the side panel — an article, or a stat block — with Spotlight, Show the table
and Add to the shelf. Design A’s look-up box and today’s palette become one.
D54 — both kinds of note. Per-card notes on the card and the stage; and a quick note stamped with
the recording time that lands in your own notes for the session.
D55 — the session switcher goes; Copy from stays, in the shelf’s menu and the empty shelf.
Decided while drawing
A card’s controls are always there, on a row of their own. A tablet has no hover, and on the
title’s row they squeezed it to three lines. Pinning is a word, because the icon set has no pin.
Taking a card off the shelf is immediate, with an undo (D12), from the card’s menu, which also
holds its scene. Today it is an × that deletes without asking.
“Leave” is the way back to the session page, so there is no separate ← Session link,
and the bar names the session rather than a “Session Shelf” title.
The bar gains Players’ view and a ? for the keys, and the keys sheet says what a phone does
instead of each one.
Recording chooses where it records from — Discord, this device’s microphone, or a file
(IS-015) — and without Discord the other two still work.
Answered on review, 2026-09-25
The build's own survey raised twelve questions (L1–L12); the owner accepted every recommendation,
recorded as D111 to D122.
D111 — one address for everyone./sessions/:id/table is Table mode for a GM and a
player alike; the GM's own board is the GM face of it, and Players’ view opens the player face in a new
tab.
D112 — the quick note moves to the GMs’ notes, amending D54. D97 left a GM with no
“just me” note to save it into.
D113 — scenes are built now; no map mark until v5.0.0. Pairing a Foundry map stays a seam so
long as there is nothing on the other end of it.
D114 — repeated scene names merge automatically at the migration, case- and space-insensitive,
within a campaign.
D115 — six drawn features are deferred, each to its own issue: another recording source and
the shared screen (#542), AI credits (#642), flagging a concern quietly (lane 7, #733) and the Foundry map
mark (v5.0.0, with D113).
D116 — starting the recording starts the session. The server itself now refuses Start unless
the session is confirmed or in progress.
D117 — cards gain Move and Resize, so a card can be placed by keyboard or pointer without
dragging; the number keys work only while focus is on the board or the stage.
D118 — the board scales as a whole with the bigger type a big screen gets, so nothing
overflows a card.
D119 — Add a card opens Find, or writes a note. A note card can now be written on the shelf
itself.
D120 — “N of M here” counts who is in the Discord voice channel, mapped through
linked accounts, and is shown only while recording.
D121 — the players’ face is built as drawn, with no notes. This week’s promise of
notes and of the table opening by itself are corrected to match.
D122 — the phone leg takes its notes on the session page. The GM’s phone face stays
exactly as drawn, uncrowded.
Answered on review, 2026-09-26
D123 — the recording start window, amending D116. Recording may start only from N minutes
before the confirmed time — per campaign, default 30, set in Recording, retention & AI
(IS-440). An in-progress session can always record; earlier, Start is refused with the time it
opens, on the web and on Discord’s /record start alike. Before this, a “test”
days early attached audio, a transcript and a draft summary to a game nobody had played yet.
D124 — “Test the bot.” A full-pipeline check (#824): record a short sample in the
campaign’s voice channel, then transcribe and summarise it, showing each stage’s result. The GM
chooses to keep the results as a test run attached to no session, or delete them when done; the recording
announcement still fires and says it’s a test, and nothing a test produces reaches players. Proposed
for lane 10 (#736) — drawn and given its own rows before it’s built, so no IS rows
yet.
The coverage check
207 placements, none missing. 139 drawn (IS-439, Add a card's menu, joined
them on review, 2026-09-25), 12 replaced by a decision, 15 behaviour with nothing to see, 26 belonging to
other surfaces, and 15 deferred (six of them added on review, 2026-09-25: recording from anything but
Discord, the shared screen, credits, safety and the Foundry map mark all wait on other work). Before the
backfill: 76 missing and 18 half-drawn of 200.
What rendering caught in the backfill
Start recording stayed clickable while another session was recording — the first draw’s own
fault, found by the audit.
The Table bar wrapped every button onto two lines once it gained Players’ view and the keys.
Card controls squeezed titles to three lines, and the taller NPC card overlapped the card below it.
Whole Table frames in half-width stills pushed the shelf’s own states below the fold and ran the
bar off the edge. Those states are drawn as the shelf now.
“Scrolled to the middle” counted two cards off the right while both were on screen.
A panel that had lost the connection said the recording “carries on”, which it cannot
know.
An NPC from the wiki had the glance face, which only generated NPC cards get (TB-026).
The shelf’s menu repeated “See the whole board”, already a button beside it.
A sweep row said a card had no text, on a card whose text was right above it.
Settled before drawing
D33 — scenes are things, campaign-wide and reusable, with a Foundry map they can be paired with in
both directions (#689). Kettlebridge is drawn empty, built in prep for later — the state that could
not exist when a scene was only the cards that happened to carry a word.
D34 — desktop-first, with a real phone surface. Spotlight, reveal, recording and the sweep; not
the board.
D35 — recording in both places. Start and stop in the bar; the full panel on the session page.
look.html already put Stop in the bar, so the settled look agreed before anyone asked.
D36 — a reveal target appears only when it can work.
What rendering caught the first time
Six, plus one I caught while writing it.
The phone bar said “recording” with a red icon and no word. The desktop bar says
Recording; I dropped the word on the phone to save room. That is the exact fault the render check first
caught in lane 2 — recording told from not-recording by colour alone, in the place it matters most
— reintroduced two lanes later.
The shared screen sized its type to the page, not to itself. Its font sizes used vw, so a
TV drawn at a third of the page was still sized for all of it: the title wrapped, one screen grew taller than
16:9, and the lost-contact bar covered the last word. Now in container units, which is also what a real TV of
any size needs.
A lone shared-screen still stood 850 pixels tall, because a single item fills a whole grid row. The
three states now sit side by side, which is the comparison anyone reviewing them wants anyway.
A card footer broke mid-phrase — “Handout · On / the table”, with
“· carried” stranded on a line of its own.
“Keep in the wiki” wrapped onto two lines in the phone sweep.
One speaker’s time read “41m of speech” and the other three just “28m”.
And one caught before it rendered: the phone surface said
“the board, scenes and card layout are on the desktop”. That is precisely what D20
forbids — a pointer elsewhere on a surface people open constantly, and D20 names Table mode outright.
And two more, drawing D37. In the light theme the sweep
and the new canvas still took the page’s accent rather than Table mode’s, so “review
it” and the on-the-table labels were dark blue on navy — a fault that shipped in this lane’s first
version and only showed once a new still used the same wrapper. And this section’s headings sat on top of
each other, in lane 3 as well.
What this lane leaves for later
The scene model itself (#689) is a design record, not a build: a migration, a
scenes table, and the Foundry pairing, which depends on #5 and #6 connecting to Foundry at all.
Building a scene in prep belongs to PREP-1, which is lane 5.