Downhill screens no longer shake on screen (t106)
This commit is contained in:
+8
-4
@@ -98,6 +98,10 @@ Details and numbers live in the code and in `docs/systems/`.
|
||||
|
||||
## Decisions
|
||||
|
||||
- **Screen frames stay still (t106, 2026-10-30).** Removed visual shake from loaded
|
||||
downhill screens in both looks: the owner dislikes it and wants consistency with flat
|
||||
filters. Screens no longer shake visually; grain movement and sorting are unchanged.
|
||||
|
||||
- **Transport matches the t45 belt (t105, 2026-10-30).** The owner approved the flat belt
|
||||
and asked for the other transport pieces to keep the same pace and flow through mixed lines.
|
||||
The flat belt stays unchanged: 30 cells/s, 30 grains/s with one layer and 90 grains/s with a
|
||||
@@ -434,8 +438,8 @@ above, including:
|
||||
- **Conveyor drawing and sleep follow-up (t42/t43, 2026-10-26).** The owner wants visible
|
||||
rubber ribs on the actual cleat raster, filled corrugated far walls behind the load, and
|
||||
smooth continuous mesh with rails for inclined screens. Walls stop at the slope ends;
|
||||
only loaded screens shake. Empty moving cleats must let chunks sleep. Keep pocket transport,
|
||||
uphill throughput near 71 grains/s and exact sorting unchanged.
|
||||
screens no longer shake visually (t106). Empty moving cleats must let chunks sleep. Keep
|
||||
pocket transport, uphill throughput near 71 grains/s and exact sorting unchanged.
|
||||
|
||||
- **Sidewall belts with moving cleats (t42, 2026-10-26; physics replaced by the entry below).** To replace the old full-column
|
||||
grip, use moving barrier lines rather than material cells: the barrier mask blocks normal
|
||||
@@ -455,8 +459,8 @@ above, including:
|
||||
with one mesh-contact nudge every 4 ticks (15 downhill steps/s plus gravity). Unselected
|
||||
bars step on that same cadence; selected bars fall through. Flat filters retain their
|
||||
linear transport. Sorting both slope shapes in either mode conserves the complete mix.
|
||||
Both looks use a sturdy mesh frame with a small tick-based shake only while loaded;
|
||||
idle mesh has no running belt animation. No old uphill-save migration was added.
|
||||
Both looks use a sturdy mesh frame that no longer shakes visually (t106);
|
||||
mesh has no running belt animation. No old uphill-save migration was added.
|
||||
|
||||
- **Screw conveyors stay, in every direction (2026-10-26).** The owner asked whether screw
|
||||
conveyors are still needed now that belts climb 45°, whether they're realistic, and what a
|
||||
|
||||
+3
-3
@@ -412,9 +412,9 @@ Drawing (src/render/): browser only. This file: the renderer state R, colour tab
|
||||
- functions: glowIndex, thermIdx, pipeCellColor, pipeBodyCell, thinPipeColor, 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/slope-belts.js (167 lines)
|
||||
### src/render/slope-belts.js (158 lines)
|
||||
Drawing only: the face stays on its simulation cells; the band hangs below it.
|
||||
- functions: slopeBeltConnections, flatBeltCaps, prepareSlopeBelts, slopeBeltSegment, slopeBeltCorner, slopeBeltShape, slopeBeltAt, slopeBeltColor, screenLoaded, slopeWallShape, slopeWallAt, slopeDetailAt, slopePreviewCleat
|
||||
- functions: slopeBeltConnections, flatBeltCaps, prepareSlopeBelts, slopeBeltSegment, slopeBeltCorner, slopeBeltShape, slopeBeltAt, slopeBeltColor, slopeWallShape, slopeWallAt, slopeDetailAt, slopePreviewCleat
|
||||
- variables: slopeBeltJoins, slopeBeltHalo, beltCaps, slopeAcross, slopeAlong, slopeDistance, slopeWallOwner
|
||||
|
||||
### src/render/diagonal-screws.js (79 lines)
|
||||
@@ -449,7 +449,7 @@ GPU sources retain the CPU roof and transmission rules; directional relaxation f
|
||||
- functions: gpuLightGrid, gpuLightBindings, gpuLight
|
||||
- variables: GPU_LIGHT, GPU_LIGHT_SPREAD, GPU_LIGHT_PACK
|
||||
|
||||
### src/render/gpu/smooth-slope.js (107 lines)
|
||||
### src/render/gpu/smooth-slope.js (106 lines)
|
||||
Smooth slope geometry and cleats, ported from slope-belt-shader.js.
|
||||
- variables: GPU_SMOOTH_SLOPE_HELPERS, GPU_SMOOTH_SLOPE_DRAW
|
||||
|
||||
|
||||
@@ -354,3 +354,6 @@ chain's output, conservation and per-join load counts. It uses `test/fixtures/t1
|
||||
`t_threads.js` also compares that chain with 0/1/2/8 real workers. To photograph the same chain,
|
||||
pass the fixture followed by `tools/scenes/t105-chain.js` together as `tools/shot.py --js`
|
||||
(they must share one setup scope); use zoom 5, no lighting and a 1280×760 viewport. Check both looks when changing cleat geometry.
|
||||
|
||||
`t106`: `t_slope_belt_art.js` checks that a loaded screen keeps the empty frame at ticks 2
|
||||
and 4. Screens no longer shake visually in either look; grain movement is unchanged.
|
||||
|
||||
@@ -4,6 +4,21 @@ 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-30: t106 downhill screen frames stay still (Codex)
|
||||
|
||||
- Removed the loaded-screen shake flag, pixel/smooth drawing offsets and unused
|
||||
`screenLoaded` helper. No simulation files changed; all src/sim JavaScript hashes match.
|
||||
- Replaced the two shake checks with stable-frame equality at ticks 2 and 4; the new check
|
||||
fails before the fix and passes after. Recorded the owner decision; regenerated the map.
|
||||
- Files: render/{slope-belts,gpu/smooth-slope}, test/t_slope_belt_art.js,
|
||||
docs/{DESIGN,TESTING,PROJECT_MAP,agent-log}, task t106.
|
||||
- All 44 headless suites pass. Before/after raw output differs only in the replaced art checks
|
||||
(saved under /tmp/t106-{before,after}). Build and map check pass.
|
||||
- Browser golden fails at GPU.ok; smooth times out waiting for GAME.running. No workaround
|
||||
attempted. Full `run_all.py --browser`: all headless pass, 12 browser suites fail,
|
||||
Firefox smoke passes. Browser diagnostics report webgpu=false and SwiftShader; log at
|
||||
/tmp/t106-browser.log. Screenshots and owner visual check remain. Task in Review; no commit.
|
||||
|
||||
## 2026-10-30: t105 transport matches the t45 belt (Codex)
|
||||
|
||||
- Shared diagonal cadence, six-grain vertical slope beds, taller cleat pockets and four-lane
|
||||
|
||||
Reference in New Issue
Block a user