Skip to content

v1.1.0

Latest

Choose a tag to compare

@jauderho jauderho released this 03 Jul 23:36
1f97b29

Performance and cross-browser polish. No API changes — drop-in upgrade.

Improvements

  • Much faster rendering. Reworked the internal build path so many
    SlotText / SlotNumber / SlotLetter instances updating together share a
    single batched layout pass instead of forcing one per instance. Measured
    85–89% faster across mount, CJK, counter-churn, and 24-instance dashboard
    scenarios.
  • Smoother initial load. Fixes the load-time jank reported when embedding in
    real apps: slot text in metric-stable fonts no longer double-rolls when web
    fonts finish loading; instances that are offscreen at mount don't build or
    animate until scrolled into view; and each roll's composited layer is released
    once it settles, so a page full of slots no longer holds a GPU layer per digit
    forever.

Fixes

  • Firefox: correct vertical alignment for non-Latin text. Ideographs (e.g.
    Japanese/Chinese) rendered via a fallback font sat too high in Firefox; they
    now align identically to Latin text and to Chrome/Safari.

Under the hood

  • Showcase/demo page precompiles its JSX at build time (no more Babel-in-browser),
    cutting warm load from ~150 ms to ~25 ms.
  • Added bun run bench — an A/B performance benchmark (git baseline vs working
    tree) to guard against future regressions.