diff --git a/.agents/skills/android-readme-screenshot-studio/SKILL.md b/.agents/skills/android-readme-screenshot-studio/SKILL.md index 33a131c9..3ee92705 100644 --- a/.agents/skills/android-readme-screenshot-studio/SKILL.md +++ b/.agents/skills/android-readme-screenshot-studio/SKILL.md @@ -152,6 +152,10 @@ animations, incomplete placement, or media that has not finished decoding. Crop only Android system chrome. Preserve Bitchat's app header, translucent overlap, content, and composer. Derive the crop from the observed status and navigation insets; do not blindly reuse pixel offsets from a different profile. +Because the app renders edge-to-edge, app controls may extend into the reported +navigation inset. Place the bottom crop after the final control outline and +shadow but before the system gesture affordance; removing the entire inset can +clip the app itself. Keep every final README screenshot in a matched portrait size. Use image inspection after the crop. File dimensions and a successful ADB diff --git a/.agents/skills/android-readme-screenshot-studio/evals/evals.json b/.agents/skills/android-readme-screenshot-studio/evals/evals.json index 3a30d3e3..9307b8a5 100644 --- a/.agents/skills/android-readme-screenshot-studio/evals/evals.json +++ b/.agents/skills/android-readme-screenshot-studio/evals/evals.json @@ -40,6 +40,20 @@ "Uses the PR merge-base and paired before/after capture workflow.", "Publishes only the requested PR comment rather than opening an unrelated screenshot PR." ] + }, + { + "id": 4, + "prompt": "The bottom of one or both README showcase screenshots is cropped. Correct the images without changing their content, update the screenshot skill so this does not recur, and open a new PR.", + "expected_output": "The agent inspects both merged assets at full size, identifies every affected screen, recaptures from the real app with the existing deterministic fixtures, and treats the navigation inset as an inspection region rather than an automatic crop. The final crop preserves complete app controls while excluding the system gesture affordance, keeps the pair matched, adds a reusable edge-to-edge guardrail to the skill, validates and visually inspects both images, and opens a sanitized PR.", + "files": [], + "expectations": [ + "Inspects both screenshots and corrects every affected asset rather than assuming only one is cropped.", + "Recaptures the real app with the established deterministic synthetic content instead of padding or compositing the merged PNGs.", + "Uses accessibility bounds and full-size pixel inspection to place the bottom crop after complete app controls and before system gesture chrome.", + "Verifies the entire chat composer border and bottom padding plus every globe action-button corner and shadow are visible.", + "Keeps paired screenshots at identical dimensions and passes the screenshot validator and clean debug build.", + "Updates the skill with a general edge-to-edge crop rule and publishes no device or machine identifiers." + ] } ] } diff --git a/.agents/skills/android-readme-screenshot-studio/references/showcase-recipes.md b/.agents/skills/android-readme-screenshot-studio/references/showcase-recipes.md index cae20221..b77979da 100644 --- a/.agents/skills/android-readme-screenshot-studio/references/showcase-recipes.md +++ b/.agents/skills/android-readme-screenshot-studio/references/showcase-recipes.md @@ -222,6 +222,12 @@ Reject the capture when: Capture the full physical screen first. Determine the status-bar and navigation-bar insets from the current profile, then crop those insets only. +Treat the navigation inset as an inspection region, not an automatic crop +amount. Bitchat uses edge-to-edge layout, so the composer's border, globe-button +corners, or their shadows may occupy part of that region. Use accessibility +bounds plus full-size pixel inspection to place the crop below every app +control and above the system gesture affordance. + Treat previously observed crop offsets as local evidence, not as a universal rule or repository documentation. Re-measure when the profile changes. @@ -244,6 +250,7 @@ Every paired README image should: - [ ] Waveforms were extracted from real speech audio and look distinct. - [ ] Final reaction is visible above the composer. - [ ] Header peer count and nickname are synthetic and intentional. +- [ ] The complete composer border and bottom padding are visible. ### Globe @@ -252,6 +259,7 @@ Every paired README image should: - [ ] Whole Earth and grid are visible. - [ ] Selected cell and crosshair are legible. - [ ] Hint and precision controls are unobstructed. +- [ ] Every action-button corner and shadow is fully visible. ### Repository diff --git a/docs/screenshots/readme-geohash-globe.png b/docs/screenshots/readme-geohash-globe.png index 67829a9e..7bb99710 100644 Binary files a/docs/screenshots/readme-geohash-globe.png and b/docs/screenshots/readme-geohash-globe.png differ diff --git a/docs/screenshots/readme-mesh-chat.png b/docs/screenshots/readme-mesh-chat.png index 477f2668..5c9f98bd 100644 Binary files a/docs/screenshots/readme-mesh-chat.png and b/docs/screenshots/readme-mesh-chat.png differ