- Updated useAislePointSnapping and usePointSnapping to reference point.pointUuid instead of point.uuid.
- Modified Point component to utilize point.pointUuid for snapping and position updates.
- Changed useAisleStore methods to work with aisleUuid and point.pointUuid for better clarity and consistency.
- Introduced new properties for junction aisles, including isFlipped, and updated related logic.
- Added implementations for ArrowAisle, CircleAisle, and JunctionAisle components to handle rendering and interactions.
- Updated AisleProperties component to include new properties for dashed, dotted, and arrows aisles.
- Added new handlers for dash length, gap length, dot radius, and aisle length changes.
- Enhanced aisle type management in AisleCreator to handle new aisle types and their properties.
- Introduced type-specific setters in useAisleStore for better aisle property management.
- Updated builderTypes to define specific interfaces for each aisle type.
- Improved rendering logic for advanced properties based on selected aisle type.
- Created a new store for selected products using Zustand and immer for state management.
- Introduced `useMainProduct` and `useComparisonProduct` hooks to manage main and comparison products.
- Implemented `ComparisonScene` and `ComparisonSceneProvider` components to handle product comparisons.
- Updated `MainScene` to allow selection of main products with a dropdown.
- Enhanced styles for comparison layout and product selection UI.
- Established a context for product management to streamline state access across components.
- Changed the store creation functions to `createConveyorStore`, `createMachineStore`, `createStorageUnitStore`, and `createVehicleStore` for better clarity and consistency.
- Updated the internal state management methods to maintain functionality while improving readability.
- Ensured that all stores now return their respective types for better type safety.
- Removed direct usage of useMaterialStore in various components and replaced it with useSceneContext to access materialStore.
- Introduced SceneProvider to encapsulate materialStore creation and provide it through context.
- Updated components such as CompareLayOut, Scene, and various action handlers to utilize the new context structure.
- Cleaned up imports and removed unnecessary console logs.
- Adjusted Project component to conditionally render ComparisonResult based on a boolean flag.
- Removed obsolete Models component and integrated its functionality into AssetsGroup.
- Updated import paths for AssetsGroup and related components.
- Implemented new asset loading and event handling logic in AssetsGroup.
- Added asset bounding box visualization.
- Enhanced model loading with caching and error handling.
- Improved asset interaction features including selection and deletion.
- Removed use of floor items from various components and replaced with asset management.
- Integrated asset selection and clearing logic in Models component.
- Updated SocketResponses to handle asset creation, updates, and deletions through collaboration.
- Simplified copy, paste, and duplication controls by removing floor item dependencies.
- Enhanced TransformControl to manage asset properties and synchronize with the backend.
- Deleted unused AddOrRemoveEventsInProducts component to streamline event handling.
- Updated Project component to initialize asset state instead of floor items.
- Added setName method to asset store for updating asset names.
- Removed the FloorItemsGroup component to streamline asset handling.
- Updated socket response handling by removing TempLoader integration.
- Enhanced CopyPasteControls and DuplicationControls to utilize the new asset management structure.
- Integrated asset addition and updates in move, rotate, and selection controls.
- Improved performance by skipping items without valid modelfileID in the GLTF loader worker.
- Cleaned up unused variables and imports across various control components.
- Added logging for selectedFloorItem and deletableFloorItem for debugging purposes.