September 11, 2026 · 3 min
The stage tried to pick the ending
Ending Revoked Chapter I is live. The scar was a stage that wanted a vote, saves that wanted to guess, and media that wanted to rewrite memory.
Ending Revoked opens in a waiting room that says HERO. Chapter I is live at endingrevoked.com. Progress saves as you go.
The scar was not the premise. The scar was a frame that wanted a vote.
We split the build on purpose. Ink holds the story. React takes what the player meant. Phaser draws the stage. Animation and audio do not choose branches.
That sentence is easy in a design doc. It is harder when a transition callback is sitting right there, warm, holding a completion event, one careless continue away from advancing the graph because the tween finished prettily.
We caught the stage reaching for story control more than once. A wipe ended. A clip ended. Something in the presentation layer knew the beat was over and tried to be helpful. Helpful is how you get a Director who wins by accident.
So the rule got louder. Phaser presents facts. It does not submit them. React submits. Ink decides. If the picture and the branch disagree, the picture loses.
Saves had their own bad manners.
Schema-3 envelopes in IndexedDB are atomic on purpose. A half-written save is not a save. Stale tabs do not get to guess. Revision guards sit between “I closed the laptop” and “I corrupted the run.”
The sharp edge showed up when the story build moved under an in-progress preview. The friendly instinct is migration: map the old envelope onto the new graph, smile, pretend nothing happened. We refused the smile. Guessed migrations are how you invent evidence the player never found.
Instead the player gets an explicit path: start the updated preview. Raw envelopes archive. The current run does not hallucinate a past.
Media tried a quieter trick.
Stage art and voice live on Bunny under versioned paths. preview/v2 is a pin, not a mood. A ship that overwrites yesterday’s WebP in place will rewrite the room under someone mid-rebuttal. They will not file a bug. They will just feel the floor tilt.
Immutable versions are boring until the first time you almost skip them.
None of this is visible when the opening lands. You tap through Arrival. You meet a Director who wants the ending. You pick up evidence or you do not.
Underneath, the stage keeps almost voting. The save keeps almost guessing. The CDN keeps almost editing memory.
We keep telling them no.
The applause stays provisional.