Extend REQ-BLD-BELT-DRAG: dragging a belt onto a building/construction site
snaps the end tile to the input-capable adjacent tile closest to the cursor
(geometrically closest, always), with that tile's belt pointing into the
target across the shared input edge, overriding the final-tile orientation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7N59FsLA5e2kuVdqe4Uhc
REQ-BLD-BELT-DRAG now states that rotating the belt with R/Shift+R while a
drag is in progress re-picks the path's primary axis immediately and
re-derives the path, rather than waiting for the next cursor movement.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7N59FsLA5e2kuVdqe4Uhc
Deferred, L-shaped drag placement for belts: ghosts along the path,
placement on mouse release, auto-oriented tiles, right-click cancels
the drag without exiting belt build mode. Occupied belt cells are
re-oriented in place; unaffordable tiles show no ghost.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7N59FsLA5e2kuVdqe4Uhc
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>