Inception Space UI
The browser UI for Lucas Academy Inception Space: the deep-space museum, guided demo, Reader, room browsing, and the local room editor.
This repository is intentionally client-only. It contains no API server, database migrations, deployment credentials, R2 write credentials, .lpp authoring sources, or high-resolution production masters.
Local development
npm install
npm run dev
Open the URL printed by Vite (normally <http://localhost:5173/>). Development uses repository-local runtime assets by default. To exercise the verified R2 delivery path, add ?assets=r2; to force local assets in any build, add ?assets=local.
The API is optional for local UI development. With no API running, the museum, demo, Reader, room browsing, and local editor still work. Network-backed features such as sign-in, shared presence, saving, and server-side uploads may show an explicit unavailable/refused message.
To point the UI at an API, copy .env.example to .env.local and set:
VITE_MUSEUM_API=https://your-api.example.com
Verification
npm run check
This type-checks and builds both entry pages, prerenders public discovery pages, runs the client test suite, and validates the guided demo.
Repository boundary
.ispack server upload, review, merge, R2 publication, and API extraction are not acceptance requirements for this UI repository. The existing connected controls may remain as a best-effort API client, but an unavailable API must not block the static visitor experience or local development.
See [docs/UI-REPOSITORY-SCOPE.md](docs/UI-REPOSITORY-SCOPE.md) for the frozen scope and ownership boundary.
Documentation
[docs/README.md](docs/README.md) is the map. The short version:
- [docs/OPEN-WORK.md](docs/OPEN-WORK.md) — everything unfinished, in one place.
- [docs/FUTURE-DIRECTIONS.md](docs/FUTURE-DIRECTIONS.md) — recorded, not started.
- [docs/CROSS-REPO-HANDOFFS.md](docs/CROSS-REPO-HANDOFFS.md) — finished here, owed by the API, the database, or R2.
- [docs/archive/](docs/archive/README.md) — the record of work that shipped, kept for the decisions and the rejections in it. Not maintained.