@quick-threejs/reactive 0.1.24 → 0.1.26

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.
Files changed (76) hide show
  1. package/dist/app.module-Xeth1BSd.js +34 -0
  2. package/dist/app.module-ZQDNY2JF.mjs +6121 -0
  3. package/dist/common/blueprints/index.d.ts +2 -0
  4. package/dist/common/blueprints/props.blueprint.d.ts +105 -0
  5. package/dist/common/blueprints/proxy.blueprint.d.ts +96 -0
  6. package/dist/common/enums/index.d.ts +0 -1
  7. package/dist/common/index.d.ts +2 -2
  8. package/dist/common/interfaces/core.interface.d.ts +4 -5
  9. package/dist/common/interfaces/index.d.ts +2 -2
  10. package/dist/common/interfaces/loader.interface.d.ts +23 -0
  11. package/dist/common/interfaces/module.interface.d.ts +10 -2
  12. package/dist/common/{types/object.type.d.ts → interfaces/proxy-event.interface.d.ts} +6 -0
  13. package/dist/common/tokens/index.d.ts +2 -0
  14. package/dist/common/tokens/ioc.token.d.ts +1 -0
  15. package/dist/common/tokens/loader.token.d.ts +1 -0
  16. package/dist/core/app/app.controller.d.ts +5 -9
  17. package/dist/core/app/app.module.d.ts +23 -17
  18. package/dist/core/app/{app.component.d.ts → app.service.d.ts} +5 -3
  19. package/dist/core/app/app.util.d.ts +6 -0
  20. package/dist/core/app/camera/camera.controller.d.ts +4 -8
  21. package/dist/core/app/camera/camera.module.d.ts +6 -7
  22. package/dist/core/app/camera/{camera.component.d.ts → camera.service.d.ts} +4 -4
  23. package/dist/core/app/debug/debug.controller.d.ts +3 -4
  24. package/dist/core/app/debug/debug.module.d.ts +10 -8
  25. package/dist/core/app/debug/{debug.component.d.ts → debug.service.d.ts} +10 -10
  26. package/dist/core/app/loader/loader.controller.d.ts +5 -0
  27. package/dist/core/app/loader/loader.module.d.ts +16 -0
  28. package/dist/core/app/loader/loader.service.d.ts +8 -0
  29. package/dist/core/app/renderer/renderer.controller.d.ts +6 -8
  30. package/dist/core/app/renderer/renderer.module.d.ts +6 -8
  31. package/dist/core/app/renderer/renderer.service.d.ts +19 -0
  32. package/dist/core/app/sizes/sizes.controller.d.ts +5 -7
  33. package/dist/core/app/sizes/sizes.module.d.ts +4 -5
  34. package/dist/core/app/sizes/{sizes.component.d.ts → sizes.service.d.ts} +1 -1
  35. package/dist/core/app/timer/timer.controller.d.ts +18 -12
  36. package/dist/core/app/timer/timer.module.d.ts +22 -12
  37. package/dist/core/app/timer/timer.service.d.ts +10 -0
  38. package/dist/core/app/world/world.controller.d.ts +0 -3
  39. package/dist/core/app/world/world.module.d.ts +3 -6
  40. package/dist/core/app/world/{world.component.d.ts → world.service.d.ts} +1 -1
  41. package/dist/core/index.d.ts +0 -1
  42. package/dist/core/register/loader/loader.controller.d.ts +11 -0
  43. package/dist/core/register/loader/loader.module.d.ts +31 -0
  44. package/dist/core/register/loader/loader.service.d.ts +26 -0
  45. package/dist/core/register/register.controller.d.ts +5 -9
  46. package/dist/core/register/register.module.d.ts +23 -39
  47. package/dist/core/register/register.service.d.ts +9 -0
  48. package/dist/core/register/register.util.d.ts +8 -5
  49. package/dist/main.js +3 -12
  50. package/dist/main.mjs +1516 -1942
  51. package/dist/main.worker.d.ts +1 -1
  52. package/dist/worker.js +1 -3
  53. package/dist/worker.mjs +32 -315
  54. package/package.json +8 -5
  55. package/dist/app.module-Da11YIUG.js +0 -29
  56. package/dist/app.module-Dg_0i25D.mjs +0 -2640
  57. package/dist/common/enums/lifecycle.enum.d.ts +0 -10
  58. package/dist/common/interfaces/event.interface.d.ts +0 -10
  59. package/dist/common/interfaces/resource.interface.d.ts +0 -14
  60. package/dist/common/models/app-proxy-event-handler.model.d.ts +0 -32
  61. package/dist/common/models/index.d.ts +0 -7
  62. package/dist/common/models/launch-app-props.model.d.ts +0 -8
  63. package/dist/common/models/proxy-event-handler.model.d.ts +0 -19
  64. package/dist/common/models/proxy-event-observables.model.d.ts +0 -20
  65. package/dist/common/models/proxy-event-subjects.models.d.ts +0 -19
  66. package/dist/common/models/register-props.model.d.ts +0 -75
  67. package/dist/common/models/register-proxy-event-handler.model.d.ts +0 -17
  68. package/dist/common/types/index.d.ts +0 -1
  69. package/dist/core/app/app.module-worker.d.ts +0 -5
  70. package/dist/core/app/renderer/renderer.component.d.ts +0 -19
  71. package/dist/core/app/timer/timer.component.d.ts +0 -8
  72. package/dist/core/loader/loader.component.d.ts +0 -25
  73. package/dist/core/loader/loader.controller.d.ts +0 -9
  74. package/dist/core/loader/loader.module-worker.d.ts +0 -3
  75. package/dist/core/loader/loader.module.d.ts +0 -34
  76. package/dist/core/register/register.component.d.ts +0 -13
@@ -1 +1 @@
1
- export * from './core/app/app.module-worker';
1
+ export * from './core/app/app.util';
package/dist/worker.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./app.module-Da11YIUG.js");var v={},O,I;function ne(){return I||(I=1,O=r=>r?typeof Symbol.observable=="symbol"&&typeof r[Symbol.observable]=="function"?r===r[Symbol.observable]():typeof r["@@observable"]=="function"?r===r["@@observable"]():!1:!1),O}var y={},z={},J;function ie(){if(J)return z;J=1,Object.defineProperty(z,"__esModule",{value:!0}),z.DefaultSerializer=z.extendSerializer=void 0;function r(t,s){const u=t.deserialize.bind(t),b=t.serialize.bind(t);return{deserialize(a){return s.deserialize(a,u)},serialize(a){return s.serialize(a,b)}}}z.extendSerializer=r;const n={deserialize(t){return Object.assign(Error(t.message),{name:t.name,stack:t.stack})},serialize(t){return{__error_marker:"$$error",message:t.message,name:t.name,stack:t.stack}}},d=t=>t&&typeof t=="object"&&"__error_marker"in t&&t.__error_marker==="$$error";return z.DefaultSerializer={deserialize(t){return d(t)?n.deserialize(t):t},serialize(t){return t instanceof Error?n.serialize(t):t}},z}var N;function A(){if(N)return y;N=1,Object.defineProperty(y,"__esModule",{value:!0}),y.serialize=y.deserialize=y.registerSerializer=void 0;const r=ie();let n=r.DefaultSerializer;function d(u){n=r.extendSerializer(n,u)}y.registerSerializer=d;function t(u){return n.deserialize(u)}y.deserialize=t;function s(u){return n.serialize(u)}return y.serialize=s,y}var _={},p={},x;function oe(){return x||(x=1,Object.defineProperty(p,"__esModule",{value:!0}),p.$worker=p.$transferable=p.$terminate=p.$events=p.$errors=void 0,p.$errors=Symbol("thread.errors"),p.$events=Symbol("thread.events"),p.$terminate=Symbol("thread.terminate"),p.$transferable=Symbol("thread.transferable"),p.$worker=Symbol("thread.worker")),p}var F;function H(){if(F)return _;F=1,Object.defineProperty(_,"__esModule",{value:!0}),_.Transfer=_.isTransferDescriptor=void 0;const r=oe();function n(s){return!(!s||typeof s!="object")}function d(s){return s&&typeof s=="object"&&s[r.$transferable]}_.isTransferDescriptor=d;function t(s,u){if(!u){if(!n(s))throw Error();u=[s]}return{[r.$transferable]:!0,send:s,transferables:u}}return _.Transfer=t,_}var $={},Z;function ae(){return Z||(Z=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.WorkerMessageType=r.MasterMessageType=void 0,function(n){n.cancel="cancel",n.run="run"}(r.MasterMessageType||(r.MasterMessageType={})),function(n){n.error="error",n.init="init",n.result="result",n.running="running",n.uncaughtError="uncaughtError"}(r.WorkerMessageType||(r.WorkerMessageType={}))}($)),$}var h={},V;function ue(){if(V)return h;V=1,Object.defineProperty(h,"__esModule",{value:!0});const r=function(){const s=typeof self<"u"&&typeof Window<"u"&&self instanceof Window;return!!(typeof self<"u"&&self.postMessage&&!s)},n=function(s,u){self.postMessage(s,u)},d=function(s){const u=a=>{s(a.data)},b=()=>{self.removeEventListener("message",u)};return self.addEventListener("message",u),b};return h.default={isWorkerRuntime:r,postMessageToMaster:n,subscribeToMasterMessages:d},h}var X;function le(){return X||(X=1,function(r){var n=v&&v.__awaiter||function(e,i,o,l){function m(f){return f instanceof o?f:new o(function(M){M(f)})}return new(o||(o=Promise))(function(f,M){function te(g){try{R(l.next(g))}catch(w){M(w)}}function se(g){try{R(l.throw(g))}catch(w){M(w)}}function R(g){g.done?f(g.value):m(g.value).then(te,se)}R((l=l.apply(e,i||[])).next())})},d=v&&v.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.expose=r.isWorkerRuntime=r.Transfer=r.registerSerializer=void 0;const t=d(ne()),s=A(),u=H(),b=ae(),a=d(ue());var B=A();Object.defineProperty(r,"registerSerializer",{enumerable:!0,get:function(){return B.registerSerializer}});var G=H();Object.defineProperty(r,"Transfer",{enumerable:!0,get:function(){return G.Transfer}}),r.isWorkerRuntime=a.default.isWorkerRuntime;let q=!1;const T=new Map,K=e=>e&&e.type===b.MasterMessageType.cancel,j=e=>e&&e.type===b.MasterMessageType.run,P=e=>t.default(e)||Q(e);function Q(e){return e&&typeof e=="object"&&typeof e.subscribe=="function"}function L(e){return u.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function D(){const e={type:b.WorkerMessageType.init,exposed:{type:"function"}};a.default.postMessageToMaster(e)}function U(e){const i={type:b.WorkerMessageType.init,exposed:{type:"module",methods:e}};a.default.postMessageToMaster(i)}function k(e,i){const{payload:o,transferables:l}=L(i),m={type:b.WorkerMessageType.error,uid:e,error:s.serialize(o)};a.default.postMessageToMaster(m,l)}function E(e,i,o){const{payload:l,transferables:m}=L(o),f={type:b.WorkerMessageType.result,uid:e,complete:i?!0:void 0,payload:l};a.default.postMessageToMaster(f,m)}function ee(e,i){const o={type:b.WorkerMessageType.running,uid:e,resultType:i};a.default.postMessageToMaster(o)}function S(e){try{const i={type:b.WorkerMessageType.uncaughtError,error:s.serialize(e)};a.default.postMessageToMaster(i)}catch(i){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.
2
- Latest error:`,i,`
3
- Original error:`,e)}}function C(e,i,o){return n(this,void 0,void 0,function*(){let l;try{l=i(...o)}catch(f){return k(e,f)}const m=P(l)?"observable":"promise";if(ee(e,m),P(l)){const f=l.subscribe(M=>E(e,!1,s.serialize(M)),M=>{k(e,s.serialize(M)),T.delete(e)},()=>{E(e,!0),T.delete(e)});T.set(e,f)}else try{const f=yield l;E(e,!0,s.serialize(f))}catch(f){k(e,s.serialize(f))}})}function re(e){if(!a.default.isWorkerRuntime())throw Error("expose() called in the master thread.");if(q)throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");if(q=!0,typeof e=="function")a.default.subscribeToMasterMessages(i=>{j(i)&&!i.method&&C(i.uid,e,i.args.map(s.deserialize))}),D();else if(typeof e=="object"&&e){a.default.subscribeToMasterMessages(o=>{j(o)&&o.method&&C(o.uid,e[o.method],o.args.map(s.deserialize))});const i=Object.keys(e).filter(o=>typeof e[o]=="function");U(i)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);a.default.subscribeToMasterMessages(i=>{if(K(i)){const o=i.uid,l=T.get(o);l&&(l.unsubscribe(),T.delete(o))}})}r.expose=re,typeof self<"u"&&typeof self.addEventListener=="function"&&a.default.isWorkerRuntime()&&(self.addEventListener("error",e=>{setTimeout(()=>S(e.error||e),250)}),self.addEventListener("unhandledrejection",e=>{const i=e.reason;i&&typeof i.message=="string"&&setTimeout(()=>S(i),250)})),typeof process<"u"&&typeof process.on=="function"&&a.default.isWorkerRuntime()&&(process.on("uncaughtException",e=>{setTimeout(()=>S(e),250)}),process.on("unhandledRejection",e=>{e&&typeof e.message=="string"&&setTimeout(()=>S(e),250)}))}(v)),v}var ce=le();const W=c.getDefaultExportFromCjs(ce),fe=W.expose;W.registerSerializer;W.Transfer;const de=r=>(c.appModule.lifecycle$().subscribe(n=>{n===c.AppLifecycleState.INITIALIZED&&(r!=null&&r.onReady)&&r.onReady(c.appModule)}),c.appModule),Y={},pe={};c.PROXY_EVENT_LISTENERS.forEach(r=>{var n,d;Y[r]=(d=(n=c.appModule[r])==null?void 0:n.bind)==null?void 0:d.call(n,c.appModule)});fe({...Y,...pe,init:c.appModule.init.bind(c.appModule),dispose:c.appModule.dispose.bind(c.appModule),isInitialized:c.appModule.isInitialized.bind(c.appModule),lifecycle$:c.appModule.lifecycle$.bind(c.appModule)});exports.launchApp=de;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./app.module-Xeth1BSd.js");var g=n.requireWorker();const o=n.getDefaultExportFromCjs(g),T=o.expose;o.registerSerializer;o.Transfer;const h=a=>{const r=n.instance.createChildContainer();r.register(n.CONTAINER_TOKEN,{useValue:r});const e=r.resolve(n.AppModule),d={container:r,module:e},l={};n.PROXY_EVENT_LISTENERS.forEach(t=>{var i,s;l[t]=(s=(i=e[t])==null?void 0:i.bind)==null?void 0:s.call(i,e)});const c=t=>{var u,E,f,m,b;if(!((u=t.data)!=null&&u.canvas)||e.isInitialized())return;const i=!!((E=t.data)!=null&&E.startTimer),s=!!((f=t.data)!=null&&f.withMiniCamera),S=!!((m=t.data)!=null&&m.fullScreen);e.init({...t.data,startTimer:i,withMiniCamera:s,fullScreen:S}),(b=a==null?void 0:a.onReady)==null||b.call(a,d),self==null||self.removeEventListener("message",c)};return self==null||self.addEventListener("message",c),T({...l,isInitialized:e.isInitialized.bind(e),dispose:e.dispose.bind(e),beforeStep$:e.beforeStep$.bind(e),step$:e.step$.bind(e)}),d};exports.launchApp=h;
package/dist/worker.mjs CHANGED
@@ -1,318 +1,35 @@
1
- import { j as ne, c as ie, e as b, A as oe } from "./app.module-Dg_0i25D.mjs";
2
- var g = {}, $, I;
3
- function ae() {
4
- return I || (I = 1, $ = (r) => r ? typeof Symbol.observable == "symbol" && typeof r[Symbol.observable] == "function" ? r === r[Symbol.observable]() : typeof r["@@observable"] == "function" ? r === r["@@observable"]() : !1 : !1), $;
5
- }
6
- var y = {}, z = {}, J;
7
- function ue() {
8
- if (J) return z;
9
- J = 1, Object.defineProperty(z, "__esModule", { value: !0 }), z.DefaultSerializer = z.extendSerializer = void 0;
10
- function r(t, s) {
11
- const u = t.deserialize.bind(t), p = t.serialize.bind(t);
12
- return {
13
- deserialize(a) {
14
- return s.deserialize(a, u);
15
- },
16
- serialize(a) {
17
- return s.serialize(a, p);
18
- }
19
- };
20
- }
21
- z.extendSerializer = r;
22
- const n = {
23
- deserialize(t) {
24
- return Object.assign(Error(t.message), {
25
- name: t.name,
26
- stack: t.stack
27
- });
28
- },
29
- serialize(t) {
30
- return {
31
- __error_marker: "$$error",
32
- message: t.message,
33
- name: t.name,
34
- stack: t.stack
35
- };
36
- }
37
- }, c = (t) => t && typeof t == "object" && "__error_marker" in t && t.__error_marker === "$$error";
38
- return z.DefaultSerializer = {
39
- deserialize(t) {
40
- return c(t) ? n.deserialize(t) : t;
41
- },
42
- serialize(t) {
43
- return t instanceof Error ? n.serialize(t) : t;
44
- }
45
- }, z;
46
- }
47
- var N;
48
- function x() {
49
- if (N) return y;
50
- N = 1, Object.defineProperty(y, "__esModule", { value: !0 }), y.serialize = y.deserialize = y.registerSerializer = void 0;
51
- const r = /* @__PURE__ */ ue();
52
- let n = r.DefaultSerializer;
53
- function c(u) {
54
- n = r.extendSerializer(n, u);
55
- }
56
- y.registerSerializer = c;
57
- function t(u) {
58
- return n.deserialize(u);
59
- }
60
- y.deserialize = t;
61
- function s(u) {
62
- return n.serialize(u);
63
- }
64
- return y.serialize = s, y;
65
- }
66
- var _ = {}, d = {}, A;
67
- function le() {
68
- return A || (A = 1, Object.defineProperty(d, "__esModule", { value: !0 }), d.$worker = d.$transferable = d.$terminate = d.$events = d.$errors = void 0, d.$errors = Symbol("thread.errors"), d.$events = Symbol("thread.events"), d.$terminate = Symbol("thread.terminate"), d.$transferable = Symbol("thread.transferable"), d.$worker = Symbol("thread.worker")), d;
69
- }
70
- var F;
71
- function H() {
72
- if (F) return _;
73
- F = 1, Object.defineProperty(_, "__esModule", { value: !0 }), _.Transfer = _.isTransferDescriptor = void 0;
74
- const r = /* @__PURE__ */ le();
75
- function n(s) {
76
- return !(!s || typeof s != "object");
77
- }
78
- function c(s) {
79
- return s && typeof s == "object" && s[r.$transferable];
80
- }
81
- _.isTransferDescriptor = c;
82
- function t(s, u) {
83
- if (!u) {
84
- if (!n(s))
85
- throw Error();
86
- u = [s];
87
- }
88
- return {
89
- [r.$transferable]: !0,
90
- send: s,
91
- transferables: u
92
- };
93
- }
94
- return _.Transfer = t, _;
95
- }
96
- var O = {}, Z;
97
- function fe() {
98
- return Z || (Z = 1, function(r) {
99
- Object.defineProperty(r, "__esModule", { value: !0 }), r.WorkerMessageType = r.MasterMessageType = void 0, function(n) {
100
- n.cancel = "cancel", n.run = "run";
101
- }(r.MasterMessageType || (r.MasterMessageType = {})), function(n) {
102
- n.error = "error", n.init = "init", n.result = "result", n.running = "running", n.uncaughtError = "uncaughtError";
103
- }(r.WorkerMessageType || (r.WorkerMessageType = {}));
104
- }(O)), O;
105
- }
106
- var h = {}, V;
107
- function ce() {
108
- if (V) return h;
109
- V = 1, Object.defineProperty(h, "__esModule", { value: !0 });
110
- const r = function() {
111
- const s = typeof self < "u" && typeof Window < "u" && self instanceof Window;
112
- return !!(typeof self < "u" && self.postMessage && !s);
113
- }, n = function(s, u) {
114
- self.postMessage(s, u);
115
- }, c = function(s) {
116
- const u = (a) => {
117
- s(a.data);
118
- }, p = () => {
119
- self.removeEventListener("message", u);
120
- };
121
- return self.addEventListener("message", u), p;
1
+ import { r as h, p as x, d as C, h as S, k as T, a as g } from "./app.module-ZQDNY2JF.mjs";
2
+ var I = h();
3
+ const r = /* @__PURE__ */ x(I), N = r.expose;
4
+ r.registerSerializer;
5
+ r.Transfer;
6
+ const z = (i) => {
7
+ const s = C.createChildContainer();
8
+ s.register(S, { useValue: s });
9
+ const e = s.resolve(T), o = { container: s, module: e }, d = {};
10
+ g.forEach((t) => {
11
+ var a, n;
12
+ d[t] = (n = (a = e[t]) == null ? void 0 : a.bind) == null ? void 0 : n.call(a, e);
13
+ });
14
+ const c = (t) => {
15
+ var l, E, f, m, u;
16
+ if (!((l = t.data) != null && l.canvas) || e.isInitialized()) return;
17
+ const a = !!((E = t.data) != null && E.startTimer), n = !!((f = t.data) != null && f.withMiniCamera), b = !!((m = t.data) != null && m.fullScreen);
18
+ e.init({
19
+ ...t.data,
20
+ startTimer: a,
21
+ withMiniCamera: n,
22
+ fullScreen: b
23
+ }), (u = i == null ? void 0 : i.onReady) == null || u.call(i, o), self == null || self.removeEventListener("message", c);
122
24
  };
123
- return h.default = {
124
- isWorkerRuntime: r,
125
- postMessageToMaster: n,
126
- subscribeToMasterMessages: c
127
- }, h;
128
- }
129
- var X;
130
- function de() {
131
- return X || (X = 1, function(r) {
132
- var n = g && g.__awaiter || function(e, i, o, l) {
133
- function M(f) {
134
- return f instanceof o ? f : new o(function(m) {
135
- m(f);
136
- });
137
- }
138
- return new (o || (o = Promise))(function(f, m) {
139
- function te(v) {
140
- try {
141
- R(l.next(v));
142
- } catch (w) {
143
- m(w);
144
- }
145
- }
146
- function se(v) {
147
- try {
148
- R(l.throw(v));
149
- } catch (w) {
150
- m(w);
151
- }
152
- }
153
- function R(v) {
154
- v.done ? f(v.value) : M(v.value).then(te, se);
155
- }
156
- R((l = l.apply(e, i || [])).next());
157
- });
158
- }, c = g && g.__importDefault || function(e) {
159
- return e && e.__esModule ? e : { default: e };
160
- };
161
- Object.defineProperty(r, "__esModule", { value: !0 }), r.expose = r.isWorkerRuntime = r.Transfer = r.registerSerializer = void 0;
162
- const t = c(ae()), s = /* @__PURE__ */ x(), u = /* @__PURE__ */ H(), p = /* @__PURE__ */ fe(), a = c(/* @__PURE__ */ ce());
163
- var B = /* @__PURE__ */ x();
164
- Object.defineProperty(r, "registerSerializer", { enumerable: !0, get: function() {
165
- return B.registerSerializer;
166
- } });
167
- var G = /* @__PURE__ */ H();
168
- Object.defineProperty(r, "Transfer", { enumerable: !0, get: function() {
169
- return G.Transfer;
170
- } }), r.isWorkerRuntime = a.default.isWorkerRuntime;
171
- let q = !1;
172
- const T = /* @__PURE__ */ new Map(), K = (e) => e && e.type === p.MasterMessageType.cancel, j = (e) => e && e.type === p.MasterMessageType.run, L = (e) => t.default(e) || Q(e);
173
- function Q(e) {
174
- return e && typeof e == "object" && typeof e.subscribe == "function";
175
- }
176
- function P(e) {
177
- return u.isTransferDescriptor(e) ? { payload: e.send, transferables: e.transferables } : { payload: e, transferables: void 0 };
178
- }
179
- function D() {
180
- const e = {
181
- type: p.WorkerMessageType.init,
182
- exposed: {
183
- type: "function"
184
- }
185
- };
186
- a.default.postMessageToMaster(e);
187
- }
188
- function U(e) {
189
- const i = {
190
- type: p.WorkerMessageType.init,
191
- exposed: {
192
- type: "module",
193
- methods: e
194
- }
195
- };
196
- a.default.postMessageToMaster(i);
197
- }
198
- function k(e, i) {
199
- const { payload: o, transferables: l } = P(i), M = {
200
- type: p.WorkerMessageType.error,
201
- uid: e,
202
- error: s.serialize(o)
203
- };
204
- a.default.postMessageToMaster(M, l);
205
- }
206
- function E(e, i, o) {
207
- const { payload: l, transferables: M } = P(o), f = {
208
- type: p.WorkerMessageType.result,
209
- uid: e,
210
- complete: i ? !0 : void 0,
211
- payload: l
212
- };
213
- a.default.postMessageToMaster(f, M);
214
- }
215
- function ee(e, i) {
216
- const o = {
217
- type: p.WorkerMessageType.running,
218
- uid: e,
219
- resultType: i
220
- };
221
- a.default.postMessageToMaster(o);
222
- }
223
- function S(e) {
224
- try {
225
- const i = {
226
- type: p.WorkerMessageType.uncaughtError,
227
- error: s.serialize(e)
228
- };
229
- a.default.postMessageToMaster(i);
230
- } catch (i) {
231
- console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.
232
- Latest error:`, i, `
233
- Original error:`, e);
234
- }
235
- }
236
- function C(e, i, o) {
237
- return n(this, void 0, void 0, function* () {
238
- let l;
239
- try {
240
- l = i(...o);
241
- } catch (f) {
242
- return k(e, f);
243
- }
244
- const M = L(l) ? "observable" : "promise";
245
- if (ee(e, M), L(l)) {
246
- const f = l.subscribe((m) => E(e, !1, s.serialize(m)), (m) => {
247
- k(e, s.serialize(m)), T.delete(e);
248
- }, () => {
249
- E(e, !0), T.delete(e);
250
- });
251
- T.set(e, f);
252
- } else
253
- try {
254
- const f = yield l;
255
- E(e, !0, s.serialize(f));
256
- } catch (f) {
257
- k(e, s.serialize(f));
258
- }
259
- });
260
- }
261
- function re(e) {
262
- if (!a.default.isWorkerRuntime())
263
- throw Error("expose() called in the master thread.");
264
- if (q)
265
- throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");
266
- if (q = !0, typeof e == "function")
267
- a.default.subscribeToMasterMessages((i) => {
268
- j(i) && !i.method && C(i.uid, e, i.args.map(s.deserialize));
269
- }), D();
270
- else if (typeof e == "object" && e) {
271
- a.default.subscribeToMasterMessages((o) => {
272
- j(o) && o.method && C(o.uid, e[o.method], o.args.map(s.deserialize));
273
- });
274
- const i = Object.keys(e).filter((o) => typeof e[o] == "function");
275
- U(i);
276
- } else
277
- throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);
278
- a.default.subscribeToMasterMessages((i) => {
279
- if (K(i)) {
280
- const o = i.uid, l = T.get(o);
281
- l && (l.unsubscribe(), T.delete(o));
282
- }
283
- });
284
- }
285
- r.expose = re, typeof self < "u" && typeof self.addEventListener == "function" && a.default.isWorkerRuntime() && (self.addEventListener("error", (e) => {
286
- setTimeout(() => S(e.error || e), 250);
287
- }), self.addEventListener("unhandledrejection", (e) => {
288
- const i = e.reason;
289
- i && typeof i.message == "string" && setTimeout(() => S(i), 250);
290
- })), typeof process < "u" && typeof process.on == "function" && a.default.isWorkerRuntime() && (process.on("uncaughtException", (e) => {
291
- setTimeout(() => S(e), 250);
292
- }), process.on("unhandledRejection", (e) => {
293
- e && typeof e.message == "string" && setTimeout(() => S(e), 250);
294
- }));
295
- }(g)), g;
296
- }
297
- var be = de();
298
- const W = /* @__PURE__ */ ne(be), pe = W.expose;
299
- W.registerSerializer;
300
- W.Transfer;
301
- const Me = (r) => (b.lifecycle$().subscribe((n) => {
302
- n === oe.INITIALIZED && (r != null && r.onReady) && r.onReady(b);
303
- }), b), Y = {}, ye = {};
304
- ie.forEach((r) => {
305
- var n, c;
306
- Y[r] = (c = (n = b[r]) == null ? void 0 : n.bind) == null ? void 0 : c.call(n, b);
307
- });
308
- pe({
309
- ...Y,
310
- ...ye,
311
- init: b.init.bind(b),
312
- dispose: b.dispose.bind(b),
313
- isInitialized: b.isInitialized.bind(b),
314
- lifecycle$: b.lifecycle$.bind(b)
315
- });
25
+ return self == null || self.addEventListener("message", c), N({
26
+ ...d,
27
+ isInitialized: e.isInitialized.bind(e),
28
+ dispose: e.dispose.bind(e),
29
+ beforeStep$: e.beforeStep$.bind(e),
30
+ step$: e.step$.bind(e)
31
+ }), o;
32
+ };
316
33
  export {
317
- Me as launchApp
34
+ z as launchApp
318
35
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quick-threejs/reactive",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "description": "Reactively quick start a three.js app ⚡️",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,16 +38,19 @@
38
38
  "dependencies": {
39
39
  "rxjs": "^7.8.1",
40
40
  "threads": "^1.7.0",
41
- "three": "^0.169.0",
42
- "stats.js": "^0.17.0",
43
- "@quick-threejs/utils": "0.1.14"
41
+ "three": "^0.171.0",
42
+ "vite-plugin-glslify": "^2.1.0",
43
+ "@quick-threejs/utils": "0.1.15"
44
+ },
45
+ "peerDependencies": {
46
+ "three": "^0.171.0"
44
47
  },
45
48
  "devDependencies": {
46
49
  "@types/events": "^3.0.3",
47
50
  "@types/jest": "^29.5.14",
48
51
  "@types/node": "^22.9.0",
49
52
  "@types/stats.js": "^0.17.3",
50
- "@types/three": "^0.169.0",
53
+ "@types/three": "^0.171.0",
51
54
  "babel-jest": "^29.7.0",
52
55
  "events": "^3.3.0",
53
56
  "jest": "^29.7.0",
@@ -1,29 +0,0 @@
1
- "use strict";var sn=Object.defineProperty;var an=(t,e,n)=>e in t?sn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var h=(t,e,n)=>an(t,typeof e!="symbol"?e+"":e,n);const z=require("rxjs"),ln=require("@quick-threejs/utils"),f=require("three");var at=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var lt={};/*! *****************************************************************************
2
- Copyright (C) Microsoft. All rights reserved.
3
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
- this file except in compliance with the License. You may obtain a copy of the
5
- License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
- MERCHANTABLITY OR NON-INFRINGEMENT.
11
-
12
- See the Apache Version 2.0 License for specific language governing permissions
13
- and limitations under the License.
14
- ***************************************************************************** */var ht;function cn(){if(ht)return lt;ht=1;var t;return function(e){(function(n){var r=typeof globalThis=="object"?globalThis:typeof at=="object"?at:typeof self=="object"?self:typeof this=="object"?this:g(),i=o(e);typeof r.Reflect<"u"&&(i=o(r.Reflect,i)),n(i,r),typeof r.Reflect>"u"&&(r.Reflect=e);function o(y,D){return function(N,B){Object.defineProperty(y,N,{configurable:!0,writable:!0,value:B}),D&&D(N,B)}}function a(){try{return Function("return this;")()}catch{}}function v(){try{return(0,eval)("(function() { return this; })()")}catch{}}function g(){return a()||v()}})(function(n,r){var i=Object.prototype.hasOwnProperty,o=typeof Symbol=="function",a=o&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",v=o&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",g=typeof Object.create=="function",y={__proto__:[]}instanceof Array,D=!g&&!y,N={create:g?function(){return be(Object.create(null))}:y?function(){return be({__proto__:null})}:function(){return be({})},has:D?function(s,l){return i.call(s,l)}:function(s,l){return l in s},get:D?function(s,l){return i.call(s,l)?s[l]:void 0}:function(s,l){return s[l]}},B=Object.getPrototypeOf(Function),k=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:en(),de=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:tn(),me=typeof WeakMap=="function"?WeakMap:nn(),F=o?Symbol.for("@reflect-metadata:registry"):void 0,ne=kt(),Fe=Qt(ne);function xt(s,l,c,u){if(w(c)){if(!Je(s))throw new TypeError;if(!et(l))throw new TypeError;return Zt(s,l)}else{if(!Je(s))throw new TypeError;if(!S(l))throw new TypeError;if(!S(u)&&!w(u)&&!G(u))throw new TypeError;return G(u)&&(u=void 0),c=L(c),Ft(s,l,c,u)}}n("decorate",xt);function At(s,l){function c(u,b){if(!S(u))throw new TypeError;if(!w(b)&&!Kt(b))throw new TypeError;qe(s,l,u,b)}return c}n("metadata",At);function It(s,l,c,u){if(!S(c))throw new TypeError;return w(u)||(u=L(u)),qe(s,l,c,u)}n("defineMetadata",It);function zt(s,l,c){if(!S(l))throw new TypeError;return w(c)||(c=L(c)),Ge(s,l,c)}n("hasMetadata",zt);function Nt(s,l,c){if(!S(l))throw new TypeError;return w(c)||(c=L(c)),_e(s,l,c)}n("hasOwnMetadata",Nt);function Ht(s,l,c){if(!S(l))throw new TypeError;return w(c)||(c=L(c)),We(s,l,c)}n("getMetadata",Ht);function Lt(s,l,c){if(!S(l))throw new TypeError;return w(c)||(c=L(c)),Xe(s,l,c)}n("getOwnMetadata",Lt);function Ut(s,l){if(!S(s))throw new TypeError;return w(l)||(l=L(l)),Ke(s,l)}n("getMetadataKeys",Ut);function Vt(s,l){if(!S(s))throw new TypeError;return w(l)||(l=L(l)),Be(s,l)}n("getOwnMetadataKeys",Vt);function Yt(s,l,c){if(!S(l))throw new TypeError;if(w(c)||(c=L(c)),!S(l))throw new TypeError;w(c)||(c=L(c));var u=Q(l,c,!1);return w(u)?!1:u.OrdinaryDeleteMetadata(s,l,c)}n("deleteMetadata",Yt);function Zt(s,l){for(var c=s.length-1;c>=0;--c){var u=s[c],b=u(l);if(!w(b)&&!G(b)){if(!et(b))throw new TypeError;l=b}}return l}function Ft(s,l,c,u){for(var b=s.length-1;b>=0;--b){var x=s[b],R=x(l,c,u);if(!w(R)&&!G(R)){if(!S(R))throw new TypeError;u=R}}return u}function Ge(s,l,c){var u=_e(s,l,c);if(u)return!0;var b=ve(l);return G(b)?!1:Ge(s,b,c)}function _e(s,l,c){var u=Q(l,c,!1);return w(u)?!1:Qe(u.OrdinaryHasOwnMetadata(s,l,c))}function We(s,l,c){var u=_e(s,l,c);if(u)return Xe(s,l,c);var b=ve(l);if(!G(b))return We(s,b,c)}function Xe(s,l,c){var u=Q(l,c,!1);if(!w(u))return u.OrdinaryGetOwnMetadata(s,l,c)}function qe(s,l,c,u){var b=Q(c,u,!0);b.OrdinaryDefineOwnMetadata(s,l,c,u)}function Ke(s,l){var c=Be(s,l),u=ve(s);if(u===null)return c;var b=Ke(u,l);if(b.length<=0)return c;if(c.length<=0)return b;for(var x=new de,R=[],C=0,p=c;C<p.length;C++){var d=p[C],m=x.has(d);m||(x.add(d),R.push(d))}for(var _=0,O=b;_<O.length;_++){var d=O[_],m=x.has(d);m||(x.add(d),R.push(d))}return R}function Be(s,l){var c=Q(s,l,!1);return c?c.OrdinaryOwnMetadataKeys(s,l):[]}function ke(s){if(s===null)return 1;switch(typeof s){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return s===null?1:6;default:return 6}}function w(s){return s===void 0}function G(s){return s===null}function Gt(s){return typeof s=="symbol"}function S(s){return typeof s=="object"?s!==null:typeof s=="function"}function Wt(s,l){switch(ke(s)){case 0:return s;case 1:return s;case 2:return s;case 3:return s;case 4:return s;case 5:return s}var c="string",u=tt(s,a);if(u!==void 0){var b=u.call(s,c);if(S(b))throw new TypeError;return b}return Xt(s)}function Xt(s,l){var c,u;{var b=s.toString;if(ie(b)){var u=b.call(s);if(!S(u))return u}var c=s.valueOf;if(ie(c)){var u=c.call(s);if(!S(u))return u}}throw new TypeError}function Qe(s){return!!s}function qt(s){return""+s}function L(s){var l=Wt(s);return Gt(l)?l:qt(l)}function Je(s){return Array.isArray?Array.isArray(s):s instanceof Object?s instanceof Array:Object.prototype.toString.call(s)==="[object Array]"}function ie(s){return typeof s=="function"}function et(s){return typeof s=="function"}function Kt(s){switch(ke(s)){case 3:return!0;case 4:return!0;default:return!1}}function ye(s,l){return s===l||s!==s&&l!==l}function tt(s,l){var c=s[l];if(c!=null){if(!ie(c))throw new TypeError;return c}}function nt(s){var l=tt(s,v);if(!ie(l))throw new TypeError;var c=l.call(s);if(!S(c))throw new TypeError;return c}function it(s){return s.value}function rt(s){var l=s.next();return l.done?!1:l}function ot(s){var l=s.return;l&&l.call(s)}function ve(s){var l=Object.getPrototypeOf(s);if(typeof s!="function"||s===B||l!==B)return l;var c=s.prototype,u=c&&Object.getPrototypeOf(c);if(u==null||u===Object.prototype)return l;var b=u.constructor;return typeof b!="function"||b===s?l:b}function Bt(){var s;!w(F)&&typeof r.Reflect<"u"&&!(F in r.Reflect)&&typeof r.Reflect.defineMetadata=="function"&&(s=Jt(r.Reflect));var l,c,u,b=new me,x={registerProvider:R,getProvider:p,setProvider:m};return x;function R(_){if(!Object.isExtensible(x))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case s===_:break;case w(l):l=_;break;case l===_:break;case w(c):c=_;break;case c===_:break;default:u===void 0&&(u=new de),u.add(_);break}}function C(_,O){if(!w(l)){if(l.isProviderFor(_,O))return l;if(!w(c)){if(c.isProviderFor(_,O))return l;if(!w(u))for(var $=nt(u);;){var T=rt($);if(!T)return;var H=it(T);if(H.isProviderFor(_,O))return ot($),H}}}if(!w(s)&&s.isProviderFor(_,O))return s}function p(_,O){var $=b.get(_),T;return w($)||(T=$.get(O)),w(T)&&(T=C(_,O),w(T)||(w($)&&($=new k,b.set(_,$)),$.set(O,T))),T}function d(_){if(w(_))throw new TypeError;return l===_||c===_||!w(u)&&u.has(_)}function m(_,O,$){if(!d($))throw new Error("Metadata provider not registered.");var T=p(_,O);if(T!==$){if(!w(T))return!1;var H=b.get(_);w(H)&&(H=new k,b.set(_,H)),H.set(O,$)}return!0}}function kt(){var s;return!w(F)&&S(r.Reflect)&&Object.isExtensible(r.Reflect)&&(s=r.Reflect[F]),w(s)&&(s=Bt()),!w(F)&&S(r.Reflect)&&Object.isExtensible(r.Reflect)&&Object.defineProperty(r.Reflect,F,{enumerable:!1,configurable:!1,writable:!1,value:s}),s}function Qt(s){var l=new me,c={isProviderFor:function(d,m){var _=l.get(d);return w(_)?!1:_.has(m)},OrdinaryDefineOwnMetadata:R,OrdinaryHasOwnMetadata:b,OrdinaryGetOwnMetadata:x,OrdinaryOwnMetadataKeys:C,OrdinaryDeleteMetadata:p};return ne.registerProvider(c),c;function u(d,m,_){var O=l.get(d),$=!1;if(w(O)){if(!_)return;O=new k,l.set(d,O),$=!0}var T=O.get(m);if(w(T)){if(!_)return;if(T=new k,O.set(m,T),!s.setProvider(d,m,c))throw O.delete(m),$&&l.delete(d),new Error("Wrong provider for target.")}return T}function b(d,m,_){var O=u(m,_,!1);return w(O)?!1:Qe(O.has(d))}function x(d,m,_){var O=u(m,_,!1);if(!w(O))return O.get(d)}function R(d,m,_,O){var $=u(_,O,!0);$.set(d,m)}function C(d,m){var _=[],O=u(d,m,!1);if(w(O))return _;for(var $=O.keys(),T=nt($),H=0;;){var st=rt(T);if(!st)return _.length=H,_;var rn=it(st);try{_[H]=rn}catch(on){try{ot(T)}finally{throw on}}H++}}function p(d,m,_){var O=u(m,_,!1);if(w(O)||!O.delete(d))return!1;if(O.size===0){var $=l.get(m);w($)||($.delete(_),$.size===0&&l.delete($))}return!0}}function Jt(s){var l=s.defineMetadata,c=s.hasOwnMetadata,u=s.getOwnMetadata,b=s.getOwnMetadataKeys,x=s.deleteMetadata,R=new me,C={isProviderFor:function(p,d){var m=R.get(p);return!w(m)&&m.has(d)?!0:b(p,d).length?(w(m)&&(m=new de,R.set(p,m)),m.add(d),!0):!1},OrdinaryDefineOwnMetadata:l,OrdinaryHasOwnMetadata:c,OrdinaryGetOwnMetadata:u,OrdinaryOwnMetadataKeys:b,OrdinaryDeleteMetadata:x};return C}function Q(s,l,c){var u=ne.getProvider(s,l);if(!w(u))return u;if(c){if(ne.setProvider(s,l,Fe))return Fe;throw new Error("Illegal state.")}}function en(){var s={},l=[],c=function(){function C(p,d,m){this._index=0,this._keys=p,this._values=d,this._selector=m}return C.prototype["@@iterator"]=function(){return this},C.prototype[v]=function(){return this},C.prototype.next=function(){var p=this._index;if(p>=0&&p<this._keys.length){var d=this._selector(this._keys[p],this._values[p]);return p+1>=this._keys.length?(this._index=-1,this._keys=l,this._values=l):this._index++,{value:d,done:!1}}return{value:void 0,done:!0}},C.prototype.throw=function(p){throw this._index>=0&&(this._index=-1,this._keys=l,this._values=l),p},C.prototype.return=function(p){return this._index>=0&&(this._index=-1,this._keys=l,this._values=l),{value:p,done:!0}},C}(),u=function(){function C(){this._keys=[],this._values=[],this._cacheKey=s,this._cacheIndex=-2}return Object.defineProperty(C.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),C.prototype.has=function(p){return this._find(p,!1)>=0},C.prototype.get=function(p){var d=this._find(p,!1);return d>=0?this._values[d]:void 0},C.prototype.set=function(p,d){var m=this._find(p,!0);return this._values[m]=d,this},C.prototype.delete=function(p){var d=this._find(p,!1);if(d>=0){for(var m=this._keys.length,_=d+1;_<m;_++)this._keys[_-1]=this._keys[_],this._values[_-1]=this._values[_];return this._keys.length--,this._values.length--,ye(p,this._cacheKey)&&(this._cacheKey=s,this._cacheIndex=-2),!0}return!1},C.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=s,this._cacheIndex=-2},C.prototype.keys=function(){return new c(this._keys,this._values,b)},C.prototype.values=function(){return new c(this._keys,this._values,x)},C.prototype.entries=function(){return new c(this._keys,this._values,R)},C.prototype["@@iterator"]=function(){return this.entries()},C.prototype[v]=function(){return this.entries()},C.prototype._find=function(p,d){if(!ye(this._cacheKey,p)){this._cacheIndex=-1;for(var m=0;m<this._keys.length;m++)if(ye(this._keys[m],p)){this._cacheIndex=m;break}}return this._cacheIndex<0&&d&&(this._cacheIndex=this._keys.length,this._keys.push(p),this._values.push(void 0)),this._cacheIndex},C}();return u;function b(C,p){return C}function x(C,p){return p}function R(C,p){return[C,p]}}function tn(){var s=function(){function l(){this._map=new k}return Object.defineProperty(l.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),l.prototype.has=function(c){return this._map.has(c)},l.prototype.add=function(c){return this._map.set(c,c),this},l.prototype.delete=function(c){return this._map.delete(c)},l.prototype.clear=function(){this._map.clear()},l.prototype.keys=function(){return this._map.keys()},l.prototype.values=function(){return this._map.keys()},l.prototype.entries=function(){return this._map.entries()},l.prototype["@@iterator"]=function(){return this.keys()},l.prototype[v]=function(){return this.keys()},l}();return s}function nn(){var s=16,l=N.create(),c=u();return function(){function p(){this._key=u()}return p.prototype.has=function(d){var m=b(d,!1);return m!==void 0?N.has(m,this._key):!1},p.prototype.get=function(d){var m=b(d,!1);return m!==void 0?N.get(m,this._key):void 0},p.prototype.set=function(d,m){var _=b(d,!0);return _[this._key]=m,this},p.prototype.delete=function(d){var m=b(d,!1);return m!==void 0?delete m[this._key]:!1},p.prototype.clear=function(){this._key=u()},p}();function u(){var p;do p="@@WeakMap@@"+C();while(N.has(l,p));return l[p]=!0,p}function b(p,d){if(!i.call(p,c)){if(!d)return;Object.defineProperty(p,c,{value:N.create()})}return p[c]}function x(p,d){for(var m=0;m<d;++m)p[m]=Math.random()*255|0;return p}function R(p){if(typeof Uint8Array=="function"){var d=new Uint8Array(p);return typeof crypto<"u"?crypto.getRandomValues(d):typeof msCrypto<"u"?msCrypto.getRandomValues(d):x(d,p),d}return x(new Array(p),p)}function C(){var p=R(s);p[6]=p[6]&79|64,p[8]=p[8]&191|128;for(var d="",m=0;m<s;++m){var _=p[m];(m===4||m===6||m===8)&&(d+="-"),_<16&&(d+="0"),d+=_.toString(16).toLowerCase()}return d}}function be(s){return s.__=void 0,delete s.__,s}})}(t||(t={})),lt}cn();var Ee;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(Ee||(Ee={}));const A=Ee;/*! *****************************************************************************
15
- Copyright (c) Microsoft Corporation.
16
-
17
- Permission to use, copy, modify, and/or distribute this software for any
18
- purpose with or without fee is hereby granted.
19
-
20
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
21
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
22
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
23
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
24
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
26
- PERFORMANCE OF THIS SOFTWARE.
27
- ***************************************************************************** */var $e=function(t,e){return $e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},$e(t,e)};function Le(t,e){$e(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function un(t,e,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function v(D){try{y(r.next(D))}catch(N){a(N)}}function g(D){try{y(r.throw(D))}catch(N){a(N)}}function y(D){D.done?o(D.value):i(D.value).then(v,g)}y((r=r.apply(t,[])).next())})}function pn(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function v(y){return function(D){return g([y,D])}}function g(y){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=y[0]&2?i.return:y[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,y[1])).done)return o;switch(i=0,o&&(y=[y[0]&2,o.value]),y[0]){case 0:case 1:o=y;break;case 4:return n.label++,{value:y[1],done:!1};case 5:n.label++,i=y[1],y=[0];continue;case 7:y=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(y[0]===6||y[0]===2)){n=0;continue}if(y[0]===3&&(!o||y[1]>o[0]&&y[1]<o[3])){n.label=y[1];break}if(y[0]===6&&n.label<o[1]){n.label=o[1],o=y;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(y);break}o[2]&&n.ops.pop(),n.trys.pop();continue}y=e.call(t,n)}catch(D){y=[6,D],i=0}finally{r=o=0}if(y[0]&5)throw y[1];return{value:y[0]?y[1]:void 0,done:!0}}}function re(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function he(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(v){a={error:v}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function V(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(he(arguments[e]));return t}var Me="injectionTokens";function fn(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(Me,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function dn(t,e){return function(n,r,i){var o=Reflect.getOwnMetadata(Me,n)||{};o[i]=t,Reflect.defineMetadata(Me,o,n)}}function Pt(t){return!!t.useClass}function De(t){return!!t.useFactory}var Ct=function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,o,a=function(){return i||(o=e(n.wrap()),i=!0),o};return new Proxy(r,this.createHandler(a))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];o[0]=e();var v=Reflect[i];return v.apply(void 0,V(o))}};return this.reflectMethods.forEach(r),n},t}();function W(t){return typeof t=="string"||typeof t=="symbol"}function mn(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function ct(t){return typeof t=="object"&&"token"in t&&"transform"in t}function _n(t){return typeof t=="function"||t instanceof Ct}function ae(t){return!!t.useToken}function le(t){return t.useValue!=null}function yn(t){return Pt(t)||le(t)||ae(t)||De(t)}var Ue=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t}(),vn=function(t){Le(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ue),ut=function(){function t(){this.scopedResolutions=new Map}return t}();function bn(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function wn(t,e,n){return n===void 0&&(n=" "),V([t],e.message.split(`
28
- `).map(function(r){return n+r})).join(`
29
- `)}function gn(t,e,n){var r=he(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],o=i===void 0?null:i,a=bn(o,e);return wn("Cannot inject the dependency "+a+' of "'+t.name+'" constructor. Reason:',n)}function Pn(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var Cn=function(t){Le(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ue),On=function(t){Le(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ue),En=function(){function t(){this.preResolution=new Cn,this.postResolution=new On}return t}(),Ot=new Map,$n=function(){function t(e){this.parent=e,this._registry=new vn,this.interceptors=new En,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:A.Transient}),this.ensureNotDisposed();var i;if(yn(n)?i=n:i={useClass:n},ae(i))for(var o=[e],a=i;a!=null;){var v=a.useToken;if(o.includes(v))throw new Error("Token registration cycle detected! "+V(o,[v]).join(" -> "));o.push(v);var g=this._registry.get(v);g&&ae(g.provider)?a=g.provider:a=null}if((r.lifecycle===A.Singleton||r.lifecycle==A.ContainerScoped||r.lifecycle==A.ResolutionScoped)&&(le(i)||De(i)))throw new Error('Cannot use lifecycle "'+A[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),W(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),W(e)){if(W(n))return this.register(e,{useToken:n},{lifecycle:A.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:A.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!W(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:A.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new ut),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&W(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),r){var i=this.resolveRegistration(r,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}if(_n(e)){var i=this.construct(e,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var o=[];try{for(var a=re(this.interceptors.preResolution.getAll(e)),v=a.next();!v.done;v=a.next()){var g=v.value;g.options.frequency!="Once"&&o.push(g),g.callback(e,n)}}catch(y){r={error:y}}finally{try{v&&!v.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,o)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,o;if(this.interceptors.postResolution.has(e)){var a=[];try{for(var v=re(this.interceptors.postResolution.getAll(e)),g=v.next();!g.done;g=v.next()){var y=g.value;y.options.frequency!="Once"&&a.push(y),y.callback(e,n,r)}}catch(D){i={error:D}}finally{try{g&&!g.done&&(o=v.return)&&o.call(v)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,a)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===A.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===A.Singleton,i=e.options.lifecycle===A.ContainerScoped,o=r||i,a;return le(e.provider)?a=e.provider.useValue:ae(e.provider)?a=o?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Pt(e.provider)?a=o?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):De(e.provider)?a=e.provider.useFactory(this):a=this.construct(e.provider,n),e.options.lifecycle===A.ResolutionScoped&&n.scopedResolutions.set(e,a),a},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new ut),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&W(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),i){var o=i.map(function(v){return r.resolveRegistration(v,n)});return this.executePostResolutionInterceptor(e,o,"All"),o}var a=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,a,"All"),a},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=re(this._registry.entries()),i=r.next();!i.done;i=r.next()){var o=he(i.value,2),a=o[0],v=o[1];this._registry.setAll(a,v.filter(function(g){return!le(g.provider)}).map(function(g){return g.instance=void 0,g}))}}catch(g){e={error:g}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=re(this._registry.entries()),o=i.next();!o.done;o=i.next()){var a=he(o.value,2),v=a[0],g=a[1];g.some(function(y){var D=y.options;return D.lifecycle===A.ContainerScoped})&&r._registry.setAll(v,g.map(function(y){return y.options.lifecycle===A.ContainerScoped?{provider:y.provider,options:y.options}:y}))}}catch(y){e={error:y}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return un(this,void 0,void 0,function(){var e;return pn(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof Ct)return e.createProxy(function(o){return r.resolve(o,n)});var i=function(){var o=Ot.get(e);if(!o||o.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var a=o.map(r.resolveParams(n,e));return new(e.bind.apply(e,V([void 0],a)))}();return Pn(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,o){var a,v,g;try{return mn(i)?ct(i)?i.multiple?(a=r.resolve(i.transform)).transform.apply(a,V([r.resolveAll(i.token)],i.transformArgs)):(v=r.resolve(i.transform)).transform.apply(v,V([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):ct(i)?(g=r.resolve(i.transform,e)).transform.apply(g,V([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(y){throw new Error(gn(n,o,y))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Ve=new $n;function P(t){return dn(t)}function Et(){return function(t){Ot.set(t,fn(t))}}function M(){return function(t){Et()(t),Ve.registerSingleton(t)}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var Mn=Object.defineProperty,Dn=Object.getOwnPropertyDescriptor,Tn=(t,e,n,r)=>{for(var i=r>1?void 0:r?Dn(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Mn(e,n,i),i};let J=class{constructor(){h(this,"proxyReceiver",new ln.ProxyReceiver);h(this,"initialized",!1);h(this,"canvas")}};J=Tn([M()],J);class $t{constructor(){h(this,"contextmenu$$");h(this,"resize$$");h(this,"mousedown$$");h(this,"mousemove$$");h(this,"mouseup$$");h(this,"pointerdown$$");h(this,"pointermove$$");h(this,"pointercancel$$");h(this,"pointerup$$");h(this,"touchstart$$");h(this,"touchmove$$");h(this,"touchend$$");h(this,"wheel$$");h(this,"keydown$$")}}class Mt extends $t{constructor(){super(...arguments);h(this,"contextmenu$");h(this,"resize$");h(this,"mousedown$");h(this,"mousemove$");h(this,"mouseup$");h(this,"pointerdown$");h(this,"pointermove$");h(this,"pointercancel$");h(this,"pointerup$");h(this,"touchstart$");h(this,"touchmove$");h(this,"touchend$");h(this,"wheel$");h(this,"keydown$")}}class Dt extends Mt{constructor(){super(...arguments);h(this,"contextmenu");h(this,"resize");h(this,"mousedown");h(this,"mousemove");h(this,"mouseup");h(this,"pointerdown");h(this,"pointermove");h(this,"pointercancel");h(this,"pointerup");h(this,"touchstart");h(this,"touchmove");h(this,"touchend");h(this,"wheel");h(this,"keydown")}}const Sn=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Ye=["contextmenu","resize","mousedown","mousemove","mouseup","pointerdown","pointermove","pointercancel","pointerup","touchstart","touchmove","touchend","wheel","keydown"];var Rn=Object.defineProperty,jn=Object.getOwnPropertyDescriptor,xn=(t,e,n,r)=>{for(var i=r>1?void 0:r?jn(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Rn(e,n,i),i},An=(t,e)=>(n,r)=>e(n,r,t);let ee=class extends Dt{constructor(e){super();h(this,"lifecycle$$",new z.Subject);h(this,"lifecycle$",this.lifecycle$$.pipe());this.component=e;for(const n of Ye)this[`${n}$$`]=new z.Subject,this[`${n}$`]=this[`${n}$$`].pipe(),this[n]=r=>{this.component.proxyReceiver.handleEvent({...r,type:r.type||n}),this[`${n}$$`].next(r)}}};ee=xn([M(),An(0,P(J))],ee);var In=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,Nn=(t,e,n,r)=>{for(var i=r>1?void 0:r?zn(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&In(e,n,i),i};let ce=class{constructor(){h(this,"clock",new f.Clock);h(this,"frame",1e3/60);h(this,"delta",0);h(this,"deltaRatio",0);h(this,"enabled",!1)}};ce=Nn([M()],ce);var Hn=Object.defineProperty,Ln=Object.getOwnPropertyDescriptor,Un=(t,e,n,r)=>{for(var i=r>1?void 0:r?Ln(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Hn(e,n,i),i};let te=class{constructor(){h(this,"scene",new f.Scene);h(this,"enabled",!0)}};te=Un([M()],te);var Vn=Object.defineProperty,Yn=Object.getOwnPropertyDescriptor,Zn=(t,e,n,r)=>{for(var i=r>1?void 0:r?Yn(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Vn(e,n,i),i};let Y=class{constructor(){h(this,"width",0);h(this,"height",0);h(this,"aspect",0);h(this,"pixelRatio",0);h(this,"frustrum",5);h(this,"enabled",!0)}init(t,e){this.height=Number(t.height??this.height),this.width=Number(t.width??this.width),this.aspect=this.width/this.height,this.enabled=e===void 0?!0:!!e}};Y=Zn([M()],Y);var ue=(t=>(t[t.PERSPECTIVE=0]="PERSPECTIVE",t[t.ORTHOGRAPHIC=1]="ORTHOGRAPHIC",t))(ue||{}),Fn=Object.defineProperty,Gn=Object.getOwnPropertyDescriptor,Wn=(t,e,n,r)=>{for(var i=r>1?void 0:r?Gn(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Fn(e,n,i),i},Xn=(t,e)=>(n,r)=>e(n,r,t);let X=class{constructor(t){h(this,"instance");h(this,"miniCamera");h(this,"enabled",!0);this.sizesComponent=t}set aspectRatio(t){var e;this.instance instanceof f.PerspectiveCamera&&(this.instance.aspect=t),(this.instance instanceof f.PerspectiveCamera||this.instance instanceof f.OrthographicCamera)&&((e=this.instance)==null||e.updateProjectionMatrix())}set quaternion(t){var e;(e=this.instance)==null||e.quaternion.copy(t)}set position(t){var e;(e=this.instance)==null||e.position.copy(t)}set rotation(t){var e;(e=this.instance)==null||e.rotation.copy(t)}initDefaultCamera(t){if(this.removeCamera(),t===ue.PERSPECTIVE||t===void 0){this.instance=new f.PerspectiveCamera(70,this.sizesComponent.width/this.sizesComponent.height,1e-4,100),this.instance.position.z=8;return}t===ue.ORTHOGRAPHIC&&(this.instance=new f.OrthographicCamera(-this.sizesComponent.aspect*this.sizesComponent.frustrum/2,this.sizesComponent.aspect*this.sizesComponent.frustrum/2,this.sizesComponent.frustrum/2,-this.sizesComponent.frustrum/2,-50,50))}setMiniCamera(){this.removeMiniCamera(),this.miniCamera=new f.PerspectiveCamera(75,this.sizesComponent.width/this.sizesComponent.height,.1,500),this.miniCamera.position.z=10,this.miniCamera.position.x=-5}removeCamera(){this.instance instanceof f.Camera&&((this.instance instanceof f.PerspectiveCamera||this.instance instanceof f.OrthographicCamera)&&this.instance.clearViewOffset(),this.instance.clear(),this.instance=void 0)}removeMiniCamera(){this.miniCamera instanceof f.Camera&&(this.miniCamera.clearViewOffset(),this.miniCamera.clear(),this.miniCamera=void 0)}};X=Wn([M(),Xn(0,P(Y))],X);const pt={type:"change"},Ze={type:"start"},Tt={type:"end"},oe=new f.Ray,ft=new f.Plane,qn=Math.cos(70*f.MathUtils.DEG2RAD),j=new f.Vector3,I=2*Math.PI,E={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},we=1e-6;class dt extends f.Controls{constructor(e,n=null){super(e,n),this.state=E.NONE,this.enabled=!0,this.target=new f.Vector3,this.cursor=new f.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:f.MOUSE.ROTATE,MIDDLE:f.MOUSE.DOLLY,RIGHT:f.MOUSE.PAN},this.touches={ONE:f.TOUCH.ROTATE,TWO:f.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new f.Vector3,this._lastQuaternion=new f.Quaternion,this._lastTargetPosition=new f.Vector3,this._quat=new f.Quaternion().setFromUnitVectors(e.up,new f.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new f.Spherical,this._sphericalDelta=new f.Spherical,this._scale=1,this._panOffset=new f.Vector3,this._rotateStart=new f.Vector2,this._rotateEnd=new f.Vector2,this._rotateDelta=new f.Vector2,this._panStart=new f.Vector2,this._panEnd=new f.Vector2,this._panDelta=new f.Vector2,this._dollyStart=new f.Vector2,this._dollyEnd=new f.Vector2,this._dollyDelta=new f.Vector2,this._dollyDirection=new f.Vector3,this._mouse=new f.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Bn.bind(this),this._onPointerDown=Kn.bind(this),this._onPointerUp=kn.bind(this),this._onContextMenu=ri.bind(this),this._onMouseWheel=ei.bind(this),this._onKeyDown=ti.bind(this),this._onTouchStart=ni.bind(this),this._onTouchMove=ii.bind(this),this._onMouseDown=Qn.bind(this),this._onMouseMove=Jn.bind(this),this._interceptControlDown=oi.bind(this),this._interceptControlUp=si.bind(this),this.domElement!==null&&this.connect(),this.update()}connect(){this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(pt),this.update(),this.state=E.NONE}update(e=null){const n=this.object.position;j.copy(n).sub(this.target),j.applyQuaternion(this._quat),this._spherical.setFromVector3(j),this.autoRotate&&this.state===E.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let r=this.minAzimuthAngle,i=this.maxAzimuthAngle;isFinite(r)&&isFinite(i)&&(r<-Math.PI?r+=I:r>Math.PI&&(r-=I),i<-Math.PI?i+=I:i>Math.PI&&(i-=I),r<=i?this._spherical.theta=Math.max(r,Math.min(i,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(r+i)/2?Math.max(r,this._spherical.theta):Math.min(i,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let o=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),o=a!=this._spherical.radius}if(j.setFromSpherical(this._spherical),j.applyQuaternion(this._quatInverse),n.copy(this.target).add(j),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const v=j.length();a=this._clampDistance(v*this._scale);const g=v-a;this.object.position.addScaledVector(this._dollyDirection,g),this.object.updateMatrixWorld(),o=!!g}else if(this.object.isOrthographicCamera){const v=new f.Vector3(this._mouse.x,this._mouse.y,0);v.unproject(this.object);const g=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),o=g!==this.object.zoom;const y=new f.Vector3(this._mouse.x,this._mouse.y,0);y.unproject(this.object),this.object.position.sub(y).add(v),this.object.updateMatrixWorld(),a=j.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(oe.origin.copy(this.object.position),oe.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(oe.direction))<qn?this.object.lookAt(this.target):(ft.setFromNormalAndCoplanarPoint(this.object.up,this.target),oe.intersectPlane(ft,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),o=!0)}return this._scale=1,this._performCursorZoom=!1,o||this._lastPosition.distanceToSquared(this.object.position)>we||8*(1-this._lastQuaternion.dot(this.object.quaternion))>we||this._lastTargetPosition.distanceToSquared(this.target)>we?(this.dispatchEvent(pt),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?I/60*this.autoRotateSpeed*e:I/60/60*this.autoRotateSpeed}_getZoomScale(e){const n=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*n)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,n){j.setFromMatrixColumn(n,0),j.multiplyScalar(-e),this._panOffset.add(j)}_panUp(e,n){this.screenSpacePanning===!0?j.setFromMatrixColumn(n,1):(j.setFromMatrixColumn(n,0),j.crossVectors(this.object.up,j)),j.multiplyScalar(e),this._panOffset.add(j)}_pan(e,n){const r=this.domElement;if(this.object.isPerspectiveCamera){const i=this.object.position;j.copy(i).sub(this.target);let o=j.length();o*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*o/r.clientHeight,this.object.matrix),this._panUp(2*n*o/r.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/r.clientWidth,this.object.matrix),this._panUp(n*(this.object.top-this.object.bottom)/this.object.zoom/r.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,n){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const r=this.domElement.getBoundingClientRect(),i=e-r.left,o=n-r.top,a=r.width,v=r.height;this._mouse.x=i/a*2-1,this._mouse.y=-(o/v)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const n=this.domElement;this._rotateLeft(I*this._rotateDelta.x/n.clientHeight),this._rotateUp(I*this._rotateDelta.y/n.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let n=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this._rotateUp(I*this.rotateSpeed/this.domElement.clientHeight):this._pan(0,this.keyPanSpeed),n=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this._rotateUp(-I*this.rotateSpeed/this.domElement.clientHeight):this._pan(0,-this.keyPanSpeed),n=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this._rotateLeft(I*this.rotateSpeed/this.domElement.clientHeight):this._pan(this.keyPanSpeed,0),n=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this._rotateLeft(-I*this.rotateSpeed/this.domElement.clientHeight):this._pan(-this.keyPanSpeed,0),n=!0;break}n&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),r=.5*(e.pageX+n.x),i=.5*(e.pageY+n.y);this._rotateStart.set(r,i)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),r=.5*(e.pageX+n.x),i=.5*(e.pageY+n.y);this._panStart.set(r,i)}}_handleTouchStartDolly(e){const n=this._getSecondPointerPosition(e),r=e.pageX-n.x,i=e.pageY-n.y,o=Math.sqrt(r*r+i*i);this._dollyStart.set(0,o)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const r=this._getSecondPointerPosition(e),i=.5*(e.pageX+r.x),o=.5*(e.pageY+r.y);this._rotateEnd.set(i,o)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const n=this.domElement;this._rotateLeft(I*this._rotateDelta.x/n.clientHeight),this._rotateUp(I*this._rotateDelta.y/n.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),r=.5*(e.pageX+n.x),i=.5*(e.pageY+n.y);this._panEnd.set(r,i)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const n=this._getSecondPointerPosition(e),r=e.pageX-n.x,i=e.pageY-n.y,o=Math.sqrt(r*r+i*i);this._dollyEnd.set(0,o),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+n.x)*.5,v=(e.pageY+n.y)*.5;this._updateZoomParameters(a,v)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let n=0;n<this._pointers.length;n++)if(this._pointers[n]==e.pointerId){this._pointers.splice(n,1);return}}_isTrackingPointer(e){for(let n=0;n<this._pointers.length;n++)if(this._pointers[n]==e.pointerId)return!0;return!1}_trackPointer(e){let n=this._pointerPositions[e.pointerId];n===void 0&&(n=new f.Vector2,this._pointerPositions[e.pointerId]=n),n.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const n=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[n]}_customWheelEvent(e){const n=e.deltaMode,r={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(n){case 1:r.deltaY*=16;break;case 2:r.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(r.deltaY*=10),r}}function Kn(t){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(t.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(t)&&(this._addPointer(t),t.pointerType==="touch"?this._onTouchStart(t):this._onMouseDown(t)))}function Bn(t){this.enabled!==!1&&(t.pointerType==="touch"?this._onTouchMove(t):this._onMouseMove(t))}function kn(t){switch(this._removePointer(t),this._pointers.length){case 0:this.domElement.releasePointerCapture(t.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Tt),this.state=E.NONE;break;case 1:const e=this._pointers[0],n=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:n.x,pageY:n.y});break}}function Qn(t){let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case f.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(t),this.state=E.DOLLY;break;case f.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=E.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=E.ROTATE}break;case f.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=E.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=E.PAN}break;default:this.state=E.NONE}this.state!==E.NONE&&this.dispatchEvent(Ze)}function Jn(t){switch(this.state){case E.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(t);break;case E.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(t);break;case E.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(t);break}}function ei(t){this.enabled===!1||this.enableZoom===!1||this.state!==E.NONE||(t.preventDefault(),this.dispatchEvent(Ze),this._handleMouseWheel(this._customWheelEvent(t)),this.dispatchEvent(Tt))}function ti(t){this.enabled===!1||this.enablePan===!1||this._handleKeyDown(t)}function ni(t){switch(this._trackPointer(t),this._pointers.length){case 1:switch(this.touches.ONE){case f.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(t),this.state=E.TOUCH_ROTATE;break;case f.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(t),this.state=E.TOUCH_PAN;break;default:this.state=E.NONE}break;case 2:switch(this.touches.TWO){case f.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(t),this.state=E.TOUCH_DOLLY_PAN;break;case f.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(t),this.state=E.TOUCH_DOLLY_ROTATE;break;default:this.state=E.NONE}break;default:this.state=E.NONE}this.state!==E.NONE&&this.dispatchEvent(Ze)}function ii(t){switch(this._trackPointer(t),this.state){case E.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(t),this.update();break;case E.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(t),this.update();break;case E.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(t),this.update();break;case E.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(t),this.update();break;default:this.state=E.NONE}}function ri(t){this.enabled!==!1&&t.preventDefault()}function oi(t){t.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function si(t){t.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}var ai=Object.defineProperty,li=Object.getOwnPropertyDescriptor,hi=(t,e,n,r)=>{for(var i=r>1?void 0:r?li(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&ai(e,n,i),i},ge=(t,e)=>(n,r)=>e(n,r,t);let pe=class{constructor(t,e,n){h(this,"enabled",!0);h(this,"cameraControls");h(this,"miniCameraControls");h(this,"cameraHelper");h(this,"axesHelper");h(this,"gridHelper");this.appComponent=t,this.cameraComponent=e,this.worldComponent=n}_setCameraOrbitControl(){var t;this.cameraControls&&((t=this.cameraControls)==null||t.dispose(),this.cameraControls=void 0),!(!this.enabled||!(this.cameraComponent.instance instanceof f.Camera))&&this.cameraComponent.instance instanceof f.Camera&&(this.cameraControls=new dt(this.cameraComponent.instance,this.appComponent.proxyReceiver),this.cameraControls&&(this.cameraControls.enableDamping=!0))}_setMiniCameraOrbitControls(){this.miniCameraControls&&(this.miniCameraControls.dispose(),this.miniCameraControls=void 0),this.enabled&&this.cameraComponent.miniCamera&&(this.miniCameraControls=new dt(this.cameraComponent.miniCamera,this.appComponent.proxyReceiver),this.miniCameraControls.enableDamping=!0)}_setCameraHelper(){this.cameraHelper&&(this.worldComponent.scene.remove(this.cameraHelper),this.cameraHelper=void 0),this.enabled&&this.cameraComponent.instance&&(this.cameraHelper=new f.CameraHelper(this.cameraComponent.instance),this.worldComponent.scene.add(this.cameraHelper))}_setAxesHelper(t){const e=new f.AxesHelper(t);this.worldComponent.scene.add(e)}_setGridHelper(t){const e=new f.GridHelper(t,t);this.worldComponent.scene.add(e)}init(t){this._setCameraOrbitControl(),this._setMiniCameraOrbitControls(),this._setCameraHelper(),typeof(t==null?void 0:t.axesSizes)=="number"&&this._setAxesHelper(t.axesSizes),typeof(t==null?void 0:t.gridSizes)=="number"&&this._setGridHelper(t.gridSizes)}update(){var t,e;this.enabled&&((t=this.cameraControls)==null||t.update(),(e=this.miniCameraControls)==null||e.update())}dispose(){this.cameraHelper&&(this.worldComponent.scene.remove(this.cameraHelper),this.cameraHelper=void 0),this.cameraControls&&(this.cameraControls.dispose(),this.cameraControls=void 0),this.miniCameraControls&&(this.miniCameraControls.dispose(),this.miniCameraControls=void 0)}};pe=hi([M(),ge(0,P(J)),ge(1,P(X)),ge(2,P(te))],pe);var St=Object.defineProperty,ci=Object.getOwnPropertyDescriptor,ui=(t,e,n)=>e in t?St(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pi=(t,e,n,r)=>{for(var i=r>1?void 0:r?ci(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&St(e,n,i),i},se=(t,e)=>(n,r)=>e(n,r,t),fi=(t,e,n)=>ui(t,e+"",n);let Z=class{constructor(t,e,n,r){h(this,"enabled",!0);h(this,"instance");this.worldComponent=t,this.cameraComponent=e,this.sizesComponent=n,this.debugComponent=r}init(t){this.instance=new f.WebGLRenderer({canvas:t,context:t.getContext("webgl2",{stencil:!0,powerPreference:"high-performance"}),powerPreference:"high-performance",depth:!0,antialias:!0}),this.instance.autoClear=!1,this.instance.setPixelRatio(Z.RENDERER_PIXEL_RATIO),this.instance.setClearColor(0,0),this.instance.shadowMap.enabled=!0,this.instance.shadowMap.type=f.PCFSoftShadowMap,this.instance.outputColorSpace=f.SRGBColorSpace,this.instance.toneMapping=f.CineonToneMapping,this.instance.toneMappingExposure=1.75}setSize(t,e){var n;(n=this.instance)==null||n.setSize(t,e)}render(){this.enabled&&this.cameraComponent.instance instanceof f.Camera&&this.instance instanceof f.WebGLRenderer&&(this.instance.setViewport(0,0,this.sizesComponent.width,this.sizesComponent.height),this.instance.render(this.worldComponent.scene,this.cameraComponent.instance),this.debugComponent.enabled&&this.cameraComponent.miniCamera&&(this.instance.setScissorTest(!0),this.instance.setViewport(this.sizesComponent.width-this.sizesComponent.width/3,this.sizesComponent.height-this.sizesComponent.height/3,this.sizesComponent.width/3,this.sizesComponent.height/3),this.instance.setScissor(this.sizesComponent.width-this.sizesComponent.width/3,this.sizesComponent.height-this.sizesComponent.height/3,this.sizesComponent.width/3,this.sizesComponent.height/3),this.instance.render(this.worldComponent.scene,this.cameraComponent.miniCamera),this.instance.setScissorTest(!1)))}};fi(Z,"RENDERER_PIXEL_RATIO",1);Z=pi([M(),se(0,P(te)),se(1,P(X)),se(2,P(Y)),se(3,P(pe))],Z);var Rt=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.DISPOSED=1]="DISPOSED",t))(Rt||{}),q=(t=>(t[t.INITIALIZED=0]="INITIALIZED",t[t.STEP_STARTED=1]="STEP_STARTED",t[t.STEP_ENDED=2]="STEP_ENDED",t[t.DISPOSED=3]="DISPOSED",t))(q||{}),di=Object.defineProperty,mi=Object.getOwnPropertyDescriptor,_i=(t,e,n,r)=>{for(var i=r>1?void 0:r?mi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&di(e,n,i),i},mt=(t,e)=>(n,r)=>e(n,r,t);let K=class{constructor(t,e){h(this,"step$$",new z.Subject);h(this,"enable$$",new z.Subject);h(this,"step$",this.step$$.pipe());h(this,"enable$",this.enable$$.pipe());this.component=t,this.appController=e}step(){this.appController.lifecycle$$.next(q.STEP_STARTED),this.component.enabled&&(this.component.delta=this.component.clock.getDelta()??this.component.frame,this.component.deltaRatio=this.component.delta*1e3/this.component.frame,this.step$$.next({delta:this.component.delta,deltaRatio:this.component.deltaRatio})),this.appController.lifecycle$$.next(q.STEP_ENDED)}};K=_i([M(),mt(0,P(ce)),mt(1,P(ee))],K);var yi=Object.defineProperty,vi=Object.getOwnPropertyDescriptor,bi=(t,e,n,r)=>{for(var i=r>1?void 0:r?vi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&yi(e,n,i),i},Pe=(t,e)=>(n,r)=>e(n,r,t);let Te=class{constructor(t,e,n){this.component=t,this.controller=e,this.rendererComponent=n}init(t){this.controller.enable$.subscribe(e=>{var n,r;this.component.enabled=!!e,e?(n=this.rendererComponent.instance)==null||n.setAnimationLoop(this.controller.step.bind(this.controller)):(r=this.rendererComponent.instance)==null||r.setAnimationLoop(null)}),t&&this.enabled(!0)}clock(){return this.component.clock}frame(){return this.component.frame}delta(t){return typeof t=="number"&&(this.component.delta=t),this.component.delta}deltaRatio(t){return typeof t=="number"&&(this.component.deltaRatio=t),this.component.deltaRatio}enabled(t){return typeof t=="boolean"&&this.controller.enable$$.next(t),this.component.enabled}dispose(){this.controller.step$$.complete(),this.controller.enable$$.complete()}enabled$(){return this.controller.enable$}step$(){return this.controller.step$}};Te=bi([M(),Pe(0,P(ce)),Pe(1,P(K)),Pe(2,P(Z))],Te);var wi=Object.defineProperty,gi=Object.getOwnPropertyDescriptor,Pi=(t,e,n,r)=>{for(var i=r>1?void 0:r?gi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&wi(e,n,i),i},_t=(t,e)=>(n,r)=>e(n,r,t);let Se=class{constructor(t,e){h(this,"enable$$",new z.Subject);h(this,"enable$",this.enable$$.pipe());h(this,"step$");this.component=t,this.timerController=e,this.step$=this.timerController.step$.pipe(z.filter(()=>this.component.enabled))}};Se=Pi([M(),_t(0,P(X)),_t(1,P(K))],Se);var Ci=Object.defineProperty,Oi=Object.getOwnPropertyDescriptor,Ei=(t,e,n,r)=>{for(var i=r>1?void 0:r?Oi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Ci(e,n,i),i},Ce=(t,e)=>(n,r)=>e(n,r,t);let Re=class{constructor(t,e,n){this.component=t,this.sizesComponent=e,this.controller=n}init(t){this.component.initDefaultCamera(),t&&this.component.setMiniCamera(),this.controller.enable$.subscribe(e=>{this.component.enabled=!!e}),this.controller.step$.subscribe(()=>{var e,n;this.component.enabled&&(this.component.aspectRatio=this.sizesComponent.aspect,(this.component.instance instanceof f.PerspectiveCamera||this.component.instance instanceof f.OrthographicCamera)&&((e=this.component.instance)==null||e.updateProjectionMatrix()),(n=this.component.miniCamera)==null||n.updateProjectionMatrix())})}dispose(){this.component.removeCamera(),this.component.removeMiniCamera()}aspectRatio(t){return t&&(this.component.aspectRatio=t),this.component.aspectRatio}enabled(t){return typeof t=="boolean"&&this.controller.enable$$.next(t),this.component.enabled}instance(t){return t&&(this.component.instance=t),this.component.instance}miniCamera(t){return t&&(this.component.miniCamera=t),this.component.miniCamera}position(t){return t&&(this.component.position=t),this.component.position}quaternion(t){return t&&(this.component.quaternion=t),this.component.quaternion}enabled$(){return this.controller.enable$}};Re=Ei([M(),Ce(0,P(X)),Ce(1,P(Y)),Ce(2,P(Se))],Re);var $i=Object.defineProperty,Mi=Object.getOwnPropertyDescriptor,Di=(t,e,n,r)=>{for(var i=r>1?void 0:r?Mi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&$i(e,n,i),i},yt=(t,e)=>(n,r)=>e(n,r,t);let fe=class{constructor(t,e){h(this,"enable$$",new z.Subject);h(this,"enable$",this.enable$$.pipe());h(this,"resize$");this.appController=t,this.component=e,this.resize$=this.appController.resize$$.pipe(z.filter(()=>this.component.enabled))}};fe=Di([M(),yt(0,P(ee)),yt(1,P(Y))],fe);var Ti=Object.defineProperty,Si=Object.getOwnPropertyDescriptor,Ri=(t,e,n,r)=>{for(var i=r>1?void 0:r?Si(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Ti(e,n,i),i},Oe=(t,e)=>(n,r)=>e(n,r,t);let je=class{constructor(t,e,n){h(this,"enable$$",new z.Subject);h(this,"enable$",this.enable$$.pipe());h(this,"step$");h(this,"resize$");this.rendererComponent=t,this.timerController=e,this.sizesController=n,this.step$=this.timerController.step$.pipe(z.filter(()=>this.rendererComponent.enabled)),this.resize$=this.sizesController.resize$.pipe(z.filter(()=>this.rendererComponent.enabled))}};je=Ri([M(),Oe(0,P(Z)),Oe(1,P(K)),Oe(2,P(fe))],je);var ji=Object.defineProperty,xi=Object.getOwnPropertyDescriptor,Ai=(t,e,n,r)=>{for(var i=r>1?void 0:r?xi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&ji(e,n,i),i},vt=(t,e)=>(n,r)=>e(n,r,t);let xe=class{constructor(t,e){this.component=t,this.controller=e}init(t){this.controller.enable$.subscribe(e=>{this.component.enabled=!!e}),this.controller.step$.subscribe(()=>this.component.render()),this.controller.resize$.subscribe(e=>this.component.setSize(e.windowWidth,e.windowHeight)),this.component.init(t)}dispose(){this.controller.enable$$.unsubscribe()}enabled(t){return typeof t=="boolean"&&this.controller.enable$$.next(t),this.component.enabled}instance(){return this.component.instance}setSize(t){return this.component.setSize(t.x,t.y)}render(){return this.component.render()}enabled$(){return this.controller.enable$}};xe=Ai([M(),vt(0,P(Z)),vt(1,P(je))],xe);var Ii=Object.defineProperty,zi=Object.getOwnPropertyDescriptor,Ni=(t,e,n,r)=>{for(var i=r>1?void 0:r?zi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Ii(e,n,i),i},bt=(t,e)=>(n,r)=>e(n,r,t);let Ae=class{constructor(t,e){this.component=t,this.controller=e}init(t){this.controller.enable$.subscribe(e=>{this.component.enabled=!!e}),this.controller.resize$.subscribe(e=>{this.component.width=e.windowWidth,this.component.height=e.windowHeight,this.component.aspect=e.windowWidth/e.windowHeight}),this.component.init(t)}dispose(){}aspect(t){return typeof t=="number"&&(this.component.aspect=t),this.component.aspect}enabled(t){return typeof t=="boolean"&&this.controller.enable$$.next(t),this.component.enabled}frustrum(t){return typeof t=="number"&&(this.component.frustrum=t),this.component.frustrum}height(t){return typeof t=="number"&&(this.component.height=t),this.component.height}pixelRatio(t){return typeof t=="number"&&(this.component.pixelRatio=t),this.component.pixelRatio}width(t){return typeof t=="number"&&(this.component.width=t),this.component.width}enabled$(){return this.controller.enable$}resize$(){return this.controller.resize$}};Ae=Ni([M(),bt(0,P(Y)),bt(1,P(fe))],Ae);var Hi=Object.defineProperty,Li=Object.getOwnPropertyDescriptor,Ui=(t,e,n,r)=>{for(var i=r>1?void 0:r?Li(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Hi(e,n,i),i};let Ie=class{constructor(){h(this,"enable$$",new z.Subject);h(this,"enable$",this.enable$$.pipe())}};Ie=Ui([M()],Ie);var Vi=Object.defineProperty,Yi=Object.getOwnPropertyDescriptor,Zi=(t,e,n,r)=>{for(var i=r>1?void 0:r?Yi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Vi(e,n,i),i},wt=(t,e)=>(n,r)=>e(n,r,t);let ze=class{constructor(t,e){this.component=t,this.controller=e}init(){this.controller.enable$.subscribe(t=>{this.component.enabled=!!t})}dispose(){}scene(t){return t instanceof f.Scene&&(this.component.scene=t),this.component.scene}enabled(t){return typeof t=="boolean"&&this.controller.enable$$.next(t),this.component.enabled}get enable$(){return this.controller.enable$}};ze=Zi([M(),wt(0,P(te)),wt(1,P(Ie))],ze);var Fi=Object.defineProperty,Gi=Object.getOwnPropertyDescriptor,Wi=(t,e,n,r)=>{for(var i=r>1?void 0:r?Gi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&Fi(e,n,i),i},Xi=(t,e)=>(n,r)=>e(n,r,t);let Ne=class{constructor(t){h(this,"enable$$",new z.Subject);h(this,"enable$",this.enable$$.pipe());h(this,"step$");this.timerController=t,this.step$=this.timerController.step$}};Ne=Wi([M(),Xi(0,P(K))],Ne);var qi=Object.defineProperty,Ki=Object.getOwnPropertyDescriptor,Bi=(t,e,n,r)=>{for(var i=r>1?void 0:r?Ki(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&qi(e,n,i),i},gt=(t,e)=>(n,r)=>e(n,r,t);let He=class{constructor(t,e){this.component=t,this.controller=e,this.controller.step$.subscribe(()=>{this.component.update()})}init(t){this.component.init(t)}dispose(){this.component.dispose()}axesHelper(){return this.component.axesHelper}cameraControls(){return this.component.cameraControls}cameraHelper(){return this.component.cameraHelper}enabled(t){return t&&(this.component.enabled=t),this.component.enabled}gridHelper(){return this.component.gridHelper}miniCameraControls(){return this.component.miniCameraControls}enabled$(){return this.controller.enable$}};He=Bi([M(),gt(0,P(pe)),gt(1,P(Ne))],He);class jt{constructor(){h(this,"contextmenu$");h(this,"resize$");h(this,"mousedown$");h(this,"mousemove$");h(this,"mouseup$");h(this,"pointerdown$");h(this,"pointermove$");h(this,"pointercancel$");h(this,"pointerup$");h(this,"touchstart$");h(this,"touchmove$");h(this,"touchend$");h(this,"wheel$");h(this,"keydown$");h(this,"contextmenu");h(this,"resize");h(this,"mousedown");h(this,"mousemove");h(this,"mouseup");h(this,"pointerdown");h(this,"pointermove");h(this,"pointercancel");h(this,"pointerup");h(this,"touchstart");h(this,"touchmove");h(this,"touchend");h(this,"wheel");h(this,"keydown")}}var ki=Object.defineProperty,Qi=Object.getOwnPropertyDescriptor,Ji=(t,e,n,r)=>{for(var i=r>1?void 0:r?Qi(e,n):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=(r?a(e,n,i):a(i))||i);return r&&i&&ki(e,n,i),i},U=(t,e)=>(n,r)=>e(n,r,t);exports.AppModule=class extends jt{constructor(e,n,r,i,o,a,v,g){super(),this.controller=e,this.component=n,this.timer=r,this.sizes=i,this.camera=o,this.world=a,this.renderer=v,this.debug=g,this._initProxyEvents(),typeof(self==null?void 0:self.addEventListener)=="function"&&self.addEventListener("message",this._onMessage.bind(this))}_initProxyEvents(){Ye.forEach(e=>{this[`${e}$`]=()=>{var n;return(n=this.controller)==null?void 0:n[`${e}$`]},this[e]=n=>{var r,i;return(i=(r=this.controller)==null?void 0:r[e])==null?void 0:i.call(r,n)}})}_onMessage(e){var o,a,v,g;if(!((o=e.data)!=null&&o.canvas)||this.component.initialized)return;const n=!!((a=e.data)!=null&&a.startTimer),r=!!((v=e.data)!=null&&v.withMiniCamera),i=!!((g=e.data)!=null&&g.fullScreen);this.init({...e.data,startTimer:n,withMiniCamera:r,fullScreen:i})}init(e){if(!e.canvas||this.component.initialized)return;this.component.initialized=!0,e.canvas.style={width:e.canvas.width+"",height:e.canvas.height+""};const n=e.canvas;this.component.canvas=n,this.sizes.init(n),this.camera.init(e.withMiniCamera),this.world.init(),this.renderer.init(n),this.timer.init(e.startTimer),this.debug.init(e),this.controller.lifecycle$$.next(q.INITIALIZED)}get canvas(){return this.component.canvas}get initialized(){return this.component.initialized}isInitialized(){return this.component.initialized}dispose(){this.sizes.dispose(),this.camera.dispose(),this.world.dispose(),this.renderer.dispose(),this.timer.dispose(),this.debug.dispose(),this.controller.lifecycle$$.next(q.DISPOSED),this.controller.lifecycle$$.complete(),typeof self<"u"&&self.removeEventListener("message",this._onMessage.bind(this))}lifecycle$(){return this.controller.lifecycle$}};exports.AppModule=Ji([M(),U(0,P(ee)),U(1,P(J)),U(2,P(Te)),U(3,P(Ae)),U(4,P(Re)),U(5,P(ze)),U(6,P(xe)),U(7,P(He))],exports.AppModule);const er=Ve.resolve(exports.AppModule);exports.AppLifecycleState=q;exports.AppProxyEventHandlersModel=jt;exports.DefaultCameraType=ue;exports.KEYBOARD_EVENT_CODES=Sn;exports.Lifecycle=A;exports.PROXY_EVENT_LISTENERS=Ye;exports.ProxyEventHandlersModel=Dt;exports.ProxyEventObservablesModel=Mt;exports.ProxyEventSubjectsModel=$t;exports.RegisterLifecycleState=Rt;exports.appModule=er;exports.getDefaultExportFromCjs=hn;exports.inject=P;exports.injectable=Et;exports.instance=Ve;exports.singleton=M;