Frontmatter
| id | 8683 |
| title | Home Hero Canvas: Visual Polish (Blue Shockwave) & GC Optimization |
| state | Closed |
| labels | enhancementaiperformance |
| assignees | tobiu |
| createdAt | Jan 15, 2026, 11:56 AM |
| updatedAt | Jan 15, 2026, 12:01 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8683 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8661 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 15, 2026, 12:01 PM |
Home Hero Canvas: Visual Polish (Blue Shockwave) & GC Optimization
tobiu changed title from Home Hero Canvas: Visual Polish (Blue Shockwave) & GC Optimization (#8661) to Home Hero Canvas: Visual Polish (Blue Shockwave) & GC Optimization on Jan 15, 2026, 11:56 AM
tobiu added parent issue #8661 on Jan 15, 2026, 11:56 AM

tobiu
Jan 15, 2026, 12:00 PM
Input from Gemini 3 Pro:
✦ I have completed the refactoring of
HomeCanvas.mjs.Changes:
- Visual Update: Shockwaves now use the
HIGHLIGHT(Cyan) andPRIMARY(Blue) colors instead of Crimson, creating a cleaner "Neon" look consistent with the theme.- GC Optimization (Network): I inlined the
getPoshelper function within thedrawNetworkloop. This eliminates the allocation of thousands of temporary{x, y}objects per frame during the parallax calculation.- GC Optimization (Shockwaves): I replaced the template string RGBA construction (e.g.,
`rgba(...)`) withctx.globalAlphacombined with constant hex colors. This reduces string garbage collection during shockwave rendering.The changes have been pushed to
dev.
tobiu assigned to @tobiu on Jan 15, 2026, 12:00 PM
tobiu closed this issue on Jan 15, 2026, 12:01 PM
Refactor
apps/portal/canvas/HomeCanvas.mjsto adjust visual styles and improve rendering performance.Visual Changes:
HIGHLIGHTconstant) to match the Neo.mjs brand and "Neon" theme.Performance Improvements:
drawNetwork: ThegetPoshelper function currently allocates a new object{x, y}for every node and connection check (10k+ allocations per frame). This must be inlined or refactored to use primitive variables.drawShockwaves: Replace template string RGBA construction (e.g.,`rgba(..., ${alpha})`) withctx.globalAlpha+ Constant Hex Colors to reduce string garbage.Goal: