@thatopen/components 2.3.16 → 2.3.17

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/index.mjs CHANGED
@@ -2,11 +2,11 @@ var Fo = Object.defineProperty;
2
2
  var So = (c, i, t) => i in c ? Fo(c, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[i] = t;
3
3
  var C = (c, i, t) => (So(c, typeof i != "symbol" ? i + "" : i, t), t);
4
4
  import * as D from "three";
5
- import { BufferAttribute as jr, Vector3 as Q, Vector2 as ai, Plane as bn, Line3 as Ee, Triangle as ii, Sphere as Oo, Matrix4 as pe, Box3 as ae, BackSide as No, DoubleSide as qr, FrontSide as $n, Mesh as rt, Ray as yo, Raycaster as Lo, Quaternion as de, Object3D as dn, Euler as Po, MeshBasicMaterial as Qr, LineBasicMaterial as _o, CylinderGeometry as Vt, BoxGeometry as Ut, BufferGeometry as Zn, Float32BufferAttribute as jn, OctahedronGeometry as Gi, Line as Fe, SphereGeometry as wo, TorusGeometry as Ii, PlaneGeometry as Mo } from "three";
5
+ import { BufferAttribute as jr, Vector3 as Q, Vector2 as ai, Plane as vn, Line3 as Ee, Triangle as ii, Sphere as Oo, Matrix4 as pe, Box3 as ae, BackSide as No, DoubleSide as qr, FrontSide as Zn, Mesh as rt, Ray as yo, Raycaster as Lo, Quaternion as de, Object3D as dn, Euler as Po, MeshBasicMaterial as Qr, LineBasicMaterial as _o, CylinderGeometry as Vt, BoxGeometry as Ut, BufferGeometry as jn, Float32BufferAttribute as qn, OctahedronGeometry as Gi, Line as Fe, SphereGeometry as wo, TorusGeometry as Ii, PlaneGeometry as Mo } from "three";
6
6
  import * as Qt from "@thatopen/fragments";
7
7
  import { FragmentsGroup as Ws, Serializer as Do } from "@thatopen/fragments";
8
8
  import * as k from "web-ifc";
9
- const Kr = 0, bo = 1, vo = 2, qn = 2, Xs = 1.25, Qn = 1, Is = 6 * 4 + 4 + 4, Ys = 65535, Uo = Math.pow(2, -24), $s = Symbol("SKIP_GENERATION");
9
+ const Kr = 0, bo = 1, vo = 2, Qn = 2, Xs = 1.25, Kn = 1, Is = 6 * 4 + 4 + 4, Ys = 65535, Uo = Math.pow(2, -24), $s = Symbol("SKIP_GENERATION");
10
10
  function xo(c) {
11
11
  return c.index ? c.index.count : c.attributes.position.count;
12
12
  }
@@ -63,7 +63,7 @@ function Nt(c, i, t) {
63
63
  function Go(c) {
64
64
  c[0] = c[1] = c[2] = 1 / 0, c[3] = c[4] = c[5] = -1 / 0;
65
65
  }
66
- function Kn(c) {
66
+ function Jn(c) {
67
67
  let i = -1, t = -1 / 0;
68
68
  for (let e = 0; e < 3; e++) {
69
69
  const s = c[e + 3] - c[e];
@@ -71,10 +71,10 @@ function Kn(c) {
71
71
  }
72
72
  return i;
73
73
  }
74
- function Jn(c, i) {
74
+ function tr(c, i) {
75
75
  i.set(c);
76
76
  }
77
- function tr(c, i, t) {
77
+ function er(c, i, t) {
78
78
  let e, s;
79
79
  for (let n = 0; n < 3; n++) {
80
80
  const r = n + 3;
@@ -149,9 +149,9 @@ const Te = 32, Ho = (c, i) => c.candidate - i.candidate, Se = new Array(Te).fill
149
149
  function Wo(c, i, t, e, s, n) {
150
150
  let r = -1, o = 0;
151
151
  if (n === Kr)
152
- r = Kn(i), r !== -1 && (o = (i[r] + i[r + 3]) / 2);
152
+ r = Jn(i), r !== -1 && (o = (i[r] + i[r + 3]) / 2);
153
153
  else if (n === bo)
154
- r = Kn(c), r !== -1 && (o = Xo(t, e, s, r));
154
+ r = Jn(c), r !== -1 && (o = Xo(t, e, s, r));
155
155
  else if (n === vo) {
156
156
  const a = di(c);
157
157
  let l = Xs * s;
@@ -194,7 +194,7 @@ function Wo(c, i, t, e, s, n) {
194
194
  O !== 0 && (b = di(w) / a);
195
195
  let Y = 0;
196
196
  y !== 0 && (Y = di(L) / a);
197
- const N = Qn + Xs * (b * O + Y * y);
197
+ const N = Kn + Xs * (b * O + Y * y);
198
198
  N < l && (r = I, l = N, o = F.candidate);
199
199
  }
200
200
  } else {
@@ -212,20 +212,20 @@ function Wo(c, i, t, e, s, n) {
212
212
  y.count++, zi(S, t, y.bounds);
213
213
  }
214
214
  const p = Se[Te - 1];
215
- Jn(p.bounds, p.rightCacheBounds);
215
+ tr(p.bounds, p.rightCacheBounds);
216
216
  for (let S = Te - 2; S >= 0; S--) {
217
217
  const m = Se[S], F = Se[S + 1];
218
- tr(m.bounds, F.rightCacheBounds, m.rightCacheBounds);
218
+ er(m.bounds, F.rightCacheBounds, m.rightCacheBounds);
219
219
  }
220
220
  let R = 0;
221
221
  for (let S = 0; S < Te - 1; S++) {
222
222
  const m = Se[S], F = m.count, O = m.bounds, w = Se[S + 1].rightCacheBounds;
223
- F !== 0 && (R === 0 ? Jn(O, ki) : tr(O, ki, ki)), R += F;
223
+ F !== 0 && (R === 0 ? tr(O, ki) : er(O, ki, ki)), R += F;
224
224
  let L = 0, b = 0;
225
225
  R !== 0 && (L = di(ki) / a);
226
226
  const Y = s - R;
227
227
  Y !== 0 && (b = di(w) / a);
228
- const N = Qn + Xs * (L * R + b * Y);
228
+ const N = Kn + Xs * (L * R + b * Y);
229
229
  N < l && (r = I, l = N, o = m.candidate);
230
230
  }
231
231
  }
@@ -410,7 +410,7 @@ const Ko = function() {
410
410
  let p, R;
411
411
  T !== 0 ? p = (f * I - d * u) / T : p = 0, R = (f + p * I) / u, r.x = p, r.y = R;
412
412
  };
413
- }(), vn = function() {
413
+ }(), Un = function() {
414
414
  const c = new ai(), i = new Q(), t = new Q();
415
415
  return function(s, n, r, o) {
416
416
  Ko(s, n, c);
@@ -440,7 +440,7 @@ const Ko = function() {
440
440
  }
441
441
  };
442
442
  }(), Jo = function() {
443
- const c = new Q(), i = new Q(), t = new bn(), e = new Ee();
443
+ const c = new Q(), i = new Q(), t = new vn(), e = new Ee();
444
444
  return function(n, r) {
445
445
  const { radius: o, center: a } = n, { a: l, b: h, c: f } = r;
446
446
  if (e.start = l, e.end = h, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o || (e.start = l, e.end = f, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o) || (e.start = h, e.end = f, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o))
@@ -459,7 +459,7 @@ function js(c) {
459
459
  }
460
460
  class ne extends ii {
461
461
  constructor(...i) {
462
- super(...i), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new Q()), this.satBounds = new Array(4).fill().map(() => new Ae()), this.points = [this.a, this.b, this.c], this.sphere = new Oo(), this.plane = new bn(), this.needsUpdate = !0;
462
+ super(...i), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new Q()), this.satBounds = new Array(4).fill().map(() => new Ae()), this.points = [this.a, this.b, this.c], this.sphere = new Oo(), this.plane = new vn(), this.needsUpdate = !0;
463
463
  }
464
464
  intersectsSphere(i) {
465
465
  return Jo(i, this);
@@ -482,7 +482,7 @@ ne.prototype.closestPointToSegment = function() {
482
482
  let h, f = 1 / 0;
483
483
  for (let I = 0; I < 3; I++) {
484
484
  const u = (I + 1) % 3;
485
- t.start.copy(l[I]), t.end.copy(l[u]), vn(t, s, c, i), h = c.distanceToSquared(i), h < f && (f = h, n && n.copy(c), r && r.copy(i));
485
+ t.start.copy(l[I]), t.end.copy(l[u]), Un(t, s, c, i), h = c.distanceToSquared(i), h < f && (f = h, n && n.copy(c), r && r.copy(i));
486
486
  }
487
487
  return this.closestPointToPoint(o, c), h = o.distanceToSquared(c), h < f && (f = h, n && n.copy(c), r && r.copy(o)), this.closestPointToPoint(a, c), h = a.distanceToSquared(c), h < f && (f = h, n && n.copy(c), r && r.copy(a)), Math.sqrt(f);
488
488
  };
@@ -586,7 +586,7 @@ ne.prototype.distanceToTriangle = function() {
586
586
  e.set(this[I], this[u]);
587
587
  for (let d = 0; d < 3; d++) {
588
588
  const E = t[d], T = t[(d + 1) % 3];
589
- s.set(r[E], r[T]), vn(e, s, c, i);
589
+ s.set(r[E], r[T]), Un(e, s, c, i);
590
590
  const p = c.distanceToSquared(i);
591
591
  p < h && (h = p, o && o.copy(c), a && a.copy(i));
592
592
  }
@@ -712,7 +712,7 @@ Bt.prototype.distanceToBox = function() {
712
712
  const p = i[T];
713
713
  for (let R = 0; R < 12; R++) {
714
714
  const S = t[R];
715
- vn(p, S, e, s);
715
+ Un(p, S, e, s);
716
716
  const m = e.distanceToSquared(s);
717
717
  if (m < d && (d = m, a && a.copy(e), l && l.copy(s), m < h))
718
718
  return Math.sqrt(m);
@@ -721,7 +721,7 @@ Bt.prototype.distanceToBox = function() {
721
721
  return Math.sqrt(d);
722
722
  };
723
723
  }();
724
- class Un {
724
+ class xn {
725
725
  constructor(i) {
726
726
  this._getNewPrimitive = i, this._primitives = [];
727
727
  }
@@ -733,7 +733,7 @@ class Un {
733
733
  this._primitives.push(i);
734
734
  }
735
735
  }
736
- class ea extends Un {
736
+ class ea extends xn {
737
737
  constructor() {
738
738
  super(() => new ne());
739
739
  }
@@ -771,7 +771,7 @@ class ia {
771
771
  }
772
772
  const Ft = new ia();
773
773
  let Pe, si;
774
- const ze = [], Wi = /* @__PURE__ */ new Un(() => new ae());
774
+ const ze = [], Wi = /* @__PURE__ */ new xn(() => new ae());
775
775
  function sa(c, i, t, e, s, n) {
776
776
  Pe = Wi.getPrimitive(), si = Wi.getPrimitive(), ze.push(Pe, si), Ft.setBuffer(c._roots[i]);
777
777
  const r = En(0, c.geometry, t, e, s, n);
@@ -809,7 +809,7 @@ function En(c, i, t, e, s = null, n = 0, r = 0) {
809
809
  R || (R = Pe, Nt(d, o, R));
810
810
  const m = zt(d * 2, a), F = t(R, m, T, r + 1, n + d);
811
811
  let O;
812
- if (F === qn) {
812
+ if (F === Qn) {
813
813
  const N = b(d), g = Y(d) - N;
814
814
  O = e(N, g, !0, r + 1, n + d, R);
815
815
  } else
@@ -827,7 +827,7 @@ function En(c, i, t, e, s = null, n = 0, r = 0) {
827
827
  S = si, Nt(E, o, S);
828
828
  const y = zt(E * 2, a), w = t(S, y, p, r + 1, n + E);
829
829
  let L;
830
- if (w === qn) {
830
+ if (w === Qn) {
831
831
  const N = b(E), g = Y(E) - N;
832
832
  L = e(N, g, !0, r + 1, n + E, S);
833
833
  } else
@@ -862,7 +862,7 @@ function na(c, i, t = {}, e = 0, s = 1 / 0) {
862
862
  const l = Math.sqrt(o);
863
863
  return t.point ? t.point.copy(qs) : t.point = qs.clone(), t.distance = l, t.faceIndex = a, t;
864
864
  }
865
- const ke = /* @__PURE__ */ new Q(), He = /* @__PURE__ */ new Q(), We = /* @__PURE__ */ new Q(), Xi = /* @__PURE__ */ new ai(), $i = /* @__PURE__ */ new ai(), Zi = /* @__PURE__ */ new ai(), er = /* @__PURE__ */ new Q(), ir = /* @__PURE__ */ new Q(), sr = /* @__PURE__ */ new Q(), ji = /* @__PURE__ */ new Q();
865
+ const ke = /* @__PURE__ */ new Q(), He = /* @__PURE__ */ new Q(), We = /* @__PURE__ */ new Q(), Xi = /* @__PURE__ */ new ai(), $i = /* @__PURE__ */ new ai(), Zi = /* @__PURE__ */ new ai(), ir = /* @__PURE__ */ new Q(), sr = /* @__PURE__ */ new Q(), nr = /* @__PURE__ */ new Q(), ji = /* @__PURE__ */ new Q();
866
866
  function ra(c, i, t, e, s, n) {
867
867
  let r;
868
868
  return n === No ? r = c.intersectTriangle(e, t, i, !0, s) : r = c.intersectTriangle(i, t, e, n !== qr, s), r === null ? null : {
@@ -874,7 +874,7 @@ function oa(c, i, t, e, s, n, r, o, a) {
874
874
  ke.fromBufferAttribute(i, n), He.fromBufferAttribute(i, r), We.fromBufferAttribute(i, o);
875
875
  const l = ra(c, ke, He, We, ji, a);
876
876
  if (l) {
877
- e && (Xi.fromBufferAttribute(e, n), $i.fromBufferAttribute(e, r), Zi.fromBufferAttribute(e, o), l.uv = ii.getInterpolation(ji, ke, He, We, Xi, $i, Zi, new ai())), s && (Xi.fromBufferAttribute(s, n), $i.fromBufferAttribute(s, r), Zi.fromBufferAttribute(s, o), l.uv1 = ii.getInterpolation(ji, ke, He, We, Xi, $i, Zi, new ai())), t && (er.fromBufferAttribute(t, n), ir.fromBufferAttribute(t, r), sr.fromBufferAttribute(t, o), l.normal = ii.getInterpolation(ji, ke, He, We, er, ir, sr, new Q()), l.normal.dot(c.direction) > 0 && l.normal.multiplyScalar(-1));
877
+ e && (Xi.fromBufferAttribute(e, n), $i.fromBufferAttribute(e, r), Zi.fromBufferAttribute(e, o), l.uv = ii.getInterpolation(ji, ke, He, We, Xi, $i, Zi, new ai())), s && (Xi.fromBufferAttribute(s, n), $i.fromBufferAttribute(s, r), Zi.fromBufferAttribute(s, o), l.uv1 = ii.getInterpolation(ji, ke, He, We, Xi, $i, Zi, new ai())), t && (ir.fromBufferAttribute(t, n), sr.fromBufferAttribute(t, r), nr.fromBufferAttribute(t, o), l.normal = ii.getInterpolation(ji, ke, He, We, ir, sr, nr, new Q()), l.normal.dot(c.direction) > 0 && l.normal.multiplyScalar(-1));
878
878
  const h = {
879
879
  a: n,
880
880
  b: r,
@@ -959,9 +959,9 @@ function ha(c, i = null) {
959
959
  }
960
960
  }
961
961
  }
962
- const nr = /* @__PURE__ */ new ae();
962
+ const rr = /* @__PURE__ */ new ae();
963
963
  function Me(c, i, t, e) {
964
- return Nt(c, i, nr), t.intersectBox(nr, e);
964
+ return Nt(c, i, rr), t.intersectBox(rr, e);
965
965
  }
966
966
  function ua(c, i, t, e, s, n) {
967
967
  const { geometry: r, _indirectBuffer: o } = c;
@@ -988,7 +988,7 @@ function Ia(c, i, t, e, s, n, r) {
988
988
  }
989
989
  return !1;
990
990
  }
991
- const rr = /* @__PURE__ */ new Q();
991
+ const or = /* @__PURE__ */ new Q();
992
992
  function da(c, i, t, e, s) {
993
993
  Ft.setBuffer(c._roots[i]), pn(0, c, t, e, s), Ft.clearBuffer();
994
994
  }
@@ -999,12 +999,12 @@ function pn(c, i, t, e, s) {
999
999
  aa(i, t, e, h, f, s);
1000
1000
  } else {
1001
1001
  const h = jt(c);
1002
- Me(h, n, e, rr) && pn(h, i, t, e, s);
1002
+ Me(h, n, e, or) && pn(h, i, t, e, s);
1003
1003
  const f = qt(c, o);
1004
- Me(f, n, e, rr) && pn(f, i, t, e, s);
1004
+ Me(f, n, e, or) && pn(f, i, t, e, s);
1005
1005
  }
1006
1006
  }
1007
- const or = /* @__PURE__ */ new Q(), Ea = ["x", "y", "z"];
1007
+ const ar = /* @__PURE__ */ new Q(), Ea = ["x", "y", "z"];
1008
1008
  function pa(c, i, t, e) {
1009
1009
  Ft.setBuffer(c._roots[i]);
1010
1010
  const s = Cn(0, c, t, e);
@@ -1020,7 +1020,7 @@ function Cn(c, i, t, e) {
1020
1020
  const l = eo(c, r), h = Ea[l], I = e.direction[h] >= 0;
1021
1021
  let u, d;
1022
1022
  I ? (u = jt(c), d = qt(c, r)) : (u = qt(c, r), d = jt(c));
1023
- const T = Me(u, s, e, or) ? Cn(u, i, t, e) : null;
1023
+ const T = Me(u, s, e, ar) ? Cn(u, i, t, e) : null;
1024
1024
  if (T) {
1025
1025
  const S = T.point[h];
1026
1026
  if (I ? S <= s[d + l] : (
@@ -1029,11 +1029,11 @@ function Cn(c, i, t, e) {
1029
1029
  ))
1030
1030
  return T;
1031
1031
  }
1032
- const R = Me(d, s, e, or) ? Cn(d, i, t, e) : null;
1032
+ const R = Me(d, s, e, ar) ? Cn(d, i, t, e) : null;
1033
1033
  return T && R ? T.distance <= R.distance ? T : R : T || R || null;
1034
1034
  }
1035
1035
  }
1036
- const qi = /* @__PURE__ */ new ae(), Xe = /* @__PURE__ */ new ne(), $e = /* @__PURE__ */ new ne(), pi = /* @__PURE__ */ new pe(), ar = /* @__PURE__ */ new Bt(), Qi = /* @__PURE__ */ new Bt();
1036
+ const qi = /* @__PURE__ */ new ae(), Xe = /* @__PURE__ */ new ne(), $e = /* @__PURE__ */ new ne(), pi = /* @__PURE__ */ new pe(), cr = /* @__PURE__ */ new Bt(), Qi = /* @__PURE__ */ new Bt();
1037
1037
  function Ca(c, i, t, e) {
1038
1038
  Ft.setBuffer(c._roots[i]);
1039
1039
  const s = Tn(0, c, t, e);
@@ -1042,7 +1042,7 @@ function Ca(c, i, t, e) {
1042
1042
  function Tn(c, i, t, e, s = null) {
1043
1043
  const { float32Array: n, uint16Array: r, uint32Array: o } = Ft;
1044
1044
  let a = c * 2;
1045
- if (s === null && (t.boundingBox || t.computeBoundingBox(), ar.set(t.boundingBox.min, t.boundingBox.max, e), s = ar), zt(a, r)) {
1045
+ if (s === null && (t.boundingBox || t.computeBoundingBox(), cr.set(t.boundingBox.min, t.boundingBox.max, e), s = cr), zt(a, r)) {
1046
1046
  const h = i.geometry, f = h.index, I = h.attributes.position, u = t.index, d = t.attributes.position, E = kt(c, o), T = Zt(a, r);
1047
1047
  if (pi.copy(e).invert(), t.boundsTree)
1048
1048
  return Nt(c, n, Qi), Qi.matrix.copy(pi), Qi.needsUpdate = !0, t.boundsTree.shapecast({
@@ -1151,7 +1151,7 @@ function Fa(c, i = null) {
1151
1151
  }
1152
1152
  }
1153
1153
  }
1154
- const cr = /* @__PURE__ */ new Q();
1154
+ const lr = /* @__PURE__ */ new Q();
1155
1155
  function Sa(c, i, t, e, s) {
1156
1156
  Ft.setBuffer(c._roots[i]), mn(0, c, t, e, s), Ft.clearBuffer();
1157
1157
  }
@@ -1162,12 +1162,12 @@ function mn(c, i, t, e, s) {
1162
1162
  ua(i, t, e, h, f, s);
1163
1163
  } else {
1164
1164
  const h = jt(c);
1165
- Me(h, n, e, cr) && mn(h, i, t, e, s);
1165
+ Me(h, n, e, lr) && mn(h, i, t, e, s);
1166
1166
  const f = qt(c, o);
1167
- Me(f, n, e, cr) && mn(f, i, t, e, s);
1167
+ Me(f, n, e, lr) && mn(f, i, t, e, s);
1168
1168
  }
1169
1169
  }
1170
- const lr = /* @__PURE__ */ new Q(), Oa = ["x", "y", "z"];
1170
+ const hr = /* @__PURE__ */ new Q(), Oa = ["x", "y", "z"];
1171
1171
  function Na(c, i, t, e) {
1172
1172
  Ft.setBuffer(c._roots[i]);
1173
1173
  const s = Rn(0, c, t, e);
@@ -1183,7 +1183,7 @@ function Rn(c, i, t, e) {
1183
1183
  const l = eo(c, r), h = Oa[l], I = e.direction[h] >= 0;
1184
1184
  let u, d;
1185
1185
  I ? (u = jt(c), d = qt(c, r)) : (u = qt(c, r), d = jt(c));
1186
- const T = Me(u, s, e, lr) ? Rn(u, i, t, e) : null;
1186
+ const T = Me(u, s, e, hr) ? Rn(u, i, t, e) : null;
1187
1187
  if (T) {
1188
1188
  const S = T.point[h];
1189
1189
  if (I ? S <= s[d + l] : (
@@ -1192,11 +1192,11 @@ function Rn(c, i, t, e) {
1192
1192
  ))
1193
1193
  return T;
1194
1194
  }
1195
- const R = Me(d, s, e, lr) ? Rn(d, i, t, e) : null;
1195
+ const R = Me(d, s, e, hr) ? Rn(d, i, t, e) : null;
1196
1196
  return T && R ? T.distance <= R.distance ? T : R : T || R || null;
1197
1197
  }
1198
1198
  }
1199
- const Ji = /* @__PURE__ */ new ae(), Ze = /* @__PURE__ */ new ne(), je = /* @__PURE__ */ new ne(), Ti = /* @__PURE__ */ new pe(), hr = /* @__PURE__ */ new Bt(), ts = /* @__PURE__ */ new Bt();
1199
+ const Ji = /* @__PURE__ */ new ae(), Ze = /* @__PURE__ */ new ne(), je = /* @__PURE__ */ new ne(), Ti = /* @__PURE__ */ new pe(), ur = /* @__PURE__ */ new Bt(), ts = /* @__PURE__ */ new Bt();
1200
1200
  function ya(c, i, t, e) {
1201
1201
  Ft.setBuffer(c._roots[i]);
1202
1202
  const s = gn(0, c, t, e);
@@ -1205,7 +1205,7 @@ function ya(c, i, t, e) {
1205
1205
  function gn(c, i, t, e, s = null) {
1206
1206
  const { float32Array: n, uint16Array: r, uint32Array: o } = Ft;
1207
1207
  let a = c * 2;
1208
- if (s === null && (t.boundingBox || t.computeBoundingBox(), hr.set(t.boundingBox.min, t.boundingBox.max, e), s = hr), zt(a, r)) {
1208
+ if (s === null && (t.boundingBox || t.computeBoundingBox(), ur.set(t.boundingBox.min, t.boundingBox.max, e), s = ur), zt(a, r)) {
1209
1209
  const h = i.geometry, f = h.index, I = h.attributes.position, u = t.index, d = t.attributes.position, E = kt(c, o), T = Zt(a, r);
1210
1210
  if (Ti.copy(e).invert(), t.boundsTree)
1211
1211
  return Nt(c, n, ts), ts.matrix.copy(Ti), ts.needsUpdate = !0, t.boundsTree.shapecast({
@@ -1281,7 +1281,7 @@ function Ma(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
1281
1281
  function Da() {
1282
1282
  return typeof SharedArrayBuffer < "u";
1283
1283
  }
1284
- const wi = new Ft.constructor(), ps = new Ft.constructor(), ye = new Un(() => new ae()), qe = new ae(), Qe = new ae(), Js = new ae(), tn = new ae();
1284
+ const wi = new Ft.constructor(), ps = new Ft.constructor(), ye = new xn(() => new ae()), qe = new ae(), Qe = new ae(), Js = new ae(), tn = new ae();
1285
1285
  let en = !1;
1286
1286
  function ba(c, i, t, e) {
1287
1287
  if (en)
@@ -1495,8 +1495,8 @@ function Kt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
1495
1495
  }
1496
1496
  return y;
1497
1497
  }
1498
- const is = /* @__PURE__ */ new Bt(), ur = /* @__PURE__ */ new ae();
1499
- class xn {
1498
+ const is = /* @__PURE__ */ new Bt(), fr = /* @__PURE__ */ new ae();
1499
+ class Bn {
1500
1500
  static serialize(i, t = {}) {
1501
1501
  t = {
1502
1502
  cloneBuffers: !0,
@@ -1520,7 +1520,7 @@ class xn {
1520
1520
  indirect: !!i.indirectBuffer,
1521
1521
  ...e
1522
1522
  };
1523
- const { index: s, roots: n, indirectBuffer: r } = i, o = new xn(t, { ...e, [$s]: !0 });
1523
+ const { index: s, roots: n, indirectBuffer: r } = i, o = new Bn(t, { ...e, [$s]: !0 });
1524
1524
  if (o._roots = n, o._indirectBuffer = r || null, e.setIndex) {
1525
1525
  const a = t.getIndex();
1526
1526
  if (a === null) {
@@ -1576,7 +1576,7 @@ class xn {
1576
1576
  }
1577
1577
  }
1578
1578
  /* Core Cast Functions */
1579
- raycast(i, t = $n) {
1579
+ raycast(i, t = Zn) {
1580
1580
  const e = this._roots, s = this.geometry, n = [], r = t.isMaterial, o = Array.isArray(t), a = s.groups, l = r ? t.side : t, h = this.indirect ? Sa : da;
1581
1581
  for (let f = 0, I = e.length; f < I; f++) {
1582
1582
  const u = o ? t[a[f].materialIndex].side : l, d = n.length;
@@ -1588,7 +1588,7 @@ class xn {
1588
1588
  }
1589
1589
  return n;
1590
1590
  }
1591
- raycastFirst(i, t = $n) {
1591
+ raycastFirst(i, t = Zn) {
1592
1592
  const e = this._roots, s = this.geometry, n = t.isMaterial, r = Array.isArray(t);
1593
1593
  let o = null;
1594
1594
  const a = s.groups, l = n ? t.side : t, h = this.indirect ? Na : pa;
@@ -1703,27 +1703,27 @@ class xn {
1703
1703
  }
1704
1704
  getBoundingBox(i) {
1705
1705
  return i.makeEmpty(), this._roots.forEach((e) => {
1706
- Nt(0, new Float32Array(e), ur), i.union(ur);
1706
+ Nt(0, new Float32Array(e), fr), i.union(fr);
1707
1707
  }), i;
1708
1708
  }
1709
1709
  }
1710
- function fr(c, i, t) {
1710
+ function Ir(c, i, t) {
1711
1711
  return c === null || (c.point.applyMatrix4(i.matrixWorld), c.distance = c.point.distanceTo(t.ray.origin), c.object = i, c.distance < t.near || c.distance > t.far) ? null : c;
1712
1712
  }
1713
- const sn = /* @__PURE__ */ new yo(), Ir = /* @__PURE__ */ new pe(), va = rt.prototype.raycast;
1713
+ const sn = /* @__PURE__ */ new yo(), dr = /* @__PURE__ */ new pe(), va = rt.prototype.raycast;
1714
1714
  function Ua(c, i) {
1715
1715
  if (this.geometry.boundsTree) {
1716
1716
  if (this.material === void 0)
1717
1717
  return;
1718
- Ir.copy(this.matrixWorld).invert(), sn.copy(c.ray).applyMatrix4(Ir);
1718
+ dr.copy(this.matrixWorld).invert(), sn.copy(c.ray).applyMatrix4(dr);
1719
1719
  const t = this.geometry.boundsTree;
1720
1720
  if (c.firstHitOnly === !0) {
1721
- const e = fr(t.raycastFirst(sn, this.material), this, c);
1721
+ const e = Ir(t.raycastFirst(sn, this.material), this, c);
1722
1722
  e && i.push(e);
1723
1723
  } else {
1724
1724
  const e = t.raycast(sn, this.material);
1725
1725
  for (let s = 0, n = e.length; s < n; s++) {
1726
- const r = fr(e[s], this, c);
1726
+ const r = Ir(e[s], this, c);
1727
1727
  r && i.push(r);
1728
1728
  }
1729
1729
  }
@@ -1731,7 +1731,7 @@ function Ua(c, i) {
1731
1731
  va.call(this, c, i);
1732
1732
  }
1733
1733
  function xa(c) {
1734
- return this.boundsTree = new xn(this, c), this.boundsTree;
1734
+ return this.boundsTree = new Bn(this, c), this.boundsTree;
1735
1735
  }
1736
1736
  function Ba() {
1737
1737
  this.boundsTree = null;
@@ -1794,7 +1794,7 @@ class _e {
1794
1794
  this.handlers.length = 0;
1795
1795
  }
1796
1796
  }
1797
- class Bn {
1797
+ class Vn {
1798
1798
  constructor(i) {
1799
1799
  /** Whether is component is {@link Disposable}. */
1800
1800
  C(this, "isDisposeable", () => "dispose" in this && "onDisposed" in this);
@@ -1809,9 +1809,9 @@ class Bn {
1809
1809
  this.components = i;
1810
1810
  }
1811
1811
  }
1812
- class At extends Bn {
1812
+ class At extends Vn {
1813
1813
  }
1814
- class Vn extends Bn {
1814
+ class Yn extends Vn {
1815
1815
  constructor(t) {
1816
1816
  super(t);
1817
1817
  C(this, "worlds", /* @__PURE__ */ new Map());
@@ -1829,7 +1829,7 @@ class Vn extends Bn {
1829
1829
  });
1830
1830
  }
1831
1831
  }
1832
- class Va extends Vn {
1832
+ class Va extends Yn {
1833
1833
  constructor() {
1834
1834
  super(...arguments);
1835
1835
  /**
@@ -1840,7 +1840,7 @@ class Va extends Vn {
1840
1840
  C(this, "hasCameraControls", () => "controls" in this);
1841
1841
  }
1842
1842
  }
1843
- class Ya extends Vn {
1843
+ class Ya extends Yn {
1844
1844
  constructor() {
1845
1845
  super(...arguments);
1846
1846
  /** {@link Updateable.onBeforeUpdate} */
@@ -1958,7 +1958,7 @@ const Mi = class Mi extends At {
1958
1958
  */
1959
1959
  C(Mi, "uuid", "76e9cd8e-ad8f-4753-9ef6-cbc60f7247fe");
1960
1960
  let De = Mi;
1961
- class Ga extends Vn {
1961
+ class Ga extends Yn {
1962
1962
  constructor(t) {
1963
1963
  super(t);
1964
1964
  /** {@link Disposable.onDisposed} */
@@ -2094,7 +2094,9 @@ class re extends Map {
2094
2094
  super.clear(), this.onCleared.trigger();
2095
2095
  }
2096
2096
  /**
2097
- * Sets the value for the specified key in the map and triggers the appropriate event (onItemSet or onItemUpdated).
2097
+ * Sets the value for the specified key in the map.
2098
+ * If the item is new, then onItemSet is triggered.
2099
+ * If the item is already in the map, then onItemUpdated is triggered.
2098
2100
  *
2099
2101
  * @param key - The key of the item to set.
2100
2102
  * @param value - The value of the item to set.
@@ -2126,10 +2128,10 @@ class re extends Map {
2126
2128
  }
2127
2129
  class ph extends At {
2128
2130
  }
2129
- const ds = 0, za = 1, ka = new Q(), dr = new Ee(), nn = new bn(), Er = new Q(), ss = new ii();
2131
+ const ds = 0, za = 1, ka = new Q(), Er = new Ee(), nn = new vn(), pr = new Q(), ss = new ii();
2130
2132
  class Ha {
2131
2133
  constructor() {
2132
- this.tolerance = -1, this.faces = [], this.newFaces = [], this.assigned = new pr(), this.unassigned = new pr(), this.vertices = [];
2134
+ this.tolerance = -1, this.faces = [], this.newFaces = [], this.assigned = new Cr(), this.unassigned = new Cr(), this.vertices = [];
2133
2135
  }
2134
2136
  setFromPoints(i) {
2135
2137
  if (i.length >= 4) {
@@ -2259,12 +2261,12 @@ class Ha {
2259
2261
  }
2260
2262
  const o = e[r], a = s[r];
2261
2263
  let l, h;
2262
- n = 0, dr.set(o.point, a.point);
2264
+ n = 0, Er.set(o.point, a.point);
2263
2265
  for (let I = 0, u = this.vertices.length; I < u; I++) {
2264
2266
  const d = i[I];
2265
2267
  if (d !== o && d !== a) {
2266
- dr.closestPointToPoint(d.point, !0, Er);
2267
- const E = Er.distanceToSquared(d.point);
2268
+ Er.closestPointToPoint(d.point, !0, pr);
2269
+ const E = pr.distanceToSquared(d.point);
2268
2270
  E > n && (n = E, l = d);
2269
2271
  }
2270
2272
  }
@@ -2433,7 +2435,7 @@ class Wa {
2433
2435
  this.point = i, this.prev = null, this.next = null, this.face = null;
2434
2436
  }
2435
2437
  }
2436
- class pr {
2438
+ class Cr {
2437
2439
  constructor() {
2438
2440
  this.head = null, this.tail = null;
2439
2441
  }
@@ -2585,7 +2587,7 @@ function Ch(c, i, t) {
2585
2587
  ];
2586
2588
  return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] > 0;
2587
2589
  }
2588
- class Cr {
2590
+ class Tr {
2589
2591
  static isTransparent(i) {
2590
2592
  return i.transparent && i.opacity < 1;
2591
2593
  }
@@ -3137,9 +3139,9 @@ const Fs = class Fs {
3137
3139
  /**
3138
3140
  * The version of the @thatopen/components library.
3139
3141
  */
3140
- C(Fs, "release", "2.3.16");
3142
+ C(Fs, "release", "2.3.17");
3141
3143
  let Cs = Fs;
3142
- class Qa extends Bn {
3144
+ class Qa extends Vn {
3143
3145
  constructor() {
3144
3146
  super(...arguments);
3145
3147
  /**
@@ -3618,7 +3620,7 @@ function ve(c) {
3618
3620
  function Ne(c) {
3619
3621
  return c.isOrthographicCamera;
3620
3622
  }
3621
- const Je = Math.PI * 2, Tr = Math.PI / 2, io = 1e-5, Ri = Math.PI / 180;
3623
+ const Je = Math.PI * 2, mr = Math.PI / 2, io = 1e-5, Ri = Math.PI / 180;
3622
3624
  function Jt(c, i, t) {
3623
3625
  return Math.max(i, Math.min(t, c));
3624
3626
  }
@@ -3628,7 +3630,7 @@ function gt(c, i = io) {
3628
3630
  function pt(c, i, t = io) {
3629
3631
  return gt(c - i, t);
3630
3632
  }
3631
- function mr(c, i) {
3633
+ function Rr(c, i) {
3632
3634
  return Math.round(c / i) * i;
3633
3635
  }
3634
3636
  function gi(c) {
@@ -3648,7 +3650,7 @@ function ns(c, i, t, e, s = 1 / 0, n) {
3648
3650
  let u = i + (l + I) * a;
3649
3651
  return h - c > 0 == u > h && (u = h, t.value = (u - h) / n), u;
3650
3652
  }
3651
- function Rr(c, i, t, e, s = 1 / 0, n, r) {
3653
+ function gr(c, i, t, e, s = 1 / 0, n, r) {
3652
3654
  e = Math.max(1e-4, e);
3653
3655
  const o = 2 / e, a = o * n, l = 1 / (1 + a + 0.48 * a * a + 0.235 * a * a * a);
3654
3656
  let h = i.x, f = i.y, I = i.z, u = c.x - h, d = c.y - f, E = c.z - I;
@@ -3736,7 +3738,7 @@ class ic {
3736
3738
  }
3737
3739
  }
3738
3740
  const sc = "2.7.3", rs = 1 / 8, so = typeof window < "u", nc = so && /Mac/.test(navigator.platform), rc = !(so && "PointerEvent" in window);
3739
- let lt, gr, os, cn, Yt, ut, Et, ti, Fi, le, he, Ue, Ar, Fr, Xt, Si, ei, Sr, ln, Or, hn, un, as;
3741
+ let lt, Ar, os, cn, Yt, ut, Et, ti, Fi, le, he, Ue, Fr, Sr, Xt, Si, ei, Or, ln, Nr, hn, un, as;
3740
3742
  class vt extends ic {
3741
3743
  /**
3742
3744
  * Injects THREE as the dependency. You can then proceed to use CameraControls.
@@ -3779,7 +3781,7 @@ class vt extends ic {
3779
3781
  * @category Statics
3780
3782
  */
3781
3783
  static install(i) {
3782
- lt = i.THREE, gr = Object.freeze(new lt.Vector3(0, 0, 0)), os = Object.freeze(new lt.Vector3(0, 1, 0)), cn = Object.freeze(new lt.Vector3(0, 0, 1)), Yt = new lt.Vector2(), ut = new lt.Vector3(), Et = new lt.Vector3(), ti = new lt.Vector3(), Fi = new lt.Vector3(), le = new lt.Vector3(), he = new lt.Vector3(), Ue = new lt.Vector3(), Ar = new lt.Vector3(), Fr = new lt.Vector3(), Xt = new lt.Spherical(), Si = new lt.Spherical(), ei = new lt.Box3(), Sr = new lt.Box3(), ln = new lt.Sphere(), Or = new lt.Quaternion(), hn = new lt.Quaternion(), un = new lt.Matrix4(), as = new lt.Raycaster();
3784
+ lt = i.THREE, Ar = Object.freeze(new lt.Vector3(0, 0, 0)), os = Object.freeze(new lt.Vector3(0, 1, 0)), cn = Object.freeze(new lt.Vector3(0, 0, 1)), Yt = new lt.Vector2(), ut = new lt.Vector3(), Et = new lt.Vector3(), ti = new lt.Vector3(), Fi = new lt.Vector3(), le = new lt.Vector3(), he = new lt.Vector3(), Ue = new lt.Vector3(), Fr = new lt.Vector3(), Sr = new lt.Vector3(), Xt = new lt.Spherical(), Si = new lt.Spherical(), ei = new lt.Box3(), Or = new lt.Box3(), ln = new lt.Sphere(), Nr = new lt.Quaternion(), hn = new lt.Quaternion(), un = new lt.Matrix4(), as = new lt.Raycaster();
3783
3785
  }
3784
3786
  /**
3785
3787
  * list all ACTIONs
@@ -4415,11 +4417,11 @@ class vt extends ic {
4415
4417
  fitToBox(i, t, { cover: e = !1, paddingLeft: s = 0, paddingRight: n = 0, paddingBottom: r = 0, paddingTop: o = 0 } = {}) {
4416
4418
  const a = [], l = i.isBox3 ? ei.copy(i) : ei.setFromObject(i);
4417
4419
  l.isEmpty() && (console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"), Promise.resolve());
4418
- const h = mr(this._sphericalEnd.theta, Tr), f = mr(this._sphericalEnd.phi, Tr);
4420
+ const h = Rr(this._sphericalEnd.theta, mr), f = Rr(this._sphericalEnd.phi, mr);
4419
4421
  a.push(this.rotateTo(h, f, t));
4420
- const I = ut.setFromSpherical(this._sphericalEnd).normalize(), u = Or.setFromUnitVectors(I, cn), d = pt(Math.abs(I.y), 1);
4422
+ const I = ut.setFromSpherical(this._sphericalEnd).normalize(), u = Nr.setFromUnitVectors(I, cn), d = pt(Math.abs(I.y), 1);
4421
4423
  d && u.multiply(hn.setFromAxisAngle(os, h)), u.multiply(this._yAxisUpSpaceInverse);
4422
- const E = Sr.makeEmpty();
4424
+ const E = Or.makeEmpty();
4423
4425
  Et.copy(l.min).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setX(l.max.x).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setY(l.max.y).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setZ(l.min.z).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setZ(l.max.z).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setY(l.min.y).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setX(l.min.x).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).applyQuaternion(u), E.expandByPoint(Et), E.min.x -= s, E.min.y -= r, E.max.x += n, E.max.y += o, u.setFromUnitVectors(cn, I), d && u.premultiply(hn.invert()), u.premultiply(this._yAxisUpSpace);
4424
4426
  const T = E.getSize(ut), p = E.getCenter(Et).applyQuaternion(u);
4425
4427
  if (ve(this._camera)) {
@@ -4695,7 +4697,7 @@ class vt extends ic {
4695
4697
  * @category Methods
4696
4698
  */
4697
4699
  update(i) {
4698
- const t = this._sphericalEnd.theta - this._spherical.theta, e = this._sphericalEnd.phi - this._spherical.phi, s = this._sphericalEnd.radius - this._spherical.radius, n = Ar.subVectors(this._targetEnd, this._target), r = Fr.subVectors(this._focalOffsetEnd, this._focalOffset), o = this._zoomEnd - this._zoom;
4700
+ const t = this._sphericalEnd.theta - this._spherical.theta, e = this._sphericalEnd.phi - this._spherical.phi, s = this._sphericalEnd.radius - this._spherical.radius, n = Fr.subVectors(this._targetEnd, this._target), r = Sr.subVectors(this._focalOffsetEnd, this._focalOffset), o = this._zoomEnd - this._zoom;
4699
4701
  if (gt(t))
4700
4702
  this._thetaVelocity.value = 0, this._spherical.theta = this._sphericalEnd.theta;
4701
4703
  else {
@@ -4718,13 +4720,13 @@ class vt extends ic {
4718
4720
  this._targetVelocity.set(0, 0, 0), this._target.copy(this._targetEnd);
4719
4721
  else {
4720
4722
  const f = this._isUserControllingTruck ? this.draggingSmoothTime : this.smoothTime;
4721
- Rr(this._target, this._targetEnd, this._targetVelocity, f, this.maxSpeed, i, this._target), this._needsUpdate = !0;
4723
+ gr(this._target, this._targetEnd, this._targetVelocity, f, this.maxSpeed, i, this._target), this._needsUpdate = !0;
4722
4724
  }
4723
4725
  if (gt(r.x) && gt(r.y) && gt(r.z))
4724
4726
  this._focalOffsetVelocity.set(0, 0, 0), this._focalOffset.copy(this._focalOffsetEnd);
4725
4727
  else {
4726
4728
  const f = this._isUserControllingOffset ? this.draggingSmoothTime : this.smoothTime;
4727
- Rr(this._focalOffset, this._focalOffsetEnd, this._focalOffsetVelocity, f, this.maxSpeed, i, this._focalOffset), this._needsUpdate = !0;
4729
+ gr(this._focalOffset, this._focalOffsetEnd, this._focalOffsetVelocity, f, this.maxSpeed, i, this._focalOffset), this._needsUpdate = !0;
4728
4730
  }
4729
4731
  if (gt(o))
4730
4732
  this._zoomVelocity.value = 0, this._zoom = this._zoomEnd;
@@ -4871,7 +4873,7 @@ class vt extends ic {
4871
4873
  if (!(this.colliderMeshes.length >= 1) || an(this._camera, "_collisionTest"))
4872
4874
  return i;
4873
4875
  const e = this._getTargetDirection(Fi);
4874
- un.lookAt(gr, e, this._camera.up);
4876
+ un.lookAt(Ar, e, this._camera.up);
4875
4877
  for (let s = 0; s < 4; s++) {
4876
4878
  const n = Et.copy(this._nearPlaneCorners[s]);
4877
4879
  n.applyMatrix4(un);
@@ -5522,13 +5524,13 @@ class hc extends lc {
5522
5524
  let f = !0;
5523
5525
  const I = [];
5524
5526
  for (const u of n)
5525
- Cr.isTransparent(u) ? I.push(this._transparentMat) : (f = !1, I.push(r));
5527
+ Tr.isTransparent(u) ? I.push(this._transparentMat) : (f = !1, I.push(r));
5526
5528
  if (f) {
5527
5529
  r.dispose(), this.preventUpdate = !1;
5528
5530
  return;
5529
5531
  }
5530
5532
  a = I;
5531
- } else if (Cr.isTransparent(n)) {
5533
+ } else if (Tr.isTransparent(n)) {
5532
5534
  r.dispose(), this.preventUpdate = !1;
5533
5535
  return;
5534
5536
  } else
@@ -6433,12 +6435,12 @@ const ys = class ys extends At {
6433
6435
  * This UUID is used to register the component within the Components system.
6434
6436
  */
6435
6437
  C(ys, "uuid", "d1e814d5-b81c-4452-87a2-f039375e0489");
6436
- let Nr = ys;
6437
- const xe = new Lo(), bt = new Q(), Oe = new Q(), Ot = new de(), yr = {
6438
+ let yr = ys;
6439
+ const xe = new Lo(), bt = new Q(), Oe = new Q(), Ot = new de(), Lr = {
6438
6440
  X: new Q(1, 0, 0),
6439
6441
  Y: new Q(0, 1, 0),
6440
6442
  Z: new Q(0, 0, 1)
6441
- }, fn = { type: "change" }, Lr = { type: "mouseDown" }, Pr = { type: "mouseUp", mode: null }, _r = { type: "objectChange" };
6443
+ }, fn = { type: "change" }, Pr = { type: "mouseDown" }, _r = { type: "mouseUp", mode: null }, wr = { type: "objectChange" };
6442
6444
  class pc extends dn {
6443
6445
  constructor(i, t) {
6444
6446
  super(), t === void 0 && (console.warn('THREE.TransformControls: The second parameter "domElement" is now mandatory.'), t = document), this.isTransformControls = !0, this.visible = !1, this.domElement = t, this.domElement.style.touchAction = "none";
@@ -6477,7 +6479,7 @@ class pc extends dn {
6477
6479
  if (!(this.object === void 0 || this.dragging === !0 || i.button !== 0) && this.axis !== null) {
6478
6480
  xe.setFromCamera(i, this.camera);
6479
6481
  const t = In(this._plane, xe, !0);
6480
- t && (this.object.updateMatrixWorld(), this.object.parent.updateMatrixWorld(), this._positionStart.copy(this.object.position), this._quaternionStart.copy(this.object.quaternion), this._scaleStart.copy(this.object.scale), this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart), this.pointStart.copy(t.point).sub(this.worldPositionStart)), this.dragging = !0, Lr.mode = this.mode, this.dispatchEvent(Lr);
6482
+ t && (this.object.updateMatrixWorld(), this.object.parent.updateMatrixWorld(), this._positionStart.copy(this.object.position), this._quaternionStart.copy(this.object.quaternion), this._scaleStart.copy(this.object.scale), this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart), this.pointStart.copy(t.point).sub(this.worldPositionStart)), this.dragging = !0, Pr.mode = this.mode, this.dispatchEvent(Pr);
6481
6483
  }
6482
6484
  }
6483
6485
  pointerMove(i) {
@@ -6501,13 +6503,13 @@ class pc extends dn {
6501
6503
  this._offset.copy(this.pointEnd).sub(this.pointStart);
6502
6504
  const o = 20 / this.worldPosition.distanceTo(bt.setFromMatrixPosition(this.camera.matrixWorld));
6503
6505
  let a = !1;
6504
- t === "XYZE" ? (this.rotationAxis.copy(this._offset).cross(this.eye).normalize(), this.rotationAngle = this._offset.dot(bt.copy(this.rotationAxis).cross(this.eye)) * o) : (t === "X" || t === "Y" || t === "Z") && (this.rotationAxis.copy(yr[t]), bt.copy(yr[t]), n === "local" && bt.applyQuaternion(this.worldQuaternion), bt.cross(this.eye), bt.length() === 0 ? a = !0 : this.rotationAngle = this._offset.dot(bt.normalize()) * o), (t === "E" || a) && (this.rotationAxis.copy(this.eye), this.rotationAngle = this.pointEnd.angleTo(this.pointStart), this._startNorm.copy(this.pointStart).normalize(), this._endNorm.copy(this.pointEnd).normalize(), this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1), this.rotationSnap && (this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap), n === "local" && t !== "E" && t !== "XYZE" ? (s.quaternion.copy(this._quaternionStart), s.quaternion.multiply(Ot.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize()) : (this.rotationAxis.applyQuaternion(this._parentQuaternionInv), s.quaternion.copy(Ot.setFromAxisAngle(this.rotationAxis, this.rotationAngle)), s.quaternion.multiply(this._quaternionStart).normalize());
6506
+ t === "XYZE" ? (this.rotationAxis.copy(this._offset).cross(this.eye).normalize(), this.rotationAngle = this._offset.dot(bt.copy(this.rotationAxis).cross(this.eye)) * o) : (t === "X" || t === "Y" || t === "Z") && (this.rotationAxis.copy(Lr[t]), bt.copy(Lr[t]), n === "local" && bt.applyQuaternion(this.worldQuaternion), bt.cross(this.eye), bt.length() === 0 ? a = !0 : this.rotationAngle = this._offset.dot(bt.normalize()) * o), (t === "E" || a) && (this.rotationAxis.copy(this.eye), this.rotationAngle = this.pointEnd.angleTo(this.pointStart), this._startNorm.copy(this.pointStart).normalize(), this._endNorm.copy(this.pointEnd).normalize(), this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1), this.rotationSnap && (this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap), n === "local" && t !== "E" && t !== "XYZE" ? (s.quaternion.copy(this._quaternionStart), s.quaternion.multiply(Ot.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize()) : (this.rotationAxis.applyQuaternion(this._parentQuaternionInv), s.quaternion.copy(Ot.setFromAxisAngle(this.rotationAxis, this.rotationAngle)), s.quaternion.multiply(this._quaternionStart).normalize());
6505
6507
  }
6506
- this.dispatchEvent(fn), this.dispatchEvent(_r);
6508
+ this.dispatchEvent(fn), this.dispatchEvent(wr);
6507
6509
  }
6508
6510
  }
6509
6511
  pointerUp(i) {
6510
- i.button === 0 && (this.dragging && this.axis !== null && (Pr.mode = this.mode, this.dispatchEvent(Pr)), this.dragging = !1, this.axis = null);
6512
+ i.button === 0 && (this.dragging && this.axis !== null && (_r.mode = this.mode, this.dispatchEvent(_r)), this.dragging = !1, this.axis = null);
6511
6513
  }
6512
6514
  dispose() {
6513
6515
  this.domElement.removeEventListener("pointerdown", this._onPointerDown), this.domElement.removeEventListener("pointermove", this._onPointerHover), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.traverse(function(i) {
@@ -6523,7 +6525,7 @@ class pc extends dn {
6523
6525
  return this.object = void 0, this.visible = !1, this.axis = null, this;
6524
6526
  }
6525
6527
  reset() {
6526
- this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(fn), this.dispatchEvent(_r), this.pointStart.copy(this.pointEnd));
6528
+ this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(fn), this.dispatchEvent(wr), this.pointStart.copy(this.pointEnd));
6527
6529
  }
6528
6530
  getRaycaster() {
6529
6531
  return xe;
@@ -6592,7 +6594,7 @@ function In(c, i, t) {
6592
6594
  return e[s];
6593
6595
  return !1;
6594
6596
  }
6595
- const cs = new Po(), mt = new Q(0, 1, 0), wr = new Q(0, 0, 0), Mr = new pe(), ls = new de(), Es = new de(), ue = new Q(), Dr = new pe(), Pi = new Q(1, 0, 0), Be = new Q(0, 1, 0), _i = new Q(0, 0, 1), hs = new Q(), Oi = new Q(), Ni = new Q();
6597
+ const cs = new Po(), mt = new Q(0, 1, 0), Mr = new Q(0, 0, 0), Dr = new pe(), ls = new de(), Es = new de(), ue = new Q(), br = new pe(), Pi = new Q(1, 0, 0), Be = new Q(0, 1, 0), _i = new Q(0, 0, 1), hs = new Q(), Oi = new Q(), Ni = new Q();
6596
6598
  class Ac extends dn {
6597
6599
  constructor() {
6598
6600
  super(), this.isTransformControlsGizmo = !0, this.type = "TransformControlsGizmo";
@@ -6634,8 +6636,8 @@ class Ac extends dn {
6634
6636
  E.translate(0, 0.05, 0);
6635
6637
  const T = new Ut(0.08, 0.08, 0.08);
6636
6638
  T.translate(0, 0.04, 0);
6637
- const p = new Zn();
6638
- p.setAttribute("position", new jn([0, 0, 0, 1, 0, 0], 3));
6639
+ const p = new jn();
6640
+ p.setAttribute("position", new qn([0, 0, 0, 1, 0, 0], 3));
6639
6641
  const R = new Vt(75e-4, 75e-4, 0.5, 3);
6640
6642
  R.translate(0, 0.25, 0);
6641
6643
  function S(v, q) {
@@ -6643,8 +6645,8 @@ class Ac extends dn {
6643
6645
  return G.rotateY(Math.PI / 2), G.rotateX(Math.PI / 2), G;
6644
6646
  }
6645
6647
  function m() {
6646
- const v = new Zn();
6647
- return v.setAttribute("position", new jn([0, 0, 0, 1, 1, 1], 3)), v;
6648
+ const v = new jn();
6649
+ return v.setAttribute("position", new qn([0, 0, 0, 1, 1, 1], 3)), v;
6648
6650
  }
6649
6651
  const F = {
6650
6652
  X: [
@@ -6842,10 +6844,10 @@ class Ac extends dn {
6842
6844
  r.visible = !0, r.rotation.set(0, 0, 0), r.position.copy(this.worldPosition);
6843
6845
  let o;
6844
6846
  if (this.camera.isOrthographicCamera ? o = (this.camera.top - this.camera.bottom) / this.camera.zoom : o = this.worldPosition.distanceTo(this.cameraPosition) * Math.min(1.9 * Math.tan(Math.PI * this.camera.fov / 360) / this.camera.zoom, 7), r.scale.set(1, 1, 1).multiplyScalar(o * this.size / 4), r.tag === "helper") {
6845
- r.visible = !1, r.name === "AXIS" ? (r.visible = !!this.axis, this.axis === "X" && (Ot.setFromEuler(cs.set(0, 0, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Y" && (Ot.setFromEuler(cs.set(0, 0, Math.PI / 2)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Z" && (Ot.setFromEuler(cs.set(0, Math.PI / 2, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "XYZE" && (Ot.setFromEuler(cs.set(0, Math.PI / 2, 0)), mt.copy(this.rotationAxis), r.quaternion.setFromRotationMatrix(Mr.lookAt(wr, mt, Be)), r.quaternion.multiply(Ot), r.visible = this.dragging), this.axis === "E" && (r.visible = !1)) : r.name === "START" ? (r.position.copy(this.worldPositionStart), r.visible = this.dragging) : r.name === "END" ? (r.position.copy(this.worldPosition), r.visible = this.dragging) : r.name === "DELTA" ? (r.position.copy(this.worldPositionStart), r.quaternion.copy(this.worldQuaternionStart), bt.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), bt.applyQuaternion(this.worldQuaternionStart.clone().invert()), r.scale.copy(bt), r.visible = this.dragging) : (r.quaternion.copy(e), this.dragging ? r.position.copy(this.worldPositionStart) : r.position.copy(this.worldPosition), this.axis && (r.visible = this.axis.search(r.name) !== -1));
6847
+ r.visible = !1, r.name === "AXIS" ? (r.visible = !!this.axis, this.axis === "X" && (Ot.setFromEuler(cs.set(0, 0, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Y" && (Ot.setFromEuler(cs.set(0, 0, Math.PI / 2)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Z" && (Ot.setFromEuler(cs.set(0, Math.PI / 2, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "XYZE" && (Ot.setFromEuler(cs.set(0, Math.PI / 2, 0)), mt.copy(this.rotationAxis), r.quaternion.setFromRotationMatrix(Dr.lookAt(Mr, mt, Be)), r.quaternion.multiply(Ot), r.visible = this.dragging), this.axis === "E" && (r.visible = !1)) : r.name === "START" ? (r.position.copy(this.worldPositionStart), r.visible = this.dragging) : r.name === "END" ? (r.position.copy(this.worldPosition), r.visible = this.dragging) : r.name === "DELTA" ? (r.position.copy(this.worldPositionStart), r.quaternion.copy(this.worldQuaternionStart), bt.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), bt.applyQuaternion(this.worldQuaternionStart.clone().invert()), r.scale.copy(bt), r.visible = this.dragging) : (r.quaternion.copy(e), this.dragging ? r.position.copy(this.worldPositionStart) : r.position.copy(this.worldPosition), this.axis && (r.visible = this.axis.search(r.name) !== -1));
6846
6848
  continue;
6847
6849
  }
6848
- r.quaternion.copy(e), this.mode === "translate" || this.mode === "scale" ? (r.name === "X" && Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Y" && Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Z" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XY" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "YZ" && Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XZ" && Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1)) : this.mode === "rotate" && (ls.copy(e), mt.copy(this.eye).applyQuaternion(Ot.copy(e).invert()), r.name.search("E") !== -1 && r.quaternion.setFromRotationMatrix(Mr.lookAt(this.eye, wr, Be)), r.name === "X" && (Ot.setFromAxisAngle(Pi, Math.atan2(-mt.y, mt.z)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot)), r.name === "Y" && (Ot.setFromAxisAngle(Be, Math.atan2(mt.x, mt.z)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot)), r.name === "Z" && (Ot.setFromAxisAngle(_i, Math.atan2(mt.y, mt.x)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot))), r.visible = r.visible && (r.name.indexOf("X") === -1 || this.showX), r.visible = r.visible && (r.name.indexOf("Y") === -1 || this.showY), r.visible = r.visible && (r.name.indexOf("Z") === -1 || this.showZ), r.visible = r.visible && (r.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), r.material._color = r.material._color || r.material.color.clone(), r.material._opacity = r.material._opacity || r.material.opacity, r.material.color.copy(r.material._color), r.material.opacity = r.material._opacity, this.enabled && this.axis && (r.name === this.axis || this.axis.split("").some(function(a) {
6850
+ r.quaternion.copy(e), this.mode === "translate" || this.mode === "scale" ? (r.name === "X" && Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Y" && Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Z" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XY" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "YZ" && Math.abs(mt.copy(Pi).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XZ" && Math.abs(mt.copy(Be).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1)) : this.mode === "rotate" && (ls.copy(e), mt.copy(this.eye).applyQuaternion(Ot.copy(e).invert()), r.name.search("E") !== -1 && r.quaternion.setFromRotationMatrix(Dr.lookAt(this.eye, Mr, Be)), r.name === "X" && (Ot.setFromAxisAngle(Pi, Math.atan2(-mt.y, mt.z)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot)), r.name === "Y" && (Ot.setFromAxisAngle(Be, Math.atan2(mt.x, mt.z)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot)), r.name === "Z" && (Ot.setFromAxisAngle(_i, Math.atan2(mt.y, mt.x)), Ot.multiplyQuaternions(ls, Ot), r.quaternion.copy(Ot))), r.visible = r.visible && (r.name.indexOf("X") === -1 || this.showX), r.visible = r.visible && (r.name.indexOf("Y") === -1 || this.showY), r.visible = r.visible && (r.name.indexOf("Z") === -1 || this.showZ), r.visible = r.visible && (r.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), r.material._color = r.material._color || r.material.color.clone(), r.material._opacity = r.material._opacity || r.material.opacity, r.material.color.copy(r.material._color), r.material.opacity = r.material._opacity, this.enabled && this.axis && (r.name === this.axis || this.axis.split("").some(function(a) {
6849
6851
  return r.name === a;
6850
6852
  })) && (r.material.color.setHex(16776960), r.material.opacity = 1);
6851
6853
  }
@@ -6893,10 +6895,10 @@ class Fc extends rt {
6893
6895
  default:
6894
6896
  ue.set(0, 0, 0);
6895
6897
  }
6896
- ue.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (Dr.lookAt(bt.set(0, 0, 0), ue, mt), this.quaternion.setFromRotationMatrix(Dr)), super.updateMatrixWorld(i);
6898
+ ue.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (br.lookAt(bt.set(0, 0, 0), ue, mt), this.quaternion.setFromRotationMatrix(br)), super.updateMatrixWorld(i);
6897
6899
  }
6898
6900
  }
6899
- class Yn {
6901
+ class Gn {
6900
6902
  constructor(i, t, e, s, n, r = 5, o = !0) {
6901
6903
  /** Event that fires when the user starts dragging a clipping plane. */
6902
6904
  C(this, "onDraggingStarted", new j());
@@ -6944,7 +6946,7 @@ class Yn {
6944
6946
  });
6945
6947
  if (this.components = i, this.world = t, !t.renderer)
6946
6948
  throw new Error("The given world must have a renderer!");
6947
- this.normal = s, this.origin = e, t.renderer.setPlane(!0, this.three), this._planeMesh = Yn.newPlaneMesh(r, n), this._helper = this.newHelper(), this._controls = this.newTransformControls(), this.three.setFromNormalAndCoplanarPoint(s, e), o && this.toggleControls(!0);
6949
+ this.normal = s, this.origin = e, t.renderer.setPlane(!0, this.three), this._planeMesh = Gn.newPlaneMesh(r, n), this._helper = this.newHelper(), this._controls = this.newTransformControls(), this.three.setFromNormalAndCoplanarPoint(s, e), o && this.toggleControls(!0);
6948
6950
  }
6949
6951
  /**
6950
6952
  * Getter for the enabled state of the clipping plane.
@@ -7179,7 +7181,7 @@ const ni = class ni extends At {
7179
7181
  * The type of clipping plane to be created.
7180
7182
  * Default is {@link SimplePlane}.
7181
7183
  */
7182
- C(this, "Type", Yn);
7184
+ C(this, "Type", Gn);
7183
7185
  /**
7184
7186
  * A list of all the clipping planes created by this component.
7185
7187
  */
@@ -7646,7 +7648,7 @@ class Pc extends xi {
7646
7648
  this.threeOrtho.left = -a, this.threeOrtho.right = a, this.threeOrtho.top = o, this.threeOrtho.bottom = -o, this.threeOrtho.updateProjectionMatrix(), this.previousSize.copy(t);
7647
7649
  }
7648
7650
  }
7649
- const br = /* @__PURE__ */ new Map([
7651
+ const vr = /* @__PURE__ */ new Map([
7650
7652
  [
7651
7653
  k.IFCRELAGGREGATES,
7652
7654
  {
@@ -10446,7 +10448,7 @@ class ro {
10446
10448
  this.itemsByFloor = {};
10447
10449
  }
10448
10450
  }
10449
- class Gn {
10451
+ class zn {
10450
10452
  constructor() {
10451
10453
  /** Whether to extract the IFC properties into a JSON. */
10452
10454
  C(this, "includeProperties", !0);
@@ -10796,7 +10798,7 @@ const bi = class bi extends At {
10796
10798
  * The settings for the IfcLoader.
10797
10799
  * It includes options for excluding categories, setting WASM paths, and more.
10798
10800
  */
10799
- C(this, "settings", new Gn());
10801
+ C(this, "settings", new zn());
10800
10802
  /**
10801
10803
  * The instance of the Web-IFC library used for handling IFC data.
10802
10804
  */
@@ -11488,7 +11490,7 @@ const vi = class vi extends At {
11488
11490
  C(this, "relationMaps", {});
11489
11491
  /** {@link Component.enabled} */
11490
11492
  C(this, "enabled", !0);
11491
- C(this, "_relToAttributesMap", br);
11493
+ C(this, "_relToAttributesMap", vr);
11492
11494
  C(this, "_inverseAttributes", [
11493
11495
  "IsDecomposedBy",
11494
11496
  "Decomposes",
@@ -11848,7 +11850,7 @@ const vi = class vi extends At {
11848
11850
  let a = this.relationMaps[t.uuid];
11849
11851
  if (a || (a = /* @__PURE__ */ new Map(), this.relationMaps[t.uuid] = a), !this._ifcRels.includes(r))
11850
11852
  return;
11851
- const l = br.get(r);
11853
+ const l = vr.get(r);
11852
11854
  if (!l)
11853
11855
  return;
11854
11856
  const { forRelated: h, forRelating: f } = l;
@@ -14604,11 +14606,11 @@ https://github.com/nodeca/pako/blob/main/LICENSE
14604
14606
  for (B = ct; $ = P.heap[1], P.heap[1] = P.heap[P.heap_len--], Ct(P, K, 1), Z = P.heap[1], P.heap[--P.heap_max] = $, P.heap[--P.heap_max] = Z, K[2 * B] = K[2 * $] + K[2 * Z], P.depth[B] = (P.depth[$] >= P.depth[Z] ? P.depth[$] : P.depth[Z]) + 1, K[2 * $ + 1] = K[2 * Z + 1] = B, P.heap[1] = B++, Ct(P, K, 1), 2 <= P.heap_len; )
14605
14607
  ;
14606
14608
  P.heap[--P.heap_max] = P.heap[1], function(dt, Wt) {
14607
- var hi, ce, ui, Lt, Vi, Hs, Ce = Wt.dyn_tree, Wn = Wt.max_code, Ro = Wt.stat_desc.static_tree, go = Wt.stat_desc.has_stree, Ao = Wt.stat_desc.extra_bits, Xn = Wt.stat_desc.extra_base, fi = Wt.stat_desc.max_length, Yi = 0;
14609
+ var hi, ce, ui, Lt, Vi, Hs, Ce = Wt.dyn_tree, Xn = Wt.max_code, Ro = Wt.stat_desc.static_tree, go = Wt.stat_desc.has_stree, Ao = Wt.stat_desc.extra_bits, $n = Wt.stat_desc.extra_base, fi = Wt.stat_desc.max_length, Yi = 0;
14608
14610
  for (Lt = 0; Lt <= T; Lt++)
14609
14611
  dt.bl_count[Lt] = 0;
14610
14612
  for (Ce[2 * dt.heap[dt.heap_max] + 1] = 0, hi = dt.heap_max + 1; hi < E; hi++)
14611
- fi < (Lt = Ce[2 * Ce[2 * (ce = dt.heap[hi]) + 1] + 1] + 1) && (Lt = fi, Yi++), Ce[2 * ce + 1] = Lt, Wn < ce || (dt.bl_count[Lt]++, Vi = 0, Xn <= ce && (Vi = Ao[ce - Xn]), Hs = Ce[2 * ce], dt.opt_len += Hs * (Lt + Vi), go && (dt.static_len += Hs * (Ro[2 * ce + 1] + Vi)));
14613
+ fi < (Lt = Ce[2 * Ce[2 * (ce = dt.heap[hi]) + 1] + 1] + 1) && (Lt = fi, Yi++), Ce[2 * ce + 1] = Lt, Xn < ce || (dt.bl_count[Lt]++, Vi = 0, $n <= ce && (Vi = Ao[ce - $n]), Hs = Ce[2 * ce], dt.opt_len += Hs * (Lt + Vi), go && (dt.static_len += Hs * (Ro[2 * ce + 1] + Vi)));
14612
14614
  if (Yi !== 0) {
14613
14615
  do {
14614
14616
  for (Lt = fi - 1; dt.bl_count[Lt] === 0; )
@@ -14617,7 +14619,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
14617
14619
  } while (0 < Yi);
14618
14620
  for (Lt = fi; Lt !== 0; Lt--)
14619
14621
  for (ce = dt.bl_count[Lt]; ce !== 0; )
14620
- Wn < (ui = dt.heap[--hi]) || (Ce[2 * ui + 1] !== Lt && (dt.opt_len += (Lt - Ce[2 * ui + 1]) * Ce[2 * ui], Ce[2 * ui + 1] = Lt), ce--);
14622
+ Xn < (ui = dt.heap[--hi]) || (Ce[2 * ui + 1] !== Lt && (dt.opt_len += (Lt - Ce[2 * ui + 1]) * Ce[2 * ui], Ce[2 * ui + 1] = Lt), ce--);
14621
14623
  }
14622
14624
  }(P, U), yt(K, Rt, P.bl_count);
14623
14625
  }
@@ -14788,8 +14790,8 @@ https://github.com/nodeca/pako/blob/main/LICENSE
14788
14790
  });
14789
14791
  })(ho);
14790
14792
  var Uc = ho.exports;
14791
- const vr = /* @__PURE__ */ vc(Uc);
14792
- var zn = {}, zs = {};
14793
+ const Ur = /* @__PURE__ */ vc(Uc);
14794
+ var kn = {}, zs = {};
14793
14795
  (function(c) {
14794
14796
  const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", t = i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040", e = "[" + i + "][" + t + "]*", s = new RegExp("^" + e + "$"), n = function(o, a) {
14795
14797
  const l = [];
@@ -14821,24 +14823,24 @@ var zn = {}, zs = {};
14821
14823
  return c.isExist(o) ? o : "";
14822
14824
  }, c.isName = r, c.getAllMatches = n, c.nameRegexp = e;
14823
14825
  })(zs);
14824
- const kn = zs, xc = {
14826
+ const Hn = zs, xc = {
14825
14827
  allowBooleanAttributes: !1,
14826
14828
  //A tag can have attributes without any value
14827
14829
  unpairedTags: []
14828
14830
  };
14829
- zn.validate = function(c, i) {
14831
+ kn.validate = function(c, i) {
14830
14832
  i = Object.assign({}, xc, i);
14831
14833
  const t = [];
14832
14834
  let e = !1, s = !1;
14833
14835
  c[0] === "\uFEFF" && (c = c.substr(1));
14834
14836
  for (let n = 0; n < c.length; n++)
14835
14837
  if (c[n] === "<" && c[n + 1] === "?") {
14836
- if (n += 2, n = xr(c, n), n.err)
14838
+ if (n += 2, n = Br(c, n), n.err)
14837
14839
  return n;
14838
14840
  } else if (c[n] === "<") {
14839
14841
  let r = n;
14840
14842
  if (n++, c[n] === "!") {
14841
- n = Br(c, n);
14843
+ n = Vr(c, n);
14842
14844
  continue;
14843
14845
  } else {
14844
14846
  let o = !1;
@@ -14858,7 +14860,7 @@ zn.validate = function(c, i) {
14858
14860
  if (n = l.index, h[h.length - 1] === "/") {
14859
14861
  const f = n - h.length;
14860
14862
  h = h.substring(0, h.length - 1);
14861
- const I = Vr(h, i);
14863
+ const I = Yr(h, i);
14862
14864
  if (I === !0)
14863
14865
  e = !0;
14864
14866
  else
@@ -14884,7 +14886,7 @@ zn.validate = function(c, i) {
14884
14886
  } else
14885
14887
  return _t("InvalidTag", "Closing tag '" + a + "' doesn't have proper closing.", xt(c, n));
14886
14888
  else {
14887
- const f = Vr(h, i);
14889
+ const f = Yr(h, i);
14888
14890
  if (f !== !0)
14889
14891
  return _t(f.err.code, f.err.msg, xt(c, n - h.length + f.err.line));
14890
14892
  if (s === !0)
@@ -14894,10 +14896,10 @@ zn.validate = function(c, i) {
14894
14896
  for (n++; n < c.length; n++)
14895
14897
  if (c[n] === "<")
14896
14898
  if (c[n + 1] === "!") {
14897
- n++, n = Br(c, n);
14899
+ n++, n = Vr(c, n);
14898
14900
  continue;
14899
14901
  } else if (c[n + 1] === "?") {
14900
- if (n = xr(c, ++n), n.err)
14902
+ if (n = Br(c, ++n), n.err)
14901
14903
  return n;
14902
14904
  } else
14903
14905
  break;
@@ -14906,12 +14908,12 @@ zn.validate = function(c, i) {
14906
14908
  if (f == -1)
14907
14909
  return _t("InvalidChar", "char '&' is not expected.", xt(c, n));
14908
14910
  n = f;
14909
- } else if (s === !0 && !Ur(c[n]))
14911
+ } else if (s === !0 && !xr(c[n]))
14910
14912
  return _t("InvalidXml", "Extra text at the end", xt(c, n));
14911
14913
  c[n] === "<" && n--;
14912
14914
  }
14913
14915
  } else {
14914
- if (Ur(c[n]))
14916
+ if (xr(c[n]))
14915
14917
  continue;
14916
14918
  return _t("InvalidChar", "char '" + c[n] + "' is not expected.", xt(c, n));
14917
14919
  }
@@ -14924,11 +14926,11 @@ zn.validate = function(c, i) {
14924
14926
  return _t("InvalidXml", "Start tag expected.", 1);
14925
14927
  return !0;
14926
14928
  };
14927
- function Ur(c) {
14929
+ function xr(c) {
14928
14930
  return c === " " || c === " " || c === `
14929
14931
  ` || c === "\r";
14930
14932
  }
14931
- function xr(c, i) {
14933
+ function Br(c, i) {
14932
14934
  const t = i;
14933
14935
  for (; i < c.length; i++)
14934
14936
  if (c[i] == "?" || c[i] == " ") {
@@ -14943,7 +14945,7 @@ function xr(c, i) {
14943
14945
  }
14944
14946
  return i;
14945
14947
  }
14946
- function Br(c, i) {
14948
+ function Vr(c, i) {
14947
14949
  if (c.length > i + 5 && c[i + 1] === "-" && c[i + 2] === "-") {
14948
14950
  for (i += 3; i < c.length; i++)
14949
14951
  if (c[i] === "-" && c[i + 1] === "-" && c[i + 2] === ">") {
@@ -14985,8 +14987,8 @@ function Yc(c, i) {
14985
14987
  };
14986
14988
  }
14987
14989
  const Gc = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
14988
- function Vr(c, i) {
14989
- const t = kn.getAllMatches(c, Gc), e = {};
14990
+ function Yr(c, i) {
14991
+ const t = Hn.getAllMatches(c, Gc), e = {};
14990
14992
  for (let s = 0; s < t.length; s++) {
14991
14993
  if (t[s][1].length === 0)
14992
14994
  return _t("InvalidAttr", "Attribute '" + t[s][2] + "' has no space in starting.", yi(t[s]));
@@ -15039,10 +15041,10 @@ function _t(c, i, t) {
15039
15041
  };
15040
15042
  }
15041
15043
  function Hc(c) {
15042
- return kn.isName(c);
15044
+ return Hn.isName(c);
15043
15045
  }
15044
15046
  function Wc(c) {
15045
- return kn.isName(c);
15047
+ return Hn.isName(c);
15046
15048
  }
15047
15049
  function xt(c, i) {
15048
15050
  const t = c.substring(0, i).split(/\r?\n/);
@@ -15055,7 +15057,7 @@ function xt(c, i) {
15055
15057
  function yi(c) {
15056
15058
  return c.startIndex + c[1].length;
15057
15059
  }
15058
- var Hn = {};
15060
+ var Wn = {};
15059
15061
  const uo = {
15060
15062
  preserveOrder: !1,
15061
15063
  attributeNamePrefix: "@_",
@@ -15102,8 +15104,8 @@ const uo = {
15102
15104
  }, Xc = function(c) {
15103
15105
  return Object.assign({}, uo, c);
15104
15106
  };
15105
- Hn.buildOptions = Xc;
15106
- Hn.defaultOptions = uo;
15107
+ Wn.buildOptions = Xc;
15108
+ Wn.defaultOptions = uo;
15107
15109
  class $c {
15108
15110
  constructor(i) {
15109
15111
  this.tagname = i, this.child = [], this[":@"] = {};
@@ -15556,7 +15558,7 @@ function _l(c, i) {
15556
15558
  return !!(e === 0 || e === 1 && (c[t] || typeof c[t] == "boolean" || c[t] === 0));
15557
15559
  }
15558
15560
  Io.prettify = yl;
15559
- const { buildOptions: wl } = Hn, Ml = Nl, { prettify: Dl } = Io, bl = zn;
15561
+ const { buildOptions: wl } = Wn, Ml = Nl, { prettify: Dl } = Io, bl = kn;
15560
15562
  let vl = class {
15561
15563
  constructor(i) {
15562
15564
  this.externalEntities = {}, this.options = wl(i);
@@ -15623,14 +15625,14 @@ function po(c, i, t, e) {
15623
15625
  s += e + `<!--${o[a][0][i.textNodeName]}-->`, n = !0;
15624
15626
  continue;
15625
15627
  } else if (a[0] === "?") {
15626
- const d = Yr(o[":@"], i), E = a === "?xml" ? "" : e;
15628
+ const d = Gr(o[":@"], i), E = a === "?xml" ? "" : e;
15627
15629
  let T = o[a][0][i.textNodeName];
15628
15630
  T = T.length !== 0 ? " " + T : "", s += E + `<${a}${T}${d}?>`, n = !0;
15629
15631
  continue;
15630
15632
  }
15631
15633
  let h = e;
15632
15634
  h !== "" && (h += i.indentBy);
15633
- const f = Yr(o[":@"], i), I = e + `<${a}${f}`, u = po(o[a], i, l, h);
15635
+ const f = Gr(o[":@"], i), I = e + `<${a}${f}`, u = po(o[a], i, l, h);
15634
15636
  i.unpairedTags.indexOf(a) !== -1 ? i.suppressUnpairedNode ? s += I + ">" : s += I + "/>" : (!u || u.length === 0) && i.suppressEmptyNode ? s += I + "/>" : u && u.endsWith(">") ? s += I + `>${u}${e}</${a}>` : (s += I + ">", u && e !== "" && (u.includes("/>") || u.includes("</")) ? s += e + i.indentBy + u + e : s += u, s += `</${a}>`), n = !0;
15635
15637
  }
15636
15638
  return s;
@@ -15643,7 +15645,7 @@ function Vl(c) {
15643
15645
  return e;
15644
15646
  }
15645
15647
  }
15646
- function Yr(c, i) {
15648
+ function Gr(c, i) {
15647
15649
  let t = "";
15648
15650
  if (c && !i.ignoreAttributes)
15649
15651
  for (let e in c) {
@@ -15813,7 +15815,7 @@ function Xl(c) {
15813
15815
  return c.startsWith(this.options.attributeNamePrefix) && c !== this.options.textNodeName ? c.substr(this.attrPrefixLen) : !1;
15814
15816
  }
15815
15817
  var $l = be;
15816
- const Zl = zn, jl = Ul, ql = $l;
15818
+ const Zl = kn, jl = Ul, ql = $l;
15817
15819
  var To = {
15818
15820
  XMLParser: jl,
15819
15821
  XMLValidator: Zl,
@@ -15917,7 +15919,7 @@ const Ie = class Ie {
15917
15919
  C(this, "_type", Ie.default.type);
15918
15920
  C(this, "_status", Ie.default.status);
15919
15921
  C(this, "_priority", Ie.default.priority);
15920
- C(this, "_stage", Ie.default.priority);
15922
+ C(this, "_stage", Ie.default.stage);
15921
15923
  C(this, "_assignedTo", Ie.default.assignedTo);
15922
15924
  C(this, "_labels", Ie.default.labels);
15923
15925
  C(this, "_components");
@@ -16504,7 +16506,7 @@ const Le = class Le extends At {
16504
16506
  * @returns A promise that resolves to a Blob containing the exported BCF zip file.
16505
16507
  */
16506
16508
  async export(t = this.list.values()) {
16507
- const e = new vr();
16509
+ const e = new Ur();
16508
16510
  e.file(
16509
16511
  "bcf.version",
16510
16512
  `<?xml version="1.0" encoding="UTF-8"?>
@@ -16612,7 +16614,7 @@ ${o}
16612
16614
  fallbackVersionOnImport: s,
16613
16615
  ignoreIncompleteTopicsOnImport: n,
16614
16616
  updateExtensionsOnImport: r
16615
- } = this.config, o = new vr();
16617
+ } = this.config, o = new Ur();
16616
16618
  await o.loadAsync(t);
16617
16619
  const a = Object.values(o.files);
16618
16620
  let l = s;
@@ -17290,7 +17292,7 @@ const _s = class _s {
17290
17292
  */
17291
17293
  C(_s, "importers", /* @__PURE__ */ new Map());
17292
17294
  let se = _s;
17293
- class Gr {
17295
+ class zr {
17294
17296
  constructor(i) {
17295
17297
  /**
17296
17298
  * The list of queries contained in this group.
@@ -17565,7 +17567,7 @@ const Ds = class Ds extends At {
17565
17567
  */
17566
17568
  import(t) {
17567
17569
  for (const e in t) {
17568
- const s = new Gr(this.components);
17570
+ const s = new zr(this.components);
17569
17571
  s.import(t[e]), this.list.set(e, s);
17570
17572
  }
17571
17573
  }
@@ -17582,7 +17584,7 @@ const Ds = class Ds extends At {
17582
17584
  * Creates a new {@link IfcQueryGroup}.
17583
17585
  */
17584
17586
  create() {
17585
- const t = new Gr(this.components);
17587
+ const t = new zr(this.components);
17586
17588
  return this.list.set(t.id, t), t;
17587
17589
  }
17588
17590
  /**
@@ -17603,7 +17605,7 @@ const Ds = class Ds extends At {
17603
17605
  * This UUID is used to register the component within the Components system.
17604
17606
  */
17605
17607
  C(Ds, "uuid", "0da7ad77-f734-42ca-942f-a074adfd1e3a");
17606
- let zr = Ds;
17608
+ let kr = Ds;
17607
17609
  const bs = class bs extends At {
17608
17610
  constructor(t) {
17609
17611
  super(t);
@@ -18030,7 +18032,7 @@ const vs = class vs extends At {
18030
18032
  * This UUID is used to register the component within the Components system.
18031
18033
  */
18032
18034
  C(vs, "uuid", "d260618b-ce88-4c7d-826c-6debb91de3e2");
18033
- let kr = vs;
18035
+ let Hr = vs;
18034
18036
  const Us = class Us extends At {
18035
18037
  constructor(t) {
18036
18038
  super(t);
@@ -18087,7 +18089,7 @@ const Us = class Us extends At {
18087
18089
  */
18088
18090
  C(Us, "uuid", "dd9ccf2d-8a21-4821-b7f6-2949add16a29");
18089
18091
  let Dn = Us;
18090
- class Jl extends Gn {
18092
+ class Jl extends zn {
18091
18093
  constructor() {
18092
18094
  super(...arguments);
18093
18095
  /**
@@ -18364,8 +18366,8 @@ const xs = class xs extends At {
18364
18366
  * This UUID is used to register the component within the Components system.
18365
18367
  */
18366
18368
  C(xs, "uuid", "d9999a00-e1f5-4d3f-8cfe-c56e08609764");
18367
- let Hr = xs;
18368
- class th extends Gn {
18369
+ let Wr = xs;
18370
+ class th extends zn {
18369
18371
  constructor() {
18370
18372
  super(...arguments);
18371
18373
  /**
@@ -19344,7 +19346,7 @@ const Bs = class Bs extends At {
19344
19346
  * This UUID is used to register the component within the Components system.
19345
19347
  */
19346
19348
  C(Bs, "uuid", "39ad6aad-84c8-4adf-a1e0-7f25313a9e7f");
19347
- let Wr = Bs;
19349
+ let Xr = Bs;
19348
19350
  const Vs = class Vs extends At {
19349
19351
  constructor(t) {
19350
19352
  super(t);
@@ -19603,7 +19605,7 @@ const Vs = class Vs extends At {
19603
19605
  * This UUID is used to register the component within the Components system.
19604
19606
  */
19605
19607
  C(Vs, "uuid", "267ca032-672f-4cb0-afa9-d24e904f39d6");
19606
- let Xr = Vs;
19608
+ let $r = Vs;
19607
19609
  class ks {
19608
19610
  constructor(i) {
19609
19611
  // Used when the facet is a requirement
@@ -19620,17 +19622,9 @@ class ks {
19620
19622
  };
19621
19623
  s && this.addCheckResult(n, s);
19622
19624
  let r = !1;
19623
- if (t.type === "simple") {
19624
- const o = t.parameter;
19625
- r = i === o;
19626
- }
19627
- if (t.type === "enumeration" && (r = t.parameter.includes(i)), t.type === "pattern") {
19628
- const o = t.parameter;
19629
- r = new RegExp(o).test(String(i));
19630
- }
19631
- if (t.type === "length") {
19632
- const o = t.parameter, { min: a, length: l, max: h } = o;
19633
- l !== void 0 && (r = String(i).length === l), a !== void 0 && (r = String(i).length >= a), h !== void 0 && (r = String(i).length <= h);
19625
+ if (t.type === "simple" && (r = i === t.parameter), t.type === "enumeration" && (r = t.parameter.includes(i)), t.type === "pattern" && (r = new RegExp(t.parameter).test(String(i))), t.type === "length") {
19626
+ const { min: o, length: a, max: l } = t.parameter;
19627
+ a !== void 0 && (r = String(i).length === a), o !== void 0 && (r = String(i).length >= o), l !== void 0 && (r = String(i).length <= l);
19634
19628
  }
19635
19629
  if (t.type === "bounds" && typeof i == "number") {
19636
19630
  const { min: o, minInclusive: a, max: l, maxInclusive: h } = t.parameter;
@@ -19675,6 +19669,7 @@ const Re = (c, i) => {
19675
19669
  class rh extends ks {
19676
19670
  constructor(t, e) {
19677
19671
  super(t);
19672
+ C(this, "facetType", "Attribute");
19678
19673
  C(this, "name");
19679
19674
  C(this, "value");
19680
19675
  this.name = e;
@@ -19776,6 +19771,7 @@ class rh extends ks {
19776
19771
  class oh extends ks {
19777
19772
  constructor(t, e) {
19778
19773
  super(t);
19774
+ C(this, "facetType", "Classification");
19779
19775
  C(this, "system");
19780
19776
  C(this, "value");
19781
19777
  C(this, "uri");
@@ -19975,6 +19971,7 @@ class oh extends ks {
19975
19971
  class ah extends ks {
19976
19972
  constructor(t, e) {
19977
19973
  super(t);
19974
+ C(this, "facetType", "Entity");
19978
19975
  C(this, "name");
19979
19976
  C(this, "predefinedType");
19980
19977
  this.name = e;
@@ -20071,6 +20068,7 @@ class ah extends ks {
20071
20068
  class ch extends ks {
20072
20069
  constructor(t, e, s) {
20073
20070
  super(t);
20071
+ C(this, "facetType", "Property");
20074
20072
  C(this, "propertySet");
20075
20073
  C(this, "baseName");
20076
20074
  C(this, "value");
@@ -20361,6 +20359,16 @@ class lh {
20361
20359
  for (const s of e)
20362
20360
  this.ifcVersion.add(s);
20363
20361
  }
20362
+ set(i) {
20363
+ const t = i, e = this;
20364
+ for (const n in i) {
20365
+ if (n === "identifier")
20366
+ continue;
20367
+ const r = t[n];
20368
+ n in this && (e[n] = r);
20369
+ }
20370
+ return this.components.get(bn).list.set(this.identifier, this), this;
20371
+ }
20364
20372
  /**
20365
20373
  * Tests the model to test against the specification's requirements.
20366
20374
  *
@@ -20399,8 +20407,8 @@ class lh {
20399
20407
  const ge = (c) => {
20400
20408
  if (!c)
20401
20409
  return;
20402
- const i = { type: "simple" };
20403
- if ("simpleValue" in c && (i.parameter = c.simpleValue), "restriction" in c) {
20410
+ const i = {};
20411
+ if ("simpleValue" in c && (i.type = "simple", i.parameter = c.simpleValue), "restriction" in c) {
20404
20412
  const t = c.restriction;
20405
20413
  if ("pattern" in t && (i.type = "pattern", i.parameter = t.pattern.value), "enumeration" in t) {
20406
20414
  i.type = "enumeration";
@@ -20412,7 +20420,7 @@ const ge = (c) => {
20412
20420
  }
20413
20421
  if (i.parameter !== void 0)
20414
20422
  return i;
20415
- }, $r = (c, i) => {
20423
+ }, Zr = (c, i) => {
20416
20424
  const t = [];
20417
20425
  for (const e of i) {
20418
20426
  const s = e.name, n = ge(s);
@@ -20518,7 +20526,7 @@ const ge = (c) => {
20518
20526
  for (const O in F) {
20519
20527
  const y = Array.isArray(F[O]) ? F[O] : [F[O]];
20520
20528
  if (O === "entity") {
20521
- const w = $r(this.components, y);
20529
+ const w = Zr(this.components, y);
20522
20530
  u.push(...w);
20523
20531
  }
20524
20532
  }
@@ -20532,7 +20540,7 @@ const ge = (c) => {
20532
20540
  for (const O in F) {
20533
20541
  const y = Array.isArray(F[O]) ? F[O] : [F[O]];
20534
20542
  if (O === "entity") {
20535
- const w = $r(this.components, y);
20543
+ const w = Zr(this.components, y);
20536
20544
  d.push(...w);
20537
20545
  }
20538
20546
  if (O === "attribute") {
@@ -20607,16 +20615,16 @@ C(ri, "uuid", "9f0b9f78-9b2e-481a-b766-2fbfd01f342c"), C(ri, "xmlParser", new To
20607
20615
  removeNSPrefix: !0,
20608
20616
  trimValues: !0
20609
20617
  }));
20610
- let Zr = ri;
20618
+ let bn = ri;
20611
20619
  export {
20612
20620
  _e as AsyncEvent,
20613
20621
  Mt as BCFTopics,
20614
20622
  Kl as BCFTopicsConfigManager,
20615
- Bn as Base,
20623
+ Vn as Base,
20616
20624
  Va as BaseCamera,
20617
20625
  Ya as BaseRenderer,
20618
20626
  Ga as BaseScene,
20619
- Vn as BaseWorldItem,
20627
+ Yn as BaseWorldItem,
20620
20628
  Mn as BoundingBoxer,
20621
20629
  Bi as Classifier,
20622
20630
  On as Clipper,
@@ -20632,11 +20640,11 @@ export {
20632
20640
  we as DataSet,
20633
20641
  De as Disposer,
20634
20642
  j as Event,
20635
- kr as Exploder,
20643
+ Hr as Exploder,
20636
20644
  Oc as FirstPersonMode,
20637
20645
  Tt as FragmentsManager,
20638
20646
  lo as GeometryTypes,
20639
- Nr as Grids,
20647
+ yr as Grids,
20640
20648
  Dn as Hider,
20641
20649
  rh as IDSAttribute,
20642
20650
  oh as IDSClassification,
@@ -20644,15 +20652,15 @@ export {
20644
20652
  ks as IDSFacet,
20645
20653
  ch as IDSProperty,
20646
20654
  lh as IDSSpecification,
20647
- Zr as IDSSpecifications,
20655
+ bn as IDSSpecifications,
20648
20656
  gs as IfcBasicQuery,
20649
20657
  gh as IfcCategories,
20650
20658
  ms as IfcCategoryMap,
20651
20659
  _c as IfcElements,
20652
- zr as IfcFinder,
20660
+ kr as IfcFinder,
20653
20661
  se as IfcFinderQuery,
20654
- Gn as IfcFragmentSettings,
20655
- Hr as IfcGeometryTiler,
20662
+ zn as IfcFragmentSettings,
20663
+ Wr as IfcGeometryTiler,
20656
20664
  Nn as IfcJsonExporter,
20657
20665
  yn as IfcLoader,
20658
20666
  Ln as IfcPropertiesManager,
@@ -20661,12 +20669,12 @@ export {
20661
20669
  As as IfcPropertyQuery,
20662
20670
  Gt as IfcRelationsIndexer,
20663
20671
  Jl as IfcStreamingSettings,
20664
- Cr as MaterialsUtils,
20665
- Xr as MeasurementUtils,
20672
+ Tr as MaterialsUtils,
20673
+ $r as MeasurementUtils,
20666
20674
  hc as MeshCullerRenderer,
20667
20675
  nh as MiniMap,
20668
20676
  sh as MiniMapConfigManager,
20669
- Wr as MiniMaps,
20677
+ Xr as MiniMaps,
20670
20678
  fc as Mouse,
20671
20679
  Nc as OrbitMode,
20672
20680
  Pc as OrthoPerspectiveCamera,
@@ -20678,7 +20686,7 @@ export {
20678
20686
  xi as SimpleCamera,
20679
20687
  Ec as SimpleGrid,
20680
20688
  dc as SimpleGridConfigManager,
20681
- Yn as SimplePlane,
20689
+ Gn as SimplePlane,
20682
20690
  Ic as SimpleRaycaster,
20683
20691
  mh as SimpleRenderer,
20684
20692
  ec as SimpleScene,
@@ -20697,5 +20705,5 @@ export {
20697
20705
  Ch as isPointInFrontOfPlane,
20698
20706
  qa as obbFromPoints,
20699
20707
  no as readPixelsAsync,
20700
- br as relToAttributesMap
20708
+ vr as relToAttributesMap
20701
20709
  };