Reproduce the v2 .NET seeded ore coordinates exactly #56

Closed
opened 2026-08-06 03:57:44 +00:00 by coilyco-ops · 0 comments
Member

Problem

The Rust v2 world preserves the historical seed, counts, bounds, exclusion radius, and collision rules, but it uses a stable Rust-local random generator. It does not reproduce the exact coordinate stream generated by the historical .NET implementation.

This compatibility slice is tracked by #49 but can proceed in parallel with the performance and expansion chain.

Scope

  • Recover the exact C# random calls, bounds semantics, retry order, and insertion order from git history.
  • Implement the minimum compatible .NET random stream or check in a source-derived coordinate fixture.
  • Preserve the 141 iron, 141 copper, 141 coal, and one manifest stone startup contract.
  • Preserve central-radius exclusion, collision rejection, resource ordering, and stable object identities.
  • Document whether compatibility is algorithmic or fixture-based.

Acceptance

  • Seed 4382721 produces the exact historical ordered resource coordinates and kinds.
  • A compact fixed fixture or digest detects any coordinate, ordering, retry, or resource-kind drift.
  • All 424 source positions remain unique and valid on the 100x100 grid.
  • CLI and viewer use the exact compatible layout.
  • Other seeds retain explicitly documented deterministic behavior.
  • Parity documentation removes the .NET random-stream caveat only after the proof passes.
  • The full Ward gate and release Wasm build pass.
## Problem The Rust v2 world preserves the historical seed, counts, bounds, exclusion radius, and collision rules, but it uses a stable Rust-local random generator. It does not reproduce the exact coordinate stream generated by the historical .NET implementation. This compatibility slice is tracked by #49 but can proceed in parallel with the performance and expansion chain. ## Scope * Recover the exact C# random calls, bounds semantics, retry order, and insertion order from git history. * Implement the minimum compatible .NET random stream or check in a source-derived coordinate fixture. * Preserve the 141 iron, 141 copper, 141 coal, and one manifest stone startup contract. * Preserve central-radius exclusion, collision rejection, resource ordering, and stable object identities. * Document whether compatibility is algorithmic or fixture-based. ## Acceptance * Seed 4382721 produces the exact historical ordered resource coordinates and kinds. * A compact fixed fixture or digest detects any coordinate, ordering, retry, or resource-kind drift. * All 424 source positions remain unique and valid on the 100x100 grid. * CLI and viewer use the exact compatible layout. * Other seeds retain explicitly documented deterministic behavior. * Parity documentation removes the .NET random-stream caveat only after the proof passes. * The full Ward gate and release Wasm build pass.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/factory-game-v3#56
No description provided.