Skip to content

perf: paint warm transcript before list mount - #47

Merged
wolfiesch merged 2 commits into
LycaonLLC:mainfrom
wolfiesch:codex/transcript-shell-profile
Jul 18, 2026
Merged

perf: paint warm transcript before list mount#47
wolfiesch merged 2 commits into
LycaonLLC:mainfrom
wolfiesch:codex/transcript-shell-profile

Conversation

@wolfiesch

Copy link
Copy Markdown
Collaborator

Summary

  • paint the existing exact warm transcript tail before mounting the hidden virtual list
  • mount the measured list one animation frame later behind the visible warm copy
  • preserve the existing tail-alignment and four-ready-frame reveal gates
  • update the interaction contract, performance documentation, and provenance checksum

Matched VPS evidence

Seven runs per side at a 390x844 viewport with the frozen history-10k-v1 fixture:

Renderer-clock metric Before After Change
Click to transcript shell 521.1 ms 457.1 ms -12.3%
Click to tail aligned 590.6 ms 593.5 ms +0.5%
Click to real list 720.9 ms 709.8 ms -1.5%
Click to tail painted 776.9 ms 738.1 ms -5.0%
Whole mount 2914.1 ms 2859.4 ms -1.9%

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

  • provenance check: 5 manifests, 0 failures
  • pnpm check
  • interaction/motion tests: 22/22
  • production web build
  • focused 10k-history Playwright test on the VPS

Copilot AI review requested due to automatic review settings July 18, 2026 12:25

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread apps/web/src/features/transcript/TranscriptTimeline.tsx

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 LegendList by 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.

Comment thread apps/web/src/features/transcript/TranscriptTimeline.tsx Outdated
@wolfiesch
wolfiesch force-pushed the codex/transcript-shell-profile branch from 3fbb8e4 to 608a59c Compare July 18, 2026 12:37
@wolfiesch
wolfiesch merged commit 489da8f into LycaonLLC:main Jul 18, 2026
4 checks passed
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.

2 participants