custom-pixi-particles 4.42.0 → 4.43.0
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/dist/lib/behaviour/TemperatureBehaviour.d.ts +1 -1
- package/dist/lib/behaviour/TemperatureBehaviour.js +32 -15
- package/dist/lib/behaviour/TemperatureBehaviour.js.map +1 -1
- package/dist/lib/behaviour/ToroidalWrapBehaviour.d.ts +1 -0
- package/dist/lib/behaviour/ToroidalWrapBehaviour.js +34 -4
- package/dist/lib/behaviour/ToroidalWrapBehaviour.js.map +1 -1
- package/dist/lib/util/toroidalWrapExtents.d.ts +12 -0
- package/dist/lib/util/toroidalWrapExtents.js +27 -0
- package/dist/lib/util/toroidalWrapExtents.js.map +1 -1
- package/dist/lib/util/toroidalWrapFade.d.ts +7 -0
- package/dist/lib/util/toroidalWrapFade.js +28 -4
- package/dist/lib/util/toroidalWrapFade.js.map +1 -1
- package/dist/lib/util/toroidalWrapVisibility.js +2 -3
- package/dist/lib/util/toroidalWrapVisibility.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,7 +44,7 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
44
44
|
private hasResidualZoneTint;
|
|
45
45
|
private syncColorSkip;
|
|
46
46
|
private clearGradualColorState;
|
|
47
|
-
private
|
|
47
|
+
private findActiveZoneIndex;
|
|
48
48
|
private zoneColor;
|
|
49
49
|
private copyColor;
|
|
50
50
|
private writeColor;
|
|
@@ -27,11 +27,12 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
27
27
|
p._temperatureBlend = 0;
|
|
28
28
|
p._temperatureOutsideColor = null;
|
|
29
29
|
p._temperatureLastZoneColor = null;
|
|
30
|
+
p._temperatureActiveZoneIndex = -1;
|
|
30
31
|
p._toroidalJustWrapped = false;
|
|
31
32
|
particle.skipColorBehaviour = false;
|
|
32
33
|
}
|
|
33
34
|
apply(particle, deltaTime = 1 / 60, model) {
|
|
34
|
-
var _a, _b, _c, _d;
|
|
35
|
+
var _a, _b, _c, _d, _e;
|
|
35
36
|
if (!this.enabled || !this.zones || !this.zones.length)
|
|
36
37
|
return;
|
|
37
38
|
const p = particle;
|
|
@@ -39,10 +40,16 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
39
40
|
if (justWrapped) {
|
|
40
41
|
p._toroidalJustWrapped = false;
|
|
41
42
|
}
|
|
42
|
-
const
|
|
43
|
+
const activeZoneIndex = this.findActiveZoneIndex(particle);
|
|
44
|
+
const activeZone = activeZoneIndex >= 0 ? this.zones[activeZoneIndex] : null;
|
|
43
45
|
const naturalColor = this.copyColor(particle);
|
|
44
46
|
const wasInZone = p._temperatureInZone === true;
|
|
45
|
-
const
|
|
47
|
+
const previousZoneIndex = (_a = p._temperatureActiveZoneIndex) !== null && _a !== void 0 ? _a : -1;
|
|
48
|
+
const zoneChanged = wasInZone &&
|
|
49
|
+
activeZone !== null &&
|
|
50
|
+
previousZoneIndex >= 0 &&
|
|
51
|
+
activeZoneIndex !== previousZoneIndex;
|
|
52
|
+
const visibilityResume = ((_b = model === null || model === void 0 ? void 0 : model.visibilityResumeGeneration) !== null && _b !== void 0 ? _b : 0) > this._reconciledVisibilityResumeGeneration;
|
|
46
53
|
let residualTint = !activeZone && this.hasResidualZoneTint(particle, p, wasInZone, justWrapped);
|
|
47
54
|
if (!activeZone &&
|
|
48
55
|
visibilityResume &&
|
|
@@ -67,6 +74,7 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
67
74
|
p._temperatureOutsideColor = naturalColor;
|
|
68
75
|
}
|
|
69
76
|
p._temperatureInZone = false;
|
|
77
|
+
p._temperatureActiveZoneIndex = -1;
|
|
70
78
|
this.syncColorSkip(particle, p, false);
|
|
71
79
|
if (!this.gradualColorTransition) {
|
|
72
80
|
this.clearGradualColorState(particle, p);
|
|
@@ -77,10 +85,15 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
77
85
|
p._temperatureTransitioningOut = false;
|
|
78
86
|
if (!wasInZone) {
|
|
79
87
|
p._temperatureOutsideColor = naturalColor;
|
|
80
|
-
if (((
|
|
88
|
+
if (((_c = p._temperatureBlend) !== null && _c !== void 0 ? _c : 0) <= 0) {
|
|
81
89
|
p._temperatureBlend = 0;
|
|
82
90
|
}
|
|
83
91
|
}
|
|
92
|
+
else if (zoneChanged) {
|
|
93
|
+
// Ease from the current zone tint into the new zone instead of snapping.
|
|
94
|
+
p._temperatureOutsideColor = naturalColor;
|
|
95
|
+
p._temperatureBlend = 0;
|
|
96
|
+
}
|
|
84
97
|
else if (!p._temperatureOutsideColor) {
|
|
85
98
|
p._temperatureOutsideColor = naturalColor;
|
|
86
99
|
}
|
|
@@ -97,15 +110,16 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
97
110
|
const zoneColor = this.zoneColor(activeZone);
|
|
98
111
|
p._temperatureLastZoneColor = zoneColor;
|
|
99
112
|
if (this.gradualColorTransition) {
|
|
100
|
-
const blend = this.stepBlendToward((
|
|
113
|
+
const blend = this.stepBlendToward((_d = p._temperatureBlend) !== null && _d !== void 0 ? _d : 0, 1, deltaTime);
|
|
101
114
|
p._temperatureBlend = blend;
|
|
102
|
-
const outside = (
|
|
115
|
+
const outside = (_e = p._temperatureOutsideColor) !== null && _e !== void 0 ? _e : naturalColor;
|
|
103
116
|
this.writeColor(particle, this.mixColors(outside, zoneColor, blend));
|
|
104
117
|
}
|
|
105
118
|
else {
|
|
106
119
|
this.writeColor(particle, zoneColor);
|
|
107
120
|
}
|
|
108
121
|
p._temperatureInZone = true;
|
|
122
|
+
p._temperatureActiveZoneIndex = activeZoneIndex;
|
|
109
123
|
this.syncColorSkip(particle, p, true);
|
|
110
124
|
}
|
|
111
125
|
onParticlesUpdated(model) {
|
|
@@ -184,12 +198,15 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
184
198
|
return distToZone < distToOutside * 0.35 && distToZone <= 3600;
|
|
185
199
|
}
|
|
186
200
|
hasResidualZoneTint(particle, p, wasInZone, justWrapped) {
|
|
187
|
-
var _a;
|
|
188
|
-
if (justWrapped)
|
|
189
|
-
|
|
201
|
+
var _a, _b;
|
|
202
|
+
if (justWrapped) {
|
|
203
|
+
if (wasInZone || ((_a = p._temperatureBlend) !== null && _a !== void 0 ? _a : 0) > 0.001)
|
|
204
|
+
return true;
|
|
205
|
+
return this.matchesAnyZoneColorValue(this.copyColor(particle), 12);
|
|
206
|
+
}
|
|
190
207
|
if (p._temperatureTransitioningOut === true)
|
|
191
208
|
return true;
|
|
192
|
-
if (this.gradualColorTransition && ((
|
|
209
|
+
if (this.gradualColorTransition && ((_b = p._temperatureBlend) !== null && _b !== void 0 ? _b : 0) > 0.001)
|
|
193
210
|
return true;
|
|
194
211
|
if (this.matchesAnyZoneColorValue(this.copyColor(particle), 12))
|
|
195
212
|
return true;
|
|
@@ -223,13 +240,13 @@ export default class TemperatureBehaviour extends Behaviour {
|
|
|
223
240
|
p._temperatureLastZoneColor = null;
|
|
224
241
|
}
|
|
225
242
|
}
|
|
226
|
-
|
|
227
|
-
for (
|
|
228
|
-
if (this.isInZone(particle,
|
|
229
|
-
return
|
|
243
|
+
findActiveZoneIndex(particle) {
|
|
244
|
+
for (let i = 0; i < this.zones.length; i++) {
|
|
245
|
+
if (this.isInZone(particle, this.zones[i])) {
|
|
246
|
+
return i;
|
|
230
247
|
}
|
|
231
248
|
}
|
|
232
|
-
return
|
|
249
|
+
return -1;
|
|
233
250
|
}
|
|
234
251
|
zoneColor(zone) {
|
|
235
252
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemperatureBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TemperatureBehaviour.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TemperatureBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TemperatureBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export default class ToroidalWrapBehaviour extends Behaviour {
|
|
|
35
35
|
private clearParticleState;
|
|
36
36
|
private clearFadeState;
|
|
37
37
|
private startWrapFadeIn;
|
|
38
|
+
private seedSpawnPositionIntoViewport;
|
|
38
39
|
apply: (particle: Particle, deltaTime: number, model: Model) => void;
|
|
39
40
|
getName(): string;
|
|
40
41
|
getProps(): {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Behaviour from './Behaviour';
|
|
2
2
|
import BehaviourNames from './BehaviourNames';
|
|
3
|
-
import { getToroidalEdgeExtents, resolveToroidalBounds, wrapToroidalAxis, } from '../util/toroidalWrapExtents';
|
|
4
|
-
import { shouldStartToroidalFadeOnAxis, toroidalFadeDelta, } from '../util/toroidalWrapFade';
|
|
3
|
+
import { getToroidalEdgeExtents, isToroidalAxisViewportVisible, relocateToroidalAxisIntoViewport, resolveToroidalBounds, wrapToroidalAxis, } from '../util/toroidalWrapExtents';
|
|
4
|
+
import { shouldContinueToroidalFadeOnAxis, shouldStartToroidalFadeOnAxis, toroidalFadeDelta, } from '../util/toroidalWrapFade';
|
|
5
5
|
/**
|
|
6
6
|
* Toroidal screen/world wrap: particles that fully leave an axis-aligned rectangle
|
|
7
7
|
* re-enter on the opposite side while still fully outside the view (no visible jump).
|
|
@@ -62,6 +62,16 @@ export default class ToroidalWrapBehaviour extends Behaviour {
|
|
|
62
62
|
let phase = (_b = this._fadePhase.get(uid)) !== null && _b !== void 0 ? _b : 'idle';
|
|
63
63
|
let fadeMult = (_c = this._fadeMult.get(uid)) !== null && _c !== void 0 ? _c : 1;
|
|
64
64
|
let didWrap = false;
|
|
65
|
+
if (this.wrapX) {
|
|
66
|
+
const seeded = this.seedSpawnPositionIntoViewport(uid, visualX, mx, bounds.minX, bounds.maxX, extents.left, extents.right, this._insideX);
|
|
67
|
+
visualX = seeded.visual;
|
|
68
|
+
mx = seeded.movement;
|
|
69
|
+
}
|
|
70
|
+
if (this.wrapY) {
|
|
71
|
+
const seeded = this.seedSpawnPositionIntoViewport(uid, visualY, my, bounds.minY, bounds.maxY, extents.top, extents.bottom, this._insideY);
|
|
72
|
+
visualY = seeded.visual;
|
|
73
|
+
my = seeded.movement;
|
|
74
|
+
}
|
|
65
75
|
if (this.wrapFadeEnabled) {
|
|
66
76
|
const fadeStep = toroidalFadeDelta(deltaTime, this.wrapFadeDuration);
|
|
67
77
|
if (phase === 'idle') {
|
|
@@ -77,8 +87,20 @@ export default class ToroidalWrapBehaviour extends Behaviour {
|
|
|
77
87
|
}
|
|
78
88
|
}
|
|
79
89
|
if (phase === 'out') {
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
const approachingX = this.wrapX &&
|
|
91
|
+
shouldContinueToroidalFadeOnAxis(visualX, particle.velocity.x, bounds.minX, bounds.maxX, extents.left, extents.right, this.wrapFadeDuration);
|
|
92
|
+
const approachingY = this.wrapY &&
|
|
93
|
+
shouldContinueToroidalFadeOnAxis(visualY, particle.velocity.y, bounds.minY, bounds.maxY, extents.top, extents.bottom, this.wrapFadeDuration);
|
|
94
|
+
if (!approachingX && !approachingY) {
|
|
95
|
+
phase = 'idle';
|
|
96
|
+
fadeMult = 1;
|
|
97
|
+
this._fadePhase.set(uid, 'idle');
|
|
98
|
+
this._fadeMult.set(uid, 1);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
fadeMult = Math.max(0, fadeMult - fadeStep);
|
|
102
|
+
this._fadeMult.set(uid, fadeMult);
|
|
103
|
+
}
|
|
82
104
|
}
|
|
83
105
|
else if (phase === 'in') {
|
|
84
106
|
fadeMult = Math.min(1, fadeMult + fadeStep);
|
|
@@ -166,6 +188,14 @@ export default class ToroidalWrapBehaviour extends Behaviour {
|
|
|
166
188
|
this._fadePhase.set(uid, 'in');
|
|
167
189
|
this._fadeMult.set(uid, 0);
|
|
168
190
|
}
|
|
191
|
+
seedSpawnPositionIntoViewport(uid, visual, movement, min, max, leading, trailing, insideMap) {
|
|
192
|
+
if (insideMap.has(uid)) {
|
|
193
|
+
return { visual, movement };
|
|
194
|
+
}
|
|
195
|
+
const relocated = relocateToroidalAxisIntoViewport(visual, movement, min, max, leading, trailing);
|
|
196
|
+
insideMap.set(uid, isToroidalAxisViewportVisible(relocated.position, leading, trailing, min, max));
|
|
197
|
+
return { visual: relocated.position, movement: relocated.movement };
|
|
198
|
+
}
|
|
169
199
|
getName() {
|
|
170
200
|
return BehaviourNames.TOROIDAL_WRAP_BEHAVIOUR;
|
|
171
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToroidalWrapBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/ToroidalWrapBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,GAElB,MAAM,0BAA0B,CAAA;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAS;IAA5D;;QACE,YAAO,GAAG,IAAI,CAAA;QACd,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,IAAI,CAAA;QACZ,UAAK,GAAG,IAAI,CAAA;QACZ,oBAAe,GAAG,KAAK,CAAA;QAEvB,SAAI,GAAG,CAAC,GAAG,CAAA;QACX,SAAI,GAAG,GAAG,CAAA;QACV,SAAI,GAAG,CAAC,GAAG,CAAA;QACX,SAAI,GAAG,GAAG,CAAA;QACV,UAAK,GAAG,CAAC,CAAA;QAET,8EAA8E;QAC9E,oBAAe,GAAG,KAAK,CAAA;QACvB,kFAAkF;QAClF,qBAAgB,GAAG,IAAI,CAAA;QAEf,aAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;QACrC,aAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;QACrC,uCAAkC,GAAG,CAAC,CAAC,CAAA;QACvC,eAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;QACrD,cAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE7C,SAAI,GAAG,CAAC,QAAkB,EAAE,MAAa,EAAE,eAAwB,EAAE,EAAE;YACrE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAA;QAED,sBAAiB,GAAG,CAAC,QAAkB,EAAE,EAAE;YACzC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ToroidalWrapBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/ToroidalWrapBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,18 @@ export type ToroidalAxisWrapResult = {
|
|
|
39
39
|
inside: boolean;
|
|
40
40
|
didWrap: boolean;
|
|
41
41
|
};
|
|
42
|
+
export type ToroidalAxisRelocateResult = {
|
|
43
|
+
position: number;
|
|
44
|
+
movement: number;
|
|
45
|
+
relocated: boolean;
|
|
46
|
+
};
|
|
47
|
+
/** True when any part of the particle overlaps the wrap band on one axis. */
|
|
48
|
+
export declare function isToroidalAxisViewportVisible(position: number, leadingExtent: number, trailingExtent: number, min: number, max: number): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Moves a spawn-outside particle into the toroidal viewport by modulo-mapping its
|
|
51
|
+
* position into the wrap band. Preserves movement offset so render/visual offsets stay aligned.
|
|
52
|
+
*/
|
|
53
|
+
export declare function relocateToroidalAxisIntoViewport(position: number, movement: number, min: number, max: number, leadingExtent: number, trailingExtent: number): ToroidalAxisRelocateResult;
|
|
42
54
|
/**
|
|
43
55
|
* Wraps one axis only when a particle transitions from inside to fully outside,
|
|
44
56
|
* placing it fully outside on the opposite side to avoid visible jumps.
|
|
@@ -79,6 +79,33 @@ export function isToroidalViewportVisible(x, y, extents, bounds, wrapX, wrapY) {
|
|
|
79
79
|
const visibleY = !wrapY || (bboxBottom >= bounds.minY && bboxTop <= bounds.maxY);
|
|
80
80
|
return visibleX && visibleY;
|
|
81
81
|
}
|
|
82
|
+
/** True when any part of the particle overlaps the wrap band on one axis. */
|
|
83
|
+
export function isToroidalAxisViewportVisible(position, leadingExtent, trailingExtent, min, max) {
|
|
84
|
+
return position + trailingExtent >= min && position - leadingExtent <= max;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Moves a spawn-outside particle into the toroidal viewport by modulo-mapping its
|
|
88
|
+
* position into the wrap band. Preserves movement offset so render/visual offsets stay aligned.
|
|
89
|
+
*/
|
|
90
|
+
export function relocateToroidalAxisIntoViewport(position, movement, min, max, leadingExtent, trailingExtent) {
|
|
91
|
+
if (isToroidalAxisViewportVisible(position, leadingExtent, trailingExtent, min, max)) {
|
|
92
|
+
return { position, movement, relocated: false };
|
|
93
|
+
}
|
|
94
|
+
const period = max - min;
|
|
95
|
+
if (period <= 0) {
|
|
96
|
+
return { position, movement, relocated: false };
|
|
97
|
+
}
|
|
98
|
+
let pos = min + ((((position - min) % period) + period) % period);
|
|
99
|
+
let mov = movement + (pos - position);
|
|
100
|
+
if (!isToroidalAxisViewportVisible(pos, leadingExtent, trailingExtent, min, max)) {
|
|
101
|
+
const minCenter = min - trailingExtent;
|
|
102
|
+
const maxCenter = max + leadingExtent;
|
|
103
|
+
const clamped = Math.min(maxCenter, Math.max(minCenter, pos));
|
|
104
|
+
mov += clamped - pos;
|
|
105
|
+
pos = clamped;
|
|
106
|
+
}
|
|
107
|
+
return { position: pos, movement: mov, relocated: true };
|
|
108
|
+
}
|
|
82
109
|
/**
|
|
83
110
|
* Wraps one axis only when a particle transitions from inside to fully outside,
|
|
84
111
|
* placing it fully outside on the opposite side to avoid visible jumps.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toroidalWrapExtents.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapExtents.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toroidalWrapExtents.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapExtents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
export type ToroidalWrapFadePhase = 'idle' | 'out' | 'in';
|
|
2
2
|
/** Converts engine deltaTime to seconds (handles frame-style deltas). */
|
|
3
3
|
export declare function toroidalFadeDelta(deltaTime: number, fadeDuration: number): number;
|
|
4
|
+
/**
|
|
5
|
+
* Lead distance for starting a pre-wrap fade. Capped to half the axis span so high
|
|
6
|
+
* velocities (e.g. noise) do not trigger fade across an entire small wrap band.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getToroidalFadeLead(axisVelocity: number, fadeDuration: number, leadingExtent: number, trailingExtent: number, min: number, max: number): number;
|
|
4
9
|
/**
|
|
5
10
|
* True when a particle is close enough to exit that a fade should start before teleport.
|
|
6
11
|
* Uses axis velocity (units per second) to estimate distance travelled during fadeDuration.
|
|
7
12
|
*/
|
|
8
13
|
export declare function shouldStartToroidalFadeOnAxis(position: number, axisVelocity: number, min: number, max: number, leadingExtent: number, trailingExtent: number, wasInside: boolean | undefined, fadeDuration: number): boolean;
|
|
14
|
+
/** True while a fade-out should continue (particle still approaching an exit on this axis). */
|
|
15
|
+
export declare function shouldContinueToroidalFadeOnAxis(position: number, axisVelocity: number, min: number, max: number, leadingExtent: number, trailingExtent: number, fadeDuration: number): boolean;
|
|
@@ -6,30 +6,54 @@ export function toroidalFadeDelta(deltaTime, fadeDuration) {
|
|
|
6
6
|
const dtSec = deltaTime >= 1 ? deltaTime / 60 : deltaTime;
|
|
7
7
|
return dtSec / fadeDuration;
|
|
8
8
|
}
|
|
9
|
+
/** Distance from position to the exit boundary along positive velocity (max side). */
|
|
10
|
+
function distToMaxExit(position, leadingExtent, max) {
|
|
11
|
+
return max - (position - leadingExtent);
|
|
12
|
+
}
|
|
13
|
+
/** Distance from position to the exit boundary along negative velocity (min side). */
|
|
14
|
+
function distToMinExit(position, trailingExtent, min) {
|
|
15
|
+
return position + trailingExtent - min;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Lead distance for starting a pre-wrap fade. Capped to half the axis span so high
|
|
19
|
+
* velocities (e.g. noise) do not trigger fade across an entire small wrap band.
|
|
20
|
+
*/
|
|
21
|
+
export function getToroidalFadeLead(axisVelocity, fadeDuration, leadingExtent, trailingExtent, min, max) {
|
|
22
|
+
const axisSpan = Math.max(0, max - min);
|
|
23
|
+
const velocityLead = Math.abs(axisVelocity) * fadeDuration;
|
|
24
|
+
const minLead = (leadingExtent + trailingExtent) * 0.25;
|
|
25
|
+
const spanCap = axisSpan > 0 ? axisSpan * 0.5 : 0;
|
|
26
|
+
return Math.min(Math.max(velocityLead, minLead), spanCap);
|
|
27
|
+
}
|
|
9
28
|
/**
|
|
10
29
|
* True when a particle is close enough to exit that a fade should start before teleport.
|
|
11
30
|
* Uses axis velocity (units per second) to estimate distance travelled during fadeDuration.
|
|
12
31
|
*/
|
|
13
32
|
export function shouldStartToroidalFadeOnAxis(position, axisVelocity, min, max, leadingExtent, trailingExtent, wasInside, fadeDuration) {
|
|
14
33
|
const wrapResult = wrapToroidalAxis(position, 0, min, max, leadingExtent, trailingExtent, wasInside);
|
|
34
|
+
// Only fade before wrap when exiting from inside — not for spawn-outside instant wrap.
|
|
15
35
|
if (wrapResult.didWrap)
|
|
16
|
-
return true;
|
|
17
|
-
const fadeLead =
|
|
36
|
+
return wasInside === true;
|
|
37
|
+
const fadeLead = getToroidalFadeLead(axisVelocity, fadeDuration, leadingExtent, trailingExtent, min, max);
|
|
18
38
|
if (fadeLead <= 0)
|
|
19
39
|
return false;
|
|
20
40
|
const inside = position + trailingExtent >= min && position - leadingExtent <= max;
|
|
21
41
|
if (!inside)
|
|
22
42
|
return false;
|
|
23
43
|
if (axisVelocity > 0) {
|
|
24
|
-
const dist =
|
|
44
|
+
const dist = distToMaxExit(position, leadingExtent, max);
|
|
25
45
|
if (dist >= 0 && dist <= fadeLead)
|
|
26
46
|
return true;
|
|
27
47
|
}
|
|
28
48
|
if (axisVelocity < 0) {
|
|
29
|
-
const dist = position
|
|
49
|
+
const dist = distToMinExit(position, trailingExtent, min);
|
|
30
50
|
if (dist >= 0 && dist <= fadeLead)
|
|
31
51
|
return true;
|
|
32
52
|
}
|
|
33
53
|
return false;
|
|
34
54
|
}
|
|
55
|
+
/** True while a fade-out should continue (particle still approaching an exit on this axis). */
|
|
56
|
+
export function shouldContinueToroidalFadeOnAxis(position, axisVelocity, min, max, leadingExtent, trailingExtent, fadeDuration) {
|
|
57
|
+
return shouldStartToroidalFadeOnAxis(position, axisVelocity, min, max, leadingExtent, trailingExtent, true, fadeDuration);
|
|
58
|
+
}
|
|
35
59
|
//# sourceMappingURL=toroidalWrapFade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toroidalWrapFade.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapFade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAIxD,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,YAAoB;IACvE,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,OAAO,KAAK,GAAG,YAAY,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAgB,EAChB,YAAoB,EACpB,GAAW,EACX,GAAW,EACX,aAAqB,EACrB,cAAsB,EACtB,SAA8B,EAC9B,YAAoB;IAEpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;IACpG,IAAI,UAAU,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"toroidalWrapFade.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapFade.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,9 @@ export function getToroidalSpriteDisplay(particle, wrap, model) {
|
|
|
16
16
|
return { visible: viewportVisible, alphaMultiplier: 1 };
|
|
17
17
|
}
|
|
18
18
|
const fadeMultiplier = wrap.getWrapFadeMultiplier(particle);
|
|
19
|
-
const fadeActive = wrap.isWrapFadeActive(particle);
|
|
20
19
|
return {
|
|
21
|
-
visible: viewportVisible
|
|
22
|
-
alphaMultiplier: fadeMultiplier,
|
|
20
|
+
visible: viewportVisible,
|
|
21
|
+
alphaMultiplier: viewportVisible ? fadeMultiplier : 1,
|
|
23
22
|
};
|
|
24
23
|
}
|
|
25
24
|
//# sourceMappingURL=toroidalWrapVisibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toroidalWrapVisibility.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapVisibility.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CACvC,QAAkB,EAClB,IAA8C,EAC9C,KAAY;IAEZ,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,yBAAyB,CAC9B,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,EACV,OAAO,EACP,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CACX,CAAA;AACH,CAAC;AAOD,mGAAmG;AACnG,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,IAA8C,EAC9C,KAAY;IAEZ,MAAM,eAAe,GAAG,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxE,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC3D,
|
|
1
|
+
{"version":3,"file":"toroidalWrapVisibility.js","sourceRoot":"","sources":["../../../src/lib/util/toroidalWrapVisibility.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CACvC,QAAkB,EAClB,IAA8C,EAC9C,KAAY;IAEZ,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,yBAAyB,CAC9B,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,EACV,OAAO,EACP,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CACX,CAAA;AACH,CAAC;AAOD,mGAAmG;AACnG,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,IAA8C,EAC9C,KAAY;IAEZ,MAAM,eAAe,GAAG,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxE,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC3D,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KACtD,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED