pelican-engine 0.3.13 → 0.3.15

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.13",
4
+ "engineVersion": "0.3.15",
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.13\"",
11
+ "signature": "SDK_VERSION = \"0.3.15\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -209,11 +209,39 @@
209
209
  "entity"
210
210
  ]
211
211
  },
212
+ {
213
+ "name": "RopeVisualOptions",
214
+ "kind": "InterfaceDeclaration",
215
+ "signature": "export interface RopeVisualOptions {\n material: string;\n radius?: number;\n radialSegments?: number;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
216
+ "line": 129,
217
+ "fields": [
218
+ "material",
219
+ "radius",
220
+ "radialSegments",
221
+ "castShadow",
222
+ "receiveShadow"
223
+ ]
224
+ },
225
+ {
226
+ "name": "RopeVisualState",
227
+ "kind": "InterfaceDeclaration",
228
+ "signature": "export interface RopeVisualState {\n id: string;\n material: string;\n radius: number;\n radialSegments: number;\n castShadow: boolean;\n receiveShadow: boolean;\n positions: Vec3[];\n}",
229
+ "line": 137,
230
+ "fields": [
231
+ "id",
232
+ "material",
233
+ "radius",
234
+ "radialSegments",
235
+ "castShadow",
236
+ "receiveShadow",
237
+ "positions"
238
+ ]
239
+ },
212
240
  {
213
241
  "name": "RopeDefinition",
214
242
  "kind": "InterfaceDeclaration",
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,
243
+ "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 /** Optional segmented presentation using an already-declared material id. */\n visual?: RopeVisualOptions;\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n anchors?: readonly { index: number; position: Vec3 }[];\n}",
244
+ "line": 146,
217
245
  "fields": [
218
246
  "id",
219
247
  "points",
@@ -222,6 +250,7 @@
222
250
  "fixedDt",
223
251
  "autoStep",
224
252
  "bodyColliders",
253
+ "visual",
225
254
  "substeps",
226
255
  "iterations",
227
256
  "damping",
@@ -232,8 +261,8 @@
232
261
  {
233
262
  "name": "RopeContact",
234
263
  "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,
264
+ "signature": "export interface RopeContact {\n tick: number; particle: number; colliderId: string; penetration: number;\n /** Opposite of particle contact 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}",
265
+ "line": 167,
237
266
  "fields": [
238
267
  "tick",
239
268
  "particle",
@@ -247,7 +276,7 @@
247
276
  "name": "RopeState",
248
277
  "kind": "InterfaceDeclaration",
249
278
  "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,
279
+ "line": 174,
251
280
  "fields": [
252
281
  "tick",
253
282
  "simulatedSeconds",
@@ -263,12 +292,13 @@
263
292
  {
264
293
  "name": "RopeService",
265
294
  "kind": "InterfaceDeclaration",
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}",
267
- "line": 162,
295
+ "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 /** Detached visual descriptions, sorted by rope id; empty when no visuals are requested. */\n visuals(): readonly RopeVisualState[];\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}",
296
+ "line": 182,
268
297
  "fields": [
269
298
  "create",
270
299
  "step",
271
300
  "inspect",
301
+ "visuals",
272
302
  "setColliders",
273
303
  "setAnchor",
274
304
  "releaseAnchor",
@@ -281,7 +311,7 @@
281
311
  "name": "NavigationCell",
282
312
  "kind": "InterfaceDeclaration",
283
313
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
284
- "line": 177,
314
+ "line": 199,
285
315
  "fields": [
286
316
  "x",
287
317
  "y"
@@ -291,7 +321,7 @@
291
321
  "name": "NavigationObstacleUpdate",
292
322
  "kind": "InterfaceDeclaration",
293
323
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
294
- "line": 179,
324
+ "line": 201,
295
325
  "fields": [
296
326
  "cell",
297
327
  "blocked"
@@ -301,7 +331,7 @@
301
331
  "name": "NavigationGrid",
302
332
  "kind": "InterfaceDeclaration",
303
333
  "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}",
304
- "line": 180,
334
+ "line": 202,
305
335
  "fields": [
306
336
  "id",
307
337
  "owner",
@@ -315,7 +345,7 @@
315
345
  "name": "NavigationService",
316
346
  "kind": "InterfaceDeclaration",
317
347
  "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}",
318
- "line": 189,
348
+ "line": 211,
319
349
  "fields": [
320
350
  "createGrid",
321
351
  "getGrid",
@@ -331,13 +361,13 @@
331
361
  "name": "RenderMode",
332
362
  "kind": "TypeAliasDeclaration",
333
363
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
334
- "line": 201
364
+ "line": 223
335
365
  },
336
366
  {
337
367
  "name": "RenderCapabilities",
338
368
  "kind": "InterfaceDeclaration",
339
369
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
340
- "line": 202,
370
+ "line": 224,
341
371
  "fields": [
342
372
  "backend",
343
373
  "compute",
@@ -348,7 +378,7 @@
348
378
  "name": "RenderSettings",
349
379
  "kind": "InterfaceDeclaration",
350
380
  "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}",
351
- "line": 207,
381
+ "line": 229,
352
382
  "fields": [
353
383
  "mode",
354
384
  "samplesPerFrame",
@@ -365,7 +395,7 @@
365
395
  "name": "RenderService",
366
396
  "kind": "InterfaceDeclaration",
367
397
  "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}",
368
- "line": 218,
398
+ "line": 240,
369
399
  "fields": [
370
400
  "configure",
371
401
  "state",
@@ -381,7 +411,7 @@
381
411
  "name": "MaterialBufferInput",
382
412
  "kind": "InterfaceDeclaration",
383
413
  "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}",
384
- "line": 228,
414
+ "line": 250,
385
415
  "fields": [
386
416
  "name",
387
417
  "type",
@@ -393,7 +423,7 @@
393
423
  "name": "RenderBufferReference",
394
424
  "kind": "InterfaceDeclaration",
395
425
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
396
- "line": 237,
426
+ "line": 259,
397
427
  "fields": [
398
428
  "id",
399
429
  "type",
@@ -404,7 +434,7 @@
404
434
  "name": "RenderBufferBindings",
405
435
  "kind": "InterfaceDeclaration",
406
436
  "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}",
407
- "line": 242,
437
+ "line": 264,
408
438
  "fields": [
409
439
  "bind",
410
440
  "unbind",
@@ -415,7 +445,7 @@
415
445
  "name": "MaterialTextureInput",
416
446
  "kind": "InterfaceDeclaration",
417
447
  "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}",
418
- "line": 247,
448
+ "line": 269,
419
449
  "fields": [
420
450
  "texture",
421
451
  "width",
@@ -426,7 +456,7 @@
426
456
  "name": "RenderTextureReference",
427
457
  "kind": "InterfaceDeclaration",
428
458
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
429
- "line": 253,
459
+ "line": 275,
430
460
  "fields": [
431
461
  "id",
432
462
  "format"
@@ -436,7 +466,7 @@
436
466
  "name": "RenderTextureBindings",
437
467
  "kind": "InterfaceDeclaration",
438
468
  "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}",
439
- "line": 257,
469
+ "line": 279,
440
470
  "fields": [
441
471
  "bind",
442
472
  "unbind",
@@ -447,7 +477,7 @@
447
477
  "name": "PostProcessState",
448
478
  "kind": "InterfaceDeclaration",
449
479
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
450
- "line": 262,
480
+ "line": 284,
451
481
  "fields": [
452
482
  "id",
453
483
  "enabled",
@@ -458,7 +488,7 @@
458
488
  "name": "PostProcessService",
459
489
  "kind": "InterfaceDeclaration",
460
490
  "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}",
461
- "line": 267,
491
+ "line": 289,
462
492
  "fields": [
463
493
  "buffers",
464
494
  "textures",
@@ -472,7 +502,7 @@
472
502
  "name": "ComputeBufferHandle",
473
503
  "kind": "InterfaceDeclaration",
474
504
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
475
- "line": 277,
505
+ "line": 299,
476
506
  "fields": [
477
507
  "owner",
478
508
  "index",
@@ -483,7 +513,7 @@
483
513
  "name": "ComputeTaskHandle",
484
514
  "kind": "InterfaceDeclaration",
485
515
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
486
- "line": 282,
516
+ "line": 304,
487
517
  "fields": [
488
518
  "owner",
489
519
  "id"
@@ -493,7 +523,7 @@
493
523
  "name": "ComputeBufferInput",
494
524
  "kind": "InterfaceDeclaration",
495
525
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
496
- "line": 286,
526
+ "line": 308,
497
527
  "fields": [
498
528
  "id",
499
529
  "type",
@@ -505,7 +535,7 @@
505
535
  "name": "ComputeTextureHandle",
506
536
  "kind": "InterfaceDeclaration",
507
537
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
508
- "line": 292,
538
+ "line": 314,
509
539
  "fields": [
510
540
  "owner",
511
541
  "index",
@@ -517,7 +547,7 @@
517
547
  "name": "ComputeTextureSize",
518
548
  "kind": "InterfaceDeclaration",
519
549
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
520
- "line": 298,
550
+ "line": 320,
521
551
  "fields": [
522
552
  "width",
523
553
  "height"
@@ -527,7 +557,7 @@
527
557
  "name": "ComputeTextureDataInput",
528
558
  "kind": "InterfaceDeclaration",
529
559
  "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}",
530
- "line": 302,
560
+ "line": 324,
531
561
  "fields": [
532
562
  "id",
533
563
  "data",
@@ -538,7 +568,7 @@
538
568
  "name": "ComputeTextureAssetInput",
539
569
  "kind": "InterfaceDeclaration",
540
570
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
541
- "line": 308,
571
+ "line": 330,
542
572
  "fields": [
543
573
  "id",
544
574
  "asset",
@@ -551,13 +581,13 @@
551
581
  "name": "ComputeTextureInput",
552
582
  "kind": "TypeAliasDeclaration",
553
583
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
554
- "line": 315
584
+ "line": 337
555
585
  },
556
586
  {
557
587
  "name": "ComputeTextureBinding",
558
588
  "kind": "InterfaceDeclaration",
559
589
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
560
- "line": 316,
590
+ "line": 338,
561
591
  "fields": [
562
592
  "name",
563
593
  "filter",
@@ -569,7 +599,7 @@
569
599
  "name": "ComputeDispatchInput",
570
600
  "kind": "InterfaceDeclaration",
571
601
  "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}",
572
- "line": 322,
602
+ "line": 344,
573
603
  "fields": [
574
604
  "output",
575
605
  "bindings",
@@ -583,7 +613,7 @@
583
613
  "name": "ComputeTaskState",
584
614
  "kind": "InterfaceDeclaration",
585
615
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
586
- "line": 334,
616
+ "line": 356,
587
617
  "fields": [
588
618
  "status",
589
619
  "error"
@@ -593,7 +623,7 @@
593
623
  "name": "ComputeService",
594
624
  "kind": "InterfaceDeclaration",
595
625
  "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}",
596
- "line": 338,
626
+ "line": 360,
597
627
  "fields": [
598
628
  "createTexture",
599
629
  "resolveTexture",
@@ -618,7 +648,7 @@
618
648
  "name": "InputService",
619
649
  "kind": "InterfaceDeclaration",
620
650
  "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}",
621
- "line": 358,
651
+ "line": 380,
622
652
  "fields": [
623
653
  "held",
624
654
  "pressed",
@@ -630,7 +660,7 @@
630
660
  "name": "PhysicsService",
631
661
  "kind": "InterfaceDeclaration",
632
662
  "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,
663
+ "line": 386,
634
664
  "fields": [
635
665
  "moveCharacter",
636
666
  "grounded",
@@ -649,7 +679,7 @@
649
679
  "name": "AnimationService",
650
680
  "kind": "InterfaceDeclaration",
651
681
  "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}",
652
- "line": 386,
682
+ "line": 408,
653
683
  "fields": [
654
684
  "play",
655
685
  "state"
@@ -659,7 +689,7 @@
659
689
  "name": "CameraService",
660
690
  "kind": "InterfaceDeclaration",
661
691
  "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}",
662
- "line": 398,
692
+ "line": 420,
663
693
  "fields": [
664
694
  "follow",
665
695
  "orbit"
@@ -669,7 +699,7 @@
669
699
  "name": "UIService",
670
700
  "kind": "InterfaceDeclaration",
671
701
  "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}",
672
- "line": 411,
702
+ "line": 433,
673
703
  "fields": [
674
704
  "setText",
675
705
  "setProgress",
@@ -680,7 +710,7 @@
680
710
  "name": "AudioService",
681
711
  "kind": "InterfaceDeclaration",
682
712
  "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}",
683
- "line": 416,
713
+ "line": 438,
684
714
  "fields": [
685
715
  "play",
686
716
  "stop",
@@ -695,7 +725,7 @@
695
725
  "name": "StorageService",
696
726
  "kind": "InterfaceDeclaration",
697
727
  "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}",
698
- "line": 431,
728
+ "line": 453,
699
729
  "fields": [
700
730
  "save",
701
731
  "load",
@@ -706,7 +736,7 @@
706
736
  "name": "SceneService",
707
737
  "kind": "InterfaceDeclaration",
708
738
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
709
- "line": 440,
739
+ "line": 462,
710
740
  "fields": [
711
741
  "current",
712
742
  "load"
@@ -716,7 +746,7 @@
716
746
  "name": "ModelDefinition",
717
747
  "kind": "InterfaceDeclaration",
718
748
  "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}",
719
- "line": 444,
749
+ "line": 466,
720
750
  "fields": [
721
751
  "material",
722
752
  "materialSlots",
@@ -733,7 +763,7 @@
733
763
  "name": "RigidBodyDefinition",
734
764
  "kind": "InterfaceDeclaration",
735
765
  "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}",
736
- "line": 457,
766
+ "line": 479,
737
767
  "fields": [
738
768
  "type",
739
769
  "collider",
@@ -747,7 +777,7 @@
747
777
  "name": "CharacterDefinition",
748
778
  "kind": "InterfaceDeclaration",
749
779
  "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}",
750
- "line": 471,
780
+ "line": 493,
751
781
  "fields": [
752
782
  "radius",
753
783
  "height",
@@ -760,7 +790,7 @@
760
790
  "name": "UIElementDefinition",
761
791
  "kind": "InterfaceDeclaration",
762
792
  "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}",
763
- "line": 479,
793
+ "line": 501,
764
794
  "fields": [
765
795
  "id",
766
796
  "kind",
@@ -779,7 +809,7 @@
779
809
  "name": "SoundDefinition",
780
810
  "kind": "InterfaceDeclaration",
781
811
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
782
- "line": 492,
812
+ "line": 514,
783
813
  "fields": [
784
814
  "id",
785
815
  "asset",
@@ -792,7 +822,7 @@
792
822
  "name": "AudioBusDefinition",
793
823
  "kind": "InterfaceDeclaration",
794
824
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
795
- "line": 499,
825
+ "line": 521,
796
826
  "fields": [
797
827
  "id",
798
828
  "volume"
@@ -802,43 +832,43 @@
802
832
  "name": "SYSTEM_PHASES",
803
833
  "kind": "constant",
804
834
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
805
- "line": 503
835
+ "line": 525
806
836
  },
807
837
  {
808
838
  "name": "SystemPhase",
809
839
  "kind": "TypeAliasDeclaration",
810
840
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
811
- "line": 511
841
+ "line": 533
812
842
  },
813
843
  {
814
844
  "name": "Geometry",
815
845
  "kind": "TypeAliasDeclaration",
816
846
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
817
- "line": 512
847
+ "line": 534
818
848
  },
819
849
  {
820
850
  "name": "GRAPH_TYPES",
821
851
  "kind": "constant",
822
852
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
823
- "line": 516
853
+ "line": 538
824
854
  },
825
855
  {
826
856
  "name": "GraphType",
827
857
  "kind": "TypeAliasDeclaration",
828
858
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
829
- "line": 517
859
+ "line": 539
830
860
  },
831
861
  {
832
862
  "name": "GraphValue",
833
863
  "kind": "TypeAliasDeclaration",
834
864
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
835
- "line": 518
865
+ "line": 540
836
866
  },
837
867
  {
838
868
  "name": "GraphParameter",
839
869
  "kind": "InterfaceDeclaration",
840
870
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
841
- "line": 519,
871
+ "line": 541,
842
872
  "fields": [
843
873
  "name",
844
874
  "type",
@@ -849,31 +879,31 @@
849
879
  "name": "GRAPH_INPUT_TYPES",
850
880
  "kind": "constant",
851
881
  "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",
852
- "line": 524
882
+ "line": 546
853
883
  },
854
884
  {
855
885
  "name": "GraphInputName",
856
886
  "kind": "TypeAliasDeclaration",
857
887
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
858
- "line": 531
888
+ "line": 553
859
889
  },
860
890
  {
861
891
  "name": "GRAPH_OPERATIONS",
862
892
  "kind": "constant",
863
893
  "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",
864
- "line": 532
894
+ "line": 554
865
895
  },
866
896
  {
867
897
  "name": "GraphNode",
868
898
  "kind": "TypeAliasDeclaration",
869
899
  "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 };",
870
- "line": 537
900
+ "line": 559
871
901
  },
872
902
  {
873
903
  "name": "Graph",
874
904
  "kind": "InterfaceDeclaration",
875
905
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
876
- "line": 557,
906
+ "line": 579,
877
907
  "fields": [
878
908
  "nodes",
879
909
  "output",
@@ -884,7 +914,7 @@
884
914
  "name": "MaterialGraphs",
885
915
  "kind": "InterfaceDeclaration",
886
916
  "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}",
887
- "line": 562,
917
+ "line": 584,
888
918
  "fields": [
889
919
  "baseColor",
890
920
  "emissive",
@@ -898,7 +928,7 @@
898
928
  "name": "VertexGraphs",
899
929
  "kind": "InterfaceDeclaration",
900
930
  "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}",
901
- "line": 571,
931
+ "line": 593,
902
932
  "fields": [
903
933
  "position",
904
934
  "normal"
@@ -908,7 +938,7 @@
908
938
  "name": "MaterialInput",
909
939
  "kind": "InterfaceDeclaration",
910
940
  "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}",
911
- "line": 577,
941
+ "line": 599,
912
942
  "fields": [
913
943
  "id",
914
944
  "color",
@@ -937,7 +967,7 @@
937
967
  "name": "MaterialDefinition",
938
968
  "kind": "InterfaceDeclaration",
939
969
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
940
- "line": 604,
970
+ "line": 626,
941
971
  "fields": [
942
972
  "kind"
943
973
  ]
@@ -946,7 +976,7 @@
946
976
  "name": "PostProcessInput",
947
977
  "kind": "InterfaceDeclaration",
948
978
  "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}",
949
- "line": 607,
979
+ "line": 629,
950
980
  "fields": [
951
981
  "id",
952
982
  "buffers",
@@ -959,7 +989,7 @@
959
989
  "name": "PostProcessDefinition",
960
990
  "kind": "InterfaceDeclaration",
961
991
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
962
- "line": 615,
992
+ "line": 637,
963
993
  "fields": [
964
994
  "kind"
965
995
  ]
@@ -968,7 +998,7 @@
968
998
  "name": "ComputeInput",
969
999
  "kind": "InterfaceDeclaration",
970
1000
  "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}",
971
- "line": 618,
1001
+ "line": 640,
972
1002
  "fields": [
973
1003
  "id",
974
1004
  "graph",
@@ -983,7 +1013,7 @@
983
1013
  "name": "ComputeDefinition",
984
1014
  "kind": "InterfaceDeclaration",
985
1015
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
986
- "line": 627,
1016
+ "line": 649,
987
1017
  "fields": [
988
1018
  "kind"
989
1019
  ]
@@ -992,7 +1022,7 @@
992
1022
  "name": "AssetInput",
993
1023
  "kind": "InterfaceDeclaration",
994
1024
  "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}",
995
- "line": 630,
1025
+ "line": 652,
996
1026
  "fields": [
997
1027
  "id",
998
1028
  "path",
@@ -1007,7 +1037,7 @@
1007
1037
  "name": "AssetDefinition",
1008
1038
  "kind": "InterfaceDeclaration",
1009
1039
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
1010
- "line": 640,
1040
+ "line": 662,
1011
1041
  "fields": [
1012
1042
  "kind"
1013
1043
  ]
@@ -1016,7 +1046,7 @@
1016
1046
  "name": "MeshDefinition",
1017
1047
  "kind": "InterfaceDeclaration",
1018
1048
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
1019
- "line": 643,
1049
+ "line": 665,
1020
1050
  "fields": [
1021
1051
  "geometry",
1022
1052
  "material",
@@ -1028,7 +1058,7 @@
1028
1058
  "name": "LightDefinition",
1029
1059
  "kind": "InterfaceDeclaration",
1030
1060
  "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}",
1031
- "line": 649,
1061
+ "line": 671,
1032
1062
  "fields": [
1033
1063
  "kind",
1034
1064
  "color",
@@ -1042,7 +1072,7 @@
1042
1072
  "name": "EntityInput",
1043
1073
  "kind": "InterfaceDeclaration",
1044
1074
  "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}",
1045
- "line": 664,
1075
+ "line": 686,
1046
1076
  "fields": [
1047
1077
  "id",
1048
1078
  "prefab",
@@ -1060,7 +1090,7 @@
1060
1090
  "name": "PrefabInput",
1061
1091
  "kind": "InterfaceDeclaration",
1062
1092
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
1063
- "line": 676,
1093
+ "line": 698,
1064
1094
  "fields": [
1065
1095
  "extends"
1066
1096
  ]
@@ -1069,7 +1099,7 @@
1069
1099
  "name": "PrefabDefinition",
1070
1100
  "kind": "InterfaceDeclaration",
1071
1101
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
1072
- "line": 679,
1102
+ "line": 701,
1073
1103
  "fields": [
1074
1104
  "kind"
1075
1105
  ]
@@ -1078,7 +1108,7 @@
1078
1108
  "name": "SceneInput",
1079
1109
  "kind": "InterfaceDeclaration",
1080
1110
  "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}",
1081
- "line": 682,
1111
+ "line": 704,
1082
1112
  "fields": [
1083
1113
  "id",
1084
1114
  "camera",
@@ -1092,7 +1122,7 @@
1092
1122
  "name": "SceneDefinition",
1093
1123
  "kind": "InterfaceDeclaration",
1094
1124
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1095
- "line": 707,
1125
+ "line": 729,
1096
1126
  "fields": [
1097
1127
  "kind"
1098
1128
  ]
@@ -1101,7 +1131,7 @@
1101
1131
  "name": "SystemInput",
1102
1132
  "kind": "InterfaceDeclaration",
1103
1133
  "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}",
1104
- "line": 710,
1134
+ "line": 732,
1105
1135
  "fields": [
1106
1136
  "id",
1107
1137
  "phase",
@@ -1117,7 +1147,7 @@
1117
1147
  "name": "SystemDefinition",
1118
1148
  "kind": "InterfaceDeclaration",
1119
1149
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1120
- "line": 720,
1150
+ "line": 742,
1121
1151
  "fields": [
1122
1152
  "kind"
1123
1153
  ]
@@ -1126,7 +1156,7 @@
1126
1156
  "name": "GameInput",
1127
1157
  "kind": "InterfaceDeclaration",
1128
1158
  "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}",
1129
- "line": 723,
1159
+ "line": 745,
1130
1160
  "fields": [
1131
1161
  "id",
1132
1162
  "scene",
@@ -1151,7 +1181,7 @@
1151
1181
  "name": "GameDefinition",
1152
1182
  "kind": "InterfaceDeclaration",
1153
1183
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1154
- "line": 742,
1184
+ "line": 764,
1155
1185
  "fields": [
1156
1186
  "kind"
1157
1187
  ]
@@ -1160,7 +1190,7 @@
1160
1190
  "name": "GameInstance",
1161
1191
  "kind": "InterfaceDeclaration",
1162
1192
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1163
- "line": 745,
1193
+ "line": 767,
1164
1194
  "fields": [
1165
1195
  "update",
1166
1196
  "dispose"
@@ -1170,61 +1200,61 @@
1170
1200
  "name": "defineComponent",
1171
1201
  "kind": "FunctionDeclaration",
1172
1202
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1173
- "line": 749
1203
+ "line": 771
1174
1204
  },
1175
1205
  {
1176
1206
  "name": "defineMaterial",
1177
1207
  "kind": "FunctionDeclaration",
1178
1208
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1179
- "line": 755
1209
+ "line": 777
1180
1210
  },
1181
1211
  {
1182
1212
  "name": "definePostProcess",
1183
1213
  "kind": "FunctionDeclaration",
1184
1214
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1185
- "line": 758
1215
+ "line": 780
1186
1216
  },
1187
1217
  {
1188
1218
  "name": "defineCompute",
1189
1219
  "kind": "FunctionDeclaration",
1190
1220
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1191
- "line": 761
1221
+ "line": 783
1192
1222
  },
1193
1223
  {
1194
1224
  "name": "defineAsset",
1195
1225
  "kind": "FunctionDeclaration",
1196
1226
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1197
- "line": 764
1227
+ "line": 786
1198
1228
  },
1199
1229
  {
1200
1230
  "name": "definePrefab",
1201
1231
  "kind": "FunctionDeclaration",
1202
1232
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1203
- "line": 767
1233
+ "line": 789
1204
1234
  },
1205
1235
  {
1206
1236
  "name": "defineScene",
1207
1237
  "kind": "FunctionDeclaration",
1208
1238
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1209
- "line": 770
1239
+ "line": 792
1210
1240
  },
1211
1241
  {
1212
1242
  "name": "defineSystem",
1213
1243
  "kind": "FunctionDeclaration",
1214
1244
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1215
- "line": 773
1245
+ "line": 795
1216
1246
  },
1217
1247
  {
1218
1248
  "name": "defineGame",
1219
1249
  "kind": "FunctionDeclaration",
1220
1250
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1221
- "line": 776
1251
+ "line": 798
1222
1252
  },
1223
1253
  {
1224
1254
  "name": "instantiateGame",
1225
1255
  "kind": "FunctionDeclaration",
1226
1256
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1227
- "line": 780
1257
+ "line": 802
1228
1258
  }
1229
1259
  ],
1230
1260
  "installedDeclarations": "lib/sdk/index.d.ts",