Repository navigation
feat(registry): add the gyro gallery block - #29
Merged
Merged
Conversation
Gallery tiles riding three concentric orbits on one tilted plane, like the rings of a gyroscope, the middle ring counter-rotating. Sharing a plane keeps the rings from ever crossing on screen, so tiles never pile onto each other, and the rig is framed to its real projected extent every frame, centred and fitted to the stage. Focus is by proximity: the tile nearest the pointer within 130px comes forward, so a moving target never has to be hit exactly. The rings stop and the rig stops turning while a piece is in focus; it drifts out to meet the cursor with a lime outline, a spoke draws from the core and a label rides beside it. A click anywhere opens it; on touch the first tap focuses and the second opens. A sideways drag throws the spin. Page scroll winds the rings and swivels the plane, and its speed flings them. Where the gallery fills the window and the page cannot scroll, the wheel or a vertical swipe drives the same motion instead, counted only when the page itself did not move. Ships as the Tween UI archive, its gallery posters linking to their pages. The rig is aria-hidden behind a visually hidden list of links, and under reduced motion it is drawn still while focus still works. Includes the demo, docs page, tests and sidebar icon motion.
Poster and hover clip, 1280x800, 30fps, H.264 High, no audio track. The recording is trimmed to 9.4s of interaction, from the cursor first reaching the rings. The parked system pointer, the Next.js dev badge, the recording border and the bottom browser status bar are removed; the top is extended from the edge pixels and the bottom padded in the block's own ink. The poster is the CTA Starfall tile in focus, with its spoke and label. Clip 295 KB, down from 10 MB; poster 11 KB.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Adds Gyro Gallery, a showcase of gallery tiles riding three counter-rotating orbits, like the rings of a gyroscope. It's built around the pointer, and the interaction was reworked twice in review for usability. It ships with gallery media.
The block
atom(spin).Worth calling out in review
/previewthe block fills the window and the page can't move, so scroll-driven motion never fired. The wheel or a vertical swipe over the gallery now drives it there, counted only when the page itself didn't scroll, so a scrolling page isn't driven twice.The rig is
aria-hiddenbehind a visually-hidden list of links, and the focused piece is announced politely. Underprefers-reduced-motion: reducethere's no intro, spin, turn or scroll motion, but proximity focus, the spoke and the label still work.Checks
Typecheck is clean,
registry:buildpasses, and the full suite passes (980 tests, 11 new). Interaction was verified in headless Chrome with real mouse and wheel input.next buildwas not run locally.