perf: paint warm transcript before list mount - #47
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dd3adc68e5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR improves transcript cold-mount perceived performance by ensuring the warm tail overlay paints before the virtualized LegendList mounts, while keeping the existing tail-alignment and stability-frame reveal gates intact.
Changes:
- Delay mounting
LegendListby one animation frame so the warm tail overlay can paint first (TranscriptTimeline.tsx). - Update the interaction/motion contract test to assert the new mount gating behavior (
interaction-motion.test.ts). - Refresh performance documentation to describe the updated paint/mount sequence and update provenance checksum (
PERFORMANCE.md, provenance JSON).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| provenance/t3code/imports/f2-transcript-20260711.json | Updates provenance checksum for the modified transcript timeline implementation. |
| docs/PERFORMANCE.md | Documents the new warm-tail-first commit and deferred list mount behavior in UI perf metrics. |
| apps/web/test/interaction-motion.test.ts | Extends the interaction contract test to assert LegendList is mounted only after listMounted flips via rAF. |
| apps/web/src/features/transcript/TranscriptTimeline.tsx | Introduces listMounted to mount LegendList one frame later while preserving the cold-mount overlay reveal gating logic. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
3fbb8e4 to
608a59c
Compare
Summary
Matched VPS evidence
Seven runs per side at a 390x844 viewport with the frozen
history-10k-v1fixture:The pre-click navigation DCL median moved from 86.1 ms to 95.5 ms. That phase occurs before the changed click path and is treated as shared-VPS noise rather than a product claim.
Verification
pnpm check