Skip to content

BrightPixels 0.5.0 — loading states and verified rendering

Choose a tag to compare

@echohtp echohtp released this 06 Sep 21:26

BrightPixels 0.5 adds complete loading and status behavior to the dependency-free HDR components, and makes browser verification part of the release process.

  • Indeterminate rings, arcs, and bars use cached SVG/texture content with native transform animation. Reduced motion stays steady; hidden pages pause.
  • Loading, success, warning, and error presets provide shapes and colors, with an optional one-shot completion pulse.
  • configureBrightpixels() controls HDR and extra brightness for current and future components. Disabling releases GPU resources and preserves fallback content.
  • Components share one JavaScript animation scheduler. Text/image textures and bind groups are reused until dimensions change.
  • Fixes include synchronous fallback readiness, reconnect scheduling, boost attribute updates, and cleanup when GPU setup fails.

Validation: 9 Node/React tests, strict TypeScript usage checks, and 11 Chromium/WebKit browser checks passed. The real WebGPU path runs in Chromium using a software GPU; the WebKit GPU check is intentionally skipped. Browser checks cover loading-to-success, fallback, reduced motion, progress retargeting, texture reuse, global disable/re-enable, reconnect cleanup, and 16 concurrent animated components. These checks do not measure physical HDR luminance or guarantee a frame rate.

Demo: https://echohtp.github.io/brightpixels/#states
Verified CI: https://github.com/echohtp/brightpixels/actions/runs/34060935251

npm publication is blocked by the current account credentials; npm still serves the previous version. The attached tarball contains the verified 0.5.0 package and can be installed locally with npm install ./brightpixels-0.5.0.tgz.