UNPKG

@playcanvas/react

Version:

A React renderer for PlayCanvas – build interactive 3D applications using React's declarative paradigm.

27 lines 1.25 kB
"use client"; import { useComponent } from "../hooks/index.js"; import { Asset, Entity } from "playcanvas"; import { validatePropsWithDefaults, createComponentDefinition, getStaticNullApplication } from "../utils/validation.js"; /** * The GSplat component allows an entity to render a Gaussian Splat. * @param {GSplatProps} props - The props to pass to the GSplat component. * @see https://api.playcanvas.com/engine/classes/GSplatComponent.html * @example * const { data: splat } = useSplat('./splat.ply') * <GSplat asset={splat} /> */ export const GSplat = (props) => { const safeProps = validatePropsWithDefaults(props, componentDefinition); useComponent("gsplat", safeProps, componentDefinition.schema); return null; }; const componentDefinition = createComponentDefinition("GSplat", () => new Entity("mock-gsplat", getStaticNullApplication()).addComponent('gsplat'), (component) => component.system.destroy(), "GSplatComponent"); componentDefinition.schema = { ...componentDefinition.schema, asset: { validate: (val) => val instanceof Asset, errorMsg: (val) => `Invalid value for prop "asset": "${JSON.stringify(val)}". Expected an Asset.`, default: null } }; //# sourceMappingURL=GSplat.js.map