From d0538ccfae0abfca1a2cb40dd93de1b82455f7d4 Mon Sep 17 00:00:00 2001 From: Jerald-Golden-B Date: Fri, 13 Jun 2025 15:22:03 +0530 Subject: [PATCH 1/7] feat: implement duplicate scene functionality with builder, controls, and post-processing components --- .../layout/scenes/ComparisonScene.tsx | 2 +- .../ui/compareVersion/CompareLayOut.tsx | 11 +- .../aisle/Instances/aisleInstances.tsx | 2 - app/src/modules/builder/groups/wallsMesh.tsx | 2 +- .../duplicateBuilder/builderDuplicate.tsx | 48 +++++ .../duplicateAisle/aislesDuplicate.tsx | 27 +++ .../duplicateAsset/assetsGroupDuplicate.tsx | 123 ++++++++++++ .../duplicateAsset/modelDuplicate.tsx | 123 ++++++++++++ .../duplicateFloor/floorGroupDuplicate.tsx | 47 +++++ .../duplicateWall/wallMeshDuplicate.tsx | 66 +++++++ .../duplicateWall/wallsDuplicate.tsx | 29 +++ .../duplicateZone/zoneDuplicate.tsx | 182 ++++++++++++++++++ .../duplicateSetup/controlsDuplicate.tsx | 54 ++++++ .../postProcessingDuplicate.tsx | 18 ++ app/src/modules/duplicate/sceneDuplicate.tsx | 44 +++++ app/src/modules/scene/controls/controls.tsx | 1 - app/src/modules/scene/scene.tsx | 7 +- .../utils/shortcutkeys/handleShortcutKeys.ts | 5 +- 18 files changed, 775 insertions(+), 16 deletions(-) create mode 100644 app/src/modules/duplicate/duplicateBuilder/builderDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateAisle/aislesDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateAsset/assetsGroupDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateAsset/modelDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateFloor/floorGroupDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateWall/wallMeshDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateWall/wallsDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateBuilder/duplicateZone/zoneDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateSetup/controlsDuplicate.tsx create mode 100644 app/src/modules/duplicate/duplicateSetup/postProcessingDuplicate.tsx create mode 100644 app/src/modules/duplicate/sceneDuplicate.tsx diff --git a/app/src/components/layout/scenes/ComparisonScene.tsx b/app/src/components/layout/scenes/ComparisonScene.tsx index ce8e455..9c895ad 100644 --- a/app/src/components/layout/scenes/ComparisonScene.tsx +++ b/app/src/components/layout/scenes/ComparisonScene.tsx @@ -82,7 +82,7 @@ function ComparisonScene() { {comparisonProduct && !isPlaying &&
l.productName)} // Pass layout names as options onSelect={handleSelectLayout} search={false} diff --git a/app/src/components/ui/compareVersion/CompareLayOut.tsx b/app/src/components/ui/compareVersion/CompareLayOut.tsx index 9229dba..e111252 100644 --- a/app/src/components/ui/compareVersion/CompareLayOut.tsx +++ b/app/src/components/ui/compareVersion/CompareLayOut.tsx @@ -14,10 +14,10 @@ import { useProductStore } from "../../../store/simulation/useProductStore"; import Scene from "../../../modules/scene/scene"; import { useComparisonProduct } from "../../../store/simulation/useSimulationStore"; import { usePauseButtonStore, usePlayButtonStore } from "../../../store/usePlayButtonStore"; +import DuplicateScene from "../../../modules/duplicate/sceneDuplicate"; const CompareLayOut = () => { - const { comparisonProduct, setComparisonProduct, clearComparisonProduct } = - useComparisonProduct(); + const { comparisonProduct, setComparisonProduct, clearComparisonProduct } = useComparisonProduct(); const { products } = useProductStore(); const { setLoadingProgress } = useLoadingProgress(); const [width, setWidth] = useState("50vw"); @@ -127,7 +127,7 @@ const CompareLayOut = () => { ref={wrapperRef} style={{ width }} > - {loadingProgress == 0 && ( + {loadingProgress == 0 && comparisonProduct && (