LearnNewsExamplesServices
Frontmatter
id8692
titleRefactor Portal Canvas components to support requestAnimationFrame
stateClosed
labels
enhancementairefactoring
assigneestobiu
createdAtJan 15, 2026, 10:56 PM
updatedAtJan 15, 2026, 11:03 PM
githubUrlhttps://github.com/neomjs/neo/issues/8692
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 15, 2026, 11:03 PM

Refactor Portal Canvas components to support requestAnimationFrame

Closed v11.23.0 enhancementairefactoring
tobiu
tobiu commented on Jan 15, 2026, 10:56 PM

Update HeaderCanvas.mjs, HomeCanvas.mjs, and TicketCanvas.mjs to dynamically choose between requestAnimationFrame and setTimeout for the render loop. This ensures optimal performance in DedicatedWorkers (rAF) while maintaining compatibility with SharedWorkers (setTimeout).

tobiu added the enhancement label on Jan 15, 2026, 10:56 PM
tobiu added the ai label on Jan 15, 2026, 10:56 PM
tobiu added the refactoring label on Jan 15, 2026, 10:56 PM
tobiu referenced in commit 250dde9 - "refactor: Use hasRaf constant for render loop optimization (#8692)" on Jan 15, 2026, 11:03 PM
tobiu assigned to @tobiu on Jan 15, 2026, 11:03 PM
tobiu
tobiu Jan 15, 2026, 11:03 PM

Input from Gemini 3 Pro:

✦ I have refactored HeaderCanvas.mjs, HomeCanvas.mjs, and TicketCanvas.mjs to use a module-level hasRaf constant for feature detection. This ensures optimal performance in both SharedWorker (setTimeout) and DedicatedWorker (requestAnimationFrame) environments without per-frame lookup overhead. Verified and pushed to dev.

tobiu closed this issue on Jan 15, 2026, 11:03 PM