Repository navigation
Ground the landing sculpture with studio reflections and stable loading - #1563
Merged
Merged
Conversation
lovasoa
enabled auto-merge
October 27, 2026 09:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The landing sculpture used saturated cyan bands, a translucent backdrop that painted a gray column over the light section, and a floor whose weak shading gave the database little sense of contact.
Build a visible textured studio floor with surface relief, contact occlusion, and a reflection of the actual rotating sculpture. A 512 × 512 planar reflection is Gaussian-filtered to 256 × 256 in linear light, using the shared blur shader. Use one dark satin gunmetal finish for the lid, shell, and rims: the same base color, metalness, roughness, environment intensity, and machining strength. Lower key/softbox intensity and environment response so rotating the sculpture produces shaded gray-blue highlights without broad near-white patches. Reposition the white key and blue area lights to light the ground, and remove the artificial point-light hotspot from the lid. Keep the opening controls and SQL ribbon above the ground plane.
The desktop opening has a compact, left-aligned headline and room around the sculpture and its floor. Colors and surface treatments stay in the existing scene/CSS modules, with the studio palette scoped to the landing page. The documented rendering script regenerates the static preview and 64-view atlas from the production renderer.
Remove loading brightness jumps in both transitions: keep the preview visible until the reflection pass is initialized, and retain the live canvas while the low-power atlas downloads and decodes. Draw the replacement before attaching it. The phone regression deliberately delays the atlas and verifies that the live frame stays visible. Pose/input checks poll real GPU completion while suppressing the software-GPU fallback threshold, so controlled animation frames cannot overrun the renderer. Touch checks accept the scrolling instructions for both live and low-power views.
Validation:
npm test: formatting/lint, TypeScript, and all 85 unit tests pass; existing CSS lint warnings remain.npm run build,git diff --check,cargo fmt --all -- --check, andcargo clippy --all-targets --all-features -- -D warningspass.