@roomle/web-sdk 3.6.0 → 3.7.0-alpha.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/lib/{BufferGeometry-DLEagG41.mjs → BufferGeometry-BLeRuMkh.mjs} +1 -1
- package/lib/{BufferGeometry-DLEagG41.mjs.map → BufferGeometry-BLeRuMkh.mjs.map} +1 -1
- package/lib/ConfiguratorKernel.js +54 -73
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-D8qsdwDK.mjs → GLTFExporter-CFXCqoLa.mjs} +141 -141
- package/lib/{GLTFExporter-D8qsdwDK.mjs.map → GLTFExporter-CFXCqoLa.mjs.map} +1 -1
- package/lib/{PointLightHelper-BnjxGaOG.mjs → PointLightHelper-BEJEy6l_.mjs} +2 -2
- package/lib/{PointLightHelper-BnjxGaOG.mjs.map → PointLightHelper-BEJEy6l_.mjs.map} +1 -1
- package/lib/RoomleCore.js +59 -79
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.js +54 -74
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{SpotLightHelper-DqsfqCrs.mjs → SpotLightHelper-aXFW8qaJ.mjs} +2 -2
- package/lib/{SpotLightHelper-DqsfqCrs.mjs.map → SpotLightHelper-aXFW8qaJ.mjs.map} +1 -1
- package/lib/{USDZExporter-DxIqi8St.mjs → USDZExporter-B4hsiwhd.mjs} +2 -2
- package/lib/{USDZExporter-DxIqi8St.mjs.map → USDZExporter-B4hsiwhd.mjs.map} +1 -1
- package/lib/{api-xDJ-Uyom.mjs → api-C2-6Jm5W.mjs} +2 -2
- package/lib/{api-xDJ-Uyom.mjs.map → api-C2-6Jm5W.mjs.map} +1 -1
- package/lib/{banana-for-scale-C_iNmlCT.mjs → banana-for-scale-BV_na-g3.mjs} +4 -4
- package/lib/banana-for-scale-BV_na-g3.mjs.map +1 -0
- package/lib/chunk-C97zSiVS.mjs +20 -0
- package/lib/{common-utils-DMSTohiS.mjs → common-utils-qErzZAiR.mjs} +2 -2
- package/lib/common-utils-qErzZAiR.mjs.map +1 -0
- package/lib/{component-dimensioning-CvRmUja4.mjs → component-dimensioning-DCQTqssC.mjs} +49 -49
- package/lib/{component-dimensioning-CvRmUja4.mjs.map → component-dimensioning-DCQTqssC.mjs.map} +1 -1
- package/lib/{component-raycast-helper-CEp7wy9c.mjs → component-raycast-helper-B3WXp3oq.mjs} +20 -24
- package/lib/component-raycast-helper-B3WXp3oq.mjs.map +1 -0
- package/lib/configurator-CrNkzBp9.mjs +2 -0
- package/lib/configurator-Dx6kcXY_.mjs +45 -0
- package/lib/{configurator-CmuhFgC9.mjs.map → configurator-Dx6kcXY_.mjs.map} +1 -1
- package/lib/{continuous-drawing-helper-v_5UAM9A.mjs → continuous-drawing-helper-DzULJ9d1.mjs} +12 -12
- package/lib/continuous-drawing-helper-DzULJ9d1.mjs.map +1 -0
- package/lib/{decorate-C1QnXPYw.mjs → decorate-BIflHDAa.mjs} +1 -1
- package/lib/{decorate-C1QnXPYw.mjs.map → decorate-BIflHDAa.mjs.map} +1 -1
- package/lib/{dimensioning-helper-Fwpt1HTT.mjs → dimensioning-helper-Cj20VTW0.mjs} +66 -57
- package/lib/{dimensioning-helper-Fwpt1HTT.mjs.map → dimensioning-helper-Cj20VTW0.mjs.map} +1 -1
- package/lib/{glb-viewer-BzNA9-zH.mjs → glb-viewer-BqFcaUlb.mjs} +52 -52
- package/lib/glb-viewer-BqFcaUlb.mjs.map +1 -0
- package/lib/glb-viewer-FYw7R-ya.mjs +2 -0
- package/lib/{homag-intelligence-BwGjJEws.mjs → homag-intelligence-Dkz0AhB4.mjs} +3 -3
- package/lib/{homag-intelligence-BwGjJEws.mjs.map → homag-intelligence-Dkz0AhB4.mjs.map} +1 -1
- package/lib/{imos-ix-poc-export-helper-CQh94HsO.mjs → imos-ix-poc-export-helper-BjIgAfUu.mjs} +4 -3
- package/lib/imos-ix-poc-export-helper-BjIgAfUu.mjs.map +1 -0
- package/lib/kernel-BAQSG9r5.mjs.map +1 -1
- package/lib/{kernel-utils-H74uNY1h.mjs → kernel-utils-CfGzR_WC.mjs} +15 -15
- package/lib/{kernel-utils-H74uNY1h.mjs.map → kernel-utils-CfGzR_WC.mjs.map} +1 -1
- package/lib/{layer-C_JtkhdO.mjs → layer-CFAr2mK_.mjs} +1 -1
- package/lib/{layer-C_JtkhdO.mjs.map → layer-CFAr2mK_.mjs.map} +1 -1
- package/lib/{main-CtVIB52l.mjs → main-DMIVdAcT.mjs} +14471 -14300
- package/lib/main-DMIVdAcT.mjs.map +1 -0
- package/lib/{material-viewer-Bq4smZ6f.mjs → material-viewer-BkwvhHbQ.mjs} +40 -40
- package/lib/material-viewer-BkwvhHbQ.mjs.map +1 -0
- package/lib/planner-BPlxsTRJ.mjs +44 -0
- package/lib/{planner-CVw_xzGh.mjs.map → planner-BPlxsTRJ.mjs.map} +1 -1
- package/lib/planner-oj08ktHE.mjs +2 -0
- package/lib/{plugin-system-D9K46xJk.mjs → plugin-system-XhOJU1MI.mjs} +3 -3
- package/lib/{plugin-system-D9K46xJk.mjs.map → plugin-system-XhOJU1MI.mjs.map} +1 -1
- package/lib/roomle-renderer-BwPvUqSW.mjs +49 -0
- package/lib/roomle-renderer-BwPvUqSW.mjs.map +1 -0
- package/lib/roomle-sdk.d.ts +114 -1116
- package/lib/roomle-sdk.js +6 -6
- package/lib/roomle-webgpu-renderer-CSC5zFdC.mjs +217 -0
- package/lib/roomle-webgpu-renderer-CSC5zFdC.mjs.map +1 -0
- package/lib/{scene-renderer-D8HkTFeZ.mjs → scene-renderer-DWY_zPvU.mjs} +496 -513
- package/lib/scene-renderer-DWY_zPvU.mjs.map +1 -0
- package/lib/{script-loader-D8xCRzTr.mjs → script-loader-CA-XHFKN.mjs} +3 -3
- package/lib/{script-loader-D8xCRzTr.mjs.map → script-loader-CA-XHFKN.mjs.map} +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +0 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +3 -3
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.js +54 -73
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +59 -79
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.js +54 -74
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/{stats-helper-HM0TaIM5.mjs → stats-helper-C954Cfgh.mjs} +4 -3
- package/lib/{stats-helper-HM0TaIM5.mjs.map → stats-helper-C954Cfgh.mjs.map} +1 -1
- package/lib/{three.core-CLIofecG.mjs → three.core-mM-jZdgg.mjs} +926 -926
- package/lib/{three.core-CLIofecG.mjs.map → three.core-mM-jZdgg.mjs.map} +1 -1
- package/lib/{three.module-C4Q1skJQ.mjs → three.module-Bmy3sVQ-.mjs} +1210 -1210
- package/lib/{three.module-C4Q1skJQ.mjs.map → three.module-Bmy3sVQ-.mjs.map} +1 -1
- package/lib/{three.webgpu-dFspy2yF.mjs → three.webgpu-0l2TztLa.mjs} +5355 -2935
- package/lib/{three.webgpu-dFspy2yF.mjs.map → three.webgpu-0l2TztLa.mjs.map} +1 -1
- package/lib/{threejs-utils-jEzvlJF1.mjs → threejs-utils-8zlxt158.mjs} +430 -431
- package/lib/threejs-utils-8zlxt158.mjs.map +1 -0
- package/lib/{tools-core-Bf9WsK5v.mjs → tools-core-BzhFD2Wk.mjs} +3 -3
- package/lib/{tools-core-Bf9WsK5v.mjs.map → tools-core-BzhFD2Wk.mjs.map} +1 -1
- package/package.json +1 -1
- package/lib/banana-for-scale-C_iNmlCT.mjs.map +0 -1
- package/lib/common-utils-DMSTohiS.mjs.map +0 -1
- package/lib/component-raycast-helper-CEp7wy9c.mjs.map +0 -1
- package/lib/configurator-BaUt4_LF.mjs +0 -2
- package/lib/configurator-CmuhFgC9.mjs +0 -45
- package/lib/continuous-drawing-helper-v_5UAM9A.mjs.map +0 -1
- package/lib/dimensioning-helper-DTcW85Oq.mjs +0 -2
- package/lib/glb-viewer-BzNA9-zH.mjs.map +0 -1
- package/lib/glb-viewer-DOxBD5k-.mjs +0 -2
- package/lib/imos-ix-poc-export-helper-CQh94HsO.mjs.map +0 -1
- package/lib/main-CtVIB52l.mjs.map +0 -1
- package/lib/material-viewer-Bq4smZ6f.mjs.map +0 -1
- package/lib/planner-CVw_xzGh.mjs +0 -44
- package/lib/planner-si70gWA2.mjs +0 -2
- package/lib/scene-renderer-D8HkTFeZ.mjs.map +0 -1
- package/lib/threejs-utils-jEzvlJF1.mjs.map +0 -1
package/lib/RoomleToolsCore.js
CHANGED
|
@@ -1,74 +1,54 @@
|
|
|
1
|
-
var RoomleToolsCore = (()
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
async function(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var
|
|
14
|
-
b
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
a,a);if(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
(
|
|
39
|
-
|
|
40
|
-
(a[b
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
b=
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
d.Ha||(h.push("emval_returnValue"),m.push(Kb),e+=" return emval_returnValue(retType, destructorsRef, rv);\n");a=(new Function(...h,e+"};\n"))(...m);c=`methodCaller<(${b.map(k=>k.name).join(", ")}) => ${d.name}>`;return Ob(Va(c,a))},j:(a,b)=>{a=U(a);b=U(b);return P(a[b])},m:a=>{9<a&&(T[a+1]+=1)},D:a=>P(Nb(a)),n:a=>{var b=U(a);Ja(b);vb(a)},h:(a,b)=>{a=yb(a,"_emval_take_value");a=a.readValueFromPointer(b);return P(a)},s:(a,b)=>{W[a]&&(clearTimeout(W[a].id),delete W[a]);if(!b)return 0;var c=setTimeout(()=>
|
|
56
|
-
{delete W[a];Sb(()=>Zb(a,performance.now()))},b);W[a]={id:c,Pa:b};return 0},u:(a,b,c,d)=>{var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();E[a>>2]=60*Math.max(g,e);D[b>>2]=Number(g!=e);b=f=>{var h=Math.abs(f);return`UTC${0<=f?"-":"+"}${String(Math.floor(h/60)).padStart(2,"0")}${String(h%60).padStart(2,"0")}`};a=b(g);b=b(e);e<g?(V(a,c,17),V(b,d,17)):(V(a,d,17),V(b,c,17))},v:a=>{var b=w.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=
|
|
57
|
-
c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-u.buffer.byteLength+65535)/65536|0;try{u.grow(d);va();var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1},x:(a,b)=>{var c=0,d=0,e;for(e of Vb()){var g=b+c;E[a+d>>2]=g;c+=V(e,g,Infinity)+1;d+=4}return 0},y:(a,b)=>{var c=Vb();E[a>>2]=c.length;a=0;for(var d of c)a+=Ab(d)+1;E[b>>2]=a;return 0},z:()=>52,B:()=>52,w:function(){return 70},A:(a,b,c,d)=>{for(var e=0,g=0;g<c;g++){var f=E[b>>
|
|
58
|
-
2],h=E[b+4>>2];b+=8;for(var m=0;m<h;m++){var l=a,k=w[f+m],q=Wb[l];if(0===k||10===k){l=1===l?ka:p;for(k=0;q[k]&&!(NaN<=k);)++k;k=Bb.decode(q.buffer?q.subarray(0,k):new Uint8Array(q.slice(0,k)));l(k);q.length=0}else q.push(k)}e+=h}E[d>>2]=e;return 0},q:Rb},X=await (async function(){function a(c){X=c.exports;u=X.Q;n.wasmMemory=u;va();kb=X.W;c=X;mb=c.S;S=c.T;Xb=c.U;n._main=Yb=c.V;Zb=c.X;xa=c.Y;F--;n.monitorRunDependencies?.(F);0==F&&G&&(c=G,G=null,c());return X}F++;n.monitorRunDependencies?.(F);
|
|
59
|
-
var b={a:$b};if(n.instantiateWasm)return new Promise(c=>{n.instantiateWasm(b,(d,e)=>{c(a(d,e))})});ya??=n.locateFile?n.locateFile("RoomleToolsCore.wasm",fa):fa+"RoomleToolsCore.wasm";return a((await Ba(b)).instance)}());
|
|
60
|
-
function ac(){function a(){n.calledRun=!0;if(!la){ua=!0;X.R();na?.(n);n.onRuntimeInitialized?.();if(!n.noInitialRun){var b=Yb;try{var c=b(0,0);ma=c;Rb(c)}catch(d){Qb(d)}}if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)b=n.postRun.shift(),Ea.push(b);Da(Ea)}}if(0<F)G=ac;else{if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)Ga();Da(Fa);0<F?G=ac:n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),
|
|
61
|
-
1);a()},1)):a()}}if(n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.shift()();ac();ua?moduleRtn=n:moduleRtn=new Promise((a,b)=>{na=a;oa=b});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return moduleRtn;
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
})();
|
|
68
|
-
if (typeof exports === 'object' && typeof module === 'object') {
|
|
69
|
-
module.exports = RoomleToolsCore;
|
|
70
|
-
// This default export looks redundant, but it allows TS to import this
|
|
71
|
-
// commonjs style module.
|
|
72
|
-
module.exports.default = RoomleToolsCore;
|
|
73
|
-
} else if (typeof define === 'function' && define['amd'])
|
|
74
|
-
define([], () => RoomleToolsCore);
|
|
1
|
+
var RoomleToolsCore=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var m=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,ca=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,da="./this.program",ea=(b,a)=>{throw a;};"undefined"!=typeof __filename&&(_scriptName=__filename);var p="",fa,ha;
|
|
2
|
+
if(ca){var fs=require("node:fs");p=__dirname+"/";ha=b=>{b=ia(b)?new URL(b):b;return fs.readFileSync(b)};fa=async b=>{b=ia(b)?new URL(b):b;return fs.readFileSync(b,void 0)};1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ea=(b,a)=>{process.exitCode=b;throw a;}}else if(aa||ba){try{p=(new URL(".",_scriptName)).href}catch{}fa=async b=>{b=await fetch(b,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);}}
|
|
3
|
+
var ja=console.log.bind(console),t=console.error.bind(console),u,w=!1,y,ia=b=>b.startsWith("file://"),ka,la,ma=!1;function na(){var b=oa.buffer;pa=new Int8Array(b);B=new Int16Array(b);C=new Uint8Array(b);E=new Uint16Array(b);F=new Int32Array(b);G=new Uint32Array(b);qa=new Float32Array(b);ra=new Float64Array(b);sa=new BigInt64Array(b);ta=new BigUint64Array(b)}
|
|
4
|
+
function ua(b){m.onAbort?.(b);b=`Aborted(${b})`;t(b);w=!0;b+=". Build with -sASSERTIONS for more info.";ma&&va();b=new WebAssembly.RuntimeError(b);la?.(b);throw b;}var wa;async function xa(b){if(!u)try{var a=await fa(b);return new Uint8Array(a)}catch{}if(b==wa&&u)b=new Uint8Array(u);else if(ha)b=ha(b);else throw"both async and sync fetching of the wasm failed";return b}
|
|
5
|
+
async function ya(b,a){try{var c=await xa(b);return await WebAssembly.instantiate(c,a)}catch(d){t(`failed to asynchronously prepare wasm: ${d}`),ua(d)}}async function za(b){var a=wa;if(!u&&!ca)try{var c=fetch(a,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,b)}catch(d){t(`wasm streaming compile failed: ${d}`),t("falling back to ArrayBuffer instantiation")}return ya(a,b)}
|
|
6
|
+
class Aa{name="ExitStatus";constructor(b){this.message=`Program terminated with exit(${b})`;this.status=b}}var B,F,sa,pa,qa,ra,E,G,ta,C,Ba=b=>{for(;0<b.length;)b.shift()(m)},Ca=[],Da=[],Ea=()=>{var b=m.preRun.shift();Da.push(b)},Fa=!0,Ga={},Ha=b=>{for(;b.length;){var a=b.pop();b.pop()(a)}};function H(b){return this.Y(G[b>>2])}
|
|
7
|
+
var I={},J={},Ia={},Ja=class extends Error{constructor(b){super(b);this.name="InternalError"}},L=(b,a,c)=>{function d(h){h=c(h);if(h.length!==b.length)throw new Ja("Mismatched type converter count");for(var l=0;l<b.length;++l)K(b[l],h[l])}b.forEach(h=>Ia[h]=a);var e=Array(a.length),g=[],f=0;for(let [h,l]of a.entries())J.hasOwnProperty(l)?e[h]=J[l]:(g.push(l),I.hasOwnProperty(l)||(I[l]=[]),I[l].push(()=>{e[h]=J[l];++f;f===g.length&&d(e)}));0===g.length&&d(e)},M=b=>{for(var a="";;){var c=C[b++];if(!c)return a;
|
|
8
|
+
a+=String.fromCharCode(c)}},N=class extends Error{constructor(b){super(b);this.name="BindingError"}},La=b=>{throw new N(b);};function Ma(b,a,c={}){var d=a.name;if(!b)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(J.hasOwnProperty(b)){if(c.Ja)return;throw new N(`Cannot register type '${d}' twice`);}J[b]=a;delete Ia[b];I.hasOwnProperty(b)&&(a=I[b],delete I[b],a.forEach(e=>e()))}function K(b,a,c={}){return Ma(b,a,c)}
|
|
9
|
+
var Na=(b,a,c)=>{switch(a){case 1:return c?d=>pa[d]:d=>C[d];case 2:return c?d=>B[d>>1]:d=>E[d>>1];case 4:return c?d=>F[d>>2]:d=>G[d>>2];case 8:return c?d=>sa[d>>3]:d=>ta[d>>3];default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},Oa=b=>{throw new N(b.W.$.X.name+" instance already deleted");},Pa=!1,Qa=()=>{},O=b=>{if(!globalThis.FinalizationRegistry)return O=a=>a,b;Pa=new FinalizationRegistry(a=>{a=a.W;--a.count.value;0===a.count.value&&(a.ea?a.ha.ia(a.ea):a.$.X.ia(a.Z))});O=a=>{var c=
|
|
10
|
+
a.W;c.ea&&Pa.register(a,{W:c},a);return a};Qa=a=>{Pa.unregister(a)};return O(b)},Ra=[];function Sa(){}
|
|
11
|
+
var Ta=(b,a)=>Object.defineProperty(a,"name",{value:b}),Ua={},Va=(b,a,c)=>{if(void 0===b[a].da){var d=b[a];b[a]=function(...e){if(!b[a].da.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${b[a].da})!`);return b[a].da[e.length].apply(this,e)};b[a].da=[];b[a].da[d.ja]=d}},P=(b,a,c)=>{if(m.hasOwnProperty(b)){if(void 0===c||void 0!==m[b].da&&void 0!==m[b].da[c])throw new N(`Cannot register public name '${b}' twice`);Va(m,
|
|
12
|
+
b,b);if(m[b].da.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);m[b].da[c]=a}else m[b]=a,m[b].ja=c},Wa=b=>{b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?`_${b}`:b};function Xa(b,a,c,d,e,g,f,h){this.name=b;this.constructor=a;this.la=c;this.ia=d;this.fa=e;this.Ea=g;this.oa=f;this.Ca=h;this.La=[]}
|
|
13
|
+
var Ya=(b,a,c)=>{for(;a!==c;){if(!a.oa)throw new N(`Expected null or instance of ${c.name}, got an instance of ${a.name}`);b=a.oa(b);a=a.fa}return b},Za=b=>{if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b};
|
|
14
|
+
function $a(b,a){if(null===a){if(this.ra)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.W)throw new N(`Cannot pass "${Za(a)}" as a ${this.name}`);if(!a.W.Z)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Ya(a.W.Z,a.W.$.X,this.X)}
|
|
15
|
+
function ab(b,a){if(null===a){if(this.ra)throw new N(`null is not a valid ${this.name}`);if(this.qa){var c=this.ta();null!==b&&b.push(this.ia,c);return c}return 0}if(!a||!a.W)throw new N(`Cannot pass "${Za(a)}" as a ${this.name}`);if(!a.W.Z)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.pa&&a.W.$.pa)throw new N(`Cannot convert argument of type ${a.W.ha?a.W.ha.name:a.W.$.name} to parameter type ${this.name}`);c=Ya(a.W.Z,a.W.$.X,this.X);if(this.qa){if(void 0===
|
|
16
|
+
a.W.ea)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Qa){case 0:if(a.W.ha===this)c=a.W.ea;else throw new N(`Cannot convert argument of type ${a.W.ha?a.W.ha.name:a.W.$.name} to parameter type ${this.name}`);break;case 1:c=a.W.ea;break;case 2:if(a.W.ha===this)c=a.W.ea;else{var d=a.clone();c=this.Ma(c,Q(()=>d["delete"]()));null!==b&&b.push(this.ia,c)}break;default:throw new N("Unsupported sharing policy");}}return c}
|
|
17
|
+
function bb(b,a){if(null===a){if(this.ra)throw new N(`null is not a valid ${this.name}`);return 0}if(!a.W)throw new N(`Cannot pass "${Za(a)}" as a ${this.name}`);if(!a.W.Z)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(a.W.$.pa)throw new N(`Cannot convert argument of type ${a.W.$.name} to parameter type ${this.name}`);return Ya(a.W.Z,a.W.$.X,this.X)}
|
|
18
|
+
var cb=(b,a,c)=>{if(a===c)return b;if(void 0===c.fa)return null;b=cb(b,a,c.fa);return null===b?null:c.Ca(b)},db={},eb=(b,a)=>{if(void 0===a)throw new N("ptr should not be undefined");for(;b.fa;)a=b.oa(a),b=b.fa;return db[a]},fb=(b,a)=>{if(!a.$||!a.Z)throw new Ja("makeClassHandle requires ptr and ptrType");if(!!a.ha!==!!a.ea)throw new Ja("Both smartPtrType and smartPtr must be specified");a.count={value:1};return O(Object.create(b,{W:{value:a,writable:!0}}))};
|
|
19
|
+
function R(b,a,c,d,e,g,f,h,l,n,k){this.name=b;this.X=a;this.ra=c;this.pa=d;this.qa=e;this.Ka=g;this.Qa=f;this.ya=h;this.ta=l;this.Ma=n;this.ia=k;e||void 0!==a.fa?this.aa=ab:(this.aa=d?$a:bb,this.ba=null)}var gb=(b,a,c)=>{if(!m.hasOwnProperty(b))throw new Ja("Replacing nonexistent public symbol");void 0!==m[b].da&&void 0!==c?m[b].da[c]=a:(m[b]=a,m[b].ja=c)},S=(b,a)=>{b=M(b);var c=hb.get(a);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${b}: ${a}`);return c};
|
|
20
|
+
class ib extends Error{}var kb=b=>{b=jb(b);var a=M(b);T(b);return a},lb=(b,a)=>{function c(g){e[g]||J[g]||(Ia[g]?Ia[g].forEach(c):(d.push(g),e[g]=!0))}var d=[],e={};a.forEach(c);throw new ib(`${b}: `+d.map(kb).join([", "]));},mb=(b,a)=>{for(var c=[],d=0;d<b;d++)c.push(G[a+4*d>>2]);return c};function nb(b){for(var a=1;a<b.length;++a)if(null!==b[a]&&void 0===b[a].ba)return!0;return!1}
|
|
21
|
+
function ob(b,a,c,d,e,g){var f=a.length;if(2>f)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==a[1]&&null!==c,l=nb(a);c=!a[0].xa;var n=a[0],k=a[1];d=[b,La,d,e,Ha,n.Y.bind(n),k?.aa.bind(k)];for(e=2;e<f;++e)n=a[e],d.push(n.aa.bind(n));if(!l)for(e=h?1:2;e<a.length;++e)null!==a[e].ba&&d.push(a[e].ba);l=nb(a);e=a.length-2;k=[];n=["fn"];h&&n.push("thisWired");for(f=0;f<e;++f)k.push(`arg${f}`),n.push(`arg${f}Wired`);k=k.join(",");n=n.join(",");k=
|
|
22
|
+
`return function (${k}) {\n`;l&&(k+="var destructors = [];\n");var r=l?"destructors":"null",q="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");h&&(k+=`var thisWired = toClassParamWire(${r}, this);\n`);for(f=0;f<e;++f){var v=`toArg${f}Wire`;k+=`var arg${f}Wired = ${v}(${r}, arg${f});\n`;q.push(v)}k+=(c||g?"var rv = ":"")+`invoker(${n});\n`;if(l)k+="runDestructors(destructors);\n";else for(f=h?1:2;f<a.length;++f)g=1===f?"thisWired":"arg"+(f-2)+"Wired",
|
|
23
|
+
null!==a[f].ba&&(k+=`${g}_dtor(${g});\n`,q.push(`${g}_dtor`));c&&(k+="var ret = fromRetWire(rv);\nreturn ret;\n");a=(new Function(q,k+"}\n"))(...d);return Ta(b,a)}
|
|
24
|
+
var pb=b=>{b=b.trim();const a=b.indexOf("(");return-1===a?b:b.slice(0,a)},qb=[],U=[0,1,,1,null,1,!0,1,!1,1],rb=[],sb=b=>{if(9<b&&0===--U[b+1]){var a=U[b];U[b]=void 0;var c=rb[b];c&&(rb[b]=void 0,c(a));qb.push(b)}},X=b=>{if(!b)throw new N(`Cannot use deleted val. handle = ${b}`);return U[b]},Q=b=>{switch(b){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const a=qb.pop()||U.length;U[a]=b;U[a+1]=1;return a}},ub={name:"emscripten::val",Y:b=>{var a=X(b);sb(b);return a},
|
|
25
|
+
aa:(b,a)=>Q(a),ga:H,ba:null},vb=(b,a,c)=>{switch(a){case 1:return c?function(d){return this.Y(pa[d])}:function(d){return this.Y(C[d])};case 2:return c?function(d){return this.Y(B[d>>1])}:function(d){return this.Y(E[d>>1])};case 4:return c?function(d){return this.Y(F[d>>2])}:function(d){return this.Y(G[d>>2])};default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},wb=(b,a)=>{var c=J[b];if(void 0===c)throw b=`${a} has unknown type ${kb(b)}`,new N(b);return c},xb=(b,a)=>{switch(a){case 4:return function(c){return this.Y(qa[c>>
|
|
26
|
+
2])};case 8:return function(c){return this.Y(ra[c>>3])};default:throw new TypeError(`invalid float width (${a}): ${b}`);}},Y=(b,a,c)=>{var d=C;if(!(0<c))return 0;var e=a;c=a+c-1;for(var g=0;g<b.length;++g){var f=b.codePointAt(g);if(127>=f){if(a>=c)break;d[a++]=f}else if(2047>=f){if(a+1>=c)break;d[a++]=192|f>>6;d[a++]=128|f&63}else if(65535>=f){if(a+2>=c)break;d[a++]=224|f>>12;d[a++]=128|f>>6&63;d[a++]=128|f&63}else{if(a+3>=c)break;d[a++]=240|f>>18;d[a++]=128|f>>12&63;d[a++]=128|f>>6&63;d[a++]=128|
|
|
27
|
+
f&63;g++}}d[a]=0;return a-e},yb=b=>{for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);127>=d?a++:2047>=d?a+=2:55296<=d&&57343>=d?(a+=4,++c):a+=3}return a},zb=new TextDecoder,Ab=(b,a,c,d)=>{c=a+c;if(d)return c;for(;b[a]&&!(a>=c);)++a;return a},Bb=new TextDecoder("utf-16le"),Cb=(b,a,c)=>{b>>=1;return Bb.decode(E.subarray(b,Ab(E,b,a/2,c)))},Db=(b,a,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)B[a>>1]=b.charCodeAt(e),a+=2;B[a>>1]=0;return a-d},Eb=
|
|
28
|
+
b=>2*b.length,Fb=(b,a,c)=>{var d="";b>>=2;for(var e=0;!(e>=a/4);e++){var g=G[b+e];if(!g&&!c)break;d+=String.fromCodePoint(g)}return d},Gb=(b,a,c)=>{c??=2147483647;if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var g=b.codePointAt(e);65535<g&&e++;F[a>>2]=g;a+=4;if(a+4>c)break}F[a>>2]=0;return a-d},Hb=b=>{for(var a=0,c=0;c<b.length;++c)65535<b.codePointAt(c)&&c++,a+=4;return a},Ib=0,Jb=[],Kb=b=>{var a=Jb.length;Jb.push(b);return a},Lb=(b,a)=>{for(var c=Array(b),d=0;d<b;++d)c[d]=wb(G[a+
|
|
29
|
+
4*d>>2],`parameter ${d}`);return c},Mb=(b,a,c)=>{var d=[];b=b(d,c);d.length&&(G[a>>2]=Q(d));return b},Nb={},Ob=b=>{var a=Nb[b];return void 0===a?M(b):a},Z={},Pb=b=>{b instanceof Aa||"unwind"==b||ea(1,b)},Qb=b=>{y=b;Fa||0<Ib||(m.onExit?.(b),w=!0);ea(b,new Aa(b))},Rb=b=>{if(!w)try{b()}catch(a){Pb(a)}finally{if(!(Fa||0<Ib))try{y=b=y,Qb(b)}catch(a){Pb(a)}}},Sb={},Ub=()=>{if(!Tb){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-",
|
|
30
|
+
"_")+".UTF-8",_:da||"./this.program"},a;for(a in Sb)void 0===Sb[a]?delete b[a]:b[a]=Sb[a];var c=[];for(a in b)c.push(`${a}=${b[a]}`);Tb=c}return Tb},Tb,Vb=[null,[],[]];
|
|
31
|
+
(()=>{let b=Sa.prototype;Object.assign(b,{isAliasOf:function(c){if(!(this instanceof Sa&&c instanceof Sa))return!1;var d=this.W.$.X,e=this.W.Z;c.W=c.W;var g=c.W.$.X;for(c=c.W.Z;d.fa;)e=d.oa(e),d=d.fa;for(;g.fa;)c=g.oa(c),g=g.fa;return d===g&&e===c},clone:function(){this.W.Z||Oa(this);if(this.W.na)return this.W.count.value+=1,this;var c=O,d=Object,e=d.create,g=Object.getPrototypeOf(this),f=this.W;c=c(e.call(d,g,{W:{value:{count:f.count,ma:f.ma,na:f.na,Z:f.Z,$:f.$,ea:f.ea,ha:f.ha}}}));c.W.count.value+=
|
|
32
|
+
1;c.W.ma=!1;return c},["delete"](){this.W.Z||Oa(this);if(this.W.ma&&!this.W.na)throw new N("Object already scheduled for deletion");Qa(this);var c=this.W;--c.count.value;0===c.count.value&&(c.ea?c.ha.ia(c.ea):c.$.X.ia(c.Z));this.W.na||(this.W.ea=void 0,this.W.Z=void 0)},isDeleted:function(){return!this.W.Z},deleteLater:function(){this.W.Z||Oa(this);if(this.W.ma&&!this.W.na)throw new N("Object already scheduled for deletion");Ra.push(this);this.W.ma=!0;return this}});const a=Symbol.dispose;a&&(b[a]=
|
|
33
|
+
b["delete"])})();
|
|
34
|
+
Object.assign(R.prototype,{Fa(b){this.ya&&(b=this.ya(b));return b},va(b){this.ia?.(b)},ga:H,Y:function(b){function a(){return this.qa?fb(this.X.la,{$:this.Ka,Z:c,ha:this,ea:b}):fb(this.X.la,{$:this,Z:b})}var c=this.Fa(b);if(!c)return this.va(b),null;var d=eb(this.X,c);if(void 0!==d){if(0===d.W.count.value)return d.W.Z=c,d.W.ea=b,d.clone();d=d.clone();this.va(b);return d}d=this.X.Ea(c);d=Ua[d];if(!d)return a.call(this);d=this.pa?d.Ba:d.pointerType;var e=cb(c,this.X,d.X);return null===e?a.call(this):
|
|
35
|
+
this.qa?fb(d.X.la,{$:d,Z:e,ha:this,ea:b}):fb(d.X.la,{$:d,Z:e})}});m.noExitRuntime&&(Fa=m.noExitRuntime);m.print&&(ja=m.print);m.printErr&&(t=m.printErr);m.wasmBinary&&(u=m.wasmBinary);m.thisProgram&&(da=m.thisProgram);if(m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.shift()();
|
|
36
|
+
var jb,T,Wb,Xb,Yb,va,oa,hb,Zb={s:()=>ua(""),K:b=>{var a=Ga[b];delete Ga[b];var c=a.ta,d=a.ia,e=a.wa,g=e.map(f=>f.Ia).concat(e.map(f=>f.Oa));L([b],g,f=>{var h={},l,n;for([l,n]of e.entries()){const k=f[l],r=n.Ga,q=n.Ha,v=f[l+e.length],x=n.Na,A=n.Pa;h[n.Da]={read:D=>k.Y(r(q,D)),write:(D,V)=>{var z=[];x(A,D,v.aa(z,V));Ha(z)},optional:k.optional}}return[{name:a.name,Y:k=>{var r={},q;for(q in h)r[q]=h[q].read(k);d(k);return r},aa:(k,r)=>{for(var q in h)if(!(q in r||h[q].optional))throw new TypeError(`Missing field: "${q}"`);
|
|
37
|
+
var v=c();for(q in h)h[q].write(v,r[q]);null!==k&&k.push(d,v);return v},ga:H,ba:d}]})},l:(b,a,c,d,e)=>{a=M(a);d=0n===d;let g=f=>f;if(d){const f=8*c;g=h=>BigInt.asUintN(f,h);e=g(e)}K(b,{name:a,Y:g,aa:(f,h)=>{"number"==typeof h&&(h=BigInt(h));return h},ga:Na(a,c,!d),ba:null})},F:(b,a,c,d)=>{a=M(a);K(b,{name:a,Y:function(e){return!!e},aa:function(e,g){return g?c:d},ga:function(e){return this.Y(C[e])},ba:null})},J:(b,a,c,d,e,g,f,h,l,n,k,r,q)=>{k=M(k);g=S(e,g);h&&=S(f,h);n&&=S(l,n);q=S(r,q);var v=Wa(k);
|
|
38
|
+
P(v,function(){lb(`Cannot construct ${k} due to unbound types`,[d])});L([b,a,c],d?[d]:[],x=>{x=x[0];if(d){var A=x.X;var D=A.la}else D=Sa.prototype;x=Ta(k,function(...Ka){if(Object.getPrototypeOf(this)!==V)throw new N(`Use 'new' to construct ${k}`);if(void 0===z.ka)throw new N(`${k} has no accessible constructor`);var tb=z.ka[Ka.length];if(void 0===tb)throw new N(`Tried to invoke ctor of ${k} with invalid number of parameters (${Ka.length}) - expected (${Object.keys(z.ka).toString()}) parameters instead!`);
|
|
39
|
+
return tb.apply(this,Ka)});var V=Object.create(D,{constructor:{value:x}});x.prototype=V;var z=new Xa(k,x,V,q,A,g,h,n);if(z.fa){var W;(W=z.fa).ua??(W.ua=[]);z.fa.ua.push(z)}A=new R(k,z,!0,!1,!1);W=new R(k+"*",z,!1,!1,!1);D=new R(k+" const*",z,!1,!0,!1);Ua[b]={pointerType:W,Ba:D};gb(v,x);return[A,W,D]})},I:(b,a,c,d,e,g)=>{var f=mb(a,c);e=S(d,e);L([],[b],h=>{h=h[0];var l=`constructor ${h.name}`;void 0===h.X.ka&&(h.X.ka=[]);if(void 0!==h.X.ka[a-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${a-
|
|
40
|
+
1}) for class '${h.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);h.X.ka[a-1]=()=>{lb(`Cannot construct ${h.name} due to unbound types`,f)};L([],f,n=>{n.splice(1,0,null);h.X.ka[a-1]=ob(l,n,null,e,g);return[]});return[]})},e:(b,a,c,d,e,g,f,h,l)=>{var n=mb(c,d);a=M(a);a=pb(a);g=S(e,g);L([],[b],k=>{function r(){lb(`Cannot call ${q} due to unbound types`,n)}k=k[0];var q=`${k.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);h&&k.X.La.push(a);
|
|
41
|
+
var v=k.X.la,x=v[a];void 0===x||void 0===x.da&&x.className!==k.name&&x.ja===c-2?(r.ja=c-2,r.className=k.name,v[a]=r):(Va(v,a,q),v[a].da[c-2]=r);L([],n,A=>{A=ob(q,A,k,g,f,l);void 0===v[a].da?(A.ja=c-2,v[a]=A):v[a].da[c-2]=A;return[]});return[]})},D:b=>K(b,ub),y:(b,a,c,d,e)=>{a=M(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function f(){}f.values={};K(b,{name:a,constructor:f,valueType:e,Y:function(h){return this.constructor.values[h]},aa:(h,l)=>l.value,ga:vb(a,c,d),ba:null});
|
|
42
|
+
P(a,f);break;case "number":var g={};K(b,{name:a,sa:g,valueType:e,Y:h=>h,aa:(h,l)=>l,ga:vb(a,c,d),ba:null});P(a,g);delete m[a].ja;break;case "string":g={},K(b,{name:a,Aa:{},za:{},sa:g,valueType:e,Y:function(h){return this.za[h]},aa:function(h,l){return this.Aa[l]},ga:vb(a,c,d),ba:null}),P(a,g),delete m[a].ja}},i:(b,a,c)=>{var d=wb(b,"enum");a=M(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Ta(`${d.name}_${a}`,function(){})}});
|
|
43
|
+
b.values[c]=d;b[a]=d;break;case "number":d.sa[a]=c;break;case "string":d.Aa[a]=c,d.za[c]=a,d.sa[a]=a}},k:(b,a,c)=>{a=M(a);K(b,{name:a,Y:d=>d,aa:(d,e)=>e,ga:xb(a,c),ba:null})},M:(b,a,c,d,e,g,f)=>{var h=mb(a,c);b=M(b);b=pb(b);e=S(d,e);P(b,function(){lb(`Cannot call ${b} due to unbound types`,h)},a-1);L([],h,l=>{l=[l[0],null].concat(l.slice(1));gb(b,ob(b,l,null,e,g,f),a-1);return[]})},b:(b,a,c,d,e)=>{a=M(a);let g=h=>h;if(0===d){var f=32-8*c;g=h=>h<<f>>>f;e=g(e)}K(b,{name:a,Y:g,aa:(h,l)=>l,ga:Na(a,c,
|
|
44
|
+
0!==d),ba:null})},a:(b,a,c)=>{function d(g){return new e(pa.buffer,G[g+4>>2],G[g>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=M(c);K(b,{name:c,Y:d,ga:d},{Ja:!0})},H:(b,a,c,d,e,g,f,h,l,n,k,r)=>{c=M(c);g=S(e,g);h=S(f,h);n=S(l,n);r=S(k,r);L([b],[a],q=>{q=q[0];return[new R(c,q.X,!1,!1,!0,q,d,g,h,n,r)]})},E:(b,a)=>{a=M(a);K(b,{name:a,Y(c){var d=(d=c+4)?zb.decode(C.subarray(d,Ab(C,d,G[c>>2],!0))):"";T(c);return d},
|
|
45
|
+
aa(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new N("Cannot pass non-string to std::string");var g=e?yb(d):d.length;var f=Wb(4+g+1),h=f+4;G[f>>2]=g;e?Y(d,h,g+1):C.set(d,h);null!==c&&c.push(T,f);return f},ga:H,ba(c){T(c)}})},h:(b,a,c)=>{c=M(c);if(2===a){var d=Cb;var e=Db;var g=Eb}else d=Fb,e=Gb,g=Hb;K(b,{name:c,Y:f=>{var h=d(f+4,G[f>>2]*a,!0);T(f);return h},aa:(f,h)=>{if("string"!=typeof h)throw new N(`Cannot pass non-string to C++ string type ${c}`);
|
|
46
|
+
var l=g(h),n=Wb(4+l+a);G[n>>2]=l/a;e(h,n+4,l+a);null!==f&&f.push(T,n);return n},ga:H,ba(f){T(f)}})},o:(b,a,c,d,e,g)=>{Ga[b]={name:M(a),ta:S(c,d),ia:S(e,g),wa:[]}},f:(b,a,c,d,e,g,f,h,l,n)=>{Ga[b].wa.push({Da:M(a),Ia:c,Ga:S(d,e),Ha:g,Oa:f,Na:S(h,l),Pa:n})},G:(b,a)=>{a=M(a);K(b,{xa:!0,name:a,Y:()=>{},aa:()=>{}})},q:()=>{Fa=!1;Ib=0},d:(b,a,c)=>{var [d,...e]=Lb(b,a);a=d.aa.bind(d);var g=e.map(l=>l.ga.bind(l));b--;var f={toValue:X};b=g.map((l,n)=>{var k=`argFromPtr${n}`;f[k]=l;return`${k}(args${n?"+"+8*
|
|
47
|
+
n:""})`});switch(c){case 0:var h="toValue(handle)";break;case 2:h="new (toValue(handle))";break;case 3:h="";break;case 1:f.getStringOrSymbol=Ob,h="toValue(handle)[getStringOrSymbol(methodName)]"}h+=`(${b})`;d.xa||(f.toReturnWire=a,f.emval_returnValue=Mb,h=`return emval_returnValue(toReturnWire, destructorsRef, ${h})`);h=`return function (handle, methodName, destructorsRef, args) {\n${h}\n}`;c=(new Function(Object.keys(f),h))(...Object.values(f));h=`methodCaller<(${e.map(l=>l.name)}) => ${d.name}>`;
|
|
48
|
+
return Kb(Ta(h,c))},L:sb,C:b=>{if(!b)return Q(globalThis);b=Ob(b);return Q(globalThis[b])},j:(b,a)=>{b=X(b);a=X(a);return Q(b[a])},m:b=>{9<b&&(U[b+1]+=1)},c:(b,a,c,d,e)=>Jb[b](a,c,d,e),g:b=>Q(Ob(b)),n:b=>{var a=X(b);Ha(a);sb(b)},r:(b,a)=>{Z[b]&&(clearTimeout(Z[b].id),delete Z[b]);if(!a)return 0;var c=setTimeout(()=>{delete Z[b];Rb(()=>Yb(b,performance.now()))},a);Z[b]={id:c,Ra:a};return 0},t:(b,a,c,d)=>{var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();
|
|
49
|
+
G[b>>2]=60*Math.max(g,e);F[a>>2]=Number(g!=e);a=f=>{var h=Math.abs(f);return`UTC${0<=f?"-":"+"}${String(Math.floor(h/60)).padStart(2,"0")}${String(h%60).padStart(2,"0")}`};b=a(g);a=a(e);e<g?(Y(b,c,17),Y(a,d,17)):(Y(b,d,17),Y(a,c,17))},u:b=>{var a=C.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(b,d)/65536))-oa.buffer.byteLength+65535)/65536|0;try{oa.grow(d);na();var e=1;break a}catch(g){}e=
|
|
50
|
+
void 0}if(e)return!0}return!1},w:(b,a)=>{var c=0,d=0,e;for(e of Ub()){var g=a+c;G[b+d>>2]=g;c+=Y(e,g,Infinity)+1;d+=4}return 0},x:(b,a)=>{var c=Ub();G[b>>2]=c.length;b=0;for(var d of c)b+=yb(d)+1;G[a>>2]=b;return 0},z:()=>52,B:()=>52,v:function(){return 70},A:(b,a,c,d)=>{for(var e=0,g=0;g<c;g++){var f=G[a>>2],h=G[a+4>>2];a+=8;for(var l=0;l<h;l++){var n=b,k=C[f+l],r=Vb[n];0===k||10===k?(n=1===n?ja:t,k=Ab(r,0),k=zb.decode(r.buffer?r.subarray(0,k):new Uint8Array(r.slice(0,k))),n(k),r.length=0):r.push(k)}e+=
|
|
51
|
+
h}G[d>>2]=e;return 0},p:Qb},$b;$b=await (async function(){function b(c){c=$b=c.exports;jb=c.P;T=c.Q;Wb=c.R;Xb=m._main=c.S;Yb=c.U;va=c.V;oa=m.wasmMemory=c.N;hb=c.T;na();return $b}var a={a:Zb};if(m.instantiateWasm)return new Promise(c=>{m.instantiateWasm(a,(d,e)=>{c(b(d,e))})});wa??=m.locateFile?m.locateFile("RoomleToolsCore.wasm",p):p+"RoomleToolsCore.wasm";return b((await za(a)).instance)}());
|
|
52
|
+
(function(){function b(){m.calledRun=!0;if(!w){ma=!0;$b.O();ka?.(m);m.onRuntimeInitialized?.();if(!m.noInitialRun){var a=Xb;try{var c=a(0,0);y=c;Qb(c)}catch(d){Pb(d)}}if(m.postRun)for("function"==typeof m.postRun&&(m.postRun=[m.postRun]);m.postRun.length;)a=m.postRun.shift(),Ca.push(a);Ba(Ca)}}if(m.preRun)for("function"==typeof m.preRun&&(m.preRun=[m.preRun]);m.preRun.length;)Ea();Ba(Da);m.setStatus?(m.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>m.setStatus(""),1);b()},1)):b()})();
|
|
53
|
+
ma?moduleRtn=m:moduleRtn=new Promise((b,a)=>{ka=b;la=a});
|
|
54
|
+
;return moduleRtn}})();if(typeof exports==="object"&&typeof module==="object"){module.exports=RoomleToolsCore;module.exports.default=RoomleToolsCore}else if(typeof define==="function"&&define["amd"])define([],()=>RoomleToolsCore);
|
package/lib/RoomleToolsCore.wasm
CHANGED
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as e, c as t, l as n, t as r, x as i } from "./Object3D-DSjIOhON.mjs";
|
|
2
|
-
import { a, i as o, n as s, r as c, t as l } from "./BufferGeometry-
|
|
2
|
+
import { a, i as o, n as s, r as c, t as l } from "./BufferGeometry-BLeRuMkh.mjs";
|
|
3
3
|
//#region ../../node_modules/three/src/materials/LineBasicMaterial.js
|
|
4
4
|
var u = class extends c {
|
|
5
5
|
constructor(e) {
|
|
@@ -151,4 +151,4 @@ var b = /* @__PURE__ */ new n(), x = /* @__PURE__ */ new n(), S = class extends
|
|
|
151
151
|
//#endregion
|
|
152
152
|
export { w as SpotLightHelper };
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=SpotLightHelper-
|
|
154
|
+
//# sourceMappingURL=SpotLightHelper-aXFW8qaJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpotLightHelper-DqsfqCrs.mjs","names":[],"sources":["../../../../node_modules/three/src/materials/LineBasicMaterial.js","../../../../node_modules/three/src/objects/Line.js","../../../../node_modules/three/src/objects/LineSegments.js","../../../../node_modules/three/src/helpers/SpotLightHelper.js"],"sourcesContent":["import { Material } from './Material.js';\nimport { Color } from '../math/Color.js';\n\n/**\n * A material for rendering line primitives.\n *\n * Materials define the appearance of renderable 3D objects.\n *\n * ```js\n * const material = new THREE.LineBasicMaterial( { color: 0xffffff } );\n * ```\n *\n * @augments Material\n */\nclass LineBasicMaterial extends Material {\n\n\t/**\n\t * Constructs a new line basic material.\n\t *\n\t * @param {Object} [parameters] - An object with one or more properties\n\t * defining the material's appearance. Any property of the material\n\t * (including any property from inherited materials) can be passed\n\t * in here. Color values can be passed any type of value accepted\n\t * by {@link Color#set}.\n\t */\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineBasicMaterial = true;\n\n\t\tthis.type = 'LineBasicMaterial';\n\n\t\t/**\n\t\t * Color of the material.\n\t\t *\n\t\t * @type {Color}\n\t\t * @default (1,1,1)\n\t\t */\n\t\tthis.color = new Color( 0xffffff );\n\n\t\t/**\n\t\t * Sets the color of the lines using data from a texture. The texture map\n\t\t * color is modulated by the diffuse `color`.\n\t\t *\n\t\t * @type {?Texture}\n\t\t * @default null\n\t\t */\n\t\tthis.map = null;\n\n\t\t/**\n\t\t * Controls line thickness or lines.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}. WebGL and WebGPU\n\t\t * ignore this setting and always render line primitives with a\n\t\t * width of one pixel.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.linewidth = 1;\n\n\t\t/**\n\t\t * Defines appearance of line ends.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}.\n\t\t *\n\t\t * @type {('butt'|'round'|'square')}\n\t\t * @default 'round'\n\t\t */\n\t\tthis.linecap = 'round';\n\n\t\t/**\n\t\t * Defines appearance of line joints.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}.\n\t\t *\n\t\t * @type {('round'|'bevel'|'miter')}\n\t\t * @default 'round'\n\t\t */\n\t\tthis.linejoin = 'round';\n\n\t\t/**\n\t\t * Whether the material is affected by fog or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.linewidth = source.linewidth;\n\t\tthis.linecap = source.linecap;\n\t\tthis.linejoin = source.linejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { LineBasicMaterial };\n","import { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { LineBasicMaterial } from '../materials/LineBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { warn } from '../utils.js';\n\nconst _vStart = /*@__PURE__*/ new Vector3();\nconst _vEnd = /*@__PURE__*/ new Vector3();\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\n\nconst _intersectPointOnRay = /*@__PURE__*/ new Vector3();\nconst _intersectPointOnSegment = /*@__PURE__*/ new Vector3();\n\n/**\n * A continuous line. The line are rendered by connecting consecutive\n * vertices with straight lines.\n *\n * ```js\n * const material = new THREE.LineBasicMaterial( { color: 0x0000ff } );\n *\n * const points = [];\n * points.push( new THREE.Vector3( - 10, 0, 0 ) );\n * points.push( new THREE.Vector3( 0, 10, 0 ) );\n * points.push( new THREE.Vector3( 10, 0, 0 ) );\n *\n * const geometry = new THREE.BufferGeometry().setFromPoints( points );\n *\n * const line = new THREE.Line( geometry, material );\n * scene.add( line );\n * ```\n *\n * @augments Object3D\n */\nclass Line extends Object3D {\n\n\t/**\n\t * Constructs a new line.\n\t *\n\t * @param {BufferGeometry} [geometry] - The line geometry.\n\t * @param {Material|Array<Material>} [material] - The line material.\n\t */\n\tconstructor( geometry = new BufferGeometry(), material = new LineBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLine = true;\n\n\t\tthis.type = 'Line';\n\n\t\t/**\n\t\t * The line geometry.\n\t\t *\n\t\t * @type {BufferGeometry}\n\t\t */\n\t\tthis.geometry = geometry;\n\n\t\t/**\n\t\t * The line material.\n\t\t *\n\t\t * @type {Material|Array<Material>}\n\t\t * @default LineBasicMaterial\n\t\t */\n\t\tthis.material = material;\n\n\t\t/**\n\t\t * A dictionary representing the morph targets in the geometry. The key is the\n\t\t * morph targets name, the value its attribute index. This member is `undefined`\n\t\t * by default and only set when morph targets are detected in the geometry.\n\t\t *\n\t\t * @type {Object<string,number>|undefined}\n\t\t * @default undefined\n\t\t */\n\t\tthis.morphTargetDictionary = undefined;\n\n\t\t/**\n\t\t * An array of weights typically in the range `[0,1]` that specify how much of the morph\n\t\t * is applied. This member is `undefined` by default and only set when morph targets are\n\t\t * detected in the geometry.\n\t\t *\n\t\t * @type {Array<number>|undefined}\n\t\t * @default undefined\n\t\t */\n\t\tthis.morphTargetInfluences = undefined;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Computes an array of distance values which are necessary for rendering dashed lines.\n\t * For each vertex in the geometry, the method calculates the cumulative length from the\n\t * current point to the very beginning of the line.\n\t *\n\t * @return {Line} A reference to this line.\n\t */\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [ 0 ];\n\n\t\t\tfor ( let i = 1, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t_vStart.fromBufferAttribute( positionAttribute, i - 1 );\n\t\t\t\t_vEnd.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\tlineDistances[ i ] = lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i ] += _vStart.distanceTo( _vEnd );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\twarn( 'Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Computes intersection points between a casted ray and this line.\n\t *\n\t * @param {Raycaster} raycaster - The raycaster.\n\t * @param {Array<Object>} intersects - The target array that holds the intersection points.\n\t */\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst threshold = raycaster.params.Line.threshold;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\t\t_sphere.radius += threshold;\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\tconst localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );\n\t\tconst localThresholdSq = localThreshold * localThreshold;\n\n\t\tconst step = this.isLineSegments ? 2 : 1;\n\n\t\tconst index = geometry.index;\n\t\tconst attributes = geometry.attributes;\n\t\tconst positionAttribute = attributes.position;\n\n\t\tif ( index !== null ) {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tconst a = index.getX( i );\n\t\t\t\tconst b = index.getX( i + 1 );\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, a, b, i );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.isLineLoop ) {\n\n\t\t\t\tconst a = index.getX( end - 1 );\n\t\t\t\tconst b = index.getX( start );\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, a, b, end - 1 );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, i, i + 1, i );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.isLineLoop ) {\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, end - 1, start, end - 1 );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Sets the values of {@link Line#morphTargetDictionary} and {@link Line#morphTargetInfluences}\n\t * to make sure existing morph targets can influence this 3D object.\n\t */\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, raycaster, ray, thresholdSq, a, b, i ) {\n\n\tconst positionAttribute = object.geometry.attributes.position;\n\n\t_vStart.fromBufferAttribute( positionAttribute, a );\n\t_vEnd.fromBufferAttribute( positionAttribute, b );\n\n\tconst distSq = ray.distanceSqToSegment( _vStart, _vEnd, _intersectPointOnRay, _intersectPointOnSegment );\n\n\tif ( distSq > thresholdSq ) return;\n\n\t_intersectPointOnRay.applyMatrix4( object.matrixWorld ); // Move back to world space for distance calculation\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectPointOnRay );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return;\n\n\treturn {\n\n\t\tdistance: distance,\n\t\t// What do we want? intersection point on the ray or on the segment??\n\t\t// point: raycaster.ray.at( distance ),\n\t\tpoint: _intersectPointOnSegment.clone().applyMatrix4( object.matrixWorld ),\n\t\tindex: i,\n\t\tface: null,\n\t\tfaceIndex: null,\n\t\tbarycoord: null,\n\t\tobject: object\n\n\t};\n\n}\n\nexport { Line };\n","import { Line } from './Line.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { warn } from '../utils.js';\n\nconst _start = /*@__PURE__*/ new Vector3();\nconst _end = /*@__PURE__*/ new Vector3();\n\n/**\n * A series of lines drawn between pairs of vertices.\n *\n * @augments Line\n */\nclass LineSegments extends Line {\n\n\t/**\n\t * Constructs a new line segments.\n\t *\n\t * @param {BufferGeometry} [geometry] - The line geometry.\n\t * @param {Material|Array<Material>} [material] - The line material.\n\t */\n\tconstructor( geometry, material ) {\n\n\t\tsuper( geometry, material );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineSegments = true;\n\n\t\tthis.type = 'LineSegments';\n\n\t}\n\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [];\n\n\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i += 2 ) {\n\n\t\t\t\t_start.fromBufferAttribute( positionAttribute, i );\n\t\t\t\t_end.fromBufferAttribute( positionAttribute, i + 1 );\n\n\t\t\t\tlineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i + 1 ] = lineDistances[ i ] + _start.distanceTo( _end );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\twarn( 'LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { LineSegments };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { LineSegments } from '../objects/LineSegments.js';\nimport { LineBasicMaterial } from '../materials/LineBasicMaterial.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _vector = /*@__PURE__*/ new Vector3();\n\n/**\n * This displays a cone shaped helper object for a {@link SpotLight}.\n *\n * When the spot light or its target are transformed or light properties are\n * changed, it's necessary to call the `update()` method of the respective helper.\n *\n * ```js\n * const spotLight = new THREE.SpotLight( 0xffffff );\n * spotLight.position.set( 10, 10, 10 );\n * scene.add( spotLight );\n *\n * const spotLightHelper = new THREE.SpotLightHelper( spotLight );\n * scene.add( spotLightHelper );\n * ```\n *\n * @augments Object3D\n */\nclass SpotLightHelper extends Object3D {\n\n\t/**\n\t * Constructs a new spot light helper.\n\t *\n\t * @param {HemisphereLight} light - The light to be visualized.\n\t * @param {number|Color|string} [color] - The helper's color. If not set, the helper will take\n\t * the color of the light.\n\t */\n\tconstructor( light, color ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * The light being visualized.\n\t\t *\n\t\t * @type {SpotLight}\n\t\t */\n\t\tthis.light = light;\n\n\t\tthis.matrixAutoUpdate = false;\n\n\t\t/**\n\t\t * The color parameter passed in the constructor.\n\t\t * If not set, the helper will take the color of the light.\n\t\t *\n\t\t * @type {number|Color|string}\n\t\t */\n\t\tthis.color = color;\n\n\t\tthis.type = 'SpotLightHelper';\n\n\t\tconst geometry = new BufferGeometry();\n\n\t\tconst positions = [\n\t\t\t0, 0, 0, \t0, 0, 1,\n\t\t\t0, 0, 0, \t1, 0, 1,\n\t\t\t0, 0, 0,\t- 1, 0, 1,\n\t\t\t0, 0, 0, \t0, 1, 1,\n\t\t\t0, 0, 0, \t0, - 1, 1\n\t\t];\n\n\t\tfor ( let i = 0, j = 1, l = 32; i < l; i ++, j ++ ) {\n\n\t\t\tconst p1 = ( i / l ) * Math.PI * 2;\n\t\t\tconst p2 = ( j / l ) * Math.PI * 2;\n\n\t\t\tpositions.push(\n\t\t\t\tMath.cos( p1 ), Math.sin( p1 ), 1,\n\t\t\t\tMath.cos( p2 ), Math.sin( p2 ), 1\n\t\t\t);\n\n\t\t}\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { fog: false, toneMapped: false } );\n\n\t\tthis.cone = new LineSegments( geometry, material );\n\t\tthis.add( this.cone );\n\n\t\tthis.update();\n\n\t}\n\n\t/**\n\t * Frees the GPU-related resources allocated by this instance. Call this\n\t * method whenever this instance is no longer used in your app.\n\t */\n\tdispose() {\n\n\t\tthis.cone.geometry.dispose();\n\t\tthis.cone.material.dispose();\n\n\t}\n\n\t/**\n\t * Updates the helper to match the position and direction of the\n\t * light being visualized.\n\t */\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\t\tthis.light.target.updateWorldMatrix( true, false );\n\n\t\t// update the local matrix based on the parent and light target transforms\n\t\tif ( this.parent ) {\n\n\t\t\tthis.parent.updateWorldMatrix( true );\n\n\t\t\tthis.matrix\n\t\t\t\t.copy( this.parent.matrixWorld )\n\t\t\t\t.invert()\n\t\t\t\t.multiply( this.light.matrixWorld );\n\n\t\t} else {\n\n\t\t\tthis.matrix.copy( this.light.matrixWorld );\n\n\t\t}\n\n\t\tthis.matrixWorld.copy( this.light.matrixWorld );\n\n\t\tconst coneLength = this.light.distance ? this.light.distance : 1000;\n\t\tconst coneWidth = coneLength * Math.tan( this.light.angle );\n\n\t\tthis.cone.scale.set( coneWidth, coneWidth, coneLength );\n\n\t\t_vector.setFromMatrixPosition( this.light.target.matrixWorld );\n\n\t\tthis.cone.lookAt( _vector );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.cone.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.cone.material.color.copy( this.light.color );\n\n\t\t}\n\n\t}\n\n}\n\n\nexport { SpotLightHelper };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpotLightHelper-aXFW8qaJ.mjs","names":[],"sources":["../../../../node_modules/three/src/materials/LineBasicMaterial.js","../../../../node_modules/three/src/objects/Line.js","../../../../node_modules/three/src/objects/LineSegments.js","../../../../node_modules/three/src/helpers/SpotLightHelper.js"],"sourcesContent":["import { Material } from './Material.js';\nimport { Color } from '../math/Color.js';\n\n/**\n * A material for rendering line primitives.\n *\n * Materials define the appearance of renderable 3D objects.\n *\n * ```js\n * const material = new THREE.LineBasicMaterial( { color: 0xffffff } );\n * ```\n *\n * @augments Material\n */\nclass LineBasicMaterial extends Material {\n\n\t/**\n\t * Constructs a new line basic material.\n\t *\n\t * @param {Object} [parameters] - An object with one or more properties\n\t * defining the material's appearance. Any property of the material\n\t * (including any property from inherited materials) can be passed\n\t * in here. Color values can be passed any type of value accepted\n\t * by {@link Color#set}.\n\t */\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineBasicMaterial = true;\n\n\t\tthis.type = 'LineBasicMaterial';\n\n\t\t/**\n\t\t * Color of the material.\n\t\t *\n\t\t * @type {Color}\n\t\t * @default (1,1,1)\n\t\t */\n\t\tthis.color = new Color( 0xffffff );\n\n\t\t/**\n\t\t * Sets the color of the lines using data from a texture. The texture map\n\t\t * color is modulated by the diffuse `color`.\n\t\t *\n\t\t * @type {?Texture}\n\t\t * @default null\n\t\t */\n\t\tthis.map = null;\n\n\t\t/**\n\t\t * Controls line thickness or lines.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}. WebGL and WebGPU\n\t\t * ignore this setting and always render line primitives with a\n\t\t * width of one pixel.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.linewidth = 1;\n\n\t\t/**\n\t\t * Defines appearance of line ends.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}.\n\t\t *\n\t\t * @type {('butt'|'round'|'square')}\n\t\t * @default 'round'\n\t\t */\n\t\tthis.linecap = 'round';\n\n\t\t/**\n\t\t * Defines appearance of line joints.\n\t\t *\n\t\t * Can only be used with {@link SVGRenderer}.\n\t\t *\n\t\t * @type {('round'|'bevel'|'miter')}\n\t\t * @default 'round'\n\t\t */\n\t\tthis.linejoin = 'round';\n\n\t\t/**\n\t\t * Whether the material is affected by fog or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.linewidth = source.linewidth;\n\t\tthis.linecap = source.linecap;\n\t\tthis.linejoin = source.linejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { LineBasicMaterial };\n","import { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { LineBasicMaterial } from '../materials/LineBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { warn } from '../utils.js';\n\nconst _vStart = /*@__PURE__*/ new Vector3();\nconst _vEnd = /*@__PURE__*/ new Vector3();\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\n\nconst _intersectPointOnRay = /*@__PURE__*/ new Vector3();\nconst _intersectPointOnSegment = /*@__PURE__*/ new Vector3();\n\n/**\n * A continuous line. The line are rendered by connecting consecutive\n * vertices with straight lines.\n *\n * ```js\n * const material = new THREE.LineBasicMaterial( { color: 0x0000ff } );\n *\n * const points = [];\n * points.push( new THREE.Vector3( - 10, 0, 0 ) );\n * points.push( new THREE.Vector3( 0, 10, 0 ) );\n * points.push( new THREE.Vector3( 10, 0, 0 ) );\n *\n * const geometry = new THREE.BufferGeometry().setFromPoints( points );\n *\n * const line = new THREE.Line( geometry, material );\n * scene.add( line );\n * ```\n *\n * @augments Object3D\n */\nclass Line extends Object3D {\n\n\t/**\n\t * Constructs a new line.\n\t *\n\t * @param {BufferGeometry} [geometry] - The line geometry.\n\t * @param {Material|Array<Material>} [material] - The line material.\n\t */\n\tconstructor( geometry = new BufferGeometry(), material = new LineBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLine = true;\n\n\t\tthis.type = 'Line';\n\n\t\t/**\n\t\t * The line geometry.\n\t\t *\n\t\t * @type {BufferGeometry}\n\t\t */\n\t\tthis.geometry = geometry;\n\n\t\t/**\n\t\t * The line material.\n\t\t *\n\t\t * @type {Material|Array<Material>}\n\t\t * @default LineBasicMaterial\n\t\t */\n\t\tthis.material = material;\n\n\t\t/**\n\t\t * A dictionary representing the morph targets in the geometry. The key is the\n\t\t * morph targets name, the value its attribute index. This member is `undefined`\n\t\t * by default and only set when morph targets are detected in the geometry.\n\t\t *\n\t\t * @type {Object<string,number>|undefined}\n\t\t * @default undefined\n\t\t */\n\t\tthis.morphTargetDictionary = undefined;\n\n\t\t/**\n\t\t * An array of weights typically in the range `[0,1]` that specify how much of the morph\n\t\t * is applied. This member is `undefined` by default and only set when morph targets are\n\t\t * detected in the geometry.\n\t\t *\n\t\t * @type {Array<number>|undefined}\n\t\t * @default undefined\n\t\t */\n\t\tthis.morphTargetInfluences = undefined;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Computes an array of distance values which are necessary for rendering dashed lines.\n\t * For each vertex in the geometry, the method calculates the cumulative length from the\n\t * current point to the very beginning of the line.\n\t *\n\t * @return {Line} A reference to this line.\n\t */\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [ 0 ];\n\n\t\t\tfor ( let i = 1, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t_vStart.fromBufferAttribute( positionAttribute, i - 1 );\n\t\t\t\t_vEnd.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\tlineDistances[ i ] = lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i ] += _vStart.distanceTo( _vEnd );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\twarn( 'Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Computes intersection points between a casted ray and this line.\n\t *\n\t * @param {Raycaster} raycaster - The raycaster.\n\t * @param {Array<Object>} intersects - The target array that holds the intersection points.\n\t */\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst threshold = raycaster.params.Line.threshold;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\t\t_sphere.radius += threshold;\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\tconst localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );\n\t\tconst localThresholdSq = localThreshold * localThreshold;\n\n\t\tconst step = this.isLineSegments ? 2 : 1;\n\n\t\tconst index = geometry.index;\n\t\tconst attributes = geometry.attributes;\n\t\tconst positionAttribute = attributes.position;\n\n\t\tif ( index !== null ) {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tconst a = index.getX( i );\n\t\t\t\tconst b = index.getX( i + 1 );\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, a, b, i );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.isLineLoop ) {\n\n\t\t\t\tconst a = index.getX( end - 1 );\n\t\t\t\tconst b = index.getX( start );\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, a, b, end - 1 );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\tconst end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\tfor ( let i = start, l = end - 1; i < l; i += step ) {\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, i, i + 1, i );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.isLineLoop ) {\n\n\t\t\t\tconst intersect = checkIntersection( this, raycaster, _ray, localThresholdSq, end - 1, start, end - 1 );\n\n\t\t\t\tif ( intersect ) {\n\n\t\t\t\t\tintersects.push( intersect );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Sets the values of {@link Line#morphTargetDictionary} and {@link Line#morphTargetInfluences}\n\t * to make sure existing morph targets can influence this 3D object.\n\t */\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, raycaster, ray, thresholdSq, a, b, i ) {\n\n\tconst positionAttribute = object.geometry.attributes.position;\n\n\t_vStart.fromBufferAttribute( positionAttribute, a );\n\t_vEnd.fromBufferAttribute( positionAttribute, b );\n\n\tconst distSq = ray.distanceSqToSegment( _vStart, _vEnd, _intersectPointOnRay, _intersectPointOnSegment );\n\n\tif ( distSq > thresholdSq ) return;\n\n\t_intersectPointOnRay.applyMatrix4( object.matrixWorld ); // Move back to world space for distance calculation\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectPointOnRay );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return;\n\n\treturn {\n\n\t\tdistance: distance,\n\t\t// What do we want? intersection point on the ray or on the segment??\n\t\t// point: raycaster.ray.at( distance ),\n\t\tpoint: _intersectPointOnSegment.clone().applyMatrix4( object.matrixWorld ),\n\t\tindex: i,\n\t\tface: null,\n\t\tfaceIndex: null,\n\t\tbarycoord: null,\n\t\tobject: object\n\n\t};\n\n}\n\nexport { Line };\n","import { Line } from './Line.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { warn } from '../utils.js';\n\nconst _start = /*@__PURE__*/ new Vector3();\nconst _end = /*@__PURE__*/ new Vector3();\n\n/**\n * A series of lines drawn between pairs of vertices.\n *\n * @augments Line\n */\nclass LineSegments extends Line {\n\n\t/**\n\t * Constructs a new line segments.\n\t *\n\t * @param {BufferGeometry} [geometry] - The line geometry.\n\t * @param {Material|Array<Material>} [material] - The line material.\n\t */\n\tconstructor( geometry, material ) {\n\n\t\tsuper( geometry, material );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineSegments = true;\n\n\t\tthis.type = 'LineSegments';\n\n\t}\n\n\tcomputeLineDistances() {\n\n\t\tconst geometry = this.geometry;\n\n\t\t// we assume non-indexed geometry\n\n\t\tif ( geometry.index === null ) {\n\n\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\tconst lineDistances = [];\n\n\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i += 2 ) {\n\n\t\t\t\t_start.fromBufferAttribute( positionAttribute, i );\n\t\t\t\t_end.fromBufferAttribute( positionAttribute, i + 1 );\n\n\t\t\t\tlineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ];\n\t\t\t\tlineDistances[ i + 1 ] = lineDistances[ i ] + _start.distanceTo( _end );\n\n\t\t\t}\n\n\t\t\tgeometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t} else {\n\n\t\t\twarn( 'LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { LineSegments };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { LineSegments } from '../objects/LineSegments.js';\nimport { LineBasicMaterial } from '../materials/LineBasicMaterial.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _vector = /*@__PURE__*/ new Vector3();\n\n/**\n * This displays a cone shaped helper object for a {@link SpotLight}.\n *\n * When the spot light or its target are transformed or light properties are\n * changed, it's necessary to call the `update()` method of the respective helper.\n *\n * ```js\n * const spotLight = new THREE.SpotLight( 0xffffff );\n * spotLight.position.set( 10, 10, 10 );\n * scene.add( spotLight );\n *\n * const spotLightHelper = new THREE.SpotLightHelper( spotLight );\n * scene.add( spotLightHelper );\n * ```\n *\n * @augments Object3D\n */\nclass SpotLightHelper extends Object3D {\n\n\t/**\n\t * Constructs a new spot light helper.\n\t *\n\t * @param {HemisphereLight} light - The light to be visualized.\n\t * @param {number|Color|string} [color] - The helper's color. If not set, the helper will take\n\t * the color of the light.\n\t */\n\tconstructor( light, color ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * The light being visualized.\n\t\t *\n\t\t * @type {SpotLight}\n\t\t */\n\t\tthis.light = light;\n\n\t\tthis.matrixAutoUpdate = false;\n\n\t\t/**\n\t\t * The color parameter passed in the constructor.\n\t\t * If not set, the helper will take the color of the light.\n\t\t *\n\t\t * @type {number|Color|string}\n\t\t */\n\t\tthis.color = color;\n\n\t\tthis.type = 'SpotLightHelper';\n\n\t\tconst geometry = new BufferGeometry();\n\n\t\tconst positions = [\n\t\t\t0, 0, 0, \t0, 0, 1,\n\t\t\t0, 0, 0, \t1, 0, 1,\n\t\t\t0, 0, 0,\t- 1, 0, 1,\n\t\t\t0, 0, 0, \t0, 1, 1,\n\t\t\t0, 0, 0, \t0, - 1, 1\n\t\t];\n\n\t\tfor ( let i = 0, j = 1, l = 32; i < l; i ++, j ++ ) {\n\n\t\t\tconst p1 = ( i / l ) * Math.PI * 2;\n\t\t\tconst p2 = ( j / l ) * Math.PI * 2;\n\n\t\t\tpositions.push(\n\t\t\t\tMath.cos( p1 ), Math.sin( p1 ), 1,\n\t\t\t\tMath.cos( p2 ), Math.sin( p2 ), 1\n\t\t\t);\n\n\t\t}\n\n\t\tgeometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\n\t\tconst material = new LineBasicMaterial( { fog: false, toneMapped: false } );\n\n\t\tthis.cone = new LineSegments( geometry, material );\n\t\tthis.add( this.cone );\n\n\t\tthis.update();\n\n\t}\n\n\t/**\n\t * Frees the GPU-related resources allocated by this instance. Call this\n\t * method whenever this instance is no longer used in your app.\n\t */\n\tdispose() {\n\n\t\tthis.cone.geometry.dispose();\n\t\tthis.cone.material.dispose();\n\n\t}\n\n\t/**\n\t * Updates the helper to match the position and direction of the\n\t * light being visualized.\n\t */\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\t\tthis.light.target.updateWorldMatrix( true, false );\n\n\t\t// update the local matrix based on the parent and light target transforms\n\t\tif ( this.parent ) {\n\n\t\t\tthis.parent.updateWorldMatrix( true );\n\n\t\t\tthis.matrix\n\t\t\t\t.copy( this.parent.matrixWorld )\n\t\t\t\t.invert()\n\t\t\t\t.multiply( this.light.matrixWorld );\n\n\t\t} else {\n\n\t\t\tthis.matrix.copy( this.light.matrixWorld );\n\n\t\t}\n\n\t\tthis.matrixWorld.copy( this.light.matrixWorld );\n\n\t\tconst coneLength = this.light.distance ? this.light.distance : 1000;\n\t\tconst coneWidth = coneLength * Math.tan( this.light.angle );\n\n\t\tthis.cone.scale.set( coneWidth, coneWidth, coneLength );\n\n\t\t_vector.setFromMatrixPosition( this.light.target.matrixWorld );\n\n\t\tthis.cone.lookAt( _vector );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.cone.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.cone.material.color.copy( this.light.color );\n\n\t\t}\n\n\t}\n\n}\n\n\nexport { SpotLightHelper };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as e } from "./three.core-mM-jZdgg.mjs";
|
|
2
2
|
import { r as t, t as n } from "./fflate.module-dFNj5UPI.mjs";
|
|
3
3
|
//#region ../../node_modules/three/examples/jsm/exporters/USDZExporter.js
|
|
4
4
|
var r = class {
|
|
@@ -293,4 +293,4 @@ function T(e, t) {
|
|
|
293
293
|
//#endregion
|
|
294
294
|
export { i as USDZExporter };
|
|
295
295
|
|
|
296
|
-
//# sourceMappingURL=USDZExporter-
|
|
296
|
+
//# sourceMappingURL=USDZExporter-B4hsiwhd.mjs.map
|