import { Environment, Float, MeshTransmissionMaterial, } from "@react-three/drei"; import { Canvas } from "@react-three/fiber"; import { EffectComposer } from "@react-three/postprocessing"; import { Suspense, useEffect, useState } from "react"; import { DEFAULT_CONFIG, Fluid } from "../react-fluid-distortion"; function BackdropGeometry() { return ( <> ); } type FluidBackdropProps = { subdued?: boolean; }; function BackdropReadySignal({ onReady }: { onReady: () => void }) { useEffect(() => { let raf = window.requestAnimationFrame(() => { raf = window.requestAnimationFrame(() => { onReady(); }); }); return () => { window.cancelAnimationFrame(raf); }; }, [onReady]); return null; } export function FluidBackdrop({ subdued = false }: FluidBackdropProps) { const backgroundColor = subdued ? "#060912" : DEFAULT_CONFIG.backgroundColor; const [isReady, setIsReady] = useState(false); return (