import { GAME_SCENE_FALLBACK_BACKGROUND_COLOR, GAME_SCENE_FALLBACK_SKY_MODEL_PATH, GAME_SCENE_FALLBACK_SKY_MODEL_SCALE, GAME_SCENE_SKY_MODEL_PATH, GAME_SCENE_SKY_MODEL_SCALE, PHYSICS_SCENE_BACKGROUND_COLOR, } from "@/data/world/environmentConfig"; import { FOG_CONFIG } from "@/data/world/fogConfig"; import { useCameraMode } from "@/hooks/debug/useCameraMode"; import { useSceneMode } from "@/hooks/debug/useSceneMode"; import { isMapModelVisible, useMapPerformanceStore, } from "@/managers/stores/useMapPerformanceStore"; import { SkyModel } from "@/components/three/world/SkyModel"; import { useDebugStore } from "@/hooks/debug/useDebugStore"; export function Environment(): React.JSX.Element { const cameraMode = useCameraMode(); const sceneMode = useSceneMode(); const fogEnabled = useDebugStore((debug) => debug.getFogEnabled()); const groups = useMapPerformanceStore((state) => state.groups); const models = useMapPerformanceStore((state) => state.models); const showSky = isMapModelVisible("sky", { groups, models }); if (sceneMode === "physics") { return ( ); } return ( <> {FOG_CONFIG.enabled && fogEnabled && sceneMode === "game" && cameraMode === "player" ? ( ) : null} {showSky ? ( ) : ( )} ); }