scene: background-scene host (ridge on the login screen) #26

Closed
nibu wants to merge 2 commits from nibu/scene-host into nibu/ridge-scene
Member

Stacked on #21 (base nibu/ridge-scene), so the diff is only the host.

Nothing mounted the scene before (startBackgroundScene had no caller) and config.json ships backgroundScene.tier: off, which is why the #21/#23 previews looked unchanged.

  • BackgroundScene mounted once in App.tsx under ClientConfigProvider; host.ts mountBackgroundScene owns async start, dispose-before-resolve race, login() on an existing fallback session.
  • Fixed full-viewport wrapper (z-index -1, pointer-events none: a z-index 0 box would paint over the opaque logged-in app); auth ground transparent only while html[data-scene] is set, i.e. a scene is actually running.
  • Tier off (main default) changes nothing. Preview: CINNY_BASE=/void/rat-scene-host/ npm run build:preview writes tier low into dist/config.json, no style (ridge).

Tested: scene + 7 new vitest tests pass (105), eslint, prettier, vite build; headless desktop Chrome on a local server under the preview base shows the ridge scene behind the login card.
Not tested: phone, frame timing, real login, post-login app, mesh/raymarch (SceneStyle has no 'mesh' until #23). login() after a fresh login is not wired (ridge login() is a no-op; only raymarch cares).

Not for merge: preview and review.

🤖 Generated with Claude Code

Stacked on #21 (base nibu/ridge-scene), so the diff is only the host. Nothing mounted the scene before (startBackgroundScene had no caller) and config.json ships `backgroundScene.tier: off`, which is why the #21/#23 previews looked unchanged. - `BackgroundScene` mounted once in `App.tsx` under ClientConfigProvider; `host.ts` `mountBackgroundScene` owns async start, dispose-before-resolve race, `login()` on an existing fallback session. - Fixed full-viewport wrapper (z-index -1, pointer-events none: a z-index 0 box would paint over the opaque logged-in app); auth ground transparent only while `html[data-scene]` is set, i.e. a scene is actually running. - Tier off (main default) changes nothing. Preview: `CINNY_BASE=/void/rat-scene-host/ npm run build:preview` writes tier low into dist/config.json, no style (ridge). Tested: scene + 7 new vitest tests pass (105), eslint, prettier, vite build; headless desktop Chrome on a local server under the preview base shows the ridge scene behind the login card. Not tested: phone, frame timing, real login, post-login app, mesh/raymarch (`SceneStyle` has no 'mesh' until #23). `login()` after a fresh login is not wired (ridge login() is a no-op; only raymarch cares). Not for merge: preview and review. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
scene: mount the background scene at the app root
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Failing after 1s
Build pull request / Build pull request (pull_request) Failing after 3m7s
Check PR title / lint (pull_request_target) Failing after 1s
0ab0e77a20
BackgroundScene hosts the scene behind the app (fixed, z-index -1, tier off
renders nothing); mountBackgroundScene owns the async start/dispose race and
calls login() when a session already exists. Signed-out screens go transparent
while a scene runs. build:preview sets backgroundScene.tier low in dist.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
auth: translucent bubble-style login card while the scene runs
Some checks failed
Build pull request / Build pull request (pull_request) Failing after 3m35s
CLA Assistant / CLAssistant (pull_request_target) Failing after 1s
3f6d27a1f9
Under html[data-scene] the card is a blurred 85% pane in the sky bubble colour
(--sky-bubble, fallback #0d1a26), message-bubble radius, no visible border, and
shorter padding/gaps so more scene shows on a phone. Tier off is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Closed: superseded. The background-scene host (BackgroundScene.tsx, host.ts) is already on dev.

Closed: superseded. The background-scene host (BackgroundScene.tsx, host.ts) is already on dev.
nibu closed this pull request 2026-11-10 22:01:14 +00:00
Some checks failed
Build pull request / Build pull request (pull_request) Failing after 3m35s
CLA Assistant / CLAssistant (pull_request_target) Failing after 1s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!26
No description provided.