@joydle/juice-babylon 0.1.1 → 0.1.2
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/MaterialFlash.d.ts +1 -1
- package/dist/MaterialFlash.d.ts.map +1 -1
- package/dist/MaterialFlash.js +4 -3
- package/dist/MaterialFlash.js.map +1 -1
- package/dist/toolkit.js +8 -8
- package/dist/toolkit.js.map +1 -1
- package/dist/types.d.ts +8 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/MaterialFlash.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ import type { BabylonMesh, BabylonColor } from './types.js';
|
|
|
9
9
|
* @param color Flash colour (Babylon Color3/Color4 or any `{r, g, b}`).
|
|
10
10
|
* @param duration Flash duration in **seconds**.
|
|
11
11
|
*/
|
|
12
|
-
export declare function MaterialFlash(mesh: BabylonMesh, color: BabylonColor, duration: number): void;
|
|
12
|
+
export declare function MaterialFlash(mesh: BabylonMesh, color: BabylonColor, duration: number): () => void;
|
|
13
13
|
//# sourceMappingURL=MaterialFlash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialFlash.d.ts","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO5D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACf,IAAI,
|
|
1
|
+
{"version":3,"file":"MaterialFlash.d.ts","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO5D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACf,MAAM,IAAI,CA6BZ"}
|
package/dist/MaterialFlash.js
CHANGED
|
@@ -15,9 +15,9 @@ import { getGsap } from './deps.js';
|
|
|
15
15
|
export function MaterialFlash(mesh, color, duration) {
|
|
16
16
|
// Guard: no material or no emissiveColor property.
|
|
17
17
|
if (!mesh.material)
|
|
18
|
-
return;
|
|
18
|
+
return () => { };
|
|
19
19
|
if (!('emissiveColor' in mesh.material))
|
|
20
|
-
return;
|
|
20
|
+
return () => { };
|
|
21
21
|
const gsap = getGsap();
|
|
22
22
|
// StandardMaterial and PBRMaterial have emissiveColor; base Material does not.
|
|
23
23
|
const emissive = mesh.material.emissiveColor;
|
|
@@ -30,12 +30,13 @@ export function MaterialFlash(mesh, color, duration) {
|
|
|
30
30
|
emissive.g = color.g;
|
|
31
31
|
emissive.b = color.b;
|
|
32
32
|
// Animate back to the original emissive colour over `duration` seconds.
|
|
33
|
-
gsap.to(emissive, {
|
|
33
|
+
const tween = gsap.to(emissive, {
|
|
34
34
|
r: origR,
|
|
35
35
|
g: origG,
|
|
36
36
|
b: origB,
|
|
37
37
|
duration,
|
|
38
38
|
overwrite: true,
|
|
39
39
|
});
|
|
40
|
+
return () => tween.kill();
|
|
40
41
|
}
|
|
41
42
|
//# sourceMappingURL=MaterialFlash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialFlash.js","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,KAAmB,EACnB,QAAgB;IAEhB,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"MaterialFlash.js","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,KAAmB,EACnB,QAAgB;IAEhB,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,+EAA+E;IAC/E,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAuD,CAAC,aAAa,CAAC;IAE7F,qCAAqC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;IAEzB,wCAAwC;IACxC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACrB,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACrB,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAErB,wEAAwE;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;QAC9B,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,KAAK;QACR,QAAQ;QACR,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC"}
|
package/dist/toolkit.js
CHANGED
|
@@ -38,10 +38,11 @@ export function createBabylonJuiceToolkit(scene, camera, opts = {}) {
|
|
|
38
38
|
// -- shake ---------------------------------------------------------------
|
|
39
39
|
shake(shakeOpts) {
|
|
40
40
|
shake.trigger(shakeOpts.intensity, shakeOpts.duration);
|
|
41
|
+
return () => shake.stop();
|
|
41
42
|
},
|
|
42
43
|
// -- flash ---------------------------------------------------------------
|
|
43
44
|
flash(target, flashOpts) {
|
|
44
|
-
MaterialFlash(target, flashOpts.color, flashOpts.duration);
|
|
45
|
+
return MaterialFlash(target, flashOpts.color, flashOpts.duration);
|
|
45
46
|
},
|
|
46
47
|
// -- particles -----------------------------------------------------------
|
|
47
48
|
particles(burstOpts) {
|
|
@@ -51,6 +52,7 @@ export function createBabylonJuiceToolkit(scene, camera, opts = {}) {
|
|
|
51
52
|
speed: burstOpts.speed,
|
|
52
53
|
lifetime: burstOpts.lifetime,
|
|
53
54
|
});
|
|
55
|
+
return () => { };
|
|
54
56
|
},
|
|
55
57
|
// -- trail ---------------------------------------------------------------
|
|
56
58
|
trail(target, trailOpts) {
|
|
@@ -59,13 +61,11 @@ export function createBabylonJuiceToolkit(scene, camera, opts = {}) {
|
|
|
59
61
|
color: trailOpts.color,
|
|
60
62
|
});
|
|
61
63
|
activeTrails.push(trail);
|
|
62
|
-
return {
|
|
63
|
-
dispose()
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
activeTrails.splice(idx, 1);
|
|
68
|
-
},
|
|
64
|
+
return () => {
|
|
65
|
+
trail.dispose();
|
|
66
|
+
const idx = activeTrails.indexOf(trail);
|
|
67
|
+
if (idx !== -1)
|
|
68
|
+
activeTrails.splice(idx, 1);
|
|
69
69
|
};
|
|
70
70
|
},
|
|
71
71
|
// -- helpers -------------------------------------------------------------
|
package/dist/toolkit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../src/toolkit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EACnB,MAAqB,EACrB,OAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7E,kCAAkC;IAClC,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAiB;QAC5B,2EAA2E;QAC3E,KAAK,CAAC,SAAkD;YACtD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../src/toolkit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EACnB,MAAqB,EACrB,OAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7E,kCAAkC;IAClC,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAiB;QAC5B,2EAA2E;QAC3E,KAAK,CAAC,SAAkD;YACtD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAED,2EAA2E;QAC3E,KAAK,CACH,MAAmB,EACnB,SAAoD;YAEpD,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;QAED,2EAA2E;QAC3E,SAAS,CAAC,SAMT;YACC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,KAAK,CACH,MAAmB,EACnB,SAAoD;YAEpD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;gBAC3C,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzB,OAAO,GAAG,EAAE;gBACV,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,UAAU,CAAC,IAAiB;YAC1B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,2EAA2E;QAC3E,OAAO;YACL,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;YACD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -9,17 +9,17 @@ export type { ParticleSystem as BabylonParticleSystemLike } from '@babylonjs/cor
|
|
|
9
9
|
export type GsapTweenLike = gsap.core.Tween;
|
|
10
10
|
export type GsapLike = typeof import('gsap').default;
|
|
11
11
|
export interface JuiceToolkit {
|
|
12
|
-
/** Trigger camera shake. */
|
|
12
|
+
/** Trigger camera shake. Returns a cancel function. */
|
|
13
13
|
shake(opts: {
|
|
14
14
|
intensity: number;
|
|
15
15
|
duration: number;
|
|
16
|
-
}): void;
|
|
17
|
-
/** Flash an emissive colour on a mesh's material. */
|
|
16
|
+
}): () => void;
|
|
17
|
+
/** Flash an emissive colour on a mesh's material. Returns a cancel function. */
|
|
18
18
|
flash(target: AbstractMesh, opts: {
|
|
19
19
|
color: Color3;
|
|
20
20
|
duration: number;
|
|
21
|
-
}): void;
|
|
22
|
-
/** Emit a burst of particles at a world position. */
|
|
21
|
+
}): () => void;
|
|
22
|
+
/** Emit a burst of particles at a world position. Returns a cancel function. */
|
|
23
23
|
particles(opts: {
|
|
24
24
|
position: {
|
|
25
25
|
x: number;
|
|
@@ -30,14 +30,12 @@ export interface JuiceToolkit {
|
|
|
30
30
|
count: number;
|
|
31
31
|
speed?: number;
|
|
32
32
|
lifetime?: number;
|
|
33
|
-
}): void;
|
|
34
|
-
/** Attach a trail to a mesh. Returns a
|
|
33
|
+
}): () => void;
|
|
34
|
+
/** Attach a trail to a mesh. Returns a cleanup function. */
|
|
35
35
|
trail(target: AbstractMesh, opts: {
|
|
36
36
|
length?: number;
|
|
37
37
|
color?: Color3;
|
|
38
|
-
}):
|
|
39
|
-
dispose(): void;
|
|
40
|
-
};
|
|
38
|
+
}): () => void;
|
|
41
39
|
/** Add squash/explodeOut/bob/spin helpers to a mesh. */
|
|
42
40
|
addHelpers(mesh: AbstractMesh): void;
|
|
43
41
|
/** Dispose all internal resources. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI5D,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,cAAc,MAAM,EAAE,OAAO,CAAC;AAIrD,MAAM,WAAW,YAAY;IAC3B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI5D,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,cAAc,MAAM,EAAE,OAAO,CAAC;AAIrD,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,KAAK,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;IAEjE,gFAAgF;IAChF,KAAK,CACH,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACxC,MAAM,IAAI,CAAC;IAEd,gFAAgF;IAChF,SAAS,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM,IAAI,CAAC;IAEf,4DAA4D;IAC5D,KAAK,CACH,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,MAAM,IAAI,CAAC;IAEd,wDAAwD;IACxD,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAErC,sCAAsC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joydle/juice-babylon",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"import": "./dist/index.js"
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
|
-
"files": [
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
14
16
|
"scripts": {
|
|
15
17
|
"build": "tsc",
|
|
16
18
|
"typecheck": "tsc --noEmit",
|