Skip to content

feat: text-polish system, three new components, chromatic_wipe transition - #211

Merged
LeadcodeDev merged 3 commits into
mainfrom
feat/text-polish-and-new-components
Aug 19, 2026
Merged

feat: text-polish system, three new components, chromatic_wipe transition#211
LeadcodeDev merged 3 commits into
mainfrom
feat/text-polish-and-new-components

Conversation

@NathaelB

Copy link
Copy Markdown
Collaborator

Text finishing toolkit (schema + engine):

  • text.states/text.swap: label-to-label swap (outgoing blurs up, incoming unblurs from below), box sized on the longest label.
  • text.caret: a line/block caret pinned to a typewriter's reveal head.
  • shimmer: light-sweep animation composited SrcATop so it only lights painted glyph pixels, not the box.
  • char_* presets gain direction/distance/scale_from/jitter+seed/ink_from tuning knobs.

New components:

  • pointer: simulated mouse pointer (arrow + click ring) sharing waypoint choreography with cursor, for product walkthroughs.
  • number_wheel: odometer-style rolling digit reels, distinct from counter's value interpolation.
  • success_check: self-drawing checkmark in a halo with pop + settling rotation, replacing the hand-assembled shape+svg+scale_in stack.

Engine/schema:

  • chromatic_wipe slide transition (red/cyan edge split at the peak, recomposing by the end).
  • animated_box_size and shimmer_effect regression tests; chromatic_wipe transition test.

…tion

Text finishing toolkit (schema + engine):
- text.states/text.swap: label-to-label swap (outgoing blurs up, incoming
  unblurs from below), box sized on the longest label.
- text.caret: a line/block caret pinned to a typewriter's reveal head.
- shimmer: light-sweep animation composited SrcATop so it only lights
  painted glyph pixels, not the box.
- char_* presets gain direction/distance/scale_from/jitter+seed/ink_from
  tuning knobs.

New components:
- pointer: simulated mouse pointer (arrow + click ring) sharing waypoint
  choreography with cursor, for product walkthroughs.
- number_wheel: odometer-style rolling digit reels, distinct from counter's
  value interpolation.
- success_check: self-drawing checkmark in a halo with pop + settling
  rotation, replacing the hand-assembled shape+svg+scale_in stack.

Engine/schema:
- chromatic_wipe slide transition (red/cyan edge split at the peak,
  recomposing by the end).
- animated_box_size and shimmer_effect regression tests;
  chromatic_wipe transition test.

Docs: CLAUDE.md and README updated for the new components/finishes; new
skill rule pages for card-resize, char-animation-tuning, hyperframes
mapping, number-wheel, pointer walkthrough, streaming-text, text-polish.

Not included: taap-it.mp4 (untracked stray render output in repo root,
left out of this commit).
@NathaelB NathaelB self-assigned this Aug 19, 2026
@LeadcodeDev LeadcodeDev added the enhancement New feature or request label Aug 19, 2026
ink_from_starts_at_the_given_colour_and_settles_to_the_texts_own used
char_scale_in specifically because it "leaves alpha alone" — but the
preset ties its scale to the same progress `t` the colour ramp uses, so
at t=0.1 the glyph paints at 10% of a 90px font. That's thin enough
that anti-aliasing can leave zero pixels at exactly alpha==255,
depending on subpixel glyph placement — which differs by Skia build/
font metrics between machines, hence green locally and red in CI.

The fill colour is uniform across a unit regardless of AA coverage, so
weighting the mean by alpha reads the same value without requiring any
pixel to be fully opaque.
…comments

The seven new .claude/skills/rustmotion/rules/*.md pages (plus the
matching additions to CLAUDE.md and the arc recipe in motion-path.md)
were authored in French, following the existing convention for that
directory — but that convention wasn't the right call for net-new
content, so they're English now. Pre-existing French elsewhere in
those two files is untouched.

Also trimmed a handful of comments in pointer.rs and text.rs that
restated the line right below them without adding anything (per-vertex
labels on a coordinate literal, "Draw fill" above a call to
draw_text_with_fallback). Read through number_wheel.rs and
success_check.rs too — their comments carry real rationale (why a
scale curve is isolated, why the stroke waits on the halo) rather than
padding, so left as-is.
@LeadcodeDev
LeadcodeDev merged commit b785ced into main Aug 19, 2026
3 checks passed
@LeadcodeDev
LeadcodeDev deleted the feat/text-polish-and-new-components branch August 19, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants