Cory Policht
← Back to the Devlog
DEVLOG · 2026-08-27 .. 2026-09-05 · BUILD

The spatial cognition surge: anchors, SLAM locks, and v0.0.1.

Over 200 PRs land in ten days as Spatial Cognition Platform cuts v0.0.1: synchronous XR rig initialization cures tracking freefall, anchor drift watchdogs learn HMD unmount cycles, and deterministic 3D graphs stabilize.

WINDOW
Start2026-08-27
End2026-09-05
Kindbuild
Projectsspatial-cognition-platform
Delivered
  • spatial-cognition-platform
    Synchronous XR rig initialization to prevent SLAM tracking desync
    Loads the OVR camera rig and passthrough harness synchronously in Awake during additive scene composition, eliminating a bug where delayed OpenXR init caused dead-reckoned head pose freefall.
    spatial-cognition-xr · #222
  • spatial-cognition-platform
    Spatial anchor drift watchdog with doff/don grace handling
    Prevents anchor abandonment by standing down drift watchdogs when the HMD is unmounted and granting settling grace windows before tracking checks arm.
    spatial-cognition-xr · #135spatial-cognition-xr · #145spatial-cognition-xr · #151
  • spatial-cognition-platform
    Deterministic 3D force-directed node layout and constellation fan
    Adds seeded spatial placement, force relaxation damping, and pinned node exemptions to build reproducible, readable 3D dependency graphs.
    spatial-cognition-xr · #19
  • spatial-cognition-platform
    Spatial reasoning planes, status banding, and evidence edges
    Renders 3D reasoning planes with confidence bands, status visualizers, and evidence links that users can grab, inspect, and organize in room-scale space.
    spatial-cognition-xr · #39
  • spatial-cognition-platform
    First platform release v0.0.1
    Tags v0.0.1 across the Spatial Cognition Platform, establishing the baseline for XR headset verification, live plane tracking, and tool harnesses.
    spatial-cognition-xr · v0.0.1

The ten days between late August and early September saw the densest burst of commits in the entire portfolio. Over 200 pull requests landed in Spatial Cognition Platform, driving nineteen separate workstreams from scratch to completion and culminating in the project’s initial v0.0.1 tag. Building an XR workspace that lets operators inspect agent reasoning graphs in room-scale pass-through sounds conceptual until you put the headset on. On real hardware, physics, SLAM tracking quirks, and rendering lifecycles immediately collide.

The most critical bug of the sprint surfaced during additive scene refactoring (#222). To keep load times reasonable, we had split the monolithic Unity scene into modular additive components: bootstrap, tracking rig, user interface, and content workspace. But when the OVR camera rig and passthrough system were loaded asynchronously several frames after application startup, the Meta OpenXR runtime missed its initial visual SLAM lock. The tracking system attempted to dead-reckon camera position from raw IMU data, sending the operator’s virtual head into a simulated freefall at 10 m/s² down to -840 meters. Moving the camera rig load into a synchronous Awake invocation before launching additive content steps restored immediate visual lock.

A second hard-won lesson came from spatial anchor management (#145). To let an operator anchor a reasoning graph to a physical table and walk around it, the system uses spatial anchors backed by a drift watchdog. In headset testing, taking the device off to check logs (a doff/don cycle) routinely destroyed the anchor. The root cause was timing: during the unmount, camera tracking pops by roughly 0.3 meters and anchors experience 20 to 30 seconds of settling wander. Because the watchdog only checked for mount events rather than listening for HMDUnmounted, it treated the settling jitter as unrecoverable physical drift and detached the graph. Teaching the watchdog to stand down while the headset is off and adding a grace window upon remount made anchors rock solid.

With tracking stable, the mathematical visualization took shape. We implemented seeded deterministic layouts with force relaxation (#19) so 3D node graphs organize into predictable clusters without endless physics oscillations, and layered reasoning planes with status banding and interactive evidence edges (#39). On August 30, the platform cut v0.0.1 (v0.0.1), moving the project from a simulator experiment into a verifiable headset deployment.

Lessons learned

  • Load core XR camera rigs synchronously before the OpenXR frame loop starts. Splitting Unity scenes into additive chunks is good hygiene, but the primary camera rig, SLAM trackers, and passthrough shaders cannot be deferred. If OVRManager awakes after the OpenXR frame loop is already spinning, tracking dead-reckons into a catastrophic vertical plunge.
  • Pause spatial anchor drift watchdogs during HMD unmounts. When a headset is removed, tracking cameras lose optical reference points and jump. If a drift watchdog runs during this period, it will interpret normal sensor noise as spatial drift and detach perfectly valid room anchors. Always suspend drift checks during HMDUnmounted states.
  • Seeded 3D graph layouts need displacement damping to prevent visual jitter. Simulating spring forces in 3D can cause node networks to oscillate indefinitely. Clamping the maximum translation delta per frame and applying a cooling decay factor guarantees that graphs settle quickly into a readable, spatially memorable layout.
  • Separate hardware harness scenes from dynamic content scenes. Keeping the OpenXR input handlers, diagnostic HUDs, and passthrough layers in a dedicated bootstrap scene keeps them isolated from frequent content edits. Agent data and 3D graph prefabs can then be loaded, reloaded, or cleared without risking hardware tracking restarts.