From e697e40297fbcac45067ec9bd0529a1010adcc55 Mon Sep 17 00:00:00 2001 From: swipelab Date: Sat, 6 Jun 2026 14:40:02 +0300 Subject: [PATCH] =?UTF-8?q?FX1:=20README=20capture=20recipes=20=E2=80=94?= =?UTF-8?q?=20add=20render-readiness=20wait=20before=20screenshot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Screenshotting immediately after 'simctl launch' grabs the blank white launch screen, not the rendered board. Add an explicit 'sleep 2' between launch and screenshot in the main capture recipe, and state a once-stated render-readiness rule (near the first recipe) that every pinned-launch section below references, so a clean-checkout reader reproduces the board. Docs-only: no .sx/asset/golden change. --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e672d09..50d124c 100644 --- a/README.md +++ b/README.md @@ -49,12 +49,23 @@ udid=$(xcrun simctl list devices available | grep -Eo '[0-9A-Fa-f-]{36}' | head xcrun simctl boot "$udid" || true open -a Simulator -# Install, launch (bundle id co.swipelab.m3te), and screenshot: +# Install, launch (bundle id co.swipelab.m3te), wait for the board to render, then +# screenshot. The wait is REQUIRED: screenshotting immediately after `launch` grabs +# the blank white launch screen, before the scene has drawn. ~2 s is ample; poll the +# screenshot if you want it tighter. xcrun simctl install booted sx-out/ios/M3te.app xcrun simctl launch booted co.swipelab.m3te +sleep 2 xcrun simctl io booted screenshot /tmp/m3te.png ``` +> **Render-readiness wait — applies to every sim capture recipe in this README.** +> Each deterministic section below shows only the pinned `launch` command (it swaps a +> different scene in for the `launch` line above); capture it exactly as here — after +> the launch, **wait for the first rendered frame** (`sleep 2`, or poll the +> screenshot) **before** `xcrun simctl io booted screenshot`. Skipping the wait +> captures the white launch screen, not the board. + The screenshot should match `goldens/p6_idle_t0.png` (the resting candy board), modulo the status-bar clock — pixel-exact equality is not required; compare the board + HUD region, not the top status strip. A tap selects a cell; a swipe