pelican-engine 0.3.18 → 0.3.19

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.18",
4
+ "engineVersion": "0.3.19",
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.18\"",
11
+ "signature": "SDK_VERSION = \"0.3.19\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -370,7 +370,7 @@
370
370
  {
371
371
  "name": "ClothDefinition",
372
372
  "kind": "InterfaceDeclaration",
373
- "signature": "export interface ClothDefinition {\n id: string;\n points: readonly Vec3[];\n triangles: readonly ClothTriangle[];\n /** Kilograms per movable particle. */\n mass: number;\n radius?: number;\n fixedDt?: number;\n autoStep?: boolean;\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n /** Distance-based bending approximation across shared triangle edges; defaults to true. */\n bending?: boolean;\n anchors?: readonly { index: number; position: Vec3 }[];\n visual?: ClothVisualOptions;\n}",
373
+ "signature": "export interface ClothDefinition {\n id: string;\n points: readonly Vec3[];\n triangles: readonly ClothTriangle[];\n /** Kilograms per movable particle. */\n mass: number;\n radius?: number;\n fixedDt?: number;\n autoStep?: boolean;\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n /** Distance-based bending approximation across shared triangle edges; defaults to true. */\n bending?: boolean;\n anchors?: readonly { index: number; position: Vec3 }[];\n visual?: ClothVisualOptions;\n /** Discrete non-adjacent particle self-contact; defaults to true for new cloth. */\n selfCollisions?: boolean;\n}",
374
374
  "line": 237,
375
375
  "fields": [
376
376
  "id",
@@ -386,14 +386,15 @@
386
386
  "gravity",
387
387
  "bending",
388
388
  "anchors",
389
- "visual"
389
+ "visual",
390
+ "selfCollisions"
390
391
  ]
391
392
  },
392
393
  {
393
394
  "name": "ClothContact",
394
395
  "kind": "InterfaceDeclaration",
395
396
  "signature": "export interface ClothContact { tick: number; particle: number; colliderId: string; penetration: number }",
396
- "line": 255,
397
+ "line": 257,
397
398
  "fields": [
398
399
  "tick",
399
400
  "particle",
@@ -401,20 +402,34 @@
401
402
  "penetration"
402
403
  ]
403
404
  },
405
+ {
406
+ "name": "ClothSelfContact",
407
+ "kind": "InterfaceDeclaration",
408
+ "signature": "export interface ClothSelfContact { tick: number; firstParticle: number; secondParticle: number; penetration: number }",
409
+ "line": 258,
410
+ "fields": [
411
+ "tick",
412
+ "firstParticle",
413
+ "secondParticle",
414
+ "penetration"
415
+ ]
416
+ },
404
417
  {
405
418
  "name": "ClothState",
406
419
  "kind": "InterfaceDeclaration",
407
- "signature": "export interface ClothState {\n tick: number; simulatedSeconds: number; disposed: boolean;\n positions: Vec3[]; velocities: Vec3[]; triangles: ClothTriangle[];\n anchors: { index: number; position: Vec3 }[];\n contacts: ClothContact[];\n maxDistanceError: number;\n resources: { particles: number; triangles: number; constraints: number; anchors: number; colliders: number };\n}",
408
- "line": 256,
420
+ "signature": "export interface ClothState {\n tick: number; simulatedSeconds: number; disposed: boolean; selfCollisions: boolean;\n positions: Vec3[]; velocities: Vec3[]; triangles: ClothTriangle[];\n anchors: { index: number; position: Vec3 }[];\n contacts: ClothContact[]; selfContacts: ClothSelfContact[];\n maxDistanceError: number;\n resources: { particles: number; triangles: number; constraints: number; anchors: number; colliders: number };\n}",
421
+ "line": 259,
409
422
  "fields": [
410
423
  "tick",
411
424
  "simulatedSeconds",
412
425
  "disposed",
426
+ "selfCollisions",
413
427
  "positions",
414
428
  "velocities",
415
429
  "triangles",
416
430
  "anchors",
417
431
  "contacts",
432
+ "selfContacts",
418
433
  "maxDistanceError",
419
434
  "resources"
420
435
  ]
@@ -423,7 +438,7 @@
423
438
  "name": "ClothVisualState",
424
439
  "kind": "InterfaceDeclaration",
425
440
  "signature": "export interface ClothVisualState {\n id: string; material: string; positions: Vec3[]; triangles: ClothTriangle[];\n uvs: Vec2[]; castShadow: boolean; receiveShadow: boolean;\n}",
426
- "line": 264,
441
+ "line": 267,
427
442
  "fields": [
428
443
  "id",
429
444
  "material",
@@ -438,7 +453,7 @@
438
453
  "name": "ClothService",
439
454
  "kind": "InterfaceDeclaration",
440
455
  "signature": "export interface ClothService {\n create(definition: ClothDefinition): void;\n /** Explicit ticks for manual cloth only; automatic cloth rejects this call. */\n step(id: string, ticks?: number): ClothState;\n inspect(id: string): ClothState;\n visuals(): readonly ClothVisualState[];\n setColliders(id: string, colliders: readonly ClothCollider[]): 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}",
441
- "line": 268,
456
+ "line": 271,
442
457
  "fields": [
443
458
  "create",
444
459
  "step",
@@ -456,7 +471,7 @@
456
471
  "name": "NavigationCell",
457
472
  "kind": "InterfaceDeclaration",
458
473
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
459
- "line": 284,
474
+ "line": 287,
460
475
  "fields": [
461
476
  "x",
462
477
  "y"
@@ -466,7 +481,7 @@
466
481
  "name": "NavigationObstacleUpdate",
467
482
  "kind": "InterfaceDeclaration",
468
483
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
469
- "line": 286,
484
+ "line": 289,
470
485
  "fields": [
471
486
  "cell",
472
487
  "blocked"
@@ -476,7 +491,7 @@
476
491
  "name": "NavigationGrid",
477
492
  "kind": "InterfaceDeclaration",
478
493
  "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}",
479
- "line": 287,
494
+ "line": 290,
480
495
  "fields": [
481
496
  "id",
482
497
  "owner",
@@ -490,7 +505,7 @@
490
505
  "name": "NavigationService",
491
506
  "kind": "InterfaceDeclaration",
492
507
  "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}",
493
- "line": 296,
508
+ "line": 299,
494
509
  "fields": [
495
510
  "createGrid",
496
511
  "getGrid",
@@ -506,13 +521,13 @@
506
521
  "name": "RenderMode",
507
522
  "kind": "TypeAliasDeclaration",
508
523
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
509
- "line": 308
524
+ "line": 311
510
525
  },
511
526
  {
512
527
  "name": "RenderCapabilities",
513
528
  "kind": "InterfaceDeclaration",
514
529
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
515
- "line": 309,
530
+ "line": 312,
516
531
  "fields": [
517
532
  "backend",
518
533
  "compute",
@@ -523,7 +538,7 @@
523
538
  "name": "RenderSettings",
524
539
  "kind": "InterfaceDeclaration",
525
540
  "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}",
526
- "line": 314,
541
+ "line": 317,
527
542
  "fields": [
528
543
  "mode",
529
544
  "samplesPerFrame",
@@ -540,7 +555,7 @@
540
555
  "name": "RenderService",
541
556
  "kind": "InterfaceDeclaration",
542
557
  "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}",
543
- "line": 325,
558
+ "line": 328,
544
559
  "fields": [
545
560
  "configure",
546
561
  "state",
@@ -556,7 +571,7 @@
556
571
  "name": "MaterialBufferInput",
557
572
  "kind": "InterfaceDeclaration",
558
573
  "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}",
559
- "line": 335,
574
+ "line": 338,
560
575
  "fields": [
561
576
  "name",
562
577
  "type",
@@ -568,7 +583,7 @@
568
583
  "name": "RenderBufferReference",
569
584
  "kind": "InterfaceDeclaration",
570
585
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
571
- "line": 344,
586
+ "line": 347,
572
587
  "fields": [
573
588
  "id",
574
589
  "type",
@@ -579,7 +594,7 @@
579
594
  "name": "RenderBufferBindings",
580
595
  "kind": "InterfaceDeclaration",
581
596
  "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}",
582
- "line": 349,
597
+ "line": 352,
583
598
  "fields": [
584
599
  "bind",
585
600
  "unbind",
@@ -590,7 +605,7 @@
590
605
  "name": "MaterialTextureInput",
591
606
  "kind": "InterfaceDeclaration",
592
607
  "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}",
593
- "line": 354,
608
+ "line": 357,
594
609
  "fields": [
595
610
  "texture",
596
611
  "width",
@@ -601,7 +616,7 @@
601
616
  "name": "RenderTextureReference",
602
617
  "kind": "InterfaceDeclaration",
603
618
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
604
- "line": 360,
619
+ "line": 363,
605
620
  "fields": [
606
621
  "id",
607
622
  "format"
@@ -611,7 +626,7 @@
611
626
  "name": "RenderTextureBindings",
612
627
  "kind": "InterfaceDeclaration",
613
628
  "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}",
614
- "line": 364,
629
+ "line": 367,
615
630
  "fields": [
616
631
  "bind",
617
632
  "unbind",
@@ -622,7 +637,7 @@
622
637
  "name": "PostProcessState",
623
638
  "kind": "InterfaceDeclaration",
624
639
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
625
- "line": 369,
640
+ "line": 372,
626
641
  "fields": [
627
642
  "id",
628
643
  "enabled",
@@ -633,7 +648,7 @@
633
648
  "name": "PostProcessService",
634
649
  "kind": "InterfaceDeclaration",
635
650
  "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}",
636
- "line": 374,
651
+ "line": 377,
637
652
  "fields": [
638
653
  "buffers",
639
654
  "textures",
@@ -647,7 +662,7 @@
647
662
  "name": "ComputeBufferHandle",
648
663
  "kind": "InterfaceDeclaration",
649
664
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
650
- "line": 384,
665
+ "line": 387,
651
666
  "fields": [
652
667
  "owner",
653
668
  "index",
@@ -658,7 +673,7 @@
658
673
  "name": "ComputeTaskHandle",
659
674
  "kind": "InterfaceDeclaration",
660
675
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
661
- "line": 389,
676
+ "line": 392,
662
677
  "fields": [
663
678
  "owner",
664
679
  "id"
@@ -668,7 +683,7 @@
668
683
  "name": "ComputeBufferInput",
669
684
  "kind": "InterfaceDeclaration",
670
685
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
671
- "line": 393,
686
+ "line": 396,
672
687
  "fields": [
673
688
  "id",
674
689
  "type",
@@ -680,7 +695,7 @@
680
695
  "name": "ComputeTextureHandle",
681
696
  "kind": "InterfaceDeclaration",
682
697
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
683
- "line": 399,
698
+ "line": 402,
684
699
  "fields": [
685
700
  "owner",
686
701
  "index",
@@ -692,7 +707,7 @@
692
707
  "name": "ComputeTextureSize",
693
708
  "kind": "InterfaceDeclaration",
694
709
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
695
- "line": 405,
710
+ "line": 408,
696
711
  "fields": [
697
712
  "width",
698
713
  "height"
@@ -702,7 +717,7 @@
702
717
  "name": "ComputeTextureDataInput",
703
718
  "kind": "InterfaceDeclaration",
704
719
  "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}",
705
- "line": 409,
720
+ "line": 412,
706
721
  "fields": [
707
722
  "id",
708
723
  "data",
@@ -713,7 +728,7 @@
713
728
  "name": "ComputeTextureAssetInput",
714
729
  "kind": "InterfaceDeclaration",
715
730
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
716
- "line": 415,
731
+ "line": 418,
717
732
  "fields": [
718
733
  "id",
719
734
  "asset",
@@ -726,13 +741,13 @@
726
741
  "name": "ComputeTextureInput",
727
742
  "kind": "TypeAliasDeclaration",
728
743
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
729
- "line": 422
744
+ "line": 425
730
745
  },
731
746
  {
732
747
  "name": "ComputeTextureBinding",
733
748
  "kind": "InterfaceDeclaration",
734
749
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
735
- "line": 423,
750
+ "line": 426,
736
751
  "fields": [
737
752
  "name",
738
753
  "filter",
@@ -744,7 +759,7 @@
744
759
  "name": "ComputeDispatchInput",
745
760
  "kind": "InterfaceDeclaration",
746
761
  "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}",
747
- "line": 429,
762
+ "line": 432,
748
763
  "fields": [
749
764
  "output",
750
765
  "bindings",
@@ -758,7 +773,7 @@
758
773
  "name": "ComputeTaskState",
759
774
  "kind": "InterfaceDeclaration",
760
775
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
761
- "line": 441,
776
+ "line": 444,
762
777
  "fields": [
763
778
  "status",
764
779
  "error"
@@ -768,7 +783,7 @@
768
783
  "name": "ComputeService",
769
784
  "kind": "InterfaceDeclaration",
770
785
  "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}",
771
- "line": 445,
786
+ "line": 448,
772
787
  "fields": [
773
788
  "createTexture",
774
789
  "resolveTexture",
@@ -793,7 +808,7 @@
793
808
  "name": "InputService",
794
809
  "kind": "InterfaceDeclaration",
795
810
  "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}",
796
- "line": 465,
811
+ "line": 468,
797
812
  "fields": [
798
813
  "held",
799
814
  "pressed",
@@ -805,7 +820,7 @@
805
820
  "name": "PhysicsService",
806
821
  "kind": "InterfaceDeclaration",
807
822
  "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}",
808
- "line": 471,
823
+ "line": 474,
809
824
  "fields": [
810
825
  "moveCharacter",
811
826
  "grounded",
@@ -824,7 +839,7 @@
824
839
  "name": "AnimationService",
825
840
  "kind": "InterfaceDeclaration",
826
841
  "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}",
827
- "line": 493,
842
+ "line": 496,
828
843
  "fields": [
829
844
  "play",
830
845
  "state"
@@ -834,7 +849,7 @@
834
849
  "name": "CameraService",
835
850
  "kind": "InterfaceDeclaration",
836
851
  "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}",
837
- "line": 505,
852
+ "line": 508,
838
853
  "fields": [
839
854
  "follow",
840
855
  "orbit"
@@ -844,7 +859,7 @@
844
859
  "name": "UIService",
845
860
  "kind": "InterfaceDeclaration",
846
861
  "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}",
847
- "line": 518,
862
+ "line": 521,
848
863
  "fields": [
849
864
  "setText",
850
865
  "setProgress",
@@ -855,7 +870,7 @@
855
870
  "name": "AudioService",
856
871
  "kind": "InterfaceDeclaration",
857
872
  "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}",
858
- "line": 523,
873
+ "line": 526,
859
874
  "fields": [
860
875
  "play",
861
876
  "stop",
@@ -870,7 +885,7 @@
870
885
  "name": "StorageService",
871
886
  "kind": "InterfaceDeclaration",
872
887
  "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}",
873
- "line": 538,
888
+ "line": 541,
874
889
  "fields": [
875
890
  "save",
876
891
  "load",
@@ -881,7 +896,7 @@
881
896
  "name": "SceneService",
882
897
  "kind": "InterfaceDeclaration",
883
898
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
884
- "line": 547,
899
+ "line": 550,
885
900
  "fields": [
886
901
  "current",
887
902
  "load"
@@ -891,7 +906,7 @@
891
906
  "name": "ModelDefinition",
892
907
  "kind": "InterfaceDeclaration",
893
908
  "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}",
894
- "line": 551,
909
+ "line": 554,
895
910
  "fields": [
896
911
  "material",
897
912
  "materialSlots",
@@ -908,7 +923,7 @@
908
923
  "name": "RigidBodyDefinition",
909
924
  "kind": "InterfaceDeclaration",
910
925
  "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}",
911
- "line": 564,
926
+ "line": 567,
912
927
  "fields": [
913
928
  "type",
914
929
  "collider",
@@ -922,7 +937,7 @@
922
937
  "name": "CharacterDefinition",
923
938
  "kind": "InterfaceDeclaration",
924
939
  "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}",
925
- "line": 578,
940
+ "line": 581,
926
941
  "fields": [
927
942
  "radius",
928
943
  "height",
@@ -935,7 +950,7 @@
935
950
  "name": "UIElementDefinition",
936
951
  "kind": "InterfaceDeclaration",
937
952
  "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}",
938
- "line": 586,
953
+ "line": 589,
939
954
  "fields": [
940
955
  "id",
941
956
  "kind",
@@ -954,7 +969,7 @@
954
969
  "name": "SoundDefinition",
955
970
  "kind": "InterfaceDeclaration",
956
971
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
957
- "line": 599,
972
+ "line": 602,
958
973
  "fields": [
959
974
  "id",
960
975
  "asset",
@@ -967,7 +982,7 @@
967
982
  "name": "AudioBusDefinition",
968
983
  "kind": "InterfaceDeclaration",
969
984
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
970
- "line": 606,
985
+ "line": 609,
971
986
  "fields": [
972
987
  "id",
973
988
  "volume"
@@ -977,43 +992,43 @@
977
992
  "name": "SYSTEM_PHASES",
978
993
  "kind": "constant",
979
994
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
980
- "line": 610
995
+ "line": 613
981
996
  },
982
997
  {
983
998
  "name": "SystemPhase",
984
999
  "kind": "TypeAliasDeclaration",
985
1000
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
986
- "line": 618
1001
+ "line": 621
987
1002
  },
988
1003
  {
989
1004
  "name": "Geometry",
990
1005
  "kind": "TypeAliasDeclaration",
991
1006
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
992
- "line": 619
1007
+ "line": 622
993
1008
  },
994
1009
  {
995
1010
  "name": "GRAPH_TYPES",
996
1011
  "kind": "constant",
997
1012
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
998
- "line": 623
1013
+ "line": 626
999
1014
  },
1000
1015
  {
1001
1016
  "name": "GraphType",
1002
1017
  "kind": "TypeAliasDeclaration",
1003
1018
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
1004
- "line": 624
1019
+ "line": 627
1005
1020
  },
1006
1021
  {
1007
1022
  "name": "GraphValue",
1008
1023
  "kind": "TypeAliasDeclaration",
1009
1024
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
1010
- "line": 625
1025
+ "line": 628
1011
1026
  },
1012
1027
  {
1013
1028
  "name": "GraphParameter",
1014
1029
  "kind": "InterfaceDeclaration",
1015
1030
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
1016
- "line": 626,
1031
+ "line": 629,
1017
1032
  "fields": [
1018
1033
  "name",
1019
1034
  "type",
@@ -1024,31 +1039,31 @@
1024
1039
  "name": "GRAPH_INPUT_TYPES",
1025
1040
  "kind": "constant",
1026
1041
  "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",
1027
- "line": 631
1042
+ "line": 634
1028
1043
  },
1029
1044
  {
1030
1045
  "name": "GraphInputName",
1031
1046
  "kind": "TypeAliasDeclaration",
1032
1047
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
1033
- "line": 638
1048
+ "line": 641
1034
1049
  },
1035
1050
  {
1036
1051
  "name": "GRAPH_OPERATIONS",
1037
1052
  "kind": "constant",
1038
1053
  "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",
1039
- "line": 639
1054
+ "line": 642
1040
1055
  },
1041
1056
  {
1042
1057
  "name": "GraphNode",
1043
1058
  "kind": "TypeAliasDeclaration",
1044
1059
  "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 };",
1045
- "line": 644
1060
+ "line": 647
1046
1061
  },
1047
1062
  {
1048
1063
  "name": "Graph",
1049
1064
  "kind": "InterfaceDeclaration",
1050
1065
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
1051
- "line": 664,
1066
+ "line": 667,
1052
1067
  "fields": [
1053
1068
  "nodes",
1054
1069
  "output",
@@ -1059,7 +1074,7 @@
1059
1074
  "name": "MaterialGraphs",
1060
1075
  "kind": "InterfaceDeclaration",
1061
1076
  "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}",
1062
- "line": 669,
1077
+ "line": 672,
1063
1078
  "fields": [
1064
1079
  "baseColor",
1065
1080
  "emissive",
@@ -1073,7 +1088,7 @@
1073
1088
  "name": "VertexGraphs",
1074
1089
  "kind": "InterfaceDeclaration",
1075
1090
  "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}",
1076
- "line": 678,
1091
+ "line": 681,
1077
1092
  "fields": [
1078
1093
  "position",
1079
1094
  "normal"
@@ -1083,7 +1098,7 @@
1083
1098
  "name": "MaterialInput",
1084
1099
  "kind": "InterfaceDeclaration",
1085
1100
  "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}",
1086
- "line": 684,
1101
+ "line": 687,
1087
1102
  "fields": [
1088
1103
  "id",
1089
1104
  "color",
@@ -1112,7 +1127,7 @@
1112
1127
  "name": "MaterialDefinition",
1113
1128
  "kind": "InterfaceDeclaration",
1114
1129
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
1115
- "line": 711,
1130
+ "line": 714,
1116
1131
  "fields": [
1117
1132
  "kind"
1118
1133
  ]
@@ -1121,7 +1136,7 @@
1121
1136
  "name": "PostProcessInput",
1122
1137
  "kind": "InterfaceDeclaration",
1123
1138
  "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}",
1124
- "line": 714,
1139
+ "line": 717,
1125
1140
  "fields": [
1126
1141
  "id",
1127
1142
  "buffers",
@@ -1134,7 +1149,7 @@
1134
1149
  "name": "PostProcessDefinition",
1135
1150
  "kind": "InterfaceDeclaration",
1136
1151
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
1137
- "line": 722,
1152
+ "line": 725,
1138
1153
  "fields": [
1139
1154
  "kind"
1140
1155
  ]
@@ -1143,7 +1158,7 @@
1143
1158
  "name": "ComputeInput",
1144
1159
  "kind": "InterfaceDeclaration",
1145
1160
  "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}",
1146
- "line": 725,
1161
+ "line": 728,
1147
1162
  "fields": [
1148
1163
  "id",
1149
1164
  "graph",
@@ -1158,7 +1173,7 @@
1158
1173
  "name": "ComputeDefinition",
1159
1174
  "kind": "InterfaceDeclaration",
1160
1175
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
1161
- "line": 734,
1176
+ "line": 737,
1162
1177
  "fields": [
1163
1178
  "kind"
1164
1179
  ]
@@ -1167,7 +1182,7 @@
1167
1182
  "name": "AssetInput",
1168
1183
  "kind": "InterfaceDeclaration",
1169
1184
  "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}",
1170
- "line": 737,
1185
+ "line": 740,
1171
1186
  "fields": [
1172
1187
  "id",
1173
1188
  "path",
@@ -1182,7 +1197,7 @@
1182
1197
  "name": "AssetDefinition",
1183
1198
  "kind": "InterfaceDeclaration",
1184
1199
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
1185
- "line": 747,
1200
+ "line": 750,
1186
1201
  "fields": [
1187
1202
  "kind"
1188
1203
  ]
@@ -1191,7 +1206,7 @@
1191
1206
  "name": "MeshDefinition",
1192
1207
  "kind": "InterfaceDeclaration",
1193
1208
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
1194
- "line": 750,
1209
+ "line": 753,
1195
1210
  "fields": [
1196
1211
  "geometry",
1197
1212
  "material",
@@ -1203,7 +1218,7 @@
1203
1218
  "name": "LightDefinition",
1204
1219
  "kind": "InterfaceDeclaration",
1205
1220
  "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}",
1206
- "line": 756,
1221
+ "line": 759,
1207
1222
  "fields": [
1208
1223
  "kind",
1209
1224
  "color",
@@ -1217,7 +1232,7 @@
1217
1232
  "name": "EntityInput",
1218
1233
  "kind": "InterfaceDeclaration",
1219
1234
  "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}",
1220
- "line": 771,
1235
+ "line": 774,
1221
1236
  "fields": [
1222
1237
  "id",
1223
1238
  "prefab",
@@ -1235,7 +1250,7 @@
1235
1250
  "name": "PrefabInput",
1236
1251
  "kind": "InterfaceDeclaration",
1237
1252
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
1238
- "line": 783,
1253
+ "line": 786,
1239
1254
  "fields": [
1240
1255
  "extends"
1241
1256
  ]
@@ -1244,7 +1259,7 @@
1244
1259
  "name": "PrefabDefinition",
1245
1260
  "kind": "InterfaceDeclaration",
1246
1261
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
1247
- "line": 786,
1262
+ "line": 789,
1248
1263
  "fields": [
1249
1264
  "kind"
1250
1265
  ]
@@ -1253,7 +1268,7 @@
1253
1268
  "name": "SceneInput",
1254
1269
  "kind": "InterfaceDeclaration",
1255
1270
  "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}",
1256
- "line": 789,
1271
+ "line": 792,
1257
1272
  "fields": [
1258
1273
  "id",
1259
1274
  "camera",
@@ -1267,7 +1282,7 @@
1267
1282
  "name": "SceneDefinition",
1268
1283
  "kind": "InterfaceDeclaration",
1269
1284
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1270
- "line": 814,
1285
+ "line": 817,
1271
1286
  "fields": [
1272
1287
  "kind"
1273
1288
  ]
@@ -1276,7 +1291,7 @@
1276
1291
  "name": "SystemInput",
1277
1292
  "kind": "InterfaceDeclaration",
1278
1293
  "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}",
1279
- "line": 817,
1294
+ "line": 820,
1280
1295
  "fields": [
1281
1296
  "id",
1282
1297
  "phase",
@@ -1292,7 +1307,7 @@
1292
1307
  "name": "SystemDefinition",
1293
1308
  "kind": "InterfaceDeclaration",
1294
1309
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1295
- "line": 827,
1310
+ "line": 830,
1296
1311
  "fields": [
1297
1312
  "kind"
1298
1313
  ]
@@ -1301,7 +1316,7 @@
1301
1316
  "name": "GameInput",
1302
1317
  "kind": "InterfaceDeclaration",
1303
1318
  "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}",
1304
- "line": 830,
1319
+ "line": 833,
1305
1320
  "fields": [
1306
1321
  "id",
1307
1322
  "scene",
@@ -1326,7 +1341,7 @@
1326
1341
  "name": "GameDefinition",
1327
1342
  "kind": "InterfaceDeclaration",
1328
1343
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1329
- "line": 849,
1344
+ "line": 852,
1330
1345
  "fields": [
1331
1346
  "kind"
1332
1347
  ]
@@ -1335,7 +1350,7 @@
1335
1350
  "name": "GameInstance",
1336
1351
  "kind": "InterfaceDeclaration",
1337
1352
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1338
- "line": 852,
1353
+ "line": 855,
1339
1354
  "fields": [
1340
1355
  "update",
1341
1356
  "dispose"
@@ -1345,61 +1360,61 @@
1345
1360
  "name": "defineComponent",
1346
1361
  "kind": "FunctionDeclaration",
1347
1362
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1348
- "line": 856
1363
+ "line": 859
1349
1364
  },
1350
1365
  {
1351
1366
  "name": "defineMaterial",
1352
1367
  "kind": "FunctionDeclaration",
1353
1368
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1354
- "line": 862
1369
+ "line": 865
1355
1370
  },
1356
1371
  {
1357
1372
  "name": "definePostProcess",
1358
1373
  "kind": "FunctionDeclaration",
1359
1374
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1360
- "line": 865
1375
+ "line": 868
1361
1376
  },
1362
1377
  {
1363
1378
  "name": "defineCompute",
1364
1379
  "kind": "FunctionDeclaration",
1365
1380
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1366
- "line": 868
1381
+ "line": 871
1367
1382
  },
1368
1383
  {
1369
1384
  "name": "defineAsset",
1370
1385
  "kind": "FunctionDeclaration",
1371
1386
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1372
- "line": 871
1387
+ "line": 874
1373
1388
  },
1374
1389
  {
1375
1390
  "name": "definePrefab",
1376
1391
  "kind": "FunctionDeclaration",
1377
1392
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1378
- "line": 874
1393
+ "line": 877
1379
1394
  },
1380
1395
  {
1381
1396
  "name": "defineScene",
1382
1397
  "kind": "FunctionDeclaration",
1383
1398
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1384
- "line": 877
1399
+ "line": 880
1385
1400
  },
1386
1401
  {
1387
1402
  "name": "defineSystem",
1388
1403
  "kind": "FunctionDeclaration",
1389
1404
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1390
- "line": 880
1405
+ "line": 883
1391
1406
  },
1392
1407
  {
1393
1408
  "name": "defineGame",
1394
1409
  "kind": "FunctionDeclaration",
1395
1410
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1396
- "line": 883
1411
+ "line": 886
1397
1412
  },
1398
1413
  {
1399
1414
  "name": "instantiateGame",
1400
1415
  "kind": "FunctionDeclaration",
1401
1416
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1402
- "line": 887
1417
+ "line": 890
1403
1418
  }
1404
1419
  ],
1405
1420
  "installedDeclarations": "lib/sdk/index.d.ts",