The Ledger of the Realm

Release Notes

Every update written in the ledger, so the realm's history stays legible. This entry — the rewoven thread: the last turn can be taken back, a new free mind joins the table, and the party portrait finds its place again.
v1.2 → v1.3 · 2026-09-09

v1.3The Rewoven Thread Undo the last turn Qwen 3.8 Flash free Party portrait restored
1.3

The Rewoven Thread

TABLE Take back the last word
  • New Undo your last turn — a mistyped line, a misread scene, a decision made too fast: the last message, the Dungeon Master's reply and every change the Lorekeeper recorded from it are rewound together. Inventory, gold, HP, quests, the journal and the memory return to where they stood. It costs one turn, and only the most recent turn can be rewound.
  • New Qwen 3.8 Flash joins the free table — a fast mind with real reasoning, free for every account. Pick it in Settings, or when you start a new adventure.
  • Fixed The party portrait blends again — the character card had gone opaque and left the portrait as a small square beside it; the image now sits behind the name, class and health bars the way it used to.
1.2

The Honest Dice

COMBAT The engine rolls every blade
  • New Your weapon damage is now rolled, not narrated — a hit tumbles your wielded weapon's damage dice through the server's own dice engine; a critical hit doubles them. No story number decides your damage any more.
  • Fixed The war council wakes up — enemy attacks rolled by code now update HP bars, initiative and the combat log every turn; they used to go silent between rounds.
  • Fixed One law per combatant — the Dungeon Master now narrates intent and impression only; the engine reports the outcome, and the story weaves it in next turn. Prose and numbers can no longer disagree.
RULES Conditions live, rests true, levels real
  • New Prone, restrained, stunned, poisoned — they bite now — a knocked-down foe is easier to hit and its own blows falter; stunned combatants lose their turn; venom burns between rounds.
  • New Level-ups grant everything you are owed — hit-dice health, class features, spell slots and a rising proficiency bonus, whichever road the experience arrives by. A fifth-level character finally rolls +3.
  • Fixed Armour changes your armour class — swapping into the chain you picked up moves your AC; it used to freeze at whatever the forge wrote on day one.
  • Fixed Long rests give back half your hit dice, as the table intends, and every rest refills spell slots and dulls exhaustion.
  • Fixed Quests pay what they promise — completion grants its stored XP and gold on every path, once, never twice.
  • Fixed Your purse can no longer be quietly destroyed — spending more than you carry is refused, not rounded to zero; the coins stay.
TRUTH A rulebook that matches the machine
  • Improved The mechanics page was audited line by line against the code and rewritten where it lied — spell slots, rests and the dice contract are documented at last, and nothing on the page promises an engine that does not run.
  • Fixed Rolls you take while offline are marked honest — if the server cannot be reached, the dice fall locally and the chat says so.
  • Fixed Dying reads as dying — at 0 HP the chronicle shows the death-save tracker, and the Dungeon Master knows you are down instead of asking you to stroll.
  • Fixed Signup promises retired cleanly — the old welcome-turns text is gone from every page and search snippet; the free road is 50 fresh turns daily, one turn per message.
  • Improved The realm speaks one tongue per toggle — quota warnings, the day-cap modal and idle whispers are now translated both ways, and the legacy welcome-bonus line in your profile says exactly what it is.
CRAFT One gold, one ledger, less noise
  • Improved A single palette across the realm — three competing golds became one; every page now draws from the same tokens so the torchlight finally matches.
  • Improved Carried weight counts your coins — the sheet, the Dungeon Master and the Guardian now agree on how heavy your pack is.
  • Fixed Returning heroes skip the tutorial — the onboarding steps fold away once you have an adventure; one line invites a new one.
  • Fixed A silent-turn plague cured — malformed numbers from the story-tellers no longer drop a whole turn's XP, gold and items on the floor; they are repaired or refused.
1.1

The Open Road

MODELS Five free minds, always at the table
  • AIOpenRouter's newest free models, always available — the five latest free community DMs now sit in every picker — Dungeon Master, Guardian, Extraction and character creation — for every path, no upgrade needed. StepFun 3.7 Flash stays the steadfast default; the free minds are the open road beside it, refreshed as OpenRouter ships new ones.
VOICE The realm speaks to everyone
  • SNDStepFun narration is free — the DM, characters and NPCs answer aloud for every path; the free road was always meant to be heard.
  • SNDVoice input is free — tap the microphone and speak your action; StepFun speech-to-text transcribes it for you to edit and send. No top-up needed to be heard.
FACES Painting for everyone
  • FEATStepFun painting is free — paint your adventurer, the Dungeon Master and every NPC you meet, free-prompt or from the sheet, on the free road.
  • FEATQwen Image 3 Pro joins the premium brushes — the new engine from the Token Plan stands beside Wan 2.7 Pro in the Patron palette, up to 10 premium paintings a day between them.
PATHS One path to everything
  • PATHSThe 3€ Support pack is retired — the fork in the road is gone. The one-time Patron top-up (30€) now carries every benefit: premium DMs (Qwen, DeepSeek), Qwen narrators, export, uploads and the premium brushes.
  • PATHSExisting Support benefits are honored — anyone with an active Support window keeps their perks until it runs out; purchased turns never expire, as always.
1.0

The Complete Table

VOICE Speak to the realm

Voice now runs the whole way around the table — speak your action, hear the realm answer. English, end to end.

  • SNDPlayer voice input — tap the microphone, speak your action in English, and StepFun speech-to-text (stepaudio-2.5-asr) turns it into a transcript you can edit before sending. No typing for the urgent parts.
  • SNDStepFun narrators — the DM, characters and NPCs answer aloud with stepaudio-2.5-tts: natural language instructions instead of canned voice labels, with long replies split into seamless clips.
  • SNDQwen narrators — the premium storytellers (Patron tier) give the realm a different grain of voice — pick StepFun or Qwen for your campaign.
  • UXFree to speak — voice input costs no turn: the transcript is yours to edit before it counts. Speech and narration follow the tier gates (Support for StepFun, Patron for Qwen).
MODELS Heavier minds at the table
  • AIQwen 3.8 Max as Dungeon Master — Alibaba's flagship: deep reasoning and a million-token memory, so the realm keeps the whole campaign in mind, not just the last hour.
  • AIDeepSeek V4 line — V4 Pro and V4 Flash sit alongside the Qwen line in every picker, so each tier gets a mind that matches the table's budget.
MECHANICS The whole 5e table, in play

The rules are no longer a suggestion the Dungeon Master reads from memory — they are a contract the realm enforces. Every major mechanic a table needs now lives in the game, verified by tests, and applied by the Lorekeeper after every turn.

  • FEATSkills and proficiency — the right tool for the right task: skill checks carry proficiency and ability modifiers, and the DM knows when the party is pushing its luck.
  • FEATSpell slots spend — casting a spell consumes the slot, and the spellbook tracks what is left. No more infinite fireballs.
  • FEATInspiration and class features — the spark of a nat-20 is banked as inspiration, and class features arrive as real rules instead of flavor text.
  • FEATConditions that tick — blinded, grappled, restrained and the rest apply their effects and expire on schedule.
  • FEATResistance and vulnerability — fireball into a creature that shrugs fire halves the pain; a vampire still fears the sun's light twice as much.
  • FEATEncumbrance, exhaustion, cover, darkvision — carry too much and movement suffers; push too hard and exhaustion stacks; half cover means half the hits land; darkvision decides what you see in the dark.
  • FEATGrapple, shove, movement, downtime training — the physical tools of the table: lock a foe in a grapple, shove them off a ledge, move with the terrain, and spend downtime learning a tool or language.
  • AIBattle AI for enemies — when enemies are alive, the Guardian decides their moves and the code rolls the dice — no enemy ever hits or misses by LLM fiat.
DICE Dice the realm can trust
  • FIXServer-authoritative dice — every player roll now travels to the realm's own dice engine (secrets, not a client-side random) before the result lands in the chat. Advantage rolls two d20s server-side, then picks the best.
  • FEATThe DM dice ceremony — when the Dungeon Master rolls for an enemy or an ally, the dice tumble visibly in the chat: a flicker, a roll, and the result — no more placeholder boxes.
  • FIXNo double damage — a player or ally attack that already dealt its damage can no longer strike the same enemy twice through the mechanics layer.
  • FIXDead enemies stay dead — a slain creature's last rolls no longer re-render on every new reply.
MEMORY A memory that holds

The realm's memory was rebuilt from the inside: a moving window of facts, ranked fresh before every single turn, backed by a semantic index that is actually reachable from the cauldron.

  • FEATFact register — the moving window — every turn's events are distilled into durable facts (people, places, promises, grudges). Before each reply, the top 8 facts are scored against your message — keyword overlap, recency, mentions, confidence — and only the winners enter the prompt.
  • AISemantic recall, fixed — the Qdrant index (transcript, lore, summaries) was unreachable from inside the container; the connection now works, and the top 4 semantic chunks join the fact window every turn. RAG is no longer a checkbox — it fires on every DM call.
  • FEATNothing is deleted, everything competes — facts fall out of the window but never out of the register: compaction every 50 turns marks stale facts, superseded facts are retired, and player-pinned facts (the /pin command) can never be evicted.
  • FIXTransparent recall — the Engine Room now shows exactly what the DM saw: 8 facts + 4 RAG chunks per call, so you can watch the realm remember.
  • FIXCampaign language held — scene, chapter and arc summaries now follow the campaign's language instead of hardcoded Swedish; NPC keys survive apostrophes and parentheses.
TURNS A turn ledger that spends honestly
  • FEATOne turn per message, nothing hidden — your chat message costs exactly 1 turn. The guardian, threads, summaries, day-entries and battle AI run free inside it — the internal machinery is never billed against you.
  • FEATTTS counts once, cache hits free — a synthesized voice costs 1 turn the first time; replaying a cached clip costs nothing.
  • FEATImage turns — painted portraits charge a single turn, with the price shown before you paint.
  • UXQuota you can read — hover the turn pill for the honest breakdown, see the big refresh timer, and open the full profile modal from the top bar: turns, tier, and subscription in one place.
  • UXFree models, everywhere — OpenRouter free models now sit in the regular DM, Guardian and Extraction pickers (and character creation) — no separate experiment row — with backend validation for every tier.
MOBILE The table fits in your hand
  • UXComposer trimmed ~50% — the Act button lives inside the field, the input is a compact single row, and the quick-scroll controls shrank — more story, less chrome on a phone.
  • UXTTS controls as chips — the voice boxes became chip-sized (26px), the media player a minimal pill, and the combat button is icon-only in the bar — the whole stack is radically shorter.
  • FIXBottom nav that stays put — the nav is now flow-based instead of fixed-position, so Firefox Android no longer hides it behind the URL bar.
FACES Faces worth seeing
  • UXChat avatars ~3× larger — the DM and player portraits now stand at 120px (84px on mobile), stacked above their messages instead of squeezed beside them.
  • FIXPlayer avatar above the bubble — the portrait sits above your message, matching the DM's side.
  • FIXSoft rounded frames — avatar frames follow the table's soft design language (10–12px radius) instead of sharp corners.
  • FIXRefresh actually refreshes — painting a new DM or player portrait now updates the chat in place; wrong selectors no longer keep the old face.
  • FEATAvatar gallery arrows — flip through your painted faces with arrows, and inactive portraits are purged after 30 days.
CLEANING A lighter engine room
  • FIXDead code pass — the legacy REST combat path and unused code are gone; the engine room is smaller and the turn path shorter.
  • FEATUnique visitors per country — the admin ledger now counts real people (deduplicated) by country with time filters (1h/12h/24h/7d/30d), plus top referrers and unique daily visitors.
  • FIXBook of Souls cleans after itself — only existing campaigns and the currently selected card appear; deleted cards leave no showcase ghosts behind.
0.10

The Soft Table

FACES Faces you can look in the eye
  • FEATPortrait previews — tap your adventurer's portrait in the summoning circle and it opens large, with Re-roll portrait that paints a fresh face without touching your stats.
  • FEATYour account profile — click your portrait in the top bar and the mirror opens: stats, tier, and one Paint your account profile avatar button with the engine dropdown, exactly like your adventurer's card.
  • FEATKnown faces first — NPCs with painted portraits rise to the top of the Known NPCs list, so the faces you care about are always in view.
VOICE A voice you can steer
  • SOUNDTTS player bar — a slim bar above the voice settings shows playback progress with play/pause, so the narrator is always under your thumb.
  • SOUNDAutoplay speaks once — each Dungeon Master reply is read aloud exactly one time. Switching voice or provider stops the old voice first — no more echoes.
  • SOUNDNarrator test retired — test your voice on the Dungeon Master instead.
TABLE A table that reads true
  • UXSofter edges everywhere — the release notes, how-to-play, Codex cards, trait chips and the combat button all carry the same rounded, glowing hand as the rest of the table.
  • UXCodex tabs you can read — the tab rows are larger and clearer, both on the big table and the small screen.
  • UXLorekeeper has its own voice — the report is now a teal bubble of its own, and Dungeon Master gold stands apart from player violet.
  • UXEngine Room moved to the top bar — the debug icon sits beside the gear; one click opens it, the next closes it.
  • UXCoin icons in the purse — the left overview shows each metal you carry: platinum, gold, silver and copper as their own coins.
KEEPING The realm answers plainly
  • FIXSwedish names welcomed — å, ä and ö are accepted in new adventurer names, and the ledger now says exactly what the cauldron needs when a name is refused.
  • FIXDonations fill the purse — every euro donated also tops up 100 turns (no expiry), and the pricelist says so plainly.
  • FIXLorekeeper arrives on time — the post-turn report appears after the Dungeon Master answers, without needing to refresh the table.
  • FIXThe Engine Room speaks English — every debug line is now in the common tongue.
NEXT What we are still working on
  • NEXTSee the game — real screenshots and footage of the cauldron at work are being gathered, and the gallery will be rebuilt around them.
  • NEXTFaster free turns — the free tier's Dungeon Master requests will run more at once, shortening the wait between your words and the world's answer.
0.9

The Full Mind

DEEPSEEK & QWEN The Dungeon Masters arrive in full force
  • FEATDeepSeek and Qwen take the chair — the premium Dungeon Masters are here. The full reasoning power of Qwen and DeepSeek sits behind your adventure: massive storylines, quests that hold together, and a DM that thinks before it speaks — without breaking immersion.
  • FEATWan 2.7 painting — the premium image engine paints your adventurer, the DM and every face you meet in sharp, high-resolution portraits.
  • SOUNDQwen 3.0 TTS narration — a premium narrator's voice joins the Patron path, reading the Dungeon Master's words aloud in full voice.
PATHS A month of fire — one-time, stackable
  • FEATSupport and Patron packs unlock 30 days of benefits — one-time purchases, no subscription, no renewal. Buy again to stack more time (+30 days per pack).
  • FEATYour purchased turns are yours forever — when the 30 days pass, the premium doors close but your turns stay on the account, unspent and waiting.
  • FEATPriority API — Support and Patron words reach the Dungeon Master first, even when the cauldron is busy.
CLEARING The table reads better
  • FIXPreparing spells is clearer — the spellbook shows what is equipped and what is available, and the incantations sit where you actually look for them.
  • UXLaunch promotions read clearly — the 300 turns on signup are now what they are: a limited-time welcome with a countdown on the gate, so nobody misses the fire while it is hot.
  • UXTurn order that makes sense — your welcome turns are spent first, then the daily 50, and your purchased turns are saved for last, when you need them most.
  • FIXOne adventurer per fire — a single account per network, so the free road stays fair for everyone.
FORGE Faces you keep
  • FEATDownload your portraits — every painted face in The Forge can be saved to your own keep, even long after the benefits that painted it have passed.
  • FEATExport carries the images — campaign exports and Forge exports now bundle every portrait, so your adventure leaves with its faces.
NEXT What we are still working on
  • NEXTFaster free turns — the free tier's Dungeon Master requests will run more at once, shortening the wait between your words and the world's answer.
0.8

The Portrait, the Path

WAN 2.7 The premium painter arrives
  • FEATWan 2.7 painting — Patron tier (30€) — the premium image engine now paints your adventurer, the DM and every NPC in sharp high-resolution portraits, in seconds. Gated honestly on every page: login, pricing and the model hall all carry the path.
  • AIChoose the engine at the easel — a new engine picker sits in the avatar hall: StepFun (Support, 3€) or Wan 2.7 (Patron, 30€). The same choice follows you into the Vault, so a Patron can paint Wan portraits everywhere a face can be painted.
  • FEATStepFun painting unlocks with the Support top-up (3€) — the free-prompt easel costs nothing extra on any paid path, so your adventurer, the DM and the faces you meet can all be painted with StepFun.
PROFILE Your face, your adventurer
  • FEATYour profile portrait is separate from your adventurer's — the pill in the header is your face at the table (painted with StepFun, Support feature 3€), while the party card and character sheet keep your adventurer's portrait. Paint one without touching the other.
  • UXClick the portrait to repaint it — the header pill opens the profile easel; any card in the realm opens its own.
SMALL FIXES The table sits right
  • FIXThemes that actually stick — the palette you choose now survives reloads, works even in browsers that block local storage, and follows you across devices via your account.
  • FIXNarrator settings follow the campaign — voice, provider, style and your own custom narrator prompt are remembered per campaign, not per browser, so the story reads the same on any device.
  • UXA softer table — rounded buttons, gentler edges and calmer shadows across the top bar, the Codex and the composer; the header no longer squeezes the campaign name or the turn counter out of view.
  • UXThe Codex reads in two rows — character, NPCs, map, journal and facts above; spells, equipment, treasury and notes below, living with the same buttons as the rest of the realm.

Known Issues

KNOWN What we are still working on
  • NEXTMultiplayer campaigns — after 1.0 — play with your friends at the same table, in the same world. The next milestone after the complete table.
  • NEXTMore languages — after 1.0 — German, French, Spanish and more.
0.7

The Forge, Earning

PAY The Cauldron takes a payment

The realm now carries its own keep. After a season of free tables, the forge accepts coin — and with it, the fire burns steadier. Every path is real, wired end-to-end through Stripe, and every adventurer keeps a free road forever.

  • FEATFounding offer — two free months — for the first seven days, subscribe for one month and get 2 months free on Companion. And Lifetime for 50€ — half price, one-time. The countdown lives on the login page and the table.
  • FEATFour paths into the realm — Wanderer (free), Companion, Adventurer, and Lifetime. Each a real tier: free stays free, the paid paths unlock the deeper models and the twin voices.
  • FEATStripe checkout, live — the pricing page is wired to a real Stripe account: products, prices, and a webhook that records payment. No more mock buttons.
  • FEATWebhook idempotency — a delivered payment event is recorded exactly once, even if Stripe retries it. The ledger never double-counts a coin.
  • FEATLifetime is truly forever — a Lifetime purchase never expires (holds until the end of time, not a date). Granting a tier writes a line into the player's transcript.
  • AIModel gating by tier — free players travel with the steadfast step-3.7-flash; paid paths unlock DeepSeek, Qwen 3.8 Max, and Qwen 3.6 Flash as their Dungeon Master. Locked models are visibly grayed out, never silently ignored.
  • UXYour tier is visible — the profile card in the gear menu shows your path, and the pricing page marks your current subscription with a lit sigil.

The Paths

Wanderer
Free · no card
  • 50 turns every day, refreshed at midnight
  • The steadfast Dungeon Master (step-3.7-flash)
  • Persistent world, memory, and the Codex
  • StepFun TTS — always free & the dice ritual
Companion
3€ / month
  • 50 turns refreshed every 6 hours
  • AI avatars for your adventurer and the NPCs you meet
  • Everything in the Wanderer path
Most popular
Adventurer
9€ / month
  • All Dungeon Masters — DeepSeek, Qwen 3.8 Max, Qwen 3.6 Flash
  • Both narrator voices — Qwen and StepFun TTS
  • Customize the narrator — happy, calm, scary, or your own style
  • 50 turns every 6 hours · AI avatars
Lifetime
50€ · once
  • Unlimited turns — the Cauldron never sleeps
  • All Dungeon Masters · both voices · avatars
  • A thank-you from the forge — you keep this realm burning

The Free Road

FREE A fair ration, honestly counted
  • FEATTurn counter in the header — turn, day, free turns left, and the reset date, all visible at a glance. On mobile it tucks into the menu so the top bar stays clean.
  • FEATDaily renewal — your 50 turns refresh each day at midnight, whether you were here or not. A cron keeps the dates in step, and the count rolls over lazily even if the cron sleeps.
  • UXAn honest cap modal — when the free turns run out, the game tells you plainly: new turns on the reset date, or upgrade for unlimited. No dead buttons, no tricks.
  • PAYAdmin top-ups — the realm-keeper can grant bonus turns (consumed before the cap) or reset a player's count, without touching the monthly ceiling.

The Two Voices

SOUND A narrator you can give a mood
  • FEATStepFun TTS — always free — the narrator's voice belongs to every adventurer, on every path. Wanderers get StepFun narration at no cost, alongside their daily ration of turns.
  • SOUNDCustom narrator voice — pick a style for the one who reads your story: happy, calm, scary, or a custom description of your own. A Tier 2 feature, and gated honestly in the UI.
  • SOUNDQwen English voices — the Qwen narrator gained English voices alongside the original set. Qwen TTS joins the Tier 2 path.
  • SOUNDFaster loading — a TTS cache with a time-to-live keeps repeated lines from re-rendering, and a speed button lets you set the read's pace.
  • FIXGuardian day-correction — the day counter no longer drifts when the Guardian reconciles the world state.

The Forge & Avatars

FORGE Faces you can actually shape
  • FEATClean free prompt — avatar prompts are now a blank page (`new` mode), so you describe the face you want without a template already deciding it.
  • UXUpdate from sheet — one button rebuilds your avatar straight from the character sheet state, so the picture follows the story. No more "keeps face" magic that quietly made things worse.
  • UXCompanion avatars — AI faces for your adventurer and the NPCs you meet, granted to the Companion path and above.

The Codex & Navigation

UX A calmer table
  • UXCodex NPC list, easier to navigate — the dossier is now quick to scan; the mobile Character tab stepped aside so the flow stays at the table.
  • FIXParty drawer fixed on mobile — the slide-in now sits above the right layer (z-index), and the bottom nav reads Party | Codex | Tools.
  • UXSidebar polish — a journey entry, a quest flag, smoother NPC scrolling, and a jump into the Codex from the side panel.
  • UXSettings menu tooltips — the hint lines in the gear became hover tooltips, so the menu stays quiet until you need it.

The Dungeon Master

AI Sharper instincts, cleaner room
  • AITerrain rules in the DM's head — the prompt now carries the realm's terrain and travel-times, so the DM stops guessing how long a road takes.
  • AIOnboarding model choice — at the start you pick which Dungeon Master will guide you; the campaign wakes itself on load.
  • UXEngine Room buttons moved — combat and engine-room controls now sit on the TTS row, out of the way of the players' words.
  • AITerminal theme v33 — the CLI/DOS look refined again, with avatar-prompt fixes riding along.

Accounts & Fixes

FIX The ledger stays straight
  • FEATEmail-based password reset — a one-time token link lets you back into the realm without a remembered password.
  • UXYour own stats in the gear — players see their own turn usage and path in the profile card.
  • PAYAdmin billing dashboard — MRR, transactions, and total revenue at a glance; per-player revenue split; a quick grant of premium straight from the table row, with a selectable length.
  • UXAdmin dashboard grows up — a New Users by Day chart and a Revenue chart (MRR/ARR with day/week/month views) joined the donuts; the player table sorts by Last Active by default, its hidden columns are now reachable, and the whole view is easier on the eyes.
  • UXPricing on the login page — a path into the realm's ways, plus a profile link that no longer hides inside the gear.
  • FIXLogin fields — autofill no longer fights the styling; the inputs look proper.
  • FIXAdmin vault adventurers restored — Ysrian and the others, returned after an accidental deletion in an earlier build.
v0.6.3

The Forge Release — no more adventurer-twins

  • Export your adventurer to The Forge — from the Codex character sheet, save the adventurer you've lived to the Vault: level, gear, story and all. Then start a brand-new campaign with the same adventurer.
  • No more adventurer-twins — exporting an adventurer whose name already rests in your Vault asks first: overwrite the old copy, or keep both.
v0.6.2

The UX Update — a quieter table

  • Music removed — the ambient soundtrack is retired; sound effects and the narrator's voice remain.
  • Theme switching on every screen — the five palettes now live in the mobile topbar menu too.
  • A 50-turn welcome — fresh accounts begin with a 50-turn allowance.
  • The Forge, sharpened — no double-save on a stray double-click; name conflicts ask before creating a twin.
v0.6.0

The Production Readiness Update — themes, transparency, polish

  • Theme switcher — five dark-fantasy palettes (Terminal / Blood / Arcane / Ember / Iron), remembered across visits.
  • This release page — every update now comes with notes.
  • Model transparency — a guide to the Dungeon Master models, and why "high reasoning" means a slightly longer wait for a richer reply.
  • Dead code purge — about 1,600 lines of orphaned CSS/JS removed; a hidden Escape-key crash fixed.
  • Combat v26 — the DM narrates everything; the Lorekeeper extracts the mechanics; turn engine, initiative order, and inline combat UI.
  • The D20 ceremony — a 3-second dice ritual with flicker, glitter, and nat-20/nat-1 spectacle.
  • The Codex — one tabbed modal for Character, NPCs, Map, Journal and Facts.
  • Voice of the DM — Qwen TTS with play button, male/female voices, autoplay toggle, and cache.