Add decal management functionality and refactor wall components

This commit is contained in:
2025-06-25 17:20:35 +05:30
parent 587ed6c9d7
commit 08208528a5
7 changed files with 124 additions and 27 deletions

View File

@@ -16,6 +16,9 @@ interface BuilderState {
outsideMaterial: string;
insideMaterial: string;
// Decal Settings
selectedDecal: Object3D | null;
// Aisle General
selectedAisle: Object3D | null;
aisleType: AisleTypes;
@@ -41,6 +44,9 @@ interface BuilderState {
setWallHeight: (height: number) => void;
setWallMaterial: (material: string, side: 'inside' | 'outside') => void;
// Setters - Decal
setSelectedDecal: (decal: Object3D | null) => void;
// Setters - Aisle General
setSelectedAisle: (aisle: Object3D | null) => void;
setAisleType: (type: AisleTypes) => void;
@@ -75,6 +81,8 @@ export const useBuilderStore = create<BuilderState>()(
outsideMaterial: 'Default Material',
insideMaterial: 'Material 1',
selectedDecal: null,
selectedAisle: null,
aisleType: 'solid-aisle',
aisleWidth: 0.1,
@@ -139,6 +147,14 @@ export const useBuilderStore = create<BuilderState>()(
});
},
// === Setters: Decal ===
setSelectedDecal: (decal: Object3D | null) => {
set((state) => {
state.selectedDecal = decal;
})
},
// === Setters: Aisle General ===
setSelectedAisle: (aisle: Object3D | null) => {