@playcanvas/react
Version:
A React renderer for PlayCanvas – build interactive 3D applications using React's declarative paradigm.
36 lines (35 loc) • 1.46 kB
TypeScript
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 {};