Uh oh!
There was an error while loading. Please reload this page.
feat(design): waiting-state spectrum 1 — toast overshoot + streaming sweep (D6) - #471
Merged
Merged
Conversation
…sweep (D6) First installment of the D6 full-spectrum decision (taste-skill v1 §9 'AI product feel' motion specs): - Toast arrival overshoot: toasts previously popped into existence with zero motion. 240ms rise + slight over-scale settle (maka-toast-enter) reads as 'something arrived' — Emil's toast tier is 200-300ms; the global reduced-motion clamp applies. Exit motion needs a dismissal window in toast.tsx (instant unmount today) — deferred to a component-level pass. - Composer streaming sweep: while the assistant streams, a 1px status-running light sweep crosses the composer shell top edge — 'working' stays visible exactly where the user's attention returns. Functional infinite motion, status-token derived. - Both animation names added to the #406 functionalMotion whitelist with rationale; composer-inner gains the data-streaming attribute. Desktop suite 1696/1696; streaming-answer fixture verified.
jackwener added a commit
that referenced
this pull request
Jul 3, 2026
) Two queue items from the round-2 study: Toast exit (completes #471's lifecycle): dismissal is now two-phase — the entry is marked exiting, a 180ms shrink/fade plays (exit = enter 240ms x 75%, roadmap motion rule), then the entry unmounts. Toasts no longer vanish mid-glance; exiting toasts drop pointer-events. Exit keyframes whitelisted in the #406 functional-motion contract. Lucide stroke governance (decision D5): call sites had EIGHT different strokeWidth values (1.5/1.6/1.65/1.7/1.75/1.8/1.85/2) across 143 usages plus the default 2 wherever unspecified. One rule (svg.lucide { stroke-width: 1.75 }) overrides every SVG presentation attribute, unifying all glyphs at the distribution's modal weight with zero call-site churn. icon-system-contract gains the positive assertion; its size-hammer ban regex gets (?<!-) so the governed stroke-width rule doesn't false-positive on "width". Markdown parse caching (queue item) evaluated and DOWNGRADED: memoized MessageBody already prevents re-parsing committed turns; the streaming turn's re-parse is essential work. Noted here so it isn't re-proposed. Desktop suite 1697/1697 (+1 contract).
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 freeto 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.
D6「等待感全谱」第一批(taste v1 §9 谱系):
1696/1696;streaming-answer fixture 验证。