Add minimal topology and route-based movement to the Rust sim #19
Labels
No labels
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/factory-game-v3#19
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Build the next core simulation step after
factory-game-v3#15. This is core Rust logic, not Bevy/viewer/deploy work.Current state on
main:factory_simis split into focused modules:resources,production,dispatch, andworld.iron-barsscenario has one source, one hauler, one factory, typed dispatch intents, and explicit hauler assignment state.Location::Source/Location::Factory, withLocation::other().Goal:
Introduce a small, deterministic world topology and route-based movement abstraction so dispatch is no longer coupled to a two-location toggle. Keep this deliberately smaller than full pathfinding.
C# reference material to read first:
Assets/Scripts/Components/MovementComponent.csAssets/Scripts/GameController.cs/GameControllerCoremovement queue behavior if presentAssets/Scripts/WorldObject.csfor grid position/state shapeAssets/Scripts/Components/DispatchReceiverComponent.csfor how target locations drive movementImplementation guidance:
Locationenum with a small typed position/node model. Possible shape: stableNodeIdplusGridPosition { x, y }, or another simple representation that fits the existing Rust code.Acceptance criteria:
cargo test --workspacepasses.factory_clistill emits stable JSON lines for the starter scenario.docs/factory-sim.mdanddocs/FEATURES.mdare updated if terminology or feature inventory changes.Out of scope:
Close this when movement is a minimal route/topology-driven sim system rather than a two-location toggle.
WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-factory-game-v3-19on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-09T21:54:12Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-gaming/factory-game-v3#19· branchissue-19· harnesscodex· workflowdirect-to-mainengineer-codex-factory-game-v3-19· wardv0.493.0· dispatched2026-07-09T21:54:12ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.493.0).
— Codex, via
ward agentWARD-OUTCOME: done ✅
details
workflow: direct-to-main; review summary: review gate skipped by ~/.ward/config.yaml default
felt: the topology swap was straightforward once the route and movement state were split out.
confidence: high.
surprises: the Rust code passed quickly; the blockers were toolchain and cache space for the repo gate.
follow-ups: none.