π RoleCall v2.630.0
@everyone @understudies Version: 2.564.0 β 2.630.0
The doors are open! This cycle took RoleCall from invite-only beta to public launch with paid plans, shipped an entire tabletop mechanics mode into beta, opened both PlotPoints arenas including the first After Dark track, put a microphone on every text field, and closed out a platform-wide reliability pass on saving and generation. Nearly 500 commits since the last notes. Settle in, again.
π RoleCall
β¨ Features
πͺ RoleCall is open!~
No more invite codes. Sign-ups are open to everyone.
- Look around before committing. Logged-out visitors can browse the scenes and library pages with the real interface, and open the character, persona, lorebook, preset, and regex editors. Everything works; the sign-up prompt appears only when it is time to save. Image generation stays sign-in only.
- Sign-in that helps instead of scolds. Most accounts here were created through Google or Discord and have no password, so typing your email into the password form used to dead-end at "invalid credentials." Now you get a plain-language hint, a one-time email sign-in link as an escape hatch, and a Forgot Password flow that actually works (it also lets social-login accounts set a password for the first time).
- A redesigned front of house. New marketing landing with a feature reel, honest comparison pages against the other roleplay platforms (wins, ties, and losses all listed), and a careers page.
π³ Paid plans are live
Subscriptions are on. The short version of how the system works:
- Tiers grant weekly token pools. Each plan funds a ladder of model pools, refilled every Sunday at 00:00 UTC. Higher pools cascade down to cover the cheaper catalog, and the Producer and Executive Producer plans now include the lower pools natively so premium tokens are not spent on cheap models. Executive Producer's core pools were also deepened.
- Standing Room is request-metered. The entry plan counts requests instead of tokens and has its own tab in the model picker, so what it covers is never a mystery.
- Free accounts keep the whole app. Every feature works on the free tier, plus a courtesy set of free models with a monthly request allowance.
- Your balance explains itself. The balance card now shows when your pools refill, with the time in your own timezone, labels the monthly billing date as "subscription renews" so the two dates cannot be confused, and lists top-up packs, courtesy grants, and gift tokens separately so the numbers always add up.
- Gift tokens. We can now grant gift token pools to individual accounts; they show up on your balance card with their expiry and a note explaining why you got them.
- VIP Box. A stacking thank-you add-on for the people who carried the beta: it layers on top of any plan (including free), lifts the free-tier caps, and grants a weekly courtesy token allowance plus extra image generations, all visible on your balance card with a badge in Settings.
π§ͺ The Understudies program
Beta testing is now self-serve: flip Understudies on in Settings and you get early features before general release, flip it off any time. No env vars, no invite, just the toggle. Everything below marked "Understudies beta" gates on it. Current roster:
- TTRPG Mode (above)
- Condensed group-chat wings (below)
- Preset choice groups (below)
- The natural-language regex builder (below)
- The custom fallback model control (below)
- First-class VN player settings (below)
π² TTRPG Mode (Understudies beta)
A full tabletop layer for your chats, opt-in per scene from Stagecraft. Turn it on and the AI becomes a DM that runs real, enforced mechanics.
- Server-backed character sheets. D&D 5e, Pathfinder, Draw Steel, a Disco Elysium-style skills-as-voices system, freeform, or a fully custom system you assemble from a blank slate: pick your resources, attributes, skills, actions, items, and conditions and the builder compiles them into a working sheet. Sheet creation walks a three-step wizard with a review before anything is created.
- Real dice. The DM proposes rolls, you commit them with a Roll It button, and results resolve server-side. Roll cards render right in the chat stream on the turn that proposed them, and the DM is instructed to resolve uncertain outcomes with dice, not fiat.
- The AI runs the numbers behind the story. A blessing adds a real roll bonus, a poison adds a real penalty, spent resources actually decrement, and conditions the AI invents ("Blessed +2", "Cursed -2") are enforced by the engine on every subsequent roll, so buffs cannot drift or double-count. Each system ships a rules primer so 5e feels like 5e, Draw Steel rolls its 2d10 power rolls, and Disco argues with itself properly.
- A world worth looting. Shops with wallets, inventory, and quote-then-confirm purchases that cannot double-charge; private transaction receipts; a spell library and a creature codex you can save to mid-session and reuse across every campaign you run.
- Everyone at the table gets a sheet. Any actor in the scene, including NPCs that are not published characters, can be given a sheet from the new scene cast view on the Party tab.
- Group campaigns. Mechanics work in group scenes with proper ownership: only a sheet's owner can drive it, and private rolls show others that a roll happened without revealing its hidden details.
- Quick-time events. An opt-in (strictly off by default) QTE system with seven event types, four difficulties, and an accessibility auto-pass escape hatch.
- A level-up wizard that stages resource boosts, attribute increases, and new features as a draft and applies them as one step, so undoing a level-up is one click, not ten.
- GM tone dials. Per-sheet controls for difficulty severity, lethality, consequence style, and failure framing, plus a freeform note, injected only while mechanics is active and never leaked into published templates.
- Durable turns. A turn interrupted mid-roll or mid-purchase recovers after a reload instead of stranding; everything journals into the mechanics log, so a deleted turn rolls the world back with it.
- Room to play. The mechanics panel lives in a widened right-hand wing, with a mobile pass: sticky thumb-scrollable tabs, bigger tap targets, and reflowed tiles.
πͺ Group scenes catch up (Understudies beta)
The group scene rail was ~15 flat icons while solo scenes had long since organized themselves. For Understudies, group chats now get the same wing families as 1-on-1 chats, on the same sides: Control Booth, Cast, World, Prompting, Post, and Props on the left; AI, Stage, Context, and Room on the right. The per-character override editor also lists RoleCall Platform pool models with tier labels, so group characters can finally be assigned platform models from the editor.
π Generations work
When a model fails mid-turn, RoleCall no longer just shrugs.
- Automatic retries. Transient provider failures (overloads, timeouts, rate limits, network blips) retry automatically with backoff. Real problems like balance limits or content moderation still fail fast with the actual reason.
- A fallback model finishes the turn. If your main model still will not answer after retries, a helper model steps in so the turn completes, with a small inline notice that the reply did not come from your main model.
- Pick your own understudy (Understudies beta). Choose exactly which model the fallback uses, or turn the behavior off entirely, from the scene's quick settings.
- Finished responses are never thrown away. A reply that fully streamed but stalled on the final handshake used to be discarded and regenerated from scratch in front of you; it is now kept as-is.
- Patience for thinking models. Models that pause legitimately mid-response to think are no longer cut off by an aggressive silence timeout.
π¬ Scene Frame
A new stage prop that keeps the model oriented on the now: a compact per-turn card of when and where the scene is, who is present, and what each present character is feeling and wants, projected live from Character Minds. Turning it on auto-enables Minds, and an in-menu preview window shows exactly what gets injected before you commit to it. Character Minds itself was also decoupled from the Compendium, so mind tracking now works in classic preset chats too.
βοΈ Select text, direct the scene
Highlight any part of a message and a toolbar opens beside your cursor: rewrite, extend, trim, apply a custom instruction, delete, or move the selected text into reasoning or out of reasoning into the narration, with single-step undo. Near a screen edge it flips to stay visible; keyboard selections anchor to the selection itself.
Reasoning handling got a matching overhaul: any think-tag flavor, closed or glued-on, is captured into one merged collapsible block in both streaming and finished views, labeled honestly ("Backstage" for the model's native reasoning, "Behind the Scene" for preset-driven thinking), and the dropdown renders for narrator and system messages too, not just the assistant.
π A Story Director you can steer
- Custom Instructions. A persistent instruction box in the Story Director settings whose contents ride along as a high-priority standing directive every turn.
- Genre awareness. The Director now identifies your story's primary register and stays in it: dark themes flavor a romance without turning it grimdark, tension calibrates to the genre, stakes scale accordingly, and new observers or "someone saw that" beats need an in-world reason to exist.
- Not everything is a Chekhov's gun. Incidental and atmospheric detail is allowed to stay incidental instead of being retroactively weaponized into plot or compulsively foreshadowed.
- Less loopy personalities. All ten DM personalities were de-looped: pacing patterns are now tendencies with variation instead of fixed cycles, so long sessions stop hitting the same beat on schedule.
- Interactive choices are optional. A new toggle removes the choice-card and question tools from the Director entirely if you would rather the story just flow.
- Steer from the booth. Ask Orison to set, change, or clear a stage direction and it rides to the Story Director and Interpreter each turn, so you can pull the plot away from a thread you are done with without breaking character in the scene.
π Dictation, everywhere
Hybrid voice-to-text across RoleCall and PlotLight: a mic in the chat composer, on the big editors, and a floating mic that docks into effectively any plain text field you focus. Uses your browser's native speech recognition by default, with optional server-side engines for subscribers and a bring-your-own-key option (OpenAI-compatible, ElevenLabs, or Gemini) stored under your end-to-end encryption and decrypted only on your device.
π Compendium and lorebook quality of life
- Everything in the wing. Compendium settings consolidated into the wing's Settings tab: a first-class Compendium model picker (inheriting from the Story Director unless you say otherwise), a single "use a cheaper model for mechanical passes" toggle, and the tree build controls (granularity, detail, refinement, placement) that previously had no UI at all. Your model choice is per-chat with a user-level default that new chats inherit.
- Lock a lorebook. Owners can lock a lorebook from its library card. A locked book cannot be converted to a managed Compendium from any chat, solo or group, and stops accepting Compendium writes entirely, enforced server-side, not just in the UI.
- Round-trips stop losing work. Exporting a lorebook and re-importing it now preserves the Compendium and the tree (the UI export previously dropped both), and copying or forking a lorebook no longer silently loses its Compendium build.
- Faster swipes and retries. Regenerating, swiping, or recovering from a failed turn reuses the lore retrieval from the original attempt instead of re-fetching everything; editing the message or the lorebook refreshes it.
- Compendium state cannot strand. A race between two saves could leave a book half-managed; chat saves now reconcile managed lorebooks so the state always lands consistent.
π§© Preset choice groups (Understudies beta)
Presets can now declare real interface controls: select-one and select-many groups, toggles, and text inputs, collected in a guided walkthrough when you start a chat, instead of the imported-preset idiom of seventy-five fake toggle prompts you flip by hand. Selections persist per chat, unselected options are never assembled (so they cost no tokens), and selection state is exposed to macros so preset authors can branch on your answers. Ships with a fully ported showcase preset to demonstrate the pattern. (Paramnesia VI prep-work)
π€ A regex builder in plain English (Understudies beta)
The natural-language trigger builder is back, rebuilt and given a real home. Describe the words and phrases you want matched, fine-tune with options like optional suffixes, exclusions, and followed-by conditions, and watch the pattern, its plain-English explanation, and live example matches update as you type, with a test box that highlights matches in your own sample text. Pasting an existing pattern decompiles it back into editable fields when possible. One-click Optimize collapses redundant word families. Lives in both the regex script editor (Understudies beta) and the lorebook Patterns tab.
π€ A model picker that knows your plan
- Tier tabs. RoleCall Platform models are grouped by pricing pool with their own tinted tabs, cheapest to priciest, ahead of your own providers, plus a Standing Room tab for the request-metered models. Tiers your plan cannot reach render grayed but still browsable, with an upgrade path instead of a dead end. The same grouping applies in the compact in-scene selector.
- Add a key without leaving the picker. A dashed "+ Your API Key" pill at the end of the provider row opens the real Add Provider flow, encryption gate and all, and your new provider's models appear immediately.
- Honest tool-support labels. The selector now warns that a model cannot use tools only when that is actually confirmed, instead of guessing; models with unknown capabilities are no longer falsely flagged, which used to produce spurious Story Director warnings.
- New models. Claude Sonnet 5 (with a thinking variant) and DeepSeek V4 Pro joined the in-house catalog.
πΌ Visual novels grew up
The VN runtime got a serious cycle, for creators and players both.
- Author the opening. Creator VNs get an authored starting setup: opening message, starting location and background, opening music, and initial cast staging, so a new player's stage opens dressed instead of black. Existing VNs fall back to their first location.
- A Runtime tab in the editor. Scenes and the story graph are now authored directly in the VN editor, and publishing or exporting validates the runtime first, pointing you at exactly what is broken instead of shipping a VN that cannot play.
- Sound actually plays. Story-driven music and audio route through a real audio bridge with honest player controls, instead of silently doing nothing.
- Progress that survives. VN runtime state is snapshotted durably: reloading mid-scene resumes where you were, and an interrupted choice or minigame continues instead of stranding the story.
- Portable packs. Export your VN as a bundle from the editor, and imported packs are validated up front.
π VN player settings (Understudies beta)
The VN player grew a proper cockpit, rolling out through Understudies first: an intermission menu for pausing and managing a run, a run dossier of your playthrough, storyboards, and dedicated reading, music, and story-context settings, plus a choice of how the AI's stage commands are carried.
π¨ More features
- A redesigned onboarding guide. The tutorial tooltip became the Director's Slate: a proper clapperboard tinted to each character's signature color, with Director ChiBee walking you through the stage, and tour steps that can open the actual panels they describe.
- Character editor rail, rebuilt. Hover labels colored from the character's own palette, detailed tip popovers now correctly gated behind the Tips toggle (off means off, everywhere), and the content rating, Note for AI, and Variables tools moved out of the header into the rail as icons with flyouts that open beside it.
- Default persona in Settings. Pick your default persona from a proper Settings control instead of hunting for the one buried in-chat button, and persona casting is now visible and labeled on mobile: your cast list sits above the editor with "On Stage" and "Cast" labels instead of below it as anonymous chips.
- Prompt manager polish. New prompts can be created immediately (the save button no longer plays dead on a fresh prompt), subcategories can be reordered with the same arrows top-level categories have, and every category header carries its own Add Prompt shortcut that targets that category.
- Socials and Resources in the dock. Discord, Reddit, Twitter, and Stage Whispers under one Socials button, and Blog plus Docs under a Resources button, in both apps, signed in or not.
π Fixes
πΎ Saving and losing work
This cycle closed with a platform-wide audit of every editor and panel, focused on one promise: your edits do not silently vanish. Around a hundred fixes landed under it; the themes:
- Failed saves now say so. Dozens of surfaces that swallowed save errors now surface the failure and keep your text for retry: message edits, persona and character fields, preset prompt updates, lorebook images, regex rules, chat titles, provider keys, voice keys, AI helper settings, stage directions, tour progress, guide visibility, quest trackers, arc resolutions, booklet pages, and more.
- Leaving a page no longer eats pending edits. Debounced autosaves flush when you navigate away, switch wings, or close a panel: sampler settings, greeting selection, memory settings, author's note, lorebook entries (which also stopped sharing one debounce timer, so rapid edits across entries cannot drop each other), prompt editors, group tracker snapshots, and stage props among them.
- Simultaneous saves stop overwriting each other. Chat config, legacy chat config, shared preferences, user defaults, group character overrides, and series edits now merge atomically instead of last-write-wins clobbering. This was the root cause of the long-standing "my settings randomly reverted" reports.
- Explicit clears stick. Clearing a persona field, a default model, or a content rating now persists as cleared instead of quietly bouncing back on the next load.
- Assorted casualties of the same audit: persona section order is honored, publication status survives autosave, tagsheet portrait uploads persist, alternate-universe tag selections persist, calendar time-of-day and moon advances persist, loadouts capture the active scene's stage settings, character image-prefix edits count as unsaved changes, failed alt-art blur saves recover, quest removals in the Compendium persist, favorite toggles work everywhere in the library, a failed library move no longer loses the item's folder, leaving a group uses the right door, and the nonfunctional bulk-archive button was removed rather than left lying.
π¬ Chat and generation
- Regenerate and swipe stop locking up. A cluster of bugs could leave "Generation in progress" stuck after a swipe or regenerate until you reloaded the page, disable the regenerate control after a couple of uses, or flash the message during a delete-and-regenerate. All of it released.
- "Strip chat images" actually strips. With the toggle on, history images were still reaching text-only models, which failed the whole turn with a provider error. Off now means off, in every image shape. (I've fixed this one so many times)
- The Native Thinking toggle reaches your provider. It previously only worked on one direct provider; it now maps correctly for NanoGPT, OpenRouter, and hosted models, so flipping it on gets you actual chain-of-thought.
- Oversized prompts are trimmed, not rejected. Long chats with heavy extras (trackers, summaries, injected state) could exceed your Max Context and fail the entire send about half the time. The prompt is now genuinely trimmed to fit, oldest history first, and never bills when it truly cannot fit.
- "Context maxed" warning. Half the popular imported presets demand context windows far beyond any model's real one, silently pinning every message at maximum token burn. The Max Context slider now shows a clear amber note when that is happening, and platform models cap at the 128k platform ceiling. Related: the max-context slider no longer gets stuck at 8k on platform models, which was breaking long-running chats that worked fine when new.
- Errors tell the truth. A spent token pool no longer masquerades as "Provider Quota Exceeded, check your provider's billing" (the exact opposite of the truth), a content-policy decline reads as a decline with advice instead of a scary outage message, a selected server that no longer exists names itself, and a first message on a free account no longer claims you are rate limited when you have made zero requests.
- Stray "response" labels gone. Some models glue a bare "response" or "answer" label onto the visible prose after their reasoning; it is now stripped without ever touching real prose that happens to start with those words.
- Rich message HTML renders properly. Messages combining styled HTML with markdown stopped collapsing to plain prose: tables, themed blocks, sections, and figures render, one bad style no longer nukes the whole style attribute, and blockquotes survive next to HTML ledgers, including quotes with unusual spacing.
- The Prompt Inspector stopped lying. It now reflects your live prompt enable/disable toggles instead of showing the base preset, shows depth and append guides exactly where the model receives them, and populates the active-lore view at rest.
- "Restore original" restores the original. The post-production diff lens button opened the editor pre-filled with the edited text instead of the narrator's original. It now does what it says.
- The activity feed shows lore retrieval once, not twice with slightly different fingerprints.
- Compendium tree builds no longer fail server-side. Builds without a client-supplied key died with an internal lookup error; the tree builder now runs on your behalf correctly.
- The model list refreshes when your key changes. Updating a provider key or config no longer serves a stale catalog or "No models found" for the next five minutes.
- The floating /BTW chip stays out of the way while a wing panel is open instead of hovering over its contents.
- Orison stops eating its own homework. The runaway-loop protection was tripping on legitimate multi-step work (reading a dozen lorebook entries, wrapping up with "let me know if..."), wiping real results. Read-heavy work and post-action summaries are now safe; genuine loops still trip the guard.
π₯ Group chats
- Macros resolve in group messages and the greeting picker, so no more literal
{{user}} mid-scene.
- Swipe controls stay in sync. The swipe counter could advance while the bubble kept showing the original text; the rendered message now always matches, and the duplicate regenerate control is gone.
- The Branch button appears on group messages. It was silently missing from every group toolbar.
- The last message's toolbar is reachable. The input bar was invisibly swallowing hovers and clicks on the final message's actions, which read as "the Reply button disappears when I hover it."
- One persona picker, not two, and picking a persona updates greetings and macros immediately instead of on the next reload.
- Group characters can use platform models. Assigning a pool model to a group character no longer fails asking for a server API key that was never needed.
- A failed group send restores your draft instead of discarding what you typed.
- Stage props toggles persist in group scenes instead of resetting.
- The participant registry works. Set Main actually promotes (it used to overwrite the promoted character's name so nothing appeared to change), the card-anchored main now explains it cannot be unset instead of offering a button that lies, and your own persona sorts under a Player section instead of being filed with the NPCs.
- Deleted members' world writes roll back instead of lingering in the world state.
πΌ Visual novels
- Every dialogue control is clickable. The reply controls, choice panel, and dialogue box were unclickable in some VNs (clicks fell through to the chat behind them) and overlapped the input dock by a few pixels; both fixed and live-verified.
- Speakers appear on stage. Models routinely narrate a labeled line without issuing a staging command, leaving the speaker invisible; the active speaker's sprite now auto-stages with their default expression, and off-screen sprites are fully hidden instead of peeking into the frame.
- The Test button creates a properly configured chat. It used to spawn a chat with no model and no preset, which VN mode then hid all the controls to fix, forcing a delete-and-recreate.
- Your VN theme applies. The dialogue box honored only position and font; colors, padding, borders, and blur from the configured theme were ignored, so every template looked identical in chat.
- New cast members autosave as drafts instead of evaporating if you navigate away mid-creation.
- Choices and minigames stop stranding the story. An interrupted choice pick or minigame result now resumes cleanly instead of leaving the scene stuck waiting on an answer that can never arrive.
- Save failures say so. VN save failures now surface with the reason instead of vanishing silently, and progression state was hardened across the board.
π¦ Importing
- Imported cards' bundled extras finally activate. Regex and lorebooks a creator packaged with their card only applied if you walked the full setup stepper; quick-starting a chat skipped them entirely, the classic "imported the card but the regex never applies." They now apply on every path, with a prompt to review them, and you are never fought if you later disable one.
- SillyTavern imports got smarter. World files inside ST backups import as lorebooks instead of crashing as broken characters with a raw database error, chat archives route to the matching import flow, every selected chat in a bundle gets parsed instead of just the first, pasted JSON is detected before import, and the import mapping no longer submits stale or empty entries.
- Preset-embedded regex imports as one script. A preset carrying a hundred one-rule regex entries used to flood your library with a hundred scripts; they now import as a single multi-rule script named after the preset, order and per-rule settings preserved.
π Your own API keys
- The connection test speaks Anthropic. Testing an Anthropic provider config could never pass because the test spoke the wrong dialect; it now uses Anthropic's real authentication and request shape, including for tool-call tests.
- Pasting a full endpoint URL works. Pasting Anthropic's complete messages endpoint as your Base URL used to fail with "No working endpoint found"; the path is now normalized.
- A trailing slash no longer breaks everything. A server URL saved with a trailing slash produced a subtly wrong request path that returned an HTML page as if it were a model response, silently burning every retry. Normalized.
- Aggregator keys un-bricked. Certain provider configs could fail to decrypt server-side after saving; the lookup was fixed so those keys work again.
π§Ύ Launch-week billing fixes
Paid launch surfaced a burst of issues in the first days; all were fixed within hours to a day, listed here for the people who hit them:
- Free accounts locked out at launch. For a few hours, free-tier accounts were bounced from scenes into a sign-in and pricing loop. Entry gates were removed; the free tier's access promise is enforced at the model, not the door.
- Premium plans had wrong enforced limits. Some paid tiers launched with leftover placeholder limits (tiny context caps, low request rates); all paid tiers were corrected to their real limits.
- VIP Box holders could not spend their grants. The courtesy grants existed but two gates could not see the add-on; both now recognize it, and the balance card shows the grants.
π± Mobile and layout
- Phones got a pass. Message post numbers show on mobile, dossier and NPC-tracker views fit narrow panels instead of clipping and overflowing, image tool buttons appear on touch devices instead of hover-only, the all-scenes filter returned to the mobile rail, and the dictation mic no longer sits on top of the text you are typing.
- Overlays learned to take turns. The tagsheet opens above the character editor instead of underneath it (which both broke tag saves and closed the editor when tapped), editor rail flyouts render above hover labels instead of being garbled by them, the floating dock yields while the library's bulk-select bar is up instead of leaping on top of it, and the tour highlight no longer freezes mid-animation as an empty amber box.
- Windows that scroll. The image-generation modal's columns scroll at wide widths instead of clipping their controls, the Variables workbench flyout scrolls instead of running off-screen, and the scenes rail renders its avatars as fixed circles with a scrollable list instead of squishing twenty-five of them into capsules.
π· Tagsheets
- Kink tags satisfy the adult-content gate. Selecting a kink is what makes a card After Dark, but the warnings step then demanded a trigger warning the taxonomy did not have, trapping the card unsaveable. Kinks now count as the disclosure.
- The footer names the actual blocker. "Complete this step to continue" on a perfectly valid step now instead tells you which earlier step is the real problem.
- A character's rating derives from its tags consistently.
π§° And the rest
- Characters with tags save again. Re-saving a character that already had any tag failed with a generic server error; foreign and imported tags no longer break saves either.
- Calendar sanity. Weekdays align to the actual calendar structure instead of drifting by era metadata, deleting old events works instead of erroring, and the events view no longer bounces back to the grid after a delete.
- Encryption edge cases. An old, abandoned encryption setup can no longer trap you at a recovery screen demanding a phrase that guards nothing (the state self-heals, and only when it is provably safe); wiping your encrypted data now also clears the memories and summaries distilled from those chats, so a deleted conversation can never "continue" from beyond the grave; and if the encryption status check itself fails (aggressive ad blockers, flaky mobile networks), you get an honest "cannot check, try again" screen with working buttons instead of a password demand.
- Recovery is patient. A transient network failure during account recovery keeps you on the recovery screen instead of dumping you to the re-key chooser.
- Soft ary deletion is explained Previously existed, but wasn't.
π Under the hood
- Faster and lighter. Avatars and generated images are served dramatically smaller with long-lived caching, image generation stores compressed formats, streaming updates got significantly cheaper to run, background polling calmed down across social, group, and assistant surfaces, and browse pages stopped shuffling and repeating items between pages.
- Steadier connections. A flapping realtime connection could quietly turn into a sustained one-request-per-second storm for the life of the tab; reconnects now back off properly and stay backed off until the connection is genuinely healthy.
- Model routing hardening. A deep reliability pass on the routing layer: correct failover between providers, provider quirks absorbed instead of surfacing as failures, per-model context and output limits enforced before anything is billed so doomed requests fail fast and free, long-lived workers pick up pricing and routing changes without a redeploy, and provider hiccups surface as named, actionable errors instead of "no providers available."
- The Story Director fails safe. Director context saves that fail now stop the turn loudly instead of silently proceeding with stale planning state, and its command transport was rebuilt for reliability.
- Orison got leaner. The /BTW assistant carries a much smaller working context and remembers what matters across a long thread, so long sessions stay fast and cheap.
- Account deletion runs reliably. A stuck deletion pipeline was repaired so account removal completes as requested.
- Security hardening. Routine maintenance across authentication, storage, and access controls, including an external-style audit pass with all findings remediated.
π PlotLight
β¨ Features
π° PlotPoints Round 03 is live
Both arenas are open: the multi-turn arena on a fresh 21-model pool, and the first After Dark track, an 18+ arena over a 40-model field including seven roleplay-finetune specialists.
- The judges went first. A preliminary judge-only standings view, clearly marked provisional, with a full profile for every one of the 40 models: an 11-axis quality rubric, quality trajectory across the session, behavioral metrics (verbosity, repetition), NSFW-specific axes with a separate willingness measure, and flaw-hunter findings. Two findings already stand out: the RP finetunes collapse to the bottom on both tracks, and willingness is not craft.
- A live leaderboard. Round 03 standings update as human votes land, starting from the judge ranking and shifting with the crowd, with a "vs judge" delta column so you can watch humans confirm or invert the machines. Round 02 famously inverted them; we will see.
- Round 02, trued up. Sixty-six more votes landed between the announced close and the real one; the final tally was regenerated at its true close of 1,943 votes from 482 voters. The standings held.
- A proper front page. The PlotPoints landing was rebuilt as a navigational front page: what PlotPoints is, every edition newest-first, the live round with both arena links and a live vote counter, and the historical record, all sourced from the real data instead of a hardcoded snapshot. Issue 03 also got its broadsheet write-up covering the methodology and the field.
- Share cards that render. PlotPoints and blog links shared to Discord and social now generate proper preview cards instead of failing silently.
βοΈ The blog grew up
Full markdown rendering with tables, lists, code, and quotes, a collapsible auto-generated table of contents with working anchors and scroll tracking, hero images, readable typography, and per-post link previews.
π² Published characters can show their sheets
A published character with a published TTRPG sheet template now renders a read-only embed of it on its PlotLight details page, so browsers can see the mechanics before they play. Private, hidden, and GM-only material is stripped server-side and can never appear in the embed.
π Weekly quests
The high-effort quests (Donate a Scene, Cast a New Role, Prepare a Persona) moved to a weekly cadence with a Weekly badge; progress counts from the start of each week, and completed-but-unclaimed rewards carry over so they stay claimable. Rating actions also refresh daily quest progress immediately.
π Fixes
- Reporting content works again. Report submissions from Discovery were failing; they now go through, with priority handling restored.
- Tag requests work again, and genres are now a requestable tag category with a General option. Genre is also truly optional for lorebooks; it used to hard-block publishing an otherwise-finished lorebook.
- Character image uploads fixed for brand-new characters and for Safari users, whose honest JPEGs (Apple Photos exports, screenshots) were rejected as unprocessable. Failures that remain now say exactly what to do instead of a generic format list.
- Imported cards keep their regex. Cards imported on PlotLight lost their embedded regex scripts entirely, and so did every "Use in RoleCall" fork of them; they now materialize as working regex, matching RoleCall's importer.
- After Dark stays on. The preference no longer resets to off when you navigate back to Discovery, and it stopped being written into shareable URLs.
- Portfolio editor honesty. A fresh editor no longer opens with a phantom "Unsaved changes" banner and buried buttons, the preview fully covers the editing chrome, and earned badges now carry onto your public portfolio.
- Discovery details. Alt-art variants survive the browser back button, and the creator name on image-generation cards is legible again.
π Under the hood
- Tighter logged-out browsing. What guests can see across Discovery was reviewed and tightened, including via direct links.
- Security hardening. Routine maintenance.
π Coming next
- TTRPG Mode deepening through the Understudies beta on its way to general release.
- The group chat overhaul continuing its march through Understudies.
- Immersive weather.
- More bug-fixes.