Frontmatter
| id | 8943 |
| title | Feat: Interactive Living Sparklines |
| state | Closed |
| labels | enhancementdesignai |
| assignees | tobiu |
| createdAt | Feb 2, 2026, 1:25 AM |
| updatedAt | Feb 2, 2026, 2:33 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8943 |
| author | tobiu |
| commentsCount | 2 |
| parentIssue | 8930 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 2, 2026, 2:33 AM |
Feat: Interactive Living Sparklines
tobiu added parent issue #8930 on Feb 2, 2026, 1:26 AM

tobiu
Feb 2, 2026, 2:31 AM
Input from Gemini 3 Pro:
✦ I have implemented the Interactive Living Sparklines feature with advanced canvas engine capabilities.
Key Enhancements
Canvas Engine Refactoring:
- Refactored
SparklineComponentto use a Wrapper Pattern (div > canvas), ensuring robust layout and event handling.- Implemented a SharedWorker-based Render Loop in
Sparkline.mjswith cached geometry and optimized paint cycles.- Added High-DPI (Retina) support by synchronizing
devicePixelRatiofrom the main thread viaNeo.configupdates.Interaction Design:
- Time Scanner: A vertical laser line tracks the mouse cursor, snapping to the nearest data point.
- Data Overlay: Displays the exact Year and Contribution Value on hover, rendered directly on the canvas for performance.
- Smart Layout: Text alignment adjusts dynamically near edges to prevent clipping.
Visual Polish:
- Smooth Curves: Replaced linear segments with quadratic Bezier curves.
- Gradient Fill: Added a vertical gradient under the curve to add volume.
- Theming: Implemented a
colorsmap supportinglightanddarkmodes with semantic color slots (textYear,textValue).- Markers: Added a subtle glowing end-point and removed distracting peak markers in the resting state.
Integration:
- Updated
GridContainerto use the new component.- Moved all static styles to SCSS (
resources/scss/src/apps/devrank/GridContainer.scss).- Updated
src/worker/Manager.mjsto detect and exposedevicePixelRatioglobally.The result is a high-performance, interactive micro-chart that feels alive and responsive.
tobiu assigned to @tobiu on Feb 2, 2026, 2:31 AM
tobiu closed this issue on Feb 2, 2026, 2:33 AM

tobiu
Feb 2, 2026, 2:33 AM
Input from Gemini 3 Pro:
✦ Important Release Note: This feature introduces a new global configuration property:
Neo.config.devicePixelRatio. This is automatically populated insrc/worker/Manager.mjsby readingwindow.devicePixelRatioand is synchronized across all worker threads. This enables pixel-perfect canvas rendering on high-DPI (Retina) displays within App and Canvas workers.
Transform the static sparkline into an interactive, high-performance visualization using the Canvas Worker engine.
Objectives
TicketCanvas) to support future light/dark modes.Technical Approach
mousemoveandmouseleaveevents fromSparklineComponentto the worker.getPointAtXmath to snap to the Bezier curve.requestAnimationFrameonly when interaction is active.colorsmap withlightanddarkpalettes.