Commit graph

16 commits

Author SHA1 Message Date
jedarden
c94bccec1c docs(bf-5occ): document position format mismatch between simulator and registry
- Registry coordinate system: X=width, Y=height, Z=depth
- Simulator coordinate system: X=width, Y=depth, Z=height
- Y and Z axes are swapped between systems
- registry_bridge.go passes positions without coordinate transformation
- Required fix: swap Y and Z when calling registry methods
- Affects fusion engine, coverage optimization, and position-based tracking

Acceptance criteria:
- Registry's expected position format is documented 
- Actual format from simulator is documented 
- Format differences are identified 
- Required transformations are documented 
2026-07-06 01:48:06 -04:00
jedarden
5445d765bc docs(bf-5occ): document position format mismatch between simulator and registry
- Registry expects: pos_x=width, pos_y=height, pos_z=depth
- Simulator provides: Point.X=width, Point.Y=depth, Point.Z=height
- Current implementation passes Y/Z directly without swapping
- This causes registry to misinterpret depth as height and height as depth
- Requires coordinate transformation in registry_bridge.go

Acceptance criteria met:
✓ Registry's expected position format documented
✓ Actual format from simulator documented
✓ Format differences identified
✓ Required transformations documented
2026-07-06 01:41:17 -04:00
jedarden
abf272a781 docs(bf-2irz): verify registry bridge receives simulator positions
Add logging to trace position data flow from simulator to registry bridge.
Verify that positions are correctly received and processed through the
complete data path:

1. Simulator API receives node positions via POST /api/simulator/nodes
2. Positions persisted to VirtualNodeStore
3. Periodic 30s sync reads positions from store
4. Registry bridge processes positions (spread geometry for default origin)
5. Positions written to Fleet Registry database

Enhanced logging at each step shows:
- Sync start with node count
- Per-node position processing (default origin vs explicit)
- Per-node sync to registry with position values
- Registry operations (create/update with positions)

Data flow confirmed working. Positions DO flow from simulator to
registry_bridge.go to fleet registry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 01:37:40 -04:00
jedarden
39b5755d5c docs(bf-2r5o): document simulator position data structure
- Document core position structures (Point, VirtualNode, Walker, Space)
- Document position fields in hello messages and database schema
- Map position data flow from simulator through mothership to fusion engine
- Document node positioning strategies and walker movement behavior
- Include file locations and coordinate system definitions

Acceptance criteria met:
- Position data structure documented
- Source of position data identified (generateNodePositions, createWalkers)
- Field names and types known (Point struct, hello message fields, database schema)
2026-07-06 01:35:06 -04:00
jedarden
ac806a7753 docs(bf-4bhd): document all blob creation code paths
- Identified 4 distinct Blob types across codebase
- Documented 8 primary blob creation sites with line numbers
- Categorized by construction pattern (&Blob{}, Blob{}, slice copy)
- Listed all files requiring updates for structure changes
- Included field mutation sites for identity assignment

This analysis provides a complete inventory for any future blob
structure modifications.
2026-07-06 01:35:06 -04:00
jedarden
76cb540776 docs(bf-3ifj): document simulator-to-registry position wiring trace
Complete analysis of two position data flow paths:
1. CSI Simulator (cmd/sim) → hello message → fleet manager → registry
2. Virtual Node Planning (simulator/) → registry bridge → adapter → registry

Both paths verified as complete and functional. No breaks or missing connections found.
2026-07-06 01:14:12 -04:00
jedarden
42eb6dcfa0 docs(bf-13s0): document blob data structure definition and usage patterns
- Located primary blob structure definition in backend Go code
- Identified all frontend files that create or use blob data
- Documented current blob structure fields (position, velocity, trail, identity)
- Specified which TypeScript interface/type files to modify (none - implicit JS structure)
- Created comprehensive reference for blob data structure modifications

Bead-Id: bf-13s0
2026-07-06 01:01:33 -04:00
jedarden
ca77eec03a docs(bf-13s0): document blob data structure definition and usage patterns
- Located primary blob structure in state.js
- Identified all blob fields across the codebase
- Documented 3D and 2D rendering pipelines
- Listed key files and data flow
- Provided modification points for future changes
2026-07-06 00:58:57 -04:00
jedarden
040c01d17b docs(bf-3y9r): verify position propagation through registry and fusion engine
Complete trace of position propagation pipeline from simulator to
registry to fusion engine. All wiring is in place and functioning:
- Virtual nodes announce positions in hello messages (cmd/sim)
- Fleet manager persists positions to registry (internal/fleet)
- Positions are forwarded to fusion engine via sink (main.go)
- Fusion engine uses positions in each Fuse cycle (internal/fusion)
- Startup seeding and assertions confirm proper flow

Acceptance criteria verified:
✓ Positions from virtual node creation reach registry
✓ Positions from registry reach fusion engine
✓ Integration tests show positions flowing through all stages
✓ No missing glue found - pipeline complete from prior work

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 00:58:57 -04:00
jedarden
23d048d46c docs(bf-5yff): verify realistic node geometry implementation
Verify that virtual node creation uses the bf-195o design for realistic
geometry placement. The implementation is complete:

- API handler assigns spread positions for nodes created at (0,0,0)
- Registry bridge reassigns positions for nodes at default origin (0,0,1)
- Both use DefaultNodePositions() with grid layout and height diversity
- Positions properly sync to PosX/PosY/PosZ fields in the registry

No code changes required — the implementation was already complete
from prior work on bf-195o and the registry bridge architecture.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 00:46:45 -04:00
jedarden
3936ae1182 docs(bf-195o): document node geometry placement research and design 2026-07-06 00:44:23 -04:00
jedarden
de03f33ba5 docs(bf-6aif): add accessibility quality gate implementation notes
Document the CI accessibility gate implementation, including changes made
to both declarative-config and spaxel repos, acceptance criteria met,
and verification steps.
2026-07-06 00:32:32 -04:00
jedarden
4fe25fcfaf docs(bf-3ukb): verify crowd flow API path is in sync across all layers
Investigation confirmed that the crowd flow API path mismatch was already
resolved by commit f042cdf (which closed bf-2jyk). All three layers are
now consistent:
- Backend: /api/analytics/flow
- Frontend: /api/analytics/flow
- Plan spec: /api/analytics/flow

No code changes needed. This commit documents the verification.
2026-07-06 00:13:27 -04:00
jedarden
0a88630612 docs(bf-1oj7): verify TransformControls already implemented for live nodes
Analysis confirms that the Placement module already provides full TransformControls
functionality for dragging live registered nodes in the operational dashboard.

Key findings:
- Placement module initialized in app.js (line 285-287)
- TransformControls created and attached to any node mesh (placement.js:238-288)
- Position persistence via mothership API (placement.js:419-427)
- Node meshes created by Viz3D from registry_state (viz3d.js:263-294)

The pre-deployment simulator uses its own separate TransformControls (simulate.js),
which may have created the impression that the live dashboard lacked this feature.

No implementation changes needed - functionality is already operational.
2026-07-05 23:48:18 -04:00
jedarden
4a19fe9054 docs(bf-28dv): verify Component 24 already implemented 2026-07-05 23:18:41 -04:00
jedarden
e13b2e220b docs(bf-33za): verify Component 33 already implemented
Verified that the 5-step interactive onboarding wizard is fully
implemented in dashboard/js/onboard.js:

- Step 1 (30s): Walk phase with amplitude spike highlighting
- Step 2 (10s): Still phase with automatic baseline capture
- Step 3 (15s): Walk-through with Fresnel zone visualization
- Step 4 (15s): Find-me with blob polling and humanoid display
- Step 5 (30s): Interactive placement with GDOP coverage overlay

All narration is jargon-free (no CSI, Fresnel, deltaRMS in user text).
All durations match spec. All 3D integrations working.
2026-07-05 23:00:59 -04:00