Roadmap
What's coming, what's being weighed up, and what's already landed. The Tavern's work stays out where you can see it.
Parking lot for disconnected graph nodes
detect nodes with no explicit edges (in or out) and no parent relationship at layout time. Render them in a collapsible right-side tray within the graph wrapper rather than letting dagre float them in leftover space. From the tray, drag...
Stage asset composer: wall/door/lighting geometry + VTT export
Current stage asset composer (BL-079/ADR-0068) handles decorative environmental assets (free placement, scaling, rotation, z-ordering) but treats them all as flat decoration. A richer version would treat walls/doors/windows as...
Richer roadmap description formatting
The roadmap detail field is a plain text column rendered through Kramdown (markdown-to-HTML) on the detail page. It works but is basic -- no persisted structure, no editor affordances, and card/list truncation on plain markdown text can...
AI-generated adventure cover art
in-app "Generate" button on the adventure edit page that calls an image generation API with a DM-written prompt. Needs ADR covering: which API (PixelLab for pixel art vs Replicate/DALL-E/etc. for painterly/illustrative), token storage,...
Activate social OAuth in production
register OAuth apps with Google (console.cloud.google.com), Facebook (developers.facebook.com), and GitHub (github.com/settings/developers). Populate `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `FACEBOOK_APP_ID`, `FACEBOOK_APP_SECRET`,...
User levelling system
XP earned for activity in the Tavern: running sessions, voting on schedules, submitting feature votes, creating articles, adding characters, completing campaigns, etc. Levels unlock cosmetic rewards (profile flair, badge titles, avatar...
Feature voting
users can submit and upvote feature requests. Vote weight is global: DMs (anyone who owns at least one campaign) carry more weight than players. Future extension: bonus votes per session run, rewarding active use. Public roadmap page...
Automated time-advance triggers
tie time advancement to game mechanics: long rest (+8 hours), short rest (+1 hour), travel (distance-based), session start/end. DM configures which actions auto-advance time. Builds on ADR-0031 time-of-day and play surface time controls.
Push character template changes down to existing characters
when a world's character sheet template changes (new attributes added, mechanics tweaked), existing characters don't retroactively pick up the diff. They were seeded at creation, then frozen. For mature systems this is correct...
Global characters
currently Character belongs to a single Campaign. A DM might want a character that exists at the user level and can be played across multiple campaigns/worlds with campaign-specific state per appearance (level, inventory, memories)....
Pantheon system
world-level Pantheon model containing Gods/Deities. Each deity has a name, domains (War, Knowledge, Trickery, etc.), description, alignment, symbol, and associated articles. Domains could be a structured list or link to GameElements....
Rich text editor upgrade (Trix -> Lexical)
Trix doesn't support tables, which means pasted/synced content with markdown tables renders as raw pipe text. Lexical (or similar) would add table support, better block handling, and a more modern editing experience. Key constraint:...
Stages as the engine
Beat 1 (models, policies, controllers, MCP tools, views) shipped in v0.8.0. Beat 2 (Stimulus stage_controller + Action Cable broadcast) shipped in v0.9.0. Beat 3 (Tavern rebuilt as a seeded Stage...
The Sentinel
Keeper of the Walls. Post-deploy verification agent and CI gate. bin/sentinel smoke-tests 21 public endpoints after every deploy. GitHub Actions runs it as a third job. Interactive /txt-sentinel...
Playable Tavern MVP
`/tavern` is a fullscreen Phaser 3 scene. One room, one Keeper (Archivist behind the bar), WASD/arrow movement, Space/E to interact, dialogue overlay that asks for your name and offers the signup...
Game elements index density
list-of-rows layout swapped for a `grid-cols-12` responsive grid with compact cards spanning 12/6/4/3 cols at sm/md/lg/xl. Kind badge top-left, ownership/fork/visibility icon cluster top-right (●...
Logged-in user access to marketing pages
added a divider and three links (Handbook, Keepers, About the Tavern) to the user dropdown in both the desktop sidebar and the mobile top-bar menu. Marketing routes were already...
Stage: TV view + Encounter tracker (also closes BL-017)
TV view wired live via Action Cable. Encounter tracker at `/stages/:id/encounter`: initiative order, inline HP, condition badges from ruleset, round counter, Next Turn / End controls. Session...
Public roadmap page
read-only `/roadmap` page mirroring `docs/backlog.md`'s Next/Ideas/Done sections, plus a per-item detail page and search. `MarketingController#roadmap` parses the file at request time (no new...