spaxel/mothership/internal/simulator
jedarden 307ab0e194
Some checks are pending
CI Benchmark - Fusion Loop Timing / Fusion Loop Timing Benchmark (push) Waiting to run
feat(simulator): seed spread geometry for default virtual nodes in registry bridge (bf-xrej)
Virtual nodes created without an explicit position carry the nodes-table DB
defaults (pos_x=0, pos_y=0, pos_z=1), so SyncToRegistry/SyncOneNode wrote
co-located origin positions into the fleet registry — and downstream into the
fusion engine — collapsing Fresnel excess paths (core symptom in bf-18yn).

Resolve positions through a new effectivePositions helper: nodes still at the
default origin are reassigned distinct, spread-out geometry from
DefaultNodePositions (sized to the full node count, across the store's space),
while explicitly-placed nodes keep their position. Slot assignment is keyed by
sorted node ID so it is deterministic regardless of map iteration order, and a
single-node sync writes the same position a full sync would. The effective
positions flow through SyncToRegistry, SyncOneNode, and ToRegistryRecords, so
the registry and fusion-engine seeding observe non-degenerate geometry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-03 19:00:37 -04:00
..
accuracy.go fix(lint): resolve golangci-lint v2 failures blocking CI 2026-06-03 23:34:50 -04:00
engine.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
gdop.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
handler.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
node.go feat(simulator): add shared DefaultNodePositions helper for spread node geometry (bf-3fr6) 2026-07-03 18:18:39 -04:00
node_positions_test.go feat(simulator): add shared DefaultNodePositions helper for spread node geometry (bf-3fr6) 2026-07-03 18:18:39 -04:00
physics.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
propagation.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
registry_bridge.go feat(simulator): seed spread geometry for default virtual nodes in registry bridge (bf-xrej) 2026-07-03 19:00:37 -04:00
registry_bridge_test.go feat(simulator): seed spread geometry for default virtual nodes in registry bridge (bf-xrej) 2026-07-03 19:00:37 -04:00
session.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
simulator_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
space.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
space_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
types.go test(simulator): fix tests to match current API 2026-05-05 20:27:22 -04:00
virtual_state.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
virtual_state_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
walker.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
walker_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00