UNPKG

@vctrl/hooks

Version:

vctrl/hooks is a React hooks package designed to simplify 3D model loading and management within React applications. It's part of the vectreal-core ecosystem and is primarily used in the vctrl/viewer React component and the official website application.

20 lines (19 loc) 1.06 kB
import { UseLoadModelReturn } from './types'; import { useOptimizeModel } from '../use-optimize-model'; /** * Custom hook to load and manage 3D models with optional optimization integration. * * Supports GLTF, GLB, and USDZ formats via file upload or server-side scene loading. * When an optimizer is provided, each load path initialises the optimizer so texture * names and URIs are preserved for subsequent compression or simplification passes. * * **Type Safety:** * - With optimizer: `optimizer` property is fully typed with optimization methods * - Without optimizer: `optimizer` property is typed as `null` * * @template T - The type of the optimizer parameter (inferred automatically) * @param optimizer - Optional optimizer hook returned from useOptimizeModel * @returns Model loading state and methods, with conditionally typed optimizer property */ declare function useLoadModel<T extends ReturnType<typeof useOptimizeModel> | undefined>(optimizer?: T): UseLoadModelReturn<T extends undefined ? false : true>; export default useLoadModel;