Refactored ResizeGizmo into modular structure: - ResizeGizmo.ts: Main implementation with Virtual Stick scaling - enums.ts: HandleType and HandleState enums - types.ts: TypeScript interfaces - index.ts: Barrel exports Implemented Virtual Stick scaling approach: - Fixed-length virtual stick extends from controller forward - Scaling based on distance ratio in mesh local space - World-to-local coordinate transforms for proper rotation handling - Smooth continuous scaling during drag (no rounding) - Snap to 0.1 increments on grip release - Face handles: round only scaled axis - Corner handles: round uniformly on all axes Fixed scaling oscillation issues: - Freeze handle position updates during active scaling - Prevents feedback loop between scaling and handle positioning - Use absoluteRotationQuaternion for proper handle rotation Added WebXRDefaultExperience parameter to constructor for proper controller integration with manual ray casting in world space. Added test shortcuts: - Ctrl+Shift+T: Create test entities (sphere and box) - Ctrl+Shift+X: Clear all entities Wired Close button to dispose active ResizeGizmo. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| functions | ||
| types | ||
| diagramManager.ts | ||
| diagramMenuManager.ts | ||
| diagramObject.ts | ||