Inception Space — Deep-Space Museum Product Direction
- Status: owner product direction, recorded 2026-08-01. Core implemented same day at
index.html?world=museum(Three.js-first per the benchmark evidence; engine ADR still open): procedural deterministic starfield skybox (NASA SVS swap-in pending download approval), endless glass corridor with air walls and portals on both side walls (2 open rooms + 4 sealed slots), per-room streaming (load at 9 m, unload at 22 m, only the occupied room's six faces repaint), zero-g flight with first/third-person toggle (V), the original Lucas Academy Baby Astronaut avatar (GLB Idle/Walk/Float/Dive loops, mannequin fallback), and the desktop-2/mobile-1 DPI policy (?dpr=override). Multiplayer (§10) and all [FUTURE] items remain design-only. Owner QA revision (same day): rooms are now fully DETACHED pocket spaces — the portal teleports (touch the membrane) instead of being a physical doorway, the corridor glass is sealed (no wall crossing by construction), nothing of a room renders or loads until entry, a return portal floats inside each room, portals sit at glass-segment midpoints (never on seams), the third-person camera is clamped inside the current space, and flight feel was tuned +20% accel / −20% damping. - Scope: refines the world/visual/interaction direction on top of
docs/INCEPTION-SPACE-EXECUTION-PLAN.zh-en.md. The plan's privacy layers,.lprpipeline, provenance policy, and decision gates all still apply. - Legend: [BUILD] = active direction for upcoming phases. [FUTURE] = recorded now, explicitly NOT executed yet.
- Team split (owner 2026-08-01): CC owns the main program/architecture; Codex owns art-side polish and parameter/visual fine-tuning. Structural changes, protocols, and data formats stay with CC; shader/material/color tweaking passes belong to Codex.
1. Theme — an art museum in deep space [BUILD]
The museum floats in deep space: a minimal, futuristic, non-photoreal station whose rooms hold the students' living artworks. This replaces the generic "future sci-fi museum" phrasing with a concrete setting; identity safety, curation, and the three authorization layers are unchanged.
[FUTURE — record only] Gameplay expansion on top of the museum (exploration objectives, light game mechanics). Not designed or built yet.
2. Deep-space backdrop — real imagery is available [BUILD]
Real public-domain / free-license deep-space imagery exists and fits the provenance policy (plan §4.4), so owner-generated art is a fallback, not a requirement:
| Source | License | Best use |
|---|---|---|
| NASA SVS Deep Star Maps (svs.gsfc.nasa.gov/4851) | Public domain (NASA/US Gov) | Primary skybox: full-sky equirectangular star map (Gaia/Hipparcos based), published up to 16k+ — made exactly for celestial backgrounds |
| NASA Image and Video Library (images.nasa.gov) | Public domain, courtesy credit "NASA" | Nebula/galaxy photos as window vistas or room accents |
| Webb (webbtelescope.org) / Hubble (hubblesite.org, STScI) | Free to use, credit e.g. "NASA, ESA, CSA, STScI" | Hero visuals seen through glass |
| ESA/Hubble (esahubble.org), ESO (eso.org) | CC BY 4.0 — attribution required, keep a license snapshot | Additional high-res nebulae |
Notes: single telescope photos are narrow-FOV flats — they work as vista planes/portal art, not as a full sky; the SVS star map is the only source here that wraps correctly as a skybox. Every downloaded file gets a content/inception/assets/PROVENANCE.md entry (source URL, date, license snapshot, sha256) like the Quaternius entries. Composite skybox (SVS stars + a few nebula sprites) is Codex-tunable later.
3. The endless corridor [BUILD]
- The corridor has no visible beginning or end — it reads as extending to infinity in both directions. Invisible air walls clamp movement well before the visual limit, so players can never reach or see a terminus.
- Portals open along BOTH side walls, not at the ends. Each portal leads to one art room; new rooms extend the corridor sideways indefinitely. (The current bake-off slice has an end-wall portal — that layout is superseded for the product world.)
- Corridor material: sci-fi glass — transparent/translucent panels with emissive tech trim, so deep space is visible through the walls, floor, and ceiling. Implementation sketch: skybox + transparent PBR/standard material with fresnel-ish rim (Codex tunes), repeated corridor segments + distance fog/fade to fake infinity cheaply.
4. Per-room independent loading [BUILD]
Each room loads independently when entered (portal = loading boundary) and unloads/pauses when left, so total resources stay bounded no matter how many rooms the class adds:
- Room = self-contained bundle: geometry manifest + props + artwork surfaces (
.lprpackages later) + provenance. Props are solid: their footprints become world AABBs and the flight step pushes the body out along the shallowest axis (low props can be landed on, tall ones block). - Entering a portal streams that room in; leaving disposes GPU resources (plan Phase 3 disposal rules) and fully stops its Live Painting work (frame-budget scheduler, plan §5.4).
- The corridor itself stays tiny: glass shell + portals + skybox.
- This maps 1:1 onto the multiplayer sharding model (§10).
5. Scale and resolution strategy [BUILD]
- Avatar much smaller relative to the space; rooms larger. The point is spatial grandeur — museum halls, not domestic rooms. Concrete ratios are Codex-tunable; the manifest keeps avatar physical size ~1.8 m and scales the architecture up instead, so real-world proportions stay believable.
- Artwork texture density: 1024² per face is the default (owner QA 2026-08-02: sharp and smooth on both desktop and iPad). On a 16 m wall that is 64 px/m. The Menu's graphics switch offers High (1024², dpr ≤2) and Low (512², dpr 1) as a safety valve on weaker devices; the choice persists in localStorage and
?arttex=still overrides for experiments. - Device pixel ratio policy: desktop renders at high DPI (dpr up to 2); iPad and phones render at low DPI (dpr 1). Phones are treated the same as iPad — no phone-specific rendering optimization work beyond that.
6. Zero gravity and free view [BUILD, controls to be prototyped]
- Physics: zero-gravity movement — the avatar floats and drifts with damping instead of walking on a floor plane.
- Camera: free view with a first-person / third-person toggle.
- Control scheme (owner-specified 2026-08-01 QA r2, IMPLEMENTED):
- Desktop look: FPS-style pointer lock — click captures the mouse (cursor stays centered), Esc releases it so the mouse can click UI. No drag-look.
- Desktop move: WASD/arrows move in the horizontal plane and combine with the vertical control. Space floats upward by default; when the avatar reaches the ceiling during the same press, Space switches to diving until released. The next press starts upward again.
- iPad/touch: left virtual joystick = horizontal move; touch-drag anywhere else = look; dedicated Float and Dive buttons combine with the joystick; Menu pauses and frees the screen for taps. On desktop, Esc opens the same Menu.
- The default Baby Astronaut GLB now carries purpose-built
Idle_Loop,Walk_Loop,Float_Loop, andDive_Loopclips. The renderer blends by actual horizontal/vertical motion, so a blocked control does not leave the avatar in the wrong pose. Quaternius remains a retained benchmark asset. - [FUTURE — record only] Per-character flight tuning (owner 2026-08-01): acceleration/damping/max-speed could vary by avatar/character so different bodies feel different in zero-g. Not implemented; revisit when avatar variety lands.
- Bench/scripted-tour logic must grow a 3D waypoint mode when this lands.
6b. Free web editors for models and collision volumes [research, owner question 2026-08-02]
No purchase needed; the practical split is models vs scene/collision:
| Need | Tool | Why |
|---|---|---|
| Low-poly models, kid-usable | Blockbench (free, GPL, runs at web.blockbench.net) | Browser-based, exports glTF/GLB, already the natural fit for the [FUTURE] PropHunt modeling branch |
| Character sculpting, tablet | Nomad Sculpt | The most approachable touch/stylus clay workflow for students; export the approved sculpt for cleanup and rigging |
| Character sculpting, desktop | Blender Sculpt (free/open source) | Full sculpt, retopology, UV, material, rigging, animation, and GLB export pipeline |
| Scene layout + box colliders | Three.js Editor (threejs.org/editor, free, MIT) | Browser-based, matches our Three-first runtime, exports glTF/JSON; lay out boxes named collider_* and import them as our AllowedBox list |
| Full scene editor with physics shapes | PlayCanvas Editor (free tier) | Most complete web editor, but projects live on their servers and it wants to own the runtime |
| General desktop 3D | Blender (free/open source) | Best all-in-one modeling and collision-proxy authoring option, but not web |
Recommendation: keep museum.js as the source of truth and add a small importer that converts an exported scene's collider_* boxes into manifest volumes. That keeps the declarative-data boundary (AGENTS.md: no runtime code from authored content) while giving a visual editing loop. Nothing is built yet — this is the recorded answer, not a commitment.
For future student-edited avatars, the recommended path is Nomad Sculpt or Blender Sculpt for shape -> Blender for retopology, UV/material cleanup, rigging, the four named loops, and GLB export -> teacher review -> import. Current Pilot acceptance limits are at most 20,000 triangles, at most 80 joints, at most three reviewed embedded textures, Y-up meter scale, feet at the origin, and the named clips Idle_Loop, Walk_Loop, Float_Loop, and Dive_Loop. A student may stylize and recolor a fictional character, but a public model must not embed a face photo, realistic face scan, private identity, arbitrary script, or unreviewed third-party asset.
7. Division of labor [BUILD — process note]
CC (Claude Code): main program — architecture, world/room/loading systems, protocols, data formats, tests, benchmarks. Codex: art effects and parameter micro-tuning (materials, colors, glass/fresnel, fog, skybox composition, scale ratios). Codex edits should stay inside clearly marked tunable-parameter surfaces; structural refactors route through CC.
8. Avatar poses [BUILD + FUTURE]
The Baby Astronaut now ships and blends four core states: idle, horizontal walk, upward float, and downward dive. Richer vocabulary (sit, crouch, gestures, viewing-art idle variants…) remains future work; the blending infrastructure is ready, but those clips are not scheduled yet.
9. "PropHunt" branch idea [FUTURE — record only, needs 3D modeling]
A sibling experience to Painterly Chameleon with the same hide-and-seek objective, but no painting: hiders practice 3D modeling by building a prop that blends in among a room full of props, then hide as it. Requires the kid-facing 3D modeling toolchain (Blockbench-class) and prop libraries; park until the museum core ships. Related plan hooks: §4.4 asset policy and the Phase 4 editor.
10. Multiplayer server — WebSocket, multiple players [BUILD direction; implementation gated]
The server must support WebSocket multiplayer: several students share the museum live (see each other's avatars move through corridor and rooms).
- Presence model: avatar transform + zone + recolor state only. No open chat, no free text — consistent with the Pilot safety rules in AGENTS.md.
- Room state joined this channel on 2026-08-06 (owner): a room's floor belongs to the room, so it is voted on rather than taken. A client may send one enum — which of three floors it wants — and the server owns the tally, the minute-long clock and the result, telling every arrival what the room stands on. Still no free text: a vote is one of three known words. Personal choices (Space Travel, graphics, gravity) stay personal and never travel.
- A vote names its TOPIC from 2026-08-29 (owner): The Manifold's orb asks the same way about the Golden Funnel's paint and about which of the two reviewed black holes it ends at. One enum per question, each question's answers its own whitelist and disjoint from every other's, and an absent topic still means the floor — so an older client and an older server both keep working. The server owns each tally exactly as it owns the floor's; until it does, a client's unanswered ask falls back to deciding alone.
- Sharding: one logical channel per room + one for the corridor, matching §4's per-room loading; a client only subscribes to the space it occupies.
- Candidate stacks (decision deferred to the backend ADR, plan Phase 5):
- Cloudflare Durable Objects — fits the repo's existing Worker/wrangler stack; one DO per room is the textbook pattern; no new infra vendor.
- Colyseus on Node — the team already runs it in snake-lab/crew-lab; strong room semantics, but adds a second hosting model to this product.
- Authorization: room membership checks on socket join (personal_draft / class_shared boundaries hold in realtime too).
- Constraint unchanged: no cloud resources are created until the owner approves the backend data model (AGENTS.md); until then multiplayer is designed, not deployed. Local wrangler dev can host a DO prototype without any remote resource.
What this changes vs. the current bake-off slice
The Phase 1 slice (corridor→end portal→cube room, gravity walking, 20 props) remains the engine-comparison artifact and stays as-is. The items above reshape the Phase 3 "final world foundation": endless glass corridor + side portals, deep-space skybox, per-room streaming, zero-g controller, bigger rooms/smaller avatar, DPI policy, and the multiplayer presence layer. .lpr (Phase 2) is untouched by this direction and remains the next engineering phase.
Explicitly not doing now
- No gameplay mechanics (§1 future), no extra poses (§8), no PropHunt (§9).
- No more benchmarking for now (owner 2026-08-01); the engine ADR waits — current MacBook data leans Three.js (see
docs/benchmarks/ENGINE-BAKEOFF.md), and the product-shaped scene above is a better final test bed than the current slice. - No cloud resources, no deployment, no real student data.