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>
6 lines
189 B
JavaScript
6 lines
189 B
JavaScript
module.exports = {
|
|
testEnvironment: 'jsdom',
|
|
testMatch: ['**/*.test.js'],
|
|
setupFiles: ['./js/onboard.test.setup.js'],
|
|
setupFilesAfterEnv: ['./js/ambient.test.setup.js'],
|
|
};
|