Repository navigation
Bring in what appears with the demo video's motion (slice 25) - #52
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…otion Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The app's motion now follows the README's demo video (slice 25 in
docs/plan.md;docs/decisions.md, Design, 2026-10-22).What changes
src/app/globals.css: the video's two eases; its three springs, sampled from Remotion 4.0.538's ownspring()intolinear()(within 0.004, each as long asmeasureSpringsays); the fade each motion pairs with (Math.min(1, p * k), as in the video); and its durations. The fold's slide, the rolling count, the copy label and button, the just-changed glow and Tailwind's default transitions use them. Withoutlinear(), everything falls back to the ease-out.followEndinsrc/features/chat/chat.tsx), so a line rising in as the chat's last no longer makes the whole conversation sink back as it settles.Fix (its own commit)
A folded run's hidden lines carry
sr-onlylabels, which are absolutely positioned. They escaped the fold's clip and stretched the chat below its last line, leaving blank space while a folded run was an answer's last line (onmaintoo). The fold's clipping box is now positioned. The regression test intests/e2e/layout.spec.tsfails without the fix.Server and model
No file in
src/serverorsrc/libchanges, so nothing the model receives changes.Tests
tests/unit/arrival.test.tsx, plus the conversation, rich text, PRD, workspace and kept-conversation tests). New end-to-end tests for the animations under both motion settings and after a reload, the blank space, and the conversation staying still.childGapsfinish every animation that ends before they read; the highlight's duration is 1.13s, not 2s; the Jump to latest unit tests' pane also gives the conversation its laid-out height.Checks (local, 2026-10-22)
npm run verify: 574 unit tests and the production build.npm run test:e2e: 77 passed; the 8 new ones passed five more runs each.Unverified
Safari and Firefox (only Chromium ran), a phone, and the motion on staging at the real model's pace.