Grains riding a belt or filter cast no shadow (t37)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 20:04:44 -04:00
co-authored by Claude Opus 5.5
parent 8087c28cb5
commit f744d786f1
4 changed files with 64 additions and 4 deletions
+2 -2
View File
@@ -352,9 +352,9 @@ Drawing (src/render/): browser only. This file: the renderer state R, colour tab
- functions: glowIndex, thermIdx, pipeCellColor, pipeBodyCell, thinPipeColor, beltLike, buildSky, initRender, resizeRender, viewCells, updateCamera, snapCamera, screenToWorld, worldToScreenPx, renderMonoFont
- variables: R, GLOW_W, GLOW_R, GLOW_G, GLOW_B, THERM, PC, TREE_R, TREE_G, TREE_B, BG, SKY_R, SKY_G, SKY_B
### src/render/light.js (95 lines)
### src/render/light.js (103 lines)
Propagated coloured light from glowing and burning cells.
- functions: builtForLight, computeLight
- functions: builtForLight, onBeltForLight, computeLight
### src/render/world.js (332 lines)
Scale colour without changing the smooth-look class.
+8
View File
@@ -4,6 +4,14 @@ 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 follow-up: belt loads cast no shadows (Claude Code, Codex)
- The owner saw grains riding a belt overhead still shading the ground. `onBeltForLight(i)` in
`src/render/light.js` walks down through up to 12 loose cells to a belt or filter; such cells
are skipped by the light roof and pass light like air. `builtForLight` is unchanged, so the t33
loose-grain shading still applies to belt loads. Heaps on rock, silos and wall floors still shade.
- `test/t_light.js` (56 checks); `run_all.py --browser` ALL PASSED.
## 2026-10-25: t35: diagonal screw tubes (Claude Code, Codex)
- Parts `P_TUR`..`P_TUL` (11-14), `TUBE_PARTS`, and an `IS_TUBE` table replacing every