pelican-engine 0.3.14 → 0.3.16

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