Skip to content

v0.10.0 — 3D Agent Office Dashboard

Latest

Choose a tag to compare

@garethdaine garethdaine released this 29 Mar 19:41
d550b46

What's New

Full 3D Agent Office dashboard achieving feature parity with the reference implementation.

Dashboard Features

  • 10 office zones with zone-specific furniture (server racks, conference table, whiteboard, bookshelves, tool benches, barrier gate, alarm bell, mail stations, break room, war room screens)
  • 56-waypoint A* pathfinding with zone entry points and path interruption handling
  • 6-state avatar FSM (idle, walking, typing, reading, chatting, waiting) with smooth blending
  • Real-time day/night cycle with Sky shader, Stars, light/fog lerping
  • Weather system with Open-Meteo live data, rain/snow particles, thunderstorm flash
  • WASD camera controls coexisting with OrbitControls
  • Post-processing with Bloom, Outline, ACES tone mapping, PerformanceMonitor auto-disable
  • Dashboard chrome — sidebar, header with agent count/relay status, session selector
  • 10 rich zone-specific panels (server room health, agent roster, tool usage, idle agents, recordings, security, etc.)
  • Agent detail panel with Overview/Messages/Events/Tools tabs
  • Session recording (event sourcing to JSONL) and timeline replay with scrubber
  • Bidirectional WebSocket command/ack protocol for agent control plane
  • Domain-sliced architecture with Zustand composition (7 slices)

Security Hardening

  • WebSocket relay origin validation and command message validation/re-serialization
  • Per-client WebSocket rate limiting (100 msgs/min)
  • Cortex API route disabled in production
  • CORS headers on relay HTTP endpoints
  • Weather API fetch timeout + response schema validation
  • Geolocation rounded to ~1km precision for privacy
  • Relay log output sanitization

Performance Fixes

  • Eliminated per-frame Color allocations in DayNightCycle
  • Agent position Map updates use mutate-in-place with version counter
  • GPU resource disposal on unmount (textures, geometries)
  • Weather particles conditionally rendered only when active
  • SessionRecorder notifications debounced

Architecture Improvements

  • OfficeScene decomposed into reusable hooks (useHoverHighlight, useSpeechBubbles)
  • Zustand slice types reference full OfficeStoreState for cross-slice safety
  • UI store shim properly typed (no unsafe casts)
  • Shared composed-store type avoids circular dependencies

Test Results

  • 636/636 tests passing
  • All CI checks green (test, label, scan, shellcheck)

Full Changelog: v0.9.3...v0.10.0