Silo: pixel-art version for the pixel look

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 23:16:27 -04:00
co-authored by Claude Opus 5.5
parent edcdf2f900
commit 995ecaa6fb
5 changed files with 71 additions and 2 deletions
+3
View File
@@ -183,6 +183,9 @@ above, including:
in an older world but not in a new one. Most likely the sizzle: in a test, a lava and water
contact far from the bot sizzled about 580 times a minute, all played at full volume.
- **The silo has pixel art in the pixel look**, drawn grain by grain like the rest of the world;
the smooth look keeps the illustrated silo. The owner noticed it looked the same in both.
## Ideas not built yet
- **Concrete**, as a stronger wall material from rubble.
+3 -2
View File
@@ -341,9 +341,9 @@ drawWorld: the per-grain pixel buffer (pixel look), also the input of the smooth
- functions: drawWorld
- variables: TUBE_CLASS
### src/render/machines.js (157 lines)
### src/render/machines.js (197 lines)
Machine overlays: fans, engines, refiner, cutter, silo and the rest, drawn on top of the world.
- functions: cellRect, drawHazardRims, drawMachines, drawSilo
- functions: cellRect, drawHazardRims, drawMachines, drawSilo, drawSiloPixel
### src/render/overlays.js (228 lines)
Other overlays: floating text, rain and snow, flow arrows, filter tags, molds, the bot, particles.
@@ -470,4 +470,5 @@ The frame loop and boot.
- `tools/scenes/belt-heap.js`: A belt feeding an upward screw: sand underneath a deep heap of copper ore. Run clear-sky.js first, e.g. python3 tools/shot.py /tmp/belt-heap.png --setup tools/scenes/clear-sky.js --js "$(cat tools/scenes/belt-heap.js)" --ticks 240 --zoom 7
- `tools/scenes/clear-sky.js`: A clear work area left of the bot's starting point (the trade dock is to its right): open sky 160 grains wide and 40 tall, over a flat stone floor. Money and a bag of building stuff to build with. Sets FLOOR (the first row of the floor), BX, BY (the leftmost block of the area that stands on the floor) and CAM (the middle of the area).
- `tools/scenes/mold-labels.js`: Run after clear-sky.js: filling, blocked, set, and hot machinery in one view.
- `tools/scenes/silo.js`: Run after clear-sky.js; leave paused so the open gate keeps its demonstration charge.
- `tools/scenes/stone-uses.js`: The stone and sand machines: a half-full silo with its gate open over a belt, a stone cutter fed with rubble, and cut stone and glass brick walls. Run clear-sky.js first, e.g. python3 tools/shot.py /tmp/stone.png --setup tools/scenes/clear-sky.js --js "$(cat tools/scenes/stone-uses.js)" --ticks 240 --zoom 7
+16
View File
@@ -4,6 +4,22 @@ What agents have done, newest first. Add an entry for every piece of work: the d
note or request it was for, what changed, the files touched, the tests run, and anything left
open or not verified. Keep each entry short; the git history has the details.
## 2026-10-23: pixel-art silo for the pixel look (Claude Code, with Codex)
Note: "the silo art looks the same for both pixelated graphiocs and smooth."
- `src/render/machines.js`: `drawSilo` is the smooth (illustrated) version as before; in the
pixel look `drawSiloPixel` draws it grain by grain: a drum shaded by column with rib rows and
ladder rungs, a cone to the slide gate, legs, the roof hatch with its lid, and the sight glass
filling in the contents colour. Codex's first version read poorly (dark side columns made
the drum look narrow); Claude redrew the grain layout.
- `tools/scenes/silo.js` (run after `clear-sky.js`): three silos, empty, half sand, nearly full
copper ore with the gate open. Shots `shots/silo-*.png` at zoom 6 and 12; smooth shots match
the before shots pixel for pixel. `docs/DESIGN.md`, `docs/PROJECT_MAP.md`.
- Tests: all 11 headless suites and `play.py` (129) pass. `t_smooth.py`'s half-resolution check
failed twice on the slow fallback at load ~5 (known flaky; it passed in the previous task).
- Open: nothing.
## 2026-10-23: world sounds are local (Claude Code, with Codex)
Note: "there is a sound effect that seems to happen randomly but constantly… maybe the sound