Skip to content

[6/11] feat(art): Jenny's arena walls as a sprite - #222

Merged
arudaev merged 2 commits into
playtest/5-hero-outlinefrom
playtest/6-arena-walls-v2
Oct 25, 2026
Merged

arudaev merged 2 commits into
playtest/5-hero-outlinefrom
playtest/6-arena-walls-v2

Conversation

@arudaev

@arudaev arudaev commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Stack: 6 of 11 (playtest): base #216. Merge bottom-up, only on Alexander's word.

What and why

Alexander: "use image gen 2.5 to create every kind of visual sprite and UI element, aligned with the game's visual direction". Jenny's arena walls were the last code-drawn stand-ins in the slice (rectangles with hazard triangles). They're a sprite now:

the arena

  • Board arena-wall (gpt-image-2.5-sunburst; image 1 the approved coffee-machine sheet for the look, plus Jenny's sheet and the style master): a barrier column of red-and-white crowd-control panels strapped to a rusted pole, with tyre marks and a caged warning lamp. Two frames, lit and dark. It's 300 px tall in the game, as tall as the walls. The lamp blinks while the arena is closed and fades with the walls when she's beaten. Without the board, the old drawing stays as a fallback.
  • make_boards.py "despeckle": the model drew the lamp's glow as a soft halo, which the crush turned into scattered orange specks on any backdrop. Islands smaller than 12 px are dropped now; the halo attached to the lamp stays.
  • Checked over purple and white with scripts/backdrop_check.py (added in [4/11] feat(stage): platforms in Jenny's arena #215): no key specks, no soft pixels.

Issue

Refs #72 (playtest J7, the visible barrier)

Verification

  • npm test: 335 passed; tsc clean. pytest scripts: 116 passed (new: despeckle). check_docs clean.
  • backdrop_check.py on the board and the exported atlas: key 0, soft 0.
  • In the browser (dev server): in the rust maze, entering the arena started the fight (rev). Both walls are the new sprite at the gate (x 5431) and the far end (x 6011), standing on her floor at alpha 1.
  • Not done: Alexander's review of the board (🟨).

Replaces #217: the same commits replayed on the current base, so the stack merges cleanly without a force-push (the old branch conflicted after fixes were carried up the stack).

@vercel

vercel Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
wincs Ready Ready Preview Oct 25, 2026 11:58am UTC

Request Review

@github-actions github-actions Bot added area:art Sprite sheets, stage plates, direction pack area:enemies Autonomous robots and Jenny area:stage Chunks, layers, collision, clean/anomaly states area:pipeline Rerunnable art and export scripts labels Oct 25, 2026
@arudaev arudaev changed the title [6/8] feat(art): Jenny's arena walls as a sprite [6/9] feat(art): Jenny's arena walls as a sprite Oct 25, 2026
@arudaev
arudaev added this pull request to stack #230 October 25, 2026 10:14
@arudaev arudaev changed the title [6/9] feat(art): Jenny's arena walls as a sprite [6/10] feat(art): Jenny's arena walls as a sprite Oct 25, 2026
@arudaev
arudaev force-pushed the playtest/6-arena-walls-v2 branch from 87d6ad8 to b2af17d Compare October 25, 2026 10:23
…warning lamp

The walls were code-drawn rectangles with hazard stripes. One board
(arena-wall), drawn in the game's look from the approved prop sheet:
red-and-white crowd-control panels strapped to a rusted pole, a caged
lamp that blinks while the arena is closed. make_boards gets
"despeckle": the lamp's halo crushed into scattered specks that showed
on every backdrop. Checked over purple and white (backdrop_check.py).

Refs #72
Rebuilding this branch read git's output in the Windows code page, so
boards.json and the sprite pages came back double-encoded (the review
marks no longer read as approved, assets.py status disagreed on 21
boards). boards.json is rebuilt from the UTF-8 sources and the pages
regenerated; references/reading-order.json had the same damage on main.
check_docs.py now fails on double-encoded text in .md/.json/.ts/.py/.csv.

Refs #72
@arudaev
arudaev force-pushed the playtest/6-arena-walls-v2 branch from b2af17d to b0a7157 Compare October 25, 2026 11:57
@arudaev arudaev changed the title [6/10] feat(art): Jenny's arena walls as a sprite [6/11] feat(art): Jenny's arena walls as a sprite Oct 25, 2026
@arudaev
arudaev merged commit c862498 into main Oct 25, 2026
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:art Sprite sheets, stage plates, direction pack area:enemies Autonomous robots and Jenny area:pipeline Rerunnable art and export scripts area:stage Chunks, layers, collision, clean/anomaly states

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant