- Added WallGroup component to manage wall creation and instances.
- Introduced WallCreator for handling wall creation logic, including mouse events and snapping.
- Created ReferenceWall component to visualize temporary wall during creation.
- Implemented WallInstances to render existing walls in the scene.
- Added useWallStore for state management of walls, including adding, updating, and removing walls.
- Enhanced Point and Line components to support wall-related functionalities.
- Updated builder store to include wall properties such as thickness and height.
- Refactored point snapping logic to accommodate wall snapping.
- Removed unused ReferencePoint component and adjusted imports accordingly.
- Updated world constants to include new wall-related configurations.
- 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.