Dream Multiverse — Mira's 5 surreal dreams across portal-connected dreamscapes
A 3D PORTAL demo: Sleeper Mira's 5 surreal dreams — FLOATING ISLAND BAKERY · UNDERWATER LIBRARY · GIANT MUSIC BOX · UPSIDE-DOWN CITY · STARLIGHT GARDEN — connected by glowing torus portals from her bedroom anchor frame. Camera auto-portals every 90s with iris wipe.
What this is
A 3D recreation of Mira's five surreal dreams, anchored to her bedroom in the real world. Six worlds total run simultaneously: the bedroom frame plus five dreamscapes each with its own palette, sky, and fog. Floating Island Bakery is cloud-pink — pastries grow on trees and bunnies knead bread; the bakery itself has an oven, a river, a dock, a garden, and a tree. Underwater Library is teal-violet — books float past as jellyfish read them; sub-locations include kelp shelves, an abyssal cliff, a treasure chamber, a coral palace, and a chandelier hall. Giant Music Box is gold-rose — Mira is small and dances on piano keys; it has a clockwork heart, a rotating drum, a velvet curtain, a music-stand, and a porcelain ballerina. Upside-Down City is cobalt-orange — buildings hang from clouds and rain falls upward; it has skyscrapers, an inverted street, a cloud platform, an upside-down bus stop, and a chimney waterfall. Starlight Garden is deep-purple — stars are flowers and constellations grow on vines; it has a constellation arbor, a star-pond, a moonflower bed, a comet trail, and a galaxy fountain. Portals between worlds are glowing torus-and-disc geometry that pulses; the camera auto-portals every 90 seconds with an iris-wipe transition. Mira plus five named dream-companions — Bunbun the bread-bunny, Lumira the jellyfish-librarian, Stell the music-box dancer, Inverra the upside-down child, Astra the constellation-gardener — cross between worlds with the camera. Twenty-three director cameras cycle. Eighty instanced dream-creatures (16 bunnies, 16 jellyfish, 16 dancers, 16 pigeons, 16 fireflies) populate the dreams.
The dreams remember. localStorage saves which dreams have been visited and a dream-fragment counter between reseeds. After ten minutes a new dream cycle begins; the sleeper-log panel surfaces a new fragment.
You don't play it. You watch it. And it remembers.
Why this is mind-blowing
The chyron is the secret weapon: "Cycle 7 — Mira dreams again of Bunbun's bakery. Lumira waits in the underwater library with a new book." That single line stitches three worlds in one beat — Mira at the bedside-close camera with her eyes closed, Bunbun on the bakery wide camera kneading bread that becomes the same shape Mira's pillow has, Lumira on the underwater-library camera floating up holding a glowing volume titled with the previous cycle's fragment. Multiply that by five distinct dreamscapes with their own palette/sky/fog, glowing torus portals pulsing between them, an iris-wipe camera auto-portal every 90 seconds, twenty-three director cameras, and a sleeper-log panel that fills with one new dream-fragment per cycle, and you've got a Studio-Ghibli-cozy stream that genuinely earns its multiverse scope. Tone is dreamy and never scary — pure Spirited Away wonder.
Prompt
Build a single-file HTML page that recreates "5 surreal dreams of a sleeper named MIRA" as a continuous 3D autoplay world with PORTAL multiverse mechanics.
CONCEPT: Mira sleeps in her bedroom (real-world frame). The camera enters her dreams and visits 5 surreal dream worlds in sequence: (1) FLOATING ISLAND BAKERY where pastries grow on trees and bunnies knead bread, (2) UNDERWATER LIBRARY where books float and jellyfish read them, (3) GIANT MUSIC BOX where Mira is small and dances on piano keys, (4) UPSIDE-DOWN CITY where buildings hang from clouds and rain falls upward, (5) STARLIGHT GARDEN where stars are flowers and constellations grow on vines. After visiting all 5 dreams, returns to bedroom, then portals to next dream cycle. Dreamy + Studio Ghibli + Inception + Spirited Away vibe.
Hard constraints:
- One HTML file, < 200KB.
- three.js r0.160.0 from unpkg, IIFE strict, full disposable cleanup, reseed every ~10 min.
- First body line: <!-- ROUND17_PORTAL v1 -->
- localStorage memory under key `mira_dreams_memory_v1` — saves which dreams have been visited + dream-fragment counter.
Round 17 PORTAL spec:
- 5 dreams + 1 bedroom = 6 worlds, each with own palette/sky/fog
- Portal travel via glowing torus+disc that pulses; camera auto-portals every 90s with iris-wipe
- 5 named dream companions cross worlds; each appears in their home dream + occasionally visits Mira's bedroom
- 100+ named: Mira + 5 companions + 80 instanced dream-creatures + 30+ name pool
- 23 director cameras
- Per-world HUD: "DREAM 3 OF 5: GIANT MUSIC BOX · DREAM CYCLE 7"
- Cross-system chyron stitching multiple dreams
Tone: dreamy, hopeful, surreal-cozy. NOT scary. Pure Spirited Away wonder. No real-world celebrities.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- How to portal a camera between 6 distinct dreamscapes in one demo with smooth iris-wipe transitions and palette/sky/fog swaps
- How to model 5 surreal dream environments with primitive geometry — pastries-on-trees, books-as-jellyfish-prey, piano-key floors, upside-down rain — under 50KB
- How to use localStorage to give a sleeper named Mira a persistent dream-fragment log across reseeds where each cycle adds a new fragment to her sleeper-log panel