Buildings cast no shadows: daylight passes player-built pieces (t37)

The lighting finds its own roof per column, skipping walls, belts, tubes, machines and molds,
and lets light through them like air, in both looks. Natural rock still shades; the
simulation's roof (steam condensing under a built roof) is unchanged. New test/t_light.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 16:42:07 -04:00
co-authored by Claude Opus 5.5
parent 5ce44f842e
commit 20d0627d75
5 changed files with 94 additions and 5 deletions
+9
View File
@@ -4,6 +4,15 @@ 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-25: t37: buildings cast no shadows (Claude Code, Codex)
- `computeLight()` (`src/render/light.js`): a per-view-column light roof that skips player-built
cells (`builtForLight`: unnatural solids, block, machine or part cells), and built cells pass
light like air. `drawWorld()` stops marking built cells as shading terrain for the smooth look.
The simulation's `roofY` is untouched (built roofs still condense steam).
- `test/t_light.js`; screenshots `shots/t37-before-*.png`, `shots/t37-after-*.png`.
`run_all.py --browser` ALL PASSED.
## 2026-10-25: t34: the nozzle blows no further than it sucks (Claude Code, Codex)
- `toolBlow()` (`src/sim/vacuum.js`) aims at the capped point from `nozzle()` when the cursor is