Skip to content

[feat] Comparison #36 backlog — motion polish, 3D track, curated tools #138

Description

@VforVitorio

Dev-ready backlog surfaced by the two Fable audits during the #36 Comparison build. All optional — the tab shipped complete without them.

Motion (GSAP / CSS, reduced-motion gated):

  • M1 — staged skeleton→ready reveal (banner slide + card glow ignite + track ribbon draw-on via a revealProgress prop on TrackCanvas). Touches page + canvas.
  • M5 — finish beat (a ~500ms dominance-ribbon shimmer sweep on finished).
  • M6 — seek "comet" (GSAP quickTo the cursor overlays on discrete seeks only, never during rAF playback).
  • M7 — segmented-control thumb slide on speed/mode switches.

3D (defense flex, never a parity gate):

  • M8 / spec §7 E3 — r3f 3D track: extruded ribbon w/ elevation, emissive dominance, chase-cam, as a lazy-chunked 4th track-mode; 2D canvas stays default + fallback. The seam is clean — useReplayClock.subscribe + frameAt(t) are consumer-agnostic.

Curated tools (Víctor's picks — evaluate per surface):

  • Evil Buttons (evilbuttons.com) for the COMPARE / Strategy run CTA — Motion-animated shadcn button, retokenised to bg-accent. Needs the motion dep — pair with M7 so the dep earns its slot.
  • Dither Kit (@grimcodes) — a dithered silhouette of the selected GP's track for the Comparison idle EmptyState (fed by circuitDraw outline), + a Home/landing hero texture. Never behind dense data.
  • icons0 (icons0.dev) MCP server — wire in the Race-tab sprint for domain glyphs beyond lucide (flags, helmet, compounds). .mcp.json (gitignored), MIT/Apache only.

Known-minor (P3, cosmetic): the delta sign-fill can appear to end a few hundred metres before the line's right edge on some renders — an ECharts area entrance-animation artifact (mitigated animation:false); data/line/tally are correct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions