Repository navigation
Let the landing sculpture scroll natively in section grids - #1548
Merged
Merged
Conversation
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 currently follows section anchors by moving a canvas inside a fixed viewport layer on every scroll update. When JavaScript falls behind, the sculpture can lag behind the page.
After the opening flight, the shared preview, canvas, and input target now live inside the active section's grid slot. Native scrolling and section stickiness keep them aligned even while animation callbacks are paused. Docking immediately rebases the last painted canvas and input coordinates so the sculpture stays visible until the renderer's next frame. Section grids replace absolute anchor offsets, manual text indentation, negative margins, and reserved heading heights; native section layering also removes the fixed sculpture's cover-position calculations. The renderer, rotation, zoom, reduced-motion behavior, and reversible handoffs remain shared.
Validation:
npm test,npm run build, andcargo buildpassed. Browser coverage includes a paused-animation scrolling regression for the live and baked renderers, responsive text clearance, and touch recovery that waits for the native fling to finish. The touch recovery scenario passed five consecutive runs. Desktop and phone screenshots were inspected.The docking regression observes the canvas during the parent move, before a later renderer frame can hide an off-screen jump. It failed on desktop and phone before the fix; all 32 landing-page browser tests pass with the fix.
The full Playwright run completed with 143 passes and one failure: the chart documentation test's
getByText('Loading...')assertion matches 17 elements. The same failure was reproduced in a clean checkout ofmainat d4e6965. Every landing-page test passed.Preview: http://51.254.198.140:18750/