@flighthq/particles 0.5.1-next.815.cc08b93 → 0.5.1-next.903.f434bc2
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 +2 -2
- package/dist/contract.d.ts +4 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +4 -0
- package/dist/contract.js.map +1 -1
- package/dist/particleEmitterConfig.d.ts +3 -2
- package/dist/particleEmitterConfig.d.ts.map +1 -1
- package/dist/particleEmitterConfig.js +58 -54
- package/dist/particleEmitterConfig.js.map +1 -1
- package/dist/particleEmitterSignals.d.ts +4 -3
- package/dist/particleEmitterSignals.d.ts.map +1 -1
- package/dist/particleEmitterSignals.js +11 -8
- package/dist/particleEmitterSignals.js.map +1 -1
- package/dist/particleEmitterState.d.ts +2 -1
- package/dist/particleEmitterState.d.ts.map +1 -1
- package/dist/particleEmitterState.js +19 -16
- package/dist/particleEmitterState.js.map +1 -1
- package/dist/particleObjectsState.d.ts +2 -1
- package/dist/particleObjectsState.d.ts.map +1 -1
- package/dist/particleObjectsState.js +16 -13
- package/dist/particleObjectsState.js.map +1 -1
- package/dist/validateParticleEmitterConfig.js.map +1 -1
- package/package.json +5 -5
- package/src/applyParticleCollisions.test.ts +11 -12
- package/src/applyParticleForces.test.ts +11 -12
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/particles`. The `@fl
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/particles@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/particles@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/particles)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
|
@@ -9,4 +9,8 @@ export * from './particleSpawnOffset';
|
|
|
9
9
|
export * from './stepParticleObjects';
|
|
10
10
|
export * from './updateParticleObjects';
|
|
11
11
|
export * from './validateParticleEmitterConfig';
|
|
12
|
+
export { initializeParticleEmitterSignals } from './particleEmitterSignals';
|
|
13
|
+
export { initializeParticleEmitterConfig } from './particleEmitterConfig';
|
|
14
|
+
export { initializeParticleObjectsState } from './particleObjectsState';
|
|
15
|
+
export { initializeParticleEmitterState } from './particleEmitterState';
|
|
12
16
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -9,4 +9,8 @@ export * from './particleSpawnOffset';
|
|
|
9
9
|
export * from './stepParticleObjects';
|
|
10
10
|
export * from './updateParticleObjects';
|
|
11
11
|
export * from './validateParticleEmitterConfig';
|
|
12
|
+
export { initializeParticleEmitterSignals } from './particleEmitterSignals';
|
|
13
|
+
export { initializeParticleEmitterConfig } from './particleEmitterConfig';
|
|
14
|
+
export { initializeParticleObjectsState } from './particleObjectsState';
|
|
15
|
+
export { initializeParticleEmitterState } from './particleEmitterState';
|
|
12
16
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createParticleEmitterConfig(config?: Partial<ParticleEmitterConfig>):
|
|
1
|
+
import type { ParticleEmitterConfig, EntityConstruction } from '@flighthq/types/contract';
|
|
2
|
+
export declare function createParticleEmitterConfig(config?: Partial<ParticleEmitterConfig>): ParticleEmitterConfig;
|
|
3
|
+
export declare function initializeParticleEmitterConfig(out: EntityConstruction<ParticleEmitterConfig>, config?: Partial<ParticleEmitterConfig>): void;
|
|
3
4
|
//# sourceMappingURL=particleEmitterConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterConfig.d.ts","sourceRoot":"","sources":["../src/particleEmitterConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"particleEmitterConfig.d.ts","sourceRoot":"","sources":["../src/particleEmitterConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAI1G;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,IAAI,CAqDN"}
|
|
@@ -1,57 +1,61 @@
|
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
1
2
|
export function createParticleEmitterConfig(config) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
3
|
+
const out = allocateEntity();
|
|
4
|
+
initializeParticleEmitterConfig(out, config);
|
|
5
|
+
return finishEntity(out);
|
|
6
|
+
}
|
|
7
|
+
export function initializeParticleEmitterConfig(out, config) {
|
|
8
|
+
out.alphaCurve = config?.alphaCurve ?? null;
|
|
9
|
+
out.alphaEnd = config?.alphaEnd ?? 0;
|
|
10
|
+
out.alphaStart = config?.alphaStart ?? 1;
|
|
11
|
+
out.blendMode = config?.blendMode ?? null;
|
|
12
|
+
out.burstCount = config?.burstCount ?? 0;
|
|
13
|
+
out.burstInterval = config?.burstInterval ?? 0;
|
|
14
|
+
out.colorCurve = config?.colorCurve ?? null;
|
|
15
|
+
out.colorEndB = config?.colorEndB ?? 1;
|
|
16
|
+
out.colorEndG = config?.colorEndG ?? 1;
|
|
17
|
+
out.colorEndR = config?.colorEndR ?? 1;
|
|
18
|
+
out.colorEndVarianceB = config?.colorEndVarianceB ?? 0;
|
|
19
|
+
out.colorEndVarianceG = config?.colorEndVarianceG ?? 0;
|
|
20
|
+
out.colorEndVarianceR = config?.colorEndVarianceR ?? 0;
|
|
21
|
+
out.colorStartB = config?.colorStartB ?? 1;
|
|
22
|
+
out.colorStartG = config?.colorStartG ?? 1;
|
|
23
|
+
out.colorStartR = config?.colorStartR ?? 1;
|
|
24
|
+
out.colorStartVarianceB = config?.colorStartVarianceB ?? 0;
|
|
25
|
+
out.colorStartVarianceG = config?.colorStartVarianceG ?? 0;
|
|
26
|
+
out.colorStartVarianceR = config?.colorStartVarianceR ?? 0;
|
|
27
|
+
out.directionX = config?.directionX ?? 0;
|
|
28
|
+
out.directionY = config?.directionY ?? -1;
|
|
29
|
+
out.directionZ = config?.directionZ ?? 0;
|
|
30
|
+
out.duration = config?.duration ?? 0;
|
|
31
|
+
out.emitterConeAngle = config?.emitterConeAngle ?? 0;
|
|
32
|
+
out.emitterDepth = config?.emitterDepth ?? 0;
|
|
33
|
+
out.emitterHeight = config?.emitterHeight ?? 0;
|
|
34
|
+
out.emitterRadius = config?.emitterRadius ?? 0;
|
|
35
|
+
out.emitterShape = config?.emitterShape ?? 'point';
|
|
36
|
+
out.emitterWidth = config?.emitterWidth ?? 0;
|
|
37
|
+
out.frameCount = config?.frameCount ?? 1;
|
|
38
|
+
out.frameRate = config?.frameRate ?? 12;
|
|
39
|
+
out.gravityX = config?.gravityX ?? 0;
|
|
40
|
+
out.gravityY = config?.gravityY ?? 0;
|
|
41
|
+
out.gravityZ = config?.gravityZ ?? 0;
|
|
42
|
+
out.lifetimeMax = config?.lifetimeMax ?? 1;
|
|
43
|
+
out.lifetimeMin = config?.lifetimeMin ?? 0.5;
|
|
44
|
+
out.loop = config?.loop ?? true;
|
|
45
|
+
out.maxParticles = config?.maxParticles ?? 1000;
|
|
46
|
+
out.regionIdMax = config?.regionIdMax ?? 1;
|
|
47
|
+
out.regionIdMin = config?.regionIdMin ?? 0;
|
|
48
|
+
out.rotationSpeedMax = config?.rotationSpeedMax ?? 0;
|
|
49
|
+
out.rotationSpeedMin = config?.rotationSpeedMin ?? 0;
|
|
50
|
+
out.scaleCurve = config?.scaleCurve ?? null;
|
|
51
|
+
out.scaleEnd = config?.scaleEnd ?? 1;
|
|
52
|
+
out.scaleMax = config?.scaleMax ?? 1;
|
|
53
|
+
out.scaleMin = config?.scaleMin ?? 1;
|
|
54
|
+
out.spawnRate = config?.spawnRate ?? 10;
|
|
55
|
+
out.speedMax = config?.speedMax ?? 100;
|
|
56
|
+
out.speedMin = config?.speedMin ?? 50;
|
|
57
|
+
out.spread = config?.spread ?? Math.PI;
|
|
58
|
+
out.velocityInheritance = config?.velocityInheritance ?? 0;
|
|
59
|
+
out.worldSpace = config?.worldSpace ?? false;
|
|
56
60
|
}
|
|
57
61
|
//# sourceMappingURL=particleEmitterConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterConfig.js","sourceRoot":"","sources":["../src/particleEmitterConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"particleEmitterConfig.js","sourceRoot":"","sources":["../src/particleEmitterConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { ParticleEmitterSignals } from '@flighthq/types/contract';
|
|
2
|
-
/** Create a fresh {@link ParticleEmitterSignals} group. Called by
|
|
3
|
-
* {@link enableParticleEmitterSignals} on first use; exported for unit testing. */
|
|
1
|
+
import type { ParticleEmitterSignals, EntityConstruction } from '@flighthq/types/contract';
|
|
4
2
|
export declare function createParticleEmitterSignals(): ParticleEmitterSignals;
|
|
5
3
|
/** Opt-in signals for a typed-array particle emitter.
|
|
6
4
|
*
|
|
@@ -16,4 +14,7 @@ export declare function enableParticleEmitterSignals(state: object): ParticleEmi
|
|
|
16
14
|
/** Return the {@link ParticleEmitterSignals} attached to `state`, or `null` if signals
|
|
17
15
|
* have not been enabled for this emitter. */
|
|
18
16
|
export declare function getParticleEmitterSignals(state: object): ParticleEmitterSignals | null;
|
|
17
|
+
/** Create a fresh {@link ParticleEmitterSignals} group. Called by
|
|
18
|
+
* {@link enableParticleEmitterSignals} on first use; exported for unit testing. */
|
|
19
|
+
export declare function initializeParticleEmitterSignals(out: EntityConstruction<ParticleEmitterSignals>): void;
|
|
19
20
|
//# sourceMappingURL=particleEmitterSignals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterSignals.d.ts","sourceRoot":"","sources":["../src/particleEmitterSignals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleEmitterSignals.d.ts","sourceRoot":"","sources":["../src/particleEmitterSignals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,wBAAgB,4BAA4B,IAAI,sBAAsB,CAIrE;AAED;;;;;;;;;gEASgE;AAChE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAGlF;AAED;8CAC8C;AAC9C,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAEtF;AAED;oFACoF;AACpF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAItG"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { createSignal } from '@flighthq/signals/contract';
|
|
3
|
-
/** Create a fresh {@link ParticleEmitterSignals} group. Called by
|
|
4
|
-
* {@link enableParticleEmitterSignals} on first use; exported for unit testing. */
|
|
5
3
|
export function createParticleEmitterSignals() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
onParticleSpawn: createSignal(),
|
|
10
|
-
});
|
|
4
|
+
const out = allocateEntity();
|
|
5
|
+
initializeParticleEmitterSignals(out);
|
|
6
|
+
return finishEntity(out);
|
|
11
7
|
}
|
|
12
8
|
/** Opt-in signals for a typed-array particle emitter.
|
|
13
9
|
*
|
|
@@ -28,6 +24,13 @@ export function enableParticleEmitterSignals(state) {
|
|
|
28
24
|
export function getParticleEmitterSignals(state) {
|
|
29
25
|
return state[signalsSlot] ?? null;
|
|
30
26
|
}
|
|
27
|
+
/** Create a fresh {@link ParticleEmitterSignals} group. Called by
|
|
28
|
+
* {@link enableParticleEmitterSignals} on first use; exported for unit testing. */
|
|
29
|
+
export function initializeParticleEmitterSignals(out) {
|
|
30
|
+
out.onEmitterComplete = createSignal();
|
|
31
|
+
out.onParticleDeath = createSignal();
|
|
32
|
+
out.onParticleSpawn = createSignal();
|
|
33
|
+
}
|
|
31
34
|
// Per-emitter state slot for signal storage. Keyed by a module-level symbol so
|
|
32
35
|
// there is no collision with other packages that might attach state to the same object.
|
|
33
36
|
const signalsSlot = Symbol('particleEmitterSignals');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterSignals.js","sourceRoot":"","sources":["../src/particleEmitterSignals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleEmitterSignals.js","sourceRoot":"","sources":["../src/particleEmitterSignals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,UAAU,4BAA4B;IAC1C,MAAM,GAAG,GAAG,cAAc,EAA0B,CAAC;IACrD,gCAAgC,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;gEASgE;AAChE,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,CAAC,GAAG,KAA2D,CAAC;IACtE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,4BAA4B,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAQ,KAA4D,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AAC5F,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,gCAAgC,CAAC,GAA+C;IAC9F,GAAG,CAAC,iBAAiB,GAAG,YAAY,EAAE,CAAC;IACvC,GAAG,CAAC,eAAe,GAAG,YAAY,EAAE,CAAC;IACrC,GAAG,CAAC,eAAe,GAAG,YAAY,EAAE,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,wFAAwF;AACxF,MAAM,WAAW,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ParticleEmitterState, RandomSource } from '@flighthq/types/contract';
|
|
1
|
+
import type { ParticleEmitterState, RandomSource, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
export declare const PARTICLE_VELOCITY_STRIDE = 3;
|
|
3
3
|
export declare function createParticleEmitterState(random?: RandomSource): ParticleEmitterState;
|
|
4
4
|
/** Grow the per-particle state arrays to hold at least `capacity` particles.
|
|
5
5
|
* No-op when already large enough. `colorBirth`/`colorDeath` are only grown when
|
|
6
6
|
* the emitter uses color variance (they stay empty otherwise). */
|
|
7
7
|
export declare function ensureParticleEmitterStateCapacity(state: ParticleEmitterState, capacity: number, hasColorVariance: boolean): void;
|
|
8
|
+
export declare function initializeParticleEmitterState(out: EntityConstruction<ParticleEmitterState>, random?: RandomSource): void;
|
|
8
9
|
//# sourceMappingURL=particleEmitterState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterState.d.ts","sourceRoot":"","sources":["../src/particleEmitterState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleEmitterState.d.ts","sourceRoot":"","sources":["../src/particleEmitterState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGvG,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,YAA0B,GAAG,oBAAoB,CAInG;AAED;;mEAEmE;AACnE,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,GACxB,IAAI,CAgBN;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAC7C,MAAM,GAAE,YAA0B,GACjC,IAAI,CAcN"}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { reserveFloat32Array } from '@flighthq/geometry/contract';
|
|
3
3
|
// Velocity stride: [vx, vy, vz] per particle.
|
|
4
4
|
export const PARTICLE_VELOCITY_STRIDE = 3;
|
|
5
5
|
export function createParticleEmitterState(random = Math.random) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
colorDeath: new Float32Array(),
|
|
10
|
-
emitterAge: 0,
|
|
11
|
-
lifetimes: new Float32Array(),
|
|
12
|
-
prevX: NaN,
|
|
13
|
-
prevY: NaN,
|
|
14
|
-
prevZ: NaN,
|
|
15
|
-
random,
|
|
16
|
-
rotationSpeeds: new Float32Array(),
|
|
17
|
-
scales: new Float32Array(),
|
|
18
|
-
spawnAccumulator: 0,
|
|
19
|
-
velocities: new Float32Array(),
|
|
20
|
-
});
|
|
6
|
+
const out = allocateEntity();
|
|
7
|
+
initializeParticleEmitterState(out, random);
|
|
8
|
+
return finishEntity(out);
|
|
21
9
|
}
|
|
22
10
|
/** Grow the per-particle state arrays to hold at least `capacity` particles.
|
|
23
11
|
* No-op when already large enough. `colorBirth`/`colorDeath` are only grown when
|
|
@@ -39,4 +27,19 @@ export function ensureParticleEmitterStateCapacity(state, capacity, hasColorVari
|
|
|
39
27
|
state.colorDeath = reserveFloat32Array(state.colorDeath, capacity * 3);
|
|
40
28
|
}
|
|
41
29
|
}
|
|
30
|
+
export function initializeParticleEmitterState(out, random = Math.random) {
|
|
31
|
+
out.burstTimer = 0;
|
|
32
|
+
out.colorBirth = new Float32Array();
|
|
33
|
+
out.colorDeath = new Float32Array();
|
|
34
|
+
out.emitterAge = 0;
|
|
35
|
+
out.lifetimes = new Float32Array();
|
|
36
|
+
out.prevX = NaN;
|
|
37
|
+
out.prevY = NaN;
|
|
38
|
+
out.prevZ = NaN;
|
|
39
|
+
out.random = random;
|
|
40
|
+
out.rotationSpeeds = new Float32Array();
|
|
41
|
+
out.scales = new Float32Array();
|
|
42
|
+
out.spawnAccumulator = 0;
|
|
43
|
+
out.velocities = new Float32Array();
|
|
44
|
+
}
|
|
42
45
|
//# sourceMappingURL=particleEmitterState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleEmitterState.js","sourceRoot":"","sources":["../src/particleEmitterState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleEmitterState.js","sourceRoot":"","sources":["../src/particleEmitterState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,MAAM,UAAU,0BAA0B,CAAC,SAAuB,IAAI,CAAC,MAAM;IAC3E,MAAM,GAAG,GAAG,cAAc,EAAwB,CAAC;IACnD,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;mEAEmE;AACnE,MAAM,UAAU,kCAAkC,CAChD,KAA2B,EAC3B,QAAgB,EAChB,gBAAyB;IAEzB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACvE,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO;IACT,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,wBAAwB,CAAC,CAAC;IAC9F,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC3E,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QACvE,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAA6C,EAC7C,SAAuB,IAAI,CAAC,MAAM;IAElC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,GAAG,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAChB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,GAAG,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAChC,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { ParticleObjectsState, RandomSource } from '@flighthq/types/contract';
|
|
1
|
+
import type { ParticleObjectsState, RandomSource, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createParticleObjectsState(capacity: number, random?: RandomSource): ParticleObjectsState;
|
|
3
3
|
export declare function ensureParticleObjectsStateCapacity(state: ParticleObjectsState, capacity: number): void;
|
|
4
|
+
export declare function initializeParticleObjectsState(out: EntityConstruction<ParticleObjectsState>, capacity: number, random?: RandomSource): void;
|
|
4
5
|
//# sourceMappingURL=particleObjectsState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleObjectsState.d.ts","sourceRoot":"","sources":["../src/particleObjectsState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleObjectsState.d.ts","sourceRoot":"","sources":["../src/particleObjectsState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEvG,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA0B,GAAG,oBAAoB,CAIrH;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMtG;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,YAA0B,GACjC,IAAI,CAWN"}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { reserveFloat32Array } from '@flighthq/geometry/contract';
|
|
3
3
|
export function createParticleObjectsState(capacity, random = Math.random) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
lifetimes: new Float32Array(capacity * 2),
|
|
8
|
-
prevX: NaN,
|
|
9
|
-
prevY: NaN,
|
|
10
|
-
random,
|
|
11
|
-
rotationSpeeds: new Float32Array(capacity),
|
|
12
|
-
scales: new Float32Array(capacity),
|
|
13
|
-
spawnAccumulator: 0,
|
|
14
|
-
velocities: new Float32Array(capacity * 2),
|
|
15
|
-
});
|
|
4
|
+
const out = allocateEntity();
|
|
5
|
+
initializeParticleObjectsState(out, capacity, random);
|
|
6
|
+
return finishEntity(out);
|
|
16
7
|
}
|
|
17
8
|
export function ensureParticleObjectsStateCapacity(state, capacity) {
|
|
18
9
|
if (state.lifetimes.length >= capacity * 2)
|
|
@@ -22,4 +13,16 @@ export function ensureParticleObjectsStateCapacity(state, capacity) {
|
|
|
22
13
|
state.scales = reserveFloat32Array(state.scales, capacity);
|
|
23
14
|
state.rotationSpeeds = reserveFloat32Array(state.rotationSpeeds, capacity);
|
|
24
15
|
}
|
|
16
|
+
export function initializeParticleObjectsState(out, capacity, random = Math.random) {
|
|
17
|
+
out.burstTimer = 0;
|
|
18
|
+
out.emitterAge = 0;
|
|
19
|
+
out.lifetimes = new Float32Array(capacity * 2);
|
|
20
|
+
out.prevX = NaN;
|
|
21
|
+
out.prevY = NaN;
|
|
22
|
+
out.random = random;
|
|
23
|
+
out.rotationSpeeds = new Float32Array(capacity);
|
|
24
|
+
out.scales = new Float32Array(capacity);
|
|
25
|
+
out.spawnAccumulator = 0;
|
|
26
|
+
out.velocities = new Float32Array(capacity * 2);
|
|
27
|
+
}
|
|
25
28
|
//# sourceMappingURL=particleObjectsState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particleObjectsState.js","sourceRoot":"","sources":["../src/particleObjectsState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"particleObjectsState.js","sourceRoot":"","sources":["../src/particleObjectsState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,UAAU,0BAA0B,CAAC,QAAgB,EAAE,SAAuB,IAAI,CAAC,MAAM;IAC7F,MAAM,GAAG,GAAG,cAAc,EAAwB,CAAC;IACnD,8BAA8B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAA2B,EAAE,QAAgB;IAC9F,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO;IACnD,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAA6C,EAC7C,QAAgB,EAChB,SAAuB,IAAI,CAAC,MAAM;IAElC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAChB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateParticleEmitterConfig.js","sourceRoot":"","sources":["../src/validateParticleEmitterConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validateParticleEmitterConfig.js","sourceRoot":"","sources":["../src/validateParticleEmitterConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/particles",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.903.f434bc2",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/entity": "0.5.1-next.
|
|
42
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
43
|
-
"@flighthq/signals": "0.5.1-next.
|
|
44
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/entity": "0.5.1-next.903.f434bc2",
|
|
42
|
+
"@flighthq/geometry": "0.5.1-next.903.f434bc2",
|
|
43
|
+
"@flighthq/signals": "0.5.1-next.903.f434bc2",
|
|
44
|
+
"@flighthq/types": "0.5.1-next.903.f434bc2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@flighthq/math": "*",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import type { ParticleEmitter2D, ParticleEmitterData } from '@flighthq/types/contract';
|
|
3
3
|
import type { ParticleObject } from '@flighthq/types/contract';
|
|
4
4
|
|
|
@@ -9,17 +9,16 @@ import { createParticleObjectsState } from './particleObjectsState';
|
|
|
9
9
|
// Node-free SoA emitter fixture: applyParticleCollisions reads only `emitter.data`, so the display
|
|
10
10
|
// node from @flighthq/particleemitter is not needed to unit-test the collision pass.
|
|
11
11
|
function createEmitterFixture(capacity: number): ParticleEmitter2D {
|
|
12
|
-
const data
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
12
|
+
const data = allocateEntity<any>();
|
|
13
|
+
data.alphas = new Float32Array(capacity);
|
|
14
|
+
data.atlas = null;
|
|
15
|
+
data.colors = new Float32Array(capacity * 3);
|
|
16
|
+
data.ids = new Uint16Array(capacity);
|
|
17
|
+
data.particleCount = 0;
|
|
18
|
+
data.positionsZ = new Float32Array(capacity);
|
|
19
|
+
data.transforms = new Float32Array(capacity * 4);
|
|
20
|
+
data.velocities = new Float32Array(capacity * 2);
|
|
21
|
+
data.worldSpace = false;
|
|
23
22
|
return { data, x: 0, y: 0 } as unknown as ParticleEmitter2D;
|
|
24
23
|
}
|
|
25
24
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import type { ParticleEmitter2D, ParticleEmitterData } from '@flighthq/types/contract';
|
|
3
3
|
import type { ParticleObject } from '@flighthq/types/contract';
|
|
4
4
|
|
|
@@ -12,17 +12,16 @@ import { updateParticleObjects } from './updateParticleObjects';
|
|
|
12
12
|
// node from @flighthq/particleemitter is not needed to unit-test the force pass. Keeping this
|
|
13
13
|
// fixture local preserves particles as a pure sim leaf.
|
|
14
14
|
function createEmitterFixture(capacity: number): ParticleEmitter2D {
|
|
15
|
-
const data
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
15
|
+
const data = allocateEntity<any>();
|
|
16
|
+
data.alphas = new Float32Array(capacity);
|
|
17
|
+
data.atlas = null;
|
|
18
|
+
data.colors = new Float32Array(capacity * 3);
|
|
19
|
+
data.ids = new Uint16Array(capacity);
|
|
20
|
+
data.particleCount = 0;
|
|
21
|
+
data.positionsZ = new Float32Array(capacity);
|
|
22
|
+
data.transforms = new Float32Array(capacity * 4);
|
|
23
|
+
data.velocities = new Float32Array(capacity * 2);
|
|
24
|
+
data.worldSpace = false;
|
|
26
25
|
return { data, x: 0, y: 0 } as unknown as ParticleEmitter2D;
|
|
27
26
|
}
|
|
28
27
|
|