pelican-engine 0.3.9 → 0.3.11

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.9",
4
+ "engineVersion": "0.3.11",
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.9\"",
11
+ "signature": "SDK_VERSION = \"0.3.11\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -171,7 +171,7 @@
171
171
  {
172
172
  "name": "SystemContext",
173
173
  "kind": "InterfaceDeclaration",
174
- "signature": "export interface SystemContext extends EngineFacade {\n readonly time: {\n readonly tick: number;\n readonly elapsed: number;\n readonly fixedDt: number;\n };\n readonly entities: EntityCommands;\n random(): number;\n emit(type: string, payload: unknown): void;\n events(type?: string): readonly GameEvent[];\n readonly input: InputService;\n readonly physics: PhysicsService;\n readonly animation: AnimationService;\n readonly camera: CameraService;\n readonly ui: UIService;\n readonly audio: AudioService;\n readonly storage: StorageService;\n readonly scenes: SceneService;\n readonly render: RenderService;\n readonly compute: ComputeService;\n readonly navigation: NavigationService;\n}",
174
+ "signature": "export interface SystemContext extends EngineFacade {\n readonly time: {\n readonly tick: number;\n readonly elapsed: number;\n readonly fixedDt: number;\n };\n readonly entities: EntityCommands;\n random(): number;\n emit(type: string, payload: unknown): void;\n events(type?: string): readonly GameEvent[];\n readonly input: InputService;\n readonly physics: PhysicsService;\n readonly animation: AnimationService;\n readonly camera: CameraService;\n readonly ui: UIService;\n readonly audio: AudioService;\n readonly storage: StorageService;\n readonly scenes: SceneService;\n readonly render: RenderService;\n readonly compute: ComputeService;\n readonly navigation: NavigationService;\n readonly ropes: RopeService;\n}",
175
175
  "line": 98,
176
176
  "fields": [
177
177
  "time",
@@ -189,14 +189,74 @@
189
189
  "scenes",
190
190
  "render",
191
191
  "compute",
192
- "navigation"
192
+ "navigation",
193
+ "ropes"
194
+ ]
195
+ },
196
+ {
197
+ "name": "RopeCollider",
198
+ "kind": "TypeAliasDeclaration",
199
+ "signature": "export type RopeCollider =\n | { kind: \"sphere\"; id: string; center: Vec3; radius: number }\n | { kind: \"plane\"; id: string; normal: Vec3; offset: number };",
200
+ "line": 123
201
+ },
202
+ {
203
+ "name": "RopeDefinition",
204
+ "kind": "InterfaceDeclaration",
205
+ "signature": "export interface RopeDefinition {\n id: string;\n points: readonly Vec3[];\n /** Kilograms per particle, positive and at most 1e6. */\n mass: number;\n radius?: number;\n /** Defaults to the host interval; an explicit value must exactly match it. */\n fixedDt?: number;\n /** When true, step once after each physics phase; defaults to false (manual stepping). */\n autoStep?: boolean;\n substeps?: number;\n iterations?: number;\n damping?: number;\n gravity?: Vec3;\n anchors?: readonly { index: number; position: Vec3 }[];\n}",
206
+ "line": 126,
207
+ "fields": [
208
+ "id",
209
+ "points",
210
+ "mass",
211
+ "radius",
212
+ "fixedDt",
213
+ "autoStep",
214
+ "substeps",
215
+ "iterations",
216
+ "damping",
217
+ "gravity",
218
+ "anchors"
219
+ ]
220
+ },
221
+ {
222
+ "name": "RopeState",
223
+ "kind": "InterfaceDeclaration",
224
+ "signature": "export interface RopeState {\n tick: number; simulatedSeconds: number; disposed: boolean;\n positions: Vec3[]; velocities: Vec3[];\n anchors: { index: number; position: Vec3 }[];\n contacts: { tick: number; particle: number; colliderId: string; penetration: number }[];\n maxDistanceError: number;\n resources: { particles: number; constraints: number; anchors: number; colliders: number };\n}",
225
+ "line": 142,
226
+ "fields": [
227
+ "tick",
228
+ "simulatedSeconds",
229
+ "disposed",
230
+ "positions",
231
+ "velocities",
232
+ "anchors",
233
+ "contacts",
234
+ "maxDistanceError",
235
+ "resources"
236
+ ]
237
+ },
238
+ {
239
+ "name": "RopeService",
240
+ "kind": "InterfaceDeclaration",
241
+ "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}",
242
+ "line": 150,
243
+ "fields": [
244
+ "create",
245
+ "step",
246
+ "inspect",
247
+ "setColliders",
248
+ "setAnchor",
249
+ "releaseAnchor",
250
+ "applyForce",
251
+ "applyImpulse",
252
+ "destroy"
193
253
  ]
194
254
  },
195
255
  {
196
256
  "name": "NavigationCell",
197
257
  "kind": "InterfaceDeclaration",
198
258
  "signature": "export interface NavigationCell { readonly x: number; readonly y: number }",
199
- "line": 123,
259
+ "line": 165,
200
260
  "fields": [
201
261
  "x",
202
262
  "y"
@@ -206,7 +266,7 @@
206
266
  "name": "NavigationObstacleUpdate",
207
267
  "kind": "InterfaceDeclaration",
208
268
  "signature": "export interface NavigationObstacleUpdate { readonly cell: NavigationCell; readonly blocked: boolean }",
209
- "line": 125,
269
+ "line": 167,
210
270
  "fields": [
211
271
  "cell",
212
272
  "blocked"
@@ -216,7 +276,7 @@
216
276
  "name": "NavigationGrid",
217
277
  "kind": "InterfaceDeclaration",
218
278
  "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}",
219
- "line": 126,
279
+ "line": 168,
220
280
  "fields": [
221
281
  "id",
222
282
  "owner",
@@ -230,7 +290,7 @@
230
290
  "name": "NavigationService",
231
291
  "kind": "InterfaceDeclaration",
232
292
  "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}",
233
- "line": 135,
293
+ "line": 177,
234
294
  "fields": [
235
295
  "createGrid",
236
296
  "getGrid",
@@ -246,13 +306,13 @@
246
306
  "name": "RenderMode",
247
307
  "kind": "TypeAliasDeclaration",
248
308
  "signature": "export type RenderMode = \"raster\" | \"hybrid\" | \"path\";",
249
- "line": 147
309
+ "line": 189
250
310
  },
251
311
  {
252
312
  "name": "RenderCapabilities",
253
313
  "kind": "InterfaceDeclaration",
254
314
  "signature": "export interface RenderCapabilities {\n backend: \"webgpu\" | \"webgl2\" | \"uninitialized\";\n compute: boolean;\n availableModes: readonly RenderMode[];\n}",
255
- "line": 148,
315
+ "line": 190,
256
316
  "fields": [
257
317
  "backend",
258
318
  "compute",
@@ -263,7 +323,7 @@
263
323
  "name": "RenderSettings",
264
324
  "kind": "InterfaceDeclaration",
265
325
  "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}",
266
- "line": 153,
326
+ "line": 195,
267
327
  "fields": [
268
328
  "mode",
269
329
  "samplesPerFrame",
@@ -280,7 +340,7 @@
280
340
  "name": "RenderService",
281
341
  "kind": "InterfaceDeclaration",
282
342
  "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}",
283
- "line": 164,
343
+ "line": 206,
284
344
  "fields": [
285
345
  "configure",
286
346
  "state",
@@ -296,7 +356,7 @@
296
356
  "name": "MaterialBufferInput",
297
357
  "kind": "InterfaceDeclaration",
298
358
  "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}",
299
- "line": 174,
359
+ "line": 216,
300
360
  "fields": [
301
361
  "name",
302
362
  "type",
@@ -308,7 +368,7 @@
308
368
  "name": "RenderBufferReference",
309
369
  "kind": "InterfaceDeclaration",
310
370
  "signature": "export interface RenderBufferReference {\n id: string;\n type: GraphType;\n count: number;\n}",
311
- "line": 183,
371
+ "line": 225,
312
372
  "fields": [
313
373
  "id",
314
374
  "type",
@@ -319,7 +379,7 @@
319
379
  "name": "RenderBufferBindings",
320
380
  "kind": "InterfaceDeclaration",
321
381
  "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}",
322
- "line": 188,
382
+ "line": 230,
323
383
  "fields": [
324
384
  "bind",
325
385
  "unbind",
@@ -330,7 +390,7 @@
330
390
  "name": "MaterialTextureInput",
331
391
  "kind": "InterfaceDeclaration",
332
392
  "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}",
333
- "line": 193,
393
+ "line": 235,
334
394
  "fields": [
335
395
  "texture",
336
396
  "width",
@@ -341,7 +401,7 @@
341
401
  "name": "RenderTextureReference",
342
402
  "kind": "InterfaceDeclaration",
343
403
  "signature": "export interface RenderTextureReference extends ComputeTextureSize {\n id: string;\n format: \"rgba32float\";\n}",
344
- "line": 199,
404
+ "line": 241,
345
405
  "fields": [
346
406
  "id",
347
407
  "format"
@@ -351,7 +411,7 @@
351
411
  "name": "RenderTextureBindings",
352
412
  "kind": "InterfaceDeclaration",
353
413
  "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}",
354
- "line": 203,
414
+ "line": 245,
355
415
  "fields": [
356
416
  "bind",
357
417
  "unbind",
@@ -362,7 +422,7 @@
362
422
  "name": "PostProcessState",
363
423
  "kind": "InterfaceDeclaration",
364
424
  "signature": "export interface PostProcessState {\n id: string;\n enabled: boolean;\n parameters: Readonly<Record<string, GraphValue>>;\n}",
365
- "line": 208,
425
+ "line": 250,
366
426
  "fields": [
367
427
  "id",
368
428
  "enabled",
@@ -373,7 +433,7 @@
373
433
  "name": "PostProcessService",
374
434
  "kind": "InterfaceDeclaration",
375
435
  "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}",
376
- "line": 213,
436
+ "line": 255,
377
437
  "fields": [
378
438
  "buffers",
379
439
  "textures",
@@ -387,7 +447,7 @@
387
447
  "name": "ComputeBufferHandle",
388
448
  "kind": "InterfaceDeclaration",
389
449
  "signature": "export interface ComputeBufferHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n}",
390
- "line": 223,
450
+ "line": 265,
391
451
  "fields": [
392
452
  "owner",
393
453
  "index",
@@ -398,7 +458,7 @@
398
458
  "name": "ComputeTaskHandle",
399
459
  "kind": "InterfaceDeclaration",
400
460
  "signature": "export interface ComputeTaskHandle {\n readonly owner: number;\n readonly id: number;\n}",
401
- "line": 228,
461
+ "line": 270,
402
462
  "fields": [
403
463
  "owner",
404
464
  "id"
@@ -408,7 +468,7 @@
408
468
  "name": "ComputeBufferInput",
409
469
  "kind": "InterfaceDeclaration",
410
470
  "signature": "export interface ComputeBufferInput {\n id: string;\n type: GraphType;\n count: number;\n data?: readonly GraphValue[];\n}",
411
- "line": 232,
471
+ "line": 274,
412
472
  "fields": [
413
473
  "id",
414
474
  "type",
@@ -420,7 +480,7 @@
420
480
  "name": "ComputeTextureHandle",
421
481
  "kind": "InterfaceDeclaration",
422
482
  "signature": "export interface ComputeTextureHandle {\n readonly owner: number;\n readonly index: number;\n readonly generation: number;\n readonly kind: \"texture\";\n}",
423
- "line": 238,
483
+ "line": 280,
424
484
  "fields": [
425
485
  "owner",
426
486
  "index",
@@ -432,7 +492,7 @@
432
492
  "name": "ComputeTextureSize",
433
493
  "kind": "InterfaceDeclaration",
434
494
  "signature": "export interface ComputeTextureSize {\n width: number;\n height: number;\n}",
435
- "line": 244,
495
+ "line": 286,
436
496
  "fields": [
437
497
  "width",
438
498
  "height"
@@ -442,7 +502,7 @@
442
502
  "name": "ComputeTextureDataInput",
443
503
  "kind": "InterfaceDeclaration",
444
504
  "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}",
445
- "line": 248,
505
+ "line": 290,
446
506
  "fields": [
447
507
  "id",
448
508
  "data",
@@ -453,7 +513,7 @@
453
513
  "name": "ComputeTextureAssetInput",
454
514
  "kind": "InterfaceDeclaration",
455
515
  "signature": "export interface ComputeTextureAssetInput {\n id: string;\n asset: AssetDefinition | string;\n width?: never;\n height?: never;\n data?: never;\n}",
456
- "line": 254,
516
+ "line": 296,
457
517
  "fields": [
458
518
  "id",
459
519
  "asset",
@@ -466,13 +526,13 @@
466
526
  "name": "ComputeTextureInput",
467
527
  "kind": "TypeAliasDeclaration",
468
528
  "signature": "export type ComputeTextureInput = ComputeTextureDataInput | ComputeTextureAssetInput;",
469
- "line": 261
529
+ "line": 303
470
530
  },
471
531
  {
472
532
  "name": "ComputeTextureBinding",
473
533
  "kind": "InterfaceDeclaration",
474
534
  "signature": "export interface ComputeTextureBinding {\n name: string;\n filter?: \"nearest\" | \"linear\";\n wrapU?: \"clamp\" | \"repeat\" | \"mirror\";\n wrapV?: \"clamp\" | \"repeat\" | \"mirror\";\n}",
475
- "line": 262,
535
+ "line": 304,
476
536
  "fields": [
477
537
  "name",
478
538
  "filter",
@@ -484,7 +544,7 @@
484
544
  "name": "ComputeDispatchInput",
485
545
  "kind": "InterfaceDeclaration",
486
546
  "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}",
487
- "line": 268,
547
+ "line": 310,
488
548
  "fields": [
489
549
  "output",
490
550
  "bindings",
@@ -498,7 +558,7 @@
498
558
  "name": "ComputeTaskState",
499
559
  "kind": "InterfaceDeclaration",
500
560
  "signature": "export interface ComputeTaskState {\n status: \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\";\n error?: { code: string; message: string; remediation: string };\n}",
501
- "line": 280,
561
+ "line": 322,
502
562
  "fields": [
503
563
  "status",
504
564
  "error"
@@ -508,7 +568,7 @@
508
568
  "name": "ComputeService",
509
569
  "kind": "InterfaceDeclaration",
510
570
  "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}",
511
- "line": 284,
571
+ "line": 326,
512
572
  "fields": [
513
573
  "createTexture",
514
574
  "resolveTexture",
@@ -533,7 +593,7 @@
533
593
  "name": "InputService",
534
594
  "kind": "InterfaceDeclaration",
535
595
  "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}",
536
- "line": 304,
596
+ "line": 346,
537
597
  "fields": [
538
598
  "held",
539
599
  "pressed",
@@ -545,7 +605,7 @@
545
605
  "name": "PhysicsService",
546
606
  "kind": "InterfaceDeclaration",
547
607
  "signature": "export interface PhysicsService {\n moveCharacter(entity: string, displacement: Vec3): void;\n grounded(entity: string): boolean;\n velocity(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}",
548
- "line": 310,
608
+ "line": 352,
549
609
  "fields": [
550
610
  "moveCharacter",
551
611
  "grounded",
@@ -563,7 +623,7 @@
563
623
  "name": "AnimationService",
564
624
  "kind": "InterfaceDeclaration",
565
625
  "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}",
566
- "line": 330,
626
+ "line": 372,
567
627
  "fields": [
568
628
  "play",
569
629
  "state"
@@ -573,7 +633,7 @@
573
633
  "name": "CameraService",
574
634
  "kind": "InterfaceDeclaration",
575
635
  "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}",
576
- "line": 342,
636
+ "line": 384,
577
637
  "fields": [
578
638
  "follow",
579
639
  "orbit"
@@ -583,7 +643,7 @@
583
643
  "name": "UIService",
584
644
  "kind": "InterfaceDeclaration",
585
645
  "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}",
586
- "line": 355,
646
+ "line": 397,
587
647
  "fields": [
588
648
  "setText",
589
649
  "setProgress",
@@ -594,7 +654,7 @@
594
654
  "name": "AudioService",
595
655
  "kind": "InterfaceDeclaration",
596
656
  "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}",
597
- "line": 360,
657
+ "line": 402,
598
658
  "fields": [
599
659
  "play",
600
660
  "stop",
@@ -609,7 +669,7 @@
609
669
  "name": "StorageService",
610
670
  "kind": "InterfaceDeclaration",
611
671
  "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}",
612
- "line": 375,
672
+ "line": 417,
613
673
  "fields": [
614
674
  "save",
615
675
  "load",
@@ -620,7 +680,7 @@
620
680
  "name": "SceneService",
621
681
  "kind": "InterfaceDeclaration",
622
682
  "signature": "export interface SceneService {\n current(): string;\n load(id: string): void;\n}",
623
- "line": 384,
683
+ "line": 426,
624
684
  "fields": [
625
685
  "current",
626
686
  "load"
@@ -630,7 +690,7 @@
630
690
  "name": "ModelDefinition",
631
691
  "kind": "InterfaceDeclaration",
632
692
  "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}",
633
- "line": 388,
693
+ "line": 430,
634
694
  "fields": [
635
695
  "material",
636
696
  "materialSlots",
@@ -647,7 +707,7 @@
647
707
  "name": "RigidBodyDefinition",
648
708
  "kind": "InterfaceDeclaration",
649
709
  "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}",
650
- "line": 401,
710
+ "line": 443,
651
711
  "fields": [
652
712
  "type",
653
713
  "collider",
@@ -661,7 +721,7 @@
661
721
  "name": "CharacterDefinition",
662
722
  "kind": "InterfaceDeclaration",
663
723
  "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}",
664
- "line": 415,
724
+ "line": 457,
665
725
  "fields": [
666
726
  "radius",
667
727
  "height",
@@ -674,7 +734,7 @@
674
734
  "name": "UIElementDefinition",
675
735
  "kind": "InterfaceDeclaration",
676
736
  "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}",
677
- "line": 423,
737
+ "line": 465,
678
738
  "fields": [
679
739
  "id",
680
740
  "kind",
@@ -693,7 +753,7 @@
693
753
  "name": "SoundDefinition",
694
754
  "kind": "InterfaceDeclaration",
695
755
  "signature": "export interface SoundDefinition {\n id: string;\n asset: AssetDefinition | string;\n volume?: number;\n loop?: boolean;\n bus?: string;\n}",
696
- "line": 436,
756
+ "line": 478,
697
757
  "fields": [
698
758
  "id",
699
759
  "asset",
@@ -706,7 +766,7 @@
706
766
  "name": "AudioBusDefinition",
707
767
  "kind": "InterfaceDeclaration",
708
768
  "signature": "export interface AudioBusDefinition {\n id: string;\n volume?: number;\n}",
709
- "line": 443,
769
+ "line": 485,
710
770
  "fields": [
711
771
  "id",
712
772
  "volume"
@@ -716,43 +776,43 @@
716
776
  "name": "SYSTEM_PHASES",
717
777
  "kind": "constant",
718
778
  "signature": "SYSTEM_PHASES = [\n \"input\",\n \"prePhysics\",\n \"physics\",\n \"postPhysics\",\n \"update\",\n \"presentation\",\n] as const",
719
- "line": 447
779
+ "line": 489
720
780
  },
721
781
  {
722
782
  "name": "SystemPhase",
723
783
  "kind": "TypeAliasDeclaration",
724
784
  "signature": "export type SystemPhase = (typeof SYSTEM_PHASES)[number];",
725
- "line": 455
785
+ "line": 497
726
786
  },
727
787
  {
728
788
  "name": "Geometry",
729
789
  "kind": "TypeAliasDeclaration",
730
790
  "signature": "export type Geometry =\n | { kind: \"box\"; size?: Vec3 }\n | { kind: \"sphere\"; radius?: number; segments?: number }\n | { kind: \"plane\"; size?: readonly [number, number] };",
731
- "line": 456
791
+ "line": 498
732
792
  },
733
793
  {
734
794
  "name": "GRAPH_TYPES",
735
795
  "kind": "constant",
736
796
  "signature": "GRAPH_TYPES = [\"float\", \"vec2\", \"vec3\", \"vec4\", \"bool\"] as const",
737
- "line": 460
797
+ "line": 502
738
798
  },
739
799
  {
740
800
  "name": "GraphType",
741
801
  "kind": "TypeAliasDeclaration",
742
802
  "signature": "export type GraphType = typeof GRAPH_TYPES[number];",
743
- "line": 461
803
+ "line": 503
744
804
  },
745
805
  {
746
806
  "name": "GraphValue",
747
807
  "kind": "TypeAliasDeclaration",
748
808
  "signature": "export type GraphValue = number | boolean | Vec2 | Vec3 | Vec4;",
749
- "line": 462
809
+ "line": 504
750
810
  },
751
811
  {
752
812
  "name": "GraphParameter",
753
813
  "kind": "InterfaceDeclaration",
754
814
  "signature": "export interface GraphParameter {\n name: string;\n type: GraphType;\n default: GraphValue;\n}",
755
- "line": 463,
815
+ "line": 505,
756
816
  "fields": [
757
817
  "name",
758
818
  "type",
@@ -763,31 +823,31 @@
763
823
  "name": "GRAPH_INPUT_TYPES",
764
824
  "kind": "constant",
765
825
  "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",
766
- "line": 468
826
+ "line": 510
767
827
  },
768
828
  {
769
829
  "name": "GraphInputName",
770
830
  "kind": "TypeAliasDeclaration",
771
831
  "signature": "export type GraphInputName = keyof typeof GRAPH_INPUT_TYPES;",
772
- "line": 475
832
+ "line": 517
773
833
  },
774
834
  {
775
835
  "name": "GRAPH_OPERATIONS",
776
836
  "kind": "constant",
777
837
  "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",
778
- "line": 476
838
+ "line": 518
779
839
  },
780
840
  {
781
841
  "name": "GraphNode",
782
842
  "kind": "TypeAliasDeclaration",
783
843
  "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 };",
784
- "line": 481
844
+ "line": 523
785
845
  },
786
846
  {
787
847
  "name": "Graph",
788
848
  "kind": "InterfaceDeclaration",
789
849
  "signature": "export interface Graph {\n nodes: readonly GraphNode[];\n output: string;\n parameters?: readonly GraphParameter[];\n}",
790
- "line": 501,
850
+ "line": 543,
791
851
  "fields": [
792
852
  "nodes",
793
853
  "output",
@@ -798,7 +858,7 @@
798
858
  "name": "MaterialGraphs",
799
859
  "kind": "InterfaceDeclaration",
800
860
  "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}",
801
- "line": 506,
861
+ "line": 548,
802
862
  "fields": [
803
863
  "baseColor",
804
864
  "emissive",
@@ -812,7 +872,7 @@
812
872
  "name": "VertexGraphs",
813
873
  "kind": "InterfaceDeclaration",
814
874
  "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}",
815
- "line": 515,
875
+ "line": 557,
816
876
  "fields": [
817
877
  "position",
818
878
  "normal"
@@ -822,7 +882,7 @@
822
882
  "name": "MaterialInput",
823
883
  "kind": "InterfaceDeclaration",
824
884
  "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}",
825
- "line": 521,
885
+ "line": 563,
826
886
  "fields": [
827
887
  "id",
828
888
  "color",
@@ -851,7 +911,7 @@
851
911
  "name": "MaterialDefinition",
852
912
  "kind": "InterfaceDeclaration",
853
913
  "signature": "export interface MaterialDefinition extends MaterialInput {\n readonly kind: \"material\";\n}",
854
- "line": 548,
914
+ "line": 590,
855
915
  "fields": [
856
916
  "kind"
857
917
  ]
@@ -860,7 +920,7 @@
860
920
  "name": "PostProcessInput",
861
921
  "kind": "InterfaceDeclaration",
862
922
  "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}",
863
- "line": 551,
923
+ "line": 593,
864
924
  "fields": [
865
925
  "id",
866
926
  "buffers",
@@ -873,7 +933,7 @@
873
933
  "name": "PostProcessDefinition",
874
934
  "kind": "InterfaceDeclaration",
875
935
  "signature": "export interface PostProcessDefinition extends PostProcessInput {\n readonly kind: \"postprocess\";\n}",
876
- "line": 559,
936
+ "line": 601,
877
937
  "fields": [
878
938
  "kind"
879
939
  ]
@@ -882,7 +942,7 @@
882
942
  "name": "ComputeInput",
883
943
  "kind": "InterfaceDeclaration",
884
944
  "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}",
885
- "line": 562,
945
+ "line": 604,
886
946
  "fields": [
887
947
  "id",
888
948
  "graph",
@@ -897,7 +957,7 @@
897
957
  "name": "ComputeDefinition",
898
958
  "kind": "InterfaceDeclaration",
899
959
  "signature": "export interface ComputeDefinition extends ComputeInput {\n readonly kind: \"compute\";\n}",
900
- "line": 571,
960
+ "line": 613,
901
961
  "fields": [
902
962
  "kind"
903
963
  ]
@@ -906,7 +966,7 @@
906
966
  "name": "AssetInput",
907
967
  "kind": "InterfaceDeclaration",
908
968
  "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}",
909
- "line": 574,
969
+ "line": 616,
910
970
  "fields": [
911
971
  "id",
912
972
  "path",
@@ -921,7 +981,7 @@
921
981
  "name": "AssetDefinition",
922
982
  "kind": "InterfaceDeclaration",
923
983
  "signature": "export interface AssetDefinition extends AssetInput {\n readonly kind: \"asset\";\n}",
924
- "line": 584,
984
+ "line": 626,
925
985
  "fields": [
926
986
  "kind"
927
987
  ]
@@ -930,7 +990,7 @@
930
990
  "name": "MeshDefinition",
931
991
  "kind": "InterfaceDeclaration",
932
992
  "signature": "export interface MeshDefinition {\n geometry: Geometry;\n material: MaterialDefinition | string;\n castShadow?: boolean;\n receiveShadow?: boolean;\n}",
933
- "line": 587,
993
+ "line": 629,
934
994
  "fields": [
935
995
  "geometry",
936
996
  "material",
@@ -942,7 +1002,7 @@
942
1002
  "name": "LightDefinition",
943
1003
  "kind": "InterfaceDeclaration",
944
1004
  "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}",
945
- "line": 593,
1005
+ "line": 635,
946
1006
  "fields": [
947
1007
  "kind",
948
1008
  "color",
@@ -956,7 +1016,7 @@
956
1016
  "name": "EntityInput",
957
1017
  "kind": "InterfaceDeclaration",
958
1018
  "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}",
959
- "line": 608,
1019
+ "line": 650,
960
1020
  "fields": [
961
1021
  "id",
962
1022
  "prefab",
@@ -974,7 +1034,7 @@
974
1034
  "name": "PrefabInput",
975
1035
  "kind": "InterfaceDeclaration",
976
1036
  "signature": "export interface PrefabInput extends Omit<EntityInput, \"prefab\" | \"parent\"> {\n extends?: PrefabDefinition | string;\n}",
977
- "line": 620,
1037
+ "line": 662,
978
1038
  "fields": [
979
1039
  "extends"
980
1040
  ]
@@ -983,7 +1043,7 @@
983
1043
  "name": "PrefabDefinition",
984
1044
  "kind": "InterfaceDeclaration",
985
1045
  "signature": "export interface PrefabDefinition extends PrefabInput {\n readonly kind: \"prefab\";\n}",
986
- "line": 623,
1046
+ "line": 665,
987
1047
  "fields": [
988
1048
  "kind"
989
1049
  ]
@@ -992,7 +1052,7 @@
992
1052
  "name": "SceneInput",
993
1053
  "kind": "InterfaceDeclaration",
994
1054
  "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}",
995
- "line": 626,
1055
+ "line": 668,
996
1056
  "fields": [
997
1057
  "id",
998
1058
  "camera",
@@ -1006,7 +1066,7 @@
1006
1066
  "name": "SceneDefinition",
1007
1067
  "kind": "InterfaceDeclaration",
1008
1068
  "signature": "export interface SceneDefinition extends SceneInput {\n readonly kind: \"scene\";\n}",
1009
- "line": 651,
1069
+ "line": 693,
1010
1070
  "fields": [
1011
1071
  "kind"
1012
1072
  ]
@@ -1015,7 +1075,7 @@
1015
1075
  "name": "SystemInput",
1016
1076
  "kind": "InterfaceDeclaration",
1017
1077
  "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}",
1018
- "line": 654,
1078
+ "line": 696,
1019
1079
  "fields": [
1020
1080
  "id",
1021
1081
  "phase",
@@ -1031,7 +1091,7 @@
1031
1091
  "name": "SystemDefinition",
1032
1092
  "kind": "InterfaceDeclaration",
1033
1093
  "signature": "export interface SystemDefinition extends SystemInput {\n readonly kind: \"system\";\n}",
1034
- "line": 664,
1094
+ "line": 706,
1035
1095
  "fields": [
1036
1096
  "kind"
1037
1097
  ]
@@ -1040,7 +1100,7 @@
1040
1100
  "name": "GameInput",
1041
1101
  "kind": "InterfaceDeclaration",
1042
1102
  "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}",
1043
- "line": 667,
1103
+ "line": 709,
1044
1104
  "fields": [
1045
1105
  "id",
1046
1106
  "scene",
@@ -1065,7 +1125,7 @@
1065
1125
  "name": "GameDefinition",
1066
1126
  "kind": "InterfaceDeclaration",
1067
1127
  "signature": "export interface GameDefinition extends GameInput {\n readonly kind: \"game\";\n}",
1068
- "line": 686,
1128
+ "line": 728,
1069
1129
  "fields": [
1070
1130
  "kind"
1071
1131
  ]
@@ -1074,7 +1134,7 @@
1074
1134
  "name": "GameInstance",
1075
1135
  "kind": "InterfaceDeclaration",
1076
1136
  "signature": "export interface GameInstance {\n update(dt: number): void;\n dispose(): void;\n}",
1077
- "line": 689,
1137
+ "line": 731,
1078
1138
  "fields": [
1079
1139
  "update",
1080
1140
  "dispose"
@@ -1084,61 +1144,61 @@
1084
1144
  "name": "defineComponent",
1085
1145
  "kind": "FunctionDeclaration",
1086
1146
  "signature": "export function defineComponent<const S extends ComponentSchema>(input: {\n id: string;\n schema: S;\n}): ComponentDefinition<S>;",
1087
- "line": 693
1147
+ "line": 735
1088
1148
  },
1089
1149
  {
1090
1150
  "name": "defineMaterial",
1091
1151
  "kind": "FunctionDeclaration",
1092
1152
  "signature": "export function defineMaterial(input: MaterialInput): MaterialDefinition;",
1093
- "line": 699
1153
+ "line": 741
1094
1154
  },
1095
1155
  {
1096
1156
  "name": "definePostProcess",
1097
1157
  "kind": "FunctionDeclaration",
1098
1158
  "signature": "export function definePostProcess(input: PostProcessInput): PostProcessDefinition;",
1099
- "line": 702
1159
+ "line": 744
1100
1160
  },
1101
1161
  {
1102
1162
  "name": "defineCompute",
1103
1163
  "kind": "FunctionDeclaration",
1104
1164
  "signature": "export function defineCompute(input: ComputeInput): ComputeDefinition;",
1105
- "line": 705
1165
+ "line": 747
1106
1166
  },
1107
1167
  {
1108
1168
  "name": "defineAsset",
1109
1169
  "kind": "FunctionDeclaration",
1110
1170
  "signature": "export function defineAsset(input: AssetInput): AssetDefinition;",
1111
- "line": 708
1171
+ "line": 750
1112
1172
  },
1113
1173
  {
1114
1174
  "name": "definePrefab",
1115
1175
  "kind": "FunctionDeclaration",
1116
1176
  "signature": "export function definePrefab(input: PrefabInput): PrefabDefinition;",
1117
- "line": 711
1177
+ "line": 753
1118
1178
  },
1119
1179
  {
1120
1180
  "name": "defineScene",
1121
1181
  "kind": "FunctionDeclaration",
1122
1182
  "signature": "export function defineScene(input: SceneInput): SceneDefinition;",
1123
- "line": 714
1183
+ "line": 756
1124
1184
  },
1125
1185
  {
1126
1186
  "name": "defineSystem",
1127
1187
  "kind": "FunctionDeclaration",
1128
1188
  "signature": "export function defineSystem(input: SystemInput): SystemDefinition;",
1129
- "line": 717
1189
+ "line": 759
1130
1190
  },
1131
1191
  {
1132
1192
  "name": "defineGame",
1133
1193
  "kind": "FunctionDeclaration",
1134
1194
  "signature": "export function defineGame(input: GameInput): GameDefinition;",
1135
- "line": 720
1195
+ "line": 762
1136
1196
  },
1137
1197
  {
1138
1198
  "name": "instantiateGame",
1139
1199
  "kind": "FunctionDeclaration",
1140
1200
  "signature": "export function instantiateGame(\n game: GameDefinition,\n engine: EngineFacade,\n): GameInstance;",
1141
- "line": 724
1201
+ "line": 766
1142
1202
  }
1143
1203
  ],
1144
1204
  "installedDeclarations": "lib/sdk/index.d.ts",