diff --git a/app/src/components/footer/Footer.tsx b/app/src/components/footer/Footer.tsx
index 39273df..8475ddb 100644
--- a/app/src/components/footer/Footer.tsx
+++ b/app/src/components/footer/Footer.tsx
@@ -11,11 +11,11 @@ import ShortcutHelper from "./shortcutHelper";
import useVersionHistoryVisibleStore, {
useShortcutStore,
} from "../../store/builder/store";
-import { usePlayButtonStore } from "../../store/usePlayButtonStore";
-import useModuleStore, { useSubModuleStore } from "../../store/useModuleStore";
+import { usePlayButtonStore } from "../../store/ui/usePlayButtonStore";
+import useModuleStore, { useSubModuleStore } from "../../store/ui/useModuleStore";
import { useVersionContext } from "../../modules/builder/version/versionContext";
import { mouseActionHelper } from "../../utils/mouseUtils/mouseHelper";
-import { useMouseNoteStore } from "../../store/useUIToggleStore";
+import { useMouseNoteStore } from "../../store/ui/useUIToggleStore";
const Footer: React.FC = () => {
const { logs, setIsLogListVisible } = useLogger();
diff --git a/app/src/components/layout/controls/ControlsPlayer.tsx b/app/src/components/layout/controls/ControlsPlayer.tsx
index 484cd35..0a8d42b 100644
--- a/app/src/components/layout/controls/ControlsPlayer.tsx
+++ b/app/src/components/layout/controls/ControlsPlayer.tsx
@@ -1,14 +1,14 @@
import React, { useEffect } from "react";
import useCameraModeStore, {
usePlayButtonStore,
-} from "../../../store/usePlayButtonStore";
-import useModuleStore from "../../../store/useModuleStore";
+} from "../../../store/ui/usePlayButtonStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import { PlayIcon } from "../../icons/ShortcutIcons";
import InputToggle from "../../ui/inputs/InputToggle";
import { EyeCloseIcon, WalkIcon } from "../../icons/ExportCommonIcons";
import { ExitIcon } from "../../icons/SimulationIcons";
import { useCamMode } from "../../../store/builder/store";
-import { usePlayerStore } from "../../../store/useUIToggleStore";
+import { usePlayerStore } from "../../../store/ui/useUIToggleStore";
const ControlsPlayer: React.FC = () => {
const { setIsPlaying } = usePlayButtonStore();
diff --git a/app/src/components/layout/scenes/ComparisonScene.tsx b/app/src/components/layout/scenes/ComparisonScene.tsx
index b1029df..142a13e 100644
--- a/app/src/components/layout/scenes/ComparisonScene.tsx
+++ b/app/src/components/layout/scenes/ComparisonScene.tsx
@@ -1,11 +1,11 @@
import { useProductContext } from '../../../modules/simulation/products/productContext'
import RegularDropDown from '../../ui/inputs/RegularDropDown';
import { useCompareProductDataStore, useLoadingProgress, useSaveVersion } from '../../../store/builder/store';
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import CompareLayOut from '../../ui/compareVersion/CompareLayOut';
import ComparisonResult from '../../ui/compareVersion/ComparisonResult';
import { useComparisonProduct, useMainProduct } from '../../../store/simulation/useSimulationStore';
-import { usePlayButtonStore } from '../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../store/ui/usePlayButtonStore';
import { useEffect, useState } from 'react';
import { useVersionHistoryStore } from '../../../store/builder/useVersionHistoryStore';
import { useVersionContext } from '../../../modules/builder/version/versionContext';
diff --git a/app/src/components/layout/scenes/ComparisonSceneProvider.tsx b/app/src/components/layout/scenes/ComparisonSceneProvider.tsx
deleted file mode 100644
index 46749b7..0000000
--- a/app/src/components/layout/scenes/ComparisonSceneProvider.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useEffect } from 'react';
-import { ProductProvider } from '../../../modules/simulation/products/productContext'
-import ComparisonScene from './ComparisonScene';
-import { useSceneContext } from '../../../modules/scene/sceneContext';
-
-function ComparisonSceneProvider() {
- const { assetStore } = useSceneContext();
- const { clearAssets } = assetStore();
-
- useEffect(() => {
- clearAssets();
- }, [])
-
- return (
-
-
-
- )
-}
-
-export default ComparisonSceneProvider
\ No newline at end of file
diff --git a/app/src/components/layout/scenes/MainScene.tsx b/app/src/components/layout/scenes/MainScene.tsx
index 8076ec2..6dfb061 100644
--- a/app/src/components/layout/scenes/MainScene.tsx
+++ b/app/src/components/layout/scenes/MainScene.tsx
@@ -17,8 +17,8 @@ import VersionSaved from "../sidebarRight/versionHisory/VersionSaved";
import Footer from "../../footer/Footer";
import ThreadChat from "../../ui/collaboration/ThreadChat";
import Scene from "../../../modules/scene/scene";
-import useModuleStore, { useThreeDStore } from "../../../store/useModuleStore";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import useModuleStore, { useThreeDStore } from "../../../store/ui/useModuleStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore";
import { useFloatingWidget } from "../../../store/visualization/useDroppedObjectsStore";
import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore";
diff --git a/app/src/components/layout/scenes/MainSceneProvider.tsx b/app/src/components/layout/scenes/MainSceneProvider.tsx
deleted file mode 100644
index 8dbea25..0000000
--- a/app/src/components/layout/scenes/MainSceneProvider.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useEffect } from 'react'
-import { ProductProvider } from '../../../modules/simulation/products/productContext'
-import MainScene from './MainScene'
-import { useSceneContext } from '../../../modules/scene/sceneContext';
-
-function MainSceneProvider() {
- const { assetStore } = useSceneContext();
- const { clearAssets } = assetStore();
-
- useEffect(() => {
- clearAssets();
- }, [])
-
- return (
-
-
-
- )
-}
-
-export default MainSceneProvider
\ No newline at end of file
diff --git a/app/src/components/layout/sidebarLeft/Header.tsx b/app/src/components/layout/sidebarLeft/Header.tsx
index edcd2e8..5180240 100644
--- a/app/src/components/layout/sidebarLeft/Header.tsx
+++ b/app/src/components/layout/sidebarLeft/Header.tsx
@@ -2,8 +2,8 @@ import React from "react";
import { ToggleSidebarIcon } from "../../icons/HeaderIcons";
import { LogoIcon } from "../../icons/Logo";
import FileMenu from "../../ui/FileMenu";
-import { useToggleStore } from "../../../store/useUIToggleStore";
-import useModuleStore from "../../../store/useModuleStore";
+import { useToggleStore } from "../../../store/ui/useUIToggleStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import { useNavigate } from "react-router-dom";
import useRestStates from "../../../hooks/useResetStates";
diff --git a/app/src/components/layout/sidebarLeft/SideBarLeft.tsx b/app/src/components/layout/sidebarLeft/SideBarLeft.tsx
index ad26627..670a0f7 100644
--- a/app/src/components/layout/sidebarLeft/SideBarLeft.tsx
+++ b/app/src/components/layout/sidebarLeft/SideBarLeft.tsx
@@ -2,9 +2,9 @@ import React, { useEffect, useState } from "react";
import ToggleHeader from "../../ui/inputs/ToggleHeader";
import Outline from "./Outline";
import Header from "./Header";
-import { useToggleStore } from "../../../store/useUIToggleStore";
+import { useToggleStore } from "../../../store/ui/useUIToggleStore";
import Assets from "./assetList/Assets";
-import useModuleStore from "../../../store/useModuleStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import Widgets from "./visualization/widgets/Widgets";
import Templates from "../../../modules/visualization/template/Templates";
import Search from "../../ui/inputs/Search";
diff --git a/app/src/components/layout/sidebarLeft/visualization/widgets/Widgets2D.tsx b/app/src/components/layout/sidebarLeft/visualization/widgets/Widgets2D.tsx
index 20438c0..1088112 100644
--- a/app/src/components/layout/sidebarLeft/visualization/widgets/Widgets2D.tsx
+++ b/app/src/components/layout/sidebarLeft/visualization/widgets/Widgets2D.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { ChartType } from "chart.js/auto";
import ChartComponent from "./ChartComponent";
import { StockIncreseIcon } from "../../../../icons/RealTimeVisulationIcons";
diff --git a/app/src/components/layout/sidebarRight/Header.tsx b/app/src/components/layout/sidebarRight/Header.tsx
index 292d00a..0377e3f 100644
--- a/app/src/components/layout/sidebarRight/Header.tsx
+++ b/app/src/components/layout/sidebarRight/Header.tsx
@@ -5,9 +5,9 @@ import { ActiveUser } from "../../../types/users";
import CollaborationPopup from "../../templates/CollaborationPopup";
import { getAvatarColor } from "../../../modules/collaboration/functions/getAvatarColor";
import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore";
-import { useToggleStore } from "../../../store/useUIToggleStore";
+import { useToggleStore } from "../../../store/ui/useUIToggleStore";
import { ToggleSidebarIcon } from "../../icons/HeaderIcons";
-import useModuleStore from "../../../store/useModuleStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import { getUserData } from "../../../functions/getUserData";
const Header: React.FC = () => {
diff --git a/app/src/components/layout/sidebarRight/SideBarRight.tsx b/app/src/components/layout/sidebarRight/SideBarRight.tsx
index 2d88241..0b7d931 100644
--- a/app/src/components/layout/sidebarRight/SideBarRight.tsx
+++ b/app/src/components/layout/sidebarRight/SideBarRight.tsx
@@ -1,8 +1,8 @@
import React, { useEffect, useState } from "react";
import Header from "./Header";
-import useModuleStore, { useSubModuleStore } from "../../../store/useModuleStore";
+import useModuleStore, { useSubModuleStore } from "../../../store/ui/useModuleStore";
import { AnalysisIcon, FilePackageIcon, MechanicsIcon, PropertiesIcon, SimulationIcon, } from "../../icons/SimulationIcons";
-import { useToggleStore } from "../../../store/useUIToggleStore";
+import { useToggleStore } from "../../../store/ui/useUIToggleStore";
import Visualization from "./visualization/Visualization";
import Analysis from "./analysis/Analysis";
import Simulations from "./simulation/Simulations";
diff --git a/app/src/components/layout/sidebarRight/simulation/Simulations.tsx b/app/src/components/layout/sidebarRight/simulation/Simulations.tsx
index 0858e5d..9cb118e 100644
--- a/app/src/components/layout/sidebarRight/simulation/Simulations.tsx
+++ b/app/src/components/layout/sidebarRight/simulation/Simulations.tsx
@@ -14,7 +14,7 @@ import { renameProductApi } from "../../../../services/simulation/products/renam
import { determineExecutionMachineSequences } from "../../../../modules/simulation/simulator/functions/determineExecutionMachineSequences";
import ComparePopUp from "../../../ui/compareVersion/Compare";
import { useCompareStore, useSaveVersion, } from "../../../../store/builder/store";
-import { useToggleStore } from "../../../../store/useUIToggleStore";
+import { useToggleStore } from "../../../../store/ui/useUIToggleStore";
import { useProductContext } from "../../../../modules/simulation/products/productContext";
import { useParams } from "react-router-dom";
import { useVersionContext } from "../../../../modules/builder/version/versionContext";
diff --git a/app/src/components/layout/sidebarRight/versionHisory/VersionHistory.tsx b/app/src/components/layout/sidebarRight/versionHisory/VersionHistory.tsx
index 8cc35e1..38ef321 100644
--- a/app/src/components/layout/sidebarRight/versionHisory/VersionHistory.tsx
+++ b/app/src/components/layout/sidebarRight/versionHisory/VersionHistory.tsx
@@ -1,7 +1,7 @@
import { AddIcon, ArrowIcon, CloseIcon, KebabIcon, LocationIcon } from "../../../icons/ExportCommonIcons";
import RenameInput from "../../../ui/inputs/RenameInput";
import { useVersionHistoryStore } from "../../../../store/builder/useVersionHistoryStore";
-import { useSubModuleStore } from "../../../../store/useModuleStore";
+import { useSubModuleStore } from "../../../../store/ui/useModuleStore";
import useVersionHistoryVisibleStore from "../../../../store/builder/store";
import { useParams } from "react-router-dom";
import { getVersionDataApi } from "../../../../services/factoryBuilder/versionControl/getVersionDataApi";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/BarChartInput.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/BarChartInput.tsx
index 09da02b..0b2338e 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/BarChartInput.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/BarChartInput.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { useParams } from "react-router-dom";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/FleetEfficiencyInputComponent.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/FleetEfficiencyInputComponent.tsx
index fa6ef5c..6be8f9a 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/FleetEfficiencyInputComponent.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/FleetEfficiencyInputComponent.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/FlotingWidgetInput.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/FlotingWidgetInput.tsx
index c8247b6..d41f998 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/FlotingWidgetInput.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/FlotingWidgetInput.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/InputSelecterComponent.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/InputSelecterComponent.tsx
index 210e2b4..e55ee08 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/InputSelecterComponent.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/InputSelecterComponent.tsx
@@ -10,7 +10,7 @@ import Widget2InputCard3D from './Widget2InputCard3D'
import Widget3InputCard3D from './Widget3InputCard3D'
import Widget4InputCard3D from './Widget4InputCard3D'
import WarehouseThroughputInputComponent from './WarehouseThroughputInputComponent'
-import { useWidgetStore } from '../../../../../store/useWidgetStore'
+import { useWidgetStore } from '../../../../../store/ui/useWidgetStore'
// const InputSelecterComponent = () => {
// const { selectedChartId } = useWidgetStore();
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/LineGrapInput.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/LineGrapInput.tsx
index 29263fe..93a9908 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/LineGrapInput.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/LineGrapInput.tsx
@@ -120,7 +120,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { useParams } from "react-router-dom";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/PieChartInput.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/PieChartInput.tsx
index 26988aa..106ca5c 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/PieChartInput.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/PieChartInput.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { useParams } from "react-router-dom";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress1Input.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress1Input.tsx
index 6854848..c4be0ba 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress1Input.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress1Input.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { useParams } from "react-router-dom";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress2Input.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress2Input.tsx
index 2482346..32f5ebe 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress2Input.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Progress2Input.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { useParams } from "react-router-dom";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/WarehouseThroughputInputComponent.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/WarehouseThroughputInputComponent.tsx
index e82aa58..69801df 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/WarehouseThroughputInputComponent.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/WarehouseThroughputInputComponent.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget2InputCard3D.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget2InputCard3D.tsx
index 0889809..d360122 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget2InputCard3D.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget2InputCard3D.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget3InputCard3D.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget3InputCard3D.tsx
index a236d5a..ad91d4d 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget3InputCard3D.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget3InputCard3D.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget4InputCard3D.tsx b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget4InputCard3D.tsx
index df09e7b..9bdeb5e 100644
--- a/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget4InputCard3D.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/IotInputCards/Widget4InputCard3D.tsx
@@ -4,7 +4,7 @@ import { AddIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import RenameInput from "../../../../ui/inputs/RenameInput";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/components/layout/sidebarRight/visualization/data/Data.tsx b/app/src/components/layout/sidebarRight/visualization/data/Data.tsx
index d41a38f..01bd169 100644
--- a/app/src/components/layout/sidebarRight/visualization/data/Data.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/data/Data.tsx
@@ -1,5 +1,5 @@
import { useEffect, useState } from "react";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { AddIcon, RemoveIcon } from "../../../../icons/ExportCommonIcons";
import MultiLevelDropDown from "../../../../ui/inputs/MultiLevelDropDown";
import LineGrapInput from "../IotInputCards/LineGrapInput";
diff --git a/app/src/components/layout/sidebarRight/visualization/design/Design.tsx b/app/src/components/layout/sidebarRight/visualization/design/Design.tsx
index 53ea8a7..afcfbd0 100644
--- a/app/src/components/layout/sidebarRight/visualization/design/Design.tsx
+++ b/app/src/components/layout/sidebarRight/visualization/design/Design.tsx
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
import { ArrowIcon } from "../../../../icons/ExportCommonIcons";
import RegularDropDown from "../../../../ui/inputs/RegularDropDown";
import InputRange from "../../../../ui/inputs/InputRange";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import ChartComponent from "../../../sidebarLeft/visualization/widgets/ChartComponent";
const defaultStyle = {
diff --git a/app/src/components/ui/ModuleToggle.tsx b/app/src/components/ui/ModuleToggle.tsx
index dea27c7..f3d0407 100644
--- a/app/src/components/ui/ModuleToggle.tsx
+++ b/app/src/components/ui/ModuleToggle.tsx
@@ -1,12 +1,12 @@
import React from "react";
-import useModuleStore from "../../store/useModuleStore";
+import useModuleStore from "../../store/ui/useModuleStore";
import {
BuilderIcon,
CartIcon,
SimulationIcon,
VisualizationIcon,
} from "../icons/ExportModuleIcons";
-import {useToggleStore} from "../../store/useUIToggleStore";
+import {useToggleStore} from "../../store/ui/useUIToggleStore";
import useVersionHistoryStore from "../../store/builder/store";
const ModuleToggle: React.FC = () => {
diff --git a/app/src/components/ui/Tools.tsx b/app/src/components/ui/Tools.tsx
index 6ae7a81..a538cbf 100644
--- a/app/src/components/ui/Tools.tsx
+++ b/app/src/components/ui/Tools.tsx
@@ -14,10 +14,10 @@ import {
ZoneIcon,
} from "../icons/ExportToolsIcons";
import { ArrowIcon, TickIcon } from "../icons/ExportCommonIcons";
-import useModuleStore, { useThreeDStore } from "../../store/useModuleStore";
+import useModuleStore, { useThreeDStore } from "../../store/ui/useModuleStore";
import { handleSaveTemplate } from "../../modules/visualization/functions/handleSaveTemplate";
-import { usePlayButtonStore } from "../../store/usePlayButtonStore";
-import useTemplateStore from "../../store/useTemplateStore";
+import { usePlayButtonStore } from "../../store/ui/usePlayButtonStore";
+import useTemplateStore from "../../store/ui/useTemplateStore";
import { useSelectedZoneStore } from "../../store/visualization/useZoneStore";
import {
useActiveTool,
@@ -28,7 +28,7 @@ import {
useActiveSubTool,
useShortcutStore,
} from "../../store/builder/store";
-import { useToggleStore } from "../../store/useUIToggleStore";
+import { useToggleStore } from "../../store/ui/useUIToggleStore";
import {
use3DWidget,
useFloatingWidget,
diff --git a/app/src/components/ui/compareVersion/CompareLayOut.tsx b/app/src/components/ui/compareVersion/CompareLayOut.tsx
index 29b062a..04169f2 100644
--- a/app/src/components/ui/compareVersion/CompareLayOut.tsx
+++ b/app/src/components/ui/compareVersion/CompareLayOut.tsx
@@ -12,7 +12,7 @@ import Search from "../inputs/Search";
import OuterClick from "../../../utils/outerClick";
import Scene from "../../../modules/scene/scene";
import { useComparisonProduct } from "../../../store/simulation/useSimulationStore";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import { useVersionHistoryStore } from "../../../store/builder/useVersionHistoryStore";
import { useVersionContext } from "../../../modules/builder/version/versionContext";
import { useSceneContext } from "../../../modules/scene/sceneContext";
diff --git a/app/src/components/ui/list/List.tsx b/app/src/components/ui/list/List.tsx
index 8f38189..6322554 100644
--- a/app/src/components/ui/list/List.tsx
+++ b/app/src/components/ui/list/List.tsx
@@ -5,7 +5,7 @@ import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore"
import { getZoneData } from "../../../services/visulization/zone/getZones";
import useModuleStore, {
useSubModuleStore,
-} from "../../../store/useModuleStore";
+} from "../../../store/ui/useModuleStore";
import {
ArrowIcon,
EyeIcon,
diff --git a/app/src/components/ui/menu/menu.tsx b/app/src/components/ui/menu/menu.tsx
index 3528176..b403d17 100644
--- a/app/src/components/ui/menu/menu.tsx
+++ b/app/src/components/ui/menu/menu.tsx
@@ -7,7 +7,7 @@ import useVersionHistoryVisibleStore, {
} from "../../../store/builder/store";
import useModuleStore, {
useSubModuleStore,
-} from "../../../store/useModuleStore";
+} from "../../../store/ui/useModuleStore";
import { useVersionHistoryStore } from "../../../store/builder/useVersionHistoryStore";
interface MenuBarProps {
diff --git a/app/src/components/ui/simulation/AssetDetailsCard.tsx b/app/src/components/ui/simulation/AssetDetailsCard.tsx
index 34dfb6f..f762a2b 100644
--- a/app/src/components/ui/simulation/AssetDetailsCard.tsx
+++ b/app/src/components/ui/simulation/AssetDetailsCard.tsx
@@ -5,7 +5,7 @@ import {
SimulationStatusIcon,
StorageCapacityIcon,
} from "../../icons/SimulationIcons";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
interface AssetDetailsCardInterface {
name: string;
diff --git a/app/src/components/ui/simulation/simulationPlayer.tsx b/app/src/components/ui/simulation/simulationPlayer.tsx
index e2ec99f..adeb6eb 100644
--- a/app/src/components/ui/simulation/simulationPlayer.tsx
+++ b/app/src/components/ui/simulation/simulationPlayer.tsx
@@ -10,7 +10,7 @@ import {
usePauseButtonStore,
usePlayButtonStore,
useResetButtonStore,
-} from "../../../store/usePlayButtonStore";
+} from "../../../store/ui/usePlayButtonStore";
import {
DailyProductionIcon,
EndIcon,
@@ -25,11 +25,11 @@ import {
import { getAvatarColor } from "../../../modules/collaboration/functions/getAvatarColor";
import useModuleStore, {
useSubModuleStore,
-} from "../../../store/useModuleStore";
+} from "../../../store/ui/useModuleStore";
import ProductionCapacity from "../analysis/ThroughputSummary";
import ThroughputSummary from "../analysis/ProductionCapacity";
import ROISummary from "../analysis/ROISummary";
-import { usePlayerStore } from "../../../store/useUIToggleStore";
+import { usePlayerStore } from "../../../store/ui/useUIToggleStore";
import { useComparisonProduct } from "../../../store/simulation/useSimulationStore";
import InputToggle from "../inputs/InputToggle";
diff --git a/app/src/modules/builder/Decal/decalCreator/decalCreator.tsx b/app/src/modules/builder/Decal/decalCreator/decalCreator.tsx
index 5e9ebaa..836bd8b 100644
--- a/app/src/modules/builder/Decal/decalCreator/decalCreator.tsx
+++ b/app/src/modules/builder/Decal/decalCreator/decalCreator.tsx
@@ -4,7 +4,7 @@ import { useThree } from '@react-three/fiber';
import { useParams } from 'react-router-dom';
import { useSocketStore } from '../../../../store/builder/store';
import { useBuilderStore } from '../../../../store/builder/useBuilderStore';
-import useModuleStore from '../../../../store/useModuleStore';
+import useModuleStore from '../../../../store/ui/useModuleStore';
import { useSceneContext } from '../../../scene/sceneContext';
import { useVersionContext } from '../../version/versionContext';
diff --git a/app/src/modules/builder/Decal/decalInstance/decalInstance.tsx b/app/src/modules/builder/Decal/decalInstance/decalInstance.tsx
index 9a095d9..85d6c3e 100644
--- a/app/src/modules/builder/Decal/decalInstance/decalInstance.tsx
+++ b/app/src/modules/builder/Decal/decalInstance/decalInstance.tsx
@@ -5,7 +5,7 @@ import { useBuilderStore } from '../../../../store/builder/useBuilderStore';
import { retrieveImage, storeImage } from '../../../../utils/indexDB/idbUtils';
import defaultMaterial from '../../../../assets/image/fallback/fallback decal 1.png';
-import useModuleStore from '../../../../store/useModuleStore';
+import useModuleStore from '../../../../store/ui/useModuleStore';
import { useEffect, useRef, useState } from 'react';
import { useDecalEventHandlers } from '../eventHandler/useDecalEventHandlers';
diff --git a/app/src/modules/builder/Decal/eventHandler/useDecalEventHandlers.ts b/app/src/modules/builder/Decal/eventHandler/useDecalEventHandlers.ts
index c213d69..db8d530 100644
--- a/app/src/modules/builder/Decal/eventHandler/useDecalEventHandlers.ts
+++ b/app/src/modules/builder/Decal/eventHandler/useDecalEventHandlers.ts
@@ -4,7 +4,7 @@ import { ThreeEvent, useFrame, useThree } from '@react-three/fiber';
import { useEffect, useState } from 'react';
import { useSocketStore, useToggleView, useToolMode } from '../../../../store/builder/store';
import { useBuilderStore } from '../../../../store/builder/useBuilderStore';
-import useModuleStore from '../../../../store/useModuleStore';
+import useModuleStore from '../../../../store/ui/useModuleStore';
import { getUserData } from '../../../../functions/getUserData';
import { useVersionContext } from '../../version/versionContext';
import { useParams } from 'react-router-dom';
diff --git a/app/src/modules/builder/asset/assetsGroup.tsx b/app/src/modules/builder/asset/assetsGroup.tsx
index ecdc926..d7b83a6 100644
--- a/app/src/modules/builder/asset/assetsGroup.tsx
+++ b/app/src/modules/builder/asset/assetsGroup.tsx
@@ -6,7 +6,7 @@ import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";
import { FloorItems, RefMesh } from "../../../types/world/worldTypes";
import Models from "./models/models";
-import useModuleStore from "../../../store/useModuleStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import { useThree } from "@react-three/fiber";
import { CameraControls } from "@react-three/drei";
import addAssetModel from "./functions/addAssetModel";
diff --git a/app/src/modules/builder/asset/models/model/animator/modelAnimator.tsx b/app/src/modules/builder/asset/models/model/animator/modelAnimator.tsx
index d79df60..88947a3 100644
--- a/app/src/modules/builder/asset/models/model/animator/modelAnimator.tsx
+++ b/app/src/modules/builder/asset/models/model/animator/modelAnimator.tsx
@@ -2,8 +2,8 @@ import { useEffect, useRef, useCallback, useState } from 'react';
import * as THREE from 'three';
import { useFrame } from '@react-three/fiber';
import { useSceneContext } from '../../../../../scene/sceneContext';
-import useModuleStore from '../../../../../../store/useModuleStore';
-import { usePauseButtonStore, useAnimationPlaySpeed } from '../../../../../../store/usePlayButtonStore';
+import useModuleStore from '../../../../../../store/ui/useModuleStore';
+import { usePauseButtonStore, useAnimationPlaySpeed } from '../../../../../../store/ui/usePlayButtonStore';
interface ModelAnimatorProps {
asset: Asset;
diff --git a/app/src/modules/builder/asset/models/model/eventHandlers/useEventHandlers.ts b/app/src/modules/builder/asset/models/model/eventHandlers/useEventHandlers.ts
index 4b97ddb..8cd5899 100644
--- a/app/src/modules/builder/asset/models/model/eventHandlers/useEventHandlers.ts
+++ b/app/src/modules/builder/asset/models/model/eventHandlers/useEventHandlers.ts
@@ -4,7 +4,7 @@ import { ThreeEvent, useThree } from '@react-three/fiber';
import { useCallback, useEffect, useRef } from 'react';
import { useActiveTool, useResourceManagementId, useToggleView, useZoneAssetId, useSocketStore } from '../../../../../../store/builder/store';
-import useModuleStore, { useSubModuleStore } from '../../../../../../store/useModuleStore';
+import useModuleStore, { useSubModuleStore } from '../../../../../../store/ui/useModuleStore';
import { useSceneContext } from '../../../../../scene/sceneContext';
import { useProductContext } from '../../../../../simulation/products/productContext';
import { useVersionContext } from '../../../../version/versionContext';
diff --git a/app/src/modules/builder/asset/models/model/model.tsx b/app/src/modules/builder/asset/models/model/model.tsx
index cc49d5a..1876476 100644
--- a/app/src/modules/builder/asset/models/model/model.tsx
+++ b/app/src/modules/builder/asset/models/model/model.tsx
@@ -5,7 +5,7 @@ import { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
import { useToggleView, useToolMode } from '../../../../../store/builder/store';
import { AssetBoundingBox } from '../../functions/assetBoundingBox';
import { useBuilderStore } from '../../../../../store/builder/useBuilderStore';
-import useModuleStore from '../../../../../store/useModuleStore';
+import useModuleStore from '../../../../../store/ui/useModuleStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { SkeletonUtils } from 'three-stdlib';
diff --git a/app/src/modules/builder/floor/Instances/Instance/floorInstance.tsx b/app/src/modules/builder/floor/Instances/Instance/floorInstance.tsx
index 3559128..924dcba 100644
--- a/app/src/modules/builder/floor/Instances/Instance/floorInstance.tsx
+++ b/app/src/modules/builder/floor/Instances/Instance/floorInstance.tsx
@@ -1,7 +1,7 @@
import { useMemo } from "react";
import { Shape, Vector2, DoubleSide, TextureLoader, RepeatWrapping, SRGBColorSpace, NoColorSpace, ExtrudeGeometry } from "three";
import { useLoader } from "@react-three/fiber";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { useBuilderStore } from "../../../../../store/builder/useBuilderStore";
import { useToggleView } from "../../../../../store/builder/store";
import * as Constants from "../../../../../types/world/worldConstants";
diff --git a/app/src/modules/builder/floor/Instances/floorInstances.tsx b/app/src/modules/builder/floor/Instances/floorInstances.tsx
index 9ad65db..b19a10d 100644
--- a/app/src/modules/builder/floor/Instances/floorInstances.tsx
+++ b/app/src/modules/builder/floor/Instances/floorInstances.tsx
@@ -7,7 +7,7 @@ import Line from '../../line/line';
import Point from '../../point/point';
import FloorInstance from './Instance/floorInstance';
import Floor2DInstance from './Instance/floor2DInstance';
-import useModuleStore from '../../../../store/useModuleStore';
+import useModuleStore from '../../../../store/ui/useModuleStore';
import { useBuilderStore } from '../../../../store/builder/useBuilderStore';
function FloorInstances() {
diff --git a/app/src/modules/builder/floor/floorGroup.tsx b/app/src/modules/builder/floor/floorGroup.tsx
index d782e1a..1349f82 100644
--- a/app/src/modules/builder/floor/floorGroup.tsx
+++ b/app/src/modules/builder/floor/floorGroup.tsx
@@ -4,7 +4,7 @@ import { useBuilderStore } from '../../../store/builder/useBuilderStore';
import { useVersionContext } from '../version/versionContext';
import { useSceneContext } from '../../scene/sceneContext';
import { useParams } from 'react-router-dom';
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import FloorCreator from './floorCreator/floorCreator';
import FloorInstances from './Instances/floorInstances';
import { getFloorsApi } from '../../../services/factoryBuilder/floor/getFloorsApi';
diff --git a/app/src/modules/builder/wall/Instances/instance/wall.tsx b/app/src/modules/builder/wall/Instances/instance/wall.tsx
index 293be01..47b5f21 100644
--- a/app/src/modules/builder/wall/Instances/instance/wall.tsx
+++ b/app/src/modules/builder/wall/Instances/instance/wall.tsx
@@ -3,7 +3,7 @@ import { Base } from '@react-three/csg';
import { useMemo, useRef, useState } from 'react';
import { MeshDiscardMaterial } from '@react-three/drei';
import { useFrame, useThree } from '@react-three/fiber';
-import useModuleStore from '../../../../../store/useModuleStore';
+import useModuleStore from '../../../../../store/ui/useModuleStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useWallClassification } from './helpers/useWallClassification';
import { useToggleView, useWallVisibility } from '../../../../../store/builder/store';
diff --git a/app/src/modules/builder/wall/Instances/wallInstances.tsx b/app/src/modules/builder/wall/Instances/wallInstances.tsx
index 6461225..98eac59 100644
--- a/app/src/modules/builder/wall/Instances/wallInstances.tsx
+++ b/app/src/modules/builder/wall/Instances/wallInstances.tsx
@@ -13,7 +13,7 @@ import * as Constants from '../../../../types/world/worldConstants';
import texturePath from "../../../../assets/textures/floor/white.png";
import texturePathDark from "../../../../assets/textures/floor/black.png";
-import useModuleStore from '../../../../store/useModuleStore';
+import useModuleStore from '../../../../store/ui/useModuleStore';
function WallInstances() {
const { wallStore } = useSceneContext();
diff --git a/app/src/modules/builder/wall/wallGroup.tsx b/app/src/modules/builder/wall/wallGroup.tsx
index 3561751..b286d15 100644
--- a/app/src/modules/builder/wall/wallGroup.tsx
+++ b/app/src/modules/builder/wall/wallGroup.tsx
@@ -4,7 +4,7 @@ import { useBuilderStore } from '../../../store/builder/useBuilderStore';
import { useVersionContext } from '../version/versionContext';
import { useSceneContext } from '../../scene/sceneContext';
import { useParams } from 'react-router-dom';
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import WallCreator from './wallCreator/wallCreator';
import WallInstances from './Instances/wallInstances';
diff --git a/app/src/modules/builder/wallAsset/Instances/Instance/eventHandler/useWallAssetEventHandler.ts b/app/src/modules/builder/wallAsset/Instances/Instance/eventHandler/useWallAssetEventHandler.ts
index 1fbce4c..82f8e17 100644
--- a/app/src/modules/builder/wallAsset/Instances/Instance/eventHandler/useWallAssetEventHandler.ts
+++ b/app/src/modules/builder/wallAsset/Instances/Instance/eventHandler/useWallAssetEventHandler.ts
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useRef } from 'react';
import { ThreeEvent, useThree } from '@react-three/fiber';
import { useParams } from 'react-router-dom';
import { useActiveTool, useSocketStore, useToggleView } from '../../../../../../store/builder/store';
-import useModuleStore from '../../../../../../store/useModuleStore';
+import useModuleStore from '../../../../../../store/ui/useModuleStore';
import { useSceneContext } from '../../../../../scene/sceneContext';
import { useBuilderStore } from '../../../../../../store/builder/useBuilderStore';
import { useVersionContext } from '../../../../version/versionContext';
diff --git a/app/src/modules/builder/wallAsset/wallAssetCreator.tsx b/app/src/modules/builder/wallAsset/wallAssetCreator.tsx
index effc0ed..8baeb83 100644
--- a/app/src/modules/builder/wallAsset/wallAssetCreator.tsx
+++ b/app/src/modules/builder/wallAsset/wallAssetCreator.tsx
@@ -1,6 +1,6 @@
import { useThree } from '@react-three/fiber';
import { useEffect } from 'react'
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import { useSelectedItem, useSocketStore, useToggleView } from '../../../store/builder/store';
import { MathUtils, Vector3 } from 'three';
import { useSceneContext } from '../../scene/sceneContext';
diff --git a/app/src/modules/builder/wallAsset/wallAssetGroup.tsx b/app/src/modules/builder/wallAsset/wallAssetGroup.tsx
index 95e2e90..e0cab44 100644
--- a/app/src/modules/builder/wallAsset/wallAssetGroup.tsx
+++ b/app/src/modules/builder/wallAsset/wallAssetGroup.tsx
@@ -4,7 +4,7 @@ import { useBuilderStore } from '../../../store/builder/useBuilderStore';
import { useVersionContext } from '../version/versionContext';
import { useSceneContext } from '../../scene/sceneContext';
import { useParams } from 'react-router-dom';
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import WallAssetCreator from './wallAssetCreator'
import WallAssetInstances from './Instances/wallAssetInstances'
import { getWallAssetsApi } from '../../../services/factoryBuilder/asset/wallAsset/getWallAssetsApi';
diff --git a/app/src/modules/builder/zone/zoneGroup.tsx b/app/src/modules/builder/zone/zoneGroup.tsx
index 08d3e9c..5ca0c68 100644
--- a/app/src/modules/builder/zone/zoneGroup.tsx
+++ b/app/src/modules/builder/zone/zoneGroup.tsx
@@ -4,7 +4,7 @@ import { useBuilderStore } from '../../../store/builder/useBuilderStore';
import { useVersionContext } from '../version/versionContext';
import { useSceneContext } from '../../scene/sceneContext';
import { useParams } from 'react-router-dom';
-import useModuleStore from '../../../store/useModuleStore';
+import useModuleStore from '../../../store/ui/useModuleStore';
import ZoneCreator from './zoneCreator/zoneCreator';
import ZoneInstances from './Instances/zoneInstances';
diff --git a/app/src/modules/collaboration/camera/collabCams.tsx b/app/src/modules/collaboration/camera/collabCams.tsx
index 02cd535..2e4c536 100644
--- a/app/src/modules/collaboration/camera/collabCams.tsx
+++ b/app/src/modules/collaboration/camera/collabCams.tsx
@@ -9,10 +9,10 @@ import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";
import { useNavigate } from "react-router-dom";
import { Html } from "@react-three/drei";
import CollabUserIcon from "./collabUserIcon";
-import useModuleStore from "../../../store/useModuleStore";
+import useModuleStore from "../../../store/ui/useModuleStore";
import { getAvatarColor } from "../functions/getAvatarColor";
import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import setCameraView from "../functions/setCameraView";
import { getUserData } from "../../../functions/getUserData";
diff --git a/app/src/modules/collaboration/comments/instances/commentInstance/commentInstance.tsx b/app/src/modules/collaboration/comments/instances/commentInstance/commentInstance.tsx
index 5740b6e..824f8de 100644
--- a/app/src/modules/collaboration/comments/instances/commentInstance/commentInstance.tsx
+++ b/app/src/modules/collaboration/comments/instances/commentInstance/commentInstance.tsx
@@ -1,6 +1,6 @@
import { Html, TransformControls } from '@react-three/drei';
import { useEffect, useRef, useState } from 'react'
-import { usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import CommentThreads from '../../../../../components/ui/collaboration/CommentThreads';
import { useSelectedComment } from '../../../../../store/builder/store';
import { Group, Object3D, Vector2, Vector3 } from 'three';
diff --git a/app/src/modules/scene/controls/contextControls/contextControls.tsx b/app/src/modules/scene/controls/contextControls/contextControls.tsx
index 7b99956..95d602e 100644
--- a/app/src/modules/scene/controls/contextControls/contextControls.tsx
+++ b/app/src/modules/scene/controls/contextControls/contextControls.tsx
@@ -3,7 +3,7 @@ import { useThree } from "@react-three/fiber";
import { CameraControls, Html, ScreenSpace } from "@react-three/drei";
import { useContextActionStore, useRenameModeStore, useToggleView, useToolMode, } from "../../../../store/builder/store";
import ContextMenu from "../../../../components/ui/menu/contextMenu";
-import useModuleStore from "../../../../store/useModuleStore";
+import useModuleStore from "../../../../store/ui/useModuleStore";
import { useSceneContext } from "../../sceneContext";
function ContextControls() {
diff --git a/app/src/modules/scene/controls/selectionControls/selection2D/moveControls2D.tsx b/app/src/modules/scene/controls/selectionControls/selection2D/moveControls2D.tsx
index 413e26f..7c071cb 100644
--- a/app/src/modules/scene/controls/selectionControls/selection2D/moveControls2D.tsx
+++ b/app/src/modules/scene/controls/selectionControls/selection2D/moveControls2D.tsx
@@ -8,7 +8,7 @@ import { getUserData } from "../../../../../functions/getUserData";
import { useSceneContext } from "../../../sceneContext";
import { useVersionContext } from "../../../../builder/version/versionContext";
import { useSelectedPoints } from "../../../../../store/simulation/useSimulationStore";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { calculateAssetTransformationOnWall } from "../../../../builder/wallAsset/Instances/Instance/functions/calculateAssetTransformationOnWall";
import { upsertAisleApi } from "../../../../../services/factoryBuilder/aisle/upsertAisleApi";
diff --git a/app/src/modules/scene/controls/selectionControls/selection2D/selectionControls2D.tsx b/app/src/modules/scene/controls/selectionControls/selection2D/selectionControls2D.tsx
index 6cf9307..140c2c4 100644
--- a/app/src/modules/scene/controls/selectionControls/selection2D/selectionControls2D.tsx
+++ b/app/src/modules/scene/controls/selectionControls/selection2D/selectionControls2D.tsx
@@ -4,7 +4,7 @@ import { useThree } from "@react-three/fiber";
import { SelectionHelper } from "../helper/selectionHelper";
import { SelectionBox } from "three/examples/jsm/interactive/SelectionBox";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../../functions/getUserData";
import { useSceneContext } from "../../../sceneContext";
diff --git a/app/src/modules/scene/controls/selectionControls/selection3D/moveControls3D.tsx b/app/src/modules/scene/controls/selectionControls/selection3D/moveControls3D.tsx
index cb15a43..bcc31ba 100644
--- a/app/src/modules/scene/controls/selectionControls/selection3D/moveControls3D.tsx
+++ b/app/src/modules/scene/controls/selectionControls/selection3D/moveControls3D.tsx
@@ -12,7 +12,7 @@ import { useProductContext } from "../../../../simulation/products/productContex
import { getUserData } from "../../../../../functions/getUserData";
import { useSceneContext } from "../../../sceneContext";
import { useVersionContext } from "../../../../builder/version/versionContext";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { setAssetsApi } from '../../../../../services/factoryBuilder/asset/floorAsset/setAssetsApi';
diff --git a/app/src/modules/scene/controls/selectionControls/selection3D/rotateControls3D.tsx b/app/src/modules/scene/controls/selectionControls/selection3D/rotateControls3D.tsx
index 1f3dbe7..3a5279c 100644
--- a/app/src/modules/scene/controls/selectionControls/selection3D/rotateControls3D.tsx
+++ b/app/src/modules/scene/controls/selectionControls/selection3D/rotateControls3D.tsx
@@ -11,7 +11,7 @@ import { useSceneContext } from "../../../sceneContext";
import { useVersionContext } from "../../../../builder/version/versionContext";
import { detectModifierKeys } from "../../../../../utils/shortcutkeys/detectModifierKeys";
import { handleAssetRotationSnap } from "./functions/handleAssetRotationSnap";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { setAssetsApi } from '../../../../../services/factoryBuilder/asset/floorAsset/setAssetsApi';
diff --git a/app/src/modules/scene/controls/selectionControls/selection3D/selectionControls3D.tsx b/app/src/modules/scene/controls/selectionControls/selection3D/selectionControls3D.tsx
index 5de1f82..9028403 100644
--- a/app/src/modules/scene/controls/selectionControls/selection3D/selectionControls3D.tsx
+++ b/app/src/modules/scene/controls/selectionControls/selection3D/selectionControls3D.tsx
@@ -4,7 +4,7 @@ import { useThree } from "@react-three/fiber";
import { SelectionHelper } from "../helper/selectionHelper";
import { SelectionBox } from "three/examples/jsm/interactive/SelectionBox";
-import useModuleStore from "../../../../../store/useModuleStore";
+import useModuleStore from "../../../../../store/ui/useModuleStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../../functions/getUserData";
import { useSceneContext } from "../../../sceneContext";
diff --git a/app/src/modules/scene/controls/undoRedoControls/undoRedo3D/undoRedo3DControls.tsx b/app/src/modules/scene/controls/undoRedoControls/undoRedo3D/undoRedo3DControls.tsx
index 3ca5633..b0fad95 100644
--- a/app/src/modules/scene/controls/undoRedoControls/undoRedo3D/undoRedo3DControls.tsx
+++ b/app/src/modules/scene/controls/undoRedoControls/undoRedo3D/undoRedo3DControls.tsx
@@ -3,7 +3,7 @@ import { useSceneContext } from '../../../sceneContext'
import { detectModifierKeys } from '../../../../../utils/shortcutkeys/detectModifierKeys';
import { useSocketStore, useToggleView } from '../../../../../store/builder/store';
import { useVersionContext } from '../../../../builder/version/versionContext';
-import useModuleStore from '../../../../../store/useModuleStore';
+import useModuleStore from '../../../../../store/ui/useModuleStore';
import use3DUndoHandler from '../handlers/use3DUndoHandler';
import use3DRedoHandler from '../handlers/use3DRedoHandler';
diff --git a/app/src/modules/scene/scene.tsx b/app/src/modules/scene/scene.tsx
index 9d154c4..e68ed00 100644
--- a/app/src/modules/scene/scene.tsx
+++ b/app/src/modules/scene/scene.tsx
@@ -8,7 +8,7 @@ import Visualization from "../visualization/visualization";
import Setup from "./setup/setup";
import Simulation from "../simulation/simulation";
import Collaboration from "../collaboration/collaboration";
-import useModuleStore from "../../store/useModuleStore";
+import useModuleStore from "../../store/ui/useModuleStore";
import { useParams } from "react-router-dom";
import { getAllProjects } from "../../services/dashboard/getAllProjects";
import { getUserData } from "../../functions/getUserData";
diff --git a/app/src/modules/simulation/actions/conveyor/actionHandler/useDelayHandler.ts b/app/src/modules/simulation/actions/conveyor/actionHandler/useDelayHandler.ts
index 63fd0e5..f6cbafd 100644
--- a/app/src/modules/simulation/actions/conveyor/actionHandler/useDelayHandler.ts
+++ b/app/src/modules/simulation/actions/conveyor/actionHandler/useDelayHandler.ts
@@ -1,6 +1,6 @@
import { useCallback, useEffect, useRef } from "react";
import { useFrame } from "@react-three/fiber";
-import { usePlayButtonStore, usePauseButtonStore, useResetButtonStore, useAnimationPlaySpeed } from "../../../../../store/usePlayButtonStore";
+import { usePlayButtonStore, usePauseButtonStore, useResetButtonStore, useAnimationPlaySpeed } from "../../../../../store/ui/usePlayButtonStore";
import { useSceneContext } from "../../../../scene/sceneContext";
interface DelayInstance {
diff --git a/app/src/modules/simulation/actions/conveyor/actionHandler/useSpawnHandler.ts b/app/src/modules/simulation/actions/conveyor/actionHandler/useSpawnHandler.ts
index 0fece9a..37b82bf 100644
--- a/app/src/modules/simulation/actions/conveyor/actionHandler/useSpawnHandler.ts
+++ b/app/src/modules/simulation/actions/conveyor/actionHandler/useSpawnHandler.ts
@@ -1,7 +1,7 @@
import { useCallback, useEffect, useState } from "react";
import * as THREE from 'three';
import { useFrame } from "@react-three/fiber";
-import { usePlayButtonStore, useAnimationPlaySpeed, usePauseButtonStore, useResetButtonStore } from "../../../../../store/usePlayButtonStore";
+import { usePlayButtonStore, useAnimationPlaySpeed, usePauseButtonStore, useResetButtonStore } from "../../../../../store/ui/usePlayButtonStore";
import { useSceneContext } from "../../../../scene/sceneContext";
import { useProductContext } from "../../../products/productContext";
diff --git a/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts b/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts
index 7f74744..9a13a92 100644
--- a/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts
+++ b/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts
@@ -1,6 +1,6 @@
import { useCallback, useState, useEffect, useRef } from "react";
import { useFrame } from "@react-three/fiber";
-import { usePlayButtonStore, usePauseButtonStore, useResetButtonStore, useAnimationPlaySpeed } from "../../../../../store/usePlayButtonStore";
+import { usePlayButtonStore, usePauseButtonStore, useResetButtonStore, useAnimationPlaySpeed } from "../../../../../store/ui/usePlayButtonStore";
import { useSceneContext } from "../../../../scene/sceneContext";
import { useProductContext } from "../../../products/productContext";
import { useHumanEventManager } from "../../../human/eventManager/useHumanEventManager";
diff --git a/app/src/modules/simulation/actions/useActionHandler.ts b/app/src/modules/simulation/actions/useActionHandler.ts
index 73c34bb..18806ef 100644
--- a/app/src/modules/simulation/actions/useActionHandler.ts
+++ b/app/src/modules/simulation/actions/useActionHandler.ts
@@ -1,7 +1,7 @@
import {
usePlayButtonStore,
useResetButtonStore,
-} from "../../../store/usePlayButtonStore";
+} from "../../../store/ui/usePlayButtonStore";
import { useConveyorActions } from "./conveyor/useConveyorActions";
import { useMachineActions } from "./machine/useMachineActions";
import { useRoboticArmActions } from "./roboticArm/useRoboticArmActions";
diff --git a/app/src/modules/simulation/analysis/ROI/roiData.tsx b/app/src/modules/simulation/analysis/ROI/roiData.tsx
index 662ba2b..4eea0ed 100644
--- a/app/src/modules/simulation/analysis/ROI/roiData.tsx
+++ b/app/src/modules/simulation/analysis/ROI/roiData.tsx
@@ -1,6 +1,6 @@
import React, { useEffect } from 'react'
import { CompareProduct, useCompareProductDataStore, useInputValues, useMachineDowntime, useMachineUptime, useProductionCapacityData, useROISummaryData, useThroughPutData } from '../../../../store/builder/store';
-import { usePlayButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useProductContext } from '../../products/productContext';
import { useSceneContext } from '../../../scene/sceneContext';
diff --git a/app/src/modules/simulation/analysis/productionCapacity/productionCapacityData.tsx b/app/src/modules/simulation/analysis/productionCapacity/productionCapacityData.tsx
index f7891e7..09789fd 100644
--- a/app/src/modules/simulation/analysis/productionCapacity/productionCapacityData.tsx
+++ b/app/src/modules/simulation/analysis/productionCapacity/productionCapacityData.tsx
@@ -1,6 +1,6 @@
import { useEffect } from 'react'
import { useInputValues, useProductionCapacityData, useThroughPutData } from '../../../../store/builder/store'
-import { usePlayButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../../store/ui/usePlayButtonStore';
export default function ProductionCapacityData() {
const { throughputData } = useThroughPutData()
diff --git a/app/src/modules/simulation/analysis/throughPut/throughPutData.tsx b/app/src/modules/simulation/analysis/throughPut/throughPutData.tsx
index 31fbf8a..764d651 100644
--- a/app/src/modules/simulation/analysis/throughPut/throughPutData.tsx
+++ b/app/src/modules/simulation/analysis/throughPut/throughPutData.tsx
@@ -1,7 +1,7 @@
import { useEffect } from 'react';
import { determineExecutionMachineSequences } from '../../simulator/functions/determineExecutionMachineSequences';
import { useInputValues, useMachineCount, useMachineDowntime, useMachineUptime, useMaterialCycle, useProcessBar, useThroughPutData } from '../../../../store/builder/store';
-import { usePlayButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
import { useProductContext } from '../../products/productContext';
diff --git a/app/src/modules/simulation/conveyor/eventManager/useConveyorEventManager.ts b/app/src/modules/simulation/conveyor/eventManager/useConveyorEventManager.ts
index 76a1047..12f6f13 100644
--- a/app/src/modules/simulation/conveyor/eventManager/useConveyorEventManager.ts
+++ b/app/src/modules/simulation/conveyor/eventManager/useConveyorEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect, useRef } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
type ConveyorCallback = {
diff --git a/app/src/modules/simulation/crane/eventManager/useCraneEventManager.ts b/app/src/modules/simulation/crane/eventManager/useCraneEventManager.ts
index dd8af03..96de953 100644
--- a/app/src/modules/simulation/crane/eventManager/useCraneEventManager.ts
+++ b/app/src/modules/simulation/crane/eventManager/useCraneEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
import { useProductContext } from '../../products/productContext';
diff --git a/app/src/modules/simulation/crane/instances/animator/pillarJibAnimator.tsx b/app/src/modules/simulation/crane/instances/animator/pillarJibAnimator.tsx
index a803cad..81eaec0 100644
--- a/app/src/modules/simulation/crane/instances/animator/pillarJibAnimator.tsx
+++ b/app/src/modules/simulation/crane/instances/animator/pillarJibAnimator.tsx
@@ -1,7 +1,7 @@
import { useEffect, useState } from 'react';
import * as THREE from 'three';
import { useFrame, useThree } from '@react-three/fiber';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/crane/instances/instance/pillarJibInstance.tsx b/app/src/modules/simulation/crane/instances/instance/pillarJibInstance.tsx
index 67fcaab..ed2300d 100644
--- a/app/src/modules/simulation/crane/instances/instance/pillarJibInstance.tsx
+++ b/app/src/modules/simulation/crane/instances/instance/pillarJibInstance.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react';
import * as THREE from 'three'
-import { usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
import { useTriggerHandler } from '../../../triggers/triggerHandler/useTriggerHandler';
diff --git a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
index f2353dc..fd3e451 100644
--- a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
+++ b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
@@ -1,12 +1,12 @@
import { useEffect, useRef, useState } from "react";
import * as THREE from "three";
-import useModuleStore, { useSubModuleStore } from "../../../../../store/useModuleStore";
+import useModuleStore, { useSubModuleStore } from "../../../../../store/ui/useModuleStore";
import { useToolMode } from "../../../../../store/builder/store";
import { TransformControls } from "@react-three/drei";
import { detectModifierKeys } from "../../../../../utils/shortcutkeys/detectModifierKeys";
import { useSelectedEventSphere, useSelectedEventData, useDeletableEventSphere } from "../../../../../store/simulation/useSimulationStore";
import { useThree } from "@react-three/fiber";
-import { usePlayButtonStore } from "../../../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../../../store/ui/usePlayButtonStore";
import { upsertProductOrEventApi } from "../../../../../services/simulation/products/UpsertProductOrEventApi";
import { useProductContext } from "../../../products/productContext";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/simulation/events/triggerConnections/triggerConnector.tsx b/app/src/modules/simulation/events/triggerConnections/triggerConnector.tsx
index 400eaf1..3ac26a8 100644
--- a/app/src/modules/simulation/events/triggerConnections/triggerConnector.tsx
+++ b/app/src/modules/simulation/events/triggerConnections/triggerConnector.tsx
@@ -1,12 +1,12 @@
import { useEffect, useRef, useState } from "react";
import { useFrame, useThree } from "@react-three/fiber";
import * as THREE from "three";
-import { useSubModuleStore } from "../../../../store/useModuleStore";
+import { useSubModuleStore } from "../../../../store/ui/useModuleStore";
import { useSelectedAction, useSelectedAsset, useSelectedEventData } from "../../../../store/simulation/useSimulationStore";
import { handleAddEventToProduct } from "../points/functions/handleAddEventToProduct";
import { QuadraticBezierLine } from "@react-three/drei";
import { upsertProductOrEventApi } from "../../../../services/simulation/products/UpsertProductOrEventApi";
-import { usePlayButtonStore } from "../../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../../store/ui/usePlayButtonStore";
import { ArrowOnQuadraticBezier, Arrows } from "../arrows/arrows";
import { useProductContext } from "../../products/productContext";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/simulation/human/eventManager/useHumanEventManager.ts b/app/src/modules/simulation/human/eventManager/useHumanEventManager.ts
index 4a41f6f..855852a 100644
--- a/app/src/modules/simulation/human/eventManager/useHumanEventManager.ts
+++ b/app/src/modules/simulation/human/eventManager/useHumanEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
import { useProductContext } from '../../products/productContext';
diff --git a/app/src/modules/simulation/human/human.tsx b/app/src/modules/simulation/human/human.tsx
index f3ae920..39ff9a9 100644
--- a/app/src/modules/simulation/human/human.tsx
+++ b/app/src/modules/simulation/human/human.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react'
import { useSelectedAnimation, useSelectedEventSphere } from '../../../store/simulation/useSimulationStore';
-import { usePlayButtonStore } from '../../../store/usePlayButtonStore';
+import { usePlayButtonStore } from '../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../scene/sceneContext';
import HumanInstances from './instances/humanInstances'
import HumanUi from './instances/instance/humanUi';
diff --git a/app/src/modules/simulation/human/instances/animator/manufacturerAnimator.tsx b/app/src/modules/simulation/human/instances/animator/manufacturerAnimator.tsx
index db8ff5f..9c04092 100644
--- a/app/src/modules/simulation/human/instances/animator/manufacturerAnimator.tsx
+++ b/app/src/modules/simulation/human/instances/animator/manufacturerAnimator.tsx
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react';
import { useFrame, useThree } from '@react-three/fiber';
import * as THREE from 'three';
import { Line } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/animator/operatorAnimator.tsx b/app/src/modules/simulation/human/instances/animator/operatorAnimator.tsx
index 62fb8f4..0f41a1a 100644
--- a/app/src/modules/simulation/human/instances/animator/operatorAnimator.tsx
+++ b/app/src/modules/simulation/human/instances/animator/operatorAnimator.tsx
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react';
import { useFrame, useThree } from '@react-three/fiber';
import * as THREE from 'three';
import { Line } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/animator/workerAnimator.tsx b/app/src/modules/simulation/human/instances/animator/workerAnimator.tsx
index eb6c5f9..33d1fa1 100644
--- a/app/src/modules/simulation/human/instances/animator/workerAnimator.tsx
+++ b/app/src/modules/simulation/human/instances/animator/workerAnimator.tsx
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react';
import { useFrame, useThree } from '@react-three/fiber';
import * as THREE from 'three';
import { Line } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/instance/actions/manufacturerInstance.tsx b/app/src/modules/simulation/human/instances/instance/actions/manufacturerInstance.tsx
index d9ec0d9..aa6e910 100644
--- a/app/src/modules/simulation/human/instances/instance/actions/manufacturerInstance.tsx
+++ b/app/src/modules/simulation/human/instances/instance/actions/manufacturerInstance.tsx
@@ -3,7 +3,7 @@ import * as THREE from 'three';
import { useThree } from '@react-three/fiber';
import { NavMeshQuery } from '@recast-navigation/core';
import { useNavMesh } from '../../../../../../store/builder/store';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/ui/usePlayButtonStore';
import { useTriggerHandler } from '../../../../triggers/triggerHandler/useTriggerHandler';
import { useSceneContext } from '../../../../../scene/sceneContext';
import { useProductContext } from '../../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/instance/actions/operatorInstance.tsx b/app/src/modules/simulation/human/instances/instance/actions/operatorInstance.tsx
index 4500482..6ab89b0 100644
--- a/app/src/modules/simulation/human/instances/instance/actions/operatorInstance.tsx
+++ b/app/src/modules/simulation/human/instances/instance/actions/operatorInstance.tsx
@@ -3,7 +3,7 @@ import * as THREE from 'three';
import { useThree } from '@react-three/fiber';
import { NavMeshQuery } from '@recast-navigation/core';
import { useNavMesh } from '../../../../../../store/builder/store';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../../scene/sceneContext';
import { useProductContext } from '../../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/instance/actions/workerInstance.tsx b/app/src/modules/simulation/human/instances/instance/actions/workerInstance.tsx
index 42d7d76..b62cea1 100644
--- a/app/src/modules/simulation/human/instances/instance/actions/workerInstance.tsx
+++ b/app/src/modules/simulation/human/instances/instance/actions/workerInstance.tsx
@@ -3,7 +3,7 @@ import * as THREE from 'three';
import { useThree } from '@react-three/fiber';
import { NavMeshQuery } from '@recast-navigation/core';
import { useNavMesh } from '../../../../../../store/builder/store';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../../store/ui/usePlayButtonStore';
import { useTriggerHandler } from '../../../../triggers/triggerHandler/useTriggerHandler';
import { useSceneContext } from '../../../../../scene/sceneContext';
import { useProductContext } from '../../../../products/productContext';
diff --git a/app/src/modules/simulation/human/instances/instance/humanInstance.tsx b/app/src/modules/simulation/human/instances/instance/humanInstance.tsx
index 8db35e3..b3aabe5 100644
--- a/app/src/modules/simulation/human/instances/instance/humanInstance.tsx
+++ b/app/src/modules/simulation/human/instances/instance/humanInstance.tsx
@@ -1,5 +1,5 @@
import { useEffect, useRef } from 'react';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/machine/eventManager/useMachineEventManager.ts b/app/src/modules/simulation/machine/eventManager/useMachineEventManager.ts
index 66dda67..967b4a6 100644
--- a/app/src/modules/simulation/machine/eventManager/useMachineEventManager.ts
+++ b/app/src/modules/simulation/machine/eventManager/useMachineEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect, useRef } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
type MachineCallback = {
diff --git a/app/src/modules/simulation/machine/instances/animator/machineAnimator.tsx b/app/src/modules/simulation/machine/instances/animator/machineAnimator.tsx
index a04119d..cb37090 100644
--- a/app/src/modules/simulation/machine/instances/animator/machineAnimator.tsx
+++ b/app/src/modules/simulation/machine/instances/animator/machineAnimator.tsx
@@ -1,5 +1,5 @@
import { useEffect, useRef } from 'react';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
interface MachineAnimatorProps {
diff --git a/app/src/modules/simulation/machine/instances/machineInstance/machineInstance.tsx b/app/src/modules/simulation/machine/instances/machineInstance/machineInstance.tsx
index 297b22f..a38d113 100644
--- a/app/src/modules/simulation/machine/instances/machineInstance/machineInstance.tsx
+++ b/app/src/modules/simulation/machine/instances/machineInstance/machineInstance.tsx
@@ -1,5 +1,5 @@
import { useEffect, useRef, useState } from 'react'
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import MachineAnimator from '../animator/machineAnimator';
import { useTriggerHandler } from '../../../triggers/triggerHandler/useTriggerHandler';
import { useSceneContext } from '../../../../scene/sceneContext';
diff --git a/app/src/modules/simulation/materials/collisionDetection/materialCollitionDetector.tsx b/app/src/modules/simulation/materials/collisionDetection/materialCollitionDetector.tsx
index a5cf242..b1d0dd4 100644
--- a/app/src/modules/simulation/materials/collisionDetection/materialCollitionDetector.tsx
+++ b/app/src/modules/simulation/materials/collisionDetection/materialCollitionDetector.tsx
@@ -1,7 +1,7 @@
import { useEffect, useRef } from 'react';
import * as THREE from 'three';
import { useThree, useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { CameraControls } from '@react-three/drei';
import { useSceneContext } from '../../../scene/sceneContext';
diff --git a/app/src/modules/simulation/materials/instances/animator/materialAnimator.tsx b/app/src/modules/simulation/materials/instances/animator/materialAnimator.tsx
index 5cf20c7..5a6b9e2 100644
--- a/app/src/modules/simulation/materials/instances/animator/materialAnimator.tsx
+++ b/app/src/modules/simulation/materials/instances/animator/materialAnimator.tsx
@@ -1,7 +1,7 @@
import React, { useEffect, useState, useRef } from 'react';
import * as THREE from 'three';
import { useFrame, useThree } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
interface MaterialAnimatorProps {
diff --git a/app/src/modules/simulation/materials/instances/instance/materialInstance.tsx b/app/src/modules/simulation/materials/instances/instance/materialInstance.tsx
index 318759a..4ca26dc 100644
--- a/app/src/modules/simulation/materials/instances/instance/materialInstance.tsx
+++ b/app/src/modules/simulation/materials/instances/instance/materialInstance.tsx
@@ -3,7 +3,7 @@ import * as THREE from 'three';
import MaterialAnimator from '../animator/materialAnimator';
import { MaterialModel } from '../material/materialModel';
import { useThree } from '@react-three/fiber';
-import { useAnimationPlaySpeed } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed } from '../../../../../store/ui/usePlayButtonStore';
import { useTriggerHandler } from '../../../triggers/triggerHandler/useTriggerHandler';
import { useProductContext } from '../../../products/productContext';
import { useSceneContext } from '../../../../scene/sceneContext';
diff --git a/app/src/modules/simulation/materials/materials.tsx b/app/src/modules/simulation/materials/materials.tsx
index d7d3d4a..42095d9 100644
--- a/app/src/modules/simulation/materials/materials.tsx
+++ b/app/src/modules/simulation/materials/materials.tsx
@@ -1,5 +1,5 @@
import { useEffect } from 'react'
-import { usePlayButtonStore, useResetButtonStore } from '../../../store/usePlayButtonStore';
+import { usePlayButtonStore, useResetButtonStore } from '../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../scene/sceneContext';
import MaterialInstances from './instances/materialInstances'
// import MaterialCollisionDetector from './collisionDetection/materialCollitionDetector';
diff --git a/app/src/modules/simulation/products/products.tsx b/app/src/modules/simulation/products/products.tsx
index f90c26a..196fae4 100644
--- a/app/src/modules/simulation/products/products.tsx
+++ b/app/src/modules/simulation/products/products.tsx
@@ -2,7 +2,7 @@ import * as THREE from 'three';
import { useEffect } from 'react';
import { upsertProductOrEventApi } from '../../../services/simulation/products/UpsertProductOrEventApi';
import { getAllProductsApi } from '../../../services/simulation/products/getallProductsApi';
-import { usePlayButtonStore, useResetButtonStore } from '../../../store/usePlayButtonStore';
+import { usePlayButtonStore, useResetButtonStore } from '../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../scene/sceneContext';
import { useProductContext } from './productContext';
import { useComparisonProduct, useMainProduct } from '../../../store/simulation/useSimulationStore';
diff --git a/app/src/modules/simulation/roboticArm/eventManager/useArmBotEventManager.ts b/app/src/modules/simulation/roboticArm/eventManager/useArmBotEventManager.ts
index 3f07ea9..0cbd6a5 100644
--- a/app/src/modules/simulation/roboticArm/eventManager/useArmBotEventManager.ts
+++ b/app/src/modules/simulation/roboticArm/eventManager/useArmBotEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect, useRef } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
type ArmBotCallback = {
diff --git a/app/src/modules/simulation/roboticArm/instances/animator/roboticArmAnimator.tsx b/app/src/modules/simulation/roboticArm/instances/animator/roboticArmAnimator.tsx
index 0bc142d..91f58c8 100644
--- a/app/src/modules/simulation/roboticArm/instances/animator/roboticArmAnimator.tsx
+++ b/app/src/modules/simulation/roboticArm/instances/animator/roboticArmAnimator.tsx
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react';
import { useFrame, useThree } from '@react-three/fiber';
import * as THREE from 'three';
import { Line, Text } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/roboticArm/instances/armInstance/roboticArmInstance.tsx b/app/src/modules/simulation/roboticArm/instances/armInstance/roboticArmInstance.tsx
index 9c3fff6..cc1a5f6 100644
--- a/app/src/modules/simulation/roboticArm/instances/armInstance/roboticArmInstance.tsx
+++ b/app/src/modules/simulation/roboticArm/instances/armInstance/roboticArmInstance.tsx
@@ -3,7 +3,7 @@ import * as THREE from "three";
import IKInstance from '../ikInstance/ikInstance';
import RoboticArmAnimator from '../animator/roboticArmAnimator';
import MaterialAnimator from '../animator/materialAnimator';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useTriggerHandler } from '../../../triggers/triggerHandler/useTriggerHandler';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/roboticArm/instances/ikInstance/ikInstance.tsx b/app/src/modules/simulation/roboticArm/instances/ikInstance/ikInstance.tsx
index d875905..bc2b820 100644
--- a/app/src/modules/simulation/roboticArm/instances/ikInstance/ikInstance.tsx
+++ b/app/src/modules/simulation/roboticArm/instances/ikInstance/ikInstance.tsx
@@ -2,7 +2,7 @@ import { useEffect } from 'react'
import * as THREE from "three";
import { useThree } from "@react-three/fiber";
import { CCDIKSolver, CCDIKHelper } from "three/examples/jsm/animation/CCDIKSolver";
-import { usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
type IKInstanceProps = {
setIkSolver: any
diff --git a/app/src/modules/simulation/roboticArm/roboticArm.tsx b/app/src/modules/simulation/roboticArm/roboticArm.tsx
index 1946fce..5610b1d 100644
--- a/app/src/modules/simulation/roboticArm/roboticArm.tsx
+++ b/app/src/modules/simulation/roboticArm/roboticArm.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from "react";
import { useSelectedEventSphere } from "../../../store/simulation/useSimulationStore";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import RoboticArmInstances from "./instances/roboticArmInstances";
import ArmBotUI from "../spatialUI/arm/armBotUI";
import { useSceneContext } from "../../scene/sceneContext";
diff --git a/app/src/modules/simulation/simulation.tsx b/app/src/modules/simulation/simulation.tsx
index 4490aeb..e9fb50f 100644
--- a/app/src/modules/simulation/simulation.tsx
+++ b/app/src/modules/simulation/simulation.tsx
@@ -11,7 +11,7 @@ import Crane from './crane/crane';
import Simulator from './simulator/simulator';
import Products from './products/products';
import Trigger from './triggers/trigger';
-import useModuleStore from '../../store/useModuleStore';
+import useModuleStore from '../../store/ui/useModuleStore';
import SimulationAnalysis from './analysis/simulationAnalysis';
import { useSceneContext } from '../scene/sceneContext';
diff --git a/app/src/modules/simulation/simulator/simulator.tsx b/app/src/modules/simulation/simulator/simulator.tsx
index 21bf97a..4eae2e9 100644
--- a/app/src/modules/simulation/simulator/simulator.tsx
+++ b/app/src/modules/simulation/simulator/simulator.tsx
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useActionHandler } from '../actions/useActionHandler';
-import { usePlayButtonStore, useResetButtonStore } from '../../../store/usePlayButtonStore';
+import { usePlayButtonStore, useResetButtonStore } from '../../../store/ui/usePlayButtonStore';
import { determineExecutionOrder } from './functions/determineExecutionOrder';
import { useProductContext } from '../products/productContext';
import { useSceneContext } from '../../scene/sceneContext';
diff --git a/app/src/modules/simulation/vehicle/eventManager/useVehicleEventManager.ts b/app/src/modules/simulation/vehicle/eventManager/useVehicleEventManager.ts
index 625beff..c60b187 100644
--- a/app/src/modules/simulation/vehicle/eventManager/useVehicleEventManager.ts
+++ b/app/src/modules/simulation/vehicle/eventManager/useVehicleEventManager.ts
@@ -1,6 +1,6 @@
import { useEffect, useRef } from 'react';
import { useFrame } from '@react-three/fiber';
-import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/usePlayButtonStore';
+import { usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../scene/sceneContext';
type VehicleCallback = {
diff --git a/app/src/modules/simulation/vehicle/instances/animator/interactivePoint.tsx b/app/src/modules/simulation/vehicle/instances/animator/interactivePoint.tsx
index 53b21b2..c928680 100644
--- a/app/src/modules/simulation/vehicle/instances/animator/interactivePoint.tsx
+++ b/app/src/modules/simulation/vehicle/instances/animator/interactivePoint.tsx
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from 'react';
import * as THREE from 'three';
import { useThree, useFrame, ThreeEvent } from '@react-three/fiber';
import { Line } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useActiveTool, useSelectedPath } from '../../../../../store/builder/store';
interface InteractivePointsProps {
diff --git a/app/src/modules/simulation/vehicle/instances/animator/vehicleAnimator.tsx b/app/src/modules/simulation/vehicle/instances/animator/vehicleAnimator.tsx
index 81fbadc..b94a167 100644
--- a/app/src/modules/simulation/vehicle/instances/animator/vehicleAnimator.tsx
+++ b/app/src/modules/simulation/vehicle/instances/animator/vehicleAnimator.tsx
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react'
import { useFrame, useThree, ThreeEvent } from '@react-three/fiber';
import * as THREE from 'three';
import { Line } from '@react-three/drei';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore, useResetButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useActiveTool, useSelectedPath } from '../../../../../store/builder/store';
diff --git a/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx b/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx
index 511f21a..40e4886 100644
--- a/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx
+++ b/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx
@@ -2,7 +2,7 @@ import { useCallback, useEffect, useRef, useState } from 'react';
import * as THREE from 'three';
import { NavMeshQuery } from '@recast-navigation/core';
import { useNavMesh, useSelectedPath } from '../../../../../store/builder/store';
-import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/usePlayButtonStore';
+import { useAnimationPlaySpeed, usePauseButtonStore, usePlayButtonStore } from '../../../../../store/ui/usePlayButtonStore';
import { useTriggerHandler } from '../../../triggers/triggerHandler/useTriggerHandler';
import { useSceneContext } from '../../../../scene/sceneContext';
import { useProductContext } from '../../../products/productContext';
diff --git a/app/src/modules/simulation/vehicle/navMesh/navMesh.tsx b/app/src/modules/simulation/vehicle/navMesh/navMesh.tsx
index ff07ee9..e812328 100644
--- a/app/src/modules/simulation/vehicle/navMesh/navMesh.tsx
+++ b/app/src/modules/simulation/vehicle/navMesh/navMesh.tsx
@@ -2,7 +2,7 @@ import { useRef } from "react";
import * as CONSTANTS from "../../../../types/world/worldConstants";
import * as Types from "../../../../types/world/worldTypes";
import { useLoadingProgress, useNavMesh, useTileDistance } from "../../../../store/builder/store";
-import useModuleStore from "../../../../store/useModuleStore";
+import useModuleStore from "../../../../store/ui/useModuleStore";
import PolygonGenerator from "./polygonGenerator";
import NavMeshDetails from "./navMeshDetails";
diff --git a/app/src/modules/simulation/vehicle/vehicles.tsx b/app/src/modules/simulation/vehicle/vehicles.tsx
index 9e594a5..c03bb0e 100644
--- a/app/src/modules/simulation/vehicle/vehicles.tsx
+++ b/app/src/modules/simulation/vehicle/vehicles.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from "react";
import { useSelectedEventSphere } from "../../../store/simulation/useSimulationStore";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import VehicleInstances from "./instances/vehicleInstances";
import VehicleUI from "../spatialUI/vehicle/vehicleUI";
import { useSceneContext } from "../../scene/sceneContext";
diff --git a/app/src/modules/visualization/RealTimeVisulization.tsx b/app/src/modules/visualization/RealTimeVisulization.tsx
index bec92b3..4c07baa 100644
--- a/app/src/modules/visualization/RealTimeVisulization.tsx
+++ b/app/src/modules/visualization/RealTimeVisulization.tsx
@@ -1,10 +1,10 @@
import React, { useEffect, useState, useRef } from "react";
-import { usePlayButtonStore } from "../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../store/ui/usePlayButtonStore";
import Panel from "./widgets/panel/Panel";
import AddButtons from "./widgets/panel/AddButtons";
import { useSelectedZoneStore } from "../../store/visualization/useZoneStore";
import DisplayZone from "./zone/DisplayZone";
-import useModuleStore from "../../store/useModuleStore";
+import useModuleStore from "../../store/ui/useModuleStore";
import { getZone2dData } from "../../services/visulization/zone/getZoneData";
import SocketRealTimeViz from "./socket/realTimeVizSocket.dev";
import RenderOverlay from "../../components/templates/Overlay";
@@ -13,7 +13,7 @@ import DroppedObjects from "./widgets/floating/DroppedFloatingWidgets";
import EditWidgetOption from "../../components/ui/menu/EditWidgetOption";
import { useEditWidgetOptionsStore, useRightClickSelected, useRightSelected, } from "../../store/visualization/useZone3DWidgetStore";
import OuterClick from "../../utils/outerClick";
-import { useWidgetStore } from "../../store/useWidgetStore";
+import { useWidgetStore } from "../../store/ui/useWidgetStore";
import { useNavigate, useParams } from "react-router-dom";
import { getUserData } from "../../functions/getUserData";
import { useVersionContext } from "../builder/version/versionContext";
diff --git a/app/src/modules/visualization/functions/handleSaveTemplate.ts b/app/src/modules/visualization/functions/handleSaveTemplate.ts
index d4f7a72..2889dde 100644
--- a/app/src/modules/visualization/functions/handleSaveTemplate.ts
+++ b/app/src/modules/visualization/functions/handleSaveTemplate.ts
@@ -1,5 +1,5 @@
import { getUserData } from "../../../functions/getUserData";
-import { Template } from "../../../store/useTemplateStore";
+import { Template } from "../../../store/ui/useTemplateStore";
import { captureVisualization } from "./captureVisualization";
type HandleSaveTemplateProps = {
diff --git a/app/src/modules/visualization/socket/realTimeVizSocket.dev.tsx b/app/src/modules/visualization/socket/realTimeVizSocket.dev.tsx
index 1ed37ca..7783e11 100644
--- a/app/src/modules/visualization/socket/realTimeVizSocket.dev.tsx
+++ b/app/src/modules/visualization/socket/realTimeVizSocket.dev.tsx
@@ -3,7 +3,7 @@ import { useSocketStore } from "../../../store/builder/store";
import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore";
import { useDroppedObjectsStore } from "../../../store/visualization/useDroppedObjectsStore";
import { useZoneWidgetStore } from "../../../store/visualization/useZone3DWidgetStore";
-import useTemplateStore from "../../../store/useTemplateStore";
+import useTemplateStore from "../../../store/ui/useTemplateStore";
type WidgetData = {
id: string;
diff --git a/app/src/modules/visualization/template/Templates.tsx b/app/src/modules/visualization/template/Templates.tsx
index 2cfbdeb..3d097f5 100644
--- a/app/src/modules/visualization/template/Templates.tsx
+++ b/app/src/modules/visualization/template/Templates.tsx
@@ -1,5 +1,5 @@
import { useEffect } from "react";
-import useTemplateStore from "../../../store/useTemplateStore";
+import useTemplateStore from "../../../store/ui/useTemplateStore";
import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore";
import { useSocketStore } from "../../../store/builder/store";
import { getTemplateData } from "../../../services/visulization/zone/getTemplate";
diff --git a/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx b/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
index 4df1982..fb721af 100644
--- a/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
+++ b/app/src/modules/visualization/widgets/2d/DraggableWidget.tsx
@@ -2,8 +2,8 @@ import { forwardRef, useRef, useState } from "react";
import { gsap } from "gsap";
import { Draggable } from "gsap/Draggable";
-import { useWidgetStore } from "../../../../store/useWidgetStore";
-import { usePlayButtonStore } from "../../../../store/usePlayButtonStore";
+import { useWidgetStore } from "../../../../store/ui/useWidgetStore";
+import { usePlayButtonStore } from "../../../../store/ui/usePlayButtonStore";
import { useSelectedZoneStore } from "../../../../store/visualization/useZoneStore";
import PieGraphComponent from "../2d/charts/PieGraphComponent";
import BarGraphComponent from "../2d/charts/BarGraphComponent";
diff --git a/app/src/modules/visualization/widgets/2d/charts/BarGraphComponent.tsx b/app/src/modules/visualization/widgets/2d/charts/BarGraphComponent.tsx
index 77001eb..1cd5776 100644
--- a/app/src/modules/visualization/widgets/2d/charts/BarGraphComponent.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/BarGraphComponent.tsx
@@ -5,8 +5,8 @@ import { Bar } from "react-chartjs-2";
import io from "socket.io-client";
import axios from "axios";
-import { useThemeStore } from "../../../../../store/useThemeStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useThemeStore } from "../../../../../store/ui/useThemeStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/visualization/widgets/2d/charts/DoughnutGraphComponent.tsx b/app/src/modules/visualization/widgets/2d/charts/DoughnutGraphComponent.tsx
index 69b92ac..4e072b3 100644
--- a/app/src/modules/visualization/widgets/2d/charts/DoughnutGraphComponent.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/DoughnutGraphComponent.tsx
@@ -3,8 +3,8 @@ import { Doughnut } from "react-chartjs-2";
import io from "socket.io-client";
import axios from "axios";
-import { useThemeStore } from "../../../../../store/useThemeStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useThemeStore } from "../../../../../store/ui/useThemeStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { useParams } from "react-router-dom";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
diff --git a/app/src/modules/visualization/widgets/2d/charts/LineGraphComponent.tsx b/app/src/modules/visualization/widgets/2d/charts/LineGraphComponent.tsx
index ecacd26..227b73f 100644
--- a/app/src/modules/visualization/widgets/2d/charts/LineGraphComponent.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/LineGraphComponent.tsx
@@ -3,9 +3,9 @@ import { Line } from "react-chartjs-2";
import io from "socket.io-client";
import axios from "axios";
-import { useThemeStore } from "../../../../../store/useThemeStore";
+import { useThemeStore } from "../../../../../store/ui/useThemeStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { useParams } from "react-router-dom";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/2d/charts/PieGraphComponent.tsx b/app/src/modules/visualization/widgets/2d/charts/PieGraphComponent.tsx
index 6879f34..d5d43f3 100644
--- a/app/src/modules/visualization/widgets/2d/charts/PieGraphComponent.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/PieGraphComponent.tsx
@@ -3,9 +3,9 @@ import { Pie } from "react-chartjs-2";
import io from "socket.io-client";
import axios from "axios";
-import { useThemeStore } from "../../../../../store/useThemeStore";
+import { useThemeStore } from "../../../../../store/ui/useThemeStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/2d/charts/PolarAreaGraphComponent.tsx b/app/src/modules/visualization/widgets/2d/charts/PolarAreaGraphComponent.tsx
index b99e55b..c7891d9 100644
--- a/app/src/modules/visualization/widgets/2d/charts/PolarAreaGraphComponent.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/PolarAreaGraphComponent.tsx
@@ -3,9 +3,9 @@ import { PolarArea } from "react-chartjs-2";
import io from "socket.io-client";
import axios from "axios";
-import { useThemeStore } from "../../../../../store/useThemeStore";
+import { useThemeStore } from "../../../../../store/ui/useThemeStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/2d/charts/ProgressCard1.tsx b/app/src/modules/visualization/widgets/2d/charts/ProgressCard1.tsx
index 0506424..1dfaf1c 100644
--- a/app/src/modules/visualization/widgets/2d/charts/ProgressCard1.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/ProgressCard1.tsx
@@ -4,7 +4,7 @@ import io from "socket.io-client";
import axios from "axios";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { StockIncreseIcon } from "../../../../../components/icons/RealTimeVisulationIcons";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/visualization/widgets/2d/charts/ProgressCard2.tsx b/app/src/modules/visualization/widgets/2d/charts/ProgressCard2.tsx
index b538f4d..082e0d4 100644
--- a/app/src/modules/visualization/widgets/2d/charts/ProgressCard2.tsx
+++ b/app/src/modules/visualization/widgets/2d/charts/ProgressCard2.tsx
@@ -4,7 +4,7 @@ import io from "socket.io-client";
import axios from "axios";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import { StockIncreseIcon } from "../../../../../components/icons/RealTimeVisulationIcons";
import { useSelectedZoneStore } from "../../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/visualization/widgets/3d/Dropped3dWidget.tsx b/app/src/modules/visualization/widgets/3d/Dropped3dWidget.tsx
index 3da5c52..58c6271 100644
--- a/app/src/modules/visualization/widgets/3d/Dropped3dWidget.tsx
+++ b/app/src/modules/visualization/widgets/3d/Dropped3dWidget.tsx
@@ -6,7 +6,7 @@ import {
useSocketStore,
useWidgetSubOption,
} from "../../../../store/builder/store";
-import useModuleStore from "../../../../store/useModuleStore";
+import useModuleStore from "../../../../store/ui/useModuleStore";
import { ThreeState } from "../../../../types/world/worldTypes";
import { useSelectedZoneStore } from "../../../../store/visualization/useZoneStore";
import {
@@ -24,7 +24,7 @@ import ProductionCapacity from "./cards/ProductionCapacity";
import ReturnOfInvestment from "./cards/ReturnOfInvestment";
import StateWorking from "./cards/StateWorking";
import Throughput from "./cards/Throughput";
-import { useWidgetStore } from "../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../store/visualization/useChartStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/3d/cards/ProductionCapacity.tsx b/app/src/modules/visualization/widgets/3d/cards/ProductionCapacity.tsx
index 2a104c3..603ef8b 100644
--- a/app/src/modules/visualization/widgets/3d/cards/ProductionCapacity.tsx
+++ b/app/src/modules/visualization/widgets/3d/cards/ProductionCapacity.tsx
@@ -14,7 +14,7 @@ import {
import axios from "axios";
import io from "socket.io-client";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { getUserData } from "../../../../../functions/getUserData";
import { get3dWidgetInput } from "../../../../../services/visulization/zone/get3dWidgetInput";
diff --git a/app/src/modules/visualization/widgets/3d/cards/ReturnOfInvestment.tsx b/app/src/modules/visualization/widgets/3d/cards/ReturnOfInvestment.tsx
index fa09392..dceddf2 100644
--- a/app/src/modules/visualization/widgets/3d/cards/ReturnOfInvestment.tsx
+++ b/app/src/modules/visualization/widgets/3d/cards/ReturnOfInvestment.tsx
@@ -14,7 +14,7 @@ import {
import axios from "axios";
import io from "socket.io-client";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { WavyIcon } from "../../../../../components/icons/3dChartIcons";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/3d/cards/StateWorking.tsx b/app/src/modules/visualization/widgets/3d/cards/StateWorking.tsx
index e6e3b5f..07b648a 100644
--- a/app/src/modules/visualization/widgets/3d/cards/StateWorking.tsx
+++ b/app/src/modules/visualization/widgets/3d/cards/StateWorking.tsx
@@ -3,7 +3,7 @@ import React, { useEffect, useMemo, useState } from "react";
import axios from "axios";
import io from "socket.io-client";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { getUserData } from "../../../../../functions/getUserData";
import { get3dWidgetInput } from "../../../../../services/visulization/zone/get3dWidgetInput";
diff --git a/app/src/modules/visualization/widgets/3d/cards/Throughput.tsx b/app/src/modules/visualization/widgets/3d/cards/Throughput.tsx
index 599b566..6fdf702 100644
--- a/app/src/modules/visualization/widgets/3d/cards/Throughput.tsx
+++ b/app/src/modules/visualization/widgets/3d/cards/Throughput.tsx
@@ -16,7 +16,7 @@ import {
import axios from "axios";
import io from "socket.io-client";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import useChartStore from "../../../../../store/visualization/useChartStore";
import { ThroughputIcon } from "../../../../../components/icons/3dChartIcons";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/floating/DroppedFloatingWidgets.tsx b/app/src/modules/visualization/widgets/floating/DroppedFloatingWidgets.tsx
index ee2d2fd..f3059e3 100644
--- a/app/src/modules/visualization/widgets/floating/DroppedFloatingWidgets.tsx
+++ b/app/src/modules/visualization/widgets/floating/DroppedFloatingWidgets.tsx
@@ -1,6 +1,6 @@
import { useEffect, useRef, useState } from "react";
import { useDroppedObjectsStore } from "../../../../store/visualization/useDroppedObjectsStore";
-import useModuleStore from "../../../../store/useModuleStore";
+import useModuleStore from "../../../../store/ui/useModuleStore";
import { determinePosition } from "../../functions/determinePosition";
import { getActiveProperties } from "../../functions/getActiveProperties";
import { addingFloatingWidgets } from "../../../../services/visulization/zone/addFloatingWidgets";
@@ -14,9 +14,9 @@ import DistanceLines from "./DistanceLines"; // Import the DistanceLines compone
import TotalCardComponent from "./cards/TotalCardComponent";
import WarehouseThroughputComponent from "./cards/WarehouseThroughputComponent";
import FleetEfficiencyComponent from "./cards/FleetEfficiencyComponent";
-import { useWidgetStore } from "../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../store/ui/useWidgetStore";
import { useSocketStore } from "../../../../store/builder/store";
-import { usePlayButtonStore } from "../../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../../store/ui/usePlayButtonStore";
import { useSelectedZoneStore } from "../../../../store/visualization/useZoneStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/floating/cards/FleetEfficiencyComponent.tsx b/app/src/modules/visualization/widgets/floating/cards/FleetEfficiencyComponent.tsx
index ae48014..fc9134c 100644
--- a/app/src/modules/visualization/widgets/floating/cards/FleetEfficiencyComponent.tsx
+++ b/app/src/modules/visualization/widgets/floating/cards/FleetEfficiencyComponent.tsx
@@ -1,10 +1,10 @@
import React, { useState, useEffect } from "react";
import { Line } from "react-chartjs-2";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import io from "socket.io-client";
-import { usePlayButtonStore } from "../../../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../../../store/ui/usePlayButtonStore";
import { getUserData } from "../../../../../functions/getUserData";
import { useParams } from "react-router-dom";
import { getFloatingWidgetInput } from "../../../../../services/visulization/zone/getFloatingWidgetInput";
diff --git a/app/src/modules/visualization/widgets/floating/cards/TotalCardComponent.tsx b/app/src/modules/visualization/widgets/floating/cards/TotalCardComponent.tsx
index 377ce3f..cf2c68f 100644
--- a/app/src/modules/visualization/widgets/floating/cards/TotalCardComponent.tsx
+++ b/app/src/modules/visualization/widgets/floating/cards/TotalCardComponent.tsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from "react";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import io from "socket.io-client";
import {CartIcon,DocumentIcon,GlobeIcon,WalletIcon,} from "../../../../../components/icons/3dChartIcons";
diff --git a/app/src/modules/visualization/widgets/floating/cards/WarehouseThroughputComponent.tsx b/app/src/modules/visualization/widgets/floating/cards/WarehouseThroughputComponent.tsx
index 395a253..746a731 100644
--- a/app/src/modules/visualization/widgets/floating/cards/WarehouseThroughputComponent.tsx
+++ b/app/src/modules/visualization/widgets/floating/cards/WarehouseThroughputComponent.tsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from "react";
import { Line } from "react-chartjs-2";
import useChartStore from "../../../../../store/visualization/useChartStore";
-import { useWidgetStore } from "../../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../../store/ui/useWidgetStore";
import axios from "axios";
import io from "socket.io-client";
import { getUserData } from "../../../../../functions/getUserData";
diff --git a/app/src/modules/visualization/widgets/panel/Panel.tsx b/app/src/modules/visualization/widgets/panel/Panel.tsx
index d1bb12b..38de80f 100644
--- a/app/src/modules/visualization/widgets/panel/Panel.tsx
+++ b/app/src/modules/visualization/widgets/panel/Panel.tsx
@@ -8,7 +8,7 @@ import React, {
import gsap from "gsap";
import { Draggable } from "gsap/Draggable";
import { DraggableWidget } from "../2d/DraggableWidget";
-import { useWidgetStore } from "../../../../store/useWidgetStore";
+import { useWidgetStore } from "../../../../store/ui/useWidgetStore";
import { generateUniqueId } from "../../../../functions/generateUniqueId";
import { useSocketStore } from "../../../../store/builder/store";
import { useParams } from "react-router-dom";
diff --git a/app/src/modules/visualization/zone/DisplayZone.tsx b/app/src/modules/visualization/zone/DisplayZone.tsx
index b8d117a..4ff2f79 100644
--- a/app/src/modules/visualization/zone/DisplayZone.tsx
+++ b/app/src/modules/visualization/zone/DisplayZone.tsx
@@ -1,5 +1,5 @@
import React, { useEffect, useRef, useState, useCallback } from "react";
-import { useWidgetStore, Widget } from "../../../store/useWidgetStore";
+import { useWidgetStore, Widget } from "../../../store/ui/useWidgetStore";
import {
useDroppedObjectsStore,
@@ -13,7 +13,7 @@ import {
MoveArrowRight,
} from "../../../components/icons/SimulationIcons";
import { InfoIcon } from "../../../components/icons/ExportCommonIcons";
-import { usePlayButtonStore } from "../../../store/usePlayButtonStore";
+import { usePlayButtonStore } from "../../../store/ui/usePlayButtonStore";
import { useParams } from "react-router-dom";
import { getUserData } from "../../../functions/getUserData";
import { useVersionContext } from "../../builder/version/versionContext";
diff --git a/app/src/pages/Project.tsx b/app/src/pages/Project.tsx
index 67c3129..2de0dd3 100644
--- a/app/src/pages/Project.tsx
+++ b/app/src/pages/Project.tsx
@@ -1,5 +1,5 @@
import React, { useEffect } from "react";
-import useModuleStore from "../store/useModuleStore";
+import useModuleStore from "../store/ui/useModuleStore";
import { useSocketStore, useProjectName, useActiveTool, } from "../store/builder/store";
import { useNavigate, useParams } from "react-router-dom";
import { useSelectedUserStore } from "../store/collaboration/useCollabStore";
@@ -9,8 +9,6 @@ import RenderOverlay from "../components/templates/Overlay";
import LogList from "../components/ui/log/LogList";
import { getAllProjects } from "../services/dashboard/getAllProjects";
import { viewProject } from "../services/dashboard/viewProject";
-import ComparisonSceneProvider from "../components/layout/scenes/ComparisonSceneProvider";
-import MainSceneProvider from "../components/layout/scenes/MainSceneProvider";
import { getUserData } from "../functions/getUserData";
import { SceneProvider } from "../modules/scene/sceneContext";
import { getVersionHistoryApi } from "../services/factoryBuilder/versionControl/getVersionHistoryApi";
@@ -18,6 +16,9 @@ import { useVersionHistoryStore } from "../store/builder/useVersionHistoryStore"
import { VersionProvider } from "../modules/builder/version/versionContext";
import { sharedWithMeProjects } from "../services/dashboard/sharedWithMeProject";
import { handleCanvasCursors } from "../utils/mouseUtils/handleCanvasCursors";
+import { ProductProvider } from "../modules/simulation/products/productContext";
+import MainScene from "../components/layout/scenes/MainScene";
+import ComparisonScene from "../components/layout/scenes/ComparisonScene";
const Project: React.FC = () => {
let navigate = useNavigate();
@@ -113,12 +114,16 @@ const Project: React.FC = () => {
-
+
+
+
-
+
+
+
{selectedUser &&
}
diff --git a/app/src/store/scene/useSceneStore.ts b/app/src/store/scene/useSceneStore.ts
new file mode 100644
index 0000000..2456476
--- /dev/null
+++ b/app/src/store/scene/useSceneStore.ts
@@ -0,0 +1,28 @@
+import { create } from 'zustand';
+import { immer } from 'zustand/middleware/immer';
+
+interface SelectedVersionState {
+ selectedVersion: Version | null;
+ setSelectedVersion: (version: Version) => void;
+ clearSelectedVersion: () => void;
+}
+
+export const createSelectedVersionStore = () => {
+ return create
()(
+ immer((set) => ({
+ selectedVersion: null,
+ setSelectedVersion: (version) => {
+ set((state) => {
+ state.selectedVersion = version;
+ });
+ },
+ clearSelectedVersion: () => {
+ set((state) => {
+ state.selectedVersion = null;
+ });
+ },
+ }))
+ )
+}
+
+export type SelectedVersionType = ReturnType;
\ No newline at end of file
diff --git a/app/src/store/useCompareProductStore.ts b/app/src/store/simulation/useCompareProductStore.ts
similarity index 100%
rename from app/src/store/useCompareProductStore.ts
rename to app/src/store/simulation/useCompareProductStore.ts
diff --git a/app/src/store/useModuleStore.ts b/app/src/store/ui/useModuleStore.ts
similarity index 96%
rename from app/src/store/useModuleStore.ts
rename to app/src/store/ui/useModuleStore.ts
index 30a84af..e582e76 100644
--- a/app/src/store/useModuleStore.ts
+++ b/app/src/store/ui/useModuleStore.ts
@@ -1,42 +1,42 @@
-import { create } from "zustand";
-
-interface ModuleStore {
- activeModule: string;
- setActiveModule: (module: string) => void;
-}
-
-const useModuleStore = create((set) => ({
- activeModule: "builder", // Initial state
- setActiveModule: (module) => set({ activeModule: module }), // Update state
-}));
-
-export default useModuleStore;
-
-// New store for subModule
-
-type SubModule = 'properties' | 'simulations' | 'mechanics' | 'analysis' | 'zoneProperties'|"resourceManagement";
-
-interface SubModuleStore {
- subModule: SubModule;
- setSubModule: (subModule: SubModule) => void;
-}
-
-const useSubModuleStore = create((set) => ({
- subModule: "properties", // Initial subModule state
- setSubModule: (value) => set({ subModule: value }), // Update subModule state
-}));
-
-export { useSubModuleStore };
-
-interface ThreeDState {
- toggleThreeD: boolean;
- setToggleThreeD: (value: boolean) => void;
-}
-
-// Create the Zustand store
-const useThreeDStore = create((set) => ({
- toggleThreeD: true, // Initial state
- setToggleThreeD: (value) => set({ toggleThreeD: value }), // Action to update the state
-}));
-
+import { create } from "zustand";
+
+interface ModuleStore {
+ activeModule: string;
+ setActiveModule: (module: string) => void;
+}
+
+const useModuleStore = create((set) => ({
+ activeModule: "builder", // Initial state
+ setActiveModule: (module) => set({ activeModule: module }), // Update state
+}));
+
+export default useModuleStore;
+
+// New store for subModule
+
+type SubModule = 'properties' | 'simulations' | 'mechanics' | 'analysis' | 'zoneProperties'|"resourceManagement";
+
+interface SubModuleStore {
+ subModule: SubModule;
+ setSubModule: (subModule: SubModule) => void;
+}
+
+const useSubModuleStore = create((set) => ({
+ subModule: "properties", // Initial subModule state
+ setSubModule: (value) => set({ subModule: value }), // Update subModule state
+}));
+
+export { useSubModuleStore };
+
+interface ThreeDState {
+ toggleThreeD: boolean;
+ setToggleThreeD: (value: boolean) => void;
+}
+
+// Create the Zustand store
+const useThreeDStore = create((set) => ({
+ toggleThreeD: true, // Initial state
+ setToggleThreeD: (value) => set({ toggleThreeD: value }), // Action to update the state
+}));
+
export { useThreeDStore };
\ No newline at end of file
diff --git a/app/src/store/usePlayButtonStore.ts b/app/src/store/ui/usePlayButtonStore.ts
similarity index 97%
rename from app/src/store/usePlayButtonStore.ts
rename to app/src/store/ui/usePlayButtonStore.ts
index fe85d6a..a9eaf69 100644
--- a/app/src/store/usePlayButtonStore.ts
+++ b/app/src/store/ui/usePlayButtonStore.ts
@@ -1,49 +1,49 @@
-import { create } from "zustand";
-
-type PlayButtonStore = {
- isPlaying: boolean; // Updated state name to reflect the play/pause status more clearly
- setIsPlaying: (value: boolean) => void; // Updated setter function name for clarity
-};
-type PauseButtonStore = {
- isPaused: boolean; // Updated state name to reflect the play/pause status more clearly
- setIsPaused: (value: boolean) => void; // Updated setter function name for clarity
-};
-type ResetButtonStore = {
- isReset: boolean; // Updated state name to reflect the play/pause status more clearly
- setReset: (value: boolean) => void; // Updated setter function name for clarity
-};
-interface AnimationSpeedState {
- speed: number;
- setSpeed: (value: number) => void;
-}
-
-export const usePlayButtonStore = create((set) => ({
- isPlaying: false, // Default state for play/pause
- setIsPlaying: (value) => set({ isPlaying: value }), // Update isPlaying state
-}));
-export const useResetButtonStore = create((set) => ({
- isReset: false, // Default state for play/pause
- setReset: (value) => set({ isReset: value }), // Update isPlaying state
-}));
-export const usePauseButtonStore = create((set) => ({
- isPaused: false, // Default state for play/pause
- setIsPaused: (value) => set({ isPaused: value }), // Update isPlaying state
-}));
-export const useAnimationPlaySpeed = create((set) => ({
- speed: 1,
- setSpeed: (value) => set({ speed: value }),
-}));
-
-interface CameraModeState {
- walkMode: boolean;
- setWalkMode: (enabled: boolean) => void;
- toggleWalkMode: () => void;
-}
-
-const useCameraModeStore = create((set) => ({
- walkMode: false,
- setWalkMode: (enabled) => set({ walkMode: enabled }),
- toggleWalkMode: () => set((state) => ({ walkMode: !state.walkMode })),
-}));
-
-export default useCameraModeStore;
+import { create } from "zustand";
+
+type PlayButtonStore = {
+ isPlaying: boolean; // Updated state name to reflect the play/pause status more clearly
+ setIsPlaying: (value: boolean) => void; // Updated setter function name for clarity
+};
+type PauseButtonStore = {
+ isPaused: boolean; // Updated state name to reflect the play/pause status more clearly
+ setIsPaused: (value: boolean) => void; // Updated setter function name for clarity
+};
+type ResetButtonStore = {
+ isReset: boolean; // Updated state name to reflect the play/pause status more clearly
+ setReset: (value: boolean) => void; // Updated setter function name for clarity
+};
+interface AnimationSpeedState {
+ speed: number;
+ setSpeed: (value: number) => void;
+}
+
+export const usePlayButtonStore = create((set) => ({
+ isPlaying: false, // Default state for play/pause
+ setIsPlaying: (value) => set({ isPlaying: value }), // Update isPlaying state
+}));
+export const useResetButtonStore = create((set) => ({
+ isReset: false, // Default state for play/pause
+ setReset: (value) => set({ isReset: value }), // Update isPlaying state
+}));
+export const usePauseButtonStore = create((set) => ({
+ isPaused: false, // Default state for play/pause
+ setIsPaused: (value) => set({ isPaused: value }), // Update isPlaying state
+}));
+export const useAnimationPlaySpeed = create((set) => ({
+ speed: 1,
+ setSpeed: (value) => set({ speed: value }),
+}));
+
+interface CameraModeState {
+ walkMode: boolean;
+ setWalkMode: (enabled: boolean) => void;
+ toggleWalkMode: () => void;
+}
+
+const useCameraModeStore = create((set) => ({
+ walkMode: false,
+ setWalkMode: (enabled) => set({ walkMode: enabled }),
+ toggleWalkMode: () => set((state) => ({ walkMode: !state.walkMode })),
+}));
+
+export default useCameraModeStore;
diff --git a/app/src/store/useTemplateStore.ts b/app/src/store/ui/useTemplateStore.ts
similarity index 95%
rename from app/src/store/useTemplateStore.ts
rename to app/src/store/ui/useTemplateStore.ts
index d416154..ed446ef 100644
--- a/app/src/store/useTemplateStore.ts
+++ b/app/src/store/ui/useTemplateStore.ts
@@ -1,51 +1,51 @@
-import { create } from "zustand";
-
-export interface Widget {
- id: string;
- type: string;
- title: string;
- panel: string;
- data: any;
-}
-
-export interface Template {
- id: string;
- name: string;
- panelOrder: string[];
- widgets: Widget[];
- floatingWidget: any[]; // Fixed empty array type
- widgets3D: any[]; // Fixed empty array type
- snapshot?: string | null;
-}
-
-interface TemplateStore {
- templates: Template[];
- addTemplate: (template: Template) => void;
- setTemplates: (templates: Template[]) => void; // Changed from `setTemplate`
- removeTemplate: (id: string) => void;
-}
-
-export const useTemplateStore = create((set) => ({
- templates: [],
-
- // Add a new template to the list
- addTemplate: (template) =>
- set((state) => ({
- templates: [...state.templates, template],
- })),
-
- // Set (replace) the templates list with a new array
- setTemplates: (templates) =>
- set(() => ({
- templates, // Ensures no duplication
- })),
-
- // Remove a template by ID
- removeTemplate: (id) =>
- set((state) => ({
- templates: state.templates.filter((t) => t.id !== id),
- })),
-}));
-
-export default useTemplateStore;
-
+import { create } from "zustand";
+
+export interface Widget {
+ id: string;
+ type: string;
+ title: string;
+ panel: string;
+ data: any;
+}
+
+export interface Template {
+ id: string;
+ name: string;
+ panelOrder: string[];
+ widgets: Widget[];
+ floatingWidget: any[]; // Fixed empty array type
+ widgets3D: any[]; // Fixed empty array type
+ snapshot?: string | null;
+}
+
+interface TemplateStore {
+ templates: Template[];
+ addTemplate: (template: Template) => void;
+ setTemplates: (templates: Template[]) => void; // Changed from `setTemplate`
+ removeTemplate: (id: string) => void;
+}
+
+export const useTemplateStore = create((set) => ({
+ templates: [],
+
+ // Add a new template to the list
+ addTemplate: (template) =>
+ set((state) => ({
+ templates: [...state.templates, template],
+ })),
+
+ // Set (replace) the templates list with a new array
+ setTemplates: (templates) =>
+ set(() => ({
+ templates, // Ensures no duplication
+ })),
+
+ // Remove a template by ID
+ removeTemplate: (id) =>
+ set((state) => ({
+ templates: state.templates.filter((t) => t.id !== id),
+ })),
+}));
+
+export default useTemplateStore;
+
diff --git a/app/src/store/useThemeStore.ts b/app/src/store/ui/useThemeStore.ts
similarity index 97%
rename from app/src/store/useThemeStore.ts
rename to app/src/store/ui/useThemeStore.ts
index cab0940..944a77f 100644
--- a/app/src/store/useThemeStore.ts
+++ b/app/src/store/ui/useThemeStore.ts
@@ -1,11 +1,11 @@
-import { create } from "zustand";
-
-interface ThemeState {
- themeColor: string[]; // This should be an array of strings
- setThemeColor: (colors: string[]) => void; // This function will accept an array of strings
-}
-
-export const useThemeStore = create((set) => ({
- themeColor: ["#5c87df", "#EEEEFE", "#969BA7"],
- setThemeColor: (colors) => set({ themeColor: colors }),
-}));
+import { create } from "zustand";
+
+interface ThemeState {
+ themeColor: string[]; // This should be an array of strings
+ setThemeColor: (colors: string[]) => void; // This function will accept an array of strings
+}
+
+export const useThemeStore = create((set) => ({
+ themeColor: ["#5c87df", "#EEEEFE", "#969BA7"],
+ setThemeColor: (colors) => set({ themeColor: colors }),
+}));
diff --git a/app/src/store/useUIToggleStore.ts b/app/src/store/ui/useUIToggleStore.ts
similarity index 96%
rename from app/src/store/useUIToggleStore.ts
rename to app/src/store/ui/useUIToggleStore.ts
index cbee72f..71ca96b 100644
--- a/app/src/store/useUIToggleStore.ts
+++ b/app/src/store/ui/useUIToggleStore.ts
@@ -1,53 +1,53 @@
-import { create } from "zustand";
-
-interface ToggleState {
- toggleUILeft: boolean;
- toggleUIRight: boolean;
- setToggleUI: (value1: boolean, value2: boolean) => void;
-}
-
-export const useToggleStore = create((set) => ({
- toggleUILeft: true,
- toggleUIRight: false,
- setToggleUI: (value1: boolean, value2: boolean) => {
- set({ toggleUILeft: value1, toggleUIRight: value2 });
- },
-}));
-
-interface PlayerState {
- hidePlayer: boolean;
- setHidePlayer: (hide: boolean) => void;
-}
-
-// Create the Zustand store
-export const usePlayerStore = create((set) => ({
- hidePlayer: false, // initial state
- setHidePlayer: (hide) => set({ hidePlayer: hide }), // state updater
-}));
-
-interface MouseNoteState {
- Leftnote: string;
- Middlenote: string;
- Rightnote: string;
- setNotes: (notes: {
- Leftnote: string;
- Middlenote: string;
- Rightnote: string;
- }) => void;
- setLeftnote: (note: string) => void;
- setMiddlenote: (note: string) => void;
- setRightnote: (note: string) => void;
- resetNotes: () => void;
-}
-
-export const useMouseNoteStore = create((set) => ({
- Leftnote: '',
- Middlenote: '',
- Rightnote: '',
- setNotes: (notes) => set(notes),
- setLeftnote: (note) => set({ Leftnote: note }),
- setMiddlenote: (note) => set({ Middlenote: note }),
- setRightnote: (note) => set({ Rightnote: note }),
- resetNotes: () =>
- set({ Leftnote: '', Middlenote: '', Rightnote: '' }),
-}));
+import { create } from "zustand";
+
+interface ToggleState {
+ toggleUILeft: boolean;
+ toggleUIRight: boolean;
+ setToggleUI: (value1: boolean, value2: boolean) => void;
+}
+
+export const useToggleStore = create((set) => ({
+ toggleUILeft: true,
+ toggleUIRight: false,
+ setToggleUI: (value1: boolean, value2: boolean) => {
+ set({ toggleUILeft: value1, toggleUIRight: value2 });
+ },
+}));
+
+interface PlayerState {
+ hidePlayer: boolean;
+ setHidePlayer: (hide: boolean) => void;
+}
+
+// Create the Zustand store
+export const usePlayerStore = create((set) => ({
+ hidePlayer: false, // initial state
+ setHidePlayer: (hide) => set({ hidePlayer: hide }), // state updater
+}));
+
+interface MouseNoteState {
+ Leftnote: string;
+ Middlenote: string;
+ Rightnote: string;
+ setNotes: (notes: {
+ Leftnote: string;
+ Middlenote: string;
+ Rightnote: string;
+ }) => void;
+ setLeftnote: (note: string) => void;
+ setMiddlenote: (note: string) => void;
+ setRightnote: (note: string) => void;
+ resetNotes: () => void;
+}
+
+export const useMouseNoteStore = create((set) => ({
+ Leftnote: '',
+ Middlenote: '',
+ Rightnote: '',
+ setNotes: (notes) => set(notes),
+ setLeftnote: (note) => set({ Leftnote: note }),
+ setMiddlenote: (note) => set({ Middlenote: note }),
+ setRightnote: (note) => set({ Rightnote: note }),
+ resetNotes: () =>
+ set({ Leftnote: '', Middlenote: '', Rightnote: '' }),
+}));
diff --git a/app/src/store/useWidgetStore.ts b/app/src/store/ui/useWidgetStore.ts
similarity index 97%
rename from app/src/store/useWidgetStore.ts
rename to app/src/store/ui/useWidgetStore.ts
index 2d73c77..ff70d6b 100644
--- a/app/src/store/useWidgetStore.ts
+++ b/app/src/store/ui/useWidgetStore.ts
@@ -1,35 +1,35 @@
-import { create } from "zustand";
-
-export interface Widget {
- id: string;
- type: string; // Can be chart type or "progress"
- panel: "top" | "bottom" | "left" | "right";
- title: string;
- fontFamily?: string;
- fontSize?: string;
- fontWeight?: string;
- data?: any;
- Data?:any;
-}
-
-interface WidgetStore {
- draggedAsset: Widget | null; // The currently dragged widget asset
- widgets: Widget[]; // List of all widgets
- selectedChartId: any;
- setDraggedAsset: (asset: Widget | null) => void; // Setter for draggedAsset
- addWidget: (widget: Widget) => void; // Add a new widget
- setWidgets: (widgets: Widget[]) => void; // Replace the entire widgets array
- setSelectedChartId: (widget: any | null) => void; // Set the selected chart/widget
-}
-
-// Create the store with Zustand
-export const useWidgetStore = create((set) => ({
- draggedAsset: null,
- widgets: [],
- selectedChartId: null, // Initialize as null, not as an array
- setDraggedAsset: (asset) => set({ draggedAsset: asset }),
- addWidget: (widget) =>
- set((state) => ({ widgets: [...state.widgets, widget] })),
- setWidgets: (widgets) => set({ widgets }),
- setSelectedChartId: (widget) => set({ selectedChartId: widget }),
-}));
+import { create } from "zustand";
+
+export interface Widget {
+ id: string;
+ type: string; // Can be chart type or "progress"
+ panel: "top" | "bottom" | "left" | "right";
+ title: string;
+ fontFamily?: string;
+ fontSize?: string;
+ fontWeight?: string;
+ data?: any;
+ Data?:any;
+}
+
+interface WidgetStore {
+ draggedAsset: Widget | null; // The currently dragged widget asset
+ widgets: Widget[]; // List of all widgets
+ selectedChartId: any;
+ setDraggedAsset: (asset: Widget | null) => void; // Setter for draggedAsset
+ addWidget: (widget: Widget) => void; // Add a new widget
+ setWidgets: (widgets: Widget[]) => void; // Replace the entire widgets array
+ setSelectedChartId: (widget: any | null) => void; // Set the selected chart/widget
+}
+
+// Create the store with Zustand
+export const useWidgetStore = create((set) => ({
+ draggedAsset: null,
+ widgets: [],
+ selectedChartId: null, // Initialize as null, not as an array
+ setDraggedAsset: (asset) => set({ draggedAsset: asset }),
+ addWidget: (widget) =>
+ set((state) => ({ widgets: [...state.widgets, widget] })),
+ setWidgets: (widgets) => set({ widgets }),
+ setSelectedChartId: (widget) => set({ selectedChartId: widget }),
+}));
diff --git a/app/src/utils/mouseUtils/mouseHelper.ts b/app/src/utils/mouseUtils/mouseHelper.ts
index fa309cc..b0f1101 100644
--- a/app/src/utils/mouseUtils/mouseHelper.ts
+++ b/app/src/utils/mouseUtils/mouseHelper.ts
@@ -1,4 +1,4 @@
-import { useMouseNoteStore } from "../../store/useUIToggleStore";
+import { useMouseNoteStore } from "../../store/ui/useUIToggleStore";
const actionNotes: Record = {
'left+CONTROL': 'Box Select',
diff --git a/app/src/utils/shortcutkeys/handleShortcutKeys.ts b/app/src/utils/shortcutkeys/handleShortcutKeys.ts
index 159eceb..cfedb34 100644
--- a/app/src/utils/shortcutkeys/handleShortcutKeys.ts
+++ b/app/src/utils/shortcutkeys/handleShortcutKeys.ts
@@ -1,8 +1,8 @@
import React, { useEffect } from "react";
-import useModuleStore, { useSubModuleStore, useThreeDStore } from "../../store/useModuleStore";
-import { usePlayerStore, useToggleStore } from "../../store/useUIToggleStore";
+import useModuleStore, { useSubModuleStore, useThreeDStore } from "../../store/ui/useModuleStore";
+import { usePlayerStore, useToggleStore } from "../../store/ui/useUIToggleStore";
import useVersionHistoryVisibleStore, { useActiveSubTool, useActiveTool, useAddAction, useDfxUpload, useRenameModeStore, useSaveVersion, useSelectedComment, useShortcutStore, useToggleView, useToolMode, useViewSceneStore } from "../../store/builder/store";
-import useCameraModeStore, { usePlayButtonStore } from "../../store/usePlayButtonStore";
+import useCameraModeStore, { usePlayButtonStore } from "../../store/ui/usePlayButtonStore";
import { detectModifierKeys } from "./detectModifierKeys";
import { useSelectedZoneStore } from "../../store/visualization/useZoneStore";
import { useLogger } from "../../components/ui/log/LoggerContext";