Repository navigation
Port the mascot design: expressions, scan acts and finish reactions - #391
Merged
Merged
Conversation
Several loops ran at 0.4-0.8 s with wide swings, the look-around animation snapped back at the end of every cycle, the log lines showed in full during their delay and then erased and retyped forever, and antic changes snapped between poses. Loops are now 1.2 s and up with smaller swings, the look goes there and back, poses ease into each other, antics come every 14 s with most slots left to the calm stage pose, and each log line types once per stage and stays. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
The mascot now has a range of expressions (pupils with highlights, brows, mouths, cheeks; the idle face is a gentle smile instead of a frown) and does an act while a scan runs: a pool per stage, one pick per scan that never repeats the previous scan's, and a nap when a stage runs twice as long as usual. When the report lands he reacts to how it came out (found a driver, memory, running hot, large kernel dump, all good, not sure; a forced crash is "not sure" because it does not document its cause). The chat avatar uses the same faces for its states. The narrow layout crops the box to him and drops the props beside him. Also fixes the cause of the card's text and bubble restarting about once a second: a container query that toggles display:none makes Chrome cancel and restart every animation inside it. Those rules hide with visibility now, and a test pins it. The finished card is held for 2.8 s so the reaction shows. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
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.
Summary
utils/mascotReaction.ts): a third-party.sysis "found the driver", memory and hardware stop codes, a large kernel dump with a culprit, a recovered live dump is "all good". A forced crash (power button held, hotkey) and "no clear culprit" are "not sure", consistent with Tell the AI and the report that a power-button-hold crash does not document its cause #390.display: nonemakes Chrome restart every animation inside it. Those rules hide withvisibilitynow, andtests/mascotActs.test.mjspins it.Includes the calm-motion commit from #389 (this supersedes it).
The act markup is static strings in
utils/mascotActs.ts, rendered bycomponents/Mascot.tsx; the.a-*rules are instyles.css. Checked in real Chrome at desktop and phone sizes: every act and face rendered, and animation restarts counted before and after.npm run checkpasses (952 tests).🤖 Generated with Claude Code