Skip to content

fix(birdsbirdbirds): fit the drawing page to the station viewport and fix the review's flow issues - #36

Merged
theycallmeswift merged 6 commits into
mainfrom
birds-fit-viewport
Nov 2, 2026
Merged

theycallmeswift merged 6 commits into
mainfrom
birds-fit-viewport

Conversation

@theycallmeswift

@theycallmeswift theycallmeswift commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

The BirdsBirdBirds drawing page now fits the station's ~1000×597 Chrome viewport, with Save my bird under the tools and the canvas sized to the remaining height. The skill now asks the gallery question before reporting the last step, ends with the finish line naming 150 pts, uses one Save label, and no longer claims the page is open while the preview dialog is still asking. Closes #33.

Decide

  • The issue asks for the sign-off "Press Finish to claim your 150 pts." boothstrap's base skill already tells Pi to say "All steps are done. Press Enter, or choose Finish, to claim your points." Two exact lines would compete, so the skill folds the points into the base line: "All steps are done. Press Enter, or choose Finish, to claim your 150 pts." Recommend: keep the folded line, because it keeps one finish instruction and still mentions Enter, which works too.
  • Nothing else.

Ready gate

Step Evidence
Tests and lint npm run verify: ok for all 4 packages. npm test: 264 pass, 0 fail. npm run lint: 0 issues. ✅
Red run The new 422-body assertion in test/birdsbirdbirds.test.mjs fails against main's server.mjs (pass 0, fail 1) and passes with the change. The page layout and status line have no test harness in this repo: browser tests would need a root dependency, which the repo doesn't allow. They were checked with a scratch Playwright script instead. At 1000×597 and 1280×597 the page doesn't scroll, the bottom of Save is at 449 px and the canvas is 506 px. At 375×667 and 600×800 the layout stacks with no horizontal scroll. The status line goes from the initial prompt to "Looking good!…" after a pen stroke, then to "Saved!". After a blank-canvas Save, the empty-canvas error stays through an eraser stroke and clears after a pen stroke. ⚠️ no committed browser test
Sibling sweep grep -rnE "press Save\b|click Save\b" across Markdown, JSON, .mjs and HTML: no hits left outside "Save my bird". ✅
Docs and specs The package README.md and intro.md still match. No docs/ change. ✅
Standalone run Pi 1.0.4 with pi-mcp-adapter 5.2.0, google/gemini-3.8-flash, following the authoring guide's standalone steps. Pi gave the page URL and never claimed to have opened it. The bird was drawn and saved at 1000×597. The [birdsbirdbirds] save message started a turn on its own, and Pi described the bird. Pi asked name, origin and flight one at a time, then wrote bird.json; the checker printed ok first time. The page switched to the sky. Pi named draw-bird, animate and fly in order, skipped the gallery and the boothstrap finish line, and cleanup exited 0. ✅
Editorial pass Independent subagent reviews against docs/style/ before each push. They removed the doubled status-prompt text and an unsupported "clears the bird" claim, guarded the status change behind a non-blank canvas, and reflowed the skill. ✅
Skipped tests None ✅
Secrets, permissions Not touched ✅

Overlap with #31: its TestDriver test clicks "Save my bird" (label unchanged) and then scrolls down to read the status. With this change the status sits under Save inside the viewport, so that scroll is no longer needed.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7c5d283f-7c77-4559-9d76-69be956193d3
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@theycallmeswift theycallmeswift left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Orchestrator review of f60c398. verify, npm test (264) and lint pass. In headless Chrome at 1000×597, 1280×597, 800×597 and 1000×560 the page doesn't scroll, Save sits at 393–449 px, and at 375×667 it stacks with no horizontal scroll. The Decide item (folding 150 pts into the base skill's finish line) is sound: the base skill requires that line word for word.

One change requested, because it's still part of the issue's stale-status item:

  • challenges/birdsbirdbirds/page/app.mjs (promptToSave): only the initial prompt is replaced after a stroke. Press Save on a blank canvas, then draw, and the red "The canvas is empty. Draw your bird first!" stays up. PR #31's test hits this path. Fix: pull that message into an EMPTY_PROMPT constant used by saveBird, and replace it after a stroke too (textContent === INITIAL_PROMPT || textContent === EMPTY_PROMPT). Replacing "Cleared. Undo brings it back." is optional.

Nit (take it with that push):

  • challenges/birdsbirdbirds/skills/start-challenge/SKILL.md (~line 45): "tell them to click Open preview, here "Click Open preview to start drawing."" reads oddly. Suggest: …whether to open the page. Say "Click **Open preview** to start drawing." Never say the page is open until a call returns navigated.

The standalone Pi run (Ready gate) still needs a GEMINI_API_KEY. That's with the user, so leave the PR as a draft.


Generated by Claude Code

@theycallmeswift
theycallmeswift marked this pull request as ready for review November 2, 2026 04:31
@theycallmeswift theycallmeswift self-assigned this Nov 2, 2026
theycallmeswift pushed a commit that referenced this pull request Nov 2, 2026
theycallmeswift added a commit that referenced this pull request Nov 2, 2026
…omes and fix the form's review issues (#37)

* fix(vibe-coding-mad-libs): match preview wording to show_preview outcomes and fix the form's review issues

* fix(vibe-coding-mad-libs): address review

Name the dice option Roll dice everywhere, keep the dice view's back hint
and whole rolls visible at narrow widths, word the form fallback as
something Pi can see, say previews are offered, and fix the standalone
snippet's package path.

* fix(vibe-coding-mad-libs): wrap a dice roll wider than the terminal

* fix: leave BirdsBirdBirds to #36

---------

Co-authored-by: Claude <noreply@anthropic.com>
@theycallmeswift
theycallmeswift merged commit f0d020d into main Nov 2, 2026
2 checks 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.

BirdsBirdBirds: fit the drawing page to the station viewport and fix the review's flow issues

2 participants