@tomorrowevening/hermes 0.0.69 → 0.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hermes.es.js CHANGED
@@ -1,7 +1,7 @@
1
- import { EventDispatcher as pn, Texture as gn, CubeTexture as Yn, RepeatWrapping as qt, WebGLRenderTarget as Hn, Color as $t, FrontSide as Vn, BackSide as vn, DoubleSide as bn, NoBlending as qn, NormalBlending as Kn, AdditiveBlending as Xn, SubtractiveBlending as Zn, MultiplyBlending as Jn, CustomBlending as Qn, AddEquation as ea, SubtractEquation as ta, ReverseSubtractEquation as na, MinEquation as aa, MaxEquation as ia, ZeroFactor as yn, OneFactor as En, SrcColorFactor as xn, OneMinusSrcColorFactor as Sn, SrcAlphaFactor as Cn, OneMinusSrcAlphaFactor as wn, DstAlphaFactor as Mn, OneMinusDstAlphaFactor as On, DstColorFactor as Tn, OneMinusDstColorFactor as Rn, SrcAlphaSaturateFactor as ra, ConstantColorFactor as _n, OneMinusConstantColorFactor as kn, ConstantAlphaFactor as Dn, OneMinusConstantAlphaFactor as Pn, Matrix4 as sa, Vector3 as J, Euler as oa, Line as ca, BufferGeometry as Kt, Float32BufferAttribute as Xt, LineBasicMaterial as la, Mesh as An, MeshBasicMaterial as jn, Ray as ua, Plane as da, MathUtils as ha, MOUSE as nt, TOUCH as at, Quaternion as Zt, Spherical as Jt, Vector2 as me, ShaderMaterial as In, GLSL3 as fa, PlaneGeometry as ma, Scene as pa, Group as ga, AxesHelper as Qt, MeshDepthMaterial as va, MeshNormalMaterial as ba, WebGLRenderer as ya, PerspectiveCamera as At, Raycaster as Ea, OrthographicCamera as en, CameraHelper as xa, SpotLightHelper as Sa, PointLightHelper as Ca, HemisphereLightHelper as wa, DirectionalLightHelper as Ma } from "three";
1
+ import { EventDispatcher as pn, Texture as gn, CubeTexture as Hn, RepeatWrapping as qt, WebGLRenderTarget as Yn, Color as $t, FrontSide as Vn, BackSide as vn, DoubleSide as bn, NoBlending as qn, NormalBlending as Kn, AdditiveBlending as Xn, SubtractiveBlending as Zn, MultiplyBlending as Jn, CustomBlending as Qn, AddEquation as ea, SubtractEquation as ta, ReverseSubtractEquation as na, MinEquation as aa, MaxEquation as ia, ZeroFactor as yn, OneFactor as En, SrcColorFactor as xn, OneMinusSrcColorFactor as Sn, SrcAlphaFactor as Cn, OneMinusSrcAlphaFactor as wn, DstAlphaFactor as Mn, OneMinusDstAlphaFactor as On, DstColorFactor as Tn, OneMinusDstColorFactor as Rn, SrcAlphaSaturateFactor as ra, ConstantColorFactor as _n, OneMinusConstantColorFactor as kn, ConstantAlphaFactor as Dn, OneMinusConstantAlphaFactor as Pn, Matrix4 as sa, Vector3 as J, Euler as oa, Line as ca, BufferGeometry as Kt, Float32BufferAttribute as Xt, LineBasicMaterial as la, Mesh as An, MeshBasicMaterial as jn, Ray as ua, Plane as da, MathUtils as ha, MOUSE as nt, TOUCH as at, Quaternion as Zt, Spherical as Jt, Vector2 as me, ShaderMaterial as In, GLSL3 as fa, PlaneGeometry as ma, Scene as pa, Group as ga, AxesHelper as Qt, MeshDepthMaterial as va, MeshNormalMaterial as ba, WebGLRenderer as ya, PerspectiveCamera as At, Raycaster as Ea, OrthographicCamera as en, CameraHelper as xa, SpotLightHelper as Sa, PointLightHelper as Ca, HemisphereLightHelper as wa, DirectionalLightHelper as Ma } from "three";
2
2
  import { Pane as Oa } from "tweakpane";
3
3
  import * as Ta from "@tweakpane/plugin-essentials";
4
- import Nn, { useState as Y, useRef as H, useEffect as Re, useMemo as se, forwardRef as Ra } from "react";
4
+ import Nn, { useState as H, useRef as Y, useEffect as Re, useMemo as se, forwardRef as Ra } from "react";
5
5
  import { Reorder as Ln } from "framer-motion";
6
6
  const zt = () => {
7
7
  }, Di = () => {
@@ -44,7 +44,7 @@ const rn = () => {
44
44
  }, Bt = (e) => {
45
45
  if (!e)
46
46
  return;
47
- let n = e.name.replace(" ", "");
47
+ let n = e.name.replaceAll(" ", "").replaceAll("/", ".");
48
48
  n.length === 0 && (n = `obj_${Lt}`, Lt++), e.parent !== null && e.parent.uuid.length > 0 && (n = `${e.parent.uuid}.${n}`), e.uuid = n, e.children.forEach((a) => {
49
49
  Bt(a);
50
50
  });
@@ -267,8 +267,8 @@ class Gt extends Rt {
267
267
  }
268
268
  });
269
269
  }
270
- const p = this.sheetObjectCBs.get(h);
271
- p !== void 0 && p(m);
270
+ const v = this.sheetObjectCBs.get(h);
271
+ v !== void 0 && v(m);
272
272
  });
273
273
  return this.sheetObjectUnsubscribe.set(h, f), u;
274
274
  }
@@ -476,7 +476,7 @@ function it(e) {
476
476
  repeat: [i.repeat.x, i.repeat.y]
477
477
  };
478
478
  } else
479
- i instanceof Yn && (console.log("env map"), console.log(i.source.data), console.log(i.source.toJSON()), n[a] = {
479
+ i instanceof Hn && (console.log("env map"), console.log(i.source.data), console.log(i.source.toJSON()), n[a] = {
480
480
  src: "",
481
481
  offset: [i.offset.x, i.offset.y],
482
482
  repeat: [i.repeat.x, i.repeat.y]
@@ -597,6 +597,10 @@ function La(e, n) {
597
597
  e[a] = n[a];
598
598
  }
599
599
  function ee(e, n, a) {
600
+ if (e === void 0) {
601
+ console.log(`Hermes - Can't set props: ${n}`, a);
602
+ return;
603
+ }
600
604
  const t = n.split("."), i = t.length;
601
605
  if (typeof a != "object")
602
606
  switch (i) {
@@ -734,8 +738,8 @@ class Li extends Rt {
734
738
  }
735
739
  getScene(n) {
736
740
  let a = null;
737
- return this.scenes.forEach((t) => {
738
- n.search(t.uuid) > -1 && (a = t);
741
+ return this.scenes.forEach((t, i) => {
742
+ n.search(i) > -1 && (a = t);
739
743
  }), a;
740
744
  }
741
745
  setScene(n) {
@@ -811,7 +815,7 @@ class Li extends Rt {
811
815
  rendererWidth = 300;
812
816
  rendererHeight = 150;
813
817
  addRT(n, a) {
814
- const t = new Hn(32, 32, a);
818
+ const t = new Yn(32, 32, a);
815
819
  t.texture.name = n, this.renderTargets.set(n, t);
816
820
  }
817
821
  resize(n, a) {
@@ -971,14 +975,14 @@ function Ba() {
971
975
  sn = 1;
972
976
  var e = Nn, n = Symbol.for("react.element"), a = Symbol.for("react.fragment"), t = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, o = { key: !0, ref: !0, __self: !0, __source: !0 };
973
977
  function d(r, h, u) {
974
- var f, m = {}, p = null, S = null;
975
- u !== void 0 && (p = "" + u), h.key !== void 0 && (p = "" + h.key), h.ref !== void 0 && (S = h.ref);
978
+ var f, m = {}, v = null, S = null;
979
+ u !== void 0 && (v = "" + u), h.key !== void 0 && (v = "" + h.key), h.ref !== void 0 && (S = h.ref);
976
980
  for (f in h)
977
981
  t.call(h, f) && !o.hasOwnProperty(f) && (m[f] = h[f]);
978
982
  if (r && r.defaultProps)
979
983
  for (f in h = r.defaultProps, h)
980
984
  m[f] === void 0 && (m[f] = h[f]);
981
- return { $$typeof: n, type: r, key: p, ref: S, props: m, _owner: i.current };
985
+ return { $$typeof: n, type: r, key: v, ref: S, props: m, _owner: i.current };
982
986
  }
983
987
  return lt.Fragment = a, lt.jsx = d, lt.jsxs = d, lt;
984
988
  }
@@ -995,45 +999,45 @@ var ut = {};
995
999
  var on;
996
1000
  function Fa() {
997
1001
  return on || (on = 1, process.env.NODE_ENV !== "production" && function() {
998
- var e = Nn, n = Symbol.for("react.element"), a = Symbol.for("react.portal"), t = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), d = Symbol.for("react.provider"), r = Symbol.for("react.context"), h = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), m = Symbol.for("react.memo"), p = Symbol.for("react.lazy"), S = Symbol.for("react.offscreen"), A = Symbol.iterator, F = "@@iterator";
1002
+ var e = Nn, n = Symbol.for("react.element"), a = Symbol.for("react.portal"), t = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), d = Symbol.for("react.provider"), r = Symbol.for("react.context"), h = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), m = Symbol.for("react.memo"), v = Symbol.for("react.lazy"), S = Symbol.for("react.offscreen"), A = Symbol.iterator, F = "@@iterator";
999
1003
  function V(s) {
1000
1004
  if (s === null || typeof s != "object")
1001
1005
  return null;
1002
- var g = A && s[A] || s[F];
1003
- return typeof g == "function" ? g : null;
1006
+ var p = A && s[A] || s[F];
1007
+ return typeof p == "function" ? p : null;
1004
1008
  }
1005
1009
  var R = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
1006
1010
  function I(s) {
1007
1011
  {
1008
- for (var g = arguments.length, y = new Array(g > 1 ? g - 1 : 0), w = 1; w < g; w++)
1012
+ for (var p = arguments.length, y = new Array(p > 1 ? p - 1 : 0), w = 1; w < p; w++)
1009
1013
  y[w - 1] = arguments[w];
1010
1014
  T("error", s, y);
1011
1015
  }
1012
1016
  }
1013
- function T(s, g, y) {
1017
+ function T(s, p, y) {
1014
1018
  {
1015
1019
  var w = R.ReactDebugCurrentFrame, $ = w.getStackAddendum();
1016
- $ !== "" && (g += "%s", y = y.concat([$]));
1020
+ $ !== "" && (p += "%s", y = y.concat([$]));
1017
1021
  var W = y.map(function(L) {
1018
1022
  return String(L);
1019
1023
  });
1020
- W.unshift("Warning: " + g), Function.prototype.apply.call(console[s], console, W);
1024
+ W.unshift("Warning: " + p), Function.prototype.apply.call(console[s], console, W);
1021
1025
  }
1022
1026
  }
1023
1027
  var Z = !1, te = !1, pe = !1, q = !1, ge = !1, ce;
1024
1028
  ce = Symbol.for("react.module.reference");
1025
1029
  function _e(s) {
1026
- return !!(typeof s == "string" || typeof s == "function" || s === t || s === o || ge || s === i || s === u || s === f || q || s === S || Z || te || pe || typeof s == "object" && s !== null && (s.$$typeof === p || s.$$typeof === m || s.$$typeof === d || s.$$typeof === r || s.$$typeof === h || // This needs to include all possible module reference object
1030
+ return !!(typeof s == "string" || typeof s == "function" || s === t || s === o || ge || s === i || s === u || s === f || q || s === S || Z || te || pe || typeof s == "object" && s !== null && (s.$$typeof === v || s.$$typeof === m || s.$$typeof === d || s.$$typeof === r || s.$$typeof === h || // This needs to include all possible module reference object
1027
1031
  // types supported by any Flight configuration anywhere since
1028
1032
  // we don't know which Flight build this will end up being used
1029
1033
  // with.
1030
1034
  s.$$typeof === ce || s.getModuleId !== void 0));
1031
1035
  }
1032
- function ke(s, g, y) {
1036
+ function ke(s, p, y) {
1033
1037
  var w = s.displayName;
1034
1038
  if (w)
1035
1039
  return w;
1036
- var $ = g.displayName || g.name || "";
1040
+ var $ = p.displayName || p.name || "";
1037
1041
  return $ !== "" ? y + "(" + $ + ")" : y;
1038
1042
  }
1039
1043
  function be(s) {
@@ -1063,8 +1067,8 @@ function Fa() {
1063
1067
  if (typeof s == "object")
1064
1068
  switch (s.$$typeof) {
1065
1069
  case r:
1066
- var g = s;
1067
- return be(g) + ".Consumer";
1070
+ var p = s;
1071
+ return be(p) + ".Consumer";
1068
1072
  case d:
1069
1073
  var y = s;
1070
1074
  return be(y._context) + ".Provider";
@@ -1073,7 +1077,7 @@ function Fa() {
1073
1077
  case m:
1074
1078
  var w = s.displayName || null;
1075
1079
  return w !== null ? w : U(s.type) || "Memo";
1076
- case p: {
1080
+ case v: {
1077
1081
  var $ = s, W = $._payload, L = $._init;
1078
1082
  try {
1079
1083
  return U(L(W));
@@ -1146,27 +1150,27 @@ function Fa() {
1146
1150
  O < 0 && I("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
1147
1151
  }
1148
1152
  }
1149
- var Ye = R.ReactCurrentDispatcher, He;
1150
- function ue(s, g, y) {
1153
+ var He = R.ReactCurrentDispatcher, Ye;
1154
+ function ue(s, p, y) {
1151
1155
  {
1152
- if (He === void 0)
1156
+ if (Ye === void 0)
1153
1157
  try {
1154
1158
  throw Error();
1155
1159
  } catch ($) {
1156
1160
  var w = $.stack.trim().match(/\n( *(at )?)/);
1157
- He = w && w[1] || "";
1161
+ Ye = w && w[1] || "";
1158
1162
  }
1159
1163
  return `
1160
- ` + He + s;
1164
+ ` + Ye + s;
1161
1165
  }
1162
1166
  }
1163
- var v = !1, b;
1167
+ var g = !1, b;
1164
1168
  {
1165
1169
  var M = typeof WeakMap == "function" ? WeakMap : Map;
1166
1170
  b = new M();
1167
1171
  }
1168
- function N(s, g) {
1169
- if (!s || v)
1172
+ function N(s, p) {
1173
+ if (!s || g)
1170
1174
  return "";
1171
1175
  {
1172
1176
  var y = b.get(s);
@@ -1174,13 +1178,13 @@ function Fa() {
1174
1178
  return y;
1175
1179
  }
1176
1180
  var w;
1177
- v = !0;
1181
+ g = !0;
1178
1182
  var $ = Error.prepareStackTrace;
1179
1183
  Error.prepareStackTrace = void 0;
1180
1184
  var W;
1181
- W = Ye.current, Ye.current = null, re();
1185
+ W = He.current, He.current = null, re();
1182
1186
  try {
1183
- if (g) {
1187
+ if (p) {
1184
1188
  var L = function() {
1185
1189
  throw Error();
1186
1190
  };
@@ -1231,19 +1235,19 @@ function Fa() {
1231
1235
  }
1232
1236
  }
1233
1237
  } finally {
1234
- v = !1, Ye.current = W, Me(), Error.prepareStackTrace = $;
1238
+ g = !1, He.current = W, Me(), Error.prepareStackTrace = $;
1235
1239
  }
1236
1240
  var tt = s ? s.displayName || s.name : "", Vt = tt ? ue(tt) : "";
1237
1241
  return typeof s == "function" && b.set(s, Vt), Vt;
1238
1242
  }
1239
- function ve(s, g, y) {
1243
+ function ve(s, p, y) {
1240
1244
  return N(s, !1);
1241
1245
  }
1242
1246
  function le(s) {
1243
- var g = s.prototype;
1244
- return !!(g && g.isReactComponent);
1247
+ var p = s.prototype;
1248
+ return !!(p && p.isReactComponent);
1245
1249
  }
1246
- function C(s, g, y) {
1250
+ function C(s, p, y) {
1247
1251
  if (s == null)
1248
1252
  return "";
1249
1253
  if (typeof s == "function")
@@ -1261,11 +1265,11 @@ function Fa() {
1261
1265
  case h:
1262
1266
  return ve(s.render);
1263
1267
  case m:
1264
- return C(s.type, g, y);
1265
- case p: {
1268
+ return C(s.type, p, y);
1269
+ case v: {
1266
1270
  var w = s, $ = w._payload, W = w._init;
1267
1271
  try {
1268
- return C(W($), g, y);
1272
+ return C(W($), p, y);
1269
1273
  } catch {
1270
1274
  }
1271
1275
  }
@@ -1275,12 +1279,12 @@ function Fa() {
1275
1279
  var x = Object.prototype.hasOwnProperty, G = {}, ne = R.ReactDebugCurrentFrame;
1276
1280
  function _(s) {
1277
1281
  if (s) {
1278
- var g = s._owner, y = C(s.type, s._source, g ? g.type : null);
1282
+ var p = s._owner, y = C(s.type, s._source, p ? p.type : null);
1279
1283
  ne.setExtraStackFrame(y);
1280
1284
  } else
1281
1285
  ne.setExtraStackFrame(null);
1282
1286
  }
1283
- function z(s, g, y, w, $) {
1287
+ function z(s, p, y, w, $) {
1284
1288
  {
1285
1289
  var W = Function.call.bind(x);
1286
1290
  for (var L in s)
@@ -1291,7 +1295,7 @@ function Fa() {
1291
1295
  var he = Error((w || "React class") + ": " + y + " type `" + L + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof s[L] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
1292
1296
  throw he.name = "Invariant Violation", he;
1293
1297
  }
1294
- j = s[L](g, L, w, y, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
1298
+ j = s[L](p, L, w, y, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
1295
1299
  } catch (Q) {
1296
1300
  j = Q;
1297
1301
  }
@@ -1305,7 +1309,7 @@ function Fa() {
1305
1309
  }
1306
1310
  function Je(s) {
1307
1311
  {
1308
- var g = typeof Symbol == "function" && Symbol.toStringTag, y = g && s[Symbol.toStringTag] || s.constructor.name || "Object";
1312
+ var p = typeof Symbol == "function" && Symbol.toStringTag, y = p && s[Symbol.toStringTag] || s.constructor.name || "Object";
1309
1313
  return y;
1310
1314
  }
1311
1315
  }
@@ -1332,30 +1336,30 @@ function Fa() {
1332
1336
  Qe = {};
1333
1337
  function kt(s) {
1334
1338
  if (x.call(s, "ref")) {
1335
- var g = Object.getOwnPropertyDescriptor(s, "ref").get;
1336
- if (g && g.isReactWarning)
1339
+ var p = Object.getOwnPropertyDescriptor(s, "ref").get;
1340
+ if (p && p.isReactWarning)
1337
1341
  return !1;
1338
1342
  }
1339
1343
  return s.ref !== void 0;
1340
1344
  }
1341
1345
  function Dt(s) {
1342
1346
  if (x.call(s, "key")) {
1343
- var g = Object.getOwnPropertyDescriptor(s, "key").get;
1344
- if (g && g.isReactWarning)
1347
+ var p = Object.getOwnPropertyDescriptor(s, "key").get;
1348
+ if (p && p.isReactWarning)
1345
1349
  return !1;
1346
1350
  }
1347
1351
  return s.key !== void 0;
1348
1352
  }
1349
- function Pt(s, g) {
1350
- if (typeof s.ref == "string" && Ue.current && g && Ue.current.stateNode !== g) {
1353
+ function Pt(s, p) {
1354
+ if (typeof s.ref == "string" && Ue.current && p && Ue.current.stateNode !== p) {
1351
1355
  var y = U(Ue.current.type);
1352
1356
  Qe[y] || (I('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', U(Ue.current.type), s.ref), Qe[y] = !0);
1353
1357
  }
1354
1358
  }
1355
- function gt(s, g) {
1359
+ function gt(s, p) {
1356
1360
  {
1357
1361
  var y = function() {
1358
- ct || (ct = !0, I("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
1362
+ ct || (ct = !0, I("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", p));
1359
1363
  };
1360
1364
  y.isReactWarning = !0, Object.defineProperty(s, "key", {
1361
1365
  get: y,
@@ -1363,10 +1367,10 @@ function Fa() {
1363
1367
  });
1364
1368
  }
1365
1369
  }
1366
- function $e(s, g) {
1370
+ function $e(s, p) {
1367
1371
  {
1368
1372
  var y = function() {
1369
- pt || (pt = !0, I("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
1373
+ pt || (pt = !0, I("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", p));
1370
1374
  };
1371
1375
  y.isReactWarning = !0, Object.defineProperty(s, "ref", {
1372
1376
  get: y,
@@ -1374,13 +1378,13 @@ function Fa() {
1374
1378
  });
1375
1379
  }
1376
1380
  }
1377
- var Yt = function(s, g, y, w, $, W, L) {
1381
+ var Ht = function(s, p, y, w, $, W, L) {
1378
1382
  var j = {
1379
1383
  // This tag allows us to uniquely identify this as a React Element
1380
1384
  $$typeof: n,
1381
1385
  // Built-in properties that belong on the element
1382
1386
  type: s,
1383
- key: g,
1387
+ key: p,
1384
1388
  ref: y,
1385
1389
  props: L,
1386
1390
  // Record the component responsible for creating this element.
@@ -1403,12 +1407,12 @@ function Fa() {
1403
1407
  value: $
1404
1408
  }), Object.freeze && (Object.freeze(j.props), Object.freeze(j)), j;
1405
1409
  };
1406
- function c(s, g, y, w, $) {
1410
+ function c(s, p, y, w, $) {
1407
1411
  {
1408
1412
  var W, L = {}, j = null, he = null;
1409
- y !== void 0 && (st(y), j = "" + y), Dt(g) && (st(g.key), j = "" + g.key), kt(g) && (he = g.ref, Pt(g, $));
1410
- for (W in g)
1411
- x.call(g, W) && !ot.hasOwnProperty(W) && (L[W] = g[W]);
1413
+ y !== void 0 && (st(y), j = "" + y), Dt(p) && (st(p.key), j = "" + p.key), kt(p) && (he = p.ref, Pt(p, $));
1414
+ for (W in p)
1415
+ x.call(p, W) && !ot.hasOwnProperty(W) && (L[W] = p[W]);
1412
1416
  if (s && s.defaultProps) {
1413
1417
  var Q = s.defaultProps;
1414
1418
  for (W in Q)
@@ -1418,13 +1422,13 @@ function Fa() {
1418
1422
  var ae = typeof s == "function" ? s.displayName || s.name || "Unknown" : s;
1419
1423
  j && gt(L, ae), he && $e(L, ae);
1420
1424
  }
1421
- return Yt(s, j, he, $, w, Ue.current, L);
1425
+ return Ht(s, j, he, $, w, Ue.current, L);
1422
1426
  }
1423
1427
  }
1424
1428
  var E = R.ReactCurrentOwner, k = R.ReactDebugCurrentFrame;
1425
1429
  function B(s) {
1426
1430
  if (s) {
1427
- var g = s._owner, y = C(s.type, s._source, g ? g.type : null);
1431
+ var p = s._owner, y = C(s.type, s._source, p ? p.type : null);
1428
1432
  k.setExtraStackFrame(y);
1429
1433
  } else
1430
1434
  k.setExtraStackFrame(null);
@@ -1446,13 +1450,13 @@ Check the render method of \`` + s + "`.";
1446
1450
  return "";
1447
1451
  }
1448
1452
  }
1449
- function Ht(s) {
1453
+ function Yt(s) {
1450
1454
  {
1451
1455
  if (s !== void 0) {
1452
- var g = s.fileName.replace(/^.*[\\\/]/, ""), y = s.lineNumber;
1456
+ var p = s.fileName.replace(/^.*[\\\/]/, ""), y = s.lineNumber;
1453
1457
  return `
1454
1458
 
1455
- Check your code at ` + g + ":" + y + ".";
1459
+ Check your code at ` + p + ":" + y + ".";
1456
1460
  }
1457
1461
  return "";
1458
1462
  }
@@ -1460,22 +1464,22 @@ Check your code at ` + g + ":" + y + ".";
1460
1464
  var vt = {};
1461
1465
  function bt(s) {
1462
1466
  {
1463
- var g = de();
1464
- if (!g) {
1467
+ var p = de();
1468
+ if (!p) {
1465
1469
  var y = typeof s == "string" ? s : s.displayName || s.name;
1466
- y && (g = `
1470
+ y && (p = `
1467
1471
 
1468
1472
  Check the top-level render call using <` + y + ">.");
1469
1473
  }
1470
- return g;
1474
+ return p;
1471
1475
  }
1472
1476
  }
1473
- function xe(s, g) {
1477
+ function xe(s, p) {
1474
1478
  {
1475
1479
  if (!s._store || s._store.validated || s.key != null)
1476
1480
  return;
1477
1481
  s._store.validated = !0;
1478
- var y = bt(g);
1482
+ var y = bt(p);
1479
1483
  if (vt[y])
1480
1484
  return;
1481
1485
  vt[y] = !0;
@@ -1483,14 +1487,14 @@ Check the top-level render call using <` + y + ">.");
1483
1487
  s && s._owner && s._owner !== E.current && (w = " It was passed a child from " + U(s._owner.type) + "."), B(s), I('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', y, w), B(null);
1484
1488
  }
1485
1489
  }
1486
- function Se(s, g) {
1490
+ function Se(s, p) {
1487
1491
  {
1488
1492
  if (typeof s != "object")
1489
1493
  return;
1490
1494
  if (Ne(s))
1491
1495
  for (var y = 0; y < s.length; y++) {
1492
1496
  var w = s[y];
1493
- Ee(w) && xe(w, g);
1497
+ Ee(w) && xe(w, p);
1494
1498
  }
1495
1499
  else if (Ee(s))
1496
1500
  s._store && (s._store.validated = !0);
@@ -1498,39 +1502,39 @@ Check the top-level render call using <` + y + ">.");
1498
1502
  var $ = V(s);
1499
1503
  if (typeof $ == "function" && $ !== s.entries)
1500
1504
  for (var W = $.call(s), L; !(L = W.next()).done; )
1501
- Ee(L.value) && xe(L.value, g);
1505
+ Ee(L.value) && xe(L.value, p);
1502
1506
  }
1503
1507
  }
1504
1508
  }
1505
1509
  function Ve(s) {
1506
1510
  {
1507
- var g = s.type;
1508
- if (g == null || typeof g == "string")
1511
+ var p = s.type;
1512
+ if (p == null || typeof p == "string")
1509
1513
  return;
1510
1514
  var y;
1511
- if (typeof g == "function")
1512
- y = g.propTypes;
1513
- else if (typeof g == "object" && (g.$$typeof === h || // Note: Memo only checks outer props here.
1515
+ if (typeof p == "function")
1516
+ y = p.propTypes;
1517
+ else if (typeof p == "object" && (p.$$typeof === h || // Note: Memo only checks outer props here.
1514
1518
  // Inner props are checked in the reconciler.
1515
- g.$$typeof === m))
1516
- y = g.propTypes;
1519
+ p.$$typeof === m))
1520
+ y = p.propTypes;
1517
1521
  else
1518
1522
  return;
1519
1523
  if (y) {
1520
- var w = U(g);
1524
+ var w = U(p);
1521
1525
  z(y, s.props, "prop", w, s);
1522
- } else if (g.PropTypes !== void 0 && !ie) {
1526
+ } else if (p.PropTypes !== void 0 && !ie) {
1523
1527
  ie = !0;
1524
- var $ = U(g);
1528
+ var $ = U(p);
1525
1529
  I("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", $ || "Unknown");
1526
1530
  }
1527
- typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && I("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
1531
+ typeof p.getDefaultProps == "function" && !p.getDefaultProps.isReactClassApproved && I("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
1528
1532
  }
1529
1533
  }
1530
1534
  function Oe(s) {
1531
1535
  {
1532
- for (var g = Object.keys(s.props), y = 0; y < g.length; y++) {
1533
- var w = g[y];
1536
+ for (var p = Object.keys(s.props), y = 0; y < p.length; y++) {
1537
+ var w = p[y];
1534
1538
  if (w !== "children" && w !== "key") {
1535
1539
  B(s), I("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", w), B(null);
1536
1540
  break;
@@ -1539,22 +1543,22 @@ Check the top-level render call using <` + y + ">.");
1539
1543
  s.ref !== null && (B(s), I("Invalid attribute `ref` supplied to `React.Fragment`."), B(null));
1540
1544
  }
1541
1545
  }
1542
- function ze(s, g, y, w, $, W) {
1546
+ function ze(s, p, y, w, $, W) {
1543
1547
  {
1544
1548
  var L = _e(s);
1545
1549
  if (!L) {
1546
1550
  var j = "";
1547
1551
  (s === void 0 || typeof s == "object" && s !== null && Object.keys(s).length === 0) && (j += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
1548
- var he = Ht($);
1552
+ var he = Yt($);
1549
1553
  he ? j += he : j += de();
1550
1554
  var Q;
1551
1555
  s === null ? Q = "null" : Ne(s) ? Q = "array" : s !== void 0 && s.$$typeof === n ? (Q = "<" + (U(s.type) || "Unknown") + " />", j = " Did you accidentally export a JSX literal instead of a component?") : Q = typeof s, I("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Q, j);
1552
1556
  }
1553
- var ae = c(s, g, y, $, W);
1557
+ var ae = c(s, p, y, $, W);
1554
1558
  if (ae == null)
1555
1559
  return ae;
1556
1560
  if (L) {
1557
- var Ce = g.children;
1561
+ var Ce = p.children;
1558
1562
  if (Ce !== void 0)
1559
1563
  if (w)
1560
1564
  if (Ne(Ce)) {
@@ -1569,11 +1573,11 @@ Check the top-level render call using <` + y + ">.");
1569
1573
  return s === t ? Oe(ae) : Ve(ae), ae;
1570
1574
  }
1571
1575
  }
1572
- function et(s, g, y) {
1573
- return ze(s, g, y, !0);
1576
+ function et(s, p, y) {
1577
+ return ze(s, p, y, !0);
1574
1578
  }
1575
- function yt(s, g, y) {
1576
- return ze(s, g, y, !1);
1579
+ function yt(s, p, y) {
1580
+ return ze(s, p, y, !1);
1577
1581
  }
1578
1582
  var Gn = yt, Wn = et;
1579
1583
  ut.Fragment = t, ut.jsx = Gn, ut.jsxs = Wn;
@@ -1606,7 +1610,7 @@ function za(e) {
1606
1610
  ] }) }, e.title);
1607
1611
  }
1608
1612
  function Ga(e) {
1609
- const [n, a] = Y(!1), [t, i] = Y(e.options), o = (u) => {
1613
+ const [n, a] = H(!1), [t, i] = H(e.options), o = (u) => {
1610
1614
  e.onDragComplete(u), i(u);
1611
1615
  }, d = (u) => {
1612
1616
  const f = [...t];
@@ -1622,9 +1626,9 @@ function Ga(e) {
1622
1626
  ] });
1623
1627
  }
1624
1628
  function Wa(e) {
1625
- const [n, a] = Y(!1), t = [];
1629
+ const [n, a] = H(!1), t = [];
1626
1630
  e.options.map((o, d) => {
1627
- e.onSelect !== void 0 && (o.onSelect = e.onSelect), t.push(/* @__PURE__ */ l.jsx(Ya, { option: o }, d));
1631
+ e.onSelect !== void 0 && (o.onSelect = e.onSelect), t.push(/* @__PURE__ */ l.jsx(Ha, { option: o }, d));
1628
1632
  });
1629
1633
  let i = "dropdown";
1630
1634
  return e.subdropdown && (i += " subdropdown"), /* @__PURE__ */ l.jsxs(
@@ -1646,8 +1650,8 @@ function Wa(e) {
1646
1650
  }
1647
1651
  );
1648
1652
  }
1649
- function Ya(e) {
1650
- const { option: n } = e, [a, t] = Y("");
1653
+ function Ha(e) {
1654
+ const { option: n } = e, [a, t] = H("");
1651
1655
  let i;
1652
1656
  switch (n.type) {
1653
1657
  case "draggable":
@@ -1712,7 +1716,7 @@ function Fi(e, n, a) {
1712
1716
  };
1713
1717
  }
1714
1718
  function Wt(e) {
1715
- const [n, a] = Y(e.open !== void 0 ? e.open : !0), t = !n || e.children === void 0;
1719
+ const [n, a] = H(e.open !== void 0 ? e.open : !0), t = !n || e.children === void 0;
1716
1720
  return /* @__PURE__ */ l.jsxs("div", { className: `accordion ${t ? "hide" : ""}`, children: [
1717
1721
  /* @__PURE__ */ l.jsxs(
1718
1722
  "button",
@@ -1739,7 +1743,7 @@ function Wt(e) {
1739
1743
  ] });
1740
1744
  }
1741
1745
  function Un(e) {
1742
- const n = H(null), [a, t] = Y(!1), i = e.child !== void 0 && e.child.children.length > 0, o = [];
1746
+ const n = Y(null), [a, t] = H(!1), i = e.child !== void 0 && e.child.children.length > 0, o = [];
1743
1747
  return e.child !== void 0 && e.child.children.length > 0 && e.child.children.map((d, r) => {
1744
1748
  o.push(/* @__PURE__ */ l.jsx(Un, { child: d, three: e.three }, r));
1745
1749
  }), Re(() => {
@@ -1788,8 +1792,10 @@ function Un(e) {
1788
1792
  if (r !== void 0) {
1789
1793
  const h = "visible", u = !r.visible;
1790
1794
  n.current.style.opacity = u ? "1" : "0.25", e.three.updateObject(e.child.uuid, h, u), ee(r, h, u);
1791
- }
1792
- }
1795
+ } else
1796
+ console.log(`Hermes - Couldn't find object: ${e.child.uuid}`, d);
1797
+ } else
1798
+ console.log(`Hermes - Couldn't find object in scene: ${e.child.uuid}, ${e.child.name}`);
1793
1799
  }
1794
1800
  }
1795
1801
  }
@@ -1799,30 +1805,30 @@ function Un(e) {
1799
1805
  /* @__PURE__ */ l.jsx("div", { className: a ? "open" : "", children: /* @__PURE__ */ l.jsx("div", { className: "container", children: o }) })
1800
1806
  ] }, Math.random()) });
1801
1807
  }
1802
- function Ha(e) {
1808
+ function Ya(e) {
1803
1809
  const n = [];
1804
1810
  return e.child?.children.map((a, t) => {
1805
1811
  n.push(/* @__PURE__ */ l.jsx(Un, { child: a, scene: e.scene, three: e.three }, t));
1806
1812
  }), /* @__PURE__ */ l.jsx("div", { className: `scene ${e.class !== void 0 ? e.class : ""}`, children: n });
1807
1813
  }
1808
1814
  function Va(e) {
1809
- const [n, a] = Y(e.defaultValue);
1815
+ const [n, a] = H(e.defaultValue);
1810
1816
  return Re(() => {
1811
1817
  let t = !1, i = -1, o = 0, d = e.defaultValue;
1812
- const r = (p) => {
1813
- t = !0, o = Number(e.input.current?.value), i = p.clientX, document.addEventListener("mouseup", u, !1), document.addEventListener("mousemove", h, !1), document.addEventListener("contextmenu", u, !1);
1814
- }, h = (p) => {
1818
+ const r = (v) => {
1819
+ t = !0, o = Number(e.input.current?.value), i = v.clientX, document.addEventListener("mouseup", u, !1), document.addEventListener("mousemove", h, !1), document.addEventListener("contextmenu", u, !1);
1820
+ }, h = (v) => {
1815
1821
  if (!t)
1816
1822
  return;
1817
- const S = e.step !== void 0 ? e.step : 1, A = (p.clientX - i) * S;
1823
+ const S = e.step !== void 0 ? e.step : 1, A = (v.clientX - i) * S;
1818
1824
  d = Number((o + A).toFixed(4)), e.min !== void 0 && (d = Math.max(d, e.min)), e.max !== void 0 && (d = Math.min(d, e.max)), e.onChange !== void 0 && e.onChange(d), a(d);
1819
1825
  }, u = () => {
1820
1826
  t = !1, document.removeEventListener("mouseup", u), document.removeEventListener("mousemove", h), document.removeEventListener("contextmenu", u);
1821
- }, f = (p) => {
1822
- const S = Number(p.target.value);
1827
+ }, f = (v) => {
1828
+ const S = Number(v.target.value);
1823
1829
  a(S);
1824
- }, m = (p) => {
1825
- const S = Number(p.target.value);
1830
+ }, m = (v) => {
1831
+ const S = Number(v.target.value);
1826
1832
  e.onChange !== void 0 && e.onChange(S), a(S);
1827
1833
  };
1828
1834
  return e.input.current?.addEventListener("input", f), e.label.current?.addEventListener("mousedown", r, !1), e.sliderRef !== void 0 && e.sliderRef.current?.addEventListener("input", m), () => {
@@ -1831,7 +1837,7 @@ function Va(e) {
1831
1837
  }, []), n;
1832
1838
  }
1833
1839
  function Xe(e) {
1834
- const n = H(null), a = H(null), t = Va({
1840
+ const n = Y(null), a = Y(null), t = Va({
1835
1841
  label: e.labelRef,
1836
1842
  input: n,
1837
1843
  sliderRef: a,
@@ -1894,15 +1900,15 @@ function Xe(e) {
1894
1900
  ] });
1895
1901
  }
1896
1902
  function qa(e) {
1897
- const n = H(null), a = H(null), t = H(null), i = H(null), o = H(null), d = H(null), [r, h] = Y(e.value), [u, f] = Y({
1903
+ const n = Y(null), a = Y(null), t = Y(null), i = Y(null), o = Y(null), d = Y(null), [r, h] = H(e.value), [u, f] = H({
1898
1904
  min: Math.min(e.min, Math.min(e.value.x, e.value.y)),
1899
1905
  max: Math.max(e.max, Math.max(e.value.x, e.value.y))
1900
- }), [m, p] = Y(!1);
1906
+ }), [m, v] = H(!1);
1901
1907
  function S() {
1902
- m || (window.addEventListener("mousemove", F), window.addEventListener("mouseup", A), window.addEventListener("mouseup", A), p(!0));
1908
+ m || (window.addEventListener("mousemove", F), window.addEventListener("mouseup", A), window.addEventListener("mouseup", A), v(!0));
1903
1909
  }
1904
1910
  function A() {
1905
- window.removeEventListener("mousemove", F), window.removeEventListener("mouseup", A), p(!1);
1911
+ window.removeEventListener("mousemove", F), window.removeEventListener("mouseup", A), v(!1);
1906
1912
  }
1907
1913
  function F(T) {
1908
1914
  const Z = o.current.getBoundingClientRect(), te = Ke(0, 99, T.clientX - Z.left) / 99, pe = Ke(0, 99, T.clientY - Z.top) / 99, q = an(nn(u.min, u.max, te), 3), ge = an(nn(u.min, u.max, pe), 3);
@@ -1996,7 +2002,7 @@ function cn(e) {
1996
2002
  o[h] = u, e.onChange({ target: { value: o } });
1997
2003
  };
1998
2004
  ["x", "y", "z"].forEach((h) => {
1999
- const u = H(null);
2005
+ const u = Y(null);
2000
2006
  i.push(
2001
2007
  /* @__PURE__ */ l.jsxs("div", { children: [
2002
2008
  /* @__PURE__ */ l.jsx("label", { ref: u, children: h.toUpperCase() }),
@@ -2019,7 +2025,7 @@ function cn(e) {
2019
2025
  o[h] = u, e.onChange({ target: { value: o } });
2020
2026
  };
2021
2027
  ["_x", "_y", "_z"].forEach((h) => {
2022
- const u = H(null);
2028
+ const u = Y(null);
2023
2029
  i.push(
2024
2030
  /* @__PURE__ */ l.jsxs("div", { children: [
2025
2031
  /* @__PURE__ */ l.jsx("label", { ref: u, children: h.substring(1).toUpperCase() }),
@@ -2043,7 +2049,7 @@ function cn(e) {
2043
2049
  o.elements[u] = h, e.onChange({ target: { value: o } });
2044
2050
  };
2045
2051
  for (let r = 0; r < 9; r++) {
2046
- const h = H(null);
2052
+ const h = Y(null);
2047
2053
  i.push(
2048
2054
  /* @__PURE__ */ l.jsxs("div", { children: [
2049
2055
  /* @__PURE__ */ l.jsx("label", { ref: h, children: r + 1 }),
@@ -2071,7 +2077,7 @@ function Ka(e) {
2071
2077
  t[d] = r, e.onChange({ target: { value: t } });
2072
2078
  };
2073
2079
  ["x", "y", "z", "w"].forEach((d) => {
2074
- const r = H(null);
2080
+ const r = Y(null);
2075
2081
  a.push(
2076
2082
  /* @__PURE__ */ l.jsxs("div", { children: [
2077
2083
  /* @__PURE__ */ l.jsx("label", { ref: r, children: d.toUpperCase() }),
@@ -2095,7 +2101,7 @@ function Ka(e) {
2095
2101
  t.elements[r] = d, e.onChange({ target: { value: t } });
2096
2102
  };
2097
2103
  for (let o = 0; o < 16; o++) {
2098
- const d = H(null);
2104
+ const d = Y(null);
2099
2105
  a.push(
2100
2106
  /* @__PURE__ */ l.jsxs("div", { children: [
2101
2107
  /* @__PURE__ */ l.jsx("label", { ref: d, children: o + 1 }),
@@ -2584,7 +2590,7 @@ function ri(e, n, a, t) {
2584
2590
  const d = t.getScene(a.uuid);
2585
2591
  if (d !== null) {
2586
2592
  const r = d.getObjectByProperty("uuid", a.uuid);
2587
- r !== void 0 && ee(r, `material.${e}`, o);
2593
+ ee(r, `material.${e}`, o);
2588
2594
  }
2589
2595
  }
2590
2596
  };
@@ -2604,7 +2610,7 @@ function si(e, n, a, t) {
2604
2610
  const r = t.getScene(a.uuid);
2605
2611
  if (r !== null) {
2606
2612
  const h = r.getObjectByProperty("uuid", a.uuid);
2607
- h !== void 0 && ee(h, `material.${e}`, d);
2613
+ ee(h, `material.${e}`, d);
2608
2614
  }
2609
2615
  }
2610
2616
  };
@@ -2639,7 +2645,7 @@ function oi(e, n, a, t) {
2639
2645
  const h = t.getScene(a.uuid);
2640
2646
  if (h !== null) {
2641
2647
  const u = h.getObjectByProperty("uuid", a.uuid);
2642
- u !== void 0 && ee(u, `material.${e}`, r);
2648
+ ee(u, `material.${e}`, r);
2643
2649
  }
2644
2650
  },
2645
2651
  onKeyDown: (d) => {
@@ -2650,7 +2656,7 @@ function oi(e, n, a, t) {
2650
2656
  const h = t.getScene(a.uuid);
2651
2657
  if (h !== null) {
2652
2658
  const u = h.getObjectByProperty("uuid", a.uuid);
2653
- u !== void 0 && ee(u, `material.${e}`, r);
2659
+ ee(u, `material.${e}`, r);
2654
2660
  }
2655
2661
  }, i.onKeyDown = (d) => {
2656
2662
  if (d.key === "Enter" && (d.altKey || d.metaKey)) {
@@ -2658,7 +2664,7 @@ function oi(e, n, a, t) {
2658
2664
  const r = t.getScene(a.uuid);
2659
2665
  if (r !== null) {
2660
2666
  const h = r.getObjectByProperty("uuid", a.uuid);
2661
- h !== void 0 && ee(h, "material.needsUpdate", !0);
2667
+ ee(h, "material.needsUpdate", !0);
2662
2668
  }
2663
2669
  }
2664
2670
  }), i;
@@ -2688,8 +2694,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2688
2694
  t.updateObject(a.uuid, `material.${r}`, f);
2689
2695
  const m = t.getScene(a.uuid);
2690
2696
  if (m !== null) {
2691
- const p = m.getObjectByProperty("uuid", a.uuid);
2692
- p !== void 0 && ee(p, `material.${r}`, f);
2697
+ const v = m.getObjectByProperty("uuid", a.uuid);
2698
+ ee(v, `material.${r}`, f);
2693
2699
  }
2694
2700
  }
2695
2701
  };
@@ -2703,10 +2709,10 @@ function ht(e, n, a, t, i = "", o = !1) {
2703
2709
  disabled: o,
2704
2710
  onChange: (f, m) => {
2705
2711
  t.updateObject(a.uuid, `material.${r}`, m);
2706
- const p = t.getScene(a.uuid);
2707
- if (p !== null) {
2708
- const S = p.getObjectByProperty("uuid", a.uuid);
2709
- S !== void 0 && ee(S, `material.${r}`, m);
2712
+ const v = t.getScene(a.uuid);
2713
+ if (v !== null) {
2714
+ const S = v.getObjectByProperty("uuid", a.uuid);
2715
+ ee(S, `material.${r}`, m);
2710
2716
  }
2711
2717
  }
2712
2718
  };
@@ -2722,22 +2728,22 @@ function ht(e, n, a, t, i = "", o = !1) {
2722
2728
  onChange: (u, f) => {
2723
2729
  const m = new $t(f);
2724
2730
  t.updateObject(a.uuid, `material.${r}`, m);
2725
- const p = t.getScene(a.uuid);
2726
- if (p !== null) {
2727
- const S = p.getObjectByProperty("uuid", a.uuid);
2728
- S !== void 0 && ee(S, `material.${r}`, m);
2731
+ const v = t.getScene(a.uuid);
2732
+ if (v !== null) {
2733
+ const S = v.getObjectByProperty("uuid", a.uuid);
2734
+ ee(S, `material.${r}`, m);
2729
2735
  }
2730
2736
  }
2731
2737
  };
2732
2738
  if (Array.isArray(n)) {
2733
2739
  const u = [];
2734
2740
  for (const f in n) {
2735
- const m = n[f], p = `[${f.toString()}]`;
2741
+ const m = n[f], v = `[${f.toString()}]`;
2736
2742
  if (m.value !== void 0) {
2737
- const S = ht(`${p}.value`, m.value, a, t, r, o);
2743
+ const S = ht(`${v}.value`, m.value, a, t, r, o);
2738
2744
  S !== void 0 && u.push(S);
2739
2745
  } else {
2740
- const S = ht(p, m, a, t, r, o);
2746
+ const S = ht(v, m, a, t, r, o);
2741
2747
  S !== void 0 && u.push(S);
2742
2748
  }
2743
2749
  }
@@ -2758,8 +2764,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2758
2764
  t.updateObject(a.uuid, `material.${r}`, f);
2759
2765
  const m = t.getScene(a.uuid);
2760
2766
  if (m !== null) {
2761
- const p = m.getObjectByProperty("uuid", a.uuid);
2762
- p !== void 0 && ee(p, `material.${r}`, f);
2767
+ const v = m.getObjectByProperty("uuid", a.uuid);
2768
+ ee(v, `material.${r}`, f);
2763
2769
  }
2764
2770
  }
2765
2771
  };
@@ -2774,8 +2780,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2774
2780
  t.updateObject(a.uuid, `material.${r}`, f);
2775
2781
  const m = t.getScene(a.uuid);
2776
2782
  if (m !== null) {
2777
- const p = m.getObjectByProperty("uuid", a.uuid);
2778
- p !== void 0 && ee(p, `material.${r}`, f);
2783
+ const v = m.getObjectByProperty("uuid", a.uuid);
2784
+ ee(v, `material.${r}`, f);
2779
2785
  }
2780
2786
  }
2781
2787
  };
@@ -2790,8 +2796,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2790
2796
  t.updateObject(a.uuid, `material.${r}`, f);
2791
2797
  const m = t.getScene(a.uuid);
2792
2798
  if (m !== null) {
2793
- const p = m.getObjectByProperty("uuid", a.uuid);
2794
- p !== void 0 && ee(p, `material.${r}`, f);
2799
+ const v = m.getObjectByProperty("uuid", a.uuid);
2800
+ ee(v, `material.${r}`, f);
2795
2801
  }
2796
2802
  }
2797
2803
  };
@@ -2806,8 +2812,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2806
2812
  t.updateObject(a.uuid, `material.${r}`, f);
2807
2813
  const m = t.getScene(a.uuid);
2808
2814
  if (m !== null) {
2809
- const p = m.getObjectByProperty("uuid", a.uuid);
2810
- p !== void 0 && ee(p, `material.${r}`, f);
2815
+ const v = m.getObjectByProperty("uuid", a.uuid);
2816
+ ee(v, `material.${r}`, f);
2811
2817
  }
2812
2818
  }
2813
2819
  };
@@ -2818,14 +2824,14 @@ function ht(e, n, a, t, i = "", o = !1) {
2818
2824
  value: n,
2819
2825
  disabled: o,
2820
2826
  onChange: (u, f) => {
2821
- const m = Ja(e), p = i.length > 0 ? `${i}.${m}` : m;
2822
- t.createTexture(a.uuid, `material.${p}`, f);
2827
+ const m = Ja(e), v = i.length > 0 ? `${i}.${m}` : m;
2828
+ t.createTexture(a.uuid, `material.${v}`, f);
2823
2829
  const S = t.getScene(a.uuid);
2824
2830
  if (S !== null) {
2825
2831
  const A = S.getObjectByProperty("uuid", a.uuid);
2826
2832
  A !== void 0 && Bn(f.src).then((F) => {
2827
2833
  F.offset.set(f.offset[0], f.offset[1]), F.repeat.set(f.repeat[0], f.repeat[1]);
2828
- const V = A.material, R = p.split(".");
2834
+ const V = A.material, R = v.split(".");
2829
2835
  switch (R.length) {
2830
2836
  case 1:
2831
2837
  V[R[0]] = F;
@@ -2859,8 +2865,8 @@ function ht(e, n, a, t, i = "", o = !1) {
2859
2865
  t.updateObject(a.uuid, `material.${r}`, f);
2860
2866
  const m = t.getScene(a.uuid);
2861
2867
  if (m !== null) {
2862
- const p = m.getObjectByProperty("uuid", a.uuid);
2863
- p !== void 0 && ee(p, `material.${r}`, f);
2868
+ const v = m.getObjectByProperty("uuid", a.uuid);
2869
+ ee(v, `material.${r}`, f);
2864
2870
  }
2865
2871
  }
2866
2872
  };
@@ -2868,13 +2874,13 @@ function ht(e, n, a, t, i = "", o = !1) {
2868
2874
  const u = [], f = e === "defines" || e === "extensions";
2869
2875
  try {
2870
2876
  for (const m in n) {
2871
- const p = n[m];
2872
- if (p !== void 0)
2873
- if (p.value !== void 0) {
2874
- const S = ht(`${m}.value`, p.value, a, t, r, f);
2877
+ const v = n[m];
2878
+ if (v !== void 0)
2879
+ if (v.value !== void 0) {
2880
+ const S = ht(`${m}.value`, v.value, a, t, r, f);
2875
2881
  S !== void 0 && u.push(S);
2876
2882
  } else {
2877
- const S = ht(m, p, a, t, r, f);
2883
+ const S = ht(m, v, a, t, r, f);
2878
2884
  S !== void 0 && u.push(S);
2879
2885
  }
2880
2886
  }
@@ -2916,7 +2922,7 @@ function ln(e, n, a) {
2916
2922
  const i = a.getScene(n.uuid);
2917
2923
  if (i !== null) {
2918
2924
  const o = i.getObjectByProperty("uuid", n.uuid);
2919
- o !== void 0 && ee(o, "material.needsUpdate", !0);
2925
+ ee(o, "material.needsUpdate", !0);
2920
2926
  }
2921
2927
  }
2922
2928
  }), t;
@@ -2948,7 +2954,7 @@ function di(e, n) {
2948
2954
  }
2949
2955
  const hi = "data:image/gif;base64,R0lGODlhDgFkAIAAAP///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuZGJhM2RhM2I1LCAyMDIzLzEyLzE1LTEwOjQyOjM3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMDk3M0NEODAxQjQxMUVGODVGNENDMkUyMUExNDk1NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMDk3M0NEOTAxQjQxMUVGODVGNENDMkUyMUExNDk1NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE4ODc3Qzg5MDFCMzExRUY4NUY0Q0MyRTIxQTE0OTU1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE4ODc3QzhBMDFCMzExRUY4NUY0Q0MyRTIxQTE0OTU1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAA4BZAAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwql8ym8wmNSqfUqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9Lr9js/r9/y+/w8YKDhIWGh4iJiouMjY6PgIGSk5SVlpeYmZqTkJAGDQ+dnpuekmGgAKejpKuiZqmprKqoZKGyrbOlqrejub6xvLGyw8TFzcprurGuvqybxq7ETbrItsCz0l7Zpc+6p9/cS967w9/S2FTF0u/mzehK4Oqz3eTl9vf4+fr7/P3+//DzCgwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0XHDt6/AgypMiRJEuaPIkypcqVLFt+KwAAOw==";
2950
2956
  function fi(e) {
2951
- const n = H(null), a = H(null), t = H(null), i = H(null), o = H(null), [d] = Y(e.value), [r, h] = Y(e.value.offset[0]), [u, f] = Y(e.value.offset[1]), [m, p] = Y(e.value.repeat[0]), [S, A] = Y(e.value.repeat[1]);
2957
+ const n = Y(null), a = Y(null), t = Y(null), i = Y(null), o = Y(null), [d] = H(e.value), [r, h] = H(e.value.offset[0]), [u, f] = H(e.value.offset[1]), [m, v] = H(e.value.repeat[0]), [S, A] = H(e.value.repeat[1]);
2952
2958
  function F(R, I, T, Z, te) {
2953
2959
  if (e.onChange !== void 0) {
2954
2960
  const pe = e.prop !== void 0 ? e.prop : e.title;
@@ -2969,7 +2975,7 @@ function fi(e) {
2969
2975
  f(T), F(I, r, T, m, S);
2970
2976
  break;
2971
2977
  case i.current:
2972
- p(T), F(I, r, u, T, S);
2978
+ v(T), F(I, r, u, T, S);
2973
2979
  break;
2974
2980
  case o.current:
2975
2981
  A(T), F(I, r, u, m, T);
@@ -3035,7 +3041,7 @@ function fi(e) {
3035
3041
  function wt(e) {
3036
3042
  let n = e.value;
3037
3043
  n !== void 0 && n.isColor !== void 0 && (n = Da(e.value));
3038
- const [a, t] = Y(n), i = H(null), o = (u) => {
3044
+ const [a, t] = H(n), i = Y(null), o = (u) => {
3039
3045
  let f = u.target.value;
3040
3046
  e.type === "boolean" ? f = u.target.checked : e.type === "option" && (f = e.options[f].value), t(f), e.onChange !== void 0 && e.onChange(e.prop !== void 0 ? e.prop : e.title, f);
3041
3047
  }, d = {};
@@ -3209,7 +3215,7 @@ function pi(e, n) {
3209
3215
  const f = n.getScene(e.uuid);
3210
3216
  if (f !== null) {
3211
3217
  const m = f.getObjectByProperty("uuid", e.uuid);
3212
- m !== void 0 && ee(m, r, u);
3218
+ ee(m, r, u);
3213
3219
  }
3214
3220
  };
3215
3221
  return /* @__PURE__ */ l.jsx(
@@ -3281,7 +3287,7 @@ function gi(e, n) {
3281
3287
  const h = n.getScene(e.uuid);
3282
3288
  if (h !== null) {
3283
3289
  const u = h.getObjectByProperty("uuid", e.uuid);
3284
- u !== void 0 && ee(u, o, r);
3290
+ ee(u, o, r);
3285
3291
  }
3286
3292
  }
3287
3293
  }) : a.push({
@@ -3295,7 +3301,7 @@ function gi(e, n) {
3295
3301
  const r = n.getScene(e.uuid);
3296
3302
  if (r !== null) {
3297
3303
  const h = r.getObjectByProperty("uuid", e.uuid);
3298
- h !== void 0 && ee(h, o, d);
3304
+ ee(h, o, d);
3299
3305
  }
3300
3306
  }
3301
3307
  }));
@@ -3392,7 +3398,7 @@ const zn = {
3392
3398
  };
3393
3399
  let fe = { ...zn };
3394
3400
  function bi(e) {
3395
- const [n, a] = Y(-1);
3401
+ const [n, a] = H(-1);
3396
3402
  Re(() => {
3397
3403
  function d(h) {
3398
3404
  fe = { ...h.value }, a(Date.now());
@@ -3448,7 +3454,7 @@ function bi(e) {
3448
3454
  ] }) }, n) }, "Inspector");
3449
3455
  }
3450
3456
  function Ui(e) {
3451
- const [n] = Y([]), [a, t] = Y(0), i = (r) => {
3457
+ const [n] = H([]), [a, t] = H(0), i = (r) => {
3452
3458
  n.push(r.value), t(Date.now());
3453
3459
  }, o = (r) => {
3454
3460
  const h = r.value;
@@ -3464,7 +3470,7 @@ function Ui(e) {
3464
3470
  const d = [];
3465
3471
  return n.forEach((r, h) => {
3466
3472
  d.push(
3467
- /* @__PURE__ */ l.jsx(Wt, { label: `Scene: ${r.name}`, open: !0, children: /* @__PURE__ */ l.jsx(Ha, { child: r, scene: r, three: e.three }) }, `scene_${h}`)
3473
+ /* @__PURE__ */ l.jsx(Wt, { label: `Scene: ${r.name}`, open: !0, children: /* @__PURE__ */ l.jsx(Ya, { child: r, scene: r, three: e.three }) }, `scene_${h}`)
3468
3474
  );
3469
3475
  }), /* @__PURE__ */ l.jsxs("div", { id: "SidePanel", children: [
3470
3476
  d,
@@ -3480,11 +3486,11 @@ function $i(e) {
3480
3486
  }), h;
3481
3487
  }
3482
3488
  const a = (r) => {
3483
- const h = r.value, f = n(h)?.getObjectByProperty("uuid", h);
3484
- f !== void 0 && e.three.setObject(f);
3489
+ const h = r.value, u = n(h), f = u?.getObjectByProperty("uuid", h);
3490
+ f !== void 0 ? e.three.setObject(f) : console.log(`Hermes - can't find object: ${h}`, u);
3485
3491
  }, t = (r, h, u) => {
3486
- const m = n(r)?.getObjectByProperty("uuid", r);
3487
- m !== void 0 && ee(m, h, u);
3492
+ const f = n(r), m = f?.getObjectByProperty("uuid", r);
3493
+ m !== void 0 ? ee(m, h, u) : console.log(`Hermes - can't set object: ${r}`, f);
3488
3494
  }, i = (r) => {
3489
3495
  const h = r.value, { key: u, value: f, uuid: m } = h;
3490
3496
  t(m, u, f);
@@ -3492,22 +3498,22 @@ function $i(e) {
3492
3498
  const h = r.value, f = n(h.uuid)?.getObjectByProperty("uuid", h.uuid);
3493
3499
  f !== void 0 && Bn(h.value.src).then((m) => {
3494
3500
  m.offset.set(h.value.offset[0], h.value.offset[1]), m.repeat.set(h.value.repeat[0], h.value.repeat[1]);
3495
- const p = h.key.split(".");
3496
- switch (p.length) {
3501
+ const v = h.key.split(".");
3502
+ switch (v.length) {
3497
3503
  case 1:
3498
- f[p[0]] = m;
3504
+ f[v[0]] = m;
3499
3505
  break;
3500
3506
  case 2:
3501
- f[p[0]][p[1]] = m;
3507
+ f[v[0]][v[1]] = m;
3502
3508
  break;
3503
3509
  case 3:
3504
- f[p[0]][p[1]][p[2]] = m;
3510
+ f[v[0]][v[1]][v[2]] = m;
3505
3511
  break;
3506
3512
  case 4:
3507
- f[p[0]][p[1]][p[2]][p[3]] = m;
3513
+ f[v[0]][v[1]][v[2]][v[3]] = m;
3508
3514
  break;
3509
3515
  case 5:
3510
- f[p[0]][p[1]][p[2]][p[3]][p[4]] = m;
3516
+ f[v[0]][v[1]][v[2]][v[3]][v[4]] = m;
3511
3517
  break;
3512
3518
  }
3513
3519
  f.material.needsUpdate = !0;
@@ -3619,7 +3625,7 @@ class xi extends pn {
3619
3625
  let o = i.NONE;
3620
3626
  const d = 1e-6, r = new Jt(), h = new Jt();
3621
3627
  let u = 1;
3622
- const f = new J(), m = new me(), p = new me(), S = new me(), A = new me(), F = new me(), V = new me(), R = new me(), I = new me(), T = new me(), Z = new J(), te = new me();
3628
+ const f = new J(), m = new me(), v = new me(), S = new me(), A = new me(), F = new me(), V = new me(), R = new me(), I = new me(), T = new me(), Z = new J(), te = new me();
3623
3629
  let pe = !1;
3624
3630
  const q = [], ge = {};
3625
3631
  let ce = !1;
@@ -3685,17 +3691,17 @@ class xi extends pn {
3685
3691
  A.set(c.clientX, c.clientY);
3686
3692
  }
3687
3693
  function re(c) {
3688
- p.set(c.clientX, c.clientY), S.subVectors(p, m).multiplyScalar(t.rotateSpeed);
3694
+ v.set(c.clientX, c.clientY), S.subVectors(v, m).multiplyScalar(t.rotateSpeed);
3689
3695
  const E = t.domElement;
3690
- be(2 * Math.PI * S.x / E.clientHeight), U(2 * Math.PI * S.y / E.clientHeight), m.copy(p), t.update();
3696
+ be(2 * Math.PI * S.x / E.clientHeight), U(2 * Math.PI * S.y / E.clientHeight), m.copy(v), t.update();
3691
3697
  }
3692
3698
  function Me(c) {
3693
3699
  I.set(c.clientX, c.clientY), T.subVectors(I, R), T.y > 0 ? De(ke(T.y)) : T.y < 0 && je(ke(T.y)), R.copy(I), t.update();
3694
3700
  }
3695
- function Ye(c) {
3701
+ function He(c) {
3696
3702
  F.set(c.clientX, c.clientY), V.subVectors(F, A).multiplyScalar(t.panSpeed), we(V.x, V.y), A.copy(F), t.update();
3697
3703
  }
3698
- function He(c) {
3704
+ function Ye(c) {
3699
3705
  Pe(c.clientX, c.clientY), c.deltaY < 0 ? je(ke(c.deltaY)) : c.deltaY > 0 && De(ke(c.deltaY)), t.update();
3700
3706
  }
3701
3707
  function ue(c) {
@@ -3716,7 +3722,7 @@ class xi extends pn {
3716
3722
  }
3717
3723
  E && (c.preventDefault(), t.update());
3718
3724
  }
3719
- function v(c) {
3725
+ function g(c) {
3720
3726
  if (q.length === 1)
3721
3727
  m.set(c.pageX, c.pageY);
3722
3728
  else {
@@ -3740,18 +3746,18 @@ class xi extends pn {
3740
3746
  t.enableZoom && M(c), t.enablePan && b(c);
3741
3747
  }
3742
3748
  function ve(c) {
3743
- t.enableZoom && M(c), t.enableRotate && v(c);
3749
+ t.enableZoom && M(c), t.enableRotate && g(c);
3744
3750
  }
3745
3751
  function le(c) {
3746
3752
  if (q.length == 1)
3747
- p.set(c.pageX, c.pageY);
3753
+ v.set(c.pageX, c.pageY);
3748
3754
  else {
3749
3755
  const k = $e(c), B = 0.5 * (c.pageX + k.x), ie = 0.5 * (c.pageY + k.y);
3750
- p.set(B, ie);
3756
+ v.set(B, ie);
3751
3757
  }
3752
- S.subVectors(p, m).multiplyScalar(t.rotateSpeed);
3758
+ S.subVectors(v, m).multiplyScalar(t.rotateSpeed);
3753
3759
  const E = t.domElement;
3754
- be(2 * Math.PI * S.x / E.clientHeight), U(2 * Math.PI * S.y / E.clientHeight), m.copy(p);
3760
+ be(2 * Math.PI * S.x / E.clientHeight), U(2 * Math.PI * S.y / E.clientHeight), m.copy(v);
3755
3761
  }
3756
3762
  function C(c) {
3757
3763
  if (q.length === 1)
@@ -3854,12 +3860,12 @@ class xi extends pn {
3854
3860
  case i.PAN:
3855
3861
  if (t.enablePan === !1)
3856
3862
  return;
3857
- Ye(c);
3863
+ He(c);
3858
3864
  break;
3859
3865
  }
3860
3866
  }
3861
3867
  function ft(c) {
3862
- t.enabled === !1 || t.enableZoom === !1 || o !== i.NONE || (c.preventDefault(), t.dispatchEvent(It), He(mt(c)), t.dispatchEvent(fn));
3868
+ t.enabled === !1 || t.enableZoom === !1 || o !== i.NONE || (c.preventDefault(), t.dispatchEvent(It), Ye(mt(c)), t.dispatchEvent(fn));
3863
3869
  }
3864
3870
  function mt(c) {
3865
3871
  const E = c.deltaMode, k = {
@@ -3893,7 +3899,7 @@ class xi extends pn {
3893
3899
  case at.ROTATE:
3894
3900
  if (t.enableRotate === !1)
3895
3901
  return;
3896
- v(c), o = i.TOUCH_ROTATE;
3902
+ g(c), o = i.TOUCH_ROTATE;
3897
3903
  break;
3898
3904
  case at.PAN:
3899
3905
  if (t.enablePan === !1)
@@ -3986,7 +3992,7 @@ function rt(e, n, a, t, i) {
3986
3992
  return t + (e - n) * (i - t) / (a - n);
3987
3993
  }
3988
3994
  const Mt = (e) => {
3989
- const [n, a] = Y(e.options[e.index]), t = () => {
3995
+ const [n, a] = H(e.options[e.index]), t = () => {
3990
3996
  e.onToggle(!e.open);
3991
3997
  }, i = (o) => {
3992
3998
  o !== n && (e.onSelect(o), a(o)), e.onToggle(!1);
@@ -3996,7 +4002,7 @@ const Mt = (e) => {
3996
4002
  e.open && /* @__PURE__ */ l.jsx("ul", { className: "dropdown-menu", children: e.options.map((o) => /* @__PURE__ */ l.jsx("li", { onClick: () => i(o), children: o }, o)) })
3997
4003
  ] });
3998
4004
  }, qe = Ra(function(n, a) {
3999
- const [t, i] = Y(!1), o = n.options.indexOf(n.camera.name);
4005
+ const [t, i] = H(!1), o = n.options.indexOf(n.camera.name);
4000
4006
  return /* @__PURE__ */ l.jsxs("div", { className: "CameraWindow", children: [
4001
4007
  /* @__PURE__ */ l.jsx("div", { ref: a, className: "clickable", onClick: () => {
4002
4008
  t && i(!1);
@@ -4191,14 +4197,14 @@ class Oi extends In {
4191
4197
  }
4192
4198
  let xt = "Renderer", Te, St = !1, Nt = !1, X = null, oe = null, Ge = null, We = null;
4193
4199
  function zi(e) {
4194
- const n = e.three.app.appID, a = localStorage.getItem(`${n}_mode`), t = localStorage.getItem(`${n}_tlCam`) !== null ? localStorage.getItem(`${n}_tlCam`) : "Debug", i = localStorage.getItem(`${n}_trCam`) !== null ? localStorage.getItem(`${n}_trCam`) : "Orthographic", o = localStorage.getItem(`${n}_blCam`) !== null ? localStorage.getItem(`${n}_blCam`) : "Front", d = localStorage.getItem(`${n}_brCam`) !== null ? localStorage.getItem(`${n}_brCam`) : "Top", r = se(() => /* @__PURE__ */ new Map(), []), h = se(() => /* @__PURE__ */ new Map(), []), u = se(() => /* @__PURE__ */ new Map(), []), f = se(() => /* @__PURE__ */ new Map(), []), m = se(() => new pa(), []), p = se(() => new ga(), []), S = se(() => new Ci(), []), A = se(() => new Qt(500), []), F = se(() => new Qt(100), []), V = se(() => new va(), []), R = se(() => new ba(), []), I = se(() => new Oi(), []), T = se(() => new jn({
4200
+ const n = e.three.app.appID, a = localStorage.getItem(`${n}_mode`), t = localStorage.getItem(`${n}_tlCam`) !== null ? localStorage.getItem(`${n}_tlCam`) : "Debug", i = localStorage.getItem(`${n}_trCam`) !== null ? localStorage.getItem(`${n}_trCam`) : "Orthographic", o = localStorage.getItem(`${n}_blCam`) !== null ? localStorage.getItem(`${n}_blCam`) : "Front", d = localStorage.getItem(`${n}_brCam`) !== null ? localStorage.getItem(`${n}_brCam`) : "Top", r = se(() => /* @__PURE__ */ new Map(), []), h = se(() => /* @__PURE__ */ new Map(), []), u = se(() => /* @__PURE__ */ new Map(), []), f = se(() => /* @__PURE__ */ new Map(), []), m = se(() => new pa(), []), v = se(() => new ga(), []), S = se(() => new Ci(), []), A = se(() => new Qt(500), []), F = se(() => new Qt(100), []), V = se(() => new va(), []), R = se(() => new ba(), []), I = se(() => new Oi(), []), T = se(() => new jn({
4195
4201
  opacity: 0.33,
4196
4202
  transparent: !0,
4197
4203
  wireframe: !0
4198
4204
  }), []);
4199
- function Z(v, b) {
4205
+ function Z(g, b) {
4200
4206
  const M = new en(-100, 100, 100, -100, 50, 5e3);
4201
- return M.name = v, M.position.copy(b), M.lookAt(0, 0, 0), r.set(v, M), M;
4207
+ return M.name = g, M.position.copy(b), M.lookAt(0, 0, 0), r.set(g, M), M;
4202
4208
  }
4203
4209
  const te = [
4204
4210
  "Renderer",
@@ -4211,14 +4217,14 @@ function zi(e) {
4211
4217
  "Side by Side",
4212
4218
  "Stacked",
4213
4219
  "Quad"
4214
- ], q = H(null), ge = H(null), ce = H(null), _e = H(null), ke = H(null), be = H(null), [U, ye] = Y(a !== null ? a : "Single"), [O, we] = Y(null), [De, je] = Y(!1), [Pe, Ae] = Y(!1), [Ie, Be] = Y(!1), [, Fe] = Y(Date.now());
4220
+ ], q = Y(null), ge = Y(null), ce = Y(null), _e = Y(null), ke = Y(null), be = Y(null), [U, ye] = H(a !== null ? a : "Single"), [O, we] = H(null), [De, je] = H(!1), [Pe, Ae] = H(!1), [Ie, Be] = H(!1), [, Fe] = H(Date.now());
4215
4221
  localStorage.setItem(`${n}_mode`, U), localStorage.setItem(`${n}_tlCam`, t), localStorage.setItem(`${n}_trCam`, i), localStorage.setItem(`${n}_blCam`, o), localStorage.setItem(`${n}_brCam`, d);
4216
- const re = (v, b) => {
4217
- const M = h.get(v.name);
4218
- if (M !== void 0 && M.dispose(), h.delete(v.name), v.name === "UI")
4222
+ const re = (g, b) => {
4223
+ const M = h.get(g.name);
4224
+ if (M !== void 0 && M.dispose(), h.delete(g.name), g.name === "UI")
4219
4225
  return;
4220
- const N = new xi(v, b);
4221
- switch (N.enableDamping = !0, N.dampingFactor = 0.05, v.name) {
4226
+ const N = new xi(g, b);
4227
+ switch (N.enableDamping = !0, N.dampingFactor = 0.05, g.name) {
4222
4228
  case "Top":
4223
4229
  case "Bottom":
4224
4230
  case "Left":
@@ -4228,19 +4234,19 @@ function zi(e) {
4228
4234
  N.enableRotate = !1;
4229
4235
  break;
4230
4236
  }
4231
- h.set(v.name, N);
4232
- }, Me = (v) => {
4233
- const b = u.get(v.name);
4234
- b !== void 0 && (m.remove(b), b.dispose(), u.delete(v.name));
4235
- const M = h.get(v.name);
4236
- M !== void 0 && (M.dispose(), h.delete(v.name));
4237
- }, Ye = () => {
4238
- h.forEach((v, b) => {
4239
- v.dispose();
4237
+ h.set(g.name, N);
4238
+ }, Me = (g) => {
4239
+ const b = u.get(g.name);
4240
+ b !== void 0 && (m.remove(b), b.dispose(), u.delete(g.name));
4241
+ const M = h.get(g.name);
4242
+ M !== void 0 && (M.dispose(), h.delete(g.name));
4243
+ }, He = () => {
4244
+ h.forEach((g, b) => {
4245
+ g.dispose();
4240
4246
  const M = u.get(b);
4241
4247
  M !== void 0 && (m.remove(M), M.dispose()), u.delete(b), h.delete(b);
4242
4248
  }), h.clear(), u.clear();
4243
- }, He = () => {
4249
+ }, Ye = () => {
4244
4250
  switch (U) {
4245
4251
  case "Single":
4246
4252
  re(X, ce.current);
@@ -4255,19 +4261,19 @@ function zi(e) {
4255
4261
  }
4256
4262
  };
4257
4263
  Re(() => {
4258
- const v = new ya({
4264
+ const g = new ya({
4259
4265
  canvas: q.current,
4260
4266
  stencil: !1
4261
4267
  });
4262
- v.autoClear = !1, v.shadowMap.enabled = !0, v.setPixelRatio(devicePixelRatio), v.setClearColor(0), e.three.renderer = v, we(v);
4268
+ g.autoClear = !1, g.shadowMap.enabled = !0, g.setPixelRatio(devicePixelRatio), g.setClearColor(0), e.three.renderer = g, we(g);
4263
4269
  }, []), Re(() => {
4264
- m.name = "Debug Scene", m.uuid = "", p.name = "helpers", m.add(p), p.add(S), A.name = "axisHelper", p.add(A), F.name = "interactionHelper", p.add(F), F.visible = !1, Z("Top", new J(0, 1e3, 0)), Z("Bottom", new J(0, -1e3, 0)), Z("Left", new J(-1e3, 0, 0)), Z("Right", new J(1e3, 0, 0)), Z("Front", new J(0, 0, 1e3)), Z("Back", new J(0, 0, -1e3)), Z("Orthographic", new J(1e3, 1e3, 1e3)), Z("UI", new J());
4265
- const v = new At(60, 1, 50, 5e3);
4266
- v.name = "Debug", v.position.set(500, 500, 500), v.lookAt(0, 0, 0), r.set("Debug", v), X = r.get(localStorage.getItem(`${n}_tlCam`)), oe = r.get(localStorage.getItem(`${n}_trCam`)), Ge = r.get(localStorage.getItem(`${n}_blCam`)), We = r.get(localStorage.getItem(`${n}_brCam`));
4270
+ m.name = "Debug Scene", m.uuid = "", v.name = "helpers", m.add(v), v.add(S), A.name = "axisHelper", v.add(A), F.name = "interactionHelper", v.add(F), F.visible = !1, Z("Top", new J(0, 1e3, 0)), Z("Bottom", new J(0, -1e3, 0)), Z("Left", new J(-1e3, 0, 0)), Z("Right", new J(1e3, 0, 0)), Z("Front", new J(0, 0, 1e3)), Z("Back", new J(0, 0, -1e3)), Z("Orthographic", new J(1e3, 1e3, 1e3)), Z("UI", new J());
4271
+ const g = new At(60, 1, 50, 5e3);
4272
+ g.name = "Debug", g.position.set(500, 500, 500), g.lookAt(0, 0, 0), r.set("Debug", g), X = r.get(localStorage.getItem(`${n}_tlCam`)), oe = r.get(localStorage.getItem(`${n}_trCam`)), Ge = r.get(localStorage.getItem(`${n}_blCam`)), We = r.get(localStorage.getItem(`${n}_brCam`));
4267
4273
  }, []), Re(() => {
4268
- const v = () => {
4274
+ const g = () => {
4269
4275
  f.forEach((C) => {
4270
- p.remove(C), C.dispose();
4276
+ v.remove(C), C.dispose();
4271
4277
  }), f.clear();
4272
4278
  }, b = () => {
4273
4279
  Te.traverse((C) => {
@@ -4275,25 +4281,25 @@ function zi(e) {
4275
4281
  let x;
4276
4282
  switch (C.type) {
4277
4283
  case "DirectionalLight":
4278
- x = new Ma(C, 100), x.name = `${C.name}Helper`, f.set(C.name, x), p.add(x);
4284
+ x = new Ma(C, 100), x.name = `${C.name}Helper`, f.set(C.name, x), v.add(x);
4279
4285
  break;
4280
4286
  case "HemisphereLight":
4281
- x = new wa(C, 250), x.name = `${C.name}Helper`, f.set(C.name, x), p.add(x);
4287
+ x = new wa(C, 250), x.name = `${C.name}Helper`, f.set(C.name, x), v.add(x);
4282
4288
  break;
4283
4289
  case "RectAreaLight":
4284
- x = new yi(C), x.name = `${C.name}Helper`, f.set(C.name, x), p.add(x);
4290
+ x = new yi(C), x.name = `${C.name}Helper`, f.set(C.name, x), v.add(x);
4285
4291
  break;
4286
4292
  case "PointLight":
4287
- x = new Ca(C, 100), x.name = `${C.name}Helper`, f.set(C.name, x), p.add(x);
4293
+ x = new Ca(C, 100), x.name = `${C.name}Helper`, f.set(C.name, x), v.add(x);
4288
4294
  break;
4289
4295
  case "SpotLight":
4290
- x = new Sa(C), x.name = `${C.name}Helper`, f.set(C.name, x), p.add(x);
4296
+ x = new Sa(C), x.name = `${C.name}Helper`, f.set(C.name, x), v.add(x);
4291
4297
  break;
4292
4298
  }
4293
4299
  }
4294
4300
  });
4295
4301
  }, M = (C) => {
4296
- p.add(A), v(), Tt(Te), m.remove(Te);
4302
+ v.add(A), g(), Tt(Te), m.remove(Te);
4297
4303
  const x = e.scenes.get(C.value.name);
4298
4304
  if (x !== void 0) {
4299
4305
  const G = new x();
@@ -4319,32 +4325,32 @@ function zi(e) {
4319
4325
  }, []), Re(() => {
4320
4326
  if (O === null)
4321
4327
  return;
4322
- let v = window.innerWidth, b = window.innerHeight, M = Math.floor(v / 2), N = Math.floor(b / 2), ve = -1;
4328
+ let g = window.innerWidth, b = window.innerHeight, M = Math.floor(g / 2), N = Math.floor(b / 2), ve = -1;
4323
4329
  const le = () => {
4324
- v = window.innerWidth - 300, b = window.innerHeight, M = Math.floor(v / 2), N = Math.floor(b / 2), e.three.resize(v, b), e.onSceneResize !== void 0 && Nt && e.onSceneResize(Te, v, b);
4325
- let _ = v, z = b;
4330
+ g = window.innerWidth - 300, b = window.innerHeight, M = Math.floor(g / 2), N = Math.floor(b / 2), e.three.resize(g, b), e.onSceneResize !== void 0 && Nt && e.onSceneResize(Te, g, b);
4331
+ let _ = g, z = b;
4326
4332
  switch (U) {
4327
4333
  case "Side by Side":
4328
4334
  _ = M, z = b;
4329
4335
  break;
4330
4336
  case "Stacked":
4331
- _ = v, z = N;
4337
+ _ = g, z = N;
4332
4338
  break;
4333
4339
  case "Quad":
4334
4340
  _ = M, z = N;
4335
4341
  break;
4336
4342
  }
4337
4343
  r.forEach((K) => {
4338
- K instanceof en ? (K.left = _ / -2, K.right = _ / 2, K.top = z / 2, K.bottom = z / -2, K.name === "UI" && (K.position.x = v / 2, K.position.y = b / -2, K.position.z = 100), K.updateProjectionMatrix()) : K instanceof At && (K.aspect = _ / z, K.updateProjectionMatrix(), u.get(K.name)?.update());
4344
+ K instanceof en ? (K.left = _ / -2, K.right = _ / 2, K.top = z / 2, K.bottom = z / -2, K.name === "UI" && (K.position.x = g / 2, K.position.y = b / -2, K.position.z = 100), K.updateProjectionMatrix()) : K instanceof At && (K.aspect = _ / z, K.updateProjectionMatrix(), u.get(K.name)?.update());
4339
4345
  });
4340
4346
  }, C = () => {
4341
- O.setViewport(0, 0, v, b), O.setScissor(0, 0, v, b), O.render(m, X);
4347
+ O.setViewport(0, 0, g, b), O.setScissor(0, 0, g, b), O.render(m, X);
4342
4348
  }, x = () => {
4343
4349
  if (U === "Side by Side")
4344
4350
  O.setViewport(0, 0, M, b), O.setScissor(0, 0, M, b), O.render(m, X), O.setViewport(M, 0, M, b), O.setScissor(M, 0, M, b), O.render(m, oe);
4345
4351
  else {
4346
4352
  const _ = b - N;
4347
- O.setViewport(0, _, v, N), O.setScissor(0, _, v, N), O.render(m, X), O.setViewport(0, 0, v, N), O.setScissor(0, 0, v, N), O.render(m, oe);
4353
+ O.setViewport(0, _, g, N), O.setScissor(0, _, g, N), O.render(m, X), O.setViewport(0, 0, g, N), O.setScissor(0, 0, g, N), O.render(m, oe);
4348
4354
  }
4349
4355
  }, G = () => {
4350
4356
  let _ = 0, z = 0;
@@ -4370,24 +4376,24 @@ function zi(e) {
4370
4376
  }
4371
4377
  ve = requestAnimationFrame(ne);
4372
4378
  };
4373
- return He(), window.addEventListener("resize", le), le(), ne(), () => {
4379
+ return Ye(), window.addEventListener("resize", le), le(), ne(), () => {
4374
4380
  window.removeEventListener("resize", le), cancelAnimationFrame(ve), ve = -1;
4375
4381
  };
4376
4382
  }, [U, O]), Re(() => {
4377
4383
  if (O !== null) {
4378
- const v = new Ea(), b = new me(), M = (C, x, G, ne) => {
4384
+ const g = new Ea(), b = new me(), M = (C, x, G, ne) => {
4379
4385
  switch (U) {
4380
4386
  case "Quad":
4381
- C < G ? x < ne ? v.setFromCamera(b, X) : v.setFromCamera(b, Ge) : x < ne ? v.setFromCamera(b, oe) : v.setFromCamera(b, We);
4387
+ C < G ? x < ne ? g.setFromCamera(b, X) : g.setFromCamera(b, Ge) : x < ne ? g.setFromCamera(b, oe) : g.setFromCamera(b, We);
4382
4388
  break;
4383
4389
  case "Side by Side":
4384
- C < G ? v.setFromCamera(b, X) : v.setFromCamera(b, oe);
4390
+ C < G ? g.setFromCamera(b, X) : g.setFromCamera(b, oe);
4385
4391
  break;
4386
4392
  case "Single":
4387
- v.setFromCamera(b, X);
4393
+ g.setFromCamera(b, X);
4388
4394
  break;
4389
4395
  case "Stacked":
4390
- x < ne ? v.setFromCamera(b, X) : v.setFromCamera(b, oe);
4396
+ x < ne ? g.setFromCamera(b, X) : g.setFromCamera(b, oe);
4391
4397
  break;
4392
4398
  }
4393
4399
  }, N = (C) => {
@@ -4414,7 +4420,7 @@ function zi(e) {
4414
4420
  break;
4415
4421
  }
4416
4422
  M(G, ne, _, z);
4417
- const Je = v.intersectObjects(Te.children);
4423
+ const Je = g.intersectObjects(Te.children);
4418
4424
  Je.length > 0 && F.position.copy(Je[0].point);
4419
4425
  }, ve = (C) => {
4420
4426
  if (!St)
@@ -4423,7 +4429,7 @@ function zi(e) {
4423
4429
  if (O.getSize(x), C.clientX >= x.x)
4424
4430
  return;
4425
4431
  N(C);
4426
- const G = v.intersectObjects(Te.children);
4432
+ const G = g.intersectObjects(Te.children);
4427
4433
  G.length > 0 && e.three.getObject(G[0].object.uuid);
4428
4434
  }, le = ge.current;
4429
4435
  return le.addEventListener("mousemove", N, !1), le.addEventListener("click", ve, !1), () => {
@@ -4432,48 +4438,48 @@ function zi(e) {
4432
4438
  }
4433
4439
  }, [U, O]);
4434
4440
  const ue = [];
4435
- return r.forEach((v, b) => {
4441
+ return r.forEach((g, b) => {
4436
4442
  ue.push(b);
4437
4443
  }), /* @__PURE__ */ l.jsxs("div", { className: "multiview", children: [
4438
4444
  /* @__PURE__ */ l.jsx("canvas", { ref: q }),
4439
4445
  O !== null && /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
4440
4446
  /* @__PURE__ */ l.jsxs("div", { className: `cameras ${U === "Single" || U === "Stacked" ? "single" : ""}`, ref: ge, children: [
4441
- U === "Single" && /* @__PURE__ */ l.jsx(l.Fragment, { children: /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (v) => {
4447
+ U === "Single" && /* @__PURE__ */ l.jsx(l.Fragment, { children: /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (g) => {
4442
4448
  h.get(X.name)?.dispose();
4443
- const b = r.get(v);
4449
+ const b = r.get(g);
4444
4450
  b !== void 0 && (Me(X), X = b, localStorage.setItem(`${n}_tlCam`, b.name), re(b, ce.current));
4445
4451
  } }) }),
4446
4452
  (U === "Side by Side" || U === "Stacked") && /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
4447
- /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (v) => {
4453
+ /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (g) => {
4448
4454
  h.get(X.name)?.dispose();
4449
- const b = r.get(v);
4455
+ const b = r.get(g);
4450
4456
  b !== void 0 && (Me(X), X = b, localStorage.setItem(`${n}_tlCam`, b.name), re(b, ce.current));
4451
4457
  } }),
4452
- /* @__PURE__ */ l.jsx(qe, { camera: oe, options: ue, ref: _e, onSelect: (v) => {
4458
+ /* @__PURE__ */ l.jsx(qe, { camera: oe, options: ue, ref: _e, onSelect: (g) => {
4453
4459
  h.get(oe.name)?.dispose();
4454
- const b = r.get(v);
4460
+ const b = r.get(g);
4455
4461
  b !== void 0 && (Me(oe), oe = b, localStorage.setItem(`${n}_trCam`, b.name), re(b, _e.current));
4456
4462
  } })
4457
4463
  ] }),
4458
4464
  U === "Quad" && /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
4459
- /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (v) => {
4465
+ /* @__PURE__ */ l.jsx(qe, { camera: X, options: ue, ref: ce, onSelect: (g) => {
4460
4466
  h.get(X.name)?.dispose();
4461
- const b = r.get(v);
4467
+ const b = r.get(g);
4462
4468
  b !== void 0 && (Me(X), X = b, localStorage.setItem(`${n}_tlCam`, b.name), re(b, ce.current));
4463
4469
  } }),
4464
- /* @__PURE__ */ l.jsx(qe, { camera: oe, options: ue, ref: _e, onSelect: (v) => {
4470
+ /* @__PURE__ */ l.jsx(qe, { camera: oe, options: ue, ref: _e, onSelect: (g) => {
4465
4471
  h.get(oe.name)?.dispose();
4466
- const b = r.get(v);
4472
+ const b = r.get(g);
4467
4473
  b !== void 0 && (Me(oe), oe = b, localStorage.setItem(`${n}_trCam`, b.name), re(b, _e.current));
4468
4474
  } }),
4469
- /* @__PURE__ */ l.jsx(qe, { camera: Ge, options: ue, ref: ke, onSelect: (v) => {
4475
+ /* @__PURE__ */ l.jsx(qe, { camera: Ge, options: ue, ref: ke, onSelect: (g) => {
4470
4476
  h.get(Ge.name)?.dispose();
4471
- const b = r.get(v);
4477
+ const b = r.get(g);
4472
4478
  b !== void 0 && (Me(Ge), Ge = b, localStorage.setItem(`${n}_blCam`, b.name), re(b, ke.current));
4473
4479
  } }),
4474
- /* @__PURE__ */ l.jsx(qe, { camera: We, options: ue, ref: be, onSelect: (v) => {
4480
+ /* @__PURE__ */ l.jsx(qe, { camera: We, options: ue, ref: be, onSelect: (g) => {
4475
4481
  h.get(We.name)?.dispose();
4476
- const b = r.get(v);
4482
+ const b = r.get(g);
4477
4483
  b !== void 0 && (Me(We), We = b, localStorage.setItem(`${n}_brCam`, b.name), re(b, be.current));
4478
4484
  } })
4479
4485
  ] })
@@ -4484,12 +4490,12 @@ function zi(e) {
4484
4490
  {
4485
4491
  index: pe.indexOf(U),
4486
4492
  options: pe,
4487
- onSelect: (v) => {
4488
- v !== U && (Ye(), ye(v));
4493
+ onSelect: (g) => {
4494
+ g !== U && (He(), ye(g));
4489
4495
  },
4490
4496
  open: De,
4491
- onToggle: (v) => {
4492
- je(v), Pe && Ae(!1), Ie && Be(!1);
4497
+ onToggle: (g) => {
4498
+ je(g), Pe && Ae(!1), Ie && Be(!1);
4493
4499
  }
4494
4500
  }
4495
4501
  ),
@@ -4498,9 +4504,9 @@ function zi(e) {
4498
4504
  {
4499
4505
  index: te.indexOf(xt),
4500
4506
  options: te,
4501
- onSelect: (v) => {
4502
- if (v !== xt)
4503
- switch (xt = v, xt) {
4507
+ onSelect: (g) => {
4508
+ if (g !== xt)
4509
+ switch (xt = g, xt) {
4504
4510
  case "Depth":
4505
4511
  m.overrideMaterial = V;
4506
4512
  break;
@@ -4520,8 +4526,8 @@ function zi(e) {
4520
4526
  }
4521
4527
  },
4522
4528
  open: Pe,
4523
- onToggle: (v) => {
4524
- De && je(!1), Ae(v), Ie && Be(!1);
4529
+ onToggle: (g) => {
4530
+ De && je(!1), Ae(g), Ie && Be(!1);
4525
4531
  }
4526
4532
  }
4527
4533
  ),
@@ -4533,12 +4539,12 @@ function zi(e) {
4533
4539
  "Orbit Mode",
4534
4540
  "Selection Mode"
4535
4541
  ],
4536
- onSelect: (v) => {
4537
- St = v === "Selection Mode", F.visible = St;
4542
+ onSelect: (g) => {
4543
+ St = g === "Selection Mode", F.visible = St;
4538
4544
  },
4539
4545
  open: Ie,
4540
- onToggle: (v) => {
4541
- De && je(!1), Pe && Ae(!1), Be(v);
4546
+ onToggle: (g) => {
4547
+ De && je(!1), Pe && Ae(!1), Be(g);
4542
4548
  }
4543
4549
  }
4544
4550
  )
@@ -4558,11 +4564,11 @@ export {
4558
4564
  ji as Application,
4559
4565
  Rt as BaseRemote,
4560
4566
  Un as ChildObject,
4561
- Ha as ContainerObject,
4567
+ Ya as ContainerObject,
4562
4568
  Ga as Draggable,
4563
4569
  za as DraggableItem,
4564
4570
  Wa as Dropdown,
4565
- Ya as DropdownItem,
4571
+ Ha as DropdownItem,
4566
4572
  Gi as Editor,
4567
4573
  bi as Inspector,
4568
4574
  zi as MultiView,