Skip to content

Ground the landing sculpture with studio reflections and stable loading - #1563

Merged
lovasoa merged 7 commits into
mainfrom
refine-landing-studio
Oct 29, 2026
Merged

lovasoa merged 7 commits into
mainfrom
refine-landing-studio

Conversation

@lovasoa

@lovasoa lovasoa commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

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, and cargo clippy --all-targets --all-features -- -D warnings pass.
  • All 145 Playwright tests pass, including scrolling, touch, keyboard/mouse rotation, reduced motion, loading recovery, and the delayed-atlas handoff. Both previously failing scenarios also pass with the browser restricted to one CPU core.
  • Captured and inspected desktop, tablet, phone, and light-section screenshots, four rotation angles in close-up, the first visible live frames, and both renderer handoffs. Regenerated both fallback assets from the fully initialized scene.

@lovasoa lovasoa changed the title Refine landing page materials, lighting, and composition Ground the landing sculpture with studio reflections and stable loading Oct 27, 2026
@lovasoa
lovasoa enabled auto-merge October 27, 2026 09:46
@lovasoa
lovasoa added this pull request to the merge queue Oct 29, 2026
Merged via the queue into main with commit 011ba8a Oct 29, 2026
55 checks passed
@lovasoa
lovasoa deleted the refine-landing-studio branch October 29, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant