feat(registry): add the lt-neon-border lower third - #3108
Closed
miguel-heygen wants to merge 1 commit into
Closed
Conversation
Two arcs of light travel the edge of a rounded panel and snap corner to corner, trailing a three-layer bloom. We ship eleven lower thirds and none of them has a travelling light. The traversal is closed form rather than accumulated, which is what makes it seekable: total = t/beat, corner = floor(total), and the arc head is the eased interpolation between two corner positions, each a pure function of an integer. Seeking to frame N and playing to frame N produce the same bytes, verified by hash across two separate browser launches with a control frame to rule out a static image. Arcs are SVG dash offsets rather than sampled polylines, which is exact along a path and removes the need for a minimum-arc clamp. The bloom widens the stroke before blurring, since blur alone reads as haze rather than emitted light. Nine variables, every number carrying explicit min, max and step.
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
lt-neon-border: two arcs of light travel the edge of a rounded panel and snap corner to corner, trailing a three-layer bloom.Why
We ship eleven lower thirds and not one of them has a travelling light. This is the same slot in a different register: precise and expensive rather than loud.
How
The traversal is closed form rather than accumulated, which is what makes it seekable.
total = t / beat,corner = floor(total), and the arc head is the eased interpolation between two corner positions, each a pure function of an integer. No accumulator, no clock, no dt.Three implementation choices worth flagging, since none is obvious from the diff:
Arcs are SVG dash offsets, not sampled polylines. Sampling exists in canvas implementations because canvas has no path-relative drawing; along an SVG path
stroke-dasharrayis exact. That also makes a minimum-arc-length clamp meaningless here, so there isn't one. The segmentation that remains (20 glow, 26 core) is for the opacity taper only: at 8 segments the filament stair-steps visibly.The bloom widens the stroke before blurring. Blur alone reads as haze. Widening then blurring is what makes it read as emitted light.
Easing uses fixed 32-iteration bisection, not Newton, so the curve is bit-reproducible rather than convergence-dependent.
Nine variables, every number carrying explicit
min,maxandstep.Test plan
hyperframes checkpasses: 0 errors, layout 0 issues across 9 samples, motion 0, contrast 0. Registry item lint 0 errors.oxfmt --checkandcheck-large-files.shclean.Determinism verified by hash rather than by eye. Frame 71 at an off-beat time, PNG bytes SHA-256:
The control matters: without it, three identical hashes would also be consistent with a static image. Eight frames at off-beat times were rendered and looked at; both arcs relocate frame to frame and stay diametrically opposed throughout.
A full
render --strict-variablespass with all nine variables overridden produced 144 validated frames with cyan bloom, rounder corners, shorter arcs and faster travel, confirming every variable is wired.Not covered
The contrast auditor reports 0/0 text checks, meaning WCAG contrast here is unverified rather than verified: it found no text nodes to audit. Legibility rests on the panel fill and text shadows, the same as the sibling
lt-*blocks.The file trips the 300-line advisory warning at 353 lines. Splitting the geometry, easing, taper and timeline into sub-compositions would make it harder to follow, and eight existing blocks run 1100 to 2900 lines.