UNPKG

@playcanvas/react

Version:

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

36 lines (35 loc) 1.46 kB
import * as pc from 'playcanvas'; import { HostConfig } from 'react-reconciler'; import { EntityProps } from './config/entity-config'; import * as componentConfig from './config/component-config'; import * as scriptConfig from './config/script-config'; type EntityNode = { type: 'entity'; entity: pc.Entity; }; type PlayCanvasNode = EntityNode | componentConfig.ComponentNode | scriptConfig.ScriptNode; export type PlayCanvasHostContext = { app: pc.Application; }; type PlayCanvasTextInstance = never; /********************************************************************* * Helper functions to create or update PC Entities & Components *********************************************************************/ /** Create or update a component on a given entity */ type UpdatePayload = EntityProps & { type: string; props: Record<string, any>; }; /********************************************************************* * The HostConfig for react-reconciler *********************************************************************/ export declare const ReactPlayCanvasHostConfig: HostConfig<string, // Type Record<string, any>, // Props PlayCanvasHostContext, PlayCanvasNode, PlayCanvasTextInstance, unknown, // SuspenseInstance PlayCanvasNode, pc.Entity | PlayCanvasNode, // Change from pc.Entity | null to PlayCanvasNode unknown, // PublicInstance unknown, // HostContext UpdatePayload, // UpdatePayload unknown, // ChildSet any>; export {};