@solid-labs/fab-one-widget 1.1.6 → 1.1.7

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.
@@ -1,16 +1,17 @@
1
1
  import { jsxs as w, jsx as i, Fragment as Re } from "react/jsx-runtime";
2
- import { createContext as Mo, Component as Fo, useCallback as ce, useMemo as J, useState as B, memo as ko, useEffect as q, useRef as de, forwardRef as Po, createElement as An } from "react";
2
+ import { createContext as Mo, Component as Fo, useCallback as ce, useMemo as J, useState as E, memo as ko, useEffect as X, useRef as de, forwardRef as Po, createElement as An } from "react";
3
3
  import { useFrame as Rn, useThree as Wn, Canvas as Lo } from "@react-three/fiber";
4
4
  import { Html as Xe, Line as ye, OrbitControls as In } from "@react-three/drei";
5
- import * as Y from "three";
5
+ import * as Z from "three";
6
6
  import { Plane as Ct, Vector3 as M, Box3 as Bn, Line3 as En, Raycaster as Do } from "three";
7
7
  import { create as _o } from "zustand";
8
8
  import { OBJLoader as Tn } from "three/examples/jsm/loaders/OBJLoader.js";
9
9
  import { STLLoader as Ro } from "three/examples/jsm/loaders/STLLoader.js";
10
10
  import { MeshBVH as At } from "three-mesh-bvh";
11
- let Ur, wt, Tr, Yn;
11
+ let Ur, wt, Tr, Yn, qt;
12
12
  let __tla = (async () => {
13
- const Wo = {
13
+ let Wo, Io, Bo, Eo, zt, Kt, vt, To;
14
+ Wo = {
14
15
  showDragDrop: true,
15
16
  showStartOver: true,
16
17
  showDebug: true,
@@ -19,7 +20,8 @@ let __tla = (async () => {
19
20
  showNavigation: true,
20
21
  showToolbar: false,
21
22
  showSaveButton: true
22
- }, Io = {
23
+ };
24
+ Io = {
23
25
  showDragDrop: false,
24
26
  showStartOver: false,
25
27
  showDebug: false,
@@ -28,7 +30,9 @@ let __tla = (async () => {
28
30
  showNavigation: false,
29
31
  showToolbar: false,
30
32
  showSaveButton: false
31
- }, Bo = Mo(Wo), qt = _o((e, r) => ({
33
+ };
34
+ Bo = Mo(Wo);
35
+ qt = _o((e, r) => ({
32
36
  landmarkPoints: [],
33
37
  isAligned: false,
34
38
  isCut: false,
@@ -64,7 +68,12 @@ let __tla = (async () => {
64
68
  isAligned: false,
65
69
  isCut: false
66
70
  })
67
- })), Eo = 0.45, zt = 3, Kt = 1e-3, vt = 25.4, To = [
71
+ }));
72
+ Eo = 0.45;
73
+ zt = 3;
74
+ Kt = 1e-3;
75
+ vt = 25.4;
76
+ To = [
68
77
  0.25,
69
78
  -0.25,
70
79
  0.5,
@@ -97,31 +106,31 @@ let __tla = (async () => {
97
106
  const P = r[I * 3] * n, T = r[I * 3 + 1] * n, j = r[I * 3 + 2] * n;
98
107
  P < o && (o = P), P > u && (u = P), T < d && (d = T), T > f && (f = T), j < p && (p = j), j > h && (h = j);
99
108
  }
100
- const v = (o + u) * 0.5, g = (d + f) * 0.5, x = (p + h) * 0.5, y = u - o + 1e-6, A = f - d + 1e-6, b = h - p + 1e-6, k = y * 0.5, S = A * 0.5, C = b * 0.5, z = Math.min(128, Math.max(16, Math.round(Math.cbrt(a)))), _ = y / z, E = A / z, V = b / z, F = /* @__PURE__ */ new Map();
109
+ const v = (o + u) * 0.5, g = (d + f) * 0.5, x = (p + h) * 0.5, y = u - o + 1e-6, A = f - d + 1e-6, b = h - p + 1e-6, k = y * 0.5, S = A * 0.5, C = b * 0.5, z = Math.min(128, Math.max(16, Math.round(Math.cbrt(a)))), _ = y / z, B = A / z, V = b / z, F = /* @__PURE__ */ new Map();
101
110
  for (let I = 0; I < a; I++) {
102
- const P = r[I * 3] * n - v, T = r[I * 3 + 1] * n - g, j = r[I * 3 + 2] * n - x, ee = Math.min(z - 1, Math.max(0, Math.floor((P + k) / _))), ie = Math.min(z - 1, Math.max(0, Math.floor((T + S) / E))), oe = Math.min(z - 1, Math.max(0, Math.floor((j + C) / V))), K = ee * z * z + ie * z + oe;
103
- let re = F.get(K);
104
- re || (re = [], F.set(K, re)), re.push(I);
111
+ const P = r[I * 3] * n - v, T = r[I * 3 + 1] * n - g, j = r[I * 3 + 2] * n - x, ee = Math.min(z - 1, Math.max(0, Math.floor((P + k) / _))), ie = Math.min(z - 1, Math.max(0, Math.floor((T + S) / B))), oe = Math.min(z - 1, Math.max(0, Math.floor((j + C) / V))), q = ee * z * z + ie * z + oe;
112
+ let re = F.get(q);
113
+ re || (re = [], F.set(q, re)), re.push(I);
105
114
  }
106
115
  for (let I = 0; I < l; I++) {
107
- const P = s.getX(I), T = s.getY(I), j = s.getZ(I), ee = Math.min(z - 1, Math.max(0, Math.floor((P + k) / _))), ie = Math.min(z - 1, Math.max(0, Math.floor((T + S) / E))), oe = Math.min(z - 1, Math.max(0, Math.floor((j + C) / V)));
108
- let K = 1 / 0, re = 0;
109
- for (let X = 0; X <= z && K > 0; X++) {
110
- for (let he = -X; he <= X; he++) for (let te = -X; te <= X; te++) for (let D = -X; D <= X; D++) {
111
- if (X > 0 && Math.abs(he) < X && Math.abs(te) < X && Math.abs(D) < X) continue;
116
+ const P = s.getX(I), T = s.getY(I), j = s.getZ(I), ee = Math.min(z - 1, Math.max(0, Math.floor((P + k) / _))), ie = Math.min(z - 1, Math.max(0, Math.floor((T + S) / B))), oe = Math.min(z - 1, Math.max(0, Math.floor((j + C) / V)));
117
+ let q = 1 / 0, re = 0;
118
+ for (let K = 0; K <= z && q > 0; K++) {
119
+ for (let he = -K; he <= K; he++) for (let te = -K; te <= K; te++) for (let D = -K; D <= K; D++) {
120
+ if (K > 0 && Math.abs(he) < K && Math.abs(te) < K && Math.abs(D) < K) continue;
112
121
  const O = ee + he, Q = ie + te, U = oe + D;
113
122
  if (O < 0 || O >= z || Q < 0 || Q >= z || U < 0 || U >= z) continue;
114
123
  const N = F.get(O * z * z + Q * z + U);
115
- if (N) for (const Z of N) {
116
- const fe = r[Z * 3] * n - v, le = r[Z * 3 + 1] * n - g, ge = r[Z * 3 + 2] * n - x, ue = (P - fe) ** 2 + (T - le) ** 2 + (j - ge) ** 2;
117
- ue < K && (K = ue, re = Z);
124
+ if (N) for (const Y of N) {
125
+ const fe = r[Y * 3] * n - v, se = r[Y * 3 + 1] * n - g, ge = r[Y * 3 + 2] * n - x, ue = (P - fe) ** 2 + (T - se) ** 2 + (j - ge) ** 2;
126
+ ue < q && (q = ue, re = Y);
118
127
  }
119
128
  }
120
- if (K < 1 / 0) break;
129
+ if (q < 1 / 0) break;
121
130
  }
122
131
  c[I * 3] = t[re * 3], c[I * 3 + 1] = t[re * 3 + 1], c[I * 3 + 2] = t[re * 3 + 2];
123
132
  }
124
- e.setAttribute("color", new Y.Float32BufferAttribute(c, 3));
133
+ e.setAttribute("color", new Z.Float32BufferAttribute(c, 3));
125
134
  }
126
135
  const zn = {
127
136
  debug: 0,
@@ -190,8 +199,8 @@ let __tla = (async () => {
190
199
  };
191
200
  }
192
201
  function Hn(e, r) {
193
- const t = new Y.BufferGeometry();
194
- return t.setAttribute("position", new Y.Float32BufferAttribute(e, 3)), t.setIndex(new Y.BufferAttribute(r, 1)), t.computeVertexNormals(), t;
202
+ const t = new Z.BufferGeometry();
203
+ return t.setAttribute("position", new Z.Float32BufferAttribute(e, 3)), t.setIndex(new Z.BufferAttribute(r, 1)), t.computeVertexNormals(), t;
195
204
  }
196
205
  async function Ho(e, r, t) {
197
206
  try {
@@ -435,15 +444,15 @@ let __tla = (async () => {
435
444
  const d = o[0], p = o[1];
436
445
  if (!c) {
437
446
  n.onStatus("Aligning mesh (JS fallback)..."), be.warn(Pe, "WASM not available, using JS fallback alignment");
438
- const N = new M(0, 1, 0), Z = new M().subVectors(p, d).normalize(), fe = Z.dot(N), le = new M().crossVectors(Z, N);
439
- if (le.length() > 1e-4) {
440
- le.normalize();
441
- const $ = new Y.Quaternion().setFromAxisAngle(le, Math.acos(Math.min(1, Math.max(-1, fe))));
442
- a.applyMatrix4(new Y.Matrix4().makeRotationFromQuaternion($)), o = o.map((ke) => ke.clone().applyQuaternion($));
447
+ const N = new M(0, 1, 0), Y = new M().subVectors(p, d).normalize(), fe = Y.dot(N), se = new M().crossVectors(Y, N);
448
+ if (se.length() > 1e-4) {
449
+ se.normalize();
450
+ const $ = new Z.Quaternion().setFromAxisAngle(se, Math.acos(Math.min(1, Math.max(-1, fe))));
451
+ a.applyMatrix4(new Z.Matrix4().makeRotationFromQuaternion($)), o = o.map((ke) => ke.clone().applyQuaternion($));
443
452
  }
444
453
  if (o[0].y > o[1].y) {
445
- const $ = new Y.Quaternion().setFromAxisAngle(new M(1, 0, 0), Math.PI);
446
- a.applyMatrix4(new Y.Matrix4().makeRotationFromQuaternion($)), o = o.map((ke) => ke.clone().applyQuaternion($));
454
+ const $ = new Z.Quaternion().setFromAxisAngle(new M(1, 0, 0), Math.PI);
455
+ a.applyMatrix4(new Z.Matrix4().makeRotationFromQuaternion($)), o = o.map((ke) => ke.clone().applyQuaternion($));
447
456
  }
448
457
  const ge = o[0].clone();
449
458
  a.translate(-ge.x, -ge.y, -ge.z), o = o.map(($) => new M($.x - ge.x, $.y - ge.y, $.z - ge.z)), a.computeVertexNormals(), a.computeBoundingBox();
@@ -497,7 +506,7 @@ let __tla = (async () => {
497
506
  k[1],
498
507
  k[2]
499
508
  ]), C = c.align_to_origin(u, h, v, S);
500
- let z = C.positions(), _ = C.mpt(), E = C.origin();
509
+ let z = C.positions(), _ = C.mpt(), B = C.origin();
501
510
  const V = C.transform();
502
511
  be.info(Pe, "Alignment complete", C.details());
503
512
  const F = [
@@ -516,33 +525,33 @@ let __tla = (async () => {
516
525
  F[6] * k[0] + F[7] * k[1] + F[8] * k[2]
517
526
  ]);
518
527
  n.onStatus("Generating measurement points...");
519
- const P = c.subdivide_origin_to_plane(new Float32Array(E), new Float32Array(_), I);
528
+ const P = c.subdivide_origin_to_plane(new Float32Array(B), new Float32Array(_), I);
520
529
  be.debug(Pe, `Subdivide: ${P.count()} pts, spacing=${P.spacing().toFixed(1)}mm`);
521
530
  const T = P.points(), j = P.count(), ee = 2, ie = 1, oe = [];
522
531
  for (let N = ee; N < j - ie; N++) oe.push(T[N * 3 + 1]);
523
532
  n.onStatus("Computing cross-sections...");
524
- let K = [];
533
+ let q = [];
525
534
  if (oe.length >= 2) {
526
- const Z = (x ? c.batch_cross_sections_y_inner.bind(c) : c.batch_cross_sections_y.bind(c))(z, f, new Float32Array(oe), 10);
527
- be.debug(Pe, "Batch (subdivision)", Z.details());
528
- const fe = Z.all_loop_points(), le = Z.offsets(), ge = Z.circumferences();
529
- for (let ue = 0; ue < le.length - 1; ue++) {
530
- const we = le[ue], $ = le[ue + 1];
535
+ const Y = (x ? c.batch_cross_sections_y_inner.bind(c) : c.batch_cross_sections_y.bind(c))(z, f, new Float32Array(oe), 10);
536
+ be.debug(Pe, "Batch (subdivision)", Y.details());
537
+ const fe = Y.all_loop_points(), se = Y.offsets(), ge = Y.circumferences();
538
+ for (let ue = 0; ue < se.length - 1; ue++) {
539
+ const we = se[ue], $ = se[ue + 1];
531
540
  if ($ <= we || ge[ue] <= 0) continue;
532
541
  const ke = ($ - we) / 3;
533
542
  if (ke < 3) continue;
534
543
  let De = 0, Ie = 0, me = 0;
535
544
  for (let Me = we; Me < $; Me += 3) De += fe[Me], Ie += fe[Me + 1], me += fe[Me + 2];
536
- K.push(De / ke, Ie / ke, me / ke);
545
+ q.push(De / ke, Ie / ke, me / ke);
537
546
  }
538
547
  }
539
- if (K.length >= 6) {
548
+ if (q.length >= 6) {
540
549
  n.onStatus("Refining alignment...");
541
- const N = c.refine_alignment(new Float32Array(K), z, new Float32Array(E), new Float32Array(_));
542
- be.info(Pe, "Refinement complete", N.details()), z = N.positions(), _ = N.mpt(), E = N.origin();
550
+ const N = c.refine_alignment(new Float32Array(q), z, new Float32Array(B), new Float32Array(_));
551
+ be.info(Pe, "Refinement complete", N.details()), z = N.positions(), _ = N.mpt(), B = N.origin();
543
552
  }
544
- const re = a.getAttribute("color"), X = Hn(z, f);
545
- re && X.setAttribute("color", re), a.dispose(), a = X, e.geometry = a, a.computeVertexNormals(), a.computeBoundingBox(), o[0] = new M(E[0], E[1], E[2]), o[1] = new M(_[0], _[1], _[2]), n.onStatus("Setting blue point...");
553
+ const re = a.getAttribute("color"), K = Hn(z, f);
554
+ re && K.setAttribute("color", re), a.dispose(), a = K, e.geometry = a, a.computeVertexNormals(), a.computeBoundingBox(), o[0] = new M(B[0], B[1], B[2]), o[1] = new M(_[0], _[1], _[2]), n.onStatus("Setting blue point...");
546
555
  const he = new M(o[0].x, o[0].y, o[0].z);
547
556
  o.push(he), n.addLandmarkPoint({
548
557
  faceIndex: -1,
@@ -569,17 +578,17 @@ let __tla = (async () => {
569
578
  const te = a.boundingBox, D = new M();
570
579
  te.getSize(D), n.setModelSize(Math.max(D.x, D.y, D.z)), n.setCut(true), n.setAdjustedStartY(null), n.setAdjustedEndY(null), n.setOriginalEndY(o[1].y + 2 * vt), n.onStatus("Computing final measurements...");
571
580
  {
572
- const N = St(a), Z = o[1].y, fe = o[0].y;
573
- let le = 1 / 0, ge = -1 / 0;
581
+ const N = St(a), Y = o[1].y, fe = o[0].y;
582
+ let se = 1 / 0, ge = -1 / 0;
574
583
  const ue = N.positions;
575
- for (let me = 1; me < ue.length; me += 3) ue[me] < le && (le = ue[me]), ue[me] > ge && (ge = ue[me]);
584
+ for (let me = 1; me < ue.length; me += 3) ue[me] < se && (se = ue[me]), ue[me] > ge && (ge = ue[me]);
576
585
  const we = 25.4, $ = [];
577
- $.push(Z);
586
+ $.push(Y);
578
587
  for (let me = 1; me <= 2; me++) {
579
- const Me = Z + me * we;
588
+ const Me = Y + me * we;
580
589
  Me < ge - 1 && $.push(Me);
581
590
  }
582
- for (let me = Z - we; me > fe; me -= we) $.push(me);
591
+ for (let me = Y - we; me > fe; me -= we) $.push(me);
583
592
  $.sort((me, Me) => me - Me), be.info(Pe, `Horizontal slices: ${$.length} Y planes, range ${(_b = $[0]) == null ? void 0 : _b.toFixed(1)} \u2192 ${(_c = $[$.length - 1]) == null ? void 0 : _c.toFixed(1)} mm`);
584
593
  const De = (x ? c.batch_cross_sections_y_inner.bind(c) : c.batch_cross_sections_y.bind(c))(N.positions, N.indices, new Float32Array($), 10);
585
594
  be.info(Pe, `Horizontal slices (${x ? "inner" : "outer"}): ${De.count()}/${$.length} valid`), be.debug(Pe, "Slice details", De.details());
@@ -588,7 +597,7 @@ let __tla = (async () => {
588
597
  circumferences: Array.from(De.circumferences()),
589
598
  allLoopPoints: new Float32Array(De.all_loop_points()),
590
599
  offsets: new Uint32Array(De.offsets()),
591
- mptY: Z,
600
+ mptY: Y,
592
601
  originY: fe
593
602
  };
594
603
  (_d = n.setWasmSlices) == null ? void 0 : _d.call(n, Ie);
@@ -785,7 +794,7 @@ let __tla = (async () => {
785
794
  ];
786
795
  const b = x.getAttribute("position"), k = new M().fromBufferAttribute(b, A[0]), S = new M().fromBufferAttribute(b, A[1]), C = new M().fromBufferAttribute(b, A[2]);
787
796
  k.applyMatrix4(e.matrixWorld), S.applyMatrix4(e.matrixWorld), C.applyMatrix4(e.matrixWorld);
788
- const z = v.point, _ = qo(z, k, S, C), E = {
797
+ const z = v.point, _ = qo(z, k, S, C), B = {
789
798
  faceIndex: g,
790
799
  vertexIndices: A,
791
800
  position: {
@@ -795,7 +804,7 @@ let __tla = (async () => {
795
804
  },
796
805
  barycentricCoords: _
797
806
  };
798
- c(E);
807
+ c(B);
799
808
  }, [
800
809
  e,
801
810
  c,
@@ -803,9 +812,9 @@ let __tla = (async () => {
803
812
  r
804
813
  ]), d = J(() => !!e.geometry.getAttribute("color"), [
805
814
  e
806
- ]), p = l ? Math.min(n, 0.65) : n, u = p < 1, f = J(() => new Y.MeshStandardMaterial({
815
+ ]), p = l ? Math.min(n, 0.65) : n, u = p < 1, f = J(() => new Z.MeshStandardMaterial({
807
816
  color: d ? "#ffffff" : t,
808
- side: s ? Y.FrontSide : Y.DoubleSide,
817
+ side: s ? Z.FrontSide : Z.DoubleSide,
809
818
  roughness: 0.6,
810
819
  metalness: 0.1,
811
820
  transparent: u,
@@ -827,7 +836,7 @@ let __tla = (async () => {
827
836
  renderOrder: l ? 0 : void 0
828
837
  });
829
838
  }, Jo = ({ point: e, index: r, markerSize: t, color: n, label: s }) => {
830
- const [l, c] = B(false);
839
+ const [l, c] = E(false);
831
840
  return w("mesh", {
832
841
  position: [
833
842
  e.position.x,
@@ -898,7 +907,7 @@ let __tla = (async () => {
898
907
  const kn = (e, r) => {
899
908
  const t = Math.abs(e - r);
900
909
  return t <= 7 ? "#8BC34A" : t <= 20 ? "#FFC107" : "#FF5722";
901
- }, Pn = new Y.Color("#8BC34A"), Ln = new Y.Color("#FFC107"), er = new Y.Color("#FF5722"), tr = (e) => {
910
+ }, Pn = new Z.Color("#8BC34A"), Ln = new Z.Color("#FFC107"), er = new Z.Color("#FF5722"), tr = (e) => {
902
911
  if (e <= 7) return Pn.clone();
903
912
  if (e <= 20) {
904
913
  const t = (e - 7) / 13;
@@ -915,17 +924,17 @@ let __tla = (async () => {
915
924
  l.push(h, v, g, v, x, g);
916
925
  }
917
926
  }
918
- const c = new Y.BufferGeometry();
919
- c.setAttribute("position", new Y.Float32BufferAttribute(n, 3)), c.setAttribute("color", new Y.Float32BufferAttribute(s, 3)), c.setIndex(l);
920
- const a = new Y.MeshBasicMaterial({
927
+ const c = new Z.BufferGeometry();
928
+ c.setAttribute("position", new Z.Float32BufferAttribute(n, 3)), c.setAttribute("color", new Z.Float32BufferAttribute(s, 3)), c.setIndex(l);
929
+ const a = new Z.MeshBasicMaterial({
921
930
  vertexColors: true,
922
931
  transparent: true,
923
932
  opacity: 0.25,
924
- side: Y.DoubleSide,
933
+ side: Z.DoubleSide,
925
934
  depthTest: false,
926
935
  depthWrite: false
927
936
  });
928
- return new Y.Mesh(c, a);
937
+ return new Z.Mesh(c, a);
929
938
  }, or = ({ bvh: e, geometry: r, yPosition: t, color: n = "#00ff00", labelX: s, onDataChange: l, displayUnit: c = "cm", useInnerSurface: a = false, formValue: o, lineWidth: d = 1.5, wasmLoopPoints: p, wasmCircumference: u }) => {
930
939
  const f = J(() => p && u != null ? null : Ge(e, r, t, a), [
931
940
  e,
@@ -946,27 +955,27 @@ let __tla = (async () => {
946
955
  h,
947
956
  g
948
957
  ]);
949
- q(() => () => {
958
+ X(() => () => {
950
959
  x && (x.geometry.dispose(), x.material.dispose());
951
960
  }, [
952
961
  x
953
962
  ]);
954
963
  const y = de(null), A = J(() => {
955
- const b = new Y.BufferGeometry();
956
- b.setAttribute("position", new Y.Float32BufferAttribute(new Float32Array(6), 3));
957
- const k = new Y.LineBasicMaterial({
964
+ const b = new Z.BufferGeometry();
965
+ b.setAttribute("position", new Z.Float32BufferAttribute(new Float32Array(6), 3));
966
+ const k = new Z.LineBasicMaterial({
958
967
  color: 6710886,
959
968
  depthTest: false,
960
969
  depthWrite: false,
961
970
  transparent: true
962
971
  });
963
- return new Y.Line(b, k);
972
+ return new Z.Line(b, k);
964
973
  }, []);
965
- return q(() => () => {
974
+ return X(() => () => {
966
975
  A.geometry.dispose(), A.material.dispose();
967
976
  }, [
968
977
  A
969
- ]), q(() => {
978
+ ]), X(() => {
970
979
  v > 0 && (l == null ? void 0 : l({
971
980
  yPosition: t,
972
981
  originalValue: v,
@@ -989,7 +998,7 @@ let __tla = (async () => {
989
998
  const P = C.x * I.x + C.z * I.z;
990
999
  P > z && (z = P, _ = I);
991
1000
  }
992
- const E = s * 0.35, V = new M(_.x + C.x * E, t, _.z + C.z * E);
1001
+ const B = s * 0.35, V = new M(_.x + C.x * B, t, _.z + C.z * B);
993
1002
  y.current.position.copy(V);
994
1003
  const F = A.geometry.getAttribute("position");
995
1004
  F.setXYZ(0, _.x, _.y, _.z), F.setXYZ(1, V.x, V.y, V.z), F.needsUpdate = true;
@@ -1138,12 +1147,12 @@ let __tla = (async () => {
1138
1147
  ];
1139
1148
  if (n > 25.4 + 0.1) {
1140
1149
  const _ = u.mptY;
1141
- z = z.filter((E) => {
1142
- const V = Math.abs(E - _);
1150
+ z = z.filter((B) => {
1151
+ const V = Math.abs(B - _);
1143
1152
  return V < 0.5 || Math.abs(Math.round(V / n) * n - V) < 0.5;
1144
1153
  });
1145
1154
  }
1146
- return c ? z.sort((_, E) => E - _) : z.sort((_, E) => _ - E), z;
1155
+ return c ? z.sort((_, B) => B - _) : z.sort((_, B) => _ - B), z;
1147
1156
  }
1148
1157
  const S = [];
1149
1158
  if (c) for (let C = t; C >= r; C -= n) S.push(C);
@@ -1158,12 +1167,12 @@ let __tla = (async () => {
1158
1167
  ]), x = J(() => {
1159
1168
  if (!u) return null;
1160
1169
  const S = /* @__PURE__ */ new Map(), { allLoopPoints: C, offsets: z, yValues: _ } = u;
1161
- for (let E = 0; E < z.length - 1; E++) {
1162
- const V = z[E], F = z[E + 1];
1170
+ for (let B = 0; B < z.length - 1; B++) {
1171
+ const V = z[B], F = z[B + 1];
1163
1172
  if (F <= V) continue;
1164
1173
  const I = [];
1165
1174
  for (let P = V; P < F; P += 3) I.push(new M(C[P], C[P + 1], C[P + 2]));
1166
- I.length >= 3 && S.set(_[E], I);
1175
+ I.length >= 3 && S.set(_[B], I);
1167
1176
  }
1168
1177
  return S;
1169
1178
  }, [
@@ -1176,11 +1185,11 @@ let __tla = (async () => {
1176
1185
  }, [
1177
1186
  u
1178
1187
  ]);
1179
- q(() => {
1188
+ X(() => {
1180
1189
  f.current.clear();
1181
1190
  }, [
1182
1191
  g
1183
- ]), q(() => {
1192
+ ]), X(() => {
1184
1193
  if (!y || !l) return;
1185
1194
  const S = g.filter((C) => (y.get(C) ?? 0) > 0).map((C) => ({
1186
1195
  yPosition: C,
@@ -1236,8 +1245,8 @@ let __tla = (async () => {
1236
1245
  const _ = new M(z.x, 0, z.z);
1237
1246
  if (_.lengthSq() < 1e-8) return;
1238
1247
  _.normalize();
1239
- const E = new M().crossVectors(new M(0, 1, 0), _).normalize();
1240
- u.current.position.set(E.x * d, 0, E.z * d);
1248
+ const B = new M().crossVectors(new M(0, 1, 0), _).normalize();
1249
+ u.current.position.set(B.x * d, 0, B.z * d);
1241
1250
  const V = C.position.x - u.current.position.x, F = C.position.z - u.current.position.z;
1242
1251
  u.current.rotation.y = Math.atan2(V, F);
1243
1252
  });
@@ -1364,7 +1373,7 @@ let __tla = (async () => {
1364
1373
  const { set: u, size: f, camera: h, invalidate: v } = Wn(), g = de(false), x = de(s), y = de(new M()), A = de(null), b = de(c), k = de(r), S = de(t), C = de(a), z = de({
1365
1374
  min: o,
1366
1375
  max: d
1367
- }), _ = de(0), E = ce(() => {
1376
+ }), _ = de(0), B = ce(() => {
1368
1377
  if (!n || e <= 0) return null;
1369
1378
  const F = a ?? n.geometry;
1370
1379
  F.computeBoundingBox();
@@ -1377,21 +1386,21 @@ let __tla = (async () => {
1377
1386
  const te = o, D = d, O = F.getAttribute("position");
1378
1387
  if (O) {
1379
1388
  const Q = O.array, U = (D - te) * 0.08;
1380
- let N = 1 / 0, Z = -1 / 0, fe = te - U, le = D + U, ge = false;
1389
+ let N = 1 / 0, Y = -1 / 0, fe = te - U, se = D + U, ge = false;
1381
1390
  for (let ue = 0; ue < O.count; ue++) {
1382
1391
  const we = Q[ue * 3 + 1];
1383
1392
  if (we < te - U || we > D + U) continue;
1384
1393
  const $ = Q[ue * 3];
1385
- $ < N && (N = $), $ > Z && (Z = $), ge = true;
1394
+ $ < N && (N = $), $ > Y && (Y = $), ge = true;
1386
1395
  }
1387
- ge && (P.set((N + Z) / 2, (fe + le) / 2, 0), T.set(Z - N, le - fe, 0));
1396
+ ge && (P.set((N + Y) / 2, (fe + se) / 2, 0), T.set(Y - N, se - fe, 0));
1388
1397
  }
1389
1398
  }
1390
1399
  y.current.copy(T);
1391
- const ee = f.width / f.height, ie = 1.35, oe = j ? 1.15 : 1.6, K = Math.max(T.y * oe, T.x * ie / ee), re = K * ee, X = P.y - T.y * 0.05;
1392
- _.current = X;
1393
- const he = new Y.OrthographicCamera(-re / 2, re / 2, K / 2, -K / 2, 0.1, e * 10);
1394
- return he.position.set(0, X, e * 2), he.lookAt(0, X, 0), he;
1400
+ const ee = f.width / f.height, ie = 1.35, oe = j ? 1.15 : 1.6, q = Math.max(T.y * oe, T.x * ie / ee), re = q * ee, K = P.y - T.y * 0.05;
1401
+ _.current = K;
1402
+ const he = new Z.OrthographicCamera(-re / 2, re / 2, q / 2, -q / 2, 0.1, e * 10);
1403
+ return he.position.set(0, K, e * 2), he.lookAt(0, K, 0), he;
1395
1404
  }, [
1396
1405
  n,
1397
1406
  e,
@@ -1400,9 +1409,9 @@ let __tla = (async () => {
1400
1409
  o,
1401
1410
  d
1402
1411
  ]);
1403
- q(() => {
1412
+ X(() => {
1404
1413
  if (p) return p.current = () => {
1405
- const F = E();
1414
+ const F = B();
1406
1415
  F && (u({
1407
1416
  camera: F
1408
1417
  }), v());
@@ -1411,7 +1420,7 @@ let __tla = (async () => {
1411
1420
  };
1412
1421
  }, [
1413
1422
  p,
1414
- E,
1423
+ B,
1415
1424
  u,
1416
1425
  v
1417
1426
  ]);
@@ -1421,10 +1430,10 @@ let __tla = (async () => {
1421
1430
  }, [
1422
1431
  v
1423
1432
  ]);
1424
- return q(() => {
1433
+ return X(() => {
1425
1434
  if (e > 0 && !g.current && !r) {
1426
1435
  g.current = true;
1427
- const F = new Y.PerspectiveCamera(50, f.width / f.height, 0.1, e * 10);
1436
+ const F = new Z.PerspectiveCamera(50, f.width / f.height, 0.1, e * 10);
1428
1437
  F.position.set(e * 0.3, e * 0.2, e * 1.5), F.lookAt(0, 0, 0), u({
1429
1438
  camera: F
1430
1439
  }), requestAnimationFrame(() => V(F));
@@ -1435,7 +1444,7 @@ let __tla = (async () => {
1435
1444
  u,
1436
1445
  r,
1437
1446
  V
1438
- ]), q(() => {
1447
+ ]), X(() => {
1439
1448
  const F = b.current;
1440
1449
  b.current = c, F === 0 && c === 1 && !r && requestAnimationFrame(() => V(h));
1441
1450
  }, [
@@ -1443,13 +1452,13 @@ let __tla = (async () => {
1443
1452
  r,
1444
1453
  h,
1445
1454
  V
1446
- ]), q(() => {
1455
+ ]), X(() => {
1447
1456
  const F = k.current !== r, I = S.current !== t, P = !C.current && !!a, T = (z.current.min == null || z.current.max == null) && o != null && d != null;
1448
1457
  if (k.current = r, S.current = t, C.current = a, z.current = {
1449
1458
  min: o,
1450
1459
  max: d
1451
1460
  }, !F && !I && !P && !T || !r || s !== "3D") return;
1452
- const j = E();
1461
+ const j = B();
1453
1462
  j && u({
1454
1463
  camera: j
1455
1464
  });
@@ -1460,37 +1469,37 @@ let __tla = (async () => {
1460
1469
  a,
1461
1470
  o,
1462
1471
  d,
1463
- E,
1472
+ B,
1464
1473
  u
1465
- ]), q(() => {
1474
+ ]), X(() => {
1466
1475
  if (x.current === s) return;
1467
1476
  const F = x.current;
1468
1477
  if (x.current = s, !(!r || !n || e <= 0)) {
1469
1478
  if (s === "2D" && l != null) {
1470
1479
  A.current = h;
1471
1480
  const I = n.geometry, P = I.getAttribute("position"), T = P.array, j = e * 0.15;
1472
- let ee = 1 / 0, ie = -1 / 0, oe = 1 / 0, K = -1 / 0, re = false;
1481
+ let ee = 1 / 0, ie = -1 / 0, oe = 1 / 0, q = -1 / 0, re = false;
1473
1482
  for (let fe = 0; fe < P.count; fe++) if (Math.abs(T[fe * 3 + 1] - l) < j) {
1474
- const le = T[fe * 3], ge = T[fe * 3 + 2];
1475
- le < ee && (ee = le), le > ie && (ie = le), ge < oe && (oe = ge), ge > K && (K = ge), re = true;
1483
+ const se = T[fe * 3], ge = T[fe * 3 + 2];
1484
+ se < ee && (ee = se), se > ie && (ie = se), ge < oe && (oe = ge), ge > q && (q = ge), re = true;
1476
1485
  }
1477
1486
  if (!re) {
1478
1487
  I.computeBoundingBox();
1479
1488
  const fe = I.boundingBox;
1480
- ee = fe.min.x, ie = fe.max.x, oe = fe.min.z, K = fe.max.z;
1489
+ ee = fe.min.x, ie = fe.max.x, oe = fe.min.z, q = fe.max.z;
1481
1490
  }
1482
- const X = (ee + ie) / 2, he = (oe + K) / 2, te = f.width / f.height, D = 1.4, O = (ie - ee) * D, Q = (K - oe) * D;
1491
+ const K = (ee + ie) / 2, he = (oe + q) / 2, te = f.width / f.height, D = 1.4, O = (ie - ee) * D, Q = (q - oe) * D;
1483
1492
  let U, N;
1484
1493
  O / Q > te ? (U = O, N = O / te) : (N = Q, U = Q * te);
1485
- const Z = new Y.OrthographicCamera(-U / 2, U / 2, N / 2, -N / 2, 0.1, e * 10);
1486
- Z.position.set(X, l + e * 2, he), Z.up.set(0, 0, -1), Z.lookAt(X, l, he), u({
1487
- camera: Z
1494
+ const Y = new Z.OrthographicCamera(-U / 2, U / 2, N / 2, -N / 2, 0.1, e * 10);
1495
+ Y.position.set(K, l + e * 2, he), Y.up.set(0, 0, -1), Y.lookAt(K, l, he), u({
1496
+ camera: Y
1488
1497
  });
1489
1498
  } else if (F === "2D") if (A.current) u({
1490
1499
  camera: A.current
1491
1500
  }), A.current = null;
1492
1501
  else {
1493
- const I = E();
1502
+ const I = B();
1494
1503
  I && u({
1495
1504
  camera: I
1496
1505
  });
@@ -1505,26 +1514,26 @@ let __tla = (async () => {
1505
1514
  f,
1506
1515
  u,
1507
1516
  h,
1508
- E
1509
- ]), q(() => {
1517
+ B
1518
+ ]), X(() => {
1510
1519
  if (!r || !h || !h.isOrthographicCamera) return;
1511
1520
  const F = h;
1512
1521
  if (s === "2D") {
1513
1522
  if (!n || l == null) return;
1514
1523
  const I = n.geometry, P = I.getAttribute("position"), T = P.array, j = e * 0.15;
1515
- let ee = 1 / 0, ie = -1 / 0, oe = 1 / 0, K = -1 / 0, re = false;
1524
+ let ee = 1 / 0, ie = -1 / 0, oe = 1 / 0, q = -1 / 0, re = false;
1516
1525
  for (let U = 0; U < P.count; U++) if (Math.abs(T[U * 3 + 1] - l) < j) {
1517
- const N = T[U * 3], Z = T[U * 3 + 2];
1518
- N < ee && (ee = N), N > ie && (ie = N), Z < oe && (oe = Z), Z > K && (K = Z), re = true;
1526
+ const N = T[U * 3], Y = T[U * 3 + 2];
1527
+ N < ee && (ee = N), N > ie && (ie = N), Y < oe && (oe = Y), Y > q && (q = Y), re = true;
1519
1528
  }
1520
1529
  if (!re) {
1521
1530
  I.computeBoundingBox();
1522
1531
  const U = I.boundingBox;
1523
- ee = U.min.x, ie = U.max.x, oe = U.min.z, K = U.max.z;
1532
+ ee = U.min.x, ie = U.max.x, oe = U.min.z, q = U.max.z;
1524
1533
  }
1525
- const X = f.width / f.height, he = 1.4, te = (ie - ee) * he, D = (K - oe) * he;
1534
+ const K = f.width / f.height, he = 1.4, te = (ie - ee) * he, D = (q - oe) * he;
1526
1535
  let O, Q;
1527
- te / D > X ? (O = te, Q = te / X) : (Q = D, O = D * X), F.left = -O / 2, F.right = O / 2, F.top = Q / 2, F.bottom = -Q / 2;
1536
+ te / D > K ? (O = te, Q = te / K) : (Q = D, O = D * K), F.left = -O / 2, F.right = O / 2, F.top = Q / 2, F.bottom = -Q / 2;
1528
1537
  } else {
1529
1538
  const I = y.current, P = f.width / f.height, T = Math.max(I.y, I.x / P) * 1.6, j = T * P;
1530
1539
  F.left = -j / 2, F.right = j / 2, F.top = T / 2, F.bottom = -T / 2;
@@ -1598,7 +1607,7 @@ let __tla = (async () => {
1598
1607
  children: "X"
1599
1608
  })
1600
1609
  ]
1601
- }), fr = ({ isDoubleShell: e, onDismiss: r }) => (q(() => {
1610
+ }), fr = ({ isDoubleShell: e, onDismiss: r }) => (X(() => {
1602
1611
  const t = setTimeout(r, 1e4);
1603
1612
  return () => clearTimeout(t);
1604
1613
  }, []), w("div", {
@@ -1659,14 +1668,14 @@ let __tla = (async () => {
1659
1668
  ]), { mlLine: f, apLine: h, mlWidth: v, apWidth: g } = J(() => {
1660
1669
  let A = null, b = null, k = 0, S = 0;
1661
1670
  if (p.linePoints.length >= 2) {
1662
- let C = p.linePoints[0], z = p.linePoints[0], _ = p.linePoints[0], E = p.linePoints[0];
1663
- for (const V of p.linePoints) V.x < C.x && (C = V), V.x > z.x && (z = V), V.z < _.z && (_ = V), V.z > E.z && (E = V);
1671
+ let C = p.linePoints[0], z = p.linePoints[0], _ = p.linePoints[0], B = p.linePoints[0];
1672
+ for (const V of p.linePoints) V.x < C.x && (C = V), V.x > z.x && (z = V), V.z < _.z && (_ = V), V.z > B.z && (B = V);
1664
1673
  A = [
1665
1674
  new M(C.x, t, C.z),
1666
1675
  new M(z.x, t, z.z)
1667
1676
  ], b = [
1668
1677
  new M(_.x, t, _.z),
1669
- new M(E.x, t, E.z)
1678
+ new M(B.x, t, B.z)
1670
1679
  ], k = A[0].distanceTo(A[1]), S = b[0].distanceTo(b[1]);
1671
1680
  }
1672
1681
  return {
@@ -1685,7 +1694,7 @@ let __tla = (async () => {
1685
1694
  geometry: e.geometry,
1686
1695
  children: i("meshStandardMaterial", {
1687
1696
  color: s,
1688
- side: Y.DoubleSide,
1697
+ side: Z.DoubleSide,
1689
1698
  transparent: true,
1690
1699
  opacity: 0.15,
1691
1700
  depthWrite: false,
@@ -1905,7 +1914,7 @@ let __tla = (async () => {
1905
1914
  ]
1906
1915
  });
1907
1916
  }, pr = ({ mesh: e, yPosition: r, onYChange: t, minY: n, maxY: s, modelSize: l, color: c, hoverColor: a, dragColor: o, label: d, onDragStart: p, onDragEnd: u }) => {
1908
- const [f, h] = B(false), [v, g] = B(false), { camera: x, gl: y } = Wn(), A = de(0), b = de(null), k = e.geometry, S = Nn(k), C = J(() => S ? Ge(S, k, r) : {
1917
+ const [f, h] = E(false), [v, g] = E(false), { camera: x, gl: y } = Wn(), A = de(0), b = de(null), k = e.geometry, S = Nn(k), C = J(() => S ? Ge(S, k, r) : {
1909
1918
  linePoints: [],
1910
1919
  lineLength: 0,
1911
1920
  rightmostPoint: new M()
@@ -1914,10 +1923,10 @@ let __tla = (async () => {
1914
1923
  k,
1915
1924
  r
1916
1925
  ]), z = ce((P, T, j) => {
1917
- const ee = y.domElement.getBoundingClientRect(), ie = (P - ee.left) / ee.width * 2 - 1, oe = -((T - ee.top) / ee.height) * 2 + 1, K = new Do();
1918
- K.setFromCamera(new Y.Vector2(ie, oe), x);
1926
+ const ee = y.domElement.getBoundingClientRect(), ie = (P - ee.left) / ee.width * 2 - 1, oe = -((T - ee.top) / ee.height) * 2 + 1, q = new Do();
1927
+ q.setFromCamera(new Z.Vector2(ie, oe), x);
1919
1928
  const re = new M();
1920
- return K.ray.intersectPlane(j, re) ? re.y : null;
1929
+ return q.ray.intersectPlane(j, re) ? re.y : null;
1921
1930
  }, [
1922
1931
  x,
1923
1932
  y
@@ -1928,7 +1937,7 @@ let __tla = (async () => {
1928
1937
  return new Ct().setFromNormalAndCoplanarPoint(j, new M(0, P, 0));
1929
1938
  }, [
1930
1939
  x
1931
- ]), E = ce((P) => {
1940
+ ]), B = ce((P) => {
1932
1941
  P.stopPropagation(), h(true), y.domElement.style.cursor = "ns-resize";
1933
1942
  const T = _(r);
1934
1943
  b.current = T;
@@ -1971,7 +1980,7 @@ let __tla = (async () => {
1971
1980
  depthWrite: false,
1972
1981
  transparent: true,
1973
1982
  renderOrder: 10,
1974
- onPointerDown: E,
1983
+ onPointerDown: B,
1975
1984
  onPointerMove: V,
1976
1985
  onPointerUp: F,
1977
1986
  onPointerEnter: () => {
@@ -2071,46 +2080,46 @@ let __tla = (async () => {
2071
2080
  ]), [
2072
2081
  e,
2073
2082
  v
2074
- ]), [b, k] = B(() => {
2083
+ ]), [b, k] = E(() => {
2075
2084
  if (!f) return {};
2076
2085
  const D = {};
2077
2086
  return y.forEach((O, Q) => {
2078
2087
  f[Q] != null && f[Q] !== 0 && (D[O] = (f[Q] / 10).toFixed(1));
2079
2088
  }), D;
2080
- }), [S, C] = B(h && h > 0 ? (h / 10).toFixed(1) : ""), [z, _] = B(""), [E, V] = B(""), [F, I] = B(""), [P, T] = B(""), j = e === "AK" ? "Perineum to Distal (Axial)" : "MPT to Distal (Axial)", ee = e === "AK" ? "M/L at Perineum" : "M/L at MPT", ie = e === "AK" ? "A/P at Perineum" : "A/P at MPT", oe = J(() => y.map((D) => {
2089
+ }), [S, C] = E(h && h > 0 ? (h / 10).toFixed(1) : ""), [z, _] = E(""), [B, V] = E(""), [F, I] = E(""), [P, T] = E(""), j = e === "AK" ? "Perineum to Distal (Axial)" : "MPT to Distal (Axial)", ee = e === "AK" ? "M/L at Perineum" : "M/L at MPT", ie = e === "AK" ? "A/P at Perineum" : "A/P at MPT", oe = J(() => y.map((D) => {
2081
2090
  const O = b[D];
2082
2091
  return O != null && O !== "" && !isNaN(parseFloat(O)) ? parseFloat(O) * 10 : 0;
2083
2092
  }), [
2084
2093
  y,
2085
2094
  b
2086
2095
  ]);
2087
- q(() => {
2096
+ X(() => {
2088
2097
  o == null ? void 0 : o(oe);
2089
2098
  }, [
2090
2099
  oe,
2091
2100
  o
2092
- ]), q(() => {
2101
+ ]), X(() => {
2093
2102
  const D = S !== "" && !isNaN(parseFloat(S)) ? parseFloat(S) * 10 : void 0;
2094
2103
  d == null ? void 0 : d(D);
2095
2104
  }, [
2096
2105
  S,
2097
2106
  d
2098
2107
  ]);
2099
- const K = e === "AK" ? z : F, re = e === "AK" ? E : P;
2100
- q(() => {
2101
- const D = K !== "" && !isNaN(parseFloat(K)) ? parseFloat(K) * 10 : void 0;
2108
+ const q = e === "AK" ? z : F, re = e === "AK" ? B : P;
2109
+ X(() => {
2110
+ const D = q !== "" && !isNaN(parseFloat(q)) ? parseFloat(q) * 10 : void 0;
2102
2111
  p == null ? void 0 : p(D);
2103
2112
  }, [
2104
- K,
2113
+ q,
2105
2114
  p
2106
- ]), q(() => {
2115
+ ]), X(() => {
2107
2116
  const D = re !== "" && !isNaN(parseFloat(re)) ? parseFloat(re) * 10 : void 0;
2108
2117
  u == null ? void 0 : u(D);
2109
2118
  }, [
2110
2119
  re,
2111
2120
  u
2112
2121
  ]);
2113
- const X = J(() => {
2122
+ const K = J(() => {
2114
2123
  for (const D of A) {
2115
2124
  const O = y.indexOf(D);
2116
2125
  if (O === -1) continue;
@@ -2123,22 +2132,22 @@ let __tla = (async () => {
2123
2132
  A,
2124
2133
  S
2125
2134
  ]), he = ce(() => {
2126
- if (!X) return;
2135
+ if (!K) return;
2127
2136
  const D = (Q) => Q !== "" && !isNaN(parseFloat(Q)) ? parseFloat(Q) * 10 : void 0, O = D(S) ?? 0;
2128
2137
  c({
2129
2138
  circumferences: oe,
2130
2139
  frontalHeight: O,
2131
2140
  perineumML: e === "AK" ? D(z) : void 0,
2132
- perineumAP: e === "AK" ? D(E) : void 0,
2141
+ perineumAP: e === "AK" ? D(B) : void 0,
2133
2142
  mptML: e === "BK" ? D(F) : void 0,
2134
2143
  mptAP: e === "BK" ? D(P) : void 0
2135
2144
  });
2136
2145
  }, [
2137
- X,
2146
+ K,
2138
2147
  oe,
2139
2148
  S,
2140
2149
  z,
2141
- E,
2150
+ B,
2142
2151
  F,
2143
2152
  P,
2144
2153
  e,
@@ -2366,8 +2375,8 @@ let __tla = (async () => {
2366
2375
  type: "number",
2367
2376
  step: "0.1",
2368
2377
  value: b[D] ?? "",
2369
- onChange: (N) => k((Z) => ({
2370
- ...Z,
2378
+ onChange: (N) => k((Y) => ({
2379
+ ...Y,
2371
2380
  [D]: N.target.value
2372
2381
  })),
2373
2382
  style: {
@@ -2508,13 +2517,13 @@ let __tla = (async () => {
2508
2517
  i("input", {
2509
2518
  type: "number",
2510
2519
  step: "0.1",
2511
- value: E,
2520
+ value: B,
2512
2521
  onChange: (D) => V(D.target.value),
2513
2522
  style: {
2514
2523
  ...qe,
2515
2524
  padding: "6px 8px",
2516
2525
  fontSize: 13,
2517
- borderColor: E ? "rgb(12, 67, 173)" : "#ccc",
2526
+ borderColor: B ? "rgb(12, 67, 173)" : "#ccc",
2518
2527
  borderWidth: 1
2519
2528
  },
2520
2529
  placeholder: "0.0"
@@ -2616,13 +2625,13 @@ let __tla = (async () => {
2616
2625
  },
2617
2626
  children: i("button", {
2618
2627
  onClick: he,
2619
- disabled: !X,
2628
+ disabled: !K,
2620
2629
  style: {
2621
2630
  ..._n,
2622
- backgroundColor: X ? "rgb(12, 67, 173)" : "#e0e0e0",
2631
+ backgroundColor: K ? "rgb(12, 67, 173)" : "#e0e0e0",
2623
2632
  border: "none",
2624
- color: X ? "#fff" : "#9e9e9e",
2625
- cursor: X ? "pointer" : "not-allowed",
2633
+ color: K ? "#fff" : "#9e9e9e",
2634
+ cursor: K ? "pointer" : "not-allowed",
2626
2635
  padding: "6px 16px",
2627
2636
  fontSize: 13,
2628
2637
  width: "100%"
@@ -2657,7 +2666,7 @@ let __tla = (async () => {
2657
2666
  boxSizing: "border-box",
2658
2667
  fontFamily: "system-ui, sans-serif"
2659
2668
  }, wr = ({ onSkip: e, onCancel: r }) => {
2660
- const [t, n] = B("confirm"), [s, l] = B(null), [c, a] = B(""), o = ce(() => {
2669
+ const [t, n] = E("confirm"), [s, l] = E(null), [c, a] = E(""), o = ce(() => {
2661
2670
  n("reasons");
2662
2671
  }, []), d = ce(() => {
2663
2672
  t === "reasons" ? (n("confirm"), l(null), a("")) : r();
@@ -3249,16 +3258,16 @@ let __tla = (async () => {
3249
3258
  const l = J(() => {
3250
3259
  const p = s ?? e, u = Zt(p), f = new M(0, 1, 0), h = 5, g = t + 3 * 25.4, x = [];
3251
3260
  for (let _ = r + h; _ < g; _ += h) {
3252
- const E = Go(u, p, new M(0, _, 0), f);
3253
- E > 0 && x.push({
3261
+ const B = Go(u, p, new M(0, _, 0), f);
3262
+ B > 0 && x.push({
3254
3263
  y: _,
3255
- circ: E
3264
+ circ: B
3256
3265
  });
3257
3266
  }
3258
3267
  if (x.length < 5) return null;
3259
3268
  const y = t - r, A = r + y * 0.3, b = r + y * 0.7, k = x.filter((_) => _.y >= A && _.y <= b);
3260
3269
  if (k.length < 3) return null;
3261
- const S = k.map((_) => _.circ).sort((_, E) => _ - E), C = S[Math.floor(S.length / 2)], z = Math.max(...x.map((_) => _.circ));
3270
+ const S = k.map((_) => _.circ).sort((_, B) => _ - B), C = S[Math.floor(S.length / 2)], z = Math.max(...x.map((_) => _.circ));
3262
3271
  return {
3263
3272
  circumferences: x,
3264
3273
  baseline: C,
@@ -3337,7 +3346,7 @@ let __tla = (async () => {
3337
3346
  color: n,
3338
3347
  transparent: true,
3339
3348
  opacity: s ? 0.5 : 0.2,
3340
- side: Y.DoubleSide,
3349
+ side: Z.DoubleSide,
3341
3350
  depthWrite: false,
3342
3351
  polygonOffset: true,
3343
3352
  polygonOffsetFactor: 1,
@@ -3396,7 +3405,7 @@ let __tla = (async () => {
3396
3405
  a[v] = p, a[v + 1] = u, a[v + 2] = f;
3397
3406
  }
3398
3407
  }
3399
- return n.setAttribute("color", new Y.Float32BufferAttribute(a, 3)), n;
3408
+ return n.setAttribute("color", new Z.Float32BufferAttribute(a, 3)), n;
3400
3409
  }, [
3401
3410
  e,
3402
3411
  r
@@ -3410,7 +3419,7 @@ let __tla = (async () => {
3410
3419
  vertexColors: true,
3411
3420
  transparent: true,
3412
3421
  opacity: 0.85,
3413
- side: Y.DoubleSide,
3422
+ side: Z.DoubleSide,
3414
3423
  depthWrite: false
3415
3424
  })
3416
3425
  });
@@ -3660,14 +3669,14 @@ let __tla = (async () => {
3660
3669
  });
3661
3670
  }
3662
3671
  const Br = ({ config: e, spacingType: r, scanUrl: t, formMeasurements: n, onComplete: s, isDebugUser: l = false, onAnalyticsEvent: c, wasmModule: a, autoProcessOnTwoPoints: o = false }) => {
3663
- const [d, p] = B(null), [u, f] = B(0), [h, v] = B(false), [g, x] = B(false), [y, A] = B(""), [b, k] = B("3D"), [S, C] = B(r === "AK" ? 2 : 1), [z, _] = B(false), [E, V] = B(null), [F, I] = B(r ?? null), [P, T] = B("cm"), [j, ee] = B(false), [ie, oe] = B(""), [K, re] = B(false), [X, he] = B(false), [te, D] = B(false), [O, Q] = B(false), [U, N] = B(null), [Z, fe] = B(null), [le, ge] = B(null), [ue, we] = B(false), [$, ke] = B([]), [De, Ie] = B(null), [me, Me] = B(null), [Mt, Ft] = B(null), [it, Ut] = B(null), [Kn, Jt] = B(false), [st, Qt] = B(null), [kt, Le] = B(null), [We, Zn] = B(false), [en, qn] = B(vr), [He, tn] = B("obj"), [Ae, Pt] = B(n), [Ve, Lt] = B(true), [Ye, Je] = B(false), [Dt, nn] = B(false), [Be, lt] = B(false), Ke = de(false), [Un, at] = B(false), [_t, on] = B(() => {
3672
+ const [d, p] = E(null), [u, f] = E(0), [h, v] = E(false), [g, x] = E(false), [y, A] = E(""), [b, k] = E("3D"), [S, C] = E(r === "AK" ? 2 : 1), [z, _] = E(false), [B, V] = E(null), [F, I] = E(r ?? null), [P, T] = E("cm"), [j, ee] = E(false), [ie, oe] = E(""), [q, re] = E(false), [K, he] = E(false), [te, D] = E(false), [O, Q] = E(false), [U, N] = E(null), [Y, fe] = E(null), [se, ge] = E(null), [ue, we] = E(false), [$, ke] = E([]), [De, Ie] = E(null), [me, Me] = E(null), [Mt, Ft] = E(null), [it, Ut] = E(null), [Kn, Jt] = E(false), [st, Qt] = E(null), [kt, Le] = E(null), [We, Zn] = E(false), [en, qn] = E(vr), [He, tn] = E("obj"), [Ae, Pt] = E(n), [Ve, Lt] = E(true), [Ye, Je] = E(false), [Dt, nn] = E(false), [Be, lt] = E(false), Ke = de(false), [Un, at] = E(false), [_t, on] = E(() => {
3664
3673
  try {
3665
3674
  return localStorage.getItem("gm_helpTipDismissed") !== "1";
3666
3675
  } catch {
3667
3676
  return true;
3668
3677
  }
3669
3678
  });
3670
- q(() => {
3679
+ X(() => {
3671
3680
  if (!_t) return;
3672
3681
  const m = setTimeout(() => {
3673
3682
  on(false);
@@ -3679,22 +3688,22 @@ let __tla = (async () => {
3679
3688
  return () => clearTimeout(m);
3680
3689
  }, [
3681
3690
  _t
3682
- ]), q(() => {
3683
- if (!X) return;
3691
+ ]), X(() => {
3692
+ if (!K) return;
3684
3693
  const m = setTimeout(() => he(false), 5e3);
3685
3694
  return () => clearTimeout(m);
3686
3695
  }, [
3687
- X
3696
+ K
3688
3697
  ]);
3689
- const Rt = de(null), [Ne, Jn] = B(0);
3690
- q(() => {
3698
+ const Rt = de(null), [Ne, Jn] = E(0);
3699
+ X(() => {
3691
3700
  if (!Rt.current) return;
3692
3701
  const m = new ResizeObserver((L) => {
3693
3702
  for (const R of L) Jn(R.contentRect.width);
3694
3703
  });
3695
3704
  return m.observe(Rt.current), () => m.disconnect();
3696
3705
  }, []);
3697
- const [ve, Qn] = B(null), [eo, to] = B(void 0), [no, oo] = B(void 0), [ro, io] = B(void 0), [so, lo] = B(void 0), [rn] = B("#c8c8c8"), [ao] = B(1), [Ee, co] = B(false), [Wt, sn] = B([]), ct = de(null), je = de(null), dt = de(false), fo = de(null), It = de(null), Bt = de(null), Qe = ce(async (m) => {
3706
+ const [ve, Qn] = E(null), [eo, to] = E(void 0), [no, oo] = E(void 0), [ro, io] = E(void 0), [so, lo] = E(void 0), [rn] = E("#c8c8c8"), [ao] = E(1), [Ee, co] = E(false), [Wt, sn] = E([]), ct = de(null), je = de(null), dt = de(false), fo = de(null), It = de(null), Bt = de(null), Qe = ce(async (m) => {
3698
3707
  if (!Bt.current) return;
3699
3708
  const L = (m == null ? void 0 : m.restoreView) ?? true;
3700
3709
  try {
@@ -3760,14 +3769,14 @@ let __tla = (async () => {
3760
3769
  ...W.slice(-200),
3761
3770
  `[${R}] ${m}`
3762
3771
  ]);
3763
- }, []), { landmarkPoints: G, clearLandmarkPoints: uo, addLandmarkPoint: ln, removeLandmarkPoint: an, updateLandmarkPositions: cn, setAligned: dn, isAligned: se, setCut: fn, isCut: Et, reset: ft } = qt();
3764
- q(() => {
3772
+ }, []), { landmarkPoints: G, clearLandmarkPoints: uo, addLandmarkPoint: ln, removeLandmarkPoint: an, updateLandmarkPositions: cn, setAligned: dn, isAligned: le, setCut: fn, isCut: Et, reset: ft } = qt();
3773
+ X(() => {
3765
3774
  ft();
3766
3775
  }, [
3767
3776
  ft
3768
3777
  ]);
3769
3778
  const ut = S * vt;
3770
- q(() => {
3779
+ X(() => {
3771
3780
  if (!l || G.length === 0) return;
3772
3781
  const m = G[G.length - 1];
3773
3782
  ze(`LANDMARK[${G.length - 1}]: placed at (${m.position.x.toFixed(1)}, ${m.position.y.toFixed(1)}, ${m.position.z.toFixed(1)}) face=${m.faceIndex}`);
@@ -3775,38 +3784,54 @@ let __tla = (async () => {
3775
3784
  G.length,
3776
3785
  l,
3777
3786
  ze
3778
- ]), q(() => {
3779
- l && se && ze("STATE: mesh aligned");
3787
+ ]), X(() => {
3788
+ l && le && ze("STATE: mesh aligned");
3780
3789
  }, [
3781
- se,
3790
+ le,
3782
3791
  l,
3783
3792
  ze
3784
- ]), q(() => {
3793
+ ]), X(() => {
3785
3794
  l && Et && ze("STATE: mesh cut");
3786
3795
  }, [
3787
3796
  Et,
3788
3797
  l,
3789
3798
  ze
3790
- ]), q(() => {
3799
+ ]), X(() => {
3791
3800
  ct.current && (ct.current.scrollTop = ct.current.scrollHeight);
3792
3801
  }, [
3793
3802
  Wt
3794
3803
  ]);
3795
- const Te = J(() => le ? new Y.Mesh(le) : null, [
3796
- le
3804
+ const Te = J(() => se ? new Z.Mesh(se) : null, [
3805
+ se
3797
3806
  ]);
3798
- q(() => {
3807
+ X(() => () => {
3808
+ d && d.geometry.dispose();
3809
+ }, [
3810
+ d
3811
+ ]), X(() => () => {
3812
+ se && se.dispose();
3813
+ }, [
3814
+ se
3815
+ ]), X(() => () => {
3816
+ Y && Y.dispose();
3817
+ }, [
3818
+ Y
3819
+ ]), X(() => () => {
3820
+ B && B.geometry.dispose();
3821
+ }, [
3822
+ B
3823
+ ]), X(() => {
3799
3824
  n && Pt(n);
3800
3825
  }, [
3801
3826
  n
3802
- ]), q(() => {
3827
+ ]), X(() => {
3803
3828
  n || Pt(void 0);
3804
3829
  }, [
3805
3830
  S
3806
3831
  ]);
3807
3832
  const pt = de(false);
3808
- q(() => {
3809
- if (!se || $.length === 0 || pt.current || !c) return;
3833
+ X(() => {
3834
+ if (!le || $.length === 0 || pt.current || !c) return;
3810
3835
  pt.current = true;
3811
3836
  const m = G.length >= 3 ? Math.abs(G[2].position.y - G[0].position.y) : null;
3812
3837
  c("dimensions_calculated", {
@@ -3825,9 +3850,9 @@ let __tla = (async () => {
3825
3850
  frontal_height: m !== null ? +m.toFixed(1) : null
3826
3851
  });
3827
3852
  }, [
3828
- se,
3853
+ le,
3829
3854
  $
3830
- ]), q(() => {
3855
+ ]), X(() => {
3831
3856
  a !== void 0 && (je.current = a), a !== void 0 && co(true);
3832
3857
  }, [
3833
3858
  a
@@ -3838,9 +3863,9 @@ let __tla = (async () => {
3838
3863
  R.getCenter(W), m.translate(-W.x, -W.y, -W.z), m.computeBoundingBox();
3839
3864
  const pe = m.boundingBox, H = new M();
3840
3865
  pe.getSize(H), f(Math.max(H.x, H.y, H.z));
3841
- const ne = new Y.Mesh(m, new Y.MeshStandardMaterial({
3866
+ const ne = new Z.Mesh(m, new Z.MeshStandardMaterial({
3842
3867
  color: 8947848,
3843
- side: Y.DoubleSide
3868
+ side: Z.DoubleSide
3844
3869
  }));
3845
3870
  p(ne), re(L), he(true), Q(false), dt.current = false;
3846
3871
  }, []), $e = ce(async (m, L) => {
@@ -3892,7 +3917,7 @@ let __tla = (async () => {
3892
3917
  r,
3893
3918
  et
3894
3919
  ]);
3895
- q(() => {
3920
+ X(() => {
3896
3921
  if (!t || !Ee) return;
3897
3922
  (async () => {
3898
3923
  x(true), A("Loading scan...");
@@ -3947,18 +3972,18 @@ let __tla = (async () => {
3947
3972
  Ee,
3948
3973
  $e
3949
3974
  ]), mo = ce((m) => {
3950
- I(m), C(m === "AK" ? 2 : 1), _(false), E && (et(E.geometry, E.wasScaled), V(null)), c == null ? void 0 : c("file_loaded", {
3975
+ I(m), C(m === "AK" ? 2 : 1), _(false), B && (et(B.geometry, B.wasScaled), V(null)), c == null ? void 0 : c("file_loaded", {
3951
3976
  spacing_type: m,
3952
3977
  file_format: He,
3953
3978
  is_double_wall: false
3954
3979
  });
3955
3980
  }, [
3956
- E,
3981
+ B,
3957
3982
  et,
3958
3983
  c,
3959
3984
  He
3960
3985
  ]);
3961
- q(() => {
3986
+ X(() => {
3962
3987
  if (!d || G.length !== 1 || !je.current || dt.current) return;
3963
3988
  dt.current = true;
3964
3989
  const m = G[0], L = je.current, R = d.geometry, { positions: W, indices: pe } = St(R), H = new Float32Array([
@@ -4025,16 +4050,16 @@ let __tla = (async () => {
4025
4050
  fn,
4026
4051
  O
4027
4052
  ]), $t = de(false);
4028
- q(() => {
4029
- o && ($t.current || !d || se || j || G.length < 2 || ($t.current = true, Tt()));
4053
+ X(() => {
4054
+ o && ($t.current || !d || le || j || G.length < 2 || ($t.current = true, Tt()));
4030
4055
  }, [
4031
4056
  o,
4032
4057
  d,
4033
4058
  G.length,
4034
- se,
4059
+ le,
4035
4060
  j,
4036
4061
  Tt
4037
- ]), q(() => {
4062
+ ]), X(() => {
4038
4063
  G.length < 2 && ($t.current = false);
4039
4064
  }, [
4040
4065
  G.length
@@ -4057,14 +4082,14 @@ let __tla = (async () => {
4057
4082
  $e,
4058
4083
  ft
4059
4084
  ]);
4060
- q(() => {
4061
- se && $.length > 0 && !Ot.current && (Ot.current = true, Je(true));
4085
+ X(() => {
4086
+ le && $.length > 0 && !Ot.current && (Ot.current = true, Je(true));
4062
4087
  }, [
4063
- se,
4088
+ le,
4064
4089
  $.length
4065
4090
  ]);
4066
4091
  const { scanTransverseML: Ht, scanTransverseAP: Vt } = J(() => {
4067
- if (!d || !se || G.length < 1) return {
4092
+ if (!d || !le || G.length < 1) return {
4068
4093
  scanTransverseML: 0,
4069
4094
  scanTransverseAP: 0
4070
4095
  };
@@ -4090,7 +4115,7 @@ let __tla = (async () => {
4090
4115
  }, [
4091
4116
  d,
4092
4117
  Te,
4093
- se,
4118
+ le,
4094
4119
  G
4095
4120
  ]), tt = J(() => {
4096
4121
  var _a;
@@ -4151,8 +4176,8 @@ let __tla = (async () => {
4151
4176
  t,
4152
4177
  Qe
4153
4178
  ]), pn = de(null);
4154
- q(() => {
4155
- if (!d || !se) {
4179
+ X(() => {
4180
+ if (!d || !le) {
4156
4181
  pn.current = null;
4157
4182
  return;
4158
4183
  }
@@ -4160,7 +4185,7 @@ let __tla = (async () => {
4160
4185
  pn.current = Zt(m);
4161
4186
  }, [
4162
4187
  d,
4163
- se,
4188
+ le,
4164
4189
  Te
4165
4190
  ]);
4166
4191
  const Nt = ce(async (m) => {
@@ -4288,7 +4313,7 @@ let __tla = (async () => {
4288
4313
  minHeight: 0
4289
4314
  },
4290
4315
  children: [
4291
- d && !se && (() => {
4316
+ d && !le && (() => {
4292
4317
  const m = G.length === 0 ? 1 : G.length === 1 ? 2 : 3, L = F === "AK" ? "Perineum" : "MPT", R = m === 1 ? `Place Point at ${L}` : m === 2 ? "Place Point at Distal Most Point" : "Ready to Continue", W = m === 1 ? `Click on the model to mark the ${L}.` : m === 2 ? "Click on the model to mark the Distal Most Point." : "Both points are placed. Click Continue to process the scan.", pe = m === 1 ? "#2fbf4a" : m === 2 ? "#e53935" : "#2fbf4a", H = G.length >= 2;
4293
4318
  return w("div", {
4294
4319
  style: {
@@ -4528,7 +4553,7 @@ let __tla = (async () => {
4528
4553
  ]
4529
4554
  });
4530
4555
  })(),
4531
- se && Ye && F && i("div", {
4556
+ le && Ye && F && i("div", {
4532
4557
  style: {
4533
4558
  width: hn,
4534
4559
  flexShrink: 0,
@@ -4860,7 +4885,7 @@ let __tla = (async () => {
4860
4885
  preserveDrawingBuffer: true
4861
4886
  },
4862
4887
  scene: {
4863
- background: We ? new Y.Color("#070611") : null
4888
+ background: We ? new Z.Color("#070611") : null
4864
4889
  },
4865
4890
  children: [
4866
4891
  i("ambientLight", {
@@ -4896,7 +4921,7 @@ let __tla = (async () => {
4896
4921
  meshColor: rn,
4897
4922
  meshOpacity: We ? 0.3 : ao,
4898
4923
  frontFaceOnly: O,
4899
- doubleShellTransparency: te && se
4924
+ doubleShellTransparency: te && le
4900
4925
  }),
4901
4926
  d && b === "3D" && i(Qo, {
4902
4927
  modelSize: u,
@@ -4908,25 +4933,25 @@ let __tla = (async () => {
4908
4933
  }),
4909
4934
  i(ar, {
4910
4935
  modelSize: u,
4911
- isAligned: se,
4936
+ isAligned: le,
4912
4937
  isCut: Et,
4913
4938
  mesh: d,
4914
4939
  viewMode: b,
4915
- sliceY: se && G.length >= 2 ? Mt ?? it ?? G[0].position.y : void 0,
4940
+ sliceY: le && G.length >= 2 ? Mt ?? it ?? G[0].position.y : void 0,
4916
4941
  landmarkCount: G.length,
4917
- measurementGeometry: le,
4918
- fitYMin: se && G.length >= 2 ? Mt ?? it ?? void 0 : void 0,
4919
- fitYMax: se && G.length >= 2 ? st ?? G[0].position.y : void 0,
4942
+ measurementGeometry: se,
4943
+ fitYMin: le && G.length >= 2 ? Mt ?? it ?? void 0 : void 0,
4944
+ fitYMax: le && G.length >= 2 ? st ?? G[0].position.y : void 0,
4920
4945
  resetCameraToFrontRef: It
4921
4946
  }),
4922
- !se && i(In, {
4947
+ !le && i(In, {
4923
4948
  enableDamping: false
4924
4949
  }),
4925
- se && $.length > 0 && d && b === "3D" && i(cr, {
4950
+ le && $.length > 0 && d && b === "3D" && i(cr, {
4926
4951
  mesh: d,
4927
4952
  isDragging: Kn
4928
4953
  }),
4929
- d && se && G.length >= 3 && (() => {
4954
+ d && le && G.length >= 3 && (() => {
4930
4955
  const L = d.geometry.getIndex();
4931
4956
  if (!L || L.count < 30) return null;
4932
4957
  const R = G[2], W = G[0], pe = me ?? R.position.y, H = Mt ?? it ?? W.position.y;
@@ -4988,7 +5013,7 @@ let __tla = (async () => {
4988
5013
  ]
4989
5014
  });
4990
5015
  })(),
4991
- d && se && b === "3D" && We && i(Rr, {
5016
+ d && le && b === "3D" && We && i(Rr, {
4992
5017
  mesh: d
4993
5018
  }),
4994
5019
  d && e.showDebug && We && b === "3D" && i(_r, {
@@ -4998,14 +5023,14 @@ let __tla = (async () => {
4998
5023
  landmarkPoints: G,
4999
5024
  componentDebug: null,
5000
5025
  aoData: U,
5001
- aoGeometry: Z,
5002
- measurementGeometry: le
5026
+ aoGeometry: Y,
5027
+ measurementGeometry: se
5003
5028
  }),
5004
5029
  i(Er, {
5005
5030
  screenshotFnRef: fo,
5006
5031
  mesh: d,
5007
5032
  modelSize: u,
5008
- measurementGeometry: le
5033
+ measurementGeometry: se
5009
5034
  })
5010
5035
  ]
5011
5036
  })
@@ -5020,7 +5045,7 @@ let __tla = (async () => {
5020
5045
  gap: 8
5021
5046
  },
5022
5047
  children: [
5023
- e.showStartOver && se && i("button", {
5048
+ e.showStartOver && le && i("button", {
5024
5049
  onClick: () => window.location.reload(),
5025
5050
  style: {
5026
5051
  padding: "6px 16px",
@@ -5037,7 +5062,7 @@ let __tla = (async () => {
5037
5062
  },
5038
5063
  children: "Start Over"
5039
5064
  }),
5040
- !se && G.length >= 1 && i("button", {
5065
+ !le && G.length >= 1 && i("button", {
5041
5066
  onClick: uo,
5042
5067
  style: {
5043
5068
  padding: "6px 16px",
@@ -5054,7 +5079,7 @@ let __tla = (async () => {
5054
5079
  },
5055
5080
  children: "Reset Points"
5056
5081
  }),
5057
- se && !Dt && i("button", {
5082
+ le && !Dt && i("button", {
5058
5083
  onClick: xo,
5059
5084
  style: {
5060
5085
  padding: "6px 16px",
@@ -5081,7 +5106,7 @@ let __tla = (async () => {
5081
5106
  })),
5082
5107
  isDoubleShell: te
5083
5108
  }),
5084
- se && $.length > 0 && w("div", {
5109
+ le && $.length > 0 && w("div", {
5085
5110
  style: {
5086
5111
  position: "absolute",
5087
5112
  top: 16,
@@ -5290,15 +5315,15 @@ let __tla = (async () => {
5290
5315
  })
5291
5316
  ]
5292
5317
  }),
5293
- d && X && i(dr, {
5294
- wasAutoScaled: K,
5318
+ d && K && i(dr, {
5319
+ wasAutoScaled: q,
5295
5320
  onDismiss: () => he(false)
5296
5321
  }),
5297
- d && ue && se && i(fr, {
5322
+ d && ue && le && i(fr, {
5298
5323
  isDoubleShell: te,
5299
5324
  onDismiss: () => we(false)
5300
5325
  }),
5301
- s && se && i("div", {
5326
+ s && le && i("div", {
5302
5327
  className: "gm-action-row-container",
5303
5328
  style: {
5304
5329
  position: "absolute",
@@ -5479,7 +5504,7 @@ let __tla = (async () => {
5479
5504
  " | ",
5480
5505
  G.length,
5481
5506
  " pts | ",
5482
- se ? "aligned" : "unaligned",
5507
+ le ? "aligned" : "unaligned",
5483
5508
  " | ",
5484
5509
  $.length,
5485
5510
  " slices"
@@ -5533,7 +5558,7 @@ let __tla = (async () => {
5533
5558
  });
5534
5559
  };
5535
5560
  function Er({ screenshotFnRef: e }) {
5536
- return q(() => {
5561
+ return X(() => {
5537
5562
  e.current = null;
5538
5563
  }, [
5539
5564
  e
@@ -5635,8 +5660,8 @@ let __tla = (async () => {
5635
5660
  };
5636
5661
  }
5637
5662
  Ur = ({ request: e, onComplete: r, wasmModule: t }) => {
5638
- const [n, s] = B(null);
5639
- q(() => {
5663
+ const [n, s] = E(null);
5664
+ X(() => {
5640
5665
  if (t != null) return;
5641
5666
  let o = false;
5642
5667
  const d = async (p) => {
@@ -5749,5 +5774,6 @@ export {
5749
5774
  __tla,
5750
5775
  wt as a,
5751
5776
  Tr as c,
5752
- Yn as g
5777
+ Yn as g,
5778
+ qt as u
5753
5779
  };