[UX] Wiki redesign — design record #593
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The wiki design agreed with the owner on 2026-09-10, over a long back-and-forth. This issue records what the wiki becomes and why. Build issues get split from it when #366 plans the lanes. Mockups of it are being added to the round-two comparison (#363).
Ground rules
What the wiki is for
For navigation, the 13 existing types are grouped as People, Places, Groups, Things, Events, Lore. Quest is added as a type (see below).
One article, different visibility
:::gm … :::) sit wherever the secret belongs. The server removes them before an article is sent to a player; hiding them in the browser is not enough.gm_notesmove into a GM block at the top of the text, so nothing is lost.shelf_reveals).Links
[[Title]],[[Title|shown text]], and new[[Title#Section]].[[Frightened]]links to the rulebook entry (see Rules).Editor
Owner decision: a Markdown editor with preview.
[[autocomplete: matches titles and aliases, shows each article's type and summary, and ends with a "Create '…'" option.![[Map: Otari]],![[Goblin Warrior]]and![[handout]]place a map, stat block or handout inside an article.image_service(the existing checks and re-encoding).Edit permissions, a campaign setting
Owner decision: four options.
Wiki health
A GM page that small groups can ignore:
Stat blocks: shaped for Foundry
Owner's goal: a complete copy of the Foundry character sheet, kept in sync both ways in real time. Create a character in the wiki, flesh them out, and find them ready in Foundry. The sync itself is v5.x work (#13, #14, #157), not this redesign, but the redesign must not block it.
foundry_maps/pf2e.py:extra()keepssystemminus the consumed keys and drops the embedded items, turning them into text. That's readable, but it can't round-trip back to Foundry.Rules content
Keep it in
reference_entries(#553), not as wiki articles, for three reasons:It should still feel like part of the wiki:
[[links]]and hover previews work for rules entries.Maps
Organizations
Timelines
Owner decision: in-world dates, without a full custom calendar.
Handouts
Owner: a mix of images, text and PDFs, sometimes given to a single player.
Quests
Owner: yes, quests become wiki articles.
campaign_arcs) as the chapters above them.plot_threads, one to one:notesbecome a GM blockplayer_summarybecomes the summarystatuscarries overplayer_visiblebecomes visibilitylinked_lore_entry_idbecomes a relationshipParties
Owner: yes, several per campaign.
campaign_charactersand the per-session character record (#330).Items
Owner: include unidentified items.
loot_entries.holder_user_idis a user, so a player with two characters can't say which one has it.Front page
A map showing where the party is, recently revealed and updated articles, and the people the party has met.
Storage (nothing lost)
lore_entries) stay the core.world_date {label, sort}gm_notesinto a GM block, andplot_threadsinto quest articles.Broken today: fix in the rebuild, not separately
Owner decision: fix these as part of the rebuild.
<u>isn't converted into underlining. Found by reading the code; confirm in the rebuild.[[autocomplete.PATCH /campaigns/{id}/lore/{entry_id}; the last save wins silently.buildWikiEntryLookupkeeps whichever comes last.Mockups (#363)
Wiki screens are being added to both round-two designs, each in phone and desktop frames:
Related
The design is mocked up in both round-two designs (PR #594, live on dev at
/feedback/mockups). Building it taught three things the real rebuild should keep.1. Secrets leak through side doors, not through the obvious renderer. Every article renderer respected visibility from the start. The leaks the crawls found were elsewhere:
title,get,link) returned a GM-only page's title and record in player view. That's the path a feature author reaches for when they only want a name for a link label.For the real app:
2. Check for leaks by crawling, not by listing. A test that collects every GM-only string from the data, then clicks through every player frame checking for any of them, caught what component-by-component tests missed. That covered GM blocks, hidden objectives, GM-only markers and pages, the true names of unidentified items, unrevealed handouts, and another player's private marker. The real app deserves the same test: seed a campaign with marked secrets, walk the player API and UI, and assert none come back.
3. Where the wiki sits is the real design question.
Players will now judge which fits. The article, map, editor, party and quest components themselves are identical in both.
Details a builder will want: