Commit Graph
80 Commits
Author SHA1 Message Date
44r0n7andClaude Opus 5.5 7468d00efb Multi-core simulation: grain movement and heat across a worker pool (t88 phase 3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 03:23:43 -04:00
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 31e3005816 Lighting on the GPU in the WebGPU path (t88 phase 2b)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:01:15 -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 9781aa3ee1 Profiler: real-GPU breakdown by zoom, look and scene, with a baseline (t88 phase 0)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:31:43 -04:00
44r0n7andClaude Opus 5.5 0ad3561e6a Hide the system pointer over the game; the game draws its own aim
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:43:49 -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 f4ca1cae57 Ping: veins fade outward in the order found, faster; recharge arc with the drill (t75)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:23:25 -04:00
44r0n7andClaude Opus 5.5 29eee51e35 Ping: 10 s recharge with a panel chip, natural ore colours with a rim, glints (t75)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:12:09 -04:00
44r0n7andClaude Opus 5.5 a671dcb59a Bag: rock goes in as rubble, older saves convert, list shows everything held
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:53:40 -04:00
44r0n7andClaude Opus 5.5 569ec6e5b6 Resonance ping: right click with the drill lights up nearby veins through fog (t50)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:47:35 -04:00
44r0n7andClaude Opus 5.5 ef4ba6d24a Build range follows the screen; out-of-range replace ghosts replace (t64)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:41:32 -04:00
44r0n7andClaude Opus 5.5 9fc1b92080 Throughput in the info overlay: grains per second and backing-up glow (t49)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:21:48 -04:00
44r0n7andClaude Opus 5.5 ccca66c0c1 "Doesn't connect" marks on transport ends that would join one block off (t67 phase 4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:23:08 -04:00
44r0n7andClaude Opus 5.5 72efe85a1b Shared drag placement; drags snap one block to join a diagonal (t67 phases 3-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:08:37 -04:00
44r0n7andClaude Opus 5.5 dd8068dfe6 Dev console: money, items, upgrades, free build, speed (t66)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:30:37 -04:00
44r0n7andClaude Opus 5.5 45538cc18e Joins follow the travel direction: the next piece goes right after the end (t67 phase 2b)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:09:28 -04:00
44r0n7andClaude Opus 5.5 fd35bf334f Screw conveyors join by the shared rule: low ends and verticals join in the corner block (t67 phase 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:30:44 -04:00
44r0n7andClaude Opus 5.5 65338b2b27 Shared join module for transport pieces; belt drawing uses it (t67 phase 1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:00:43 -04:00
44r0n7andClaude Opus 5.5 ff9fd7b1b8 Screw conveyors join across the corner to diagonals (t62)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 12:12:44 -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 be93ad1251 Downhill sloped belts draw as plain belts, ghosts and previews too
Downhill runs have no cleats, so they no longer draw the sidewall or
ribs either: placed, as ghosts, or in the drag preview, which now knows
the belt's direction. Uphill runs keep the wall and ribs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:46:34 -04:00
44r0n7andClaude Opus 5.5 2e5ad0f1a1 Uphill runs share one cleat phase; no cleats downhill; pick slope bands
A piece added to a running sloped belt kept its own cleat phase, so at
the seam a rib could start just behind another and push its pocket into
it, stalling the whole run with only a few grains. Every block of a run
now takes the phase of the run's lower-left block.

Downhill sloped belts no longer have cleats: they carry like a flat belt
(90 grains/s, was 38) and draw only the sidewall.

Middle click on a sloped belt's band, where it is drawn into the empty
block beside it, now picks the belt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:31:01 -04:00
44r0n7andClaude Opus 5.5 3ee85429fd Sidewall belt and screen drawing, cheaper cleat checks (t42, t43)
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>
2026-10-26 20:08:21 -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 0cf615eb3d Sloped belts and filters drawn as one belt turned to 45° (t40)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:50:45 -04:00
44r0n7andClaude Opus 5.5 e19cb784d2 Sloped belts and filters, laid by a 45° drag (t40)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:17:55 -04:00
44r0n7andClaude Opus 5.5 24eb9559f8 Diagonal tubes as thick as straight ones, with centred elbows where they join (t35)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:40:52 -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 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 7fa1056e09 Refactor: merge duplicated rules, split the largest files by topic (t21)
- 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>
2026-10-24 22:35:12 -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 06f8f90f19 Waste rock pays: richer granite and basalt grinding, bulk rock orders (t3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 17:39:30 -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 b76f4516b7 Saw cuts wood chunks into Planks; stone bricks are now Stone blocks (t4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:50:35 -04:00
44r0n7andClaude Opus 5.5 f4eddfb82b Remove the Refiner and Stone cutter; old saves refund them on load (t4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:39:27 -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