Commit Graph

18 Commits

Author SHA1 Message Date
ad1e5ed487 Implement unified tunnel build mode (REQ-BLD-TUNNEL-MODE)
Collapse the two tunnel buttons into a single Tunnel button whose ghost
resolves between Tunnel Entry and Tunnel Exit based on the hovered
position, with a green connection preview.

- Add pure core helper TunnelCompletion (firstTunnelFacing +
  resolveTunnelCompletion): the entry/exit completion scans and the
  sub-tile cursor tie-break, unit-tested in TunnelCompletionTest.
- Dedup BeltSystem::reevaluateTunnelPairing onto firstTunnelFacing so the
  pairing scan rule lives in one place.
- GameWorldView: resolve the ghost type on hover/rotate (matching built
  tunnels and construction sites), place the resolved type (drop the old
  auto-switch), and draw the matched partner + between-tiles in green.
  Hotkey 3 = Tunnel, 4 unused.
- BuildButtonGrid: one "Tunnel" button; tunnel_exit stays player-placeable
  so blueprints and cost totals still account for exits.
- Add the green tunnel_preview overlay color (VisualsConfig/Loader/toml).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7N59FsLA5e2kuVdqe4Uhc
2026-07-21 19:04:15 +02:00
6a8c456aa1 Animate items emerging from building output ports 2026-07-14 20:18:47 +02:00
af8a2224c0 fix issue where items were accepted by a belt from opposite travel direction 2026-07-14 20:15:39 +02:00
d74ba5bfad Replay: deterministic record & playback (#4)
Add deterministic record/playback for a run.

Recording captures `(seed, config hash, ordered tick-tagged commands)` and re-simulates on playback — no state snapshots. `DotaFactory.exe --replay <file>` re-plays a recorded run view-only with manual speed/pause.

Reviewed-on: #4
Co-authored-by: Malte Langkabel <malte.langkabel@gmail.com>
Co-committed-by: Malte Langkabel <malte.langkabel@gmail.com>
2026-07-01 19:20:08 +00:00
8451f5a281 fix missed code paths for artificially reduced splitter throughput 2026-06-14 14:50:23 +02:00
282ace4c11 fix bug where splitters reduce belt throughput, even if one side is blocked 2026-06-14 14:03:50 +02:00
7669245229 use meters in config 2026-06-05 20:09:20 +02:00
abc261c03a add tracing for performance profiling 2026-06-05 16:38:36 +02:00
b30addab3d implement 4 items on belt tile 2026-05-01 22:37:03 +02:00
559dde96cf fix bug where buildings could not output directly on splitters 2026-04-27 21:38:11 +02:00
89005d6bb7 implement tunnels 2026-04-26 17:15:50 +02:00
134f23d69b add splitter filters to ui 2026-04-25 21:27:39 +02:00
eba8caac31 fix issue where items clustered at the end of belt tiles 2026-04-23 22:03:02 +02:00
ea30d2ab7b simulate items on splitters and fix bugs where buildings could not pull from splitters 2026-04-23 21:54:59 +02:00
f29dc9862a dont require output belts to be aligned with output ports 2026-04-22 21:15:39 +02:00
35dd81748e fix bug where items get already consumed right after being placed on a belt 2026-04-20 22:14:55 +02:00
bf29cc40e3 implement building system 2026-04-19 20:53:08 +02:00
f2d912b4eb implement belt system 2026-04-19 16:18:39 +02:00