feat(registry): add the cosmic-orb hero object - #3109
Closed
miguel-heygen wants to merge 1 commit into
Closed
Conversation
An iridescent sphere of nebula bands, dust lanes and discrete stars behind a refracting glass limb. The catalog is passes, wipes, type and lower thirds; it has almost no hero objects, and this one carries a title card by itself. The sphere is analytic rather than raymarched, so cost is flat per pixel: z = sqrt(1 - r squared) gives the normal directly. One hash drives every noise layer. The limb samples a back layer at three refraction indices, which is what produces the chromatic fringing at the edge. The repaint is driven from a property setter on the tweened driver rather than from a timeline onUpdate callback. GSAP suppresses events on seek by default, so the callback pattern leaves the canvas frozen on frame 0 under any consumer that seeks without opting out. Tweened values are always written during render, suppressed or not. Verified under software WebGL: direct seek, stepped playback, out-of-order scrub and a repeated seek all produce identical bytes, with seven distinct hashes across seven times ruling out a vacuous pass.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
3 tasks
Collaborator
Author
|
Superseded by #3116, which carries all five video primitives in one PR as requested. Same commits, same verification; nothing dropped. |
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.
What
cosmic-orb: an iridescent sphere of nebula bands, dust lanes and discrete stars behind a refracting glass limb.Why
The catalog is passes, wipes, type and lower thirds. It has almost no hero objects. An orb like this carries a title card by itself, works as a logo pedestal, and runs indefinitely.
How
The sphere is analytic rather than raymarched, so cost is flat per pixel:
z = sqrt(1 - r^2)gives the normal directly. One hash drives every noise layer. The limb samples a back layer at three refraction indices, which is what produces the chromatic fringing at the edge.The repaint is driven from a property setter on the tweened driver, not from a timeline
onUpdatecallback. This is the part worth reviewing. GSAP'sseek(pos, suppressEvents)defaultssuppressEventstotrue, so the callback pattern leaves the canvas frozen on frame 0 under any consumer that seeks without opting out. In a bare page,t=0,t=6.0andt=6.2produced byte-identical pixels. Tweened values are always written during render, suppressed or not, so the setter is the reliable hook and it receives the frame time directly.The beat hook is closed form:
pulseEnvelopeis comma-separated samples spread across the clip and lerp-sampled att. No audio analysis, no state.Nine variables, every number carrying
min,maxandstep.Test plan
hyperframes checkpasses with 0 errors: lint 0 errors, runtime 0 errors, layout 0 issues across 9 samples, motion 0, contrast 0. The four runtime warnings are the checker's own ReadPixels GPU-stall notices.oxfmt --checkclean.WebGL surviving seek-capture was the main risk, so it was tested directly rather than assumed. Six frames captured by
snapshotand looked at: the orb is present in every one, the starfield and nebula rotate between frames, and the glass limb and chromatic fringing hold throughout. A full 300-frame 1920x1080 render also completed.Determinism, all four cases identical:
Seven sampled times produced seven distinct hashes, which rules out the identical-because-static failure. Two separate CLI processes produced the same md5 at
t=4.Not covered
The catalog preview assets (
docs/images/catalog/blocks/cosmic-orb.{png,mp4}) are not generated; the mdx points at those URLs and they will 404 untilscripts/upload-docs-images.shruns with the publishing profile. That is a maintainer step.Not a seamless loop: the noise is not periodic in rotation, so it runs indefinitely but does not cut back to frame 0.