Skip to content

feat(renderer): render Canvas Lab starfield in Web Worker via OffscreenCanvas - #21

Merged
simonhagger merged 1 commit into
mainfrom
feat/offscreen-worker-pane
Aug 24, 2026
Merged

feat(renderer): render Canvas Lab starfield in Web Worker via OffscreenCanvas#21
simonhagger merged 1 commit into
mainfrom
feat/offscreen-worker-pane

Conversation

@simonhagger

Copy link
Copy Markdown
Owner

Summary

  • Third Canvas Lab pane: \ ransferControlToOffscreen()\ + module worker running an independent rAF warp-starfield loop off the main thread
  • \�ffect()\ bridges density/speed/accent/pause signals to worker messages; ResizeObserver sends DPR-sized resize updates
  • Fallback status text when OffscreenCanvas/Workers unavailable; worker terminated on destroy

Validation

  • Dev build green: canvas-lab-page chunk 27.77 -> 32.31 kB (worker chunk separate)

  • enderer:test\ +
    enderer:lint\ green
  • Live-verified in Electron dev app (three panes animating; controls drive all three)

Security Checklist

  • Security review completed
  • Threat model updated or N/A explained
  • Confirmed no secrets/sensitive data present in committed files

…enCanvas

- Third pane transfers control to OffscreenCanvas and hands it to a
  module worker running its own requestAnimationFrame warp starfield
- effect() forwards density/speed/accent/pause signal changes to the
  worker; ResizeObserver posts DPR-sized resize messages
- Graceful fallbacks when OffscreenCanvas or Workers are unavailable;
  terminate() on destroy
@simonhagger
simonhagger merged commit 266e403 into main Aug 24, 2026
17 checks passed
@simonhagger
simonhagger deleted the feat/offscreen-worker-pane branch August 24, 2026 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant