Saga Grand Hotel — The Brimsworth Grand: 3-act 'lost dog' mystery with 200+ guests + agentic plan trees
A 3D EMERGENT SAGA demo: The Brimsworth Grand Hotel — 200+ guests + staff orchestrate a 3-act 'lost-and-found dog' cozy mystery with visible AGENTIC PLAN TREES, NEURAL ATTENTION GLYPHS, SHARED LIVE WORLD STATE, and LIVE NEWS TICKER. ACT 3 climax: Pip is found in Concierge Marlowe's umbrella stand — and has had puppies. Like Grand Budapest Hotel meets Knives Out.
Built with:three.js r0.160 (single file)5 hotel zones × 3-act narrative + 4 search-team timelineslocalStorage Grand Hotel Saga + shared world state + live news ticker
#threejs#emergent-saga#autoplay
## What this is
A 3D recreation of The Brimsworth Grand Hotel, a fictional Wes-Anderson-style grand hotel where 200+ guests + staff orchestrate a 3-act cozy "lost-and-found dog" mystery. Five hotel zones each in their own palette: Grand Lobby (concierge desk + chandelier), Conservatory (glass dome + ferns), Kitchens (back-of-house copper), Ballroom (gilded floor), Rooftop Garden (terrace + tea service). 29 director cameras cycle (lobby-wide, concierge-pov, search-team-A/B/C/D-follow, conservatory-glass, ballroom-overhead, hidden-puppies-reveal, umbrella-stand, bytes-the-cat, captain-crunch). 202 named entities (50 guests + 30 staff + 2 recurring + 80 ambient + 40 name pool). The story is a 3-act emergent narrative. ACT 1 (setup): a guest reports their dog Pip missing from the lobby. ACT 2 (rising): four search teams form across the five hotel zones, alliances and cozy capers ensue, plan trees expand. ACT 3 (climax minute 5-7): Pip is found in Concierge Marlowe's umbrella stand — and has had FOUR PUPPIES. The hidden-puppies-reveal camera fires. Drama meter spikes to 100%. Denouement (minute 9): the hotel celebrates with afternoon tea. The AGENTIC PLAN TREE PANEL top-right shows the focused character's nested goal hierarchy with expand/contract animation and per-node progress bars. NEURAL ATTENTION GLYPHS draw 6-10 thin dashed SVG lines connecting NPCs who are "thinking about each other" with opacity = attention weight, refreshed every 1.6-2.4 seconds.
The hotel *remembers AND broadcasts*. localStorage saves `grand_hotel_saga_v1` (cycle, act, dramaPct, twistFired, characters tracked, mysteryIdx) AND writes/reads SHARED WORLD STATE `megaverse_world_state_v1` (weather/season/time-of-day, authority rotates every cycle), AND writes to LIVE NEWS TICKER `megaverse_news_v1` (capped at 50 entries, marquee crawl). Crossover chyron reads `recurring_cast_v1`, `eternal_brew_v1`, `meridian_cruise_v1`, `whatifs_museum_v1`, `wedding_3paths_v1`. Each ten-minute reseed rotates the mystery (lost pug → missing brooch → vanished letter → ballroom-cat → kitchen ledger).
You don't play it. You watch it. And it broadcasts to twelve other demos.
## Why this is mind-blowing
The chyron is the secret weapon: "Act III, minute 5:32 — Search Team C (Concierge Marlowe + Captain Crunch the husky) finds Pip behind the umbrella stand. Pip is not alone. Four tiny tails wag. Mr. Whitford's pocket-square is now a baby blanket." That single line stitches three search teams AND four crossover demos in one beat — Concierge Marlowe on the hidden-puppies-reveal camera with the umbrella-stand light flaring (drama ladder rung 8 of 8 "PUPPIES REVEALED", recurring cast marlowe +1, plan tree branch "find Pip" marks complete with checkmark animation), Captain Crunch on the captain-crunch close camera with his husky tail wagging at the four tiny tails (recurring cast captain_crunch +1, attention glyph from Crunch to puppies thick), and Mr. Whitford on the search-team-C-follow close camera with his linen pocket-square pulled out and tucked under the puppies (recurring cast whitford +1, drama spikes news ticker push: "Whitford donates pocket-square as baby blanket"). The mid-cycle twist is the heart: at minute 5, the hidden-puppies-reveal camera fires, four puppies are revealed, the drama ladder spikes to 100%, the news ticker publishes "GRAND HOTEL: PIP FOUND WITH FOUR PUPPIES — concierge donates umbrella stand", and the entire megaverse can read this beat through `megaverse_news_v1`. Multiply that by 202 named entities each with brain panels, 5 hotel zones, 29 director cameras, an AGENTIC PLAN TREE PANEL with hierarchical goals, NEURAL ATTENTION GLYPHS visible at all times, SHARED WORLD STATE syncing weather across the megaverse, a LIVE NEWS TICKER both publishing and crawling other demos' headlines, an explicit 3-act narrative with progress bar, and a hidden-puppies mid-cycle twist that becomes the news for every other demo, and you've got a Grand-Budapest-Hotel-meets-Knives-Out stream that genuinely earns its emergent-saga scope. ALL FICTIONAL.
Prompt
Build a single-file HTML page that recreates "a fictional Wes-Anderson-style grand hotel orchestrating a 3-act lost-and-found dog mystery" as a continuous 3D autoplay world with AGENTIC PLAN TREES + NEURAL ATTENTION GLYPHS + SHARED WORLD STATE + LIVE NEWS TICKER.
CONCEPT: THE BRIMSWORTH GRAND HOTEL — Grand-Budapest-Hotel-meets-Knives-Out tone.
Hard constraints:
- One HTML file, < 200KB.
- three.js r0.160.0 from unpkg, IIFE strict, reseed every ~10 min.
- First body line: <!-- ROUND20_SAGA v1 -->
- localStorage `grand_hotel_saga_v1`.
All R16+R17+R18+R19 spec retained. R20 NEW:
1. AGENTIC PLAN TREE PANEL — nested goal/sub-goal/step/action with progress bars
2. NEURAL ATTENTION GLYPHS — attention-dot lines connecting NPCs
3. SHARED WORLD STATE — megaverse_world_state_v1 (weather/season/time)
4. LIVE NEWS TICKER — megaverse_news_v1 append-only stream
5. 3-ACT NARRATIVE — climax at minute 5-7, denouement at 9
6. 25+ director cameras
7. 200+ named entities
8. MID-CYCLE TWIST at 5min — Pip found WITH PUPPIES
Tone: COZY. ALL FICTIONAL.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
How to render a hierarchical AGENTIC PLAN TREE with expand/contract animation and per-node progress bars
How to draw NEURAL ATTENTION GLYPHS as SVG overlay with opacity = attention weight
How to sync 12+ demos via SHARED WORLD STATE (megaverse_world_state_v1) with weather authority rotation