pelican-engine 0.3.12 → 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.12",
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.12\"",
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",
@@ -222,7 +233,7 @@
222
233
  "name": "RopeContact",
223
234
  "kind": "InterfaceDeclaration",
224
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}",
225
- "line": 143,
236
+ "line": 147,
226
237
  "fields": [
227
238
  "tick",
228
239
  "particle",
@@ -236,7 +247,7 @@
236
247
  "name": "RopeState",
237
248
  "kind": "InterfaceDeclaration",
238
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}",
239
- "line": 150,
250
+ "line": 154,
240
251
  "fields": [
241
252
  "tick",
242
253
  "simulatedSeconds",
@@ -253,7 +264,7 @@
253
264
  "name": "RopeService",
254
265
  "kind": "InterfaceDeclaration",
255
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}",
256
- "line": 158,
267
+ "line": 162,
257
268
  "fields": [
258
269
  "create",
259
270
  "step",
@@ -270,7 +281,7 @@
270
281
  "name": "NavigationCell",
271
282
  "kind": "InterfaceDeclaration",
272
283
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
273
- "line": 173,
284
+ "line": 177,
274
285
  "fields": [
275
286
  "x",
276
287
  "y"
@@ -280,7 +291,7 @@
280
291
  "name": "NavigationObstacleUpdate",
281
292
  "kind": "InterfaceDeclaration",
282
293
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
283
- "line": 175,
294
+ "line": 179,
284
295
  "fields": [
285
296
  "cell",
286
297
  "blocked"
@@ -290,7 +301,7 @@
290
301
  "name": "NavigationGrid",
291
302
  "kind": "InterfaceDeclaration",
292
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}",
293
- "line": 176,
304
+ "line": 180,
294
305
  "fields": [
295
306
  "id",
296
307
  "owner",
@@ -304,7 +315,7 @@
304
315
  "name": "NavigationService",
305
316
  "kind": "InterfaceDeclaration",
306
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}",
307
- "line": 185,
318
+ "line": 189,
308
319
  "fields": [
309
320
  "createGrid",
310
321
  "getGrid",
@@ -320,13 +331,13 @@
320
331
  "name": "RenderMode",
321
332
  "kind": "TypeAliasDeclaration",
322
333
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
323
- "line": 197
334
+ "line": 201
324
335
  },
325
336
  {
326
337
  "name": "RenderCapabilities",
327
338
  "kind": "InterfaceDeclaration",
328
339
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
329
- "line": 198,
340
+ "line": 202,
330
341
  "fields": [
331
342
  "backend",
332
343
  "compute",
@@ -337,7 +348,7 @@
337
348
  "name": "RenderSettings",
338
349
  "kind": "InterfaceDeclaration",
339
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}",
340
- "line": 203,
351
+ "line": 207,
341
352
  "fields": [
342
353
  "mode",
343
354
  "samplesPerFrame",
@@ -354,7 +365,7 @@
354
365
  "name": "RenderService",
355
366
  "kind": "InterfaceDeclaration",
356
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}",
357
- "line": 214,
368
+ "line": 218,
358
369
  "fields": [
359
370
  "configure",
360
371
  "state",
@@ -370,7 +381,7 @@
370
381
  "name": "MaterialBufferInput",
371
382
  "kind": "InterfaceDeclaration",
372
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}",
373
- "line": 224,
384
+ "line": 228,
374
385
  "fields": [
375
386
  "name",
376
387
  "type",
@@ -382,7 +393,7 @@
382
393
  "name": "RenderBufferReference",
383
394
  "kind": "InterfaceDeclaration",
384
395
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
385
- "line": 233,
396
+ "line": 237,
386
397
  "fields": [
387
398
  "id",
388
399
  "type",
@@ -393,7 +404,7 @@
393
404
  "name": "RenderBufferBindings",
394
405
  "kind": "InterfaceDeclaration",
395
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}",
396
- "line": 238,
407
+ "line": 242,
397
408
  "fields": [
398
409
  "bind",
399
410
  "unbind",
@@ -404,7 +415,7 @@
404
415
  "name": "MaterialTextureInput",
405
416
  "kind": "InterfaceDeclaration",
406
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}",
407
- "line": 243,
418
+ "line": 247,
408
419
  "fields": [
409
420
  "texture",
410
421
  "width",
@@ -415,7 +426,7 @@
415
426
  "name": "RenderTextureReference",
416
427
  "kind": "InterfaceDeclaration",
417
428
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
418
- "line": 249,
429
+ "line": 253,
419
430
  "fields": [
420
431
  "id",
421
432
  "format"
@@ -425,7 +436,7 @@
425
436
  "name": "RenderTextureBindings",
426
437
  "kind": "InterfaceDeclaration",
427
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}",
428
- "line": 253,
439
+ "line": 257,
429
440
  "fields": [
430
441
  "bind",
431
442
  "unbind",
@@ -436,7 +447,7 @@
436
447
  "name": "PostProcessState",
437
448
  "kind": "InterfaceDeclaration",
438
449
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
439
- "line": 258,
450
+ "line": 262,
440
451
  "fields": [
441
452
  "id",
442
453
  "enabled",
@@ -447,7 +458,7 @@
447
458
  "name": "PostProcessService",
448
459
  "kind": "InterfaceDeclaration",
449
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}",
450
- "line": 263,
461
+ "line": 267,
451
462
  "fields": [
452
463
  "buffers",
453
464
  "textures",
@@ -461,7 +472,7 @@
461
472
  "name": "ComputeBufferHandle",
462
473
  "kind": "InterfaceDeclaration",
463
474
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
464
- "line": 273,
475
+ "line": 277,
465
476
  "fields": [
466
477
  "owner",
467
478
  "index",
@@ -472,7 +483,7 @@
472
483
  "name": "ComputeTaskHandle",
473
484
  "kind": "InterfaceDeclaration",
474
485
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
475
- "line": 278,
486
+ "line": 282,
476
487
  "fields": [
477
488
  "owner",
478
489
  "id"
@@ -482,7 +493,7 @@
482
493
  "name": "ComputeBufferInput",
483
494
  "kind": "InterfaceDeclaration",
484
495
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
485
- "line": 282,
496
+ "line": 286,
486
497
  "fields": [
487
498
  "id",
488
499
  "type",
@@ -494,7 +505,7 @@
494
505
  "name": "ComputeTextureHandle",
495
506
  "kind": "InterfaceDeclaration",
496
507
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
497
- "line": 288,
508
+ "line": 292,
498
509
  "fields": [
499
510
  "owner",
500
511
  "index",
@@ -506,7 +517,7 @@
506
517
  "name": "ComputeTextureSize",
507
518
  "kind": "InterfaceDeclaration",
508
519
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
509
- "line": 294,
520
+ "line": 298,
510
521
  "fields": [
511
522
  "width",
512
523
  "height"
@@ -516,7 +527,7 @@
516
527
  "name": "ComputeTextureDataInput",
517
528
  "kind": "InterfaceDeclaration",
518
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}",
519
- "line": 298,
530
+ "line": 302,
520
531
  "fields": [
521
532
  "id",
522
533
  "data",
@@ -527,7 +538,7 @@
527
538
  "name": "ComputeTextureAssetInput",
528
539
  "kind": "InterfaceDeclaration",
529
540
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
530
- "line": 304,
541
+ "line": 308,
531
542
  "fields": [
532
543
  "id",
533
544
  "asset",
@@ -540,13 +551,13 @@
540
551
  "name": "ComputeTextureInput",
541
552
  "kind": "TypeAliasDeclaration",
542
553
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
543
- "line": 311
554
+ "line": 315
544
555
  },
545
556
  {
546
557
  "name": "ComputeTextureBinding",
547
558
  "kind": "InterfaceDeclaration",
548
559
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
549
- "line": 312,
560
+ "line": 316,
550
561
  "fields": [
551
562
  "name",
552
563
  "filter",
@@ -558,7 +569,7 @@
558
569
  "name": "ComputeDispatchInput",
559
570
  "kind": "InterfaceDeclaration",
560
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}",
561
- "line": 318,
572
+ "line": 322,
562
573
  "fields": [
563
574
  "output",
564
575
  "bindings",
@@ -572,7 +583,7 @@
572
583
  "name": "ComputeTaskState",
573
584
  "kind": "InterfaceDeclaration",
574
585
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
575
- "line": 330,
586
+ "line": 334,
576
587
  "fields": [
577
588
  "status",
578
589
  "error"
@@ -582,7 +593,7 @@
582
593
  "name": "ComputeService",
583
594
  "kind": "InterfaceDeclaration",
584
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}",
585
- "line": 334,
596
+ "line": 338,
586
597
  "fields": [
587
598
  "createTexture",
588
599
  "resolveTexture",
@@ -607,7 +618,7 @@
607
618
  "name": "InputService",
608
619
  "kind": "InterfaceDeclaration",
609
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}",
610
- "line": 354,
621
+ "line": 358,
611
622
  "fields": [
612
623
  "held",
613
624
  "pressed",
@@ -619,7 +630,7 @@
619
630
  "name": "PhysicsService",
620
631
  "kind": "InterfaceDeclaration",
621
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}",
622
- "line": 360,
633
+ "line": 364,
623
634
  "fields": [
624
635
  "moveCharacter",
625
636
  "grounded",
@@ -638,7 +649,7 @@
638
649
  "name": "AnimationService",
639
650
  "kind": "InterfaceDeclaration",
640
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}",
641
- "line": 382,
652
+ "line": 386,
642
653
  "fields": [
643
654
  "play",
644
655
  "state"
@@ -648,7 +659,7 @@
648
659
  "name": "CameraService",
649
660
  "kind": "InterfaceDeclaration",
650
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}",
651
- "line": 394,
662
+ "line": 398,
652
663
  "fields": [
653
664
  "follow",
654
665
  "orbit"
@@ -658,7 +669,7 @@
658
669
  "name": "UIService",
659
670
  "kind": "InterfaceDeclaration",
660
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}",
661
- "line": 407,
672
+ "line": 411,
662
673
  "fields": [
663
674
  "setText",
664
675
  "setProgress",
@@ -669,7 +680,7 @@
669
680
  "name": "AudioService",
670
681
  "kind": "InterfaceDeclaration",
671
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}",
672
- "line": 412,
683
+ "line": 416,
673
684
  "fields": [
674
685
  "play",
675
686
  "stop",
@@ -684,7 +695,7 @@
684
695
  "name": "StorageService",
685
696
  "kind": "InterfaceDeclaration",
686
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}",
687
- "line": 427,
698
+ "line": 431,
688
699
  "fields": [
689
700
  "save",
690
701
  "load",
@@ -695,7 +706,7 @@
695
706
  "name": "SceneService",
696
707
  "kind": "InterfaceDeclaration",
697
708
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
698
- "line": 436,
709
+ "line": 440,
699
710
  "fields": [
700
711
  "current",
701
712
  "load"
@@ -705,7 +716,7 @@
705
716
  "name": "ModelDefinition",
706
717
  "kind": "InterfaceDeclaration",
707
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}",
708
- "line": 440,
719
+ "line": 444,
709
720
  "fields": [
710
721
  "material",
711
722
  "materialSlots",
@@ -722,7 +733,7 @@
722
733
  "name": "RigidBodyDefinition",
723
734
  "kind": "InterfaceDeclaration",
724
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}",
725
- "line": 453,
736
+ "line": 457,
726
737
  "fields": [
727
738
  "type",
728
739
  "collider",
@@ -736,7 +747,7 @@
736
747
  "name": "CharacterDefinition",
737
748
  "kind": "InterfaceDeclaration",
738
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}",
739
- "line": 467,
750
+ "line": 471,
740
751
  "fields": [
741
752
  "radius",
742
753
  "height",
@@ -749,7 +760,7 @@
749
760
  "name": "UIElementDefinition",
750
761
  "kind": "InterfaceDeclaration",
751
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}",
752
- "line": 475,
763
+ "line": 479,
753
764
  "fields": [
754
765
  "id",
755
766
  "kind",
@@ -768,7 +779,7 @@
768
779
  "name": "SoundDefinition",
769
780
  "kind": "InterfaceDeclaration",
770
781
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
771
- "line": 488,
782
+ "line": 492,
772
783
  "fields": [
773
784
  "id",
774
785
  "asset",
@@ -781,7 +792,7 @@
781
792
  "name": "AudioBusDefinition",
782
793
  "kind": "InterfaceDeclaration",
783
794
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
784
- "line": 495,
795
+ "line": 499,
785
796
  "fields": [
786
797
  "id",
787
798
  "volume"
@@ -791,43 +802,43 @@
791
802
  "name": "SYSTEM_PHASES",
792
803
  "kind": "constant",
793
804
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
794
- "line": 499
805
+ "line": 503
795
806
  },
796
807
  {
797
808
  "name": "SystemPhase",
798
809
  "kind": "TypeAliasDeclaration",
799
810
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
800
- "line": 507
811
+ "line": 511
801
812
  },
802
813
  {
803
814
  "name": "Geometry",
804
815
  "kind": "TypeAliasDeclaration",
805
816
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
806
- "line": 508
817
+ "line": 512
807
818
  },
808
819
  {
809
820
  "name": "GRAPH_TYPES",
810
821
  "kind": "constant",
811
822
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
812
- "line": 512
823
+ "line": 516
813
824
  },
814
825
  {
815
826
  "name": "GraphType",
816
827
  "kind": "TypeAliasDeclaration",
817
828
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
818
- "line": 513
829
+ "line": 517
819
830
  },
820
831
  {
821
832
  "name": "GraphValue",
822
833
  "kind": "TypeAliasDeclaration",
823
834
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
824
- "line": 514
835
+ "line": 518
825
836
  },
826
837
  {
827
838
  "name": "GraphParameter",
828
839
  "kind": "InterfaceDeclaration",
829
840
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
830
- "line": 515,
841
+ "line": 519,
831
842
  "fields": [
832
843
  "name",
833
844
  "type",
@@ -838,31 +849,31 @@
838
849
  "name": "GRAPH_INPUT_TYPES",
839
850
  "kind": "constant",
840
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",
841
- "line": 520
852
+ "line": 524
842
853
  },
843
854
  {
844
855
  "name": "GraphInputName",
845
856
  "kind": "TypeAliasDeclaration",
846
857
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
847
- "line": 527
858
+ "line": 531
848
859
  },
849
860
  {
850
861
  "name": "GRAPH_OPERATIONS",
851
862
  "kind": "constant",
852
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",
853
- "line": 528
864
+ "line": 532
854
865
  },
855
866
  {
856
867
  "name": "GraphNode",
857
868
  "kind": "TypeAliasDeclaration",
858
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 };",
859
- "line": 533
870
+ "line": 537
860
871
  },
861
872
  {
862
873
  "name": "Graph",
863
874
  "kind": "InterfaceDeclaration",
864
875
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
865
- "line": 553,
876
+ "line": 557,
866
877
  "fields": [
867
878
  "nodes",
868
879
  "output",
@@ -873,7 +884,7 @@
873
884
  "name": "MaterialGraphs",
874
885
  "kind": "InterfaceDeclaration",
875
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}",
876
- "line": 558,
887
+ "line": 562,
877
888
  "fields": [
878
889
  "baseColor",
879
890
  "emissive",
@@ -887,7 +898,7 @@
887
898
  "name": "VertexGraphs",
888
899
  "kind": "InterfaceDeclaration",
889
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}",
890
- "line": 567,
901
+ "line": 571,
891
902
  "fields": [
892
903
  "position",
893
904
  "normal"
@@ -897,7 +908,7 @@
897
908
  "name": "MaterialInput",
898
909
  "kind": "InterfaceDeclaration",
899
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}",
900
- "line": 573,
911
+ "line": 577,
901
912
  "fields": [
902
913
  "id",
903
914
  "color",
@@ -926,7 +937,7 @@
926
937
  "name": "MaterialDefinition",
927
938
  "kind": "InterfaceDeclaration",
928
939
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
929
- "line": 600,
940
+ "line": 604,
930
941
  "fields": [
931
942
  "kind"
932
943
  ]
@@ -935,7 +946,7 @@
935
946
  "name": "PostProcessInput",
936
947
  "kind": "InterfaceDeclaration",
937
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}",
938
- "line": 603,
949
+ "line": 607,
939
950
  "fields": [
940
951
  "id",
941
952
  "buffers",
@@ -948,7 +959,7 @@
948
959
  "name": "PostProcessDefinition",
949
960
  "kind": "InterfaceDeclaration",
950
961
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
951
- "line": 611,
962
+ "line": 615,
952
963
  "fields": [
953
964
  "kind"
954
965
  ]
@@ -957,7 +968,7 @@
957
968
  "name": "ComputeInput",
958
969
  "kind": "InterfaceDeclaration",
959
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}",
960
- "line": 614,
971
+ "line": 618,
961
972
  "fields": [
962
973
  "id",
963
974
  "graph",
@@ -972,7 +983,7 @@
972
983
  "name": "ComputeDefinition",
973
984
  "kind": "InterfaceDeclaration",
974
985
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
975
- "line": 623,
986
+ "line": 627,
976
987
  "fields": [
977
988
  "kind"
978
989
  ]
@@ -981,7 +992,7 @@
981
992
  "name": "AssetInput",
982
993
  "kind": "InterfaceDeclaration",
983
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}",
984
- "line": 626,
995
+ "line": 630,
985
996
  "fields": [
986
997
  "id",
987
998
  "path",
@@ -996,7 +1007,7 @@
996
1007
  "name": "AssetDefinition",
997
1008
  "kind": "InterfaceDeclaration",
998
1009
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
999
- "line": 636,
1010
+ "line": 640,
1000
1011
  "fields": [
1001
1012
  "kind"
1002
1013
  ]
@@ -1005,7 +1016,7 @@
1005
1016
  "name": "MeshDefinition",
1006
1017
  "kind": "InterfaceDeclaration",
1007
1018
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
1008
- "line": 639,
1019
+ "line": 643,
1009
1020
  "fields": [
1010
1021
  "geometry",
1011
1022
  "material",
@@ -1017,7 +1028,7 @@
1017
1028
  "name": "LightDefinition",
1018
1029
  "kind": "InterfaceDeclaration",
1019
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}",
1020
- "line": 645,
1031
+ "line": 649,
1021
1032
  "fields": [
1022
1033
  "kind",
1023
1034
  "color",
@@ -1031,7 +1042,7 @@
1031
1042
  "name": "EntityInput",
1032
1043
  "kind": "InterfaceDeclaration",
1033
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}",
1034
- "line": 660,
1045
+ "line": 664,
1035
1046
  "fields": [
1036
1047
  "id",
1037
1048
  "prefab",
@@ -1049,7 +1060,7 @@
1049
1060
  "name": "PrefabInput",
1050
1061
  "kind": "InterfaceDeclaration",
1051
1062
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
1052
- "line": 672,
1063
+ "line": 676,
1053
1064
  "fields": [
1054
1065
  "extends"
1055
1066
  ]
@@ -1058,7 +1069,7 @@
1058
1069
  "name": "PrefabDefinition",
1059
1070
  "kind": "InterfaceDeclaration",
1060
1071
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
1061
- "line": 675,
1072
+ "line": 679,
1062
1073
  "fields": [
1063
1074
  "kind"
1064
1075
  ]
@@ -1067,7 +1078,7 @@
1067
1078
  "name": "SceneInput",
1068
1079
  "kind": "InterfaceDeclaration",
1069
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}",
1070
- "line": 678,
1081
+ "line": 682,
1071
1082
  "fields": [
1072
1083
  "id",
1073
1084
  "camera",
@@ -1081,7 +1092,7 @@
1081
1092
  "name": "SceneDefinition",
1082
1093
  "kind": "InterfaceDeclaration",
1083
1094
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1084
- "line": 703,
1095
+ "line": 707,
1085
1096
  "fields": [
1086
1097
  "kind"
1087
1098
  ]
@@ -1090,7 +1101,7 @@
1090
1101
  "name": "SystemInput",
1091
1102
  "kind": "InterfaceDeclaration",
1092
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}",
1093
- "line": 706,
1104
+ "line": 710,
1094
1105
  "fields": [
1095
1106
  "id",
1096
1107
  "phase",
@@ -1106,7 +1117,7 @@
1106
1117
  "name": "SystemDefinition",
1107
1118
  "kind": "InterfaceDeclaration",
1108
1119
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1109
- "line": 716,
1120
+ "line": 720,
1110
1121
  "fields": [
1111
1122
  "kind"
1112
1123
  ]
@@ -1115,7 +1126,7 @@
1115
1126
  "name": "GameInput",
1116
1127
  "kind": "InterfaceDeclaration",
1117
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}",
1118
- "line": 719,
1129
+ "line": 723,
1119
1130
  "fields": [
1120
1131
  "id",
1121
1132
  "scene",
@@ -1140,7 +1151,7 @@
1140
1151
  "name": "GameDefinition",
1141
1152
  "kind": "InterfaceDeclaration",
1142
1153
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1143
- "line": 738,
1154
+ "line": 742,
1144
1155
  "fields": [
1145
1156
  "kind"
1146
1157
  ]
@@ -1149,7 +1160,7 @@
1149
1160
  "name": "GameInstance",
1150
1161
  "kind": "InterfaceDeclaration",
1151
1162
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1152
- "line": 741,
1163
+ "line": 745,
1153
1164
  "fields": [
1154
1165
  "update",
1155
1166
  "dispose"
@@ -1159,61 +1170,61 @@
1159
1170
  "name": "defineComponent",
1160
1171
  "kind": "FunctionDeclaration",
1161
1172
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1162
- "line": 745
1173
+ "line": 749
1163
1174
  },
1164
1175
  {
1165
1176
  "name": "defineMaterial",
1166
1177
  "kind": "FunctionDeclaration",
1167
1178
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1168
- "line": 751
1179
+ "line": 755
1169
1180
  },
1170
1181
  {
1171
1182
  "name": "definePostProcess",
1172
1183
  "kind": "FunctionDeclaration",
1173
1184
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1174
- "line": 754
1185
+ "line": 758
1175
1186
  },
1176
1187
  {
1177
1188
  "name": "defineCompute",
1178
1189
  "kind": "FunctionDeclaration",
1179
1190
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1180
- "line": 757
1191
+ "line": 761
1181
1192
  },
1182
1193
  {
1183
1194
  "name": "defineAsset",
1184
1195
  "kind": "FunctionDeclaration",
1185
1196
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1186
- "line": 760
1197
+ "line": 764
1187
1198
  },
1188
1199
  {
1189
1200
  "name": "definePrefab",
1190
1201
  "kind": "FunctionDeclaration",
1191
1202
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1192
- "line": 763
1203
+ "line": 767
1193
1204
  },
1194
1205
  {
1195
1206
  "name": "defineScene",
1196
1207
  "kind": "FunctionDeclaration",
1197
1208
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1198
- "line": 766
1209
+ "line": 770
1199
1210
  },
1200
1211
  {
1201
1212
  "name": "defineSystem",
1202
1213
  "kind": "FunctionDeclaration",
1203
1214
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1204
- "line": 769
1215
+ "line": 773
1205
1216
  },
1206
1217
  {
1207
1218
  "name": "defineGame",
1208
1219
  "kind": "FunctionDeclaration",
1209
1220
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1210
- "line": 772
1221
+ "line": 776
1211
1222
  },
1212
1223
  {
1213
1224
  "name": "instantiateGame",
1214
1225
  "kind": "FunctionDeclaration",
1215
1226
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1216
- "line": 776
1227
+ "line": 780
1217
1228
  }
1218
1229
  ],
1219
1230
  "installedDeclarations": "lib/sdk/index.d.ts",