spaxel/mothership
jedarden a612584841 feat(bf-5151): add canonical identity fields to blob creation types
Add the three new canonical identity fields — PersonName, AssignedColor,
IdentityResolved — to the four primary tracked-blob struct types that are
constructed at the blob-creation sites catalogued in bf-1q3m:

  - signal.TrackedBlob   (internal/signal/processor.go)   — canonical type;
                                                            api.TrackedBlob is
                                                            a type alias of it
  - tracker.Blob (3D)    (internal/tracker/tracker.go)
  - tracking.Blob (2D)   (internal/tracking/tracker.go)
  - automation.TrackedBlob (internal/automation/engine.go)

The camelCase JSON keys (personName, assignedColor, identityResolved) match
the dashboard Blob interface in dashboard/types/spaxel.d.ts, which viz3d.js
reads directly. The legacy snake_case PersonLabel/PersonColor fields are
retained as deprecated aliases for backward compatibility.

Per the task, the fields are left at their zero values for existing blobs:
empty strings and a nil *bool all carry omitempty, so they serialize as
omitted (undefined in JS). A follow-up bead populates them from the BLE
identity sidecar. IdentityResolved is *bool to faithfully represent the
tri-state semantics (nil=unattempted, &true=resolved, &false=failed).

fusion.Blob is intentionally untouched: it is the pre-identity Fresnel peak
type ({X,Y,Z,Confidence} only) and is out of scope for identity per bf-1q3m.

Verified: gofmt clean, go vet ./... clean, go test ./... passes; marshaling
check confirms zero-value blobs omit the fields (undefined) while set blobs
emit the camelCase keys.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 17:37:06 -04:00
..
cmd fix(bf-u7ds): forward simulator registry positions to fusion engine 2026-07-06 12:43:46 -04:00
internal feat(bf-5151): add canonical identity fields to blob creation types 2026-07-06 17:37:06 -04:00
test/acceptance fix(acceptance): start mothership binary in SPAXEL_NO_DOCKER=1 path 2026-06-04 01:34:07 -04:00
tests/e2e test(e2e): add IO-1 and IO-2 integration tests for CI harness 2026-05-24 10:07:20 -04:00
go.mod feat: implement spatial quick actions context menu for 3D scene 2026-04-10 22:56:17 -04:00
go.sum feat: implement spatial quick actions context menu for 3D scene 2026-04-10 22:56:17 -04:00