@forgeax/engine-vfx 0.1.28 → 0.1.29

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.
Files changed (53) hide show
  1. package/README.md +62 -14
  2. package/dist/assets/particle-effect-decoder.d.ts.map +1 -1
  3. package/dist/authoring-descriptor.d.ts +4 -4
  4. package/dist/authoring-descriptor.d.ts.map +1 -1
  5. package/dist/code-source-v3.d.ts +101 -0
  6. package/dist/code-source-v3.d.ts.map +1 -0
  7. package/dist/code-source.d.ts +12 -11
  8. package/dist/code-source.d.ts.map +1 -1
  9. package/dist/data-interface.d.ts +17 -1
  10. package/dist/data-interface.d.ts.map +1 -1
  11. package/dist/effect-contract.d.ts +11 -1
  12. package/dist/effect-contract.d.ts.map +1 -1
  13. package/dist/gpu-loader.d.ts +5 -5
  14. package/dist/gpu-loader.d.ts.map +1 -1
  15. package/dist/gpu-program.d.ts +52 -27
  16. package/dist/gpu-program.d.ts.map +1 -1
  17. package/dist/gpu-runtime.d.ts +32 -7
  18. package/dist/gpu-runtime.d.ts.map +1 -1
  19. package/dist/index.d.ts +10 -6
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.mjs +647 -117
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/particle-layout.d.ts +62 -0
  24. package/dist/particle-layout.d.ts.map +1 -0
  25. package/package.json +5 -5
  26. package/src/__tests__/authoring-descriptor.unit.test.ts +18 -8
  27. package/src/__tests__/channel-input.unit.test.ts +4 -1
  28. package/src/__tests__/channel-overflow-policy-owner.test-d.ts +2 -2
  29. package/src/__tests__/code-source-v2.unit.test.ts +15 -14
  30. package/src/__tests__/data-interface-contract.unit.test.ts +41 -2
  31. package/src/__tests__/effect-contract.unit.test.ts +6 -3
  32. package/src/__tests__/gpu-program-simulation-culling-owner.test-d.ts +6 -6
  33. package/src/__tests__/gpu-reflection-vocabulary-owner.test-d.ts +2 -2
  34. package/src/__tests__/gpu-runtime.integration.test.ts +244 -11
  35. package/src/__tests__/instance-public-api.unit.test.ts +4 -1
  36. package/src/__tests__/instance.unit.test.ts +4 -1
  37. package/src/__tests__/loader-v1-rejection.unit.test.ts +14 -14
  38. package/src/__tests__/player-reflection.unit.test.ts +2 -2
  39. package/src/__tests__/player-type.test-d.ts +4 -1
  40. package/src/__tests__/renderer-source.unit.test.ts +6 -6
  41. package/src/__tests__/replay-canonical.unit.test.ts +4 -1
  42. package/src/__tests__/vfx-data-interface-vocabulary-owner.test-d.ts +3 -8
  43. package/src/assets/particle-effect-decoder.ts +4 -3
  44. package/src/authoring-descriptor.ts +26 -28
  45. package/src/code-source-v3.ts +460 -0
  46. package/src/code-source.ts +23 -27
  47. package/src/data-interface.ts +66 -1
  48. package/src/effect-contract.ts +73 -20
  49. package/src/gpu-loader.ts +61 -35
  50. package/src/gpu-program.ts +57 -35
  51. package/src/gpu-runtime.ts +115 -42
  52. package/src/index.ts +53 -9
  53. package/src/particle-layout.ts +214 -0
@@ -1,8 +1,11 @@
1
- import type { BindGroupLayoutDescriptor, ParticleEffectAsset, ParticleEffectProgram, ParticleEffectProgramEmitter } from '@forgeax/engine-types';
2
- import type { ParticleChannelSource, ParticleEmitterSourceV2, ParticleEventSource, ParticleRendererOverflowPolicy, ParticleRendererSorting, ParticleRendererSource, ParticleStageDomain, ParticleStageResourceAccess } from './code-source.js';
1
+ import type { BindGroupLayoutDescriptor, MaterialParticleInput, ParticleEffectAssetV3, ParticleEffectProgramEmitter, ParticleEffectProgramV3 } from '@forgeax/engine-types';
2
+ import type { ParticleChannelSource, ParticleEventSource, ParticleStageDomain, ParticleStageResourceAccess } from './code-source.js';
3
+ import type { ParticleEmitterSourceV3, ParticleRendererSemanticMap, ParticleRendererSortingV3, ParticleRendererSourceV3 } from './code-source-v3.js';
3
4
  import type { VfxDataInterfaceRequirement } from './data-interface.js';
4
5
  import type { VfxEffectReflection } from './effect-contract.js';
5
- export declare const VFX_GPU_PROGRAM_FORMAT: "forgeax-vfx-program-2";
6
+ /** The only cooked GPU program ABI exposed by the runtime. */
7
+ export declare const VFX_GPU_PROGRAM_FORMAT: "forgeax-vfx-program-3";
8
+ export declare const VFX_GPU_PROGRAM_FORMAT_V3: "forgeax-vfx-program-3";
6
9
  export declare const VFX_GPU_PROGRAM_ARTIFACT_KEY: "particle-effect/program.json";
7
10
  export interface VfxGpuStageReflection {
8
11
  readonly id: string;
@@ -16,13 +19,17 @@ export interface VfxGpuStageReflection {
16
19
  readonly dependsOn: readonly string[];
17
20
  readonly iterationBudget: number;
18
21
  }
19
- export interface VfxGpuRendererReflection {
20
- readonly topology: ParticleRendererSource['kind'];
22
+ /** Reflection of one executable renderer projection. */
23
+ export interface VfxGpuRendererReflectionV3 {
24
+ readonly topology: ParticleRendererSourceV3['kind'];
21
25
  readonly resource: string;
22
26
  readonly capacity: number;
23
- readonly overflow: ParticleRendererOverflowPolicy;
27
+ readonly overflow: 'drop-newest' | 'drop-oldest';
24
28
  readonly enabled: boolean;
25
29
  readonly shaderInputs: readonly string[];
30
+ readonly attributes: ParticleRendererSemanticMap;
31
+ readonly materialInputs: readonly string[];
32
+ readonly materialInputDefinitions?: readonly MaterialParticleInput[];
26
33
  readonly textureSheet?: {
27
34
  readonly columns: number;
28
35
  readonly rows: number;
@@ -34,47 +41,65 @@ export interface VfxGpuRendererReflection {
34
41
  readonly fadeDistance: number;
35
42
  readonly requiresDepth: true;
36
43
  };
37
- readonly sorting?: ParticleRendererSorting;
44
+ readonly sorting?: ParticleRendererSortingV3;
38
45
  readonly stripKey?: 'alive-index';
39
46
  readonly historyLength?: number;
40
47
  readonly endpointField?: 'velocity';
48
+ readonly lighting?: 'unlit' | 'standard';
49
+ readonly castShadows: boolean;
50
+ readonly receiveShadows: boolean;
41
51
  }
42
- export interface VfxGpuProgramReflection {
52
+ export interface VfxGpuProgramReflectionV3 {
43
53
  readonly hooks: readonly ['vfx_spawn', 'vfx_update'];
44
54
  readonly imports: readonly string[];
45
55
  readonly resources: readonly string[];
46
56
  readonly entryPoints: readonly string[];
47
57
  readonly bindings: readonly BindGroupLayoutDescriptor[];
48
- readonly layout?: VfxEffectReflection;
49
- readonly dataInterfaces?: readonly VfxDataInterfaceRequirement[];
50
- readonly eventChannels?: readonly ParticleChannelSource[];
51
- readonly events?: readonly ParticleEventSource[];
52
- readonly eventEntryPoint?: 'forgeax_vfx_event_main';
53
- readonly stages?: readonly VfxGpuStageReflection[];
54
- readonly renderers?: readonly VfxGpuRendererReflection[];
58
+ readonly layout: VfxEffectReflection;
59
+ readonly dataInterfaces: readonly VfxDataInterfaceRequirement[];
60
+ readonly eventChannels: readonly ParticleChannelSource[];
61
+ readonly events: readonly ParticleEventSource[];
62
+ readonly eventEntryPoint: 'forgeax_vfx_event_main';
63
+ readonly stages: readonly VfxGpuStageReflection[];
64
+ readonly renderers: readonly VfxGpuRendererReflectionV3[];
55
65
  }
56
- export interface VfxGpuEmitterProgram extends Omit<ParticleEffectProgramEmitter, 'schedule' | 'bounds' | 'renderers' | 'reflection' | 'channels' | 'events'> {
66
+ export interface VfxGpuEmitterProgramV3 extends Omit<ParticleEffectProgramEmitter, 'renderers' | 'reflection'> {
57
67
  readonly id: string;
58
68
  readonly module: string;
59
69
  readonly capacity: number;
60
- readonly backend: ParticleEmitterSourceV2['backend'];
61
- readonly space: ParticleEmitterSourceV2['space'];
62
- readonly schedule: ParticleEmitterSourceV2['schedule'];
63
- readonly bounds: ParticleEmitterSourceV2['bounds'];
64
- readonly renderers: ParticleEmitterSourceV2['renderers'];
70
+ readonly backend: ParticleEmitterSourceV3['backend'];
71
+ readonly space: ParticleEmitterSourceV3['space'];
72
+ readonly schedule: ParticleEmitterSourceV3['schedule'];
73
+ readonly bounds: ParticleEmitterSourceV3['bounds'];
74
+ readonly renderers: readonly ParticleRendererSourceV3[];
65
75
  readonly channels?: readonly ParticleChannelSource[];
66
76
  readonly events?: readonly ParticleEventSource[];
67
- readonly simulationWhenCulled: NonNullable<ParticleEmitterSourceV2['simulationWhenCulled']>;
77
+ readonly simulationWhenCulled: NonNullable<ParticleEmitterSourceV3['simulationWhenCulled']>;
68
78
  readonly wgsl: string;
69
- readonly reflection: VfxGpuProgramReflection;
79
+ readonly reflection: VfxGpuProgramReflectionV3;
70
80
  }
71
- export interface VfxGpuProgram extends Omit<ParticleEffectProgram, 'emitters'> {
81
+ export interface VfxGpuProgramV3 extends Omit<ParticleEffectProgramV3, 'emitters'> {
72
82
  readonly format: typeof VFX_GPU_PROGRAM_FORMAT;
73
83
  readonly fingerprint: string;
74
- readonly emitters: readonly VfxGpuEmitterProgram[];
84
+ readonly emitters: readonly VfxGpuEmitterProgramV3[];
75
85
  }
76
- export interface VfxGpuEffectAsset extends ParticleEffectAsset {
86
+ export interface VfxGpuEffectAssetV3 extends Omit<ParticleEffectAssetV3, 'program'> {
77
87
  readonly guid: string;
78
- readonly program: VfxGpuProgram;
88
+ readonly kind: 'particle-effect';
89
+ readonly schemaVersion: 3;
90
+ readonly programFingerprint: string;
91
+ readonly emitters: readonly {
92
+ readonly id: string;
93
+ readonly capacity: number;
94
+ }[];
95
+ readonly program: VfxGpuProgramV3;
79
96
  }
97
+ /** Public names point at the same one-cut Program v3 shapes. */
98
+ export type VfxGpuRendererReflection = VfxGpuRendererReflectionV3;
99
+ export type VfxGpuProgramReflection = VfxGpuProgramReflectionV3;
100
+ export type VfxGpuEmitterProgram = VfxGpuEmitterProgramV3;
101
+ export type VfxGpuProgram = VfxGpuProgramV3;
102
+ export type VfxGpuEffectAsset = VfxGpuEffectAssetV3;
103
+ export type VfxGpuEmitterProgramAny = VfxGpuEmitterProgramV3;
104
+ export type VfxGpuEffectAssetAny = VfxGpuEffectAssetV3;
80
105
  //# sourceMappingURL=gpu-program.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-program.d.ts","sourceRoot":"","sources":["../src/gpu-program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gpu-program.d.ts","sourceRoot":"","sources":["../src/gpu-program.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type EntityHandle, type World } from '@forgeax/engine-ecs';
2
2
  import type { Plugin } from '@forgeax/engine-plugin';
3
3
  import { type Handle } from '@forgeax/engine-types';
4
4
  import type { VfxValueMap } from './effect-contract.js';
5
- import type { VfxGpuEmitterProgram } from './gpu-program.js';
5
+ import type { VfxGpuEmitterProgramAny } from './gpu-program.js';
6
6
  import { ParticleEffectInstance, type VfxChannelCounters, type VfxReplayInput } from './instance.js';
7
7
  export declare const VFX_GPU_RUNTIME_RESOURCE_KEY = "VfxGpuRuntime";
8
8
  export interface VfxInspectSnapshotInput {
@@ -46,7 +46,7 @@ export declare function createVfxInspectSnapshot(input: VfxInspectSnapshotInput)
46
46
  export interface VfxGpuTickIntent {
47
47
  readonly sequence: number;
48
48
  readonly player: EntityHandle;
49
- readonly emitter: VfxGpuEmitterProgram;
49
+ readonly emitter: VfxGpuEmitterProgramAny;
50
50
  readonly programFingerprint: string;
51
51
  readonly reset: boolean;
52
52
  readonly fixedDelta: number;
@@ -80,17 +80,22 @@ export interface VfxGpuEmitterInspectSnapshot {
80
80
  readonly spawnCount: number;
81
81
  readonly firstParticleId: number;
82
82
  readonly reset: boolean;
83
- readonly schedule: VfxGpuEmitterProgram['schedule'];
84
- readonly bounds: VfxGpuEmitterProgram['bounds'];
85
- readonly simulationWhenCulled: VfxGpuEmitterProgram['simulationWhenCulled'];
83
+ readonly schedule: VfxGpuEmitterProgramAny['schedule'];
84
+ readonly bounds: VfxGpuEmitterProgramAny['bounds'];
85
+ readonly simulationWhenCulled: VfxGpuEmitterProgramAny['simulationWhenCulled'];
86
86
  readonly renderers: readonly {
87
87
  readonly index: number;
88
- readonly kind: VfxGpuEmitterProgram['renderers'][number]['kind'];
88
+ readonly kind: VfxGpuEmitterProgramAny['renderers'][number]['kind'];
89
89
  readonly enabled: boolean;
90
90
  }[];
91
91
  readonly stages: readonly string[];
92
92
  readonly dataInterfaces: readonly string[];
93
93
  }
94
+ /** Renderer-facing source view used to refresh culling without a queued tick. */
95
+ export interface VfxGpuEmitterSource {
96
+ readonly player: EntityHandle;
97
+ readonly emitter: VfxGpuEmitterProgramAny;
98
+ }
94
99
  export interface VfxGpuCommittedInspectSnapshot {
95
100
  readonly sequence: number;
96
101
  readonly tick: number;
@@ -140,7 +145,19 @@ export declare class VfxGpuRuntime {
140
145
  get renderGeneration(): number;
141
146
  snapshot(): readonly VfxGpuTickIntent[];
142
147
  diagnostics(): readonly VfxGpuRuntimeDiagnostic[];
148
+ /**
149
+ * Visit every live emitter source. The renderer uses this on render frames
150
+ * where pause/restart culling has no pending simulation intent, so a camera
151
+ * move back into the bounds can refresh visibility before the next tick.
152
+ */
153
+ forEachEmitterSource(visitor: (source: VfxGpuEmitterSource) => void): void;
143
154
  lastCommitted(player: EntityHandle): VfxGpuTickIntent | undefined;
155
+ /**
156
+ * Return the last submitted fixed-tick state for one emitter. Renderers
157
+ * retain this projection between fixed ticks; simulation intents are a
158
+ * queue, while a drawable emitter remains live until the player is reset.
159
+ */
160
+ lastCommittedEmitter(player: EntityHandle, emitterId: string): VfxGpuTickIntent | undefined;
144
161
  inspectPlayers(): readonly VfxGpuPlayerInspectSnapshot[];
145
162
  inspectPlayer(player: EntityHandle): VfxGpuPlayerInspectSnapshot | undefined;
146
163
  eventCounters(player: EntityHandle): VfxChannelCounters;
@@ -154,7 +171,15 @@ export declare class VfxGpuRuntime {
154
171
  isEmitterSessionEnabled(player: EntityHandle, emitterId: string): boolean;
155
172
  /** Restart from tick zero without changing authored `ParticleEffectPlayer.playing`. */
156
173
  replay(player: EntityHandle, input?: VfxReplayInput<VfxValueMap>): void;
157
- commit(sequence: number): void;
174
+ /**
175
+ * Acknowledge queued intents. A scalar acknowledges the contiguous prefix;
176
+ * an array acknowledges only those terminal sequences, which lets unrelated
177
+ * player/emitter streams progress while another stream is deferred. When the
178
+ * renderer supplies `publishedSequences`, only intents that reached GPU
179
+ * submission update the retained last-committed projection; skipped intents
180
+ * are queue acknowledgements, not new GPU state.
181
+ */
182
+ commit(sequence: number | readonly number[], publishedSequences?: readonly number[]): void;
158
183
  reset(player: EntityHandle): void;
159
184
  /**
160
185
  * Drop every generation-owned VFX runtime value after device recovery.
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-runtime.d.ts","sourceRoot":"","sources":["../src/gpu-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gpu-runtime.d.ts","sourceRoot":"","sources":["../src/gpu-runtime.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,21 +1,25 @@
1
- export type { ParticleEffectAsset, ParticleEmitterDefinition } from '@forgeax/engine-types';
1
+ export type { ParticleEffectAsset, ParticleEffectAssetV3, ParticleEffectProgramV3, ParticleEmitterDefinition, } from '@forgeax/engine-types';
2
2
  export { particleEffectContribution } from './assets/particle-effect-decoder';
3
3
  export type { VfxAuthoringCapabilityDescriptor, VfxAuthoringDependencyDescriptor, VfxAuthoringDescriptor, VfxAuthoringEmitterDescriptor, VfxAuthoringFieldDescriptor, VfxAuthoringNodeDescriptor, VfxAuthoringNodeRole, VfxAuthoringTimelineDescriptor, VfxAuthoringValue, } from './authoring-descriptor.js';
4
4
  export { describeVfxGpuEffect, isVfxGpuEffectAsset } from './authoring-descriptor.js';
5
- export type { ParticleBoundsSource, ParticleChannelOverflowPolicy, ParticleChannelSource, ParticleCodeSourceError, ParticleCodeSourceInvalidDetail, ParticleEffectRootSourceV2, ParticleEffectSourceV2, ParticleEmitterSourceV2, ParticleEventSource, ParticleRendererOverflowPolicy, ParticleRendererSorting, ParticleRendererSource, ParticleStageDomain, ParticleStageResourceAccess, ParticleStageResourceSource, ParticleStageSource, } from './code-source.js';
6
- export { defineParticleEffectSourceV2, PARTICLE_CODE_DEFAULT_MODULE_ID, PARTICLE_STAGE_RESOURCE_NAMES, parseParticleEffectSourceV2, parseVfxStageDeclarations, } from './code-source.js';
5
+ export type { ParticleBoundsSource, ParticleChannelOverflowPolicy, ParticleChannelSource, ParticleCodeSourceError, ParticleCodeSourceInvalidDetail, ParticleEventSource, ParticleRendererOverflowPolicy, ParticleStageDomain, ParticleStageResourceAccess, ParticleStageResourceSource, ParticleStageSource, } from './code-source.js';
6
+ export { PARTICLE_CODE_DEFAULT_MODULE_ID, PARTICLE_STAGE_RESOURCE_NAMES, parseVfxStageDeclarations, } from './code-source.js';
7
+ export type { ParticleAttributeRef, ParticleEffectRootSourceV3, ParticleEffectSourceV3, ParticleEmitterSourceV3, ParticleRendererSemantic, ParticleRendererSemanticMap, ParticleRendererSortingV3, ParticleRendererSourceV3, } from './code-source-v3.js';
8
+ export { defaultParticleRendererAttributes, defineParticleEffectSourceV3, PARTICLE_RENDERER_SEMANTICS, parseParticleEffectSourceV3, } from './code-source-v3.js';
7
9
  export type { VfxDataInterfaceBindingType, VfxDataInterfaceError, VfxDataInterfaceErrorDetail, VfxDataInterfaceKind, VfxDataInterfaceLifetime, VfxDataInterfaceProvider, VfxDataInterfaceRequirement, VfxDataInterfaceResolution, VfxDataInterfaceResource, VfxDataInterfaceToken, } from './data-interface.js';
8
10
  export { resolveVfxDataInterfaces } from './data-interface.js';
9
11
  export type { VfxEffectContract, VfxEffectContractError, VfxEffectContractErrorDetail, VfxEffectReflection, VfxReflectedField, VfxReflectedStruct, VfxValue, VfxValueMap, VfxValueType, } from './effect-contract.js';
10
12
  export { createVfxEffectContract, validateVfxEffectValues } from './effect-contract.js';
11
13
  export type { VfxGpuAssetError } from './gpu-loader.js';
12
14
  export { loadVfxGpuEffect, vfxGpuEffectContribution, vfxGpuEffectPackLoader, } from './gpu-loader.js';
13
- export type { VfxGpuEffectAsset, VfxGpuEmitterProgram, VfxGpuProgram, VfxGpuProgramReflection, VfxGpuStageReflection, } from './gpu-program.js';
14
- export { VFX_GPU_PROGRAM_ARTIFACT_KEY, VFX_GPU_PROGRAM_FORMAT } from './gpu-program.js';
15
- export type { VfxGpuEmitterInspectSnapshot, VfxGpuPlayerInspectSnapshot, VfxGpuRuntimeDiagnostic, VfxGpuRuntimeOptions, VfxGpuTickIntent, } from './gpu-runtime.js';
15
+ export type { VfxGpuEffectAsset, VfxGpuEffectAssetAny, VfxGpuEffectAssetV3, VfxGpuEmitterProgram, VfxGpuEmitterProgramAny, VfxGpuEmitterProgramV3, VfxGpuProgram, VfxGpuProgramReflection, VfxGpuProgramReflectionV3, VfxGpuProgramV3, VfxGpuRendererReflectionV3, VfxGpuStageReflection, } from './gpu-program.js';
16
+ export { VFX_GPU_PROGRAM_ARTIFACT_KEY, VFX_GPU_PROGRAM_FORMAT, VFX_GPU_PROGRAM_FORMAT_V3, } from './gpu-program.js';
17
+ export type { VfxGpuEmitterInspectSnapshot, VfxGpuEmitterSource, VfxGpuPlayerInspectSnapshot, VfxGpuRuntimeDiagnostic, VfxGpuRuntimeOptions, VfxGpuTickIntent, } from './gpu-runtime.js';
16
18
  export { createVfxInspectSnapshot, VFX_GPU_RUNTIME_RESOURCE_KEY, VfxGpuRuntime, vfxGpuRuntimePlugin, } from './gpu-runtime.js';
17
19
  export type { VfxChannelCounters, VfxChannelInput, VfxChannelPayload, VfxInstanceCommit, VfxInstanceCommitOptions, VfxInstanceError, VfxInstanceOptions, VfxInstanceParent, VfxReplayInput, } from './instance.js';
18
20
  export { createParticleEffectInstance, ParticleEffectInstance, } from './instance.js';
21
+ export type { VfxCustomLayout, VfxParametersLayout, VfxParticleCoreAttribute, VfxParticleCoreField, VfxParticleCoreLayout, VfxParticleCoreValue, VfxParticleCoreValues, } from './particle-layout.js';
22
+ export { deriveVfxCustomLayout, encodeVfxParticleCore, normalizedVfxParticleAge, VFX_PARTICLE_CORE_LAYOUT, VFX_PARTICLE_CORE_STRIDE, vfxParticleCoreField, vfxParticleCoreWgsl, } from './particle-layout.js';
19
23
  export type { ParticleEffectPlayerData } from './player.js';
20
24
  export { ParticleEffectPlayer } from './player.js';
21
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,YAAY,EACV,gCAAgC,EAChC,gCAAgC,EAChC,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtF,YAAY,EACV,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACxF,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,YAAY,EACV,gCAAgC,EAChC,gCAAgC,EAChC,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtF,YAAY,EACV,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}