Migrate the web UI to Svelte 5 (pixel-identical) (D142) #60

Open
opened 2026-10-07 08:05:39 +00:00 by kayg · 1 comment
Owner

D142: migrate apps/tracer and packages/ui to Svelte 5 with a pixel-identical result. Plan:

  1. Capture a baseline screenshot matrix on dev (every screen and state; ink, paper and other themes; mono and sans; 393x852 and 1440x900) plus the motion-audit, latency-probe, bundle, FCP and idle-trace numbers.
  2. Migrate.
  3. Pixel-diff gate: zero differences beyond a strict antialiasing tolerance, and every number equal or better.
    Starts after keytray-mods, mobile-recovery and merge-perf have landed, so it migrates the final current UI. The tooling choice comes first (owner question F2).
D142: migrate apps/tracer and packages/ui to Svelte 5 with a pixel-identical result. Plan: 1. Capture a baseline screenshot matrix on dev (every screen and state; ink, paper and other themes; mono and sans; 393x852 and 1440x900) plus the motion-audit, latency-probe, bundle, FCP and idle-trace numbers. 2. Migrate. 3. Pixel-diff gate: zero differences beyond a strict antialiasing tolerance, and every number equal or better. Starts after keytray-mods, mobile-recovery and merge-perf have landed, so it migrates the final current UI. The tooling choice comes first (owner question F2).
Author
Owner

D143: plain Svelte 5 SPA (no SvelteKit). Step 0 of the migration: prototype the same screens with Vite and with Bun's Svelte plugin; measure FCP and first paint (iPhone profile, 4x throttle, 300 ms RTT), bundle raw and gzip, terminal chunk splitting, the latency probe and idle work; pick the faster and record the numbers here.

D143: plain Svelte 5 SPA (no SvelteKit). Step 0 of the migration: prototype the same screens with Vite and with Bun's Svelte plugin; measure FCP and first paint (iPhone profile, 4x throttle, 300 ms RTT), bundle raw and gzip, terminal chunk splitting, the latency probe and idle work; pick the faster and record the numbers here.
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal#60
No description provided.