From b9c5d0c5634f1ae9daf46c9a3440e5ca6084828c Mon Sep 17 00:00:00 2001 From: Tom Boullay Date: Sun, 31 May 2026 21:22:48 +0200 Subject: [PATCH] feat(world): add lafabrik lod support --- src/components/three/world/LaFabrikMapModel.tsx | 14 +++++++++++++- src/data/world/mapLodConfig.ts | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/three/world/LaFabrikMapModel.tsx b/src/components/three/world/LaFabrikMapModel.tsx index 9b0dc62..f6a9eae 100644 --- a/src/components/three/world/LaFabrikMapModel.tsx +++ b/src/components/three/world/LaFabrikMapModel.tsx @@ -3,15 +3,27 @@ import { MergedStaticMapModel, type MergedStaticMapModelProps, } from "@/components/three/world/MergedStaticMapModel"; +import { getMapLodModelPath } from "@/data/world/mapLodConfig"; +import { useMapLodModelPath } from "@/hooks/world/useMapLodModelPath"; const LA_FABRIK_MODEL_PATH = "/models/lafabrik/model.gltf"; +const LA_FABRIK_LOD_MODEL_PATH = getMapLodModelPath("lafabrik"); type LaFabrikMapModelProps = Omit; export function LaFabrikMapModel( props: LaFabrikMapModelProps, ): React.JSX.Element { - return ; + const modelPath = useMapLodModelPath({ + modelName: "lafabrik", + modelPath: LA_FABRIK_MODEL_PATH, + position: props.position, + }); + + return ; } useGLTF.preload(LA_FABRIK_MODEL_PATH); +if (LA_FABRIK_LOD_MODEL_PATH) { + useGLTF.preload(LA_FABRIK_LOD_MODEL_PATH); +} diff --git a/src/data/world/mapLodConfig.ts b/src/data/world/mapLodConfig.ts index 171772f..2bea581 100644 --- a/src/data/world/mapLodConfig.ts +++ b/src/data/world/mapLodConfig.ts @@ -10,6 +10,7 @@ export const MAP_LOD_MODEL_PATHS = { boiteimmeuble: "/models/boiteimmeuble-LOD/model.gltf", ecole: "/models/ecole-LOD/model.gltf", immeuble1: "/models/immeuble1-LOD/model.gltf", + lafabrik: "/models/lafabrik-LOD/model.gltf", maison1: "/models/maison1-LOD/model.gltf", panneauaffichage: "/models/panneauaffichage-LOD/model.gltf", talkie: "/models/talkie-LOD/model.gltf",