pelican-engine 0.3.11 → 0.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "format": "pelican.api-index",
3
3
  "version": 1,
4
- "engineVersion": "0.3.11",
4
+ "engineVersion": "0.3.13",
5
5
  "entry": "pelican-engine",
6
6
  "source": "packages/sdk/src/index.ts",
7
7
  "symbols": [
8
8
  {
9
9
  "name": "SDK_VERSION",
10
10
  "kind": "constant",
11
- "signature": "SDK_VERSION = \"0.3.11\"",
11
+ "signature": "SDK_VERSION = \"0.3.13\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -199,11 +199,21 @@
199
199
  "signature": "export type RopeCollider =\n | { kind: \"sphere\"; id: string; center: Vec3; radius: number }\n | { kind: \"plane\"; id: string; normal: Vec3; offset: number };",
200
200
  "line": 123
201
201
  },
202
+ {
203
+ "name": "RopeBodyCollider",
204
+ "kind": "InterfaceDeclaration",
205
+ "signature": "export interface RopeBodyCollider { readonly id: string; readonly entity: string }",
206
+ "line": 127,
207
+ "fields": [
208
+ "id",
209
+ "entity"
210
+ ]
211
+ },
202
212
  {
203
213
  "name": "RopeDefinition",
204
214
  "kind": "InterfaceDeclaration",
205
- "signature": "export interface RopeDefinition {\n id: string;\n points: readonly Vec3[];\n /** Kilograms per particle, positive and at most 1e6. */\n mass: number;\n radius?: number;\n /** Defaults to the host interval; an explicit value must exactly match it. */\n fixedDt?: number;\n /** When true, step once after each physics phase; defaults to false (manual stepping). */\n autoStep?: boolean;\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n anchors?: readonly { index: number; position: Vec3 }[];\n}",
206
- "line": 126,
215
+ "signature": "export interface RopeDefinition {\n id: string;\n points: readonly Vec3[];\n /** Kilograms per particle, positive and at most 1e6. */\n mass: number;\n radius?: number;\n /** Defaults to the host interval; an explicit value must exactly match it. */\n fixedDt?: number;\n /** When true, step once after each physics phase; defaults to false (manual stepping). */\n autoStep?: boolean;\n /** Automatically sample and react to existing dynamic, non-trigger sphere bodies. Requires autoStep. */\n bodyColliders?: readonly RopeBodyCollider[];\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n anchors?: readonly { index: number; position: Vec3 }[];\n}",
216
+ "line": 128,
207
217
  "fields": [
208
218
  "id",
209
219
  "points",
@@ -211,6 +221,7 @@
211
221
  "radius",
212
222
  "fixedDt",
213
223
  "autoStep",
224
+ "bodyColliders",
214
225
  "substeps",
215
226
  "iterations",
216
227
  "damping",
@@ -218,11 +229,25 @@
218
229
  "anchors"
219
230
  ]
220
231
  },
232
+ {
233
+ "name": "RopeContact",
234
+ "kind": "InterfaceDeclaration",
235
+ "signature": "export interface RopeContact {\n tick: number; particle: number; colliderId: string; penetration: number;\n /** Opposite of particle projection impulses, N·s; absent in older snapshots. */\n reactionImpulse?: Vec3;\n /** Angular impulse about the world origin; absent in older snapshots. */\n reactionAngularImpulse?: Vec3;\n}",
236
+ "line": 147,
237
+ "fields": [
238
+ "tick",
239
+ "particle",
240
+ "colliderId",
241
+ "penetration",
242
+ "reactionImpulse",
243
+ "reactionAngularImpulse"
244
+ ]
245
+ },
221
246
  {
222
247
  "name": "RopeState",
223
248
  "kind": "InterfaceDeclaration",
224
- "signature": "export interface RopeState {\n tick: number; simulatedSeconds: number; disposed: boolean;\n positions: Vec3[]; velocities: Vec3[];\n anchors: { index: number; position: Vec3 }[];\n contacts: { tick: number; particle: number; colliderId: string; penetration: number }[];\n maxDistanceError: number;\n resources: { particles: number; constraints: number; anchors: number; colliders: number };\n}",
225
- "line": 142,
249
+ "signature": "export interface RopeState {\n tick: number; simulatedSeconds: number; disposed: boolean;\n positions: Vec3[]; velocities: Vec3[];\n anchors: { index: number; position: Vec3 }[];\n contacts: RopeContact[];\n maxDistanceError: number;\n resources: { particles: number; constraints: number; anchors: number; colliders: number };\n}",
250
+ "line": 154,
226
251
  "fields": [
227
252
  "tick",
228
253
  "simulatedSeconds",
@@ -239,7 +264,7 @@
239
264
  "name": "RopeService",
240
265
  "kind": "InterfaceDeclaration",
241
266
  "signature": "export interface RopeService {\n create(definition: RopeDefinition): void;\n /** Explicit ticks for manual ropes only. Auto-stepped ropes reject this call. A failed batch leaves the rope unchanged. */\n step(id: string, ticks?: number): RopeState;\n inspect(id: string): RopeState;\n setColliders(id: string, colliders: readonly RopeCollider[]): void;\n setAnchor(id: string, index: number, position: Vec3): void;\n releaseAnchor(id: string, index: number): void;\n applyForce(id: string, index: number, force: Vec3): void;\n applyImpulse(id: string, index: number, impulse: Vec3): void;\n destroy(id: string): void;\n}",
242
- "line": 150,
267
+ "line": 162,
243
268
  "fields": [
244
269
  "create",
245
270
  "step",
@@ -256,7 +281,7 @@
256
281
  "name": "NavigationCell",
257
282
  "kind": "InterfaceDeclaration",
258
283
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
259
- "line": 165,
284
+ "line": 177,
260
285
  "fields": [
261
286
  "x",
262
287
  "y"
@@ -266,7 +291,7 @@
266
291
  "name": "NavigationObstacleUpdate",
267
292
  "kind": "InterfaceDeclaration",
268
293
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
269
- "line": 167,
294
+ "line": 179,
270
295
  "fields": [
271
296
  "cell",
272
297
  "blocked"
@@ -276,7 +301,7 @@
276
301
  "name": "NavigationGrid",
277
302
  "kind": "InterfaceDeclaration",
278
303
  "signature": "export interface NavigationGrid {\n readonly id: string;\n readonly owner: string;\n readonly width: number;\n readonly height: number;\n readonly blocked?: readonly NavigationCell[];\n /** Maximum distinct search cells, including endpoints; defaults to 65536. Raising it increases memory and CPU use. */\n readonly searchCellBudget?: number;\n}",
279
- "line": 168,
304
+ "line": 180,
280
305
  "fields": [
281
306
  "id",
282
307
  "owner",
@@ -290,7 +315,7 @@
290
315
  "name": "NavigationService",
291
316
  "kind": "InterfaceDeclaration",
292
317
  "signature": "export interface NavigationService {\n createGrid(grid: NavigationGrid): void;\n /** Returns a detached description, including the current blocked cells. */\n getGrid(id: string): NavigationGrid;\n isBlocked(id: string, cell: NavigationCell): boolean;\n setBlocked(id: string, cell: NavigationCell, blocked: boolean): void;\n /** Validates the entire batch before committing; the last change for a repeated cell wins. */\n setBlockedBatch(id: string, updates: readonly NavigationObstacleUpdate[]): void;\n findPath(id: string, start: NavigationCell, end: NavigationCell): readonly NavigationCell[];\n destroyGrid(id: string): void;\n destroyOwner(owner: string): void;\n}",
293
- "line": 177,
318
+ "line": 189,
294
319
  "fields": [
295
320
  "createGrid",
296
321
  "getGrid",
@@ -306,13 +331,13 @@
306
331
  "name": "RenderMode",
307
332
  "kind": "TypeAliasDeclaration",
308
333
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
309
- "line": 189
334
+ "line": 201
310
335
  },
311
336
  {
312
337
  "name": "RenderCapabilities",
313
338
  "kind": "InterfaceDeclaration",
314
339
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
315
- "line": 190,
340
+ "line": 202,
316
341
  "fields": [
317
342
  "backend",
318
343
  "compute",
@@ -323,7 +348,7 @@
323
348
  "name": "RenderSettings",
324
349
  "kind": "InterfaceDeclaration",
325
350
  "signature": "export interface RenderSettings {\n mode: RenderMode;\n samplesPerFrame: number;\n maxBounces: number;\n denoise: boolean;\n denoiseIterations: number;\n exposure: number;\n directLighting: boolean;\n indirectLighting: boolean;\n debug: \"beauty\" | \"albedo\" | \"normal\" | \"depth\" | \"samples\";\n}",
326
- "line": 195,
351
+ "line": 207,
327
352
  "fields": [
328
353
  "mode",
329
354
  "samplesPerFrame",
@@ -340,7 +365,7 @@
340
365
  "name": "RenderService",
341
366
  "kind": "InterfaceDeclaration",
342
367
  "signature": "export interface RenderService {\n configure(settings: Partial<RenderSettings>): void;\n state(): Readonly<RenderSettings>;\n capabilities(): Readonly<RenderCapabilities>;\n setMaterialParameter(material: string, name: string, value: GraphValue): void;\n materialParameters(material: string): Readonly<Record<string, GraphValue>>;\n readonly effects: PostProcessService;\n readonly buffers: RenderBufferBindings;\n readonly textures: RenderTextureBindings;\n}",
343
- "line": 206,
368
+ "line": 218,
344
369
  "fields": [
345
370
  "configure",
346
371
  "state",
@@ -356,7 +381,7 @@
356
381
  "name": "MaterialBufferInput",
357
382
  "kind": "InterfaceDeclaration",
358
383
  "signature": "export interface MaterialBufferInput {\n /** Shared slot declaration for material and postprocess graphs. */\n name: string;\n type: GraphType;\n /** Optional initial logical compute-buffer ID. */\n buffer?: string;\n /** Optional exact element count required by this slot. */\n count?: number;\n}",
359
- "line": 216,
384
+ "line": 228,
360
385
  "fields": [
361
386
  "name",
362
387
  "type",
@@ -368,7 +393,7 @@
368
393
  "name": "RenderBufferReference",
369
394
  "kind": "InterfaceDeclaration",
370
395
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
371
- "line": 225,
396
+ "line": 237,
372
397
  "fields": [
373
398
  "id",
374
399
  "type",
@@ -379,7 +404,7 @@
379
404
  "name": "RenderBufferBindings",
380
405
  "kind": "InterfaceDeclaration",
381
406
  "signature": "export interface RenderBufferBindings {\n bind(target: string, name: string, buffer: ComputeBufferHandle): void;\n unbind(target: string, name: string): void;\n state(target: string): Readonly<Record<string, RenderBufferReference>>;\n}",
382
- "line": 230,
407
+ "line": 242,
383
408
  "fields": [
384
409
  "bind",
385
410
  "unbind",
@@ -390,7 +415,7 @@
390
415
  "name": "MaterialTextureInput",
391
416
  "kind": "InterfaceDeclaration",
392
417
  "signature": "export interface MaterialTextureInput extends ComputeTextureBinding {\n /** Initial managed texture ID; asset import uses computeTextures/createTexture. */\n texture?: string;\n width?: number;\n height?: number;\n}",
393
- "line": 235,
418
+ "line": 247,
394
419
  "fields": [
395
420
  "texture",
396
421
  "width",
@@ -401,7 +426,7 @@
401
426
  "name": "RenderTextureReference",
402
427
  "kind": "InterfaceDeclaration",
403
428
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
404
- "line": 241,
429
+ "line": 253,
405
430
  "fields": [
406
431
  "id",
407
432
  "format"
@@ -411,7 +436,7 @@
411
436
  "name": "RenderTextureBindings",
412
437
  "kind": "InterfaceDeclaration",
413
438
  "signature": "export interface RenderTextureBindings {\n bind(target: string, name: string, texture: ComputeTextureHandle): void;\n unbind(target: string, name: string): void;\n state(target: string): Readonly<Record<string, RenderTextureReference>>;\n}",
414
- "line": 245,
439
+ "line": 257,
415
440
  "fields": [
416
441
  "bind",
417
442
  "unbind",
@@ -422,7 +447,7 @@
422
447
  "name": "PostProcessState",
423
448
  "kind": "InterfaceDeclaration",
424
449
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
425
- "line": 250,
450
+ "line": 262,
426
451
  "fields": [
427
452
  "id",
428
453
  "enabled",
@@ -433,7 +458,7 @@
433
458
  "name": "PostProcessService",
434
459
  "kind": "InterfaceDeclaration",
435
460
  "signature": "export interface PostProcessService {\n /** Compute-buffer slots declared by definePostProcess, addressed by pass ID. */\n readonly buffers: RenderBufferBindings;\n readonly textures: RenderTextureBindings;\n configure(id: string, settings: { enabled: boolean }): void;\n state(id: string): Readonly<PostProcessState>;\n setParameter(id: string, name: string, value: GraphValue): void;\n /** Clears temporal effect images; it does not modify game or trace accumulation state. */\n resetHistory(id?: string): void;\n}",
436
- "line": 255,
461
+ "line": 267,
437
462
  "fields": [
438
463
  "buffers",
439
464
  "textures",
@@ -447,7 +472,7 @@
447
472
  "name": "ComputeBufferHandle",
448
473
  "kind": "InterfaceDeclaration",
449
474
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
450
- "line": 265,
475
+ "line": 277,
451
476
  "fields": [
452
477
  "owner",
453
478
  "index",
@@ -458,7 +483,7 @@
458
483
  "name": "ComputeTaskHandle",
459
484
  "kind": "InterfaceDeclaration",
460
485
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
461
- "line": 270,
486
+ "line": 282,
462
487
  "fields": [
463
488
  "owner",
464
489
  "id"
@@ -468,7 +493,7 @@
468
493
  "name": "ComputeBufferInput",
469
494
  "kind": "InterfaceDeclaration",
470
495
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
471
- "line": 274,
496
+ "line": 286,
472
497
  "fields": [
473
498
  "id",
474
499
  "type",
@@ -480,7 +505,7 @@
480
505
  "name": "ComputeTextureHandle",
481
506
  "kind": "InterfaceDeclaration",
482
507
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
483
- "line": 280,
508
+ "line": 292,
484
509
  "fields": [
485
510
  "owner",
486
511
  "index",
@@ -492,7 +517,7 @@
492
517
  "name": "ComputeTextureSize",
493
518
  "kind": "InterfaceDeclaration",
494
519
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
495
- "line": 286,
520
+ "line": 298,
496
521
  "fields": [
497
522
  "width",
498
523
  "height"
@@ -502,7 +527,7 @@
502
527
  "name": "ComputeTextureDataInput",
503
528
  "kind": "InterfaceDeclaration",
504
529
  "signature": "export interface ComputeTextureDataInput extends ComputeTextureSize {\n id: string;\n /** Linear rgba32float texels in row-major order, without color-space conversion. */\n data?: readonly Vec4[];\n asset?: never;\n}",
505
- "line": 290,
530
+ "line": 302,
506
531
  "fields": [
507
532
  "id",
508
533
  "data",
@@ -513,7 +538,7 @@
513
538
  "name": "ComputeTextureAssetInput",
514
539
  "kind": "InterfaceDeclaration",
515
540
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
516
- "line": 296,
541
+ "line": 308,
517
542
  "fields": [
518
543
  "id",
519
544
  "asset",
@@ -526,13 +551,13 @@
526
551
  "name": "ComputeTextureInput",
527
552
  "kind": "TypeAliasDeclaration",
528
553
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
529
- "line": 303
554
+ "line": 315
530
555
  },
531
556
  {
532
557
  "name": "ComputeTextureBinding",
533
558
  "kind": "InterfaceDeclaration",
534
559
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
535
- "line": 304,
560
+ "line": 316,
536
561
  "fields": [
537
562
  "name",
538
563
  "filter",
@@ -544,7 +569,7 @@
544
569
  "name": "ComputeDispatchInput",
545
570
  "kind": "InterfaceDeclaration",
546
571
  "signature": "export interface ComputeDispatchInput {\n output: ComputeBufferHandle | ComputeTextureHandle;\n /** Handles capture dispatch-time data; task bindings consume that exact successful output revision. */\n bindings?: Readonly<Record<string, ComputeBufferHandle | { task: ComputeTaskHandle }>>;\n /** Named sampled rgba32float textures; task bindings capture that exact texture result. */\n textures?: Readonly<Record<string, ComputeTextureHandle | { task: ComputeTaskHandle }>>;\n /** Ordering only. It never silently refreshes ordinary handle bindings. */\n after?: readonly ComputeTaskHandle[];\n parameters?: Readonly<Record<string, GraphValue>>;\n /** Fixed simulation time by default, not wall-clock time. */\n time?: number;\n}",
547
- "line": 310,
572
+ "line": 322,
548
573
  "fields": [
549
574
  "output",
550
575
  "bindings",
@@ -558,7 +583,7 @@
558
583
  "name": "ComputeTaskState",
559
584
  "kind": "InterfaceDeclaration",
560
585
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
561
- "line": 322,
586
+ "line": 334,
562
587
  "fields": [
563
588
  "status",
564
589
  "error"
@@ -568,7 +593,7 @@
568
593
  "name": "ComputeService",
569
594
  "kind": "InterfaceDeclaration",
570
595
  "signature": "export interface ComputeService {\n createTexture(input: ComputeTextureInput): ComputeTextureHandle;\n resolveTexture(id: string): ComputeTextureHandle;\n describeTexture(texture: ComputeTextureHandle): Readonly<ComputeTextureSize & { id: string; format: \"rgba32float\"; revision: number }>;\n readTexture(texture: ComputeTextureHandle): readonly Vec4[];\n writeTexture(texture: ComputeTextureHandle, data: readonly Vec4[], region?: ComputeTextureSize & { x: number; y: number }): void;\n releaseTexture(texture: ComputeTextureHandle): void;\n createBuffer(input: ComputeBufferInput): ComputeBufferHandle;\n resolve(id: string): ComputeBufferHandle;\n describeBuffer(buffer: ComputeBufferHandle): Readonly<{ id: string; type: GraphType; count: number; revision: number }>;\n /** Last committed GPU result; detached CPU data, never a GPU object. */\n readBuffer(buffer: ComputeBufferHandle): readonly GraphValue[];\n writeBuffer(buffer: ComputeBufferHandle, values: readonly GraphValue[], offset?: number): void;\n releaseBuffer(buffer: ComputeBufferHandle): void;\n dispatch(kernel: ComputeDefinition | string, input: ComputeDispatchInput): ComputeTaskHandle;\n task(task: ComputeTaskHandle): Readonly<ComputeTaskState>;\n tasks(): readonly { handle: ComputeTaskHandle; state: ComputeTaskState }[];\n cancel(task: ComputeTaskHandle): void;\n releaseTask(task: ComputeTaskHandle): void;\n}",
571
- "line": 326,
596
+ "line": 338,
572
597
  "fields": [
573
598
  "createTexture",
574
599
  "resolveTexture",
@@ -593,7 +618,7 @@
593
618
  "name": "InputService",
594
619
  "kind": "InterfaceDeclaration",
595
620
  "signature": "export interface InputService {\n held(action: string): boolean;\n pressed(action: string): boolean;\n released(action: string): boolean;\n axis(negative: string, positive: string): number;\n}",
596
- "line": 346,
621
+ "line": 358,
597
622
  "fields": [
598
623
  "held",
599
624
  "pressed",
@@ -604,12 +629,13 @@
604
629
  {
605
630
  "name": "PhysicsService",
606
631
  "kind": "InterfaceDeclaration",
607
- "signature": "export interface PhysicsService {\n moveCharacter(entity: string, displacement: Vec3): void;\n grounded(entity: string): boolean;\n velocity(entity: string): Vec3;\n setVelocity(entity: string, velocity: Vec3): void;\n impulse(entity: string, impulse: Vec3): void;\n /** Angular velocity in world-space radians per second. */\n angularVelocity(entity: string): Vec3;\n setAngularVelocity(entity: string, velocity: Vec3): void;\n /** Instantaneous world-space angular impulse, in angular-momentum units. */\n torqueImpulse(entity: string, impulse: Vec3): void;\n /** Apply world-space impulse at a world-space point, changing linear and angular motion. */\n impulseAtPoint(entity: string, impulse: Vec3, point: Vec3): void;\n raycast(\n origin: Vec3,\n direction: Vec3,\n maxDistance: number,\n options?: { exclude?: readonly string[]; includeTriggers?: boolean },\n ): { entity: string; distance: number; point: Vec3; normal: Vec3 } | null;\n}",
608
- "line": 352,
632
+ "signature": "export interface PhysicsService {\n moveCharacter(entity: string, displacement: Vec3): void;\n grounded(entity: string): boolean;\n velocity(entity: string): Vec3;\n /** World-space rigid-body center of mass, including collider offsets. */\n centerOfMass(entity: string): Vec3;\n setVelocity(entity: string, velocity: Vec3): void;\n impulse(entity: string, impulse: Vec3): void;\n /** Angular velocity in world-space radians per second. */\n angularVelocity(entity: string): Vec3;\n setAngularVelocity(entity: string, velocity: Vec3): void;\n /** Instantaneous world-space angular impulse, in angular-momentum units. */\n torqueImpulse(entity: string, impulse: Vec3): void;\n /** Apply world-space impulse at a world-space point, changing linear and angular motion. */\n impulseAtPoint(entity: string, impulse: Vec3, point: Vec3): void;\n raycast(\n origin: Vec3,\n direction: Vec3,\n maxDistance: number,\n options?: { exclude?: readonly string[]; includeTriggers?: boolean },\n ): { entity: string; distance: number; point: Vec3; normal: Vec3 } | null;\n}",
633
+ "line": 364,
609
634
  "fields": [
610
635
  "moveCharacter",
611
636
  "grounded",
612
637
  "velocity",
638
+ "centerOfMass",
613
639
  "setVelocity",
614
640
  "impulse",
615
641
  "angularVelocity",
@@ -623,7 +649,7 @@
623
649
  "name": "AnimationService",
624
650
  "kind": "InterfaceDeclaration",
625
651
  "signature": "export interface AnimationService {\n play(\n entity: string,\n clip: string,\n options?: { fade?: number; speed?: number; loop?: boolean },\n ): void;\n state(entity: string): {\n clip: string | null;\n time: number;\n playing: boolean;\n };\n}",
626
- "line": 372,
652
+ "line": 386,
627
653
  "fields": [
628
654
  "play",
629
655
  "state"
@@ -633,7 +659,7 @@
633
659
  "name": "CameraService",
634
660
  "kind": "InterfaceDeclaration",
635
661
  "signature": "export interface CameraService {\n follow(\n entity: string,\n options?: {\n distance?: number;\n height?: number;\n lookHeight?: number;\n yaw?: number;\n smoothing?: number;\n },\n ): void;\n orbit(yaw: number): void;\n}",
636
- "line": 384,
662
+ "line": 398,
637
663
  "fields": [
638
664
  "follow",
639
665
  "orbit"
@@ -643,7 +669,7 @@
643
669
  "name": "UIService",
644
670
  "kind": "InterfaceDeclaration",
645
671
  "signature": "export interface UIService {\n setText(id: string, text: string): void;\n setProgress(id: string, value: number): void;\n setVisible(id: string, visible: boolean): void;\n}",
646
- "line": 397,
672
+ "line": 411,
647
673
  "fields": [
648
674
  "setText",
649
675
  "setProgress",
@@ -654,7 +680,7 @@
654
680
  "name": "AudioService",
655
681
  "kind": "InterfaceDeclaration",
656
682
  "signature": "export interface AudioService {\n play(\n id: string,\n options?: { volume?: number; loop?: boolean; entity?: string; bus?: string; priority?: number },\n ): string;\n stop(voice: string): void;\n /** Pause/resume are idempotent; an unknown valid voice id is a no-op. Playback time follows fixed simulation ticks, even while audio is locked. */\n pause(voice: string): void;\n resume(voice: string): void;\n volume(value: number): void;\n /** Set a declared bus gain, independently of master and voice gain. */\n busVolume(id: string, value: number): void;\n /** Fade a declared bus over fixed-tick seconds; busVolume or another fade replaces it. */\n fadeBus(id: string, target: number, duration: number): void;\n}",
657
- "line": 402,
683
+ "line": 416,
658
684
  "fields": [
659
685
  "play",
660
686
  "stop",
@@ -669,7 +695,7 @@
669
695
  "name": "StorageService",
670
696
  "kind": "InterfaceDeclaration",
671
697
  "signature": "export interface StorageService {\n save(slot: string): void;\n load(slot: string): void;\n status(): {\n state: \"idle\" | \"saving\" | \"loading\" | \"saved\" | \"loaded\" | \"failed\";\n slot: string | null;\n error: string | null;\n };\n}",
672
- "line": 417,
698
+ "line": 431,
673
699
  "fields": [
674
700
  "save",
675
701
  "load",
@@ -680,7 +706,7 @@
680
706
  "name": "SceneService",
681
707
  "kind": "InterfaceDeclaration",
682
708
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
683
- "line": 426,
709
+ "line": 440,
684
710
  "fields": [
685
711
  "current",
686
712
  "load"
@@ -690,7 +716,7 @@
690
716
  "name": "ModelDefinition",
691
717
  "kind": "InterfaceDeclaration",
692
718
  "signature": "export interface ModelDefinition {\n /** Optional whole-model material override; omitted keeps the asset's original materials. */\n material?: MaterialDefinition | string;\n /** Replace all asset material slots with the given exact material name. Mutually exclusive with material. */\n materialSlots?: Record<string, MaterialDefinition | string>;\n castShadow?: boolean;\n receiveShadow?: boolean;\n asset: AssetDefinition | string;\n scale?: number;\n offset?: Vec3;\n rotation?: Vec3;\n animation?: { clip: string; speed?: number; loop?: boolean };\n}",
693
- "line": 430,
719
+ "line": 444,
694
720
  "fields": [
695
721
  "material",
696
722
  "materialSlots",
@@ -707,7 +733,7 @@
707
733
  "name": "RigidBodyDefinition",
708
734
  "kind": "InterfaceDeclaration",
709
735
  "signature": "export interface RigidBodyDefinition {\n type: \"fixed\" | \"dynamic\" | \"kinematic\";\n collider: {\n shape: \"box\" | \"sphere\" | \"capsule\";\n size?: Vec3;\n radius?: number;\n halfHeight?: number;\n offset?: Vec3;\n };\n mass?: number;\n friction?: number;\n restitution?: number;\n trigger?: boolean;\n}",
710
- "line": 443,
736
+ "line": 457,
711
737
  "fields": [
712
738
  "type",
713
739
  "collider",
@@ -721,7 +747,7 @@
721
747
  "name": "CharacterDefinition",
722
748
  "kind": "InterfaceDeclaration",
723
749
  "signature": "export interface CharacterDefinition {\n radius: number;\n height: number;\n speed: number;\n jumpSpeed?: number;\n /** Downward acceleration magnitude in world units/s^2; defaults to 9.81. Scene.gravity is a signed vector. */\n gravity?: number;\n}",
724
- "line": 457,
750
+ "line": 471,
725
751
  "fields": [
726
752
  "radius",
727
753
  "height",
@@ -734,7 +760,7 @@
734
760
  "name": "UIElementDefinition",
735
761
  "kind": "InterfaceDeclaration",
736
762
  "signature": "export interface UIElementDefinition {\n id: string;\n kind: \"text\" | \"bar\" | \"button\" | \"input\";\n text?: string;\n value?: number;\n visible?: boolean;\n anchor?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\" | \"center\";\n x?: number;\n y?: number;\n width?: number;\n color?: string;\n world?: { entity: string; offset?: Vec3; occlude?: boolean };\n}",
737
- "line": 465,
763
+ "line": 479,
738
764
  "fields": [
739
765
  "id",
740
766
  "kind",
@@ -753,7 +779,7 @@
753
779
  "name": "SoundDefinition",
754
780
  "kind": "InterfaceDeclaration",
755
781
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
756
- "line": 478,
782
+ "line": 492,
757
783
  "fields": [
758
784
  "id",
759
785
  "asset",
@@ -766,7 +792,7 @@
766
792
  "name": "AudioBusDefinition",
767
793
  "kind": "InterfaceDeclaration",
768
794
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
769
- "line": 485,
795
+ "line": 499,
770
796
  "fields": [
771
797
  "id",
772
798
  "volume"
@@ -776,43 +802,43 @@
776
802
  "name": "SYSTEM_PHASES",
777
803
  "kind": "constant",
778
804
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
779
- "line": 489
805
+ "line": 503
780
806
  },
781
807
  {
782
808
  "name": "SystemPhase",
783
809
  "kind": "TypeAliasDeclaration",
784
810
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
785
- "line": 497
811
+ "line": 511
786
812
  },
787
813
  {
788
814
  "name": "Geometry",
789
815
  "kind": "TypeAliasDeclaration",
790
816
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
791
- "line": 498
817
+ "line": 512
792
818
  },
793
819
  {
794
820
  "name": "GRAPH_TYPES",
795
821
  "kind": "constant",
796
822
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
797
- "line": 502
823
+ "line": 516
798
824
  },
799
825
  {
800
826
  "name": "GraphType",
801
827
  "kind": "TypeAliasDeclaration",
802
828
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
803
- "line": 503
829
+ "line": 517
804
830
  },
805
831
  {
806
832
  "name": "GraphValue",
807
833
  "kind": "TypeAliasDeclaration",
808
834
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
809
- "line": 504
835
+ "line": 518
810
836
  },
811
837
  {
812
838
  "name": "GraphParameter",
813
839
  "kind": "InterfaceDeclaration",
814
840
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
815
- "line": 505,
841
+ "line": 519,
816
842
  "fields": [
817
843
  "name",
818
844
  "type",
@@ -823,31 +849,31 @@
823
849
  "name": "GRAPH_INPUT_TYPES",
824
850
  "kind": "constant",
825
851
  "signature": "GRAPH_INPUT_TYPES = {\n uv: \"vec2\", uv1: \"vec2\", positionWorld: \"vec3\", normalWorld: \"vec3\",\n viewDirectionWorld: \"vec3\", vertexColor: \"vec4\", index: \"float\",\n screenSize: \"vec2\", texelSize: \"vec2\",\n pixelCoord: \"vec2\", outputSize: \"vec2\",\n positionLocal: \"vec3\", normalLocal: \"vec3\", vertexIndex: \"float\", instanceIndex: \"float\",\n} as const",
826
- "line": 510
852
+ "line": 524
827
853
  },
828
854
  {
829
855
  "name": "GraphInputName",
830
856
  "kind": "TypeAliasDeclaration",
831
857
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
832
- "line": 517
858
+ "line": 531
833
859
  },
834
860
  {
835
861
  "name": "GRAPH_OPERATIONS",
836
862
  "kind": "constant",
837
863
  "signature": "GRAPH_OPERATIONS = {\n unary: [\"sin\", \"cos\", \"abs\", \"floor\", \"ceil\", \"fract\", \"negate\", \"saturate\", \"normalize\", \"length\", \"safeSqrt\"] as const,\n binary: [\"add\", \"subtract\", \"multiply\", \"safeDivide\", \"min\", \"max\", \"dot\", \"cross\", \"step\", \"lessThan\", \"lessEqual\", \"greaterThan\", \"greaterEqual\", \"equal\", \"and\", \"or\"] as const,\n ternary: [\"mix\", \"clamp\", \"smoothstep\", \"select\"] as const,\n} as const",
838
- "line": 518
864
+ "line": 532
839
865
  },
840
866
  {
841
867
  "name": "GraphNode",
842
868
  "kind": "TypeAliasDeclaration",
843
869
  "signature": "export type GraphNode =\n | { id: string; op: \"float\"; value: number }\n | { id: string; op: \"bool\"; value: boolean }\n | { id: string; op: \"vec2\"; value: Vec2 }\n | { id: string; op: \"vec3\"; value: Vec3 }\n | { id: string; op: \"vec4\"; value: Vec4 }\n | { id: string; op: \"time\" }\n | { id: string; op: \"input\"; name: GraphInputName }\n | { id: string; op: \"parameter\"; name: string }\n | { id: string; op: typeof GRAPH_OPERATIONS.unary[number] | \"not\"; inputs: readonly [string] }\n | { id: string; op: typeof GRAPH_OPERATIONS.binary[number]; inputs: readonly [string, string] }\n | { id: string; op: typeof GRAPH_OPERATIONS.ternary[number]; inputs: readonly [string, string, string] }\n | { id: string; op: \"compose2\"; inputs: readonly [string, string] }\n | { id: string; op: \"compose3\"; inputs: readonly [string, string, string] }\n | { id: string; op: \"compose4\"; inputs: readonly [string, string, string, string] }\n | { id: string; op: \"swizzle\"; inputs: readonly [string]; components: string }\n | { id: string; op: \"sampleTexture\"; inputs: readonly [string]; texture: AssetDefinition | string }\n | { id: string; op: \"readBuffer\"; inputs: readonly [string]; buffer: string }\n | { id: string; op: \"sampleFrame\"; inputs: readonly [string]; channel: string }\n | { id: string; op: \"sampleHistory\"; inputs: readonly [string]; channel: string };",
844
- "line": 523
870
+ "line": 537
845
871
  },
846
872
  {
847
873
  "name": "Graph",
848
874
  "kind": "InterfaceDeclaration",
849
875
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
850
- "line": 543,
876
+ "line": 557,
851
877
  "fields": [
852
878
  "nodes",
853
879
  "output",
@@ -858,7 +884,7 @@
858
884
  "name": "MaterialGraphs",
859
885
  "kind": "InterfaceDeclaration",
860
886
  "signature": "export interface MaterialGraphs {\n baseColor?: Graph;\n emissive?: Graph;\n roughness?: Graph;\n metalness?: Graph;\n opacity?: Graph;\n /** Absolute, unsided world-space normal; engine applies material boundary orientation. */\n normalWorld?: Graph;\n}",
861
- "line": 548,
887
+ "line": 562,
862
888
  "fields": [
863
889
  "baseColor",
864
890
  "emissive",
@@ -872,7 +898,7 @@
872
898
  "name": "VertexGraphs",
873
899
  "kind": "InterfaceDeclaration",
874
900
  "signature": "export interface VertexGraphs {\n /** Absolute object-local position after built-in morph, skin and instance transforms. */\n position?: Graph;\n /** Unsided object-local normal in the same domain; zero keeps the normalized input normal. */\n normal?: Graph;\n}",
875
- "line": 557,
901
+ "line": 571,
876
902
  "fields": [
877
903
  "position",
878
904
  "normal"
@@ -882,7 +908,7 @@
882
908
  "name": "MaterialInput",
883
909
  "kind": "InterfaceDeclaration",
884
910
  "signature": "export interface MaterialInput {\n id: string;\n color?: string;\n roughness?: number;\n metalness?: number;\n texture?: AssetDefinition | string;\n graph?: Graph;\n graphs?: MaterialGraphs;\n vertex?: VertexGraphs;\n buffers?: readonly MaterialBufferInput[];\n textures?: readonly MaterialTextureInput[];\n emissive?: string;\n emissiveIntensity?: number;\n opacity?: number;\n alphaTest?: number;\n side?: \"front\" | \"back\" | \"double\";\n /** Closed-volume dielectric fraction; opacity remains independent stochastic coverage. */\n transmission?: number;\n ior?: number;\n /** Nontransmissive dielectric specular strength in [0,1]. Defaults to 1. */\n specularIntensity?: number;\n /** Nontransmissive dielectric specular color, a hex or named sRGB color. Defaults to white. */\n specularColor?: string;\n attenuationColor?: string;\n /** World-space distance for Beer absorption; omitted means no absorption. */\n attenuationDistance?: number;\n}",
885
- "line": 563,
911
+ "line": 577,
886
912
  "fields": [
887
913
  "id",
888
914
  "color",
@@ -911,7 +937,7 @@
911
937
  "name": "MaterialDefinition",
912
938
  "kind": "InterfaceDeclaration",
913
939
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
914
- "line": 590,
940
+ "line": 604,
915
941
  "fields": [
916
942
  "kind"
917
943
  ]
@@ -920,7 +946,7 @@
920
946
  "name": "PostProcessInput",
921
947
  "kind": "InterfaceDeclaration",
922
948
  "signature": "export interface PostProcessInput {\n id: string;\n buffers?: readonly MaterialBufferInput[];\n textures?: readonly MaterialTextureInput[];\n /** Linear HDR vec4 output. Frame channels: scene.color, scene.normal, scene.depth, or an earlier pass ID. */\n graph: Graph;\n enabled?: boolean;\n}",
923
- "line": 593,
949
+ "line": 607,
924
950
  "fields": [
925
951
  "id",
926
952
  "buffers",
@@ -933,7 +959,7 @@
933
959
  "name": "PostProcessDefinition",
934
960
  "kind": "InterfaceDeclaration",
935
961
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
936
- "line": 601,
962
+ "line": 615,
937
963
  "fields": [
938
964
  "kind"
939
965
  ]
@@ -942,7 +968,7 @@
942
968
  "name": "ComputeInput",
943
969
  "kind": "InterfaceDeclaration",
944
970
  "signature": "export interface ComputeInput {\n id: string;\n graph: Graph;\n outputType: GraphType;\n count: number;\n workgroupSize?: number;\n buffers?: readonly { name: string; type: GraphType }[];\n textures?: readonly ComputeTextureBinding[];\n}",
945
- "line": 604,
971
+ "line": 618,
946
972
  "fields": [
947
973
  "id",
948
974
  "graph",
@@ -957,7 +983,7 @@
957
983
  "name": "ComputeDefinition",
958
984
  "kind": "InterfaceDeclaration",
959
985
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
960
- "line": 613,
986
+ "line": 627,
961
987
  "fields": [
962
988
  "kind"
963
989
  ]
@@ -966,7 +992,7 @@
966
992
  "name": "AssetInput",
967
993
  "kind": "InterfaceDeclaration",
968
994
  "signature": "export interface AssetInput {\n id: string;\n path: string;\n type: \"texture\" | \"binary\" | \"model\" | \"audio\";\n source?: string;\n license?: string;\n attribution?: string;\n /** Texture imports only; defaults to sRGB color. Data/normal/ORM textures use linear. */\n colorSpace?: \"srgb\" | \"linear\";\n}",
969
- "line": 616,
995
+ "line": 630,
970
996
  "fields": [
971
997
  "id",
972
998
  "path",
@@ -981,7 +1007,7 @@
981
1007
  "name": "AssetDefinition",
982
1008
  "kind": "InterfaceDeclaration",
983
1009
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
984
- "line": 626,
1010
+ "line": 640,
985
1011
  "fields": [
986
1012
  "kind"
987
1013
  ]
@@ -990,7 +1016,7 @@
990
1016
  "name": "MeshDefinition",
991
1017
  "kind": "InterfaceDeclaration",
992
1018
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
993
- "line": 629,
1019
+ "line": 643,
994
1020
  "fields": [
995
1021
  "geometry",
996
1022
  "material",
@@ -1002,7 +1028,7 @@
1002
1028
  "name": "LightDefinition",
1003
1029
  "kind": "InterfaceDeclaration",
1004
1030
  "signature": "export interface LightDefinition {\n kind: \"directional\" | \"point\";\n color?: string;\n intensity?: number;\n castShadow?: boolean;\n target?: Vec3;\n shadow?: {\n mapSize?: number;\n extent?: number;\n bias?: number;\n normalBias?: number;\n near?: number;\n far?: number;\n };\n}",
1005
- "line": 635,
1031
+ "line": 649,
1006
1032
  "fields": [
1007
1033
  "kind",
1008
1034
  "color",
@@ -1016,7 +1042,7 @@
1016
1042
  "name": "EntityInput",
1017
1043
  "kind": "InterfaceDeclaration",
1018
1044
  "signature": "export interface EntityInput {\n id: string;\n prefab?: PrefabDefinition | string;\n parent?: string;\n transform?: TransformPatch;\n mesh?: MeshDefinition;\n light?: LightDefinition;\n model?: ModelDefinition;\n rigidBody?: RigidBodyDefinition;\n character?: CharacterDefinition;\n components?: readonly ComponentInstance[];\n}",
1019
- "line": 650,
1045
+ "line": 664,
1020
1046
  "fields": [
1021
1047
  "id",
1022
1048
  "prefab",
@@ -1034,7 +1060,7 @@
1034
1060
  "name": "PrefabInput",
1035
1061
  "kind": "InterfaceDeclaration",
1036
1062
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
1037
- "line": 662,
1063
+ "line": 676,
1038
1064
  "fields": [
1039
1065
  "extends"
1040
1066
  ]
@@ -1043,7 +1069,7 @@
1043
1069
  "name": "PrefabDefinition",
1044
1070
  "kind": "InterfaceDeclaration",
1045
1071
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
1046
- "line": 665,
1072
+ "line": 679,
1047
1073
  "fields": [
1048
1074
  "kind"
1049
1075
  ]
@@ -1052,7 +1078,7 @@
1052
1078
  "name": "SceneInput",
1053
1079
  "kind": "InterfaceDeclaration",
1054
1080
  "signature": "export interface SceneInput {\n id: string;\n camera?: {\n position: Vec3;\n target: Vec3;\n fov?: number;\n near?: number;\n far?: number;\n };\n environment?: {\n background?: string;\n ambientIntensity?: number;\n lighting?: \"none\" | \"studio\";\n };\n follow?: {\n entity: string;\n distance?: number;\n height?: number;\n lookHeight?: number;\n yaw?: number;\n smoothing?: number;\n };\n gravity?: Vec3;\n entities: readonly EntityInput[];\n}",
1055
- "line": 668,
1081
+ "line": 682,
1056
1082
  "fields": [
1057
1083
  "id",
1058
1084
  "camera",
@@ -1066,7 +1092,7 @@
1066
1092
  "name": "SceneDefinition",
1067
1093
  "kind": "InterfaceDeclaration",
1068
1094
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1069
- "line": 693,
1095
+ "line": 707,
1070
1096
  "fields": [
1071
1097
  "kind"
1072
1098
  ]
@@ -1075,7 +1101,7 @@
1075
1101
  "name": "SystemInput",
1076
1102
  "kind": "InterfaceDeclaration",
1077
1103
  "signature": "export interface SystemInput {\n id: string;\n phase?: SystemPhase;\n before?: readonly string[];\n after?: readonly string[];\n reads?: readonly string[];\n writes?: readonly string[];\n structural?: boolean;\n run: (engine: SystemContext, dt: number) => void;\n}",
1078
- "line": 696,
1104
+ "line": 710,
1079
1105
  "fields": [
1080
1106
  "id",
1081
1107
  "phase",
@@ -1091,7 +1117,7 @@
1091
1117
  "name": "SystemDefinition",
1092
1118
  "kind": "InterfaceDeclaration",
1093
1119
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1094
- "line": 706,
1120
+ "line": 720,
1095
1121
  "fields": [
1096
1122
  "kind"
1097
1123
  ]
@@ -1100,7 +1126,7 @@
1100
1126
  "name": "GameInput",
1101
1127
  "kind": "InterfaceDeclaration",
1102
1128
  "signature": "export interface GameInput {\n id: string;\n scene: SceneDefinition;\n systems?: readonly SystemDefinition[];\n components?: readonly ComponentDefinition[];\n prefabs?: readonly PrefabDefinition[];\n materials?: readonly MaterialDefinition[];\n computes?: readonly ComputeDefinition[];\n computeBuffers?: readonly ComputeBufferInput[];\n computeTextures?: readonly ComputeTextureInput[];\n assets?: readonly AssetDefinition[];\n scenes?: readonly SceneDefinition[];\n input?: Readonly<Record<string, readonly string[]>>;\n ui?: readonly UIElementDefinition[];\n sounds?: readonly SoundDefinition[];\n audioBuses?: readonly AudioBusDefinition[];\n render?: Partial<RenderSettings>;\n postProcesses?: readonly PostProcessDefinition[];\n}",
1103
- "line": 709,
1129
+ "line": 723,
1104
1130
  "fields": [
1105
1131
  "id",
1106
1132
  "scene",
@@ -1125,7 +1151,7 @@
1125
1151
  "name": "GameDefinition",
1126
1152
  "kind": "InterfaceDeclaration",
1127
1153
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1128
- "line": 728,
1154
+ "line": 742,
1129
1155
  "fields": [
1130
1156
  "kind"
1131
1157
  ]
@@ -1134,7 +1160,7 @@
1134
1160
  "name": "GameInstance",
1135
1161
  "kind": "InterfaceDeclaration",
1136
1162
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1137
- "line": 731,
1163
+ "line": 745,
1138
1164
  "fields": [
1139
1165
  "update",
1140
1166
  "dispose"
@@ -1144,61 +1170,61 @@
1144
1170
  "name": "defineComponent",
1145
1171
  "kind": "FunctionDeclaration",
1146
1172
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1147
- "line": 735
1173
+ "line": 749
1148
1174
  },
1149
1175
  {
1150
1176
  "name": "defineMaterial",
1151
1177
  "kind": "FunctionDeclaration",
1152
1178
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1153
- "line": 741
1179
+ "line": 755
1154
1180
  },
1155
1181
  {
1156
1182
  "name": "definePostProcess",
1157
1183
  "kind": "FunctionDeclaration",
1158
1184
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1159
- "line": 744
1185
+ "line": 758
1160
1186
  },
1161
1187
  {
1162
1188
  "name": "defineCompute",
1163
1189
  "kind": "FunctionDeclaration",
1164
1190
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1165
- "line": 747
1191
+ "line": 761
1166
1192
  },
1167
1193
  {
1168
1194
  "name": "defineAsset",
1169
1195
  "kind": "FunctionDeclaration",
1170
1196
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1171
- "line": 750
1197
+ "line": 764
1172
1198
  },
1173
1199
  {
1174
1200
  "name": "definePrefab",
1175
1201
  "kind": "FunctionDeclaration",
1176
1202
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1177
- "line": 753
1203
+ "line": 767
1178
1204
  },
1179
1205
  {
1180
1206
  "name": "defineScene",
1181
1207
  "kind": "FunctionDeclaration",
1182
1208
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1183
- "line": 756
1209
+ "line": 770
1184
1210
  },
1185
1211
  {
1186
1212
  "name": "defineSystem",
1187
1213
  "kind": "FunctionDeclaration",
1188
1214
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1189
- "line": 759
1215
+ "line": 773
1190
1216
  },
1191
1217
  {
1192
1218
  "name": "defineGame",
1193
1219
  "kind": "FunctionDeclaration",
1194
1220
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1195
- "line": 762
1221
+ "line": 776
1196
1222
  },
1197
1223
  {
1198
1224
  "name": "instantiateGame",
1199
1225
  "kind": "FunctionDeclaration",
1200
1226
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1201
- "line": 766
1227
+ "line": 780
1202
1228
  }
1203
1229
  ],
1204
1230
  "installedDeclarations": "lib/sdk/index.d.ts",