Skip to content

Bring screen-tour to main - #562

Merged
andiwand merged 2 commits into
mainfrom
chore/screen-tour-tool
Aug 2, 2026
Merged

Bring screen-tour to main#562
andiwand merged 2 commits into
mainfrom
chore/screen-tour-tool

Conversation

@andiwand

@andiwand andiwand commented Aug 2, 2026

Copy link
Copy Markdown
Member

tools/screen-tour was written on the redesign branch, where it produced the main-vs-redesign comparison PDF. Nothing in it is about that branch, and it is useful against any change that alters what the app looks like — so it should not have to wait for the redesign to land.

  • screen-tour.py walks a build through the screens that carry its design and photographs each one.
  • collage.py lays two builds' screenshots out side by side as a PDF at 300 dpi.
  • story.json holds what each page says, so that is the file to edit when the design changes rather than the code.

One tour walks both designs — each step looks for a toolbar item or a floating button and takes whichever is on screen — so it keeps working across a branch that moves things.

What is in the diff

The four files under tools/screen-tour/ are unchanged from f676ebaa and 56795abf on redesign. Only the CLAUDE.md entry is rewritten, because that file has a different shape here than it does there; the new ## Tools section covers both render-sweep (already on main, previously undocumented) and screen-tour.

Also ignores python bytecode — running the tool leaves a __pycache__ next to it, which kept showing up as untracked — and .claude/.

Verification

screen-tour.py and collage.py byte-compile, story.json parses. The tool itself needs a device on adb and Pillow; it asserts nothing and fails no build, so it is not wired into CI.

Note this will conflict trivially with redesign when that merges, since the same files land there — resolve in favour of whichever is newer.

🤖 Generated with Claude Code

The tool was written on the redesign branch, where it produced the main-vs-
redesign comparison, but nothing in it is about that branch: it walks a build
through the screens that carry its design and photographs each one, and collage.py
lays two builds' screenshots out side by side as a PDF. One tour walks both
designs - each step looks for a toolbar item or a floating button and takes
whichever is on screen - so it keeps working across a branch that moves things.

Useful against any change that alters what the app looks like, so it should not
have to wait for the redesign to land. The files are unchanged from f676eba and
56795ab; only the CLAUDE.md entry is rewritten, because that file has a different
shape here than on redesign.

Also ignore python bytecode. Running the tool leaves a __pycache__ next to it and
it kept showing up as untracked.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1ANEeai87KtnX5pBzgDEJ

@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: f22f71f028

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread tools/screen-tour/screen-tour.py Outdated
Comment thread tools/screen-tour/collage.py
Two things it had baked in from the machine it was written on.

The system picker row is called "Documents" on some devices and "Files" on others,
and the tour only knew "Files" - on those devices it never leaves the chooser, then
hunts for filenames in a chooser that is still open. The instrumented tests already
match both names, so match the same pair.

collage.py only listed macOS font paths and fell back to ImageFont.load_default(),
which ignores the requested size: at 300 dpi every title and caption would come out
as specks, quietly, in a PDF whose whole job is to be looked at. Add the usual linux
paths and fail with something actionable if none of them are there.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1ANEeai87KtnX5pBzgDEJ
@andiwand
andiwand merged commit 978ddd2 into main Aug 2, 2026
7 checks passed
@andiwand
andiwand deleted the chore/screen-tour-tool branch August 2, 2026 19:37
andiwand added a commit that referenced this pull request Aug 2, 2026
Brings in #559 through #562: the in-app review fixes, the save path, and
screen-tour.

Three conflicts worth naming.

tools/screen-tour is the same tool on both sides - main took it from here, then
fixed two things review found. Resolved to main's copy, so this branch picks the
fixes up: the system picker row is called "Documents" as well as "Files", and
collage.py had macOS-only font paths behind a fallback that silently ignores the
requested size.

MainActivity's picker conflict is main still having the "Open document via:"
chooser this branch deleted. Kept this branch's version, which goes straight to
the system picker, and moved main's leftForOwnActivity marker onto the one launch
site that survived - it is what stops a return from the picker counting as the
user opening the app.

CLAUDE.md already documents the tools here, so main's copy of that section is
dropped rather than added twice.

spotlessCheck, both debug variants, lintProDebug and testProDebugUnitTest pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1ANEeai87KtnX5pBzgDEJ
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.

1 participant