@forgeax/engine-audio 0.1.3 → 0.1.6

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.
package/README.md CHANGED
@@ -13,13 +13,13 @@ Layer 1 (play now): spawn `AudioSource` with `playing: true`. Layer 2 (mix): bus
13
13
  ## Minimal BGM playback
14
14
 
15
15
  ```ts
16
- import { AudioSource, AudioListener, audioContribution, audioPlugin, type AudioBackend } from '@forgeax/engine-audio';
16
+ import { AudioSource, AudioListener, audioPlugin, type AudioClipAsset, type AudioBackend } from '@forgeax/engine-audio';
17
17
  const created = await createApp(canvas, { plugins: [audioPlugin()] });
18
18
  if (!created.ok) throw created.error;
19
19
  const app = created.value;
20
20
 
21
21
  // Load clip via asset system
22
- const loaded = await app.assets.load(bgmGuid, audioContribution.kind);
22
+ const loaded = await app.renderer.assets.loadByGuid<AudioClipAsset>(bgmGuid);
23
23
  if (!loaded.ok) throw loaded.error;
24
24
  const clip = app.world.allocSharedRef('AudioClipAsset', loaded.value);
25
25
 
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types/dist/animation-target.d.ts","../../types/dist/asset-errors.d.ts","../../types/dist/result.d.ts","../../types/dist/asset-evidence.d.ts","../../types/dist/asset.d.ts","../../types/dist/asset-runtime.d.ts","../../types/dist/material/color-space.d.ts","../../types/dist/material/asset.d.ts","../../types/dist/vfx.d.ts","../../types/dist/handle.d.ts","../../types/dist/material/errors.d.ts","../../types/dist/material/resolve.d.ts","../../types/dist/material/index.d.ts","../../types/dist/asset-producer.d.ts","../../types/dist/catalog.d.ts","../../types/dist/runtime-scope.d.ts","../../types/dist/derive-paramschema.d.ts","../../types/dist/import.d.ts","../../types/dist/index.d.ts","../src/audio-backend.ts","../src/audio-intent.ts","../../ecs/dist/entity-handle.d.ts","../../ecs/dist/storage/column.d.ts","../../ecs/dist/component-schema.d.ts","../../ecs/dist/component.d.ts","../../ecs/dist/entity.d.ts","../../ecs/dist/errors/query-and-component-errors.d.ts","../../ecs/dist/errors/relationship-errors.d.ts","../../ecs/dist/errors/sprite-and-shared-errors.d.ts","../../ecs/dist/errors/validation-errors.d.ts","../../ecs/dist/world-internal.d.ts","../../ecs/dist/query/query.d.ts","../../ecs/dist/relationship-index.d.ts","../../ecs/dist/shared-ref-store.d.ts","../../ecs/dist/world-change-journal.d.ts","../../ecs/dist/storage/table.d.ts","../../ecs/dist/storage/archetype.d.ts","../../ecs/dist/storage/archetype-graph.d.ts","../../ecs/dist/storage/change-detection.d.ts","../../ecs/dist/time.d.ts","../../ecs/dist/schedule-token.d.ts","../../ecs/dist/world.d.ts","../../ecs/dist/commands.d.ts","../../ecs/dist/schedule.d.ts","../../ecs/dist/execution/shared-kernel.d.ts","../../ecs/dist/errors.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/array.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/types.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/misc.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/string.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/time.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/utils.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/registry.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/reflect.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/fiber.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/events.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/logger.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/context.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/service.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/index.d.ts","../../tool-runtime/dist/types.d.ts","../../tool-runtime/dist/errors.d.ts","../../tool-runtime/dist/artifacts.d.ts","../../tool-runtime/dist/capability.d.ts","../../tool-runtime/dist/carrier.d.ts","../../tool-runtime/dist/lease.d.ts","../../tool-runtime/dist/migration.d.ts","../../tool-runtime/dist/runtime.d.ts","../../tool-runtime/dist/snapshot.d.ts","../../tool-runtime/dist/timing.d.ts","../../tool-runtime/dist/transport.d.ts","../../tool-runtime/dist/index.d.ts","../../plugin/dist/capability.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/internal.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/tree.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/group.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/entry.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/isolate.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/utils.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/index.d.ts","../../plugin/dist/tool-plugin.d.ts","../../plugin/dist/loader.d.ts","../../plugin/dist/index.d.ts","../../ecs/dist/plugin-service.d.ts","../../ecs/dist/index.d.ts","../src/components.ts","../src/audio-tick-system.ts","../src/assets/audio-decoder.ts","../../scene/dist/assets/scene-decoder.d.ts","../../scene/dist/assets/scene-projection.d.ts","../../scene/dist/components/children.d.ts","../../scene/dist/components/child-of.d.ts","../../scene/dist/components/morph-weights.d.ts","../../scene/dist/components/name.d.ts","../../scene/dist/components/transform.d.ts","../../ecs/dist/component-default-fallback.d.ts","../../ecs/dist/projection/index.d.ts","../../scene/dist/errors.d.ts","../../scene/dist/instances/collect-profile.d.ts","../../scene/dist/instances/externalization.d.ts","../../scene/dist/instances/scene-instances.d.ts","../../scene/dist/plugin.d.ts","../../scene/dist/systems/hierarchy-projection.d.ts","../../scene/dist/systems/propagate-transforms.d.ts","../../scene/dist/index.d.ts","../src/plugin-factory.ts","../src/plugin-service.ts","../src/index.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.5/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/tasks.d-Bh0IjN67.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.5/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/index.d.ts","../src/__tests__/asset-decoder.unit.test.ts","../src/__tests__/audio-edge-action-owner.test-d.ts","../src/__tests__/audio-intent.unit.test.ts","../src/__tests__/scriptable-pack-consumer.test-d.ts","../src/__tests__/simulation-intent-order.test.ts"],"fileIdsList":[[121,136,137,141,144],[121,136,138,139,141,144],[111,121,138,139,141,144],[111,121,137,138,139,141,144],[111,121,135,136,137,138,139,140,141,144],[111],[111,113,114,115,116,117,118],[111,114,115,116,117,118,119],[111,112,113,114,115,116,117,118,119],[113,114,115,116,117,118,119,120],[113,114,115,116,117,118,119],[121,141,144],[106,107,108,109,110],[197,198],[112,171,177,195,196,199],[206],[206,207],[175,177,178],[175,177],[175],[170,175,186,187],[170,175,186],[194],[170,176],[170],[172],[170,171,172,173,174],[212,213],[212,213,214,215],[212,214],[212],[181],[181,182,183,184],[183],[179,201,202,204],[179,180,192,204],[170,177,179,180,188,204],[185],[170,179,180,188,200,203,204],[179,180,185,188,204],[179,201,202,203,204],[179,185,189,190,191,204],[170,175,177,179,180,185,188,189,190,191,192,193,195,200,201,202,203,204,205,208,209,210,211,216],[170,177,179,180,188,189,201,202,203,204,209],[78,146,148,149,217],[148,169,217],[169,217],[146,169,217],[78],[78,79],[78,79,146,147],[146],[78,79,80,147,148,149,167,168],[79,144,145,146,147,148,166,168],[79,144,145,168],[78,81,84,90,101,105],[84,105],[84],[78,81,82,83],[86,87,88,89,104],[91,100,103],[81,83,84,85,91,92,93,99,100,101,102,103,105,145],[101,144,145,168],[78,81,84,101,105,157],[78,81,84,90,105],[81,84],[78,84,91,100,101,102,105],[78,105],[84,95,96,98],[84,95],[81,84,94,95,97],[81,82,84,98],[81],[78,81,84,90,91,92,93,98,99,100,103,104,105],[121,133,141,144],[121,134,141,142,143,144],[121,133,134,141,142,144],[78,146],[152],[146,158],[150,151,152,153,154,155,156,159,160,161,162,163,164,165],[144,145,168],[146,159],[78,146,159,164],[122,123],[122],[122,123,124,125,126,127,128,129,130,131,132],[122,126],[61,62,64],[61,62,64,78],[63],[64,73],[61,73,74,75,78],[60,61,62,64,65,67,68,69,72,73,74,75,76,77],[65,66,78],[67],[66,67,70,71],[62,67,70],[73,74]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"89fe170d9a59f81cd9a9d95de3278f108ff91491810b2529cc0ffb502a57b6c0","0b4928041c807c01b33b1fa028236df635c52f7acff5a40f2c2d0d677b53428b","5ad2e5b8b17893d0eb1f11a1b6e8c03b17344be03a6a72a624cd38ab05fe4d5c","6a1e553079e654a1771463e9eeb98ea4f7bb4b6417a5237d4fdf9b546d49647f","7f11be86b9ac5c2cd5127cd9d40ccc7694c58868a3157692a153d452fc171525","8b52dd8be86f44f871db89a6c1f77f7585688d53141ff55b6c5fac3eb67b1241","6e3488ee1183ea915eb43f08aebc5f75e30be25aef1f678d1965324bdd7506e1","59ca967d9cb92088499ce15a1c389e55a39bb2cb905844439565d9f7d8b1ed5d","a318d8734523d9e750681e7b8e685ef817d4049c5612451f4e849da8b2b572a9","99440a4820b8621d65822e29b01afd8a5938ea94ebea634fdd31d32d3e735629","080e7748d9754ccaea8debbc933552c7976c1ef588f9642a6f07e5a4d139d43b","51342c51a9090c0bc8bae60c5ec1a0f46d6d44db84392f12a8cd46e6d8a9f617","ae777307a0baeb9b5d7ba18e6a029a54eb0b612b1491591dcedb020cc8d36f97","464bedfb5186f124eacfc18488346e51dcf1318f5135e1cbb429f917065e5360","ba3e7709ee018a58cbde4f26ba611f89938725472766bcb325c1ed2ce41e9d6f","459b3765e622008ed590474ae6b61ab55107a7b9529a28d05087a6fef51d7248","ce15f7fa66eb0ff73351db6a626a397eb441aa3572707c2a156897c646b2911d","cc943379ee4a2e1023e8ad62c136d1367906e58e29559195e92cbcc1b296e803","bcf485b4f161e232c90d00f14ec27128227cf1cbdf60b93949b47a9365461a1d",{"version":"464648d6065bd108873fe5774b99761a396b67932465dd85fa6e39e2302e6958","signature":"718e98bc1f4cbc8553ddf6b0936203570349e13872ff56497a43fc24bd66ab11"},{"version":"60f9113d383f601eb505599bf67e672f3d8523fc48c464ecf325a9f2410a409d","signature":"997072a1ea95687cb14baa1217eec1ecb25fe6b62bf7c7ff7aab1fda172da6b3"},"b866405af1564f0690ea323f070c87509bfeb2ba8afa7c49c255dbe13c176bf8","ce648e4449eb59292b997226148647ce9ca22bc9ff9062959f5f1fe6bfe06cd8","ce3d7045ddbf0f8c968829a4e32d5064af66cba795f8c8490afec9eb677a4f45","6192bdb56ca09fde8176590331c36f3eec2fd5fb3ad7dd7401727efb2398d7fb","0810b73622b33b91f89f5d0f8b1fc0b92841e6b751a84d2c005508c563748d16","9a1b69540b9533e337c81d470724ebb054a15b994a11b759a969367b28e81368","854cbb22c44beb0fe44a46f5428521a27e8b9fb645e6ce803a5622ff44ec74ce","dd6776bc5480997847e4d3c495951de5f0401667e1880b6176f57584c49aa401","5173f8a542f4174c378adfa9a98f92a38b07755e40a14ba139cb46f6986d64d6","2278fcff8ca72dc791b3907ac363bd7370ec04e38653827c14c5dbd3fc99e335","ee7cd212dd2cfef9efd135a36a577fa35cb4af99f7e6fd3023cc9d2f7c6f438b","0bc016e4da8853d924fbfde9820db77121de75539641d02012232396b09e7dd6","6647e4b21b341f971ef92cbdbeaee6a42d77b291a43cdc73b970b2ad505bb912","2f9485d1b731e3d1d373c2a2a20e3ad41b55616b9fa13bf261d2a058cd23149b","d9df407e562a322f63c0cc3f1bcea9c1cbec38d0c92b3f49169291f22374cb6c","ba9d80c5b60b7708524491768da7d44a796042529ed945678f45356beb2504f9","7689fbecdcdb8f32296c94fe5cf5edef16a9db673d696a2aaa40ad54470e5965","2c2b0520a51bf2f420ec605fa5e327ea7d96732cc97a373c167e12ad71dda21f","5f15c8ce469d7e9da71f9ca502370c454eb29629d6c2e548fa722d00700dfb46","ce5251c882968a3ce8fc6c2e3b2c3b739a740f614eebf066b73e8ee7c5dc4f63","2146d63418ecb6b19792c162b39fb1246f4bb28a7eefcdc3e589e880140834f2","8f373e06438a141f82616c5e0b171e0bf613cc95aa1e6b8b41a8ae520dd2948e","5c9cf44d7fea3b0c9876102abc143967f2e7015dd0a89edcbe28a49906621206","6db8a395b3c5f988123adb6cc84b6410a82a060c4acde2491012b9b44b32b300","4c44739d6f89fe451021d088397f7c9fe93c24fcf2de14019c5d011fb442082d",{"version":"fb6f2007d60e8b519a2ef0c5a27026ddfe06418ae6261c4eb0cb670cca5e1bc2","impliedFormat":99},{"version":"a48f1b69ec0b94b16c7ece2cf6d6003cc8d0c329538117c1c364d8525a100850","impliedFormat":99},{"version":"cd5713ac354e4869fdf837e12d24d3ae14fd9d94a5bb2d340df63b899b74e6ca","impliedFormat":99},{"version":"56210599298d6eca6285eab99c7e9333d7e275c3a73a7f401b3055e8d55c67e8","impliedFormat":99},{"version":"2845576622e416da9871e1f3c788ba41dc4f24eb764362b10eceeb0dbaa67208","impliedFormat":99},{"version":"f0421e04e2a5238754cf444bf2a56fe7e7a94a08c14c1f9d063ff51c85825823","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"967b227fad024ba8a7c32127534089bce5adc800840b0288f44d41c4c849278e","impliedFormat":99},{"version":"ffd229492af3cb444c01e8e51a78dfdbed670940bac40dde083675d57d6984fc","impliedFormat":99},{"version":"57cdef8252cb041b4b646cc9e80dcb27d2180bb78fcf95761136d99be4079cb3","impliedFormat":99},{"version":"eb5fd8d19b0330da4dccb6cab3eae0304f056ac8fbd5bd9589ce48f0920bff78","impliedFormat":99},{"version":"db565a086622cbe616a950186dc90e82a74060864b9cd1d0f25285860daea9b4","impliedFormat":99},{"version":"71087395cc862f52662ab2629a0f3838f8f2aaf84eb40c97f4f4004f2fcbbed6","impliedFormat":99},{"version":"1e2e6cfcab26ae01d7f2dd1f78a1d25ddb7f3b2e27f50c9eb3b54ee206a87884","impliedFormat":99},{"version":"489ec23ef8dc0e869cf3d8d77a39ba83ab24e5e71362320f5662491b3dc5bd04","impliedFormat":99},{"version":"c93dd79fae382105510c69cc8eef95a96c8c43e50b47e16efa98a3f9e76f304b","impliedFormat":99},"4a5b020726455dd70acdf34ccc435273e6333cbb1a3ff08b6c451148c61b21fd","eb4d76417ff2ac49726b2efaf83e5b9924f7040151293d092e1ba38905479a02","3bae912eb95706a507e668cdfe378bb612c81b46323aae337689fabc00c3ae29","129aaa58f8b8ed74d8ef3ab03d3219f1b5a7b2902c4e111e080abdaf043686ef","c0a9cb9a3fe662b66cf598c1e2e6bc799b423699b81249bb62586acbc817b1e7","7d3bbcb2ef65e80202188d77d2e06f30c5d5d2603ca49cde35a6b298565247e9","f90ae41777b29281dcd4aa3fafb9d84c6b328860d639114a8c3fcf36beb23817","eadfe727983087acea4f17095671faba65ba5233acaed7213f140269d4528c9a","6bbe3b367d76debfa83ec26a13d0013f8dad891cddd8909a1fbdcdb719b064d9","9fec96292881b3ee00f9b34d757887223221db25d0fb534b521743e9be298d9f","fbd59a37ab9b1a3a21f2e968b539f91453e560507d9e92748f0623f7118306be","92523b7353d096bd2464e1611035b284803894aa952541021922567dfe9f15aa","49ca23a8e2de57d49da1b5b5aa2f0e0d341b4230a899efe1a6078d3779e2ea53",{"version":"be53d0833468d1d4de05770f4af2d3ec465b7ef5d5181b748997a02bf362ebd0","impliedFormat":99},{"version":"4920f950330f6a8a00a084beb7998de838a15cd54f5c774962b75614c15f8bed","impliedFormat":99},{"version":"e892ea4cf5fc5e5ab078f265c617efa3ab44a1cbd477f91fd29a27698c45eb77","impliedFormat":99},{"version":"6a33bd0416049803becacbdccd852c02f342eedce7dea12956d1176966269eeb","impliedFormat":99},{"version":"f74c6749e3944913d8002c1dd30523c520de426e9113d47b6730565318349154","impliedFormat":99},{"version":"ac5d5fd3358d3f7491400869278ea288df297b4fbc1ba035c7fd09c8df822358","impliedFormat":99},{"version":"0ce13f49afeb385ad05698a5420580c7381d758779b730c1992be7386578e1e7","impliedFormat":99},"8fa74a106f75c2eed4b65fa571e4e9b78e9a3a68f65b6c70261e87f7f47b931d","d82719b8e8a552f66dea370df85e00f9473537bb9c35dcb711d7f48cb5e707cd","a3c435d1e1eb110bb7382103c522bf44e9abb8b6883a493360fc5859db0aee10","1487f3b04d5e9ed9c5d823ff91bedbd7a8ce7a4c44b7ef16fa64a2d930a731e9","18dfdac2f4092e68e453e7a9da3d0e800e597e82fa567c49c2c7bb4c4dfb26ff",{"version":"cfbd99b288f85b7024a9092093a4161024b473dc7b6a3d7713c7088c36b610f7","signature":"0a06cd881a2ec11333b1ce287ee0122dfd7bacf0a00be97856927838854ff53e"},{"version":"53236b89647b606277f4d5d4536959394ea8fb263f0bfe2710c0d397eb00c3ab","signature":"979f0ab3cbcbb24cab91a5fe5627c33da4407e0dc121918486ff9a1558fb4fbc"},{"version":"00b3f3cdbe2c72e4ab4022ad06e9f52069619313b29e3260f8b11d5ca33ca1db","signature":"29570e0238416ace9a95fd58fd848b3cc1e61a469efd6656ecccda985de43b34"},"dfc253742eef060fb472b6f7a9c990575cd5b53cc4546435990c586f9f55df28","86ceb7a73c2dc425fa8c24317ddf5293f8256376b236ec0a7451b27b9b1e3020","1322514f75656a13ee1ab8c50e3c3cfe9ce4edaa7776858788b3cd7f1818bea4","0189214af93ec7eec2fbe86b9ca5c67d3859314cf0f96e8bae5e51702e28d432","71d91ebb72cf80852e8aa10a40eee80847c66893ede8e45a913e98fd345fb5a4","25f8be508ab9e521b85d9df33672449cdd0f789eee9cdf2fc22cf42daf15af76","766cf6a27d9dfd58d208b2809ab606b14d07ae282f537bbe05564bcf85d0b70a","636826ed92b0c92a4cfbc20c12e59444b7286749cfc06e612cc91628d538143d","07c6478863bd6a47f8577efeea2d42217dad304e2d68a94798cbf774575f9917","4a5ffd00b7602ffa7693cacc3027a653d12c6687fe24c69a39c7ffcad1c5b21d","83b8234d5bd62ea4a4350f74775782c38c7cf0dc3be9ef14c1cce24b4532b326","d98d4d82583441e2d8871c6e48e23557323fcaed67a25ca9dc01484bc46c7815","f44dbdfa5b74aae4fdafdabe36d2c70edb108788fb3fb4858521946ef9a3da0b","3f650d57b7d8ba2bb347f5ac60731f08651e7e0782397413161a835ab3a1c27c","01fcf0b95abb994925e7633d5a50f6df307ce3f4c5dd9ca0a2bba0bfbba62dba","be62ef802853a7adc675c9987e5087c1ab52506a0453f23f79151200ff918380","57120f89e4769b749bd5abf98113bf50be4a5aba4cf55365f3698786744b36f6",{"version":"8321e2c0d8cbba45922491bd779809a31c1d55056d91dc88d22cdd6cba19242d","signature":"35fed00b2851f90aa0d18bac42c9c9a9bc793b622fbd714c2d4d177233177e7e"},{"version":"0d26db464a3ae83bc13a7ba56ad541763ec9227a5a3c78a50b5b7871e13bab21","signature":"a697430f6e21400b80e57be942e0606d4f1b82623a81cc20a66e4888ead6962d"},{"version":"19570194cf1ceaa566222f37252659b1516e4b41bba44c1e88d068f4ea6a4bda","signature":"081df24260effcb73558b6d76f061d455af03e1cccb266be48a4fb5dbdc490c1"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"9443967db823b66d1682be7fc66392be7c7924e10c3e54900f456341e94591a6","impliedFormat":99},{"version":"424f71d1fae96ac2e878af92345bb87bea1d29f757228fbc190133b305643f2c","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"82179358c2d9d7347f1602dc9300039a2250e483137b38ebf31d4d2e5519c181","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"605450898939e8abce51e8085a41b60640278337a969c33cd6b169e7c4f9c3f2","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"ed9bb55ddcbebd5cb3eee991f57ff21438546ee40ee1c310281bd12a6c7cf65b","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"cb2146c3e51fbc6ad7805cfe8b5bcd777ce245f3b347e09eb3dc6e30b2e27e3f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80adb464401bcf039c934c6ddb867c3aec74a50152b4651ebfefaaa9a14be987","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f7eb51d390176f2148094f51fd93aa24bd03f6d7d655722c144905b18dc12fbb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6861690e01ef6a86a26173faed67a01e11ece540d31a0dc56df1b5a153c9c036","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0ed3463ae03412c24aa05b7b666a57b7c4232114fa5475a5d109196feebd989e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[79,80,[147,149],[167,169],[218,222]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":true,"verbatimModuleSyntax":true},"referencedMap":[[138,1],[137,2],[139,3],[136,4],[141,5],[135,6],[119,7],[117,8],[116,9],[121,10],[118,11],[115,8],[114,9],[120,11],[113,12],[111,13],[199,14],[200,15],[207,16],[208,17],[179,18],[178,19],[201,18],[186,20],[188,21],[187,22],[195,23],[177,24],[171,25],[173,26],[175,27],[176,25],[214,28],[216,29],[215,30],[213,31],[182,32],[185,33],[183,32],[184,34],[203,35],[193,36],[189,37],[190,20],[210,38],[204,39],[191,40],[209,41],[192,42],[217,43],[211,44],[218,45],[219,46],[220,47],[221,47],[222,48],[149,49],[79,49],[80,50],[148,51],[147,52],[169,53],[167,54],[168,55],[102,56],[157,57],[83,58],[84,59],[85,58],[105,60],[89,58],[104,61],[146,62],[145,63],[158,64],[91,65],[92,66],[103,67],[93,68],[97,69],[96,70],[98,71],[82,58],[95,72],[94,73],[101,74],[134,75],[144,76],[143,77],[142,75],[150,49],[151,78],[153,79],[152,52],[154,52],[155,52],[156,52],[159,80],[166,81],[161,49],[162,78],[163,82],[164,83],[165,84],[124,85],[125,86],[123,86],[133,87],[128,86],[129,86],[130,86],[131,86],[132,88],[63,89],[65,90],[64,91],[74,92],[76,49],[69,49],[77,93],[78,94],[67,95],[66,96],[72,97],[71,98],[75,99]],"latestChangedDtsFile":"./__tests__/simulation-intent-order.test.d.ts","version":"6.0.3"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types/dist/animation-target.d.ts","../../types/dist/asset-errors.d.ts","../../types/dist/result.d.ts","../../types/dist/asset-evidence.d.ts","../../types/dist/asset.d.ts","../../types/dist/material/color-space.d.ts","../../types/dist/material/asset.d.ts","../../types/dist/vfx.d.ts","../../types/dist/asset-runtime.d.ts","../../types/dist/handle.d.ts","../../types/dist/material/errors.d.ts","../../types/dist/material/resolve.d.ts","../../types/dist/material/index.d.ts","../../types/dist/asset-producer.d.ts","../../types/dist/catalog.d.ts","../../types/dist/runtime-scope.d.ts","../../types/dist/derive-paramschema.d.ts","../../types/dist/import.d.ts","../../types/dist/index.d.ts","../src/audio-backend.ts","../src/audio-intent.ts","../../ecs/dist/entity-handle.d.ts","../../ecs/dist/storage/column.d.ts","../../ecs/dist/component-schema.d.ts","../../ecs/dist/component.d.ts","../../ecs/dist/entity.d.ts","../../ecs/dist/errors/query-and-component-errors.d.ts","../../ecs/dist/errors/relationship-errors.d.ts","../../ecs/dist/errors/sprite-and-shared-errors.d.ts","../../ecs/dist/errors/validation-errors.d.ts","../../ecs/dist/world-internal.d.ts","../../ecs/dist/query/query.d.ts","../../ecs/dist/relationship-index.d.ts","../../ecs/dist/shared-ref-store.d.ts","../../ecs/dist/world-change-journal.d.ts","../../ecs/dist/storage/table.d.ts","../../ecs/dist/storage/archetype.d.ts","../../ecs/dist/storage/archetype-graph.d.ts","../../ecs/dist/storage/change-detection.d.ts","../../ecs/dist/time.d.ts","../../ecs/dist/schedule-token.d.ts","../../ecs/dist/world.d.ts","../../ecs/dist/commands.d.ts","../../ecs/dist/schedule.d.ts","../../ecs/dist/execution/shared-kernel.d.ts","../../ecs/dist/errors.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/array.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/types.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/misc.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/string.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/time.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.2/node_modules/@deepseek-ai/cosmokit/lib/types/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/utils.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/registry.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/reflect.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/fiber.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/events.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/logger.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/context.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/service.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis@4.0.1_@deepseek-ai+cordis-plugin-loader@1.0.2/node_modules/@deepseek-ai/cordis/lib/types/index.d.ts","../../tool-runtime/dist/types.d.ts","../../tool-runtime/dist/errors.d.ts","../../tool-runtime/dist/artifacts.d.ts","../../tool-runtime/dist/capability.d.ts","../../tool-runtime/dist/carrier.d.ts","../../tool-runtime/dist/lease.d.ts","../../tool-runtime/dist/migration.d.ts","../../tool-runtime/dist/runtime.d.ts","../../tool-runtime/dist/snapshot.d.ts","../../tool-runtime/dist/timing.d.ts","../../tool-runtime/dist/transport.d.ts","../../tool-runtime/dist/index.d.ts","../../plugin/dist/capability.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/internal.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/tree.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/group.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/entry.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/isolate.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/config/utils.d.ts","../../../node_modules/.pnpm/@deepseek-ai+cordis-plugin-loader@1.0.2_patch_hash=6e77a3b82171afbdac249c0e31290cc06386_1a14a168fdebad14b739afc92f305e1c/node_modules/@deepseek-ai/cordis-plugin-loader/lib/types/index.d.ts","../../plugin/dist/tool-plugin.d.ts","../../plugin/dist/loader.d.ts","../../plugin/dist/index.d.ts","../../ecs/dist/plugin-service.d.ts","../../ecs/dist/index.d.ts","../src/components.ts","../src/audio-tick-system.ts","../src/assets/audio-decoder.ts","../../scene/dist/assets/scene-decoder.d.ts","../../scene/dist/collect-subtree.d.ts","../../scene/dist/components/children.d.ts","../../scene/dist/components/child-of.d.ts","../../scene/dist/components/morph-weights.d.ts","../../scene/dist/components/name.d.ts","../../scene/dist/components/transform.d.ts","../../ecs/dist/component-default-fallback.d.ts","../../ecs/dist/projection/index.d.ts","../../scene/dist/errors.d.ts","../../scene/dist/instances/collect-profile.d.ts","../../scene/dist/instances/externalization.d.ts","../../scene/dist/instances/scene-instances.d.ts","../../scene/dist/plugin.d.ts","../../scene/dist/systems/hierarchy-projection.d.ts","../../scene/dist/systems/propagate-transforms.d.ts","../../scene/dist/index.d.ts","../src/plugin-factory.ts","../src/plugin-service.ts","../src/index.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.5/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.5/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/tasks.d-Bh0IjN67.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.5/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.5/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.5/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.5_vite@8.0.10_@types+node@20.19.40_esbuild@0.27.7_jiti@1.21.7_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.5_@types+node@20.19.40_@vitest+browser-playwright@4.1.5_@vitest+coverage-v8@_93fb3f30d132ee2e785bbc9f718b2231/node_modules/vitest/dist/index.d.ts","../src/__tests__/audio-intent.unit.test.ts","../src/__tests__/scriptable-pack-consumer.test-d.ts","../src/__tests__/simulation-intent-order.test.ts"],"fileIdsList":[[121,136,137,141,144],[121,136,138,139,141,144],[111,121,138,139,141,144],[111,121,137,138,139,141,144],[111,121,135,136,137,138,139,140,141,144],[111],[111,113,114,115,116,117,118],[111,114,115,116,117,118,119],[111,112,113,114,115,116,117,118,119],[113,114,115,116,117,118,119,120],[113,114,115,116,117,118,119],[121,141,144],[106,107,108,109,110],[197,198],[112,171,177,195,196,199],[206],[206,207],[175,177,178],[175,177],[175],[170,175,186,187],[170,175,186],[194],[170,176],[170],[172],[170,171,172,173,174],[212,213],[212,213,214,215],[212,214],[212],[181],[181,182,183,184],[183],[179,201,202,204],[179,180,192,204],[170,177,179,180,188,204],[185],[170,179,180,188,200,203,204],[179,180,185,188,204],[179,201,202,203,204],[179,185,189,190,191,204],[170,175,177,179,180,185,188,189,190,191,192,193,195,200,201,202,203,204,205,208,209,210,211,216],[170,177,179,180,188,189,201,202,203,204,209],[169,217],[146,169,217],[78],[78,79],[78,79,146,147],[146],[78,79,80,147,148,149,167,168],[79,144,145,146,147,148,166,168],[79,144,145,168],[78,81,84,90,101,105],[84,105],[84],[78,81,82,83],[86,87,88,89,104],[91,100,103],[81,83,84,85,91,92,93,99,100,101,102,103,105,145],[101,144,145,168],[78,81,84,93,98,101,105,157],[78,81,84,90,105],[81,84],[78,84,91,100,101,102,105],[78,105],[84,95,96,98],[84,95],[81,84,94,95,97],[81,82,84,98],[81],[78,81,84,90,91,92,93,98,99,100,103,104,105],[121,133,141,144],[121,134,141,142,143,144],[121,133,134,141,142,144],[152],[146,158],[150,151,152,153,154,155,156,159,160,161,162,163,164,165],[78,146],[144,145,168],[146,159],[78,146,159,164],[122,123],[122],[122,123,124,125,126,127,128,129,130,131,132],[122,126],[61,62,64],[61,62,64,78],[63],[62,64,73],[61,73,74,75,78],[60,61,62,64,66,67,68,69,72,73,74,75,76,77],[65,78],[66],[65,66,70,71],[62,66,70],[73,74]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"89fe170d9a59f81cd9a9d95de3278f108ff91491810b2529cc0ffb502a57b6c0","0b4928041c807c01b33b1fa028236df635c52f7acff5a40f2c2d0d677b53428b","5ad2e5b8b17893d0eb1f11a1b6e8c03b17344be03a6a72a624cd38ab05fe4d5c","6a1e553079e654a1771463e9eeb98ea4f7bb4b6417a5237d4fdf9b546d49647f","7f11be86b9ac5c2cd5127cd9d40ccc7694c58868a3157692a153d452fc171525","6e3488ee1183ea915eb43f08aebc5f75e30be25aef1f678d1965324bdd7506e1","c71859d3170823cd9ff0e35c6ebaa44435bfac2737e31cb55d18477abc30013e","a318d8734523d9e750681e7b8e685ef817d4049c5612451f4e849da8b2b572a9","8b52dd8be86f44f871db89a6c1f77f7585688d53141ff55b6c5fac3eb67b1241","beae2d03867dde9fdf8da461c7e7e84da71612842422d4b482ab1c2a15fe6b12","080e7748d9754ccaea8debbc933552c7976c1ef588f9642a6f07e5a4d139d43b","51342c51a9090c0bc8bae60c5ec1a0f46d6d44db84392f12a8cd46e6d8a9f617","ae777307a0baeb9b5d7ba18e6a029a54eb0b612b1491591dcedb020cc8d36f97","d7ba738e316b7baed10ca49cc156b57b8c973b747bec6612e62a925e9f7f33a4","1d5292578fcf0329a43ef19fe2481d7d1cde75e75610019a7897c70dcfff0b31","459b3765e622008ed590474ae6b61ab55107a7b9529a28d05087a6fef51d7248","ce15f7fa66eb0ff73351db6a626a397eb441aa3572707c2a156897c646b2911d","d9c64d02dfe3a9c74da35fdbcc645cf4e8d4ca0f4162ec312de51474103ac3a7","826bb4db9c934b7ae0cb5edb9fde0a73a2d54df89fd8cb8abb0184e6f66727a0",{"version":"464648d6065bd108873fe5774b99761a396b67932465dd85fa6e39e2302e6958","signature":"718e98bc1f4cbc8553ddf6b0936203570349e13872ff56497a43fc24bd66ab11"},{"version":"60f9113d383f601eb505599bf67e672f3d8523fc48c464ecf325a9f2410a409d","signature":"997072a1ea95687cb14baa1217eec1ecb25fe6b62bf7c7ff7aab1fda172da6b3"},"b866405af1564f0690ea323f070c87509bfeb2ba8afa7c49c255dbe13c176bf8","ce648e4449eb59292b997226148647ce9ca22bc9ff9062959f5f1fe6bfe06cd8","ce3d7045ddbf0f8c968829a4e32d5064af66cba795f8c8490afec9eb677a4f45","6192bdb56ca09fde8176590331c36f3eec2fd5fb3ad7dd7401727efb2398d7fb","0810b73622b33b91f89f5d0f8b1fc0b92841e6b751a84d2c005508c563748d16","9a1b69540b9533e337c81d470724ebb054a15b994a11b759a969367b28e81368","854cbb22c44beb0fe44a46f5428521a27e8b9fb645e6ce803a5622ff44ec74ce","dd6776bc5480997847e4d3c495951de5f0401667e1880b6176f57584c49aa401","21f4110077118497558bb4ca8462c9cd1dfd391e6c1608bcac4b437a4ed77d7d","2278fcff8ca72dc791b3907ac363bd7370ec04e38653827c14c5dbd3fc99e335","ee7cd212dd2cfef9efd135a36a577fa35cb4af99f7e6fd3023cc9d2f7c6f438b","0bc016e4da8853d924fbfde9820db77121de75539641d02012232396b09e7dd6","6647e4b21b341f971ef92cbdbeaee6a42d77b291a43cdc73b970b2ad505bb912","2f9485d1b731e3d1d373c2a2a20e3ad41b55616b9fa13bf261d2a058cd23149b","d9df407e562a322f63c0cc3f1bcea9c1cbec38d0c92b3f49169291f22374cb6c","ba9d80c5b60b7708524491768da7d44a796042529ed945678f45356beb2504f9","7689fbecdcdb8f32296c94fe5cf5edef16a9db673d696a2aaa40ad54470e5965","2c2b0520a51bf2f420ec605fa5e327ea7d96732cc97a373c167e12ad71dda21f","5f15c8ce469d7e9da71f9ca502370c454eb29629d6c2e548fa722d00700dfb46","ce5251c882968a3ce8fc6c2e3b2c3b739a740f614eebf066b73e8ee7c5dc4f63","33652e868da0fef68b0f8622283a014fe66a21e409f4000e77778d9dc3edc8af","8f373e06438a141f82616c5e0b171e0bf613cc95aa1e6b8b41a8ae520dd2948e","5c9cf44d7fea3b0c9876102abc143967f2e7015dd0a89edcbe28a49906621206","6db8a395b3c5f988123adb6cc84b6410a82a060c4acde2491012b9b44b32b300","28d3e288a396ce5654f673fc8bc2330edb14e52dd33d75a3e999ecf68197de1a",{"version":"fb6f2007d60e8b519a2ef0c5a27026ddfe06418ae6261c4eb0cb670cca5e1bc2","impliedFormat":99},{"version":"a48f1b69ec0b94b16c7ece2cf6d6003cc8d0c329538117c1c364d8525a100850","impliedFormat":99},{"version":"cd5713ac354e4869fdf837e12d24d3ae14fd9d94a5bb2d340df63b899b74e6ca","impliedFormat":99},{"version":"56210599298d6eca6285eab99c7e9333d7e275c3a73a7f401b3055e8d55c67e8","impliedFormat":99},{"version":"2845576622e416da9871e1f3c788ba41dc4f24eb764362b10eceeb0dbaa67208","impliedFormat":99},{"version":"f0421e04e2a5238754cf444bf2a56fe7e7a94a08c14c1f9d063ff51c85825823","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"967b227fad024ba8a7c32127534089bce5adc800840b0288f44d41c4c849278e","impliedFormat":99},{"version":"ffd229492af3cb444c01e8e51a78dfdbed670940bac40dde083675d57d6984fc","impliedFormat":99},{"version":"57cdef8252cb041b4b646cc9e80dcb27d2180bb78fcf95761136d99be4079cb3","impliedFormat":99},{"version":"eb5fd8d19b0330da4dccb6cab3eae0304f056ac8fbd5bd9589ce48f0920bff78","impliedFormat":99},{"version":"db565a086622cbe616a950186dc90e82a74060864b9cd1d0f25285860daea9b4","impliedFormat":99},{"version":"71087395cc862f52662ab2629a0f3838f8f2aaf84eb40c97f4f4004f2fcbbed6","impliedFormat":99},{"version":"1e2e6cfcab26ae01d7f2dd1f78a1d25ddb7f3b2e27f50c9eb3b54ee206a87884","impliedFormat":99},{"version":"489ec23ef8dc0e869cf3d8d77a39ba83ab24e5e71362320f5662491b3dc5bd04","impliedFormat":99},{"version":"c93dd79fae382105510c69cc8eef95a96c8c43e50b47e16efa98a3f9e76f304b","impliedFormat":99},"4a5b020726455dd70acdf34ccc435273e6333cbb1a3ff08b6c451148c61b21fd","eb4d76417ff2ac49726b2efaf83e5b9924f7040151293d092e1ba38905479a02","3bae912eb95706a507e668cdfe378bb612c81b46323aae337689fabc00c3ae29","129aaa58f8b8ed74d8ef3ab03d3219f1b5a7b2902c4e111e080abdaf043686ef","c0a9cb9a3fe662b66cf598c1e2e6bc799b423699b81249bb62586acbc817b1e7","7d3bbcb2ef65e80202188d77d2e06f30c5d5d2603ca49cde35a6b298565247e9","f90ae41777b29281dcd4aa3fafb9d84c6b328860d639114a8c3fcf36beb23817","eadfe727983087acea4f17095671faba65ba5233acaed7213f140269d4528c9a","6bbe3b367d76debfa83ec26a13d0013f8dad891cddd8909a1fbdcdb719b064d9","9fec96292881b3ee00f9b34d757887223221db25d0fb534b521743e9be298d9f","fbd59a37ab9b1a3a21f2e968b539f91453e560507d9e92748f0623f7118306be","92523b7353d096bd2464e1611035b284803894aa952541021922567dfe9f15aa","49ca23a8e2de57d49da1b5b5aa2f0e0d341b4230a899efe1a6078d3779e2ea53",{"version":"be53d0833468d1d4de05770f4af2d3ec465b7ef5d5181b748997a02bf362ebd0","impliedFormat":99},{"version":"4920f950330f6a8a00a084beb7998de838a15cd54f5c774962b75614c15f8bed","impliedFormat":99},{"version":"e892ea4cf5fc5e5ab078f265c617efa3ab44a1cbd477f91fd29a27698c45eb77","impliedFormat":99},{"version":"6a33bd0416049803becacbdccd852c02f342eedce7dea12956d1176966269eeb","impliedFormat":99},{"version":"f74c6749e3944913d8002c1dd30523c520de426e9113d47b6730565318349154","impliedFormat":99},{"version":"ac5d5fd3358d3f7491400869278ea288df297b4fbc1ba035c7fd09c8df822358","impliedFormat":99},{"version":"0ce13f49afeb385ad05698a5420580c7381d758779b730c1992be7386578e1e7","impliedFormat":99},"8fa74a106f75c2eed4b65fa571e4e9b78e9a3a68f65b6c70261e87f7f47b931d","d82719b8e8a552f66dea370df85e00f9473537bb9c35dcb711d7f48cb5e707cd","a3c435d1e1eb110bb7382103c522bf44e9abb8b6883a493360fc5859db0aee10","1487f3b04d5e9ed9c5d823ff91bedbd7a8ce7a4c44b7ef16fa64a2d930a731e9","18dfdac2f4092e68e453e7a9da3d0e800e597e82fa567c49c2c7bb4c4dfb26ff",{"version":"cfbd99b288f85b7024a9092093a4161024b473dc7b6a3d7713c7088c36b610f7","signature":"0a06cd881a2ec11333b1ce287ee0122dfd7bacf0a00be97856927838854ff53e"},{"version":"f032a2056f901014520c30c3e622f0875e3fd80ace426966efaa37f0f2fc8301","signature":"455b84b15e5c72cbde647df2d4e276f7677f7a69352c2d8375e93c3b3adf1715"},{"version":"00b3f3cdbe2c72e4ab4022ad06e9f52069619313b29e3260f8b11d5ca33ca1db","signature":"29570e0238416ace9a95fd58fd848b3cc1e61a469efd6656ecccda985de43b34"},"dfc253742eef060fb472b6f7a9c990575cd5b53cc4546435990c586f9f55df28","b6f42842961948badaf0ad572f50f5389b7573e231946548dc7c2396998088a7","1322514f75656a13ee1ab8c50e3c3cfe9ce4edaa7776858788b3cd7f1818bea4","0189214af93ec7eec2fbe86b9ca5c67d3859314cf0f96e8bae5e51702e28d432","71d91ebb72cf80852e8aa10a40eee80847c66893ede8e45a913e98fd345fb5a4","25f8be508ab9e521b85d9df33672449cdd0f789eee9cdf2fc22cf42daf15af76","766cf6a27d9dfd58d208b2809ab606b14d07ae282f537bbe05564bcf85d0b70a","636826ed92b0c92a4cfbc20c12e59444b7286749cfc06e612cc91628d538143d","cb1731f99dfa76a977adbd524c78cdec243f3eb76267758334d812b6f74310cd","4a5ffd00b7602ffa7693cacc3027a653d12c6687fe24c69a39c7ffcad1c5b21d","83b8234d5bd62ea4a4350f74775782c38c7cf0dc3be9ef14c1cce24b4532b326","d98d4d82583441e2d8871c6e48e23557323fcaed67a25ca9dc01484bc46c7815","e6b1152bf41120441046591fafde29fa4541a90574eb8161f90b3e1fe3ce254d","3f650d57b7d8ba2bb347f5ac60731f08651e7e0782397413161a835ab3a1c27c","01fcf0b95abb994925e7633d5a50f6df307ce3f4c5dd9ca0a2bba0bfbba62dba","be62ef802853a7adc675c9987e5087c1ab52506a0453f23f79151200ff918380","228059b7e6c322aa1893c7a95ed1dc886c2f458bfb26e36a3ece1c2eb4b1948d",{"version":"393108f038dae31f5b6be8f859a2deff49f9522f21fd86325b547c4401985784","signature":"35fed00b2851f90aa0d18bac42c9c9a9bc793b622fbd714c2d4d177233177e7e"},{"version":"0d26db464a3ae83bc13a7ba56ad541763ec9227a5a3c78a50b5b7871e13bab21","signature":"a697430f6e21400b80e57be942e0606d4f1b82623a81cc20a66e4888ead6962d"},{"version":"19570194cf1ceaa566222f37252659b1516e4b41bba44c1e88d068f4ea6a4bda","signature":"081df24260effcb73558b6d76f061d455af03e1cccb266be48a4fb5dbdc490c1"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"9443967db823b66d1682be7fc66392be7c7924e10c3e54900f456341e94591a6","impliedFormat":99},{"version":"424f71d1fae96ac2e878af92345bb87bea1d29f757228fbc190133b305643f2c","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"82179358c2d9d7347f1602dc9300039a2250e483137b38ebf31d4d2e5519c181","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"605450898939e8abce51e8085a41b60640278337a969c33cd6b169e7c4f9c3f2","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"ed9bb55ddcbebd5cb3eee991f57ff21438546ee40ee1c310281bd12a6c7cf65b","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"f7eb51d390176f2148094f51fd93aa24bd03f6d7d655722c144905b18dc12fbb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6861690e01ef6a86a26173faed67a01e11ece540d31a0dc56df1b5a153c9c036","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0ed3463ae03412c24aa05b7b666a57b7c4232114fa5475a5d109196feebd989e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[79,80,[147,149],[167,169],[218,220]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":true,"verbatimModuleSyntax":true},"referencedMap":[[138,1],[137,2],[139,3],[136,4],[141,5],[135,6],[119,7],[117,8],[116,9],[121,10],[118,11],[115,8],[114,9],[120,11],[113,12],[111,13],[199,14],[200,15],[207,16],[208,17],[179,18],[178,19],[201,18],[186,20],[188,21],[187,22],[195,23],[177,24],[171,25],[173,26],[175,27],[176,25],[214,28],[216,29],[215,30],[213,31],[182,32],[185,33],[183,32],[184,34],[203,35],[193,36],[189,37],[190,20],[210,38],[204,39],[191,40],[209,41],[192,42],[217,43],[211,44],[218,45],[219,45],[220,46],[149,47],[79,47],[80,48],[148,49],[147,50],[169,51],[167,52],[168,53],[102,54],[157,55],[83,56],[84,57],[85,56],[105,58],[89,56],[104,59],[146,60],[145,61],[158,62],[91,63],[92,64],[103,65],[93,66],[97,67],[96,68],[98,69],[82,56],[95,70],[94,71],[101,72],[134,73],[144,74],[143,75],[142,73],[150,47],[151,50],[153,76],[152,50],[154,50],[155,50],[156,50],[159,77],[166,78],[161,47],[162,79],[163,80],[164,81],[165,82],[124,83],[125,84],[123,84],[133,85],[128,84],[129,84],[130,84],[131,84],[132,86],[63,87],[68,88],[64,89],[74,90],[76,47],[69,47],[77,91],[78,92],[66,93],[65,94],[72,95],[71,96],[75,97]],"latestChangedDtsFile":"./__tests__/simulation-intent-order.test.d.ts","version":"6.0.3"}
@@ -12,8 +12,8 @@ export declare function listenerPoseFromWorldMatrix(world: Float32Array): {
12
12
  upY: number;
13
13
  upZ: number;
14
14
  };
15
- export type EdgeAction = ReturnType<typeof detectEdge>;
16
- export declare function detectEdge(previous: boolean, current: boolean): "play-start" | "play-stop" | "none";
15
+ export type EdgeAction = 'none' | 'play-start' | 'play-stop';
16
+ export declare function detectEdge(previous: boolean, current: boolean): EdgeAction;
17
17
  export declare function detectRemovedEntities(previous: readonly number[], current: readonly number[]): number[];
18
18
  export declare function createClipResolver(world: World): (clipHandle: number) => AudioClipAsset | undefined;
19
19
  export declare function audioTickSystem(world: World, backend: AudioBackend): void;
@@ -1 +1 @@
1
- {"version":3,"file":"audio-tick-system.d.ts","sourceRoot":"","sources":["../src/audio-tick-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,iBAAiB,CAAC;AAG/E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY;;;;;;;;;;EAc9D;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEvD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,uCAI7D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,EAAE,CAGV;AAsBD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,GACX,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAOpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAmDzE"}
1
+ {"version":3,"file":"audio-tick-system.d.ts","sourceRoot":"","sources":["../src/audio-tick-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,iBAAiB,CAAC;AAG/E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY;;;;;;;;;;EAc9D;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAI1E;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,EAAE,CAGV;AAsBD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,GACX,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAOpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAmDzE"}
package/dist/index.mjs CHANGED
@@ -206,6 +206,13 @@ function audioTickSystem(world, backend) {
206
206
  for (const entity of currentEntities) state.previousEntities.add(entity);
207
207
  }
208
208
  var AUDIO_TICK_SYSTEM_NAME = "audio-tick";
209
+ var AUDIO_COMPONENTS = [AudioSource, AudioListener];
210
+ function registerAudioComponents(world) {
211
+ const leases = AUDIO_COMPONENTS.map((component) => world.components.register(component).unwrap());
212
+ return () => {
213
+ for (let index = leases.length - 1; index >= 0; index -= 1) leases[index]?.dispose();
214
+ };
215
+ }
209
216
  function audioPlugin() {
210
217
  return {
211
218
  name: "audio",
@@ -214,6 +221,7 @@ function audioPlugin() {
214
221
  const world = ctx.world;
215
222
  const backend = ctx.audio;
216
223
  if (backend === void 0) throw new Error("Cordis activated audio without its provider");
224
+ ctx.effect(() => registerAudioComponents(world), "audio/components");
217
225
  ctx.effect(() => {
218
226
  world.insertResource(AUDIO_ENGINE_RESOURCE_KEY, backend);
219
227
  return () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/assets/audio-decoder.ts","../src/audio-backend.ts","../src/audio-intent.ts","../src/components.ts","../src/audio-tick-system.ts","../src/plugin-factory.ts","../src/plugin-service.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import {\n type AssetDecoderContribution,\n type AssetKind,\n type AudioClipAsset,\n err,\n ok,\n} from '@forgeax/engine-types';\n\nexport const audioContribution: AssetDecoderContribution<AudioClipAsset, 'audio'> = {\n kind: { kind: 'audio' } as AssetKind<AudioClipAsset, 'audio'>,\n consumer: 'AudioBackend',\n decoder: {\n async decode({ envelope, artifacts }) {\n const payload = envelope.payload as unknown;\n if (payload !== null && typeof payload === 'object') {\n const source = payload as Record<string, unknown>;\n let bytes =\n source.bytes instanceof Uint8Array\n ? source.bytes\n : Array.isArray(source.bytes)\n ? Uint8Array.from(source.bytes as number[])\n : undefined;\n const body = envelope.artifacts.body ?? envelope.artifacts.source;\n if (body !== undefined) {\n const bodyBytes = await artifacts.read(body);\n if (!bodyBytes.ok) return bodyBytes;\n bytes = bodyBytes.value;\n }\n if (\n source.kind === 'audio' &&\n typeof source.mediaType === 'string' &&\n source.mediaType.startsWith('audio/') &&\n bytes !== undefined &&\n bytes.byteLength > 0\n ) {\n return ok({\n kind: 'audio',\n sourceKey:\n typeof source.sourceKey === 'string' && source.sourceKey.length > 0\n ? source.sourceKey\n : envelope.guid,\n mediaType: source.mediaType as `audio/${string}`,\n bytes,\n });\n }\n }\n return err({\n code: 'asset-package-invalid',\n expected: 'an audio payload with non-empty source bytes and audio mediaType',\n hint: 'recook the audio source with a browser-supported media type',\n detail: { guid: envelope.guid, reason: 'audio owner validation failed' },\n });\n },\n },\n};\n","// @forgeax/engine-audio -- AudioBackend protocol interface (feat-20260527-audio-system M1 / w8)\n//\n// Decision anchors:\n// - plan-strategy D-1 (dual-package split: interface in engine-audio, impl in engine-audio-webaudio)\n// - plan-strategy D-5 (fixed two-bus topology: SFX + Music -> Master; bus name literal union)\n// - requirements S-5 (dual bus mixing hierarchy) + S-9 (AudioEngine Resource)\n// - requirements S-7 (entity despawn cleanup: stop + disconnect)\n// - charter P4 (consistent abstraction: structurally parallel to InputBackend)\n\nimport type { AudioClipAsset, AudioError } from '@forgeax/engine-types';\n\nexport type BusName = 'sfx' | 'music';\n\nexport const AUDIO_ENGINE_RESOURCE_KEY = 'AudioEngine' as const;\n\nexport interface AudioPlayOptions {\n readonly loop: boolean;\n readonly volume: number;\n readonly spatialBlend: number;\n readonly bus: BusName;\n}\n\nexport interface AudioListenerPose {\n readonly positionX: number;\n readonly positionY: number;\n readonly positionZ: number;\n readonly forwardX: number;\n readonly forwardY: number;\n readonly forwardZ: number;\n readonly upX: number;\n readonly upY: number;\n readonly upZ: number;\n}\n\nexport interface AudioState {\n readonly contextState: 'running' | 'suspended' | 'closed';\n readonly activeSourceCount: number;\n readonly lastError: AudioError | null;\n}\n\nexport interface AudioBackend {\n play(entityId: number, clip: AudioClipAsset, opts: AudioPlayOptions): void;\n stop(entityId: number): void;\n setVolume(entityId: number, volume: number): void;\n setBusVolume(busName: BusName, volume: number): void;\n setBusMute(busName: BusName, muted: boolean): void;\n setListenerPose(pose: AudioListenerPose): void;\n getState(): AudioState;\n getActiveSourceCount(): number;\n destroy(): void;\n}\n","import type { AudioClipAsset, AudioError } from '@forgeax/engine-types';\nimport type {\n AudioBackend,\n AudioListenerPose,\n AudioPlayOptions,\n AudioState,\n BusName,\n} from './audio-backend';\n\nexport type AudioIntent =\n | {\n readonly kind: 'play';\n readonly entityId: number;\n readonly sourceKey: string;\n readonly bytes?: Uint8Array;\n readonly options: AudioPlayOptions;\n }\n | { readonly kind: 'stop'; readonly entityId: number }\n | { readonly kind: 'set-volume'; readonly entityId: number; readonly volume: number }\n | { readonly kind: 'set-bus-volume'; readonly bus: BusName; readonly volume: number }\n | { readonly kind: 'set-bus-mute'; readonly bus: BusName; readonly muted: boolean }\n | { readonly kind: 'set-listener-pose'; readonly pose: AudioListenerPose }\n | { readonly kind: 'destroy' };\n\nfunction sameBytes(left: Uint8Array, right: Uint8Array): boolean {\n if (left.byteLength !== right.byteLength) return false;\n for (let index = 0; index < left.byteLength; index += 1) {\n if (left[index] !== right[index]) return false;\n }\n return true;\n}\n\nexport interface AudioIntentBackendOptions {\n readonly emit: (intent: AudioIntent) => void;\n readonly state?: () => AudioState;\n}\n\nconst DISCONNECTED_AUDIO_STATE: AudioState = {\n contextState: 'suspended',\n activeSourceCount: 0,\n lastError: null,\n};\n\nexport function createAudioIntentBackend(options: AudioIntentBackendOptions): AudioBackend {\n const publishedSources = new Map<string, Uint8Array>();\n let destroyed = false;\n const emit = (intent: AudioIntent): void => {\n if (!destroyed || intent.kind === 'destroy') options.emit(intent);\n };\n const backend: AudioBackend = {\n play(entityId: number, clip: AudioClipAsset, playOptions: AudioPlayOptions): void {\n const publishedBytes = publishedSources.get(clip.sourceKey);\n const publishBytes = publishedBytes === undefined || !sameBytes(publishedBytes, clip.bytes);\n if (publishBytes) publishedSources.set(clip.sourceKey, clip.bytes.slice());\n emit({\n kind: 'play',\n entityId,\n sourceKey: clip.sourceKey,\n ...(publishBytes ? { bytes: clip.bytes } : {}),\n options: playOptions,\n });\n },\n stop: (entityId) => emit({ kind: 'stop', entityId }),\n setVolume: (entityId, volume) => emit({ kind: 'set-volume', entityId, volume }),\n setBusVolume: (bus, volume) => {\n const intent = { kind: 'set-bus-volume', bus, volume } as const;\n emit(intent);\n },\n setBusMute: (bus, muted) => {\n const intent = { kind: 'set-bus-mute', bus, muted } as const;\n emit(intent);\n },\n setListenerPose: (pose) => {\n const intent = { kind: 'set-listener-pose', pose } as const;\n emit(intent);\n },\n getState: () => options.state?.() ?? DISCONNECTED_AUDIO_STATE,\n getActiveSourceCount: () => (options.state?.() ?? DISCONNECTED_AUDIO_STATE).activeSourceCount,\n destroy(): void {\n if (destroyed) return;\n const intent = { kind: 'destroy' } as const;\n emit(intent);\n destroyed = true;\n publishedSources.clear();\n },\n };\n return backend;\n}\n\nexport function audioIntentErrorState(error: AudioError): AudioState {\n return { contextState: 'suspended', activeSourceCount: 0, lastError: error };\n}\n","// @forgeax/engine-audio -- AudioSource + AudioListener ECS components (feat-20260527-audio-system M1 / w9)\n//\n// Decision anchors:\n// - requirements S-3 (AudioSource single-component surface, 6 fields)\n// - requirements S-4 (AudioListener independent marker component)\n// - plan-strategy D-4 (edge-detection tick system; AudioSource.playing drives play/stop edges)\n// - plan-strategy D-5 (AudioSource.bus defaults to 'sfx'; BusName is 'sfx' | 'music')\n// - plan-strategy section 3.1 (6-field AudioSource + marker AudioListener)\n// - charter P1 (progressive disclosure: 3-symbol core surface)\n// - charter P4 (consistent abstraction: same defineComponent pattern as Transform/Camera)\n\nimport { defineComponent } from '@forgeax/engine-ecs';\n\nexport const AudioSource = defineComponent('AudioSource', {\n clip: { type: 'shared<AudioClipAsset>' },\n playing: { type: 'bool', default: false },\n loop: { type: 'bool', default: false },\n volume: { type: 'f32', default: 1.0 },\n spatialBlend: { type: 'f32', default: 0 },\n bus: { type: 'string', default: 'sfx' },\n});\n\nexport const AudioListener = defineComponent('AudioListener', {});\n","import type { World } from '@forgeax/engine-ecs';\nimport type { AudioClipAsset } from '@forgeax/engine-types';\nimport type { AudioBackend, AudioPlayOptions, BusName } from './audio-backend';\nimport { AudioSource } from './components';\n\nexport function listenerPoseFromWorldMatrix(world: Float32Array) {\n const forwardLength = Math.hypot(world[8] ?? 0, world[9] ?? 0, world[10] ?? 0) || 1;\n const upLength = Math.hypot(world[4] ?? 0, world[5] ?? 0, world[6] ?? 0) || 1;\n return {\n positionX: world[12] ?? 0,\n positionY: world[13] ?? 0,\n positionZ: world[14] ?? 0,\n forwardX: -(world[8] ?? 0) / forwardLength,\n forwardY: -(world[9] ?? 0) / forwardLength,\n forwardZ: -(world[10] ?? 0) / forwardLength,\n upX: (world[4] ?? 0) / upLength,\n upY: (world[5] ?? 0) / upLength,\n upZ: (world[6] ?? 0) / upLength,\n };\n}\n\nexport type EdgeAction = ReturnType<typeof detectEdge>;\n\nexport function detectEdge(previous: boolean, current: boolean) {\n if (!previous && current) return 'play-start';\n if (previous && !current) return 'play-stop';\n return 'none';\n}\n\nexport function detectRemovedEntities(\n previous: readonly number[],\n current: readonly number[],\n): number[] {\n const currentSet = new Set(current);\n return previous.filter((entity) => !currentSet.has(entity));\n}\n\ninterface TickState {\n playing: Map<number, boolean>;\n previousEntities: Set<number>;\n volumes: Map<number, number>;\n}\n\nconst states = new WeakMap<AudioBackend, TickState>();\n\nfunction stateFor(backend: AudioBackend): TickState {\n const existing = states.get(backend);\n if (existing !== undefined) return existing;\n const created: TickState = {\n playing: new Map(),\n previousEntities: new Set(),\n volumes: new Map(),\n };\n states.set(backend, created);\n return created;\n}\n\nexport function createClipResolver(\n world: World,\n): (clipHandle: number) => AudioClipAsset | undefined {\n return (clipHandle) => {\n const resolved = world.sharedRefs.resolve<string, AudioClipAsset>(\n clipHandle as unknown as Parameters<typeof world.sharedRefs.resolve>[0],\n );\n return resolved.ok && resolved.value.kind === 'audio' ? resolved.value : undefined;\n };\n}\n\nexport function audioTickSystem(world: World, backend: AudioBackend): void {\n const state = stateFor(backend);\n const resolveClip = createClipResolver(world);\n const currentEntities: number[] = [];\n const query = world.query({ read: [AudioSource] });\n if (!query.ok) return;\n for (const queryRow of query.value) {\n const entity = queryRow.entity as number;\n const source = queryRow.get(AudioSource);\n const playing = source.playing === true;\n const previous = state.playing.get(entity) ?? false;\n const edge = detectEdge(previous, playing);\n if (edge === 'play-start') {\n const clip = resolveClip(source.clip as number);\n if (clip === undefined) {\n state.playing.set(entity, false);\n } else {\n const options: AudioPlayOptions = {\n loop: source.loop === true,\n volume: typeof source.volume === 'number' ? source.volume : 1,\n spatialBlend: typeof source.spatialBlend === 'number' ? source.spatialBlend : 0,\n bus: (typeof source.bus === 'string' ? source.bus : 'sfx') as BusName,\n };\n backend.play(entity, clip, options);\n state.playing.set(entity, true);\n state.volumes.set(entity, options.volume);\n }\n } else {\n state.playing.set(entity, playing);\n if (edge === 'play-stop') {\n backend.stop(entity);\n } else if (\n playing &&\n typeof source.volume === 'number' &&\n state.volumes.get(entity) !== source.volume\n ) {\n backend.setVolume(entity, source.volume);\n state.volumes.set(entity, source.volume);\n }\n }\n currentEntities.push(entity);\n }\n for (const entity of detectRemovedEntities([...state.previousEntities], currentEntities)) {\n if (state.playing.get(entity) === true) {\n backend.stop(entity);\n }\n state.playing.delete(entity);\n state.volumes.delete(entity);\n }\n state.previousEntities.clear();\n for (const entity of currentEntities) state.previousEntities.add(entity);\n}\n","import { Update } from '@forgeax/engine-ecs';\nimport type { Plugin } from '@forgeax/engine-plugin';\nimport { PROPAGATE_TRANSFORMS_SYSTEM, Transform } from '@forgeax/engine-scene';\nimport { AUDIO_ENGINE_RESOURCE_KEY } from './audio-backend';\nimport { audioTickSystem, listenerPoseFromWorldMatrix } from './audio-tick-system';\nimport { AudioListener } from './components';\n\nexport const AUDIO_TICK_SYSTEM_NAME = 'audio-tick' as const;\n\nexport function audioPlugin(): Plugin {\n return {\n name: 'audio',\n inject: ['world', 'audio'],\n apply(ctx) {\n const world = ctx.world;\n const backend = ctx.audio;\n if (backend === undefined) throw new Error('Cordis activated audio without its provider');\n ctx.effect(() => {\n world.insertResource(AUDIO_ENGINE_RESOURCE_KEY, backend);\n return () => {\n world.removeResource(AUDIO_ENGINE_RESOURCE_KEY);\n };\n }, 'audio/resource');\n ctx.effect(() => {\n world\n .addSystem(Update, {\n name: AUDIO_TICK_SYSTEM_NAME,\n queries: [],\n fn: () => audioTickSystem(world, backend),\n })\n .unwrap();\n return () => world.removeSystem(Update, AUDIO_TICK_SYSTEM_NAME);\n }, 'audio/tick');\n ctx.effect(() => {\n world\n .addSystem(Update, {\n name: 'audio-listener-sync',\n after: [PROPAGATE_TRANSFORMS_SYSTEM],\n queries: [],\n fn: () => {\n const listeners = world.query({ read: [Transform], with: [AudioListener] });\n if (!listeners.ok) return;\n for (const row of listeners.value) {\n const transform = row.get(Transform);\n const pose = listenerPoseFromWorldMatrix(transform.world);\n backend.setListenerPose(pose);\n break;\n }\n },\n })\n .unwrap();\n return () => world.removeSystem(Update, 'audio-listener-sync');\n }, 'audio/listener-sync');\n },\n };\n}\n","import type { Plugin } from '@forgeax/engine-plugin';\n\nimport type { AudioBackend } from './audio-backend';\n\ndeclare module '@forgeax/engine-plugin' {\n interface EngineContextServices {\n audio?: AudioBackend;\n }\n}\n\nexport function audioBackendPlugin(backend: AudioBackend): Plugin {\n return {\n name: 'audio-backend',\n provide: 'audio',\n apply(ctx) {\n ctx.provide('audio', backend);\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/assets/audio-decoder.ts","../src/audio-backend.ts","../src/audio-intent.ts","../src/components.ts","../src/audio-tick-system.ts","../src/plugin-factory.ts","../src/plugin-service.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import {\n type AssetDecoderContribution,\n type AssetKind,\n type AudioClipAsset,\n err,\n ok,\n} from '@forgeax/engine-types';\n\nexport const audioContribution: AssetDecoderContribution<AudioClipAsset, 'audio'> = {\n kind: { kind: 'audio' } as AssetKind<AudioClipAsset, 'audio'>,\n consumer: 'AudioBackend',\n decoder: {\n async decode({ envelope, artifacts }) {\n const payload = envelope.payload as unknown;\n if (payload !== null && typeof payload === 'object') {\n const source = payload as Record<string, unknown>;\n let bytes =\n source.bytes instanceof Uint8Array\n ? source.bytes\n : Array.isArray(source.bytes)\n ? Uint8Array.from(source.bytes as number[])\n : undefined;\n const body = envelope.artifacts.body ?? envelope.artifacts.source;\n if (body !== undefined) {\n const bodyBytes = await artifacts.read(body);\n if (!bodyBytes.ok) return bodyBytes;\n bytes = bodyBytes.value;\n }\n if (\n source.kind === 'audio' &&\n typeof source.mediaType === 'string' &&\n source.mediaType.startsWith('audio/') &&\n bytes !== undefined &&\n bytes.byteLength > 0\n ) {\n return ok({\n kind: 'audio',\n sourceKey:\n typeof source.sourceKey === 'string' && source.sourceKey.length > 0\n ? source.sourceKey\n : envelope.guid,\n mediaType: source.mediaType as `audio/${string}`,\n bytes,\n });\n }\n }\n return err({\n code: 'asset-package-invalid',\n expected: 'an audio payload with non-empty source bytes and audio mediaType',\n hint: 'recook the audio source with a browser-supported media type',\n detail: { guid: envelope.guid, reason: 'audio owner validation failed' },\n });\n },\n },\n};\n","// @forgeax/engine-audio -- AudioBackend protocol interface (feat-20260527-audio-system M1 / w8)\n//\n// Decision anchors:\n// - plan-strategy D-1 (dual-package split: interface in engine-audio, impl in engine-audio-webaudio)\n// - plan-strategy D-5 (fixed two-bus topology: SFX + Music -> Master; bus name literal union)\n// - requirements S-5 (dual bus mixing hierarchy) + S-9 (AudioEngine Resource)\n// - requirements S-7 (entity despawn cleanup: stop + disconnect)\n// - charter P4 (consistent abstraction: structurally parallel to InputBackend)\n\nimport type { AudioClipAsset, AudioError } from '@forgeax/engine-types';\n\nexport type BusName = 'sfx' | 'music';\n\nexport const AUDIO_ENGINE_RESOURCE_KEY = 'AudioEngine' as const;\n\nexport interface AudioPlayOptions {\n readonly loop: boolean;\n readonly volume: number;\n readonly spatialBlend: number;\n readonly bus: BusName;\n}\n\nexport interface AudioListenerPose {\n readonly positionX: number;\n readonly positionY: number;\n readonly positionZ: number;\n readonly forwardX: number;\n readonly forwardY: number;\n readonly forwardZ: number;\n readonly upX: number;\n readonly upY: number;\n readonly upZ: number;\n}\n\nexport interface AudioState {\n readonly contextState: 'running' | 'suspended' | 'closed';\n readonly activeSourceCount: number;\n readonly lastError: AudioError | null;\n}\n\nexport interface AudioBackend {\n play(entityId: number, clip: AudioClipAsset, opts: AudioPlayOptions): void;\n stop(entityId: number): void;\n setVolume(entityId: number, volume: number): void;\n setBusVolume(busName: BusName, volume: number): void;\n setBusMute(busName: BusName, muted: boolean): void;\n setListenerPose(pose: AudioListenerPose): void;\n getState(): AudioState;\n getActiveSourceCount(): number;\n destroy(): void;\n}\n","import type { AudioClipAsset, AudioError } from '@forgeax/engine-types';\nimport type {\n AudioBackend,\n AudioListenerPose,\n AudioPlayOptions,\n AudioState,\n BusName,\n} from './audio-backend';\n\nexport type AudioIntent =\n | {\n readonly kind: 'play';\n readonly entityId: number;\n readonly sourceKey: string;\n readonly bytes?: Uint8Array;\n readonly options: AudioPlayOptions;\n }\n | { readonly kind: 'stop'; readonly entityId: number }\n | { readonly kind: 'set-volume'; readonly entityId: number; readonly volume: number }\n | { readonly kind: 'set-bus-volume'; readonly bus: BusName; readonly volume: number }\n | { readonly kind: 'set-bus-mute'; readonly bus: BusName; readonly muted: boolean }\n | { readonly kind: 'set-listener-pose'; readonly pose: AudioListenerPose }\n | { readonly kind: 'destroy' };\n\nfunction sameBytes(left: Uint8Array, right: Uint8Array): boolean {\n if (left.byteLength !== right.byteLength) return false;\n for (let index = 0; index < left.byteLength; index += 1) {\n if (left[index] !== right[index]) return false;\n }\n return true;\n}\n\nexport interface AudioIntentBackendOptions {\n readonly emit: (intent: AudioIntent) => void;\n readonly state?: () => AudioState;\n}\n\nconst DISCONNECTED_AUDIO_STATE: AudioState = {\n contextState: 'suspended',\n activeSourceCount: 0,\n lastError: null,\n};\n\nexport function createAudioIntentBackend(options: AudioIntentBackendOptions): AudioBackend {\n const publishedSources = new Map<string, Uint8Array>();\n let destroyed = false;\n const emit = (intent: AudioIntent): void => {\n if (!destroyed || intent.kind === 'destroy') options.emit(intent);\n };\n const backend: AudioBackend = {\n play(entityId: number, clip: AudioClipAsset, playOptions: AudioPlayOptions): void {\n const publishedBytes = publishedSources.get(clip.sourceKey);\n const publishBytes = publishedBytes === undefined || !sameBytes(publishedBytes, clip.bytes);\n if (publishBytes) publishedSources.set(clip.sourceKey, clip.bytes.slice());\n emit({\n kind: 'play',\n entityId,\n sourceKey: clip.sourceKey,\n ...(publishBytes ? { bytes: clip.bytes } : {}),\n options: playOptions,\n });\n },\n stop: (entityId) => emit({ kind: 'stop', entityId }),\n setVolume: (entityId, volume) => emit({ kind: 'set-volume', entityId, volume }),\n setBusVolume: (bus, volume) => {\n const intent = { kind: 'set-bus-volume', bus, volume } as const;\n emit(intent);\n },\n setBusMute: (bus, muted) => {\n const intent = { kind: 'set-bus-mute', bus, muted } as const;\n emit(intent);\n },\n setListenerPose: (pose) => {\n const intent = { kind: 'set-listener-pose', pose } as const;\n emit(intent);\n },\n getState: () => options.state?.() ?? DISCONNECTED_AUDIO_STATE,\n getActiveSourceCount: () => (options.state?.() ?? DISCONNECTED_AUDIO_STATE).activeSourceCount,\n destroy(): void {\n if (destroyed) return;\n const intent = { kind: 'destroy' } as const;\n emit(intent);\n destroyed = true;\n publishedSources.clear();\n },\n };\n return backend;\n}\n\nexport function audioIntentErrorState(error: AudioError): AudioState {\n return { contextState: 'suspended', activeSourceCount: 0, lastError: error };\n}\n","// @forgeax/engine-audio -- AudioSource + AudioListener ECS components (feat-20260527-audio-system M1 / w9)\n//\n// Decision anchors:\n// - requirements S-3 (AudioSource single-component surface, 6 fields)\n// - requirements S-4 (AudioListener independent marker component)\n// - plan-strategy D-4 (edge-detection tick system; AudioSource.playing drives play/stop edges)\n// - plan-strategy D-5 (AudioSource.bus defaults to 'sfx'; BusName is 'sfx' | 'music')\n// - plan-strategy section 3.1 (6-field AudioSource + marker AudioListener)\n// - charter P1 (progressive disclosure: 3-symbol core surface)\n// - charter P4 (consistent abstraction: same defineComponent pattern as Transform/Camera)\n\nimport { defineComponent } from '@forgeax/engine-ecs';\n\nexport const AudioSource = defineComponent('AudioSource', {\n clip: { type: 'shared<AudioClipAsset>' },\n playing: { type: 'bool', default: false },\n loop: { type: 'bool', default: false },\n volume: { type: 'f32', default: 1.0 },\n spatialBlend: { type: 'f32', default: 0 },\n bus: { type: 'string', default: 'sfx' },\n});\n\nexport const AudioListener = defineComponent('AudioListener', {});\n","import type { World } from '@forgeax/engine-ecs';\nimport type { AudioClipAsset } from '@forgeax/engine-types';\nimport type { AudioBackend, AudioPlayOptions, BusName } from './audio-backend';\nimport { AudioSource } from './components';\n\nexport function listenerPoseFromWorldMatrix(world: Float32Array) {\n const forwardLength = Math.hypot(world[8] ?? 0, world[9] ?? 0, world[10] ?? 0) || 1;\n const upLength = Math.hypot(world[4] ?? 0, world[5] ?? 0, world[6] ?? 0) || 1;\n return {\n positionX: world[12] ?? 0,\n positionY: world[13] ?? 0,\n positionZ: world[14] ?? 0,\n forwardX: -(world[8] ?? 0) / forwardLength,\n forwardY: -(world[9] ?? 0) / forwardLength,\n forwardZ: -(world[10] ?? 0) / forwardLength,\n upX: (world[4] ?? 0) / upLength,\n upY: (world[5] ?? 0) / upLength,\n upZ: (world[6] ?? 0) / upLength,\n };\n}\n\nexport type EdgeAction = 'none' | 'play-start' | 'play-stop';\n\nexport function detectEdge(previous: boolean, current: boolean): EdgeAction {\n if (!previous && current) return 'play-start';\n if (previous && !current) return 'play-stop';\n return 'none';\n}\n\nexport function detectRemovedEntities(\n previous: readonly number[],\n current: readonly number[],\n): number[] {\n const currentSet = new Set(current);\n return previous.filter((entity) => !currentSet.has(entity));\n}\n\ninterface TickState {\n playing: Map<number, boolean>;\n previousEntities: Set<number>;\n volumes: Map<number, number>;\n}\n\nconst states = new WeakMap<AudioBackend, TickState>();\n\nfunction stateFor(backend: AudioBackend): TickState {\n const existing = states.get(backend);\n if (existing !== undefined) return existing;\n const created: TickState = {\n playing: new Map(),\n previousEntities: new Set(),\n volumes: new Map(),\n };\n states.set(backend, created);\n return created;\n}\n\nexport function createClipResolver(\n world: World,\n): (clipHandle: number) => AudioClipAsset | undefined {\n return (clipHandle) => {\n const resolved = world.sharedRefs.resolve<string, AudioClipAsset>(\n clipHandle as unknown as Parameters<typeof world.sharedRefs.resolve>[0],\n );\n return resolved.ok && resolved.value.kind === 'audio' ? resolved.value : undefined;\n };\n}\n\nexport function audioTickSystem(world: World, backend: AudioBackend): void {\n const state = stateFor(backend);\n const resolveClip = createClipResolver(world);\n const currentEntities: number[] = [];\n const query = world.query({ read: [AudioSource] });\n if (!query.ok) return;\n for (const queryRow of query.value) {\n const entity = queryRow.entity as number;\n const source = queryRow.get(AudioSource);\n const playing = source.playing === true;\n const previous = state.playing.get(entity) ?? false;\n const edge = detectEdge(previous, playing);\n if (edge === 'play-start') {\n const clip = resolveClip(source.clip as number);\n if (clip === undefined) {\n state.playing.set(entity, false);\n } else {\n const options: AudioPlayOptions = {\n loop: source.loop === true,\n volume: typeof source.volume === 'number' ? source.volume : 1,\n spatialBlend: typeof source.spatialBlend === 'number' ? source.spatialBlend : 0,\n bus: (typeof source.bus === 'string' ? source.bus : 'sfx') as BusName,\n };\n backend.play(entity, clip, options);\n state.playing.set(entity, true);\n state.volumes.set(entity, options.volume);\n }\n } else {\n state.playing.set(entity, playing);\n if (edge === 'play-stop') {\n backend.stop(entity);\n } else if (\n playing &&\n typeof source.volume === 'number' &&\n state.volumes.get(entity) !== source.volume\n ) {\n backend.setVolume(entity, source.volume);\n state.volumes.set(entity, source.volume);\n }\n }\n currentEntities.push(entity);\n }\n for (const entity of detectRemovedEntities([...state.previousEntities], currentEntities)) {\n if (state.playing.get(entity) === true) {\n backend.stop(entity);\n }\n state.playing.delete(entity);\n state.volumes.delete(entity);\n }\n state.previousEntities.clear();\n for (const entity of currentEntities) state.previousEntities.add(entity);\n}\n","import { type Component, Update, type World } from '@forgeax/engine-ecs';\nimport type { Plugin } from '@forgeax/engine-plugin';\nimport { PROPAGATE_TRANSFORMS_SYSTEM, Transform } from '@forgeax/engine-scene';\nimport { AUDIO_ENGINE_RESOURCE_KEY } from './audio-backend';\nimport { audioTickSystem, listenerPoseFromWorldMatrix } from './audio-tick-system';\nimport { AudioListener, AudioSource } from './components';\n\nexport const AUDIO_TICK_SYSTEM_NAME = 'audio-tick' as const;\n\nconst AUDIO_COMPONENTS: readonly Component[] = [AudioSource, AudioListener];\n\nfunction registerAudioComponents(world: World): () => void {\n const leases = AUDIO_COMPONENTS.map((component) => world.components.register(component).unwrap());\n return () => {\n for (let index = leases.length - 1; index >= 0; index -= 1) leases[index]?.dispose();\n };\n}\n\nexport function audioPlugin(): Plugin {\n return {\n name: 'audio',\n inject: ['world', 'audio'],\n apply(ctx) {\n const world = ctx.world;\n const backend = ctx.audio;\n if (backend === undefined) throw new Error('Cordis activated audio without its provider');\n ctx.effect(() => registerAudioComponents(world), 'audio/components');\n ctx.effect(() => {\n world.insertResource(AUDIO_ENGINE_RESOURCE_KEY, backend);\n return () => {\n world.removeResource(AUDIO_ENGINE_RESOURCE_KEY);\n };\n }, 'audio/resource');\n ctx.effect(() => {\n world\n .addSystem(Update, {\n name: AUDIO_TICK_SYSTEM_NAME,\n queries: [],\n fn: () => audioTickSystem(world, backend),\n })\n .unwrap();\n return () => world.removeSystem(Update, AUDIO_TICK_SYSTEM_NAME);\n }, 'audio/tick');\n ctx.effect(() => {\n world\n .addSystem(Update, {\n name: 'audio-listener-sync',\n after: [PROPAGATE_TRANSFORMS_SYSTEM],\n queries: [],\n fn: () => {\n const listeners = world.query({ read: [Transform], with: [AudioListener] });\n if (!listeners.ok) return;\n for (const row of listeners.value) {\n const transform = row.get(Transform);\n const pose = listenerPoseFromWorldMatrix(transform.world);\n backend.setListenerPose(pose);\n break;\n }\n },\n })\n .unwrap();\n return () => world.removeSystem(Update, 'audio-listener-sync');\n }, 'audio/listener-sync');\n },\n };\n}\n","import type { Plugin } from '@forgeax/engine-plugin';\n\nimport type { AudioBackend } from './audio-backend';\n\ndeclare module '@forgeax/engine-plugin' {\n interface EngineContextServices {\n audio?: AudioBackend;\n }\n}\n\nexport function audioBackendPlugin(backend: AudioBackend): Plugin {\n return {\n name: 'audio-backend',\n provide: 'audio',\n apply(ctx) {\n ctx.provide('audio', backend);\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../src/plugin-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,sBAAsB,EAAG,YAAqB,CAAC;AAE5D,wBAAgB,WAAW,IAAI,MAAM,CA8CpC"}
1
+ {"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../src/plugin-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,sBAAsB,EAAG,YAAqB,CAAC;AAW5D,wBAAgB,WAAW,IAAI,MAAM,CA+CpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeax/engine-audio",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -22,11 +22,11 @@
22
22
  "LICENSE"
23
23
  ],
24
24
  "dependencies": {
25
- "@forgeax/engine-ecs": "0.1.3",
26
- "@forgeax/engine-math": "0.1.3",
27
- "@forgeax/engine-plugin": "0.1.3",
28
- "@forgeax/engine-scene": "0.1.3",
29
- "@forgeax/engine-types": "0.1.3"
25
+ "@forgeax/engine-ecs": "0.1.6",
26
+ "@forgeax/engine-math": "0.1.6",
27
+ "@forgeax/engine-plugin": "0.1.6",
28
+ "@forgeax/engine-scene": "0.1.6",
29
+ "@forgeax/engine-types": "0.1.6"
30
30
  },
31
31
  "forgeax": {
32
32
  "metrics": {
@@ -19,9 +19,9 @@ export function listenerPoseFromWorldMatrix(world: Float32Array) {
19
19
  };
20
20
  }
21
21
 
22
- export type EdgeAction = ReturnType<typeof detectEdge>;
22
+ export type EdgeAction = 'none' | 'play-start' | 'play-stop';
23
23
 
24
- export function detectEdge(previous: boolean, current: boolean) {
24
+ export function detectEdge(previous: boolean, current: boolean): EdgeAction {
25
25
  if (!previous && current) return 'play-start';
26
26
  if (previous && !current) return 'play-stop';
27
27
  return 'none';
@@ -1,12 +1,21 @@
1
- import { Update } from '@forgeax/engine-ecs';
1
+ import { type Component, Update, type World } from '@forgeax/engine-ecs';
2
2
  import type { Plugin } from '@forgeax/engine-plugin';
3
3
  import { PROPAGATE_TRANSFORMS_SYSTEM, Transform } from '@forgeax/engine-scene';
4
4
  import { AUDIO_ENGINE_RESOURCE_KEY } from './audio-backend';
5
5
  import { audioTickSystem, listenerPoseFromWorldMatrix } from './audio-tick-system';
6
- import { AudioListener } from './components';
6
+ import { AudioListener, AudioSource } from './components';
7
7
 
8
8
  export const AUDIO_TICK_SYSTEM_NAME = 'audio-tick' as const;
9
9
 
10
+ const AUDIO_COMPONENTS: readonly Component[] = [AudioSource, AudioListener];
11
+
12
+ function registerAudioComponents(world: World): () => void {
13
+ const leases = AUDIO_COMPONENTS.map((component) => world.components.register(component).unwrap());
14
+ return () => {
15
+ for (let index = leases.length - 1; index >= 0; index -= 1) leases[index]?.dispose();
16
+ };
17
+ }
18
+
10
19
  export function audioPlugin(): Plugin {
11
20
  return {
12
21
  name: 'audio',
@@ -15,6 +24,7 @@ export function audioPlugin(): Plugin {
15
24
  const world = ctx.world;
16
25
  const backend = ctx.audio;
17
26
  if (backend === undefined) throw new Error('Cordis activated audio without its provider');
27
+ ctx.effect(() => registerAudioComponents(world), 'audio/components');
18
28
  ctx.effect(() => {
19
29
  world.insertResource(AUDIO_ENGINE_RESOURCE_KEY, backend);
20
30
  return () => {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=asset-decoder.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-decoder.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/asset-decoder.unit.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=audio-edge-action-owner.test-d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio-edge-action-owner.test-d.d.ts","sourceRoot":"","sources":["../../src/__tests__/audio-edge-action-owner.test-d.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- import { World } from '@forgeax/engine-ecs';
2
- import type { AudioClipAsset } from '@forgeax/engine-types';
3
- import { describe, expect, it } from 'vitest';
4
- import { audioContribution } from '../assets/audio-decoder';
5
- import { createClipResolver } from '../audio-tick-system';
6
-
7
- describe('audio asset consumer boundary', () => {
8
- it('exposes the realm-neutral audio owner contribution', () => {
9
- expect(audioContribution.kind.kind).toBe('audio');
10
- expect(audioContribution.consumer).toBe('AudioBackend');
11
- });
12
- it('resolves a durable audio payload without a registry or host object', () => {
13
- const clip: AudioClipAsset = {
14
- kind: 'audio',
15
- sourceKey: '019e2cc6-0c86-79da-aa76-b0984c86d45c',
16
- mediaType: 'audio/ogg',
17
- bytes: new Uint8Array([1, 2, 3]),
18
- };
19
- const world = new World();
20
- const handle = world.internSharedRef('AudioClipAsset', clip);
21
- const resolver = createClipResolver(world);
22
-
23
- expect(resolver(handle)).toBe(clip);
24
- expect(resolver(0)).toBeUndefined();
25
- });
26
- });
@@ -1,25 +0,0 @@
1
- import { describe, expect, expectTypeOf, it } from 'vitest';
2
- import { detectEdge, type EdgeAction } from '../audio-tick-system.js';
3
- import type { EdgeAction as PublicEdgeAction } from '../index.js';
4
-
5
- describe('audio edge action owner', () => {
6
- it('derives the public action from the executable edge detector', () => {
7
- expectTypeOf<EdgeAction>().toEqualTypeOf<ReturnType<typeof detectEdge>>();
8
- expectTypeOf<ReturnType<typeof detectEdge>>().toEqualTypeOf<
9
- 'none' | 'play-start' | 'play-stop'
10
- >();
11
- expectTypeOf<PublicEdgeAction>().toEqualTypeOf<EdgeAction>();
12
-
13
- expect(detectEdge(false, false)).toBe('none');
14
- expect(detectEdge(false, true)).toBe('play-start');
15
- expect(detectEdge(true, false)).toBe('play-stop');
16
- expect(detectEdge(true, true)).toBe('none');
17
-
18
- const acceptsAction = (value: EdgeAction): EdgeAction => value;
19
- acceptsAction('none');
20
- acceptsAction('play-start');
21
- acceptsAction('play-stop');
22
- // @ts-expect-error Unknown edge actions remain outside the executable vocabulary.
23
- acceptsAction('unknown');
24
- });
25
- });