Dev Blog: Voices at the Table, Storms on the Map
This was a big week for Einsol's Razor. A single push touched 88 files and added over 11,000 lines of new code, and almost all of it lands where you actually play: at the virtual tabletop. Here is what went live, plus a peek under the hood and a look at what is coming next.
At the Table
You can now talk to your party, in the app. We integrated live voice chat directly into the VTT using LiveKit. No second app, no Discord juggling. Connect, mute, adjust who you hear, and it even supports Krisp noise filtering so your mechanical keyboard does not join the session. There is a voice dock right in the table view, and the server mints per-room access tokens scoped to your role, so spectators and players get the right permissions automatically.
The map has weather now. We built a full ambient atmosphere system for the tactical canvas. Scenes can carry rain, storms, snow, fog, embers, ash, dust, drifting leaves, fireflies, spores, sparks, dust motes, and sandstorms, complete with a mood wash that darkens the screen in a storm or hazes the air in fog. There is rolling thunder audio to match. Effects fade in and crossfade between each other so nothing ever snaps on. The GM can override the authored scene weather live, mid-session, when the story turns.
A GM Soundboard. Game Masters get a panel of one-shot sound effect pads, synced to the table so the whole party hears that door slam or that war horn at the same moment.
Contested attacks resolve on the canvas. The full attack and Defense Roll engine is wired into scene targeting. Attacks roll against defenders, defense penalties and damage are calculated, temporary HP is consumed first, and halved or bypassed damage is handled per the rules. Creatures get their own contest targeting path too.
Creatures get real ability cards. Hostile Creatures and NPCs now use the same clickable, rollable ability cards your characters do, instead of static text. Abilities, actions, and magic all surface as proper cards with roll buttons.
Effects know when to expire. Conditions and active effects now track their own duration in Rounds and clean themselves up at the turn boundary. Concentration is tracked as a marker right on the token, so everyone can see who is holding what.
For the GM
The GM Notebook got a wave of upgrades: a shared Image Gallery, a Handout Viewer for pushing documents to players, a Calendar Manager for your world's timeline, and smoother Adventure, Encounter, and Mission creation flows. Syndicate Chat and Handouts also got attention, including more work on the in-world language ciphers so secret tongues actually read as secret.
Under the Hood
A few things backers who like the technical side will appreciate.
The VTT had been getting heavy on large tables, so we shipped two diagnostic scripts: one that measures session document size and latency, and one that prunes orphaned combatants left behind by old encounters. Combat state writes were also moved toward atomic operations so a busy table is not rewriting the whole session document on every change.
We also centralized how token condition markers are computed, including a synthetic concentration tracker, so the PC sheet and the token always agree on what is active. The mobile bottom navigation got a real pass too, for those of you running characters from a phone.
Coming Next
The work already in progress (testing locally now) is all about making auras and ongoing effects truly automatic on the table:
- Persistent, follow-the-weaver auras. Always-on auras like Inspiring Presence, resistance auras, and hostile damage-over-time fields will project from your token onto the scene the moment you arrive, apply to whoever is in range, and update live as creatures step in and out.
- A general recurring-effects engine. Regeneration and damage-over-time, written a dozen different ways across spells, feats, and creature abilities, now collapse into one system that ticks heals and damage automatically each Round.
- Smarter ally delivery, including immunity auras and a fix so effects like Faith's Armor stop accidentally healing the Weaver instead of the ally.
- Rules tuning to Herald's Blessed Chorus, Templar's defense aura, and Channeling Release.
- A new website social card so links to Einsol's Razor finally show off properly when shared, plus a new Class Deep Dives section coming to the Learn pages.
Thank you, as always, for backing the build.
Xavier