[UX] Surface catalogue: every page and surface in Quest Board, with every current and future feature placed #657

Closed
opened 2026-09-15 18:49:15 +00:00 by claude-bot · 1 comment
Collaborator

Why

Owner decision, 2026-09-15: before anything is built, every screen and surface in Quest Board gets a mockup, for players and for GMs, so it can be reviewed and changed first. This issue is the step before that: a complete list of every page and surface anyone can see, with every current and future feature placed in one, so the mockups consider everything and nothing is dropped.

It is not a check that features work, and it implements nothing.

Scope

  • Everyone who can see something: public visitors, any signed-in user, players, GMs, campaign owners, and instance admins.
  • Surfaces: pages, and also what a page opens (dialogs, sheets, menus, panels, banners), plus the states a mockup must show: empty, loading, error, in progress, blocked, and each stage of a session.
  • Surfaces outside the web app, listed so they are not forgotten: Discord bot messages and commands, emails, the calendar feed, and install/offline behaviour.
  • Every current feature, swept from the code (webapp/frontend/src, the bot, the email and calendar output), plus backend capabilities that have no screen yet.
  • Every future feature, from the open issues and the design records (#593, #654, #655, #542, #553, #642, #121–#126, …).

Structure

The surfaces are organised by Design A (Book & Table) with the six shell decisions from #656: the account menu, the bell, Settings in sections, Members & characters, Read · Talk · History tabs, and a separate Suggested wiki updates page.

Each surface records:

  • who sees it
  • which devices it is used on
  • where it is reached from
  • its current and future features
  • the states to mock
  • the dialogs and menus it opens

Indexes map every feature to its surface. "No fit" must be empty before the catalogue is done.

Deliverable

docs/design/redesign-surfaces/CATALOGUE.md, merged. It becomes the checklist for the full mockup round and replaces #656's table as the reference.

Acceptance criteria

  • Every route, dialog and state in today's frontend appears under a surface.
  • Every open issue that puts something on screen has each of its features placed.
  • The "no fit" list is empty, or each remaining item is an explicit decision for the owner.
  • Surfaces outside the web app are listed.
## Why **Owner decision, 2026-09-15:** before anything is built, every screen and surface in Quest Board gets a mockup, for players and for GMs, so it can be reviewed and changed first. This issue is the step before that: **a complete list of every page and surface anyone can see, with every current and future feature placed in one,** so the mockups consider everything and nothing is dropped. It is **not** a check that features work, and it implements nothing. ## Scope - **Everyone who can see something:** public visitors, any signed-in user, players, GMs, campaign owners, and instance admins. - **Surfaces:** pages, and also what a page opens (dialogs, sheets, menus, panels, banners), plus the states a mockup must show: empty, loading, error, in progress, blocked, and each stage of a session. - **Surfaces outside the web app,** listed so they are not forgotten: Discord bot messages and commands, emails, the calendar feed, and install/offline behaviour. - **Every current feature,** swept from the code (`webapp/frontend/src`, the bot, the email and calendar output), plus backend capabilities that have no screen yet. - **Every future feature,** from the open issues and the design records (#593, #654, #655, #542, #553, #642, #121–#126, …). ## Structure The surfaces are organised by **Design A (Book & Table)** with the six shell decisions from #656: the account menu, the bell, Settings in sections, Members & characters, Read · Talk · History tabs, and a separate Suggested wiki updates page. Each surface records: - who sees it - which devices it is used on - where it is reached from - its current and future features - the states to mock - the dialogs and menus it opens **Indexes** map every feature to its surface. **"No fit" must be empty** before the catalogue is done. ## Deliverable `docs/design/redesign-surfaces/CATALOGUE.md`, merged. It becomes the checklist for the full mockup round and replaces #656's table as the reference. ## Acceptance criteria - Every route, dialog and state in today's frontend appears under a surface. - Every open issue that puts something on screen has each of its features placed. - The "no fit" list is empty, or each remaining item is an explicit decision for the owner. - Surfaces outside the web app are listed.
Author
Collaborator

Done: merged in PR #658 (0986bf4). The catalogue is at docs/design/redesign-surfaces/CATALOGUE.md.

What it holds:

  • 101 surfaces, organised by Design A with the #656 shell decisions.
  • 1,566 features placed on them, from ten read-only sweeps:
    • shell and public pages, and Home
    • campaign, session, Shelf and Table, Prep, wiki
    • admin and content packs
    • outside the web app
    • server endpoints no screen calls
    • the open issues and design records
  • "No fit" is empty: the build (sources/build.ps1) fails if any row lands on no known surface, and the catalogue ends with a generated coverage check.

Against the acceptance criteria:

  • Every route, dialog and state in today's frontend is listed. The sweeps read every page and component in full, and their "Surfaces found" sections are in ledgers/.
  • Every open issue that puts something on screen is placed, broken down to individual features (297 rows).
  • The remaining judgment calls are explicit owner decisions, D1–D13 in the catalogue's intro.
  • Discord, email, the calendar feed, the installed app and the backend-served pages are listed (EXT-1 to EXT-8, PUB-9).

Found along the way:

  • Server capabilities with no screen: a wiki trash, the rightsholder-notice workflow, instance health, the admin campaign list, content-pack search, summarisation run history, and the character pin. The NPC tracker is also live with no screen (D1).
  • Six surfaces added: PUB-9, WIKI-18, ADMIN-13, ADMIN-14, and two proposals, PUB-10 and DEV-1.
  • Transcript visibility: one sweep thought the full transcript might reach players. It doesn't: session_service.py:277 sends it only to GMs.

Next: #659, mocking up every catalogued surface. #656's table is superseded by the catalogue.

**Done: merged in PR #658 (`0986bf4`).** The catalogue is at `docs/design/redesign-surfaces/CATALOGUE.md`. **What it holds:** - **101 surfaces**, organised by Design A with the #656 shell decisions. - **1,566 features** placed on them, from ten read-only sweeps: - shell and public pages, and Home - campaign, session, Shelf and Table, Prep, wiki - admin and content packs - outside the web app - server endpoints no screen calls - the open issues and design records - **"No fit" is empty:** the build (`sources/build.ps1`) fails if any row lands on no known surface, and the catalogue ends with a generated coverage check. **Against the acceptance criteria:** - **Every route, dialog and state in today's frontend is listed.** The sweeps read every page and component in full, and their "Surfaces found" sections are in `ledgers/`. - **Every open issue that puts something on screen is placed,** broken down to individual features (297 rows). - **The remaining judgment calls are explicit owner decisions,** D1–D13 in the catalogue's intro. - **Discord, email, the calendar feed, the installed app and the backend-served pages** are listed (EXT-1 to EXT-8, PUB-9). **Found along the way:** - **Server capabilities with no screen:** a wiki trash, the rightsholder-notice workflow, instance health, the admin campaign list, content-pack search, summarisation run history, and the character pin. The NPC tracker is also live with no screen (D1). - **Six surfaces added:** PUB-9, WIKI-18, ADMIN-13, ADMIN-14, and two proposals, PUB-10 and DEV-1. - **Transcript visibility:** one sweep thought the full transcript might reach players. It doesn't: `session_service.py:277` sends it only to GMs. **Next:** #659, mocking up every catalogued surface. #656's table is superseded by the catalogue.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#657
No description provided.