pelican-engine 0.3.22 → 0.3.24

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.22",
4
+ "engineVersion": "0.3.24",
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.22\"",
11
+ "signature": "SDK_VERSION = \"0.3.24\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -368,10 +368,20 @@
368
368
  ]
369
369
  },
370
370
  {
371
- "name": "ClothDefinition",
371
+ "name": "ClothBodyCollider",
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 /** Discrete non-adjacent particle self-contact; defaults to true for new cloth. */\n selfCollisions?: boolean;\n /** Sphere triangle-surface contacts; defaults to true for new cloth. */\n surfaceCollisions?: boolean;\n}",
373
+ "signature": "export interface ClothBodyCollider { readonly id: string; readonly entity: string }",
374
374
  "line": 237,
375
+ "fields": [
376
+ "id",
377
+ "entity"
378
+ ]
379
+ },
380
+ {
381
+ "name": "ClothDefinition",
382
+ "kind": "InterfaceDeclaration",
383
+ "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 /** Sphere triangle-surface contacts; defaults to true for new cloth. */\n surfaceCollisions?: boolean;\n /** Optional live dynamic sphere bindings; sampled after the physics phase, one-way only. */\n bodyColliders?: readonly ClothBodyCollider[];\n}",
384
+ "line": 238,
375
385
  "fields": [
376
386
  "id",
377
387
  "points",
@@ -388,14 +398,15 @@
388
398
  "anchors",
389
399
  "visual",
390
400
  "selfCollisions",
391
- "surfaceCollisions"
401
+ "surfaceCollisions",
402
+ "bodyColliders"
392
403
  ]
393
404
  },
394
405
  {
395
406
  "name": "ClothContact",
396
407
  "kind": "InterfaceDeclaration",
397
408
  "signature": "export interface ClothContact { tick: number; particle: number; colliderId: string; penetration: number }",
398
- "line": 259,
409
+ "line": 262,
399
410
  "fields": [
400
411
  "tick",
401
412
  "particle",
@@ -407,7 +418,7 @@
407
418
  "name": "ClothSelfContact",
408
419
  "kind": "InterfaceDeclaration",
409
420
  "signature": "export interface ClothSelfContact { tick: number; firstParticle: number; secondParticle: number; penetration: number }",
410
- "line": 260,
421
+ "line": 263,
411
422
  "fields": [
412
423
  "tick",
413
424
  "firstParticle",
@@ -419,7 +430,7 @@
419
430
  "name": "ClothSurfaceContact",
420
431
  "kind": "InterfaceDeclaration",
421
432
  "signature": "export interface ClothSurfaceContact { tick: number; triangle: number; colliderId: string; penetration: number; barycentric: [number, number, number] }",
422
- "line": 261,
433
+ "line": 264,
423
434
  "fields": [
424
435
  "tick",
425
436
  "triangle",
@@ -432,7 +443,7 @@
432
443
  "name": "ClothState",
433
444
  "kind": "InterfaceDeclaration",
434
445
  "signature": "export interface ClothState {\n tick: number; simulatedSeconds: number; disposed: boolean; selfCollisions: boolean; surfaceCollisions: boolean;\n positions: Vec3[]; velocities: Vec3[]; triangles: ClothTriangle[];\n anchors: { index: number; position: Vec3 }[];\n contacts: ClothContact[]; selfContacts: ClothSelfContact[]; surfaceContacts: ClothSurfaceContact[];\n maxDistanceError: number;\n resources: { particles: number; triangles: number; constraints: number; anchors: number; colliders: number };\n}",
435
- "line": 262,
446
+ "line": 265,
436
447
  "fields": [
437
448
  "tick",
438
449
  "simulatedSeconds",
@@ -454,7 +465,7 @@
454
465
  "name": "ClothVisualState",
455
466
  "kind": "InterfaceDeclaration",
456
467
  "signature": "export interface ClothVisualState {\n id: string; material: string; positions: Vec3[]; triangles: ClothTriangle[];\n uvs: Vec2[]; castShadow: boolean; receiveShadow: boolean;\n}",
457
- "line": 270,
468
+ "line": 273,
458
469
  "fields": [
459
470
  "id",
460
471
  "material",
@@ -469,7 +480,7 @@
469
480
  "name": "ClothService",
470
481
  "kind": "InterfaceDeclaration",
471
482
  "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}",
472
- "line": 274,
483
+ "line": 277,
473
484
  "fields": [
474
485
  "create",
475
486
  "step",
@@ -487,7 +498,7 @@
487
498
  "name": "NavigationCell",
488
499
  "kind": "InterfaceDeclaration",
489
500
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
490
- "line": 290,
501
+ "line": 293,
491
502
  "fields": [
492
503
  "x",
493
504
  "y"
@@ -497,7 +508,7 @@
497
508
  "name": "NavigationObstacleUpdate",
498
509
  "kind": "InterfaceDeclaration",
499
510
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
500
- "line": 292,
511
+ "line": 295,
501
512
  "fields": [
502
513
  "cell",
503
514
  "blocked"
@@ -507,7 +518,7 @@
507
518
  "name": "NavigationGrid",
508
519
  "kind": "InterfaceDeclaration",
509
520
  "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}",
510
- "line": 293,
521
+ "line": 296,
511
522
  "fields": [
512
523
  "id",
513
524
  "owner",
@@ -521,7 +532,7 @@
521
532
  "name": "NavigationService",
522
533
  "kind": "InterfaceDeclaration",
523
534
  "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}",
524
- "line": 302,
535
+ "line": 305,
525
536
  "fields": [
526
537
  "createGrid",
527
538
  "getGrid",
@@ -537,13 +548,13 @@
537
548
  "name": "RenderMode",
538
549
  "kind": "TypeAliasDeclaration",
539
550
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
540
- "line": 314
551
+ "line": 317
541
552
  },
542
553
  {
543
554
  "name": "RenderCapabilities",
544
555
  "kind": "InterfaceDeclaration",
545
556
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
546
- "line": 315,
557
+ "line": 318,
547
558
  "fields": [
548
559
  "backend",
549
560
  "compute",
@@ -554,7 +565,7 @@
554
565
  "name": "RenderSettings",
555
566
  "kind": "InterfaceDeclaration",
556
567
  "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}",
557
- "line": 320,
568
+ "line": 323,
558
569
  "fields": [
559
570
  "mode",
560
571
  "samplesPerFrame",
@@ -571,7 +582,7 @@
571
582
  "name": "RenderService",
572
583
  "kind": "InterfaceDeclaration",
573
584
  "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}",
574
- "line": 331,
585
+ "line": 334,
575
586
  "fields": [
576
587
  "configure",
577
588
  "state",
@@ -587,7 +598,7 @@
587
598
  "name": "MaterialBufferInput",
588
599
  "kind": "InterfaceDeclaration",
589
600
  "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}",
590
- "line": 341,
601
+ "line": 344,
591
602
  "fields": [
592
603
  "name",
593
604
  "type",
@@ -599,7 +610,7 @@
599
610
  "name": "RenderBufferReference",
600
611
  "kind": "InterfaceDeclaration",
601
612
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
602
- "line": 350,
613
+ "line": 353,
603
614
  "fields": [
604
615
  "id",
605
616
  "type",
@@ -610,7 +621,7 @@
610
621
  "name": "RenderBufferBindings",
611
622
  "kind": "InterfaceDeclaration",
612
623
  "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}",
613
- "line": 355,
624
+ "line": 358,
614
625
  "fields": [
615
626
  "bind",
616
627
  "unbind",
@@ -621,7 +632,7 @@
621
632
  "name": "MaterialTextureInput",
622
633
  "kind": "InterfaceDeclaration",
623
634
  "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}",
624
- "line": 360,
635
+ "line": 363,
625
636
  "fields": [
626
637
  "texture",
627
638
  "width",
@@ -632,7 +643,7 @@
632
643
  "name": "RenderTextureReference",
633
644
  "kind": "InterfaceDeclaration",
634
645
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
635
- "line": 366,
646
+ "line": 369,
636
647
  "fields": [
637
648
  "id",
638
649
  "format"
@@ -642,7 +653,7 @@
642
653
  "name": "RenderTextureBindings",
643
654
  "kind": "InterfaceDeclaration",
644
655
  "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}",
645
- "line": 370,
656
+ "line": 373,
646
657
  "fields": [
647
658
  "bind",
648
659
  "unbind",
@@ -653,7 +664,7 @@
653
664
  "name": "PostProcessState",
654
665
  "kind": "InterfaceDeclaration",
655
666
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
656
- "line": 375,
667
+ "line": 378,
657
668
  "fields": [
658
669
  "id",
659
670
  "enabled",
@@ -664,7 +675,7 @@
664
675
  "name": "PostProcessService",
665
676
  "kind": "InterfaceDeclaration",
666
677
  "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}",
667
- "line": 380,
678
+ "line": 383,
668
679
  "fields": [
669
680
  "buffers",
670
681
  "textures",
@@ -678,7 +689,7 @@
678
689
  "name": "ComputeBufferHandle",
679
690
  "kind": "InterfaceDeclaration",
680
691
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
681
- "line": 390,
692
+ "line": 393,
682
693
  "fields": [
683
694
  "owner",
684
695
  "index",
@@ -689,7 +700,7 @@
689
700
  "name": "ComputeTaskHandle",
690
701
  "kind": "InterfaceDeclaration",
691
702
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
692
- "line": 395,
703
+ "line": 398,
693
704
  "fields": [
694
705
  "owner",
695
706
  "id"
@@ -699,7 +710,7 @@
699
710
  "name": "ComputeBufferInput",
700
711
  "kind": "InterfaceDeclaration",
701
712
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
702
- "line": 399,
713
+ "line": 402,
703
714
  "fields": [
704
715
  "id",
705
716
  "type",
@@ -711,7 +722,7 @@
711
722
  "name": "ComputeTextureHandle",
712
723
  "kind": "InterfaceDeclaration",
713
724
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
714
- "line": 405,
725
+ "line": 408,
715
726
  "fields": [
716
727
  "owner",
717
728
  "index",
@@ -723,7 +734,7 @@
723
734
  "name": "ComputeTextureSize",
724
735
  "kind": "InterfaceDeclaration",
725
736
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
726
- "line": 411,
737
+ "line": 414,
727
738
  "fields": [
728
739
  "width",
729
740
  "height"
@@ -733,7 +744,7 @@
733
744
  "name": "ComputeTextureDataInput",
734
745
  "kind": "InterfaceDeclaration",
735
746
  "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}",
736
- "line": 415,
747
+ "line": 418,
737
748
  "fields": [
738
749
  "id",
739
750
  "data",
@@ -744,7 +755,7 @@
744
755
  "name": "ComputeTextureAssetInput",
745
756
  "kind": "InterfaceDeclaration",
746
757
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
747
- "line": 421,
758
+ "line": 424,
748
759
  "fields": [
749
760
  "id",
750
761
  "asset",
@@ -757,13 +768,13 @@
757
768
  "name": "ComputeTextureInput",
758
769
  "kind": "TypeAliasDeclaration",
759
770
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
760
- "line": 428
771
+ "line": 431
761
772
  },
762
773
  {
763
774
  "name": "ComputeTextureBinding",
764
775
  "kind": "InterfaceDeclaration",
765
776
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
766
- "line": 429,
777
+ "line": 432,
767
778
  "fields": [
768
779
  "name",
769
780
  "filter",
@@ -775,7 +786,7 @@
775
786
  "name": "ComputeDispatchInput",
776
787
  "kind": "InterfaceDeclaration",
777
788
  "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}",
778
- "line": 435,
789
+ "line": 438,
779
790
  "fields": [
780
791
  "output",
781
792
  "bindings",
@@ -789,7 +800,7 @@
789
800
  "name": "ComputeTaskState",
790
801
  "kind": "InterfaceDeclaration",
791
802
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
792
- "line": 447,
803
+ "line": 450,
793
804
  "fields": [
794
805
  "status",
795
806
  "error"
@@ -799,7 +810,7 @@
799
810
  "name": "ComputeService",
800
811
  "kind": "InterfaceDeclaration",
801
812
  "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}",
802
- "line": 451,
813
+ "line": 454,
803
814
  "fields": [
804
815
  "createTexture",
805
816
  "resolveTexture",
@@ -824,7 +835,7 @@
824
835
  "name": "InputService",
825
836
  "kind": "InterfaceDeclaration",
826
837
  "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}",
827
- "line": 471,
838
+ "line": 474,
828
839
  "fields": [
829
840
  "held",
830
841
  "pressed",
@@ -836,7 +847,7 @@
836
847
  "name": "PhysicsService",
837
848
  "kind": "InterfaceDeclaration",
838
849
  "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}",
839
- "line": 477,
850
+ "line": 480,
840
851
  "fields": [
841
852
  "moveCharacter",
842
853
  "grounded",
@@ -855,7 +866,7 @@
855
866
  "name": "AnimationService",
856
867
  "kind": "InterfaceDeclaration",
857
868
  "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}",
858
- "line": 499,
869
+ "line": 502,
859
870
  "fields": [
860
871
  "play",
861
872
  "state"
@@ -865,7 +876,7 @@
865
876
  "name": "CameraService",
866
877
  "kind": "InterfaceDeclaration",
867
878
  "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}",
868
- "line": 511,
879
+ "line": 514,
869
880
  "fields": [
870
881
  "follow",
871
882
  "orbit"
@@ -875,7 +886,7 @@
875
886
  "name": "UIService",
876
887
  "kind": "InterfaceDeclaration",
877
888
  "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}",
878
- "line": 524,
889
+ "line": 527,
879
890
  "fields": [
880
891
  "setText",
881
892
  "setProgress",
@@ -886,7 +897,7 @@
886
897
  "name": "AudioService",
887
898
  "kind": "InterfaceDeclaration",
888
899
  "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}",
889
- "line": 529,
900
+ "line": 532,
890
901
  "fields": [
891
902
  "play",
892
903
  "stop",
@@ -901,7 +912,7 @@
901
912
  "name": "StorageService",
902
913
  "kind": "InterfaceDeclaration",
903
914
  "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}",
904
- "line": 544,
915
+ "line": 547,
905
916
  "fields": [
906
917
  "save",
907
918
  "load",
@@ -912,7 +923,7 @@
912
923
  "name": "SceneService",
913
924
  "kind": "InterfaceDeclaration",
914
925
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
915
- "line": 553,
926
+ "line": 556,
916
927
  "fields": [
917
928
  "current",
918
929
  "load"
@@ -922,7 +933,7 @@
922
933
  "name": "ModelDefinition",
923
934
  "kind": "InterfaceDeclaration",
924
935
  "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}",
925
- "line": 557,
936
+ "line": 560,
926
937
  "fields": [
927
938
  "material",
928
939
  "materialSlots",
@@ -939,7 +950,7 @@
939
950
  "name": "RigidBodyDefinition",
940
951
  "kind": "InterfaceDeclaration",
941
952
  "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}",
942
- "line": 570,
953
+ "line": 573,
943
954
  "fields": [
944
955
  "type",
945
956
  "collider",
@@ -953,7 +964,7 @@
953
964
  "name": "CharacterDefinition",
954
965
  "kind": "InterfaceDeclaration",
955
966
  "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}",
956
- "line": 584,
967
+ "line": 587,
957
968
  "fields": [
958
969
  "radius",
959
970
  "height",
@@ -966,7 +977,7 @@
966
977
  "name": "UIElementDefinition",
967
978
  "kind": "InterfaceDeclaration",
968
979
  "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}",
969
- "line": 592,
980
+ "line": 595,
970
981
  "fields": [
971
982
  "id",
972
983
  "kind",
@@ -985,7 +996,7 @@
985
996
  "name": "SoundDefinition",
986
997
  "kind": "InterfaceDeclaration",
987
998
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
988
- "line": 605,
999
+ "line": 608,
989
1000
  "fields": [
990
1001
  "id",
991
1002
  "asset",
@@ -998,7 +1009,7 @@
998
1009
  "name": "AudioBusDefinition",
999
1010
  "kind": "InterfaceDeclaration",
1000
1011
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
1001
- "line": 612,
1012
+ "line": 615,
1002
1013
  "fields": [
1003
1014
  "id",
1004
1015
  "volume"
@@ -1008,43 +1019,43 @@
1008
1019
  "name": "SYSTEM_PHASES",
1009
1020
  "kind": "constant",
1010
1021
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
1011
- "line": 616
1022
+ "line": 619
1012
1023
  },
1013
1024
  {
1014
1025
  "name": "SystemPhase",
1015
1026
  "kind": "TypeAliasDeclaration",
1016
1027
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
1017
- "line": 624
1028
+ "line": 627
1018
1029
  },
1019
1030
  {
1020
1031
  "name": "Geometry",
1021
1032
  "kind": "TypeAliasDeclaration",
1022
1033
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
1023
- "line": 625
1034
+ "line": 628
1024
1035
  },
1025
1036
  {
1026
1037
  "name": "GRAPH_TYPES",
1027
1038
  "kind": "constant",
1028
1039
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
1029
- "line": 629
1040
+ "line": 632
1030
1041
  },
1031
1042
  {
1032
1043
  "name": "GraphType",
1033
1044
  "kind": "TypeAliasDeclaration",
1034
1045
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
1035
- "line": 630
1046
+ "line": 633
1036
1047
  },
1037
1048
  {
1038
1049
  "name": "GraphValue",
1039
1050
  "kind": "TypeAliasDeclaration",
1040
1051
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
1041
- "line": 631
1052
+ "line": 634
1042
1053
  },
1043
1054
  {
1044
1055
  "name": "GraphParameter",
1045
1056
  "kind": "InterfaceDeclaration",
1046
1057
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
1047
- "line": 632,
1058
+ "line": 635,
1048
1059
  "fields": [
1049
1060
  "name",
1050
1061
  "type",
@@ -1055,31 +1066,31 @@
1055
1066
  "name": "GRAPH_INPUT_TYPES",
1056
1067
  "kind": "constant",
1057
1068
  "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",
1058
- "line": 637
1069
+ "line": 640
1059
1070
  },
1060
1071
  {
1061
1072
  "name": "GraphInputName",
1062
1073
  "kind": "TypeAliasDeclaration",
1063
1074
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
1064
- "line": 644
1075
+ "line": 647
1065
1076
  },
1066
1077
  {
1067
1078
  "name": "GRAPH_OPERATIONS",
1068
1079
  "kind": "constant",
1069
1080
  "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",
1070
- "line": 645
1081
+ "line": 648
1071
1082
  },
1072
1083
  {
1073
1084
  "name": "GraphNode",
1074
1085
  "kind": "TypeAliasDeclaration",
1075
1086
  "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 };",
1076
- "line": 650
1087
+ "line": 653
1077
1088
  },
1078
1089
  {
1079
1090
  "name": "Graph",
1080
1091
  "kind": "InterfaceDeclaration",
1081
1092
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
1082
- "line": 670,
1093
+ "line": 673,
1083
1094
  "fields": [
1084
1095
  "nodes",
1085
1096
  "output",
@@ -1090,7 +1101,7 @@
1090
1101
  "name": "MaterialGraphs",
1091
1102
  "kind": "InterfaceDeclaration",
1092
1103
  "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}",
1093
- "line": 675,
1104
+ "line": 678,
1094
1105
  "fields": [
1095
1106
  "baseColor",
1096
1107
  "emissive",
@@ -1104,7 +1115,7 @@
1104
1115
  "name": "VertexGraphs",
1105
1116
  "kind": "InterfaceDeclaration",
1106
1117
  "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}",
1107
- "line": 684,
1118
+ "line": 687,
1108
1119
  "fields": [
1109
1120
  "position",
1110
1121
  "normal"
@@ -1114,7 +1125,7 @@
1114
1125
  "name": "MaterialInput",
1115
1126
  "kind": "InterfaceDeclaration",
1116
1127
  "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}",
1117
- "line": 690,
1128
+ "line": 693,
1118
1129
  "fields": [
1119
1130
  "id",
1120
1131
  "color",
@@ -1143,7 +1154,7 @@
1143
1154
  "name": "MaterialDefinition",
1144
1155
  "kind": "InterfaceDeclaration",
1145
1156
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
1146
- "line": 717,
1157
+ "line": 720,
1147
1158
  "fields": [
1148
1159
  "kind"
1149
1160
  ]
@@ -1152,7 +1163,7 @@
1152
1163
  "name": "PostProcessInput",
1153
1164
  "kind": "InterfaceDeclaration",
1154
1165
  "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}",
1155
- "line": 720,
1166
+ "line": 723,
1156
1167
  "fields": [
1157
1168
  "id",
1158
1169
  "buffers",
@@ -1165,7 +1176,7 @@
1165
1176
  "name": "PostProcessDefinition",
1166
1177
  "kind": "InterfaceDeclaration",
1167
1178
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
1168
- "line": 728,
1179
+ "line": 731,
1169
1180
  "fields": [
1170
1181
  "kind"
1171
1182
  ]
@@ -1174,7 +1185,7 @@
1174
1185
  "name": "ComputeInput",
1175
1186
  "kind": "InterfaceDeclaration",
1176
1187
  "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}",
1177
- "line": 731,
1188
+ "line": 734,
1178
1189
  "fields": [
1179
1190
  "id",
1180
1191
  "graph",
@@ -1189,7 +1200,7 @@
1189
1200
  "name": "ComputeDefinition",
1190
1201
  "kind": "InterfaceDeclaration",
1191
1202
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
1192
- "line": 740,
1203
+ "line": 743,
1193
1204
  "fields": [
1194
1205
  "kind"
1195
1206
  ]
@@ -1198,7 +1209,7 @@
1198
1209
  "name": "AssetInput",
1199
1210
  "kind": "InterfaceDeclaration",
1200
1211
  "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}",
1201
- "line": 743,
1212
+ "line": 746,
1202
1213
  "fields": [
1203
1214
  "id",
1204
1215
  "path",
@@ -1213,7 +1224,7 @@
1213
1224
  "name": "AssetDefinition",
1214
1225
  "kind": "InterfaceDeclaration",
1215
1226
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
1216
- "line": 753,
1227
+ "line": 756,
1217
1228
  "fields": [
1218
1229
  "kind"
1219
1230
  ]
@@ -1222,7 +1233,7 @@
1222
1233
  "name": "MeshDefinition",
1223
1234
  "kind": "InterfaceDeclaration",
1224
1235
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
1225
- "line": 756,
1236
+ "line": 759,
1226
1237
  "fields": [
1227
1238
  "geometry",
1228
1239
  "material",
@@ -1234,7 +1245,7 @@
1234
1245
  "name": "LightDefinition",
1235
1246
  "kind": "InterfaceDeclaration",
1236
1247
  "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}",
1237
- "line": 762,
1248
+ "line": 765,
1238
1249
  "fields": [
1239
1250
  "kind",
1240
1251
  "color",
@@ -1248,7 +1259,7 @@
1248
1259
  "name": "EntityInput",
1249
1260
  "kind": "InterfaceDeclaration",
1250
1261
  "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}",
1251
- "line": 777,
1262
+ "line": 780,
1252
1263
  "fields": [
1253
1264
  "id",
1254
1265
  "prefab",
@@ -1266,7 +1277,7 @@
1266
1277
  "name": "PrefabInput",
1267
1278
  "kind": "InterfaceDeclaration",
1268
1279
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
1269
- "line": 789,
1280
+ "line": 792,
1270
1281
  "fields": [
1271
1282
  "extends"
1272
1283
  ]
@@ -1275,7 +1286,7 @@
1275
1286
  "name": "PrefabDefinition",
1276
1287
  "kind": "InterfaceDeclaration",
1277
1288
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
1278
- "line": 792,
1289
+ "line": 795,
1279
1290
  "fields": [
1280
1291
  "kind"
1281
1292
  ]
@@ -1284,7 +1295,7 @@
1284
1295
  "name": "SceneInput",
1285
1296
  "kind": "InterfaceDeclaration",
1286
1297
  "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}",
1287
- "line": 795,
1298
+ "line": 798,
1288
1299
  "fields": [
1289
1300
  "id",
1290
1301
  "camera",
@@ -1298,7 +1309,7 @@
1298
1309
  "name": "SceneDefinition",
1299
1310
  "kind": "InterfaceDeclaration",
1300
1311
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1301
- "line": 820,
1312
+ "line": 823,
1302
1313
  "fields": [
1303
1314
  "kind"
1304
1315
  ]
@@ -1307,7 +1318,7 @@
1307
1318
  "name": "SystemInput",
1308
1319
  "kind": "InterfaceDeclaration",
1309
1320
  "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}",
1310
- "line": 823,
1321
+ "line": 826,
1311
1322
  "fields": [
1312
1323
  "id",
1313
1324
  "phase",
@@ -1323,7 +1334,7 @@
1323
1334
  "name": "SystemDefinition",
1324
1335
  "kind": "InterfaceDeclaration",
1325
1336
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1326
- "line": 833,
1337
+ "line": 836,
1327
1338
  "fields": [
1328
1339
  "kind"
1329
1340
  ]
@@ -1332,7 +1343,7 @@
1332
1343
  "name": "GameInput",
1333
1344
  "kind": "InterfaceDeclaration",
1334
1345
  "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}",
1335
- "line": 836,
1346
+ "line": 839,
1336
1347
  "fields": [
1337
1348
  "id",
1338
1349
  "scene",
@@ -1357,7 +1368,7 @@
1357
1368
  "name": "GameDefinition",
1358
1369
  "kind": "InterfaceDeclaration",
1359
1370
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1360
- "line": 855,
1371
+ "line": 858,
1361
1372
  "fields": [
1362
1373
  "kind"
1363
1374
  ]
@@ -1366,7 +1377,7 @@
1366
1377
  "name": "GameInstance",
1367
1378
  "kind": "InterfaceDeclaration",
1368
1379
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1369
- "line": 858,
1380
+ "line": 861,
1370
1381
  "fields": [
1371
1382
  "update",
1372
1383
  "dispose"
@@ -1376,61 +1387,61 @@
1376
1387
  "name": "defineComponent",
1377
1388
  "kind": "FunctionDeclaration",
1378
1389
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1379
- "line": 862
1390
+ "line": 865
1380
1391
  },
1381
1392
  {
1382
1393
  "name": "defineMaterial",
1383
1394
  "kind": "FunctionDeclaration",
1384
1395
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1385
- "line": 868
1396
+ "line": 871
1386
1397
  },
1387
1398
  {
1388
1399
  "name": "definePostProcess",
1389
1400
  "kind": "FunctionDeclaration",
1390
1401
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1391
- "line": 871
1402
+ "line": 874
1392
1403
  },
1393
1404
  {
1394
1405
  "name": "defineCompute",
1395
1406
  "kind": "FunctionDeclaration",
1396
1407
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1397
- "line": 874
1408
+ "line": 877
1398
1409
  },
1399
1410
  {
1400
1411
  "name": "defineAsset",
1401
1412
  "kind": "FunctionDeclaration",
1402
1413
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1403
- "line": 877
1414
+ "line": 880
1404
1415
  },
1405
1416
  {
1406
1417
  "name": "definePrefab",
1407
1418
  "kind": "FunctionDeclaration",
1408
1419
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1409
- "line": 880
1420
+ "line": 883
1410
1421
  },
1411
1422
  {
1412
1423
  "name": "defineScene",
1413
1424
  "kind": "FunctionDeclaration",
1414
1425
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1415
- "line": 883
1426
+ "line": 886
1416
1427
  },
1417
1428
  {
1418
1429
  "name": "defineSystem",
1419
1430
  "kind": "FunctionDeclaration",
1420
1431
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1421
- "line": 886
1432
+ "line": 889
1422
1433
  },
1423
1434
  {
1424
1435
  "name": "defineGame",
1425
1436
  "kind": "FunctionDeclaration",
1426
1437
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1427
- "line": 889
1438
+ "line": 892
1428
1439
  },
1429
1440
  {
1430
1441
  "name": "instantiateGame",
1431
1442
  "kind": "FunctionDeclaration",
1432
1443
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1433
- "line": 893
1444
+ "line": 896
1434
1445
  }
1435
1446
  ],
1436
1447
  "installedDeclarations": "lib/sdk/index.d.ts",