@tripo3d/engine / Engine
Interface: Engine
Defined in: core/engine.ts:53
Engine 3.0 的唯一组合根与公共 mutation authority。
Engine 拥有 Canvas、renderer、默认 World/View、各领域 owner 以及终态释放流程。
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
camera | readonly | PerspectiveCamera | 构造时创建并由默认 View 借用的 PerspectiveCamera。 | core/engine.ts:63 |
canvas | readonly | HTMLCanvasElement | Engine 创建并终身持有的唯一 Canvas。 | core/engine.ts:65 |
disposed | readonly | boolean | Engine 是否已进入不可逆终态。 | core/engine.ts:105 |
pipeline | readonly | Pipeline | Engine 内唯一渲染管线的公共控制面。 | core/engine.ts:154 |
pointer | readonly | Pointer | Engine eager 创建且 identity 稳定的鼠标事件入口。 | core/engine.ts:156 |
renderer | readonly | WebGLRenderer | Engine 创建并暴露 identity 的原生 renderer;设备级 mutation 仍归 Engine。 | core/engine.ts:167 |
running | readonly | boolean | frame loop 当前是否运行。 | core/engine.ts:169 |
size | readonly | Readonly<RenderSize> | 当前只读尺寸快照。 | core/engine.ts:178 |
view | readonly | RenderView | 构造时创建的默认 RenderView。 | core/engine.ts:193 |
world | readonly | World | 构造时创建的默认 World。 | core/engine.ts:195 |
worlds | readonly | readonly World[] | 当前 Engine 拥有的全部存活 World 的只读投影。 | core/engine.ts:197 |
Methods
addSystem()
addSystem<T>(definition): T;Defined in: core/engine.ts:61
同步取得一个Engine-global System owner。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<T> | 作为owner唯一key且不会被Engine释放的System Definition。 |
Returns
T
首次setup返回的原始业务identity;重复添加返回同一结果。
Throws
setup、initial lifecycle失败,Engine终止或active frame中首次添加时同步抛出。
createEntity()
Call Signature
createEntity(): Entity<Group<Object3DEventMap>>;Defined in: core/engine.ts:72
创建并全量绑定一个Engine-owned Group Entity。
Returns
Entity<Group<Object3DEventMap>>
可保持floating或随后进入World的全新Entity。
Throws
Engine终止后调用时同步抛出。
Call Signature
createEntity<TObject>(root): Entity<TObject>;Defined in: core/engine.ts:80
全量绑定给定 Object3D 子树,并返回根 Entity。
Type Parameters
| Type Parameter |
|---|
TObject extends Object3D<Object3DEventMap> |
Parameters
| Parameter | Type | Description |
|---|---|---|
root | TObject | 待绑定且当前未被任何 Engine 绑定的 Object3D 根。 |
Returns
Entity<TObject>
与 root 保持精确泛型 identity 的 Entity。
Throws
root有parent、subtree含foreign/mixed binding或Engine已终止时同步抛出。
createWorld()
createWorld(root?): World;Defined in: core/engine.ts:89
创建 World,可选择使用已经绑定的 Scene Entity 作为根。
Parameters
| Parameter | Type | Description |
|---|---|---|
root? | Entity<Scene> | 可选的 Scene Entity;省略时由 Engine 创建。 |
Returns
当前 Engine 新拥有的 World。
Throws
root不是same-Engine、live、floating且parentless的Scene Entity,或active frame/终态调用时抛出。
destroyWorld()
destroyWorld(world): boolean;Defined in: core/engine.ts:97
销毁extra World及其完整Entity subtree。
Parameters
| Parameter | Type | Description |
|---|---|---|
world | World | 待销毁的World identity。 |
Returns
boolean
same-Engine live extra World被销毁时为true;foreign或已销毁时为false。
Throws
default World、active frame或业务terminal callback失败时同步抛出。
dispose()
dispose(): void;Defined in: core/engine.ts:103
先发布不可逆终态,再尽力释放全部Engine-owned能力;重复调用无副作用。
Returns
void
Throws
同步业务执行中拒绝抢占;清理单错原样、多错以primary-first AggregateError传播。
emitEvent()
emitEvent<T>(event, ...payload): void;Defined in: core/engine.ts:113
同步派发一个 Engine Event。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
event | EngineEvent<T> | 作为唯一频道 identity 的 Event token。 |
...payload | [T] extends [void] ? [] : [T extends void ? undefined : T] | 非 void Event 必须提供的 payload。 |
Returns
void
Throws
Engine终止或任一同步handler失败时原样抛出。
getEntity()
getEntity<TObject>(object): Entity<TObject> | undefined;Defined in: core/engine.ts:123
查询当前 Engine 中与原生 Object3D 一一对应的 Entity。
Type Parameters
| Type Parameter |
|---|
TObject extends Object3D<Object3DEventMap> |
Parameters
| Parameter | Type | Description |
|---|---|---|
object | TObject | 待查询的原生 Object3D。 |
Returns
Entity<TObject> | undefined
已绑定 Entity;未绑定或已销毁时返回 undefined。
getSystem()
getSystem<T>(definition): T | undefined;Defined in: core/engine.ts:126
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<T> | System Definition。 |
Returns
T | undefined
已安装 setup 结果;不存在时返回 undefined。
hasSystem()
hasSystem(definition): boolean;Defined in: core/engine.ts:128
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<unknown> | System Definition。 |
Returns
boolean
当前 Engine 是否已安装该 identity。
hasWorld()
hasWorld(world): boolean;Defined in: core/engine.ts:130
Parameters
| Parameter | Type | Description |
|---|---|---|
world | World | 待查询的 World。 |
Returns
boolean
World 是否由当前 Engine 持有且存活。
isSystemEnabled()
isSystemEnabled(definition): boolean;Defined in: core/engine.ts:133
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<unknown> | System Definition。 |
Returns
boolean
已安装 System 自身的 enabled;不存在时返回 false。
onceEvent()
onceEvent<T>(event, handler): () => void;Defined in: core/engine.ts:142
注册最多执行一次的 Engine 级事件订阅。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
event | EngineEvent<T> | 作为唯一频道 identity 的 Event token。 |
handler | (payload) => void | 同步处理 payload 的业务函数。 |
Returns
幂等 unsubscribe。
() => void
Throws
Engine终止或handler不是函数时同步抛出。
onEvent()
onEvent<T>(event, handler): () => void;Defined in: core/engine.ts:151
注册 Engine 级事件订阅。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
event | EngineEvent<T> | 作为唯一频道 identity 的 Event token。 |
handler | (payload) => void | 同步处理 payload 的业务函数。 |
Returns
幂等 unsubscribe。
() => void
Throws
Engine终止或handler不是函数时同步抛出。
removeSystem()
removeSystem(definition): boolean;Defined in: core/engine.ts:164
同步删除一个System owner。
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<unknown> | System Definition identity。 |
Returns
boolean
owner存在并完成terminal publication时为true;不存在时为false。
Throws
active frame、Engine终态或业务terminal callback失败时同步抛出。
setSystemEnabled()
setSystemEnabled(definition, enabled): boolean;Defined in: core/engine.ts:176
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | SystemDefinition<unknown> | System Definition。 |
enabled | boolean | 要提交的 enabled。 |
Returns
boolean
找到并处理该 System 时返回 true,否则返回 false。
Throws
enabled类型无效、Engine终态或同步lifecycle callback失败时抛出。
start()
start(): void;Defined in: core/engine.ts:184
重新测量Canvas并启动frame loop;重复启动无副作用。
Returns
void
Throws
construction setup、Engine终态、既有device错误或同步resize失败时抛出。
stop()
stop(): void;Defined in: core/engine.ts:190
停止后续frame调度;未运行或terminal后调用均无副作用。
Returns
void
Throws
construction setup期间调用时同步抛出。