Skip to content

FIX-62: small-graph idle FPS — isolate lagoon backdrop + drop dead lagoon CSS#129

Merged
mvalancy merged 1 commit into
devfrom
fix/idle-fps-lagoon
Jun 18, 2026
Merged

FIX-62: small-graph idle FPS — isolate lagoon backdrop + drop dead lagoon CSS#129
mvalancy merged 1 commit into
devfrom
fix/idle-fps-lagoon

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Profiled small-graph idle: 52 fps → 59 with lagoon hidden → 60 no-anim. The static lagoon backdrop wasn't layer-promoted, so it repainted every frame the nodes animate above it. Promoted it to its own GPU layer (idle 52 → 57-58, verified) and removed ~125 lines of dead caustic/shimmer CSS that animated nothing. Gate 5/5.

🤖 Generated with Claude Code

…d lagoon CSS

Profiled idle FPS on a small graph (4 nodes, ULTRA quality): 52 fps, recovering to
59 when the lagoon backdrop is hidden and 60 with all animation off. The static
`.lagoon-caustics` backdrop had no compositor-layer promotion, so it was repainted
every frame the SVG nodes animate above it — the dominant idle cost on small graphs
(the #57 work only size-gated node/edge effects, not the backdrop).

- Promote `.lagoon-caustics` to its own GPU layer (transform: translateZ(0);
  will-change: transform; contain: layout paint style) → idle 52 → 57-58 fps
  on the same small graph, no visual change. (Verified via an auth'd FPS probe.)
- Removed ~125 lines of DEAD lagoon CSS: `.caustic-layer` + `.caustic-layer-1..20`
  + `.lagoon-shimmer` + `.lagoon-shimmer-2..10` and their `@keyframes`
  (lagoonCaustics1/2/3, lagoonShimmer) + `--lagoon-shimmer-*` vars — confirmed no
  DOM element anywhere uses these classes (they animated nothing; a perf red-herring).

THE GATE 5/5; no element references the removed classes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mvalancy mvalancy merged commit 96afc15 into dev Jun 18, 2026
@mvalancy mvalancy deleted the fix/idle-fps-lagoon branch June 18, 2026 23:46
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

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