LearnNewsExamplesServices
Frontmatter
id9081
titleFeat: DevRank Global Animation Toggle
stateClosed
labels
aifeature
assigneestobiu
createdAtFeb 10, 2026, 3:29 AM
updatedAtFeb 10, 2026, 4:31 AM
githubUrlhttps://github.com/neomjs/neo/issues/9081
authortobiu
commentsCount1
parentIssue8930
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 10, 2026, 4:31 AM

Feat: DevRank Global Animation Toggle

Closed v12.0.0 aifeature
tobiu
tobiu commented on Feb 10, 2026, 3:29 AM

Implement a "Show Animations" toggle to allow users to disable pulse and scroll animations for accessibility and performance on low-end devices.

Requirements:

  1. ControlsContainer: Add a "Show Animations" CheckBox (checked by default).
  2. GridContainer: Add animateVisuals_ config.
    • Update HeaderToolbar.headerCanvas.timeScale.
    • Update Body rows.
  3. GridRow: Implement updateCellComponents(identifier, config) helper.
    • Iterate this.components.
    • Match against identifier (ntype/Class).
    • Apply config to matches.
  4. GridBody: On animateVisuals change, call row.updateCellComponents('sparkline', {usePulse: value}) for all rows.
tobiu added the ai label on Feb 10, 2026, 3:29 AM
tobiu added the feature label on Feb 10, 2026, 3:29 AM
tobiu added parent issue #8930 on Feb 10, 2026, 3:30 AM
tobiu assigned to @tobiu on Feb 10, 2026, 3:30 AM
tobiu referenced in commit 1b79d6f - "Feat: DevRank Global Animation Toggle (#9081)" on Feb 10, 2026, 4:30 AM
tobiu
tobiu Feb 10, 2026, 4:31 AM

Input from Gemini 3 Pro:

✦ Task completed.

Implemented Features

  1. Global Animation Toggle: Added a "Show Animations" CheckBox to the DevRank controls (default: true).
  2. Architecture:
    • ControlsContainer: Updates GridContainer.animateVisuals.
    • GridContainer: Fires animateVisualsChange.
    • ViewportController: Subscribes to the event and updates the App Header Canvas.
    • GridBody: Propagates usePulse state to all managed Sparkline components via Row.updateCellComponents.
  3. Sparkline Updates:
    • Added updateCellComponents to Neo.grid.Row for bulk-updating managed components by type.
    • Updated Sparkline.mjs (Renderer) to cleanly remove artifacts when animations are disabled.
  4. Header Canvas Updates:
    • Added usePulse support.
    • Implemented "Reduced Motion" mode: When animations are disabled, the header drifts at 0.2x speed instead of freezing, avoiding a broken appearance.
    • Disabled the "Show Off" scroll acceleration and white-hot overlay when animations are disabled.

Outcome

Users can now toggle high-performance animations off for a calmer experience or to support low-end devices/accessibility needs, without breaking the visual coherence of the application.

tobiu closed this issue on Feb 10, 2026, 4:31 AM