55 Commits
Author SHA1 Message Date
44r0n7andClaude Opus 5.5 20963c776e WebGPU renderer complete: dirty uploads, default limits, legacy removed, WebGPU required, warm-up (t88 phase 2d)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:17:17 -04:00
44r0n7andClaude Opus 5.5 452b6aed32 Smooth look on WebGPU: WGSL port fed by GPU inputs and CPU overrides (t88 phase 2c)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:42:12 -04:00
44r0n7andClaude Opus 5.5 fc05146887 WebGPU pixel look: GPU colours the world, CPU only rare cells (t88 phase 2a)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:49:36 -04:00
44r0n7andClaude Opus 5.5 b2c9ad9533 Served with isolation headers; start-screen capability notices; tests on the real GPU (t88 phase 1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:11:42 -04:00
44r0n7andClaude Opus 5.5 f193b1c76c Identify ores with the cursor: pinged veins, ores-only label, vein outline (t77)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:43:49 -04:00
44r0n7andClaude Opus 5.5 18528a7f73 Shift-drag draws a line for belts and other transport pieces
Belts, filters, screw conveyors, shafts and pipe pieces never fill a rectangle;
a diagonal belt drag stays sloped with Shift held.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:27:06 -04:00
44r0n7andClaude Opus 5.5 578b55316b Sloped belts hold their load with moving cleats (t42); sloped filters are downhill shaking screens (t43)
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>
2026-10-26 19:47:59 -04:00
44r0n7andClaude Opus 5.5 1f8a89db6a Rename screw tubes to screw conveyors (t44)
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>
2026-10-26 18:59:13 -04:00
44r0n7andClaude Opus 5.5 b74a9173eb Silo contents at a glance (t38); drill aimed past its reach stays calm (t41)
Silos show a wide fill window in the material's colour in both looks,
and the cursor label names the contents anywhere over the outline.
Aiming the drill beyond its reach keeps normal colours, marks where the
pulse stops, and drops the red circle and the out-of-reach toast.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:40:05 -04:00
44r0n7andClaude Opus 5.5 814b51df46 Wall drags at 45° lay slopes; diagonal tubes drawn as one pipe; no side arrow on drag ghosts (t35, t36)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:20:48 -04:00
44r0n7andClaude Opus 5.5 8087c28cb5 Diagonal screw tubes, laid by a 45° drag (t35)
- 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>
2026-10-25 17:37:30 -04:00
44r0n7andClaude Opus 5.5 381019b7aa Sloped walls with a flat 45° face, and diagonal wall lines (t36)
- New Sloped wall piece: a half-block triangle in any wall material, at half a wall's cost.
  Dragging walls or slopes at about 45° lays a diagonal line; the drag picks the slope's
  orientation and T flips or turns it.
- Each slope fills one cell past its corner, so a diagonal run is sealed against grains and water.
- New test/t_slopes.js: a slope funnel passes 400/400 sand (square steps 379/400).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:17:51 -04:00
44r0n7andClaude Opus 5.5 1a300bf744 Loose grains and solid ground look different: a seam on the rock, pebbly lighter grains (t33)
- Smooth look: natural ground gets a soft seam where loose grains meet it; packed grains keep a
  pebble texture and are slightly lighter. Pixel look and thermal lens: the same idea per pixel.
- play.py: the F-on-a-mold toast check records toasts the key press makes instead of counting
  the ones on screen, which failed when an older toast expired at the same moment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:59:54 -04:00
44r0n7andClaude Opus 5.5 5ce44f842e The nozzle blows no further than it sucks (t34)
With the cursor outside the reach circle, blown grains aim at the circle's edge in the cursor's
direction instead of flying all the way to the cursor, and the blow preview stops there too.
New test/t_nozzle.js and a play.py preview check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:35:38 -04:00
44r0n7andClaude Opus 5.5 99d04b4972 Bar rack blocks: store 50 bars each, F lets them out oldest first (t1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 19:53:09 -04:00
44r0n7andClaude Opus 5.5 c8d397e19a Minimap with zoom in the bottom right, full map on M; cards move to the bottom centre (t32)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 19:23:43 -04:00
44r0n7andClaude Opus 5.5 945e5205b8 New worlds get generated camp names like new claims (t3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 19:00:22 -04:00
44r0n7andClaude Opus 5.5 66543bbd4b Progress bar and steps while generating, loading, opening claims and travelling; saving chip (t30)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:54:06 -04:00
44r0n7andClaude Opus 5.5 4d5fca6dae New claims get camp names from their seed, renameable from the Claims tab; add t30 (t3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:38:26 -04:00
44r0n7andClaude Opus 5.5 28893c93bc New claims: open another claim once one is paid off, travel between them (t3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:06:01 -04:00
44r0n7andClaude Opus 5.5 282e9ce9ab Huge world size, and saves are gzip-compressed (about 60x smaller) (t3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 17:51:42 -04:00
44r0n7andClaude Opus 5.5 c7256557bb Brick press: clay lumps into green bricks that fire into Bricks (t28)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:55:54 -04:00
44r0n7andClaude Opus 5.5 94891db349 Grinders look like a pair of grinding wheels, Saws like a round blade (t4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:43:15 -04:00
44r0n7andClaude Opus 5.5 8d9e9c546b Grinder and Saw hopper blocks replace the Refiner and Stone cutter in the menu (t4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:06:51 -04:00
44r0n7andClaude Opus 5.5 01403bb95e Pneumatic nozzle: air streaks while sucking and blowing (t25)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:27:18 -04:00
44r0n7andClaude Opus 5.5 c95cc48340 The Vacuum is renamed the Pneumatic nozzle, with a title row in its card (t26)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:18:52 -04:00
44r0n7andClaude Opus 5.5 67b6aba6eb Tool messages show as toasts, the card status line is gone (t27)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:14:46 -04:00
44r0n7andClaude Opus 5.5 196ce5ce62 Bag: hint and Clear selection stay visible under the list (t20)
The hint and Clear button were inside the scrolling bag list, so a long
Ctrl list scrolled them away. They now sit in a footer under the list, and
Clear is a full-width, highlighted "Clear selection" button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:29:02 -04:00
44r0n7andClaude Opus 5.5 d643718c48 Vacuum: deselect what is blown out, Ctrl + wheel scrolls the bag, Ctrl+click fix (t20)
Blowing out the last of a selected material removes it from the selection,
so an emptied selection picks up what you click again. Ctrl + wheel never
zooms the page and scrolls the bag list under the mouse. A bag click while
Ctrl is held adds to the selection even if the click lacks the Ctrl flag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:16:47 -04:00
44r0n7andClaude Opus 5.5 2cf9cb843c Vacuum: one selection for pick-up and blow, full list while Ctrl is held (t20)
With anything selected a drag takes only the selection; with nothing
selected it takes what you click. Right click blows the selected materials
in the bag. Holding Ctrl lists every material found so far under "Not in
bag". Selections stay when materials run out; Clear button, clicking the
only selected row, or gamepad B clears.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:57:43 -04:00
44r0n7andClaude Opus 5.5 c1a085ebb1 Vacuum: pick up what you click, blow out what's in hand (t20)
A drag takes only the material it starts on (Shift: everything). The blow
selection is the hand: click or Q/E for one material, Ctrl+click for a mix.
Empty materials leave the hand, an empty hand blows nothing, and a pickup
fills an empty hand. Removes the pick-up marks and the F vacuum menu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:34:44 -04:00
44r0n7andClaude Opus 5.5 14194cb4be Fog of war: unexplored is black, fades ease into it with no stepped rim (t17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:59:00 -04:00
44r0n7andClaude Opus 5.5 ec687b8c6c Vacuum: holding Shift shows the blow-everything mix on the card and in the bag (t19)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:59:05 -04:00
44r0n7andClaude Opus 5.5 209d065f4e Vacuum: Shift blows everything, Ctrl+click in the bag, one-line menu rows (t16)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:52:56 -04:00
44r0n7andClaude Opus 5.5 aa46406c92 Vacuum menu on F replaces the pick-up modes (t16)
Pick-up takes everything unless something is marked; F with the Vacuum
(when nothing in reach can be used) or the card chips open a menu with
pick-up and blow toggles per material. The bag rows lose their buttons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:28:56 -04:00
44r0n7andClaude Opus 5.5 255824ec6d Vacuum controls: pick-up modes and separate pick-up and blow marks in the bag (t6, t15)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:54:12 -04:00
44r0n7andClaude Opus 5.5 152a2af6df Fog of war: underground is black until the bot has seen it (t8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:37:34 -04:00
44r0n7andClaude Opus 5.5 a730a7d73c Material menu for walls and molds, opened with F (t5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:26:29 -04:00
44r0n7andClaude Opus 5.5 f3cedcacc8 Name box in the New world panel (t10)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:19:25 -04:00
44r0n7andClaude Opus 5.5 36f82712ab Setting to stop the camera drifting toward the pointer (t7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:15:36 -04:00
44r0n7andClaude Opus 5.5 f822db8c50 Loading a world clears cards left from the last one (t11)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:04:25 -04:00
44r0n7andClaude Opus 5.5 dc873ecb8b Several worlds: a Worlds list with load, rename and delete; old save migrates to World 1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 00:20:18 -04:00
44r0n7andClaude Opus 5.5 ddfe78cf01 Build card describes the build tool in general, not the selected piece
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:42:38 -04:00
44r0n7andClaude Opus 5.5 c50444b333 World sounds are heard in a radius around the bot, not the view
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:40:08 -04:00
44r0n7andClaude Opus 5.5 daf91891fc F on an ingot mold does nothing and says nothing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:37:49 -04:00
44r0n7andClaude Opus 5.5 2b68b5d583 World sounds are local: fade with distance and pan (distant sizzles snapped constantly)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:08:10 -04:00
44r0n7andClaude Opus 5.5 10911d4c86 Fewer, smaller messages: mold percentages, markers for machine heat, short status lines
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:03:45 -04:00
44r0n7andClaude Opus 5.5 9bbddc1e20 Build tool: compact top-left card again; status row moved off the build bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 20:24:46 -04:00
44r0n7andClaude Opus 5.5 f953a9cc51 Replace is held G instead of Ctrl (Ctrl+W/Ctrl+D were hit while flying)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 20:16:59 -04:00
44r0n7andClaude Opus 5.5 97c5ca4668 Ask before leaving the page while a world is open (Ctrl+W closed the game)
Ctrl (replace) + W (fly) hits the browser's close-tab shortcut, which a page
cannot block. A beforeunload prompt now catches it. Autosave on hiding the
tab no longer depends on the audio context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:47:27 -04:00