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.

79 lines (78 loc) 3.94 kB
import { useOptimizeModel } from '../use-optimize-model'; interface ModelProviderProps extends React.PropsWithChildren { optimizer?: ReturnType<typeof useOptimizeModel>; } declare const ModelContext: import('react').Context<{ on: <T extends import('./types').EventTypes>(event: T, handler?: import('./types').EventHandler<T>) => void; off: <T extends import('./types').EventTypes>(event: T, handler?: import('./types').EventHandler<T>) => void; load: (filesOrDirectories: import('./types').InputFileOrDirectory) => Promise<void>; reset: () => void; optimize: { simplifyOptimization: () => void; dedupOptimization: () => void; quantizeOptimization: () => void; normalsOptimization: () => void; texturesCompressOptimization: () => void; getSize: () => void; reset: () => void; report: null; error: null; loading: boolean; } | { simplifyOptimization: (options?: { ratio?: number; error?: number; } | undefined) => Promise<void>; dedupOptimization: (options?: import('@gltf-transform/functions').DedupOptions | undefined) => Promise<void>; quantizeOptimization: (options?: import('@gltf-transform/functions').QuantizeOptions | undefined) => Promise<void>; normalsOptimization: (options?: import('@gltf-transform/functions').NormalsOptions | undefined) => Promise<void>; texturesCompressOptimization: (options?: import('@gltf-transform/functions').TextureCompressOptions | undefined) => Promise<void>; getSize: () => import('../use-optimize-model/types').ModelSize | null; reset: () => void; report: import('@gltf-transform/functions').InspectReport | null; error: Error | null; loading: boolean; }; file: import('./types').ModelFile | null; isFileLoading: boolean; progress: number; supportedFileTypes: import('./types').ModelFileTypes[]; }>; declare const ModelProvider: ({ children, optimizer }: ModelProviderProps) => import("react/jsx-runtime").JSX.Element; declare const useModelContext: () => { on: <T extends import('./types').EventTypes>(event: T, handler?: import('./types').EventHandler<T>) => void; off: <T extends import('./types').EventTypes>(event: T, handler?: import('./types').EventHandler<T>) => void; load: (filesOrDirectories: import('./types').InputFileOrDirectory) => Promise<void>; reset: () => void; optimize: { simplifyOptimization: () => void; dedupOptimization: () => void; quantizeOptimization: () => void; normalsOptimization: () => void; texturesCompressOptimization: () => void; getSize: () => void; reset: () => void; report: null; error: null; loading: boolean; } | { simplifyOptimization: (options?: { ratio?: number; error?: number; } | undefined) => Promise<void>; dedupOptimization: (options?: import('@gltf-transform/functions').DedupOptions | undefined) => Promise<void>; quantizeOptimization: (options?: import('@gltf-transform/functions').QuantizeOptions | undefined) => Promise<void>; normalsOptimization: (options?: import('@gltf-transform/functions').NormalsOptions | undefined) => Promise<void>; texturesCompressOptimization: (options?: import('@gltf-transform/functions').TextureCompressOptions | undefined) => Promise<void>; getSize: () => import('../use-optimize-model/types').ModelSize | null; reset: () => void; report: import('@gltf-transform/functions').InspectReport | null; error: Error | null; loading: boolean; }; file: import('./types').ModelFile | null; isFileLoading: boolean; progress: number; supportedFileTypes: import('./types').ModelFileTypes[]; }; export { ModelContext, ModelProvider, useModelContext };