Go to file
Michael Mainguy 6ea6eaaac7 Implement SVG-based dynamic connection arrows with toolbox color matching
Replace static arrow.png with dynamically generated SVG arrows that match
the source object's color from the toolbox palette.

Changes:
- Replace arrow.png loading with inline SVG generation (32x32 right-pointing triangle)
- Add CreateColoredTexture() method to generate arrows in any hex color
- Extract color from source mesh using three-priority fallback system:
  1. mesh.metadata.color (most reliable)
  2. sourceMesh.id parsing (e.g., "tool-#box-template-#FF0000")
  3. material color extraction (backwards compatibility)
- Match extracted color to closest of 16 toolbox colors using Euclidean distance
- Track all textures in Set for synchronized animation
- Add proper texture disposal to prevent memory leaks

Benefits:
- No external arrow.png dependency
- Connections visually match their source object's toolbox color
- Consistent 16-color palette across all connections
- Efficient texture sharing for matching colors
- SVG scales perfectly at any resolution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 06:24:42 -06:00
.github/workflows Update node.js.yml 2024-08-30 12:18:10 -05:00
api Initial Menu System Commit. 2023-06-29 21:03:00 -05:00
docs Add WebXR rendering mode toggle with 4 modes 2025-11-13 10:36:03 -06:00
functions Added Initial Voice Command Handler, fixed connection issues. 2023-08-14 13:27:20 -05:00
netlify/functions added request headers to CORD response. 2023-12-12 06:53:14 -06:00
pages Initial Menu System Commit. 2023-06-27 16:58:19 -05:00
public Updated config page. 2024-08-30 14:56:13 -05:00
server Add WebXR rendering mode toggle with 4 modes 2025-11-13 10:36:03 -06:00
src Implement SVG-based dynamic connection arrows with toolbox color matching 2025-11-18 06:24:42 -06:00
.gitignore Refactored api path. 2023-08-11 07:51:46 -05:00
CLAUDE.md Add WebXR rendering mode toggle with 4 modes 2025-11-13 10:36:03 -06:00
index.html Added webxr exit button 2025-02-14 11:01:27 -06:00
LICENSE.txt Disabled service worker, enhanced management console. 2024-08-30 12:43:19 -05:00
package-lock.json Refactor config naming and upgrade dependencies 2025-11-12 21:36:56 -06:00
package.json Remove old ResizeGizmo integration code from AbstractController 2025-11-16 05:55:17 -06:00
server.js Re added quest link. 2024-04-02 14:19:27 -05:00
tsconfig.json Added 3d closet demo, cleaned up menus. 2024-02-05 10:46:23 -06:00
versionBump.js Added smart versioning 2024-06-11 16:58:35 -05:00
vite.config.ts added events 2024-06-11 07:20:25 -05:00