Replaced hardcoded spline points with first two raycast intersection points on click.
Computed the middle control point using the incenter of a triangle formed with the midpoint as the third vertex, creating a dynamic Bézier curve.
- Added useRedoHandler to manage redo actions, including socket communication for wall, floor, zone, and aisle updates.
- Added useUndoHandler to manage undo actions, reversing the effects of previous actions with corresponding socket updates.
- Created UndoRedo2DControls component to handle keyboard shortcuts for undo (Ctrl+Z) and redo (Ctrl+Y).
- Established a Zustand store (useUndoRedo2DStore) to maintain undo and redo stacks, with methods for pushing, popping, and peeking actions.
- Added @react-three/rapier to package.json for physics support.
- Refactored AssetBoundingBox to utilize RigidBody for collision detection.
- Implemented ConveyorCollider to manage object movement on conveyor belts.
- Enhanced Model component to include rigid body references and bounding box calculations.
- Updated Ground component to use RigidBody for ground physics.
- Introduced Colliders component to manage material instances with physics interactions.
- Created SecondaryCamera for enhanced camera management and editing capabilities.
- Added secondary canvas for rendering secondary camera views.
- Updated selection controls to utilize bounding boxes for asset selection.
- Introduced new SVG cursor assets: cross, default, export, move, open, pen, and pointing.
- Implemented SCSS styles for cursor usage in the scene container, defining specific cursors for different modes (draw, pointer, pen, measure, hand).
- Enhanced cursor functionality by adding a utility function to handle canvas cursor changes based on user actions, mapping specific actions to corresponding cursor styles.