Far sidewall drawn behind the load with cleat ribs at their physics
positions; sloped screens get a tinted mesh between rails and shake only
when loaded. Powder skips cleat checks outside chunks that have cleats,
and empty slopes let their chunks sleep. Record the screw conveyor and
stall/carry-depth decisions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The magic grip is gone: cleats every 8 face cells, 6 grains tall, carry
pockets uphill (about 71 grains/s against 90 flat) and overflow rolls
back. Sloped filters always run downhill; grains travel by gravity and
a shake, and sorting stays exact. Drawing needs another pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Player text says Screw conveyor; code uses screw (BP_SCREW, piece id
screw, screwIntake...). No compatibility code for old saves or
blueprints. Suite outputs match before and after apart from names.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Tubes run in eight directions: a drag at about 45° lays a diagonal run, R cycles all eight.
- Diagonal runs carry grains at the straight rate (120 grains/s), join straight tubes and belts,
keep grains in at the corners, pass water, and carry bars level.
- New part ids 11-14 (saved ids are never renumbered); tube checks use an IS_TUBE table.
- New test/t_diag_tubes.js (85 checks).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Areas within 150 grains of the bot start at once; the others 12 a tick, nearest first, and any
the bot flies toward start straight away. A Huge world is fully started after 17 s.
- Huge world, first 600 ticks: average 15.2 -> 5.5 ms/tick, worst 79.7 -> 16.2.
- New test/t_load.js.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- One helper each for wall and mold refunds, tube edges and lanes, pipe text, piece dimensions,
font lookup, reach circles and surface averaging.
- previews, smooth, notebook, materials, worldgen and selection split into topic files
(preview-drill, preview-selection, smooth-shaders, notebook-market, notebook-blueprints,
material-tables, worldgen-helpers, selection-pickers, selection-panels).
- Every suite's output identical apart from timings; seeds make the same worlds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The roof is rescanned only in area columns that changed since the last scan: a quiet Huge
world goes from 4.60 to 1.88 ms per scan (every 20 ticks).
- The heat pass skips react() for solids and powders below their first reaction threshold:
Huge world digging 2.54 -> 2.34 ms/tick, quiet 1.39 -> 1.18.
- Every suite's output is identical apart from timing lines; seeds make the same worlds.
- test/t_sim_optimizations.js checks the dirty roof against a full scan and the heat loop
against the reference loop byte for byte.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- SORTP 0.003 -> 0.06: ore sinks through 8 rows of ash in about 7 s near the bot.
- wakeBotPowder(): every 8 ticks, areas with loose grains within 100 grains of the bot get a
sorting chance; far away, resting piles still sleep.
- Sinking through burning fuel stays at 0.003, so buried burning piles still char and furnace
beds behave as tuned. World generation settles at the old rate: seeds are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The game as of artifact version 24, ready for local development with
coding agents.
- Source split from three large files into 52 small ones under src/sim,
src/render and src/ui, joined in the order in src/manifest.json by
build.py. The joined code is unchanged apart from comments; every
headless suite gives the same output, and screenshots in both looks
are pixel-identical to before.
- Light tidying with no change in behaviour: one movement scan loop,
shared hazard-stripe and belt shader helpers, unused code removed, a
shared check helper for the test suites.
- World files can be exported as an ordinary download outside claude.ai.
- Tests: broken old scripts removed, experiments moved to tools/,
test/run_all.py added. Tools: shot.py (repeatable screenshots),
where.py, map.py.
- Docs: AGENTS.md, CLAUDE.md, NOTES.md (the owner's to-do inbox),
docs/PROJECT_MAP.md, DESIGN.md, TESTING.md, systems notes, the
owner's requests and an agent log.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K9kLmYADKSEjuwUN3rFxDA