@joydle/juice-babylon 0.1.0 → 0.1.1
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.map +1 -1
- package/dist/MaterialFlash.js +3 -18
- package/dist/MaterialFlash.js.map +1 -1
- package/dist/MeshHelpers.d.ts.map +1 -1
- package/dist/MeshHelpers.js +1 -17
- package/dist/MeshHelpers.js.map +1 -1
- package/dist/ParticleBurst.d.ts.map +1 -1
- package/dist/ParticleBurst.js +3 -23
- package/dist/ParticleBurst.js.map +1 -1
- package/dist/TrailMesh.d.ts.map +1 -1
- package/dist/TrailMesh.js +2 -23
- package/dist/TrailMesh.js.map +1 -1
- package/dist/deps.d.ts +14 -0
- package/dist/deps.d.ts.map +1 -0
- package/dist/deps.js +28 -0
- package/dist/deps.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +16 -81
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -5
- package/dist/types.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialFlash.d.ts","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,
|
|
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,CA2BN"}
|
package/dist/MaterialFlash.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// Resolve gsap at runtime (peer dependency).
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
function getGsap() {
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
const g = globalThis;
|
|
7
|
-
if (g.gsap)
|
|
8
|
-
return g.gsap;
|
|
9
|
-
try {
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
11
|
-
return require('gsap');
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
throw new Error('[juice-babylon] Could not resolve "gsap". ' +
|
|
15
|
-
'Make sure it is installed as a peer dependency or available as window.gsap.');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
import { getGsap } from './deps.js';
|
|
18
2
|
// ---------------------------------------------------------------------------
|
|
19
3
|
// MaterialFlash
|
|
20
4
|
// ---------------------------------------------------------------------------
|
|
@@ -32,9 +16,10 @@ export function MaterialFlash(mesh, color, duration) {
|
|
|
32
16
|
// Guard: no material or no emissiveColor property.
|
|
33
17
|
if (!mesh.material)
|
|
34
18
|
return;
|
|
35
|
-
if (!mesh.material
|
|
19
|
+
if (!('emissiveColor' in mesh.material))
|
|
36
20
|
return;
|
|
37
21
|
const gsap = getGsap();
|
|
22
|
+
// StandardMaterial and PBRMaterial have emissiveColor; base Material does not.
|
|
38
23
|
const emissive = mesh.material.emissiveColor;
|
|
39
24
|
// Save the original emissive values.
|
|
40
25
|
const origR = emissive.r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialFlash.js","sourceRoot":"","sources":["../src/MaterialFlash.ts"],"names":[],"mappings":"
|
|
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;IAC3B,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEhD,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,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,KAAK;QACR,QAAQ;QACR,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeshHelpers.d.ts","sourceRoot":"","sources":["../src/MeshHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"MeshHelpers.d.ts","sourceRoot":"","sources":["../src/MeshHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AAO7D,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,mEAAmE;IACnE,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,+CAA+C;IAC/C,UAAU,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,iEAAiE;IACjE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG;QAAE,IAAI,IAAI,IAAI,CAAA;KAAE,CAAC;IACzC,yEAAyE;IACzE,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG;QAAE,IAAI,IAAI,IAAI,CAAA;KAAE,CAAC;CAC5C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CA4HtD"}
|
package/dist/MeshHelpers.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// Resolve gsap at runtime (peer dependency).
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
function getGsap() {
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
const g = globalThis;
|
|
7
|
-
if (g.gsap)
|
|
8
|
-
return g.gsap;
|
|
9
|
-
try {
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
11
|
-
return require('gsap');
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
throw new Error('[juice-babylon] Could not resolve "gsap". ' +
|
|
15
|
-
'Make sure it is installed as a peer dependency or available as window.gsap.');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
import { getGsap } from './deps.js';
|
|
18
2
|
// ---------------------------------------------------------------------------
|
|
19
3
|
// addMeshHelpers
|
|
20
4
|
// ---------------------------------------------------------------------------
|
package/dist/MeshHelpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeshHelpers.js","sourceRoot":"","sources":["../src/MeshHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MeshHelpers.js","sourceRoot":"","sources":["../src/MeshHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParticleBurst.d.ts","sourceRoot":"","sources":["../src/ParticleBurst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ParticleBurst.d.ts","sourceRoot":"","sources":["../src/ParticleBurst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAcpB,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,KAAK,EAAE,YAAY,CAAC;IACpB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,aAAa,CAAmC;gBAE5C,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE,oBAAyB;IAKhE;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7C,IAAI,EAAE,YAAY,GACjB,IAAI;IAoFP,uDAAuD;IACvD,OAAO,IAAI,IAAI;CAWhB"}
|
package/dist/ParticleBurst.js
CHANGED
|
@@ -1,24 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
let BABYLON = null;
|
|
3
|
-
function ensureBabylon() {
|
|
4
|
-
if (BABYLON)
|
|
5
|
-
return BABYLON;
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
-
const g = globalThis;
|
|
8
|
-
if (g.BABYLON) {
|
|
9
|
-
BABYLON = g.BABYLON;
|
|
10
|
-
return BABYLON;
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
14
|
-
BABYLON = require('@babylonjs/core');
|
|
15
|
-
return BABYLON;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
throw new Error('[juice-babylon] Could not resolve "@babylonjs/core". ' +
|
|
19
|
-
'Make sure it is installed as a peer dependency or available as window.BABYLON.');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
import { getBabylon } from './deps.js';
|
|
22
2
|
// ---------------------------------------------------------------------------
|
|
23
3
|
// 1x1 white pixel as a minimal default particle texture (base64 PNG).
|
|
24
4
|
// ---------------------------------------------------------------------------
|
|
@@ -47,7 +27,7 @@ export class ParticleBurst {
|
|
|
47
27
|
* Emit a burst of particles at a world-space position.
|
|
48
28
|
*/
|
|
49
29
|
burst(position, opts) {
|
|
50
|
-
const B =
|
|
30
|
+
const B = getBabylon();
|
|
51
31
|
const speed = opts.speed ?? 3;
|
|
52
32
|
const lifetime = opts.lifetime ?? 0.6;
|
|
53
33
|
const count = opts.count;
|
|
@@ -59,7 +39,7 @@ export class ParticleBurst {
|
|
|
59
39
|
ps.maxEmitBox = new B.Vector3(0, 0, 0);
|
|
60
40
|
// -- Colours ----------------------------------------------------------
|
|
61
41
|
const c = opts.color;
|
|
62
|
-
const alpha = c.a
|
|
42
|
+
const alpha = 'a' in c ? c.a : 1;
|
|
63
43
|
ps.color1 = new B.Color4(c.r, c.g, c.b, alpha);
|
|
64
44
|
ps.color2 = new B.Color4(c.r * 0.8, c.g * 0.8, c.b * 0.8, alpha);
|
|
65
45
|
ps.colorDead = new B.Color4(c.r * 0.2, c.g * 0.2, c.b * 0.2, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParticleBurst.js","sourceRoot":"","sources":["../src/ParticleBurst.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParticleBurst.js","sourceRoot":"","sources":["../src/ParticleBurst.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E,MAAM,kBAAkB,GACtB,wHAAwH,CAAC;AAsB3H;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAe;IACpB,GAAG,CAAS;IACZ,aAAa,GAAgC,EAAE,CAAC;IAExD,YAAY,KAAmB,EAAE,OAA6B,EAAE;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CACH,QAA6C,EAC7C,IAAkB;QAElB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,cAAc,CAC7B,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,EAC3B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,wEAAwE;QACxE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAU,CAAC;QAExE,4BAA4B;QAC5B,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;QAChD,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;QAEhD,wEAAwE;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAU,CAAC;QACxD,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAU,CAAC;QAC1E,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAU,CAAC;QAEzE,wEAAwE;QACxE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;QAClB,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;QAElB,wEAAwE;QACxE,EAAE,CAAC,WAAW,GAAG,QAAQ,GAAG,GAAG,CAAC;QAChC,EAAE,CAAC,WAAW,GAAG,QAAQ,CAAC;QAE1B,yEAAyE;QACzE,uEAAuE;QACvE,yCAAyC;QACzC,EAAE,CAAC,QAAQ,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,iBAAiB;QAC3C,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,8BAA8B;QAEhD,wEAAwE;QACxE,EAAE,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,CAAC;QAC9B,EAAE,CAAC,YAAY,GAAG,KAAK,CAAC;QACxB,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;QAEtB,yBAAyB;QACzB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAU,CAAC;QACnD,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;QAEhD,wEAAwE;QACxE,yEAAyE;QACzE,+DAA+D;QAC/D,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,+BAA+B;QAC7D,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;QAExB,mEAAmE;QACnE,wEAAwE;QACxE,+CAA+C;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;gBACtC,8DAA8D;gBAC7D,EAAU,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAC5D,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,CAAC,KAAK,CACX,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5B,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,uDAAuD;QACvD,MAAM,YAAY,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;QAC7C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAED,uDAAuD;IACvD,OAAO;QACL,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,EAAE,CAAC;gBACV,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;CACF"}
|
package/dist/TrailMesh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrailMesh.d.ts","sourceRoot":"","sources":["../src/TrailMesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"TrailMesh.d.ts","sourceRoot":"","sources":["../src/TrailMesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsD1E,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,QAAQ,CAAqC;gBAGnD,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,YAAiB;IAqDzB,gDAAgD;IAChD,OAAO,IAAI,IAAI;CAkBhB"}
|
package/dist/TrailMesh.js
CHANGED
|
@@ -1,25 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
let BABYLON = null;
|
|
3
|
-
function resolveBabylon() {
|
|
4
|
-
if (BABYLON)
|
|
5
|
-
return BABYLON;
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
-
const g = globalThis;
|
|
8
|
-
if (g.BABYLON) {
|
|
9
|
-
BABYLON = g.BABYLON;
|
|
10
|
-
return BABYLON;
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
14
|
-
BABYLON = require('@babylonjs/core');
|
|
15
|
-
return BABYLON;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
// Return empty namespace -- TrailMesh will be unavailable and we gracefully no-op.
|
|
19
|
-
BABYLON = {};
|
|
20
|
-
return BABYLON;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
1
|
+
import { getBabylon } from './deps.js';
|
|
23
2
|
/**
|
|
24
3
|
* Wrapper around Babylon's `TrailMesh` that follows a source mesh.
|
|
25
4
|
*
|
|
@@ -37,7 +16,7 @@ export class TrailEffect {
|
|
|
37
16
|
trail = null;
|
|
38
17
|
material = null;
|
|
39
18
|
constructor(scene, mesh, opts = {}) {
|
|
40
|
-
const B =
|
|
19
|
+
const B = getBabylon();
|
|
41
20
|
if (!B.TrailMesh) {
|
|
42
21
|
// TrailMesh not available in this Babylon build -- graceful no-op.
|
|
43
22
|
return;
|
package/dist/TrailMesh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrailMesh.js","sourceRoot":"","sources":["../src/TrailMesh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TrailMesh.js","sourceRoot":"","sources":["../src/TrailMesh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AA8DvC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,GAA6B,IAAI,CAAC;IACvC,QAAQ,GAAgC,IAAI,CAAC;IAErD,YACE,KAAmB,EACnB,IAAiB,EACjB,OAAqB,EAAE;QAEvB,MAAM,CAAC,GAAG,UAAU,EAAsC,CAAC;QAE3D,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,mEAAmE;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;QAEtC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,SAAS,CAC1B,cAAc,GAAG,IAAI,CAAC,IAAI,EAC1B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,CACL,CAAC;YAEF,6EAA6E;YAC7E,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,gBAAgB,CAChC,kBAAkB,GAAG,IAAI,CAAC,IAAI,EAC9B,KAAK,CACN,CAAC;gBACF,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACb,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;gBAChB,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC;gBAE5B,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC9D,8DAA8D;oBAC7D,IAAI,CAAC,KAAa,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,8DAA8D;oBAC7D,IAAI,CAAC,KAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACrC,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
package/dist/deps.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type GsapCore = typeof import('gsap').default;
|
|
2
|
+
type BabylonModule = typeof import('@babylonjs/core');
|
|
3
|
+
/**
|
|
4
|
+
* Provide peer dependencies for juice-babylon.
|
|
5
|
+
* Call once at app startup before using any juice-babylon APIs.
|
|
6
|
+
*/
|
|
7
|
+
export declare function configure(deps: {
|
|
8
|
+
gsap?: GsapCore;
|
|
9
|
+
BABYLON?: BabylonModule;
|
|
10
|
+
}): void;
|
|
11
|
+
export declare function getGsap(): GsapCore;
|
|
12
|
+
export declare function getBabylon(): BabylonModule;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG,cAAc,MAAM,EAAE,OAAO,CAAC;AAC9C,KAAK,aAAa,GAAG,cAAc,iBAAiB,CAAC,CAAC;AAKtD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAGlF;AAED,wBAAgB,OAAO,IAAI,QAAQ,CAOlC;AAED,wBAAgB,UAAU,IAAI,aAAa,CAO1C"}
|
package/dist/deps.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// @joydle/juice-babylon — Centralized dependency injection
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
let _gsap = null;
|
|
5
|
+
let _BABYLON = null;
|
|
6
|
+
/**
|
|
7
|
+
* Provide peer dependencies for juice-babylon.
|
|
8
|
+
* Call once at app startup before using any juice-babylon APIs.
|
|
9
|
+
*/
|
|
10
|
+
export function configure(deps) {
|
|
11
|
+
if (deps.gsap)
|
|
12
|
+
_gsap = deps.gsap;
|
|
13
|
+
if (deps.BABYLON)
|
|
14
|
+
_BABYLON = deps.BABYLON;
|
|
15
|
+
}
|
|
16
|
+
export function getGsap() {
|
|
17
|
+
if (!_gsap) {
|
|
18
|
+
throw new Error('[juice-babylon] gsap not configured. Call configure({ gsap }) first.');
|
|
19
|
+
}
|
|
20
|
+
return _gsap;
|
|
21
|
+
}
|
|
22
|
+
export function getBabylon() {
|
|
23
|
+
if (!_BABYLON) {
|
|
24
|
+
throw new Error('[juice-babylon] BABYLON not configured. Call configure({ BABYLON }) first.');
|
|
25
|
+
}
|
|
26
|
+
return _BABYLON;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=deps.js.map
|
package/dist/deps.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAK9E,IAAI,KAAK,GAAoB,IAAI,CAAC;AAClC,IAAI,QAAQ,GAAyB,IAAI,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkD;IAC1E,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACjC,IAAI,IAAI,CAAC,OAAO;QAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { configure } from './deps.js';
|
|
1
2
|
export type { BabylonVec3, BabylonColor, BabylonMaterial, BabylonMesh, BabylonCamera, BabylonScene, BabylonParticleSystemLike, GsapLike, GsapTweenLike, JuiceToolkit, } from './types.js';
|
|
2
3
|
export { CameraShake } from './CameraShake.js';
|
|
3
4
|
export { ParticleBurst } from './ParticleBurst.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,QAAQ,EACR,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,QAAQ,EACR,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
2
|
// @joydle/juice-babylon -- Public API barrel
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
|
+
// Dependency injection
|
|
5
|
+
export { configure } from './deps.js';
|
|
4
6
|
// Camera shake
|
|
5
7
|
export { CameraShake } from './CameraShake.js';
|
|
6
8
|
// Particle burst
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E,uBAAuB;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAgBtC,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,kBAAkB;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,78 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
g: number;
|
|
12
|
-
b: number;
|
|
13
|
-
a?: number;
|
|
14
|
-
clone(): BabylonColor;
|
|
15
|
-
copyFrom(source: BabylonColor): void;
|
|
16
|
-
}
|
|
17
|
-
/** Subset of BABYLON.Material we rely on (StandardMaterial / PBRMaterial). */
|
|
18
|
-
export interface BabylonMaterial {
|
|
19
|
-
emissiveColor?: BabylonColor;
|
|
20
|
-
dispose?(): void;
|
|
21
|
-
}
|
|
22
|
-
/** Subset of BABYLON.AbstractMesh we rely on. */
|
|
23
|
-
export interface BabylonMesh {
|
|
24
|
-
name: string;
|
|
25
|
-
position: BabylonVec3;
|
|
26
|
-
scaling: BabylonVec3;
|
|
27
|
-
rotation: BabylonVec3;
|
|
28
|
-
visibility: number;
|
|
29
|
-
material: BabylonMaterial | null;
|
|
30
|
-
isDisposed(): boolean;
|
|
31
|
-
}
|
|
32
|
-
/** Subset of BABYLON.Camera we rely on (any camera type). */
|
|
33
|
-
export interface BabylonCamera {
|
|
34
|
-
position: BabylonVec3;
|
|
35
|
-
}
|
|
36
|
-
/** Subset of BABYLON.Scene we rely on. */
|
|
37
|
-
export interface BabylonScene {
|
|
38
|
-
[key: string]: any;
|
|
39
|
-
}
|
|
40
|
-
/** Subset of BABYLON.ParticleSystem we construct at runtime. */
|
|
41
|
-
export interface BabylonParticleSystemLike {
|
|
42
|
-
emitter: BabylonVec3 | {
|
|
43
|
-
x: number;
|
|
44
|
-
y: number;
|
|
45
|
-
z: number;
|
|
46
|
-
};
|
|
47
|
-
minEmitBox: BabylonVec3;
|
|
48
|
-
maxEmitBox: BabylonVec3;
|
|
49
|
-
color1: BabylonColor;
|
|
50
|
-
color2: BabylonColor;
|
|
51
|
-
colorDead: BabylonColor;
|
|
52
|
-
minSize: number;
|
|
53
|
-
maxSize: number;
|
|
54
|
-
minLifeTime: number;
|
|
55
|
-
maxLifeTime: number;
|
|
56
|
-
emitRate: number;
|
|
57
|
-
blendMode: number;
|
|
58
|
-
minEmitPower: number;
|
|
59
|
-
maxEmitPower: number;
|
|
60
|
-
updateSpeed: number;
|
|
61
|
-
direction1: BabylonVec3;
|
|
62
|
-
direction2: BabylonVec3;
|
|
63
|
-
targetStopDuration: number;
|
|
64
|
-
disposeOnStop: boolean;
|
|
65
|
-
start(): void;
|
|
66
|
-
stop(): void;
|
|
67
|
-
dispose(): void;
|
|
68
|
-
}
|
|
69
|
-
export interface GsapLike {
|
|
70
|
-
to(target: unknown, vars: Record<string, unknown>): GsapTweenLike;
|
|
71
|
-
killTweensOf(target: unknown): void;
|
|
72
|
-
}
|
|
73
|
-
export interface GsapTweenLike {
|
|
74
|
-
kill(): void;
|
|
75
|
-
}
|
|
1
|
+
import type { AbstractMesh, Color3 } from '@babylonjs/core';
|
|
2
|
+
export type { Vector3 as BabylonVec3 } from '@babylonjs/core';
|
|
3
|
+
export type { Color3 as BabylonColor } from '@babylonjs/core';
|
|
4
|
+
export type { Material as BabylonMaterial } from '@babylonjs/core';
|
|
5
|
+
export type { AbstractMesh as BabylonMesh } from '@babylonjs/core';
|
|
6
|
+
export type { Camera as BabylonCamera } from '@babylonjs/core';
|
|
7
|
+
export type { Scene as BabylonScene } from '@babylonjs/core';
|
|
8
|
+
export type { ParticleSystem as BabylonParticleSystemLike } from '@babylonjs/core';
|
|
9
|
+
export type GsapTweenLike = gsap.core.Tween;
|
|
10
|
+
export type GsapLike = typeof import('gsap').default;
|
|
76
11
|
export interface JuiceToolkit {
|
|
77
12
|
/** Trigger camera shake. */
|
|
78
13
|
shake(opts: {
|
|
@@ -80,8 +15,8 @@ export interface JuiceToolkit {
|
|
|
80
15
|
duration: number;
|
|
81
16
|
}): void;
|
|
82
17
|
/** Flash an emissive colour on a mesh's material. */
|
|
83
|
-
flash(target:
|
|
84
|
-
color:
|
|
18
|
+
flash(target: AbstractMesh, opts: {
|
|
19
|
+
color: Color3;
|
|
85
20
|
duration: number;
|
|
86
21
|
}): void;
|
|
87
22
|
/** Emit a burst of particles at a world position. */
|
|
@@ -91,20 +26,20 @@ export interface JuiceToolkit {
|
|
|
91
26
|
y: number;
|
|
92
27
|
z: number;
|
|
93
28
|
};
|
|
94
|
-
color:
|
|
29
|
+
color: Color3;
|
|
95
30
|
count: number;
|
|
96
31
|
speed?: number;
|
|
97
32
|
lifetime?: number;
|
|
98
33
|
}): void;
|
|
99
34
|
/** Attach a trail to a mesh. Returns a dispose function. */
|
|
100
|
-
trail(target:
|
|
35
|
+
trail(target: AbstractMesh, opts: {
|
|
101
36
|
length?: number;
|
|
102
|
-
color?:
|
|
37
|
+
color?: Color3;
|
|
103
38
|
}): {
|
|
104
39
|
dispose(): void;
|
|
105
40
|
};
|
|
106
41
|
/** Add squash/explodeOut/bob/spin helpers to a mesh. */
|
|
107
|
-
addHelpers(mesh:
|
|
42
|
+
addHelpers(mesh: AbstractMesh): void;
|
|
108
43
|
/** Dispose all internal resources. */
|
|
109
44
|
dispose(): void;
|
|
110
45
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
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,4BAA4B;IAC5B,KAAK,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAE3D,qDAAqD;IACrD,KAAK,CACH,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACxC,IAAI,CAAC;IAER,qDAAqD;IACrD,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,IAAI,CAAC;IAET,4DAA4D;IAC5D,KAAK,CACH,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC;QAAE,OAAO,IAAI,IAAI,CAAA;KAAE,CAAC;IAEvB,wDAAwD;IACxD,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAErC,sCAAsC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
package/dist/types.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
|
-
// @joydle/juice-babylon
|
|
3
|
-
//
|
|
4
|
-
// Minimal inline interfaces for Babylon.js and GSAP so this package compiles
|
|
5
|
-
// without importing from the peer dependency type roots. Consumers supply
|
|
6
|
-
// real Babylon.js / GSAP objects at runtime.
|
|
2
|
+
// @joydle/juice-babylon — Type definitions
|
|
7
3
|
// ---------------------------------------------------------------------------
|
|
8
4
|
export {};
|
|
9
5
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joydle/juice-babylon",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
"gsap": "^3.12"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
+
"@babylonjs/core": "^7.0",
|
|
31
|
+
"gsap": "^3.12",
|
|
30
32
|
"typescript": "^5.4.0"
|
|
31
33
|
}
|
|
32
34
|
}
|