Skip to content

A README that shows the application and pictures - #2

Merged
chntnm merged 1 commit into
mainfrom
readme-and-captures
Sep 3, 2026
Merged

A README that shows the application and pictures#2
chntnm merged 1 commit into
mainfrom
readme-and-captures

Conversation

@chntnm

@chntnm chntnm commented Sep 3, 2026

Copy link
Copy Markdown
Owner

The README described phase 5 and claimed door swing, clearance and multi-floor were not built. All three have been for four phases. Rewritten against PLAN.md §12 rather than patched, including the part §12 does well: what is deferred, what is approximate, what is unmeasured, and what is synthetic. A README that only lists what works is the same silent lie as a stale screenshot.

Six captures, generated by driving the real app rather than taken by hand (pnpm media, a separate Playwright config so a GIF encode can never gate CI). They reuse e2e/coords.ts, so geometry is placed before anything zooms or fits — Fit invalidates that mapping — and each capture asserts the state it is photographing: the walk clip fails if the walker does not reach the bedroom, the clearance shot fails if the issue is not listed.

Two things the walkthrough clip needed. Aiming cannot use the turn keys: the walk loop caps a step at MAX_STEP_SECONDS, so holding a key through 150ms PNG encodes turns about 60 degrees where the clock says 90, and the walker misses the door. Mouse-look is applied per pointer event, so a 409px drag is exactly 90 degrees whatever the machine is doing. And the clip plays back at the rate its frames were actually taken, or a walk reads as a run.

tsconfig now includes media/, so the capture script is typechecked like everything else. CI is untouched and never runs it.

The README described phase 5 and claimed door swing, clearance and multi-floor
were not built. All three have been for four phases. Rewritten against PLAN.md
§12 rather than patched, including the part §12 does well: what is deferred,
what is approximate, what is unmeasured, and what is synthetic. A README that
only lists what works is the same silent lie as a stale screenshot.

Six captures, generated by driving the real app rather than taken by hand
(`pnpm media`, a separate Playwright config so a GIF encode can never gate CI).
They reuse e2e/coords.ts, so geometry is placed before anything zooms or fits —
Fit invalidates that mapping — and each capture asserts the state it is
photographing: the walk clip fails if the walker does not reach the bedroom, the
clearance shot fails if the issue is not listed.

Two things the walkthrough clip needed. Aiming cannot use the turn keys: the
walk loop caps a step at MAX_STEP_SECONDS, so holding a key through 150ms PNG
encodes turns about 60 degrees where the clock says 90, and the walker misses
the door. Mouse-look is applied per pointer event, so a 409px drag is exactly
90 degrees whatever the machine is doing. And the clip plays back at the rate
its frames were actually taken, or a walk reads as a run.

tsconfig now includes media/, so the capture script is typechecked like
everything else. CI is untouched and never runs it.

Claude-Session: https://claude.ai/code/session_01KFW9vbazRJhHnsDXiXP8ij
@chntnm
chntnm merged commit 2adb6b1 into main Sep 3, 2026
1 check passed
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