spaxel/mothership/internal/api
jedarden 669d3793aa feat(bf-18yn): seed realistic node geometry in spaxel-sim default placement
- Modify AddNode handler to assign spread-out positions when nodes are
  created without explicit positions (at origin), preventing co-location
  that causes Fresnel excess path |P-T|+|P-R|-|T-R| to collapse toward 0
- Use DefaultNodePositions infrastructure from simulator package to
  distribute nodes across the room in a grid pattern
- Preserve explicitly-set positions, only spread default-origin nodes
- Add tests verifying spread behavior and explicit position preservation

This fixes the core symptom in bf-4q5w where co-located nodes prevented
blob formation in the fusion accumulation grid.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 00:25:52 -04:00
..
alerts.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
analytics.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
analytics_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
backup.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
backup_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
baseline.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
baseline_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
ble_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
briefing.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
briefing_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
diurnal.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
diurnal_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
events.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
events_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
feedback.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
guided.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
integrations.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
localization.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
localization_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notification_settings.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notification_settings_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notifications.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notifications_test.go api/notifications: register preview endpoint in main.go 2026-05-05 13:09:54 -04:00
prediction.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
prediction_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
replay.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
replay_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
security.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
security_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
settings.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
settings_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
simulator.go feat(bf-18yn): seed realistic node geometry in spaxel-sim default placement 2026-07-06 00:25:52 -04:00
simulator_test.go feat(bf-18yn): seed realistic node geometry in spaxel-sim default placement 2026-07-06 00:25:52 -04:00
status.go feat(api): wire build-time version through StatusHandler (bf-iekf) 2026-07-04 04:29:59 -04:00
status_test.go feat(api): wire build-time version through StatusHandler (bf-iekf) 2026-07-04 04:29:59 -04:00
tracks.go fix: resolve analytics API test failures and improve corridor response format 2026-04-11 08:34:24 -04:00
tracks_test.go test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
triggers.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
triggers_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
utils.go feat: verify dashboard WebSocket feed supports events, alerts, BLE, triggers, health 2026-04-07 09:54:14 -04:00
volume_triggers.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
volume_triggers_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
zones.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
zones_test.go style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00