Skip to content

feat(shot): act on previews before the capture - #7

Merged
koji-1009 merged 1 commit into
mainfrom
feat/shot-actions
Sep 23, 2026
Merged

koji-1009 merged 1 commit into
mainfrom
feat/shot-actions

Conversation

@koji-1009

@koji-1009 koji-1009 commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

A preview showed only the state its construction gives, so a pressed, hovered, or focused button, or a checked or expanded widget, could not be shown as an image. shot now acts on every preview before the capture: every --tap in order, then one of --press, --hover, or --focus, each naming its widget by key:, text:, or type:. --focus draws the highlight a keyboard would; flutter_test runs as a touch device.

Shot with this branch against example/'s PrimaryButton (shutter shot --widget 'const Center(child: PrimaryButton(label: "Save"))' --import lib/ui/button.dart --size 200x80 ...):

no action --press text:Save --hover text:Save --focus type:FilledButton
Save button Save button pressed Save button hovered Save button focused

Part of the v0.2.0 stack: #7 → #8 → #9 → #10.

🤖 Generated with Claude Code

A preview showed only the state its construction gives, so a pressed,
hovered, or focused button, or a checked or expanded widget, could not
be shown as an image. shot now acts on every preview before the
capture: every --tap in order, then one of --press, --hover, or
--focus, each naming its widget by key:, text:, or type:. --focus draws
the highlight a keyboard would; flutter_test runs as a touch device.

After each action --settle is drawn in 16 ms frames: one long pump drew
only the first frame of the animation an action starts.

A target that matches no widget or several, that a pointer at its
centre does not reach, or that cannot take focus makes the shot an
error, as does a page that covers the preview after a tap. The run
records its actions; shot prints them, and diff prints both runs' when
they differ. Shot ids do not change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@koji-1009
koji-1009 added this pull request to stack #11 September 22, 2026 23:54
@koji-1009
koji-1009 merged commit e453d29 into main Sep 23, 2026
5 checks passed
@koji-1009
koji-1009 deleted the feat/shot-actions branch September 23, 2026 03:22
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