Implements right-click and long-press context menus for all 3D elements: - Raycasting with priority order: tracks > nodes > zones > portals > triggers > ground - Context menu renders in under 50ms with intelligent viewport positioning - Element-specific actions: * Tracks: identify, follow camera, view history, false positive, explain, set unknown * Nodes: edit label, health details, OTA update, blink LED, reassign role, remove * Zones: edit bounds, rename, occupancy history, automation, delete * Empty space: add virtual node, create zone, set home point, place portal * Portals: edit, crossing history, delete * Triggers: edit, test fire, toggle enable, delete Follow camera mode: - Smooth interpolation using VectorLerp (default 3m behind, 2m above) - "Following: [Person]" chip with unfollow button - Scroll wheel zoom adjustment during follow - Auto-exit when track deleted or becomes DELETED state - OrbitControls disabled during follow mode Tests: 22 tests covering raycasting, menu items, follow mode, dismissal behavior, action execution, and performance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
989 B
Modula-2
31 lines
989 B
Modula-2
module github.com/spaxel/mothership
|
|
|
|
go 1.25.0
|
|
|
|
require (
|
|
github.com/eclipse/paho.mqtt.golang v1.5.0
|
|
github.com/fogleman/gg v1.3.0
|
|
github.com/go-chi/chi/v5 v5.2.5
|
|
github.com/google/uuid v1.6.0
|
|
github.com/gorilla/websocket v1.5.3
|
|
github.com/hashicorp/mdns v1.0.5
|
|
golang.org/x/crypto v0.25.0
|
|
gonum.org/v1/gonum v0.17.0
|
|
modernc.org/sqlite v1.47.0
|
|
)
|
|
|
|
require (
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/miekg/dns v1.1.41 // indirect
|
|
github.com/ncruces/go-strftime v1.0.0 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
golang.org/x/image v0.25.0 // indirect
|
|
golang.org/x/net v0.27.0 // indirect
|
|
golang.org/x/sync v0.19.0 // indirect
|
|
golang.org/x/sys v0.42.0 // indirect
|
|
modernc.org/libc v1.70.0 // indirect
|
|
modernc.org/mathutil v1.7.1 // indirect
|
|
modernc.org/memory v1.11.0 // indirect
|
|
)
|