build-dxf 0.0.36 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +6 -1
  2. package/package.json +1 -1
  3. package/src/build.d.ts +2 -1
  4. package/src/build.js +2240 -2047
  5. package/src/index.css +1 -1
  6. package/src/index.js +7 -6
  7. package/src/index3.js +750 -740
  8. package/src/selectLocalFile.js +903 -880
  9. package/src/utils/DxfSystem/DxfSystem.d.ts +19 -0
  10. package/src/utils/DxfSystem/components/Dxf.d.ts +4 -138
  11. package/src/utils/DxfSystem/index.d.ts +2 -18
  12. package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/Default.d.ts +1 -1
  13. package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/DrawWindow.d.ts +1 -1
  14. package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/VerticalCorrection.d.ts +2 -2
  15. package/src/utils/DxfSystem/plugin/Editor/components/RenderManager.d.ts +3 -7
  16. package/src/utils/DxfSystem/plugin/Editor/index.d.ts +1 -1
  17. package/src/utils/DxfSystem/plugin/Editor/pages/EditorTool.vue.d.ts +1 -1
  18. package/src/utils/DxfSystem/plugin/ModelDataPlugin/index.d.ts +1 -1
  19. package/src/utils/DxfSystem/plugin/RenderPlugin/components/Renderer.d.ts +7 -0
  20. package/src/utils/DxfSystem/plugin/RenderPlugin/index.d.ts +1 -1
  21. package/src/utils/DxfSystem/type.d.ts +123 -0
  22. package/src/utils/DxfSystem/utils/AxisAlignCorr.d.ts +14 -0
  23. package/src/utils/DxfSystem/utils/BoundExt.d.ts +16 -0
  24. package/src/utils/DxfSystem/utils/findVerticalReference.d.ts +2 -0
  25. package/src/utils/DxfSystem/utils/index.d.ts +5 -0
  26. package/src/utils/DxfSystem/utils/lineDataToOriginalData.d.ts +7 -0
  27. package/src/utils/DxfSystem/utils/lineSegmentClipping.d.ts +8 -0
  28. package/src/utils/DxfSystem/utils/recomputedWindow.d.ts +7 -0
  29. package/src/utils/Quadtree/LineSegment.d.ts +13 -2
package/src/index3.js CHANGED
@@ -1,73 +1,73 @@
1
- import * as m from "three";
2
- import { i as ut, n as pt, r as Ue, t as qe, c as De, d as gt, e as vt, f as Ae, g as Q, _ as Ze, u as ft, h as fe, j as Be, w as wt, k as yt, l as bt, p as xt, m as Ct, o as Et, T as Ne, q as Re, s as Mt, v as Lt, x as Oe, y as Pe, z as Le, A as kt, B as It, L as we, D as Pt, b as Fe, E as re, S as Dt } from "./selectLocalFile.js";
3
- import { C as Se, P as _, L as B, B as Ye, E as Xe, b as Ke, Q as ze, u as At, c as ke, W as St, T as _t } from "./build.js";
1
+ import * as u from "three";
2
+ import { i as ut, n as pt, r as Ue, t as qe, c as Pe, d as gt, e as vt, f as De, g as Q, _ as Ze, u as ft, h as fe, j as Se, w as yt, k as wt, l as bt, p as xt, m as Ct, o as Et, T as Ne, q as Be, s as Mt, v as Lt, x as Re, y as Ie, z as Le, A as kt, B as It, L as ye, D as Pt, b as Oe, E as re, S as Dt } from "./selectLocalFile.js";
3
+ import { C as Ae, P as M, L as N, B as Ye, E as Xe, b as ze, Q as Fe, u as At, A as _t, r as Ke, W as St, T as Nt } from "./build.js";
4
4
  import "clipper-lib";
5
5
  import "dxf-writer";
6
6
  import "three/addons/controls/OrbitControls.js";
7
- import { watch as J, ref as S, defineComponent as me, computed as D, createElementBlock as R, openBlock as P, normalizeClass as V, unref as v, renderSlot as be, createVNode as K, Transition as xe, withCtx as j, withDirectives as $e, createElementVNode as I, normalizeStyle as _e, createTextVNode as X, toDisplayString as de, vShow as et, shallowReactive as Bt, onMounted as tt, createBlock as ge, createCommentVNode as q, resolveDynamicComponent as Nt, Fragment as ve, withModifiers as Rt, nextTick as ye, isVNode as nt, render as Te, toRaw as Ot, onUnmounted as Ft, renderList as Ie, createStaticVNode as Kt, TransitionGroup as zt, createApp as Tt } from "vue";
8
- function st(l) {
7
+ import { watch as J, ref as S, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as V, unref as v, renderSlot as be, createVNode as F, Transition as xe, withCtx as j, withDirectives as $e, createElementVNode as P, normalizeStyle as _e, createTextVNode as X, toDisplayString as de, vShow as et, shallowReactive as Bt, onMounted as tt, createBlock as ge, createCommentVNode as q, resolveDynamicComponent as Rt, Fragment as ve, withModifiers as Ot, nextTick as we, isVNode as nt, render as Te, toRaw as zt, onUnmounted as Ft, renderList as ke, createStaticVNode as Kt, TransitionGroup as Tt, createApp as jt } from "vue";
8
+ function ot(d) {
9
9
  var e;
10
- const t = Ue(l);
10
+ const t = Ue(d);
11
11
  return (e = t?.$el) != null ? e : t;
12
12
  }
13
- const ot = De ? window : void 0;
14
- function jt(...l) {
15
- let e, t, n, s;
16
- if (ut(l[0]) || Array.isArray(l[0]) ? ([t, n, s] = l, e = ot) : [e, t, n, s] = l, !e)
13
+ const st = Pe ? window : void 0;
14
+ function Vt(...d) {
15
+ let e, t, n, o;
16
+ if (ut(d[0]) || Array.isArray(d[0]) ? ([t, n, o] = d, e = st) : [e, t, n, o] = d, !e)
17
17
  return pt;
18
18
  Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
19
- const o = [], a = () => {
20
- o.forEach((r) => r()), o.length = 0;
21
- }, c = (r, h, y, f) => (r.addEventListener(h, y, f), () => r.removeEventListener(h, y, f)), d = J(() => [st(e), Ue(s)], ([r, h]) => {
22
- a(), r && o.push(...t.flatMap((y) => n.map((f) => c(r, y, f, h))));
19
+ const s = [], a = () => {
20
+ s.forEach((c) => c()), s.length = 0;
21
+ }, l = (c, m, y, f) => (c.addEventListener(m, y, f), () => c.removeEventListener(m, y, f)), r = J(() => [ot(e), Ue(o)], ([c, m]) => {
22
+ a(), c && s.push(...t.flatMap((y) => n.map((f) => l(c, y, f, m))));
23
23
  }, { immediate: !0, flush: "post" }), i = () => {
24
- d(), a();
24
+ r(), a();
25
25
  };
26
26
  return qe(i), i;
27
27
  }
28
- function Vt(l, e = !1) {
29
- const t = S(), n = () => t.value = !!l();
28
+ function Gt(d, e = !1) {
29
+ const t = S(), n = () => t.value = !!d();
30
30
  return n(), gt(n, e), t;
31
31
  }
32
32
  const je = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Ve = "__vueuse_ssr_handlers__";
33
33
  je[Ve] = je[Ve] || {};
34
- var Ge = Object.getOwnPropertySymbols, Gt = Object.prototype.hasOwnProperty, Qt = Object.prototype.propertyIsEnumerable, Ht = (l, e) => {
34
+ var Ge = Object.getOwnPropertySymbols, Qt = Object.prototype.hasOwnProperty, Ht = Object.prototype.propertyIsEnumerable, Wt = (d, e) => {
35
35
  var t = {};
36
- for (var n in l)
37
- Gt.call(l, n) && e.indexOf(n) < 0 && (t[n] = l[n]);
38
- if (l != null && Ge)
39
- for (var n of Ge(l))
40
- e.indexOf(n) < 0 && Qt.call(l, n) && (t[n] = l[n]);
36
+ for (var n in d)
37
+ Qt.call(d, n) && e.indexOf(n) < 0 && (t[n] = d[n]);
38
+ if (d != null && Ge)
39
+ for (var n of Ge(d))
40
+ e.indexOf(n) < 0 && Ht.call(d, n) && (t[n] = d[n]);
41
41
  return t;
42
42
  };
43
- function Wt(l, e, t = {}) {
44
- const n = t, { window: s = ot } = n, o = Ht(n, ["window"]);
43
+ function Jt(d, e, t = {}) {
44
+ const n = t, { window: o = st } = n, s = Wt(n, ["window"]);
45
45
  let a;
46
- const c = Vt(() => s && "ResizeObserver" in s), d = () => {
46
+ const l = Gt(() => o && "ResizeObserver" in o), r = () => {
47
47
  a && (a.disconnect(), a = void 0);
48
- }, i = J(() => st(l), (h) => {
49
- d(), c.value && s && h && (a = new ResizeObserver(e), a.observe(h, o));
50
- }, { immediate: !0, flush: "post" }), r = () => {
51
- d(), i();
48
+ }, i = J(() => ot(d), (m) => {
49
+ r(), l.value && o && m && (a = new ResizeObserver(e), a.observe(m, s));
50
+ }, { immediate: !0, flush: "post" }), c = () => {
51
+ r(), i();
52
52
  };
53
- return qe(r), {
54
- isSupported: c,
55
- stop: r
53
+ return qe(c), {
54
+ isSupported: l,
55
+ stop: c
56
56
  };
57
57
  }
58
58
  var Qe;
59
- (function(l) {
60
- l.UP = "UP", l.RIGHT = "RIGHT", l.DOWN = "DOWN", l.LEFT = "LEFT", l.NONE = "NONE";
59
+ (function(d) {
60
+ d.UP = "UP", d.RIGHT = "RIGHT", d.DOWN = "DOWN", d.LEFT = "LEFT", d.NONE = "NONE";
61
61
  })(Qe || (Qe = {}));
62
- var Jt = Object.defineProperty, He = Object.getOwnPropertySymbols, Ut = Object.prototype.hasOwnProperty, qt = Object.prototype.propertyIsEnumerable, We = (l, e, t) => e in l ? Jt(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t, Zt = (l, e) => {
62
+ var Ut = Object.defineProperty, He = Object.getOwnPropertySymbols, qt = Object.prototype.hasOwnProperty, Zt = Object.prototype.propertyIsEnumerable, We = (d, e, t) => e in d ? Ut(d, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[e] = t, Yt = (d, e) => {
63
63
  for (var t in e || (e = {}))
64
- Ut.call(e, t) && We(l, t, e[t]);
64
+ qt.call(e, t) && We(d, t, e[t]);
65
65
  if (He)
66
66
  for (var t of He(e))
67
- qt.call(e, t) && We(l, t, e[t]);
68
- return l;
67
+ Zt.call(e, t) && We(d, t, e[t]);
68
+ return d;
69
69
  };
70
- const Yt = {
70
+ const Xt = {
71
71
  easeInSine: [0.12, 0, 0.39, 0],
72
72
  easeOutSine: [0.61, 1, 0.88, 1],
73
73
  easeInOutSine: [0.37, 0, 0.63, 1],
@@ -93,12 +93,12 @@ const Yt = {
93
93
  easeOutBack: [0.34, 1.56, 0.64, 1],
94
94
  easeInOutBack: [0.68, -0.6, 0.32, 1.6]
95
95
  };
96
- Zt({
96
+ Yt({
97
97
  linear: vt
98
- }, Yt);
99
- const Xt = (l) => l, $t = {
98
+ }, Xt);
99
+ const $t = (d) => d, en = {
100
100
  esc: "Escape"
101
- }, en = Ae({
101
+ }, tn = De({
102
102
  value: {
103
103
  type: [String, Number],
104
104
  default: ""
@@ -129,35 +129,35 @@ const Xt = (l) => l, $t = {
129
129
  badgeClass: {
130
130
  type: String
131
131
  }
132
- }), tn = me({
132
+ }), nn = me({
133
133
  name: "ElBadge"
134
- }), nn = /* @__PURE__ */ me({
135
- ...tn,
136
- props: en,
137
- setup(l, { expose: e }) {
138
- const t = l, n = ft("badge"), s = D(() => t.isDot ? "" : fe(t.value) && fe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), o = D(() => {
139
- var a, c, d, i, r;
134
+ }), on = /* @__PURE__ */ me({
135
+ ...nn,
136
+ props: tn,
137
+ setup(d, { expose: e }) {
138
+ const t = d, n = ft("badge"), o = A(() => t.isDot ? "" : fe(t.value) && fe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), s = A(() => {
139
+ var a, l, r, i, c;
140
140
  return [
141
141
  {
142
142
  backgroundColor: t.color,
143
- marginRight: Be(-((c = (a = t.offset) == null ? void 0 : a[0]) != null ? c : 0)),
144
- marginTop: Be((i = (d = t.offset) == null ? void 0 : d[1]) != null ? i : 0)
143
+ marginRight: Se(-((l = (a = t.offset) == null ? void 0 : a[0]) != null ? l : 0)),
144
+ marginTop: Se((i = (r = t.offset) == null ? void 0 : r[1]) != null ? i : 0)
145
145
  },
146
- (r = t.badgeStyle) != null ? r : {}
146
+ (c = t.badgeStyle) != null ? c : {}
147
147
  ];
148
148
  });
149
149
  return e({
150
- content: s
151
- }), (a, c) => (P(), R("div", {
150
+ content: o
151
+ }), (a, l) => (D(), R("div", {
152
152
  class: V(v(n).b())
153
153
  }, [
154
154
  be(a.$slots, "default"),
155
- K(xe, {
155
+ F(xe, {
156
156
  name: `${v(n).namespace.value}-zoom-in-center`,
157
157
  persisted: ""
158
158
  }, {
159
159
  default: j(() => [
160
- $e(I("sup", {
160
+ $e(P("sup", {
161
161
  class: V([
162
162
  v(n).e("content"),
163
163
  v(n).em("content", a.type),
@@ -166,13 +166,13 @@ const Xt = (l) => l, $t = {
166
166
  v(n).is("hide-zero", !a.showZero && t.value === 0),
167
167
  a.badgeClass
168
168
  ]),
169
- style: _e(v(o))
169
+ style: _e(v(s))
170
170
  }, [
171
- be(a.$slots, "content", { value: v(s) }, () => [
172
- X(de(v(s)), 1)
171
+ be(a.$slots, "content", { value: v(o) }, () => [
172
+ X(de(v(o)), 1)
173
173
  ])
174
174
  ], 6), [
175
- [et, !a.hidden && (v(s) || a.isDot || a.$slots.content)]
175
+ [et, !a.hidden && (v(o) || a.isDot || a.$slots.content)]
176
176
  ])
177
177
  ]),
178
178
  _: 3
@@ -180,8 +180,8 @@ const Xt = (l) => l, $t = {
180
180
  ], 2));
181
181
  }
182
182
  });
183
- var sn = /* @__PURE__ */ Ze(nn, [["__file", "badge.vue"]]);
184
- const on = wt(sn), an = Ae({
183
+ var sn = /* @__PURE__ */ Ze(on, [["__file", "badge.vue"]]);
184
+ const an = yt(sn), rn = De({
185
185
  a11y: {
186
186
  type: Boolean,
187
187
  default: !0
@@ -217,16 +217,16 @@ const on = wt(sn), an = Ae({
217
217
  type: String,
218
218
  default: "el"
219
219
  },
220
- ...yt
220
+ ...wt
221
221
  }), T = {};
222
222
  me({
223
223
  name: "ElConfigProvider",
224
- props: an,
225
- setup(l, { slots: e }) {
226
- const t = xt(l);
227
- return J(() => l.message, (n) => {
228
- var s, o;
229
- Object.assign(T, (o = (s = t?.value) == null ? void 0 : s.message) != null ? o : {}, n ?? {});
224
+ props: rn,
225
+ setup(d, { slots: e }) {
226
+ const t = xt(d);
227
+ return J(() => d.message, (n) => {
228
+ var o, s;
229
+ Object.assign(T, (s = (o = t?.value) == null ? void 0 : o.message) != null ? s : {}, n ?? {});
230
230
  }, { immediate: !0, deep: !0 }), () => be(e, "default", { config: t?.value });
231
231
  }
232
232
  });
@@ -236,7 +236,7 @@ const at = [
236
236
  "info",
237
237
  "warning",
238
238
  "error"
239
- ], N = Xt({
239
+ ], B = $t({
240
240
  customClass: "",
241
241
  dangerouslyUseHTMLString: !1,
242
242
  duration: 3e3,
@@ -251,27 +251,27 @@ const at = [
251
251
  zIndex: 0,
252
252
  grouping: !1,
253
253
  repeatNum: 1,
254
- appendTo: De ? document.body : void 0
255
- }), rn = Ae({
254
+ appendTo: Pe ? document.body : void 0
255
+ }), dn = De({
256
256
  customClass: {
257
257
  type: String,
258
- default: N.customClass
258
+ default: B.customClass
259
259
  },
260
260
  dangerouslyUseHTMLString: {
261
261
  type: Boolean,
262
- default: N.dangerouslyUseHTMLString
262
+ default: B.dangerouslyUseHTMLString
263
263
  },
264
264
  duration: {
265
265
  type: Number,
266
- default: N.duration
266
+ default: B.duration
267
267
  },
268
268
  icon: {
269
269
  type: Ct,
270
- default: N.icon
270
+ default: B.icon
271
271
  },
272
272
  id: {
273
273
  type: String,
274
- default: N.id
274
+ default: B.id
275
275
  },
276
276
  message: {
277
277
  type: Q([
@@ -279,105 +279,105 @@ const at = [
279
279
  Object,
280
280
  Function
281
281
  ]),
282
- default: N.message
282
+ default: B.message
283
283
  },
284
284
  onClose: {
285
285
  type: Q(Function),
286
- default: N.onClose
286
+ default: B.onClose
287
287
  },
288
288
  showClose: {
289
289
  type: Boolean,
290
- default: N.showClose
290
+ default: B.showClose
291
291
  },
292
292
  type: {
293
293
  type: String,
294
294
  values: at,
295
- default: N.type
295
+ default: B.type
296
296
  },
297
297
  plain: {
298
298
  type: Boolean,
299
- default: N.plain
299
+ default: B.plain
300
300
  },
301
301
  offset: {
302
302
  type: Number,
303
- default: N.offset
303
+ default: B.offset
304
304
  },
305
305
  zIndex: {
306
306
  type: Number,
307
- default: N.zIndex
307
+ default: B.zIndex
308
308
  },
309
309
  grouping: {
310
310
  type: Boolean,
311
- default: N.grouping
311
+ default: B.grouping
312
312
  },
313
313
  repeatNum: {
314
314
  type: Number,
315
- default: N.repeatNum
315
+ default: B.repeatNum
316
316
  }
317
- }), dn = {
317
+ }), ln = {
318
318
  destroy: () => !0
319
- }, H = Bt([]), ln = (l) => {
320
- const e = H.findIndex((s) => s.id === l), t = H[e];
319
+ }, H = Bt([]), cn = (d) => {
320
+ const e = H.findIndex((o) => o.id === d), t = H[e];
321
321
  let n;
322
322
  return e > 0 && (n = H[e - 1]), { current: t, prev: n };
323
- }, cn = (l) => {
324
- const { prev: e } = ln(l);
323
+ }, mn = (d) => {
324
+ const { prev: e } = cn(d);
325
325
  return e ? e.vm.exposed.bottom.value : 0;
326
- }, mn = (l, e) => H.findIndex((n) => n.id === l) > 0 ? 16 : e, hn = me({
326
+ }, hn = (d, e) => H.findIndex((n) => n.id === d) > 0 ? 16 : e, un = me({
327
327
  name: "ElMessage"
328
- }), un = /* @__PURE__ */ me({
329
- ...hn,
330
- props: rn,
331
- emits: dn,
332
- setup(l, { expose: e, emit: t }) {
333
- const n = l, { Close: s } = Mt, o = S(!1), { ns: a, zIndex: c } = Et("message"), { currentZIndex: d, nextZIndex: i } = c, r = S(), h = S(!1), y = S(0);
328
+ }), pn = /* @__PURE__ */ me({
329
+ ...un,
330
+ props: dn,
331
+ emits: ln,
332
+ setup(d, { expose: e, emit: t }) {
333
+ const n = d, { Close: o } = Mt, s = S(!1), { ns: a, zIndex: l } = Et("message"), { currentZIndex: r, nextZIndex: i } = l, c = S(), m = S(!1), y = S(0);
334
334
  let f;
335
- const p = D(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), u = D(() => {
335
+ const g = A(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), h = A(() => {
336
336
  const b = n.type;
337
337
  return { [a.bm("icon", b)]: b && Ne[b] };
338
- }), E = D(() => n.icon || Ne[n.type] || ""), x = D(() => cn(n.id)), k = D(() => mn(n.id, n.offset) + x.value), z = D(() => y.value + k.value), Y = D(() => ({
339
- top: `${k.value}px`,
340
- zIndex: d.value
338
+ }), E = A(() => n.icon || Ne[n.type] || ""), x = A(() => mn(n.id)), I = A(() => hn(n.id, n.offset) + x.value), K = A(() => y.value + I.value), Y = A(() => ({
339
+ top: `${I.value}px`,
340
+ zIndex: r.value
341
341
  }));
342
342
  function Z() {
343
343
  n.duration !== 0 && ({ stop: f } = Lt(() => {
344
- A();
344
+ _();
345
345
  }, n.duration));
346
346
  }
347
347
  function G() {
348
348
  f?.();
349
349
  }
350
- function A() {
351
- h.value = !1, ye(() => {
350
+ function _() {
351
+ m.value = !1, we(() => {
352
352
  var b;
353
- o.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
353
+ s.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
354
354
  });
355
355
  }
356
- function M({ code: b }) {
357
- b === $t.esc && A();
356
+ function L({ code: b }) {
357
+ b === en.esc && _();
358
358
  }
359
359
  return tt(() => {
360
- Z(), i(), h.value = !0;
360
+ Z(), i(), m.value = !0;
361
361
  }), J(() => n.repeatNum, () => {
362
362
  G(), Z();
363
- }), jt(document, "keydown", M), Wt(r, () => {
364
- y.value = r.value.getBoundingClientRect().height;
363
+ }), Vt(document, "keydown", L), Jt(c, () => {
364
+ y.value = c.value.getBoundingClientRect().height;
365
365
  }), e({
366
- visible: h,
367
- bottom: z,
368
- close: A
369
- }), (b, F) => (P(), ge(xe, {
366
+ visible: m,
367
+ bottom: K,
368
+ close: _
369
+ }), (b, z) => (D(), ge(xe, {
370
370
  name: v(a).b("fade"),
371
- onBeforeEnter: (W) => o.value = !0,
371
+ onBeforeEnter: (W) => s.value = !0,
372
372
  onBeforeLeave: b.onClose,
373
373
  onAfterLeave: (W) => b.$emit("destroy"),
374
374
  persisted: ""
375
375
  }, {
376
376
  default: j(() => [
377
- $e(I("div", {
377
+ $e(P("div", {
378
378
  id: b.id,
379
379
  ref_key: "messageRef",
380
- ref: r,
380
+ ref: c,
381
381
  class: V([
382
382
  v(a).b(),
383
383
  { [v(a).m(b.type)]: b.type },
@@ -390,132 +390,132 @@ const at = [
390
390
  onMouseenter: G,
391
391
  onMouseleave: Z
392
392
  }, [
393
- b.repeatNum > 1 ? (P(), ge(v(on), {
393
+ b.repeatNum > 1 ? (D(), ge(v(an), {
394
394
  key: 0,
395
395
  value: b.repeatNum,
396
- type: v(p),
396
+ type: v(g),
397
397
  class: V(v(a).e("badge"))
398
398
  }, null, 8, ["value", "type", "class"])) : q("v-if", !0),
399
- v(E) ? (P(), ge(v(Re), {
399
+ v(E) ? (D(), ge(v(Be), {
400
400
  key: 1,
401
- class: V([v(a).e("icon"), v(u)])
401
+ class: V([v(a).e("icon"), v(h)])
402
402
  }, {
403
403
  default: j(() => [
404
- (P(), ge(Nt(v(E))))
404
+ (D(), ge(Rt(v(E))))
405
405
  ]),
406
406
  _: 1
407
407
  }, 8, ["class"])) : q("v-if", !0),
408
408
  be(b.$slots, "default", {}, () => [
409
- b.dangerouslyUseHTMLString ? (P(), R(ve, { key: 1 }, [
409
+ b.dangerouslyUseHTMLString ? (D(), R(ve, { key: 1 }, [
410
410
  q(" Caution here, message could've been compromised, never use user's input as message "),
411
- I("p", {
411
+ P("p", {
412
412
  class: V(v(a).e("content")),
413
413
  innerHTML: b.message
414
414
  }, null, 10, ["innerHTML"])
415
- ], 2112)) : (P(), R("p", {
415
+ ], 2112)) : (D(), R("p", {
416
416
  key: 0,
417
417
  class: V(v(a).e("content"))
418
418
  }, de(b.message), 3))
419
419
  ]),
420
- b.showClose ? (P(), ge(v(Re), {
420
+ b.showClose ? (D(), ge(v(Be), {
421
421
  key: 2,
422
422
  class: V(v(a).e("closeBtn")),
423
- onClick: Rt(A, ["stop"])
423
+ onClick: Ot(_, ["stop"])
424
424
  }, {
425
425
  default: j(() => [
426
- K(v(s))
426
+ F(v(o))
427
427
  ]),
428
428
  _: 1
429
429
  }, 8, ["class", "onClick"])) : q("v-if", !0)
430
430
  ], 46, ["id"]), [
431
- [et, h.value]
431
+ [et, m.value]
432
432
  ])
433
433
  ]),
434
434
  _: 3
435
435
  }, 8, ["name", "onBeforeEnter", "onBeforeLeave", "onAfterLeave"]));
436
436
  }
437
437
  });
438
- var pn = /* @__PURE__ */ Ze(un, [["__file", "message.vue"]]);
439
- let gn = 1;
440
- const it = (l) => {
441
- const e = !l || Oe(l) || nt(l) || Pe(l) ? { message: l } : l, t = {
442
- ...N,
438
+ var gn = /* @__PURE__ */ Ze(pn, [["__file", "message.vue"]]);
439
+ let vn = 1;
440
+ const it = (d) => {
441
+ const e = !d || Re(d) || nt(d) || Ie(d) ? { message: d } : d, t = {
442
+ ...B,
443
443
  ...e
444
444
  };
445
445
  if (!t.appendTo)
446
446
  t.appendTo = document.body;
447
- else if (Oe(t.appendTo)) {
447
+ else if (Re(t.appendTo)) {
448
448
  let n = document.querySelector(t.appendTo);
449
449
  kt(n) || (n = document.body), t.appendTo = n;
450
450
  }
451
451
  return Le(T.grouping) && !t.grouping && (t.grouping = T.grouping), fe(T.duration) && t.duration === 3e3 && (t.duration = T.duration), fe(T.offset) && t.offset === 16 && (t.offset = T.offset), Le(T.showClose) && !t.showClose && (t.showClose = T.showClose), Le(T.plain) && !t.plain && (t.plain = T.plain), t;
452
- }, vn = (l) => {
453
- const e = H.indexOf(l);
452
+ }, fn = (d) => {
453
+ const e = H.indexOf(d);
454
454
  if (e === -1)
455
455
  return;
456
456
  H.splice(e, 1);
457
- const { handler: t } = l;
457
+ const { handler: t } = d;
458
458
  t.close();
459
- }, fn = ({ appendTo: l, ...e }, t) => {
460
- const n = `message_${gn++}`, s = e.onClose, o = document.createElement("div"), a = {
459
+ }, yn = ({ appendTo: d, ...e }, t) => {
460
+ const n = `message_${vn++}`, o = e.onClose, s = document.createElement("div"), a = {
461
461
  ...e,
462
462
  id: n,
463
463
  onClose: () => {
464
- s?.(), vn(r);
464
+ o?.(), fn(c);
465
465
  },
466
466
  onDestroy: () => {
467
- Te(null, o);
467
+ Te(null, s);
468
468
  }
469
- }, c = K(pn, a, Pe(a.message) || nt(a.message) ? {
470
- default: Pe(a.message) ? a.message : () => a.message
469
+ }, l = F(gn, a, Ie(a.message) || nt(a.message) ? {
470
+ default: Ie(a.message) ? a.message : () => a.message
471
471
  } : null);
472
- c.appContext = t || ce._context, Te(c, o), l.appendChild(o.firstElementChild);
473
- const d = c.component, r = {
472
+ l.appContext = t || ce._context, Te(l, s), d.appendChild(s.firstElementChild);
473
+ const r = l.component, c = {
474
474
  id: n,
475
- vnode: c,
476
- vm: d,
475
+ vnode: l,
476
+ vm: r,
477
477
  handler: {
478
478
  close: () => {
479
- d.exposed.close();
479
+ r.exposed.close();
480
480
  }
481
481
  },
482
- props: c.component.props
482
+ props: l.component.props
483
483
  };
484
- return r;
485
- }, ce = (l = {}, e) => {
486
- if (!De)
484
+ return c;
485
+ }, ce = (d = {}, e) => {
486
+ if (!Pe)
487
487
  return { close: () => {
488
488
  } };
489
- const t = it(l);
489
+ const t = it(d);
490
490
  if (t.grouping && H.length) {
491
- const s = H.find(({ vnode: o }) => {
491
+ const o = H.find(({ vnode: s }) => {
492
492
  var a;
493
- return ((a = o.props) == null ? void 0 : a.message) === t.message;
493
+ return ((a = s.props) == null ? void 0 : a.message) === t.message;
494
494
  });
495
- if (s)
496
- return s.props.repeatNum += 1, s.props.type = t.type, s.handler;
495
+ if (o)
496
+ return o.props.repeatNum += 1, o.props.type = t.type, o.handler;
497
497
  }
498
498
  if (fe(T.max) && H.length >= T.max)
499
499
  return { close: () => {
500
500
  } };
501
- const n = fn(t, e);
501
+ const n = yn(t, e);
502
502
  return H.push(n), n.handler;
503
503
  };
504
- at.forEach((l) => {
505
- ce[l] = (e = {}, t) => {
504
+ at.forEach((d) => {
505
+ ce[d] = (e = {}, t) => {
506
506
  const n = it(e);
507
- return ce({ ...n, type: l }, t);
507
+ return ce({ ...n, type: d }, t);
508
508
  };
509
509
  });
510
- function wn(l) {
510
+ function wn(d) {
511
511
  const e = [...H];
512
512
  for (const t of e)
513
- (!l || l === t.props.type) && t.handler.close();
513
+ (!d || d === t.props.type) && t.handler.close();
514
514
  }
515
515
  ce.closeAll = wn;
516
516
  ce._context = null;
517
- const L = It(ce, "$message");
518
- class O extends Se {
517
+ const k = It(ce, "$message");
518
+ class O extends Ae {
519
519
  _renderer;
520
520
  get renderer() {
521
521
  return this._renderer || (this._renderer = this.parent?.findComponentByName("Renderer")), this._renderer;
@@ -582,9 +582,9 @@ class O extends Se {
582
582
  */
583
583
  createCursor(e) {
584
584
  return (t, n) => {
585
- const s = this.domElement.style.cursor;
585
+ const o = this.domElement.style.cursor;
586
586
  this.domElement.style.cursor = e, this.addEventRecord("clear", () => {
587
- this.domElement.style.cursor = s ?? "default";
587
+ this.domElement.style.cursor = o ?? "default";
588
588
  }), t(n);
589
589
  };
590
590
  }
@@ -603,40 +603,40 @@ class O extends Se {
603
603
  * @returns
604
604
  */
605
605
  createPointerMove(e) {
606
- const t = this.editor, n = new _();
607
- let s = null, o = null, a = null;
608
- const c = t.addEventListener("pointerPositionChange", () => {
609
- const d = _.from(t.pointerPosition);
610
- if (s && t.eventInput.isKeyDown("shift")) {
611
- const i = Math.abs(d.x - s.x), r = Math.abs(d.y - s.y);
612
- i > r ? n.set(d.x, s.y) : n.set(s.x, d.y), e(n, !1);
613
- } else if (o && a && t.eventInput.isKeyDown("alt")) {
614
- const i = o.projectPoint(d, !1), r = a.projectPoint(d, !1);
615
- i && r ? d.distance(i) < d.distance(r) ? n.copy(i) : n.copy(r) : i ? n.copy(i) : r && n.copy(r), e(n, !1);
606
+ const t = this.editor, n = new M();
607
+ let o = null, s = null, a = null;
608
+ const l = t.addEventListener("pointerPositionChange", () => {
609
+ const r = M.from(t.pointerPosition);
610
+ if (o && t.eventInput.isKeyDown("shift")) {
611
+ const i = Math.abs(r.x - o.x), c = Math.abs(r.y - o.y);
612
+ i > c ? n.set(r.x, o.y) : n.set(o.x, r.y), e(n, !1);
613
+ } else if (s && a && t.eventInput.isKeyDown("alt")) {
614
+ const i = s.projectPoint(r, !1), c = a.projectPoint(r, !1);
615
+ i && c ? r.distance(i) < r.distance(c) ? n.copy(i) : n.copy(c) : i ? n.copy(i) : c && n.copy(c), e(n, !1);
616
616
  } else {
617
- const { point: i, find: r, line: h } = t.renderManager.adsorption();
618
- n.copy(i), e(n, r, h);
617
+ const { point: i, find: c, line: m } = t.renderManager.adsorption();
618
+ n.copy(i), e(n, c, m);
619
619
  }
620
620
  });
621
621
  return {
622
622
  destroy() {
623
- c();
623
+ l();
624
624
  },
625
- setBaseLine(d, i) {
626
- if (o = d, s = i, d && i) {
627
- const r = d.normal();
628
- a = new B(
629
- i.clone().add(r.clone().multiplyScalar(10)),
630
- i.clone().add(r.multiplyScalar(-10))
625
+ setBaseLine(r, i) {
626
+ if (s = r, o = i, r && i) {
627
+ const c = r.normal();
628
+ a = new N(
629
+ i.clone().add(c.clone().multiplyScalar(10)),
630
+ i.clone().add(c.multiplyScalar(-10))
631
631
  );
632
632
  } else a = null;
633
633
  }
634
634
  };
635
635
  }
636
636
  }
637
- class yn extends O {
637
+ class bn extends O {
638
638
  static name = "DrawLine";
639
- container = new m.Group();
639
+ container = new u.Group();
640
640
  interruptKeys = ["escape"];
641
641
  withdrawalKeys = ["control", "z"];
642
642
  shortcutKeys = ["control", "l"];
@@ -651,24 +651,24 @@ class yn extends O {
651
651
  * @param next
652
652
  */
653
653
  selectPoint(e) {
654
- let t = this.parent?.findComponentByName("Editor"), n = null, s = null, o = [], a = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), c = t.domContainer.domElement, d = new we([], 16711935), i = new we([
655
- new m.Vector3(-1e4, 0, 0),
656
- new m.Vector3(1e4, 0, 0),
657
- new m.Vector3(0, -1e4, 0),
658
- new m.Vector3(0, 1e4, 0)
654
+ let t = this.parent?.findComponentByName("Editor"), n = null, o = null, s = [], a = this.renderer.createCircle(M.zero(), { color: 65280 }), l = t.domContainer.domElement, r = new ye([], 16711935), i = new ye([
655
+ new u.Vector3(-1e4, 0, 0),
656
+ new u.Vector3(1e4, 0, 0),
657
+ new u.Vector3(0, -1e4, 0),
658
+ new u.Vector3(0, 1e4, 0)
659
659
  ], 16711935);
660
- i.material = new m.LineDashedMaterial({
660
+ i.material = new u.LineDashedMaterial({
661
661
  color: 4235007,
662
662
  dashSize: 0.1,
663
663
  gapSize: 0.1,
664
664
  linewidth: 0.1
665
- }), this.container.add(d);
666
- const r = () => {
667
- d.setPoint(...o, n, s), i.position.copy(s), this.container.add(i), i.computeLineDistances();
668
- }, h = new m.Vector3();
665
+ }), this.container.add(r);
666
+ const c = () => {
667
+ r.setPoint(...s, n, o), i.position.copy(o), this.container.add(i), i.computeLineDistances();
668
+ }, m = new u.Vector3();
669
669
  let y;
670
- const f = this.createPointerMove((p, u, E) => {
671
- h.set(p.x, p.y, 0), this.dispatchEvent({ type: "pointerMove", point: h }), y = E, u ? (a.position.set(p.x, p.y, 0), this.container.add(a), c.style.cursor = "none") : (a.removeFromParent(), c.style.cursor = "crosshair"), n && s && (r(), s.copy(h));
670
+ const f = this.createPointerMove((g, h, E) => {
671
+ m.set(g.x, g.y, 0), this.dispatchEvent({ type: "pointerMove", point: m }), y = E, h ? (a.position.set(g.x, g.y, 0), this.container.add(a), l.style.cursor = "none") : (a.removeFromParent(), l.style.cursor = "crosshair"), n && o && (c(), o.copy(m));
672
672
  });
673
673
  this.addEventRecord(
674
674
  "clear",
@@ -676,24 +676,24 @@ class yn extends O {
676
676
  t.eventInput.addEventListener("codeChange", async () => {
677
677
  if (t.eventInput.isKeyDown("mouse_0")) {
678
678
  if (!n) {
679
- n = h.clone(), s = h.clone(), r(), f.setBaseLine(y ?? null, _.from(n));
679
+ n = m.clone(), o = m.clone(), c(), f.setBaseLine(y ?? null, M.from(n));
680
680
  return;
681
681
  }
682
- s = h.clone(), o.push(n.clone(), s.clone());
683
- const p = new B(_.from(n), _.from(s));
684
- f.setBaseLine(p, p.end), n.copy(s), r();
682
+ o = m.clone(), s.push(n.clone(), o.clone());
683
+ const g = new N(M.from(n), M.from(o));
684
+ f.setBaseLine(g, g.end), n.copy(o), c();
685
685
  } else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
686
- if (o.length) {
687
- const { point: p } = t.renderManager.adsorption();
688
- if (o.pop(), s?.copy(p), n?.copy(o.pop()), r(), o.length >= 2) {
689
- const u = new B(_.from(o[o.length - 2]), _.from(o[o.length - 1]));
690
- f.setBaseLine(u, u.end);
686
+ if (s.length) {
687
+ const { point: g } = t.renderManager.adsorption();
688
+ if (s.pop(), o?.copy(g), n?.copy(s.pop()), c(), s.length >= 2) {
689
+ const h = new N(M.from(s[s.length - 2]), M.from(s[s.length - 1]));
690
+ f.setBaseLine(h, h.end);
691
691
  }
692
692
  }
693
- } else t.eventInput.isKeyDowns(this.confirmKeys) && e(o);
693
+ } else t.eventInput.isKeyDowns(this.confirmKeys) && e(s);
694
694
  }),
695
695
  function() {
696
- d.removeFromParent(), a.removeFromParent(), i.removeFromParent();
696
+ r.removeFromParent(), a.removeFromParent(), i.removeFromParent();
697
697
  }
698
698
  );
699
699
  }
@@ -702,14 +702,14 @@ class yn extends O {
702
702
  */
703
703
  end(e, t) {
704
704
  const n = [];
705
- for (let s = 0; s < t.length; s += 2)
706
- n.push(new B(_.from(t[s]), _.from(t[s + 1])));
705
+ for (let o = 0; o < t.length; o += 2)
706
+ n.push(new N(M.from(t[o]), M.from(t[o + 1])));
707
707
  e(n);
708
708
  }
709
709
  /** 执行完成
710
710
  */
711
711
  completed(e) {
712
- this.renderManager.addLines(e), this.renderManager.draw();
712
+ this.renderManager.addLines(e), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
713
713
  }
714
714
  /** 回滚操作
715
715
  * @param data
@@ -727,7 +727,7 @@ class yn extends O {
727
727
  }
728
728
  class rt extends O {
729
729
  static name = "Default";
730
- container = new m.Group();
730
+ container = new u.Group();
731
731
  onAddFromParent() {
732
732
  const e = this.editor, t = e.commandManager;
733
733
  e.container.add(this.container), t.addCommandFlow("default").add(this.start.bind(this)).addEventListener("finally", this.finally.bind(this)), t.addEventListener("startedBefore", (n) => {
@@ -735,7 +735,7 @@ class rt extends O {
735
735
  }), t.addEventListener("finally", (n) => n.name !== "default" && t.start("default")), e.eventInput.addCancelDefaultBehavior(() => e.eventInput.isOnlyKeyDowns(["control", "g"]));
736
736
  }
737
737
  selectLines = [];
738
- selectLineObject3D = new m.Mesh();
738
+ selectLineObject3D = new u.Mesh();
739
739
  /** 添加选择的线段
740
740
  * @param lineSegment
741
741
  */
@@ -778,80 +778,80 @@ class rt extends O {
778
778
  * @param next
779
779
  */
780
780
  start() {
781
- const e = this.editor, t = e.eventInput, n = new m.Mesh(), s = e.domContainer.domElement;
782
- let o = null;
783
- n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new m.MeshBasicMaterial({ color: 55561 });
781
+ const e = this.editor, t = e.eventInput, n = new u.Mesh(), o = e.domContainer.domElement;
782
+ let s = null;
783
+ n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new u.MeshBasicMaterial({ color: 55561 });
784
784
  const a = () => {
785
- const d = e.pointerPosition.clone(), i = e.pointerPosition.clone(), r = new m.Mesh();
786
- this.container.add(r), r.position.z = 0.05, r.material = new m.MeshBasicMaterial({
785
+ const r = e.pointerPosition.clone(), i = e.pointerPosition.clone(), c = new u.Mesh();
786
+ this.container.add(c), c.position.z = 0.05, c.material = new u.MeshBasicMaterial({
787
787
  color: 16777215,
788
788
  transparent: !0,
789
789
  opacity: 0.5
790
790
  });
791
- const h = () => {
792
- const p = Math.min(d.x, i.x), u = Math.max(d.x, i.x), E = Math.min(d.y, i.y), x = Math.max(d.y, i.y), k = [
793
- p,
791
+ const m = () => {
792
+ const g = Math.min(r.x, i.x), h = Math.max(r.x, i.x), E = Math.min(r.y, i.y), x = Math.max(r.y, i.y), I = [
793
+ g,
794
794
  x,
795
795
  0,
796
- u,
796
+ h,
797
797
  E,
798
798
  0,
799
- u,
799
+ h,
800
800
  x,
801
801
  0,
802
- p,
802
+ g,
803
803
  x,
804
804
  0,
805
- p,
805
+ g,
806
806
  E,
807
807
  0,
808
- u,
808
+ h,
809
809
  E,
810
810
  0
811
811
  ];
812
- r.geometry = e.renderManager.createGeometry({ position: k }, k.length / 3);
812
+ c.geometry = e.renderManager.createGeometry({ position: I }, I.length / 3);
813
813
  }, y = () => {
814
- i.copy(e.pointerPosition), h();
814
+ i.copy(e.pointerPosition), m();
815
815
  }, f = () => {
816
- document.removeEventListener("mousemove", y), document.removeEventListener("mouseup", f), r.removeFromParent();
817
- const p = Math.min(d.x, i.x), u = Math.max(d.x, i.x), E = Math.min(d.y, i.y), x = Math.max(d.y, i.y), k = new Ye(p, u, E, x), z = e.renderManager.quadtree.queryBox(k);
818
- this.removeSelectLineAll(), z.forEach((Y) => this.addSelectLine(Y.line)), this.updateSelectLinesGeometry();
816
+ document.removeEventListener("mousemove", y), document.removeEventListener("mouseup", f), c.removeFromParent();
817
+ const g = Math.min(r.x, i.x), h = Math.max(r.x, i.x), E = Math.min(r.y, i.y), x = Math.max(r.y, i.y), I = new Ye(g, h, E, x), K = e.renderManager.quadtree.queryBox(I);
818
+ this.removeSelectLineAll(), K.forEach((Y) => this.addSelectLine(Y.line)), this.updateSelectLinesGeometry();
819
819
  };
820
820
  document.addEventListener("mousemove", y), document.addEventListener("mouseup", f);
821
- }, c = this.renderer.createText("", new m.Vector3(0, 0, 0), {
821
+ }, l = this.renderer.createText("", new u.Vector3(0, 0, 0), {
822
822
  background: "rgba(0,0,0,0.5)",
823
823
  padding: "2px",
824
824
  borderRadius: "2px"
825
825
  }, this.container);
826
- c.visible = !1, this.addEventRecord(
826
+ l.visible = !1, this.addEventRecord(
827
827
  "clear",
828
828
  // 注册鼠标指针位置变化事件
829
829
  e.addEventListener("pointerPositionChange", () => {
830
- const { line: d } = e.renderManager.adsorption();
831
- if (d) {
832
- const i = d.expandToRectangle(0.025, "bothSides");
833
- n.geometry = e.renderManager.createGeometry({ position: i.createGeometry() }, 6), this.container.add(n), s.style.cursor = "pointer", o = d;
834
- const r = d.center;
835
- c.element.innerText = parseInt(d.length() * 1e3 + "") + " mm", c.position.set(r.x, r.y, 0), c.visible = !0;
830
+ const { line: r } = e.renderManager.adsorption();
831
+ if (r) {
832
+ const i = r.expandToRectangle(0.025, "bothSides");
833
+ n.geometry = e.renderManager.createGeometry({ position: i.createGeometry() }, 6), this.container.add(n), o.style.cursor = "pointer", s = r;
834
+ const c = r.center;
835
+ l.element.innerText = parseInt(r.length() * 1e3 + "") + " mm", l.position.set(c.x, c.y, 0), l.visible = !0;
836
836
  } else
837
- n.removeFromParent(), s.style.cursor = "default", o = null, c.visible = !1;
837
+ n.removeFromParent(), o.style.cursor = "default", s = null, l.visible = !1;
838
838
  }),
839
839
  t.addEventListener("codeChange", () => {
840
840
  if (t.isKeyDown("mouse_0")) {
841
- if (!o) return a();
841
+ if (!s) return a();
842
842
  if (t.isKeyDown("alt"))
843
- return this.removeSelectLine(o);
844
- t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(o);
843
+ return this.removeSelectLine(s);
844
+ t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(s);
845
845
  } else if (t.isKeyDown("mouse_1")) {
846
- if (!o) return;
847
- this.removeSelectLine(o);
846
+ if (!s) return;
847
+ this.removeSelectLine(s);
848
848
  } else if (t.isKeyDown("mouse_2")) {
849
- if (!o) return;
850
- this.addSelectLine(o);
849
+ if (!s) return;
850
+ this.addSelectLine(s);
851
851
  } else t.isKeyDowns(["control", "z"]) ? e.commandManager.rollback() : t.isKeyDowns(["control", "y"]) && e.commandManager.revokeRollback();
852
852
  }),
853
853
  function() {
854
- n.removeFromParent(), c.removeFromParent();
854
+ n.removeFromParent(), l.removeFromParent();
855
855
  }
856
856
  );
857
857
  }
@@ -862,7 +862,7 @@ class rt extends O {
862
862
  this.canceEventRecord("clear"), this.removeSelectLineAll(), this.updateSelectLinesGeometry();
863
863
  }
864
864
  }
865
- class bn extends Xe {
865
+ class xn extends Xe {
866
866
  list = [];
867
867
  rollbacklist = [];
868
868
  revokeRollbacklist = [];
@@ -890,7 +890,7 @@ class bn extends Xe {
890
890
  return this.revokeRollbacklist.push(e), this;
891
891
  }
892
892
  }
893
- class xn extends Xe {
893
+ class Cn extends Xe {
894
894
  commandFlowMap = /* @__PURE__ */ new Map();
895
895
  lock = !1;
896
896
  abortController = null;
@@ -917,7 +917,7 @@ class xn extends Xe {
917
917
  */
918
918
  addCommandFlow(e) {
919
919
  if (this.commandFlowMap.has(e)) throw new Error(`${e} 命令已经存在`);
920
- const t = new bn();
920
+ const t = new xn();
921
921
  return this.commandFlowMap.set(e, t), t;
922
922
  }
923
923
  executionPromise = null;
@@ -934,25 +934,25 @@ class xn extends Xe {
934
934
  currentName: this.currentName
935
935
  }), this.executionPromise && await this.executionPromise, this.executionPromise = null, this.lock)
936
936
  throw new Error("命令管理器已被 " + this.currentName + " 命令锁定,无法启动新的命令流,请退出或等待命令执行结束");
937
- const s = this.commandFlowMap.get(e);
938
- if (!s)
937
+ const o = this.commandFlowMap.get(e);
938
+ if (!o)
939
939
  throw new Error(`命令流 ${e} 不存在`);
940
- this.lock = !0, this.abortController = new AbortController(), this.currentName = e, s.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
940
+ this.lock = !0, this.abortController = new AbortController(), this.currentName = e, o.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
941
941
  try {
942
- for (let o = n; o < s.list.length; o++) {
943
- const a = s.list[o];
944
- if (s.dispatchEvent({ type: "executing", index: o }), this.dispatchEvent({ type: "executing", name: e, index: o }), t = await new Promise((c) => {
945
- this.resolve = c, a(c, t);
942
+ for (let s = n; s < o.list.length; s++) {
943
+ const a = o.list[s];
944
+ if (o.dispatchEvent({ type: "executing", index: s }), this.dispatchEvent({ type: "executing", name: e, index: s }), t = await new Promise((l) => {
945
+ this.resolve = l, a(l, t);
946
946
  }), this.abortController.signal.aborted) {
947
- s.dispatchEvent({ type: "executionInterrupt", index: o }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: o }), this.dispatchEvent({ type: "cancel", name: e });
947
+ o.dispatchEvent({ type: "executionInterrupt", index: s }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: s }), this.dispatchEvent({ type: "cancel", name: e });
948
948
  break;
949
949
  } else
950
- s.dispatchEvent({ type: "executionCompleted", index: o, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: o, data: t });
950
+ o.dispatchEvent({ type: "executionCompleted", index: s, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: s, data: t });
951
951
  }
952
- } catch (o) {
953
- console.error(o);
952
+ } catch (s) {
953
+ console.error(s);
954
954
  } finally {
955
- this.abortController && !this.abortController.signal.aborted && (s.dispatchEvent({ type: "completed", data: t }), this.dispatchEvent({ type: "completed", name: e, data: t }), s.writeOperationList && (this.operationList.push({ name: e, data: t }), this.rollbackList.length = 0)), this.lock = !1, this.abortController = null, this.currentName = null, s.dispatchEvent({ type: "finally" }), this.dispatchEvent({ type: "finally", name: e }), this.executionResolve && (this.executionResolve(null), this.executionResolve = null);
955
+ this.abortController && !this.abortController.signal.aborted && (o.dispatchEvent({ type: "completed", data: t }), this.dispatchEvent({ type: "completed", name: e, data: t }), o.writeOperationList && (this.operationList.push({ name: e, data: t }), this.rollbackList.length = 0)), this.lock = !1, this.abortController = null, this.currentName = null, o.dispatchEvent({ type: "finally" }), this.dispatchEvent({ type: "finally", name: e }), this.executionResolve && (this.executionResolve(null), this.executionResolve = null);
956
956
  }
957
957
  return t;
958
958
  }
@@ -970,7 +970,7 @@ class xn extends Xe {
970
970
  if (!e) return !1;
971
971
  const t = this.commandFlowMap.get(e.name);
972
972
  if (!t) return !1;
973
- const n = t.rollbacklist.reduce((s, o) => o(s), e.data);
973
+ const n = t.rollbacklist.reduce((o, s) => s(o), e.data);
974
974
  return this.dispatchEvent({ type: "rollback", name: e.name }), this.rollbackList.push({
975
975
  data: n,
976
976
  name: e.name
@@ -988,72 +988,72 @@ class xn extends Xe {
988
988
  if (!e) return !1;
989
989
  const t = this.commandFlowMap.get(e.name);
990
990
  if (!t) return !1;
991
- const n = t.revokeRollbacklist.reduce((s, o) => o(s), e.data);
991
+ const n = t.revokeRollbacklist.reduce((o, s) => s(o), e.data);
992
992
  return this.dispatchEvent({ type: "revokeRollback", name: e.name }), this.operationList.push({ name: e.name, data: n }), !0;
993
993
  } catch (e) {
994
994
  throw new Error(`撤回回滚失败:${e}`);
995
995
  }
996
996
  }
997
997
  }
998
- const Cn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5569'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M522.1888%20811.3152a412.1088%20412.1088%200%200%200-114.5344-269.7728l-244.48%20269.7728h359.0144zM450.816%20493.824c83.5072%2085.3504%20132.7104%20197.4784%20136.5504%20317.4912h417.5872v63.232H18.9952L676.1472%20149.4016l48.9472%2041.7792-274.2784%20302.6432z'%20%3e%3c/path%3e%3c/svg%3e", En = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
999
- __proto__: null,
1000
- default: Cn
1001
- }, Symbol.toStringTag, { value: "Module" })), Mn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", Ln = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
998
+ const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5569'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M522.1888%20811.3152a412.1088%20412.1088%200%200%200-114.5344-269.7728l-244.48%20269.7728h359.0144zM450.816%20493.824c83.5072%2085.3504%20132.7104%20197.4784%20136.5504%20317.4912h417.5872v63.232H18.9952L676.1472%20149.4016l48.9472%2041.7792-274.2784%20302.6432z'%20%3e%3c/path%3e%3c/svg%3e", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1002
999
  __proto__: null,
1003
- default: Mn
1004
- }, Symbol.toStringTag, { value: "Module" })), kn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", In = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1000
+ default: En
1001
+ }, Symbol.toStringTag, { value: "Module" })), Ln = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1005
1002
  __proto__: null,
1006
- default: kn
1007
- }, Symbol.toStringTag, { value: "Module" })), Pn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", Dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1003
+ default: Ln
1004
+ }, Symbol.toStringTag, { value: "Module" })), In = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1008
1005
  __proto__: null,
1009
- default: Pn
1010
- }, Symbol.toStringTag, { value: "Module" })), An = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1006
+ default: In
1007
+ }, Symbol.toStringTag, { value: "Module" })), Dn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", An = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1011
1008
  __proto__: null,
1012
- default: An
1013
- }, Symbol.toStringTag, { value: "Module" })), _n = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e", Bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1009
+ default: Dn
1010
+ }, Symbol.toStringTag, { value: "Module" })), _n = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1014
1011
  __proto__: null,
1015
1012
  default: _n
1016
- }, Symbol.toStringTag, { value: "Module" })), Nn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M491.80027198%20557.44938977c-10.0998647-15.14979706-20.19972802-25.24966037-35.34952507-35.34952507-15.14979706-10.0998647-30.29959271-15.14979706-50.49932211-15.14979704-55.54925309%200-100.99864286%2045.44938977-100.99864287%20100.99864285%200%2015.14979706%205.04993234%2035.34952507%2015.14979568%2050.49932212%2010.0998647%2015.14979706%2020.19972802%2030.29959271%2035.34952506%2035.34952508%2015.14979706%2010.0998647%2035.34952507%2015.14979706%2050.49932213%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864287%200-15.14979706-5.04993234-35.34952507-15.14979568-50.49932074z%20m-85.84884718%20100.99864286h-15.14979706c-20.19972802-5.04993234-30.29959271-20.19972802-35.34952507-35.34952507V612.99864286c0-30.29959271%2025.24966037-50.49932212%2050.49932213-50.49932074h10.09986469c15.14979706%205.04993234%2030.29959271%2015.14979706%2035.34952507%2035.34952507v15.14979567c5.04993234%2025.24966037-20.19972802%2045.44938977-45.44938976%2045.44938977z'%3e%3c/path%3e%3cpath%20d='M390.80162774%20658.44803263l-40.39945604%2040.39945743-227.24694747%20222.19701373-35.34952506-35.34952508%20227.24694745-227.24694608%2040.39945605-40.39945743c5.04993234%2020.19972802%2020.19972802%2035.34952507%2035.34952507%2040.39945743zM648.34816793%20405.9514248l-40.39945742%2040.3994574-116.14843853%20116.14843992-40.39945742%2035.34952507c-5.04993234-20.19972802-20.19972802-30.29959271-35.34952507-35.34952507l40.39945742-40.39945742%20116.14843853-111.09850756%2035.34952507-35.34952507c10.0998647%2015.14979706%2020.19972802%2025.24966037%2040.39945742%2030.29959273zM926.09443614%20133.25508894L749.34681078%20310.00271428l-40.3994574%2040.39945742c-5.04993234-20.19972802-15.14979706-35.34952507-30.29959272-40.39945742l35.34952506-40.39945742%20176.74762534-176.74762535%2035.34952508%2040.39945743z'%20%3e%3c/path%3e%3cpath%20d='M749.34681078%20310.00271428c-10.0998647-15.14979706-20.19972802-30.29959271-35.34952506-35.34952506-15.14979706-10.0998647-35.34952507-15.14979706-55.54925309-15.14979706-55.54925309%200-100.99864286%2045.44938977-100.99864286%20100.99864286%200%2020.19972802%205.04993234%2040.39945743%2015.14979567%2055.54925447%2010.0998647%2015.14979706%2020.19972802%2025.24966037%2035.34952507%2035.34952507%2015.14979706%2010.0998647%2030.29959271%2015.14979706%2050.49932212%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864286%200-25.24966037-5.04993234-40.39945743-10.09986471-55.54925309z%20m-90.89877815%2095.94871052h-10.0998647c-20.19972802-5.04993234-35.34952507-15.14979706-40.39945742-35.34952509%200-5.04993234-5.04993234-10.0998647-5.04993234-15.14979704%200-30.29959271%2025.24966037-50.49932212%2050.49932212-50.49932074%205.04993234%200%2010.0998647%200%2015.14979704%205.04993235%2015.14979706%205.04993234%2030.29959271%2020.19972802%2030.29959273%2040.39945742v10.09986332c10.0998647%2025.24966037-15.14979706%2045.44938977-40.39945743%2045.44938978z'%20%3e%3c/path%3e%3c/svg%3e", Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1013
+ }, Symbol.toStringTag, { value: "Module" })), Nn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e", Bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1017
1014
  __proto__: null,
1018
1015
  default: Nn
1019
- }, Symbol.toStringTag, { value: "Module" })), On = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e", Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1016
+ }, Symbol.toStringTag, { value: "Module" })), Rn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M491.80027198%20557.44938977c-10.0998647-15.14979706-20.19972802-25.24966037-35.34952507-35.34952507-15.14979706-10.0998647-30.29959271-15.14979706-50.49932211-15.14979704-55.54925309%200-100.99864286%2045.44938977-100.99864287%20100.99864285%200%2015.14979706%205.04993234%2035.34952507%2015.14979568%2050.49932212%2010.0998647%2015.14979706%2020.19972802%2030.29959271%2035.34952506%2035.34952508%2015.14979706%2010.0998647%2035.34952507%2015.14979706%2050.49932213%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864287%200-15.14979706-5.04993234-35.34952507-15.14979568-50.49932074z%20m-85.84884718%20100.99864286h-15.14979706c-20.19972802-5.04993234-30.29959271-20.19972802-35.34952507-35.34952507V612.99864286c0-30.29959271%2025.24966037-50.49932212%2050.49932213-50.49932074h10.09986469c15.14979706%205.04993234%2030.29959271%2015.14979706%2035.34952507%2035.34952507v15.14979567c5.04993234%2025.24966037-20.19972802%2045.44938977-45.44938976%2045.44938977z'%3e%3c/path%3e%3cpath%20d='M390.80162774%20658.44803263l-40.39945604%2040.39945743-227.24694747%20222.19701373-35.34952506-35.34952508%20227.24694745-227.24694608%2040.39945605-40.39945743c5.04993234%2020.19972802%2020.19972802%2035.34952507%2035.34952507%2040.39945743zM648.34816793%20405.9514248l-40.39945742%2040.3994574-116.14843853%20116.14843992-40.39945742%2035.34952507c-5.04993234-20.19972802-20.19972802-30.29959271-35.34952507-35.34952507l40.39945742-40.39945742%20116.14843853-111.09850756%2035.34952507-35.34952507c10.0998647%2015.14979706%2020.19972802%2025.24966037%2040.39945742%2030.29959273zM926.09443614%20133.25508894L749.34681078%20310.00271428l-40.3994574%2040.39945742c-5.04993234-20.19972802-15.14979706-35.34952507-30.29959272-40.39945742l35.34952506-40.39945742%20176.74762534-176.74762535%2035.34952508%2040.39945743z'%20%3e%3c/path%3e%3cpath%20d='M749.34681078%20310.00271428c-10.0998647-15.14979706-20.19972802-30.29959271-35.34952506-35.34952506-15.14979706-10.0998647-35.34952507-15.14979706-55.54925309-15.14979706-55.54925309%200-100.99864286%2045.44938977-100.99864286%20100.99864286%200%2020.19972802%205.04993234%2040.39945743%2015.14979567%2055.54925447%2010.0998647%2015.14979706%2020.19972802%2025.24966037%2035.34952507%2035.34952507%2015.14979706%2010.0998647%2030.29959271%2015.14979706%2050.49932212%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864286%200-25.24966037-5.04993234-40.39945743-10.09986471-55.54925309z%20m-90.89877815%2095.94871052h-10.0998647c-20.19972802-5.04993234-35.34952507-15.14979706-40.39945742-35.34952509%200-5.04993234-5.04993234-10.0998647-5.04993234-15.14979704%200-30.29959271%2025.24966037-50.49932212%2050.49932212-50.49932074%205.04993234%200%2010.0998647%200%2015.14979704%205.04993235%2015.14979706%205.04993234%2030.29959271%2020.19972802%2030.29959273%2040.39945742v10.09986332c10.0998647%2025.24966037-15.14979706%2045.44938977-40.39945743%2045.44938978z'%20%3e%3c/path%3e%3c/svg%3e", On = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1017
+ __proto__: null,
1018
+ default: Rn
1019
+ }, Symbol.toStringTag, { value: "Module" })), zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e", Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1020
1020
  __proto__: null,
1021
- default: On
1022
- }, Symbol.toStringTag, { value: "Module" })), Kn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M114.176%2046.528h618.496c37.312%200.064%2067.584%2030.336%2067.648%2067.648v618.56c0%2037.248-30.336%2067.584-67.648%2067.584H114.176A67.776%2067.776%200%200%201%2046.528%20732.8V114.176c0-37.312%2030.336-67.648%2067.648-67.648z%20m2.176%20686.208l616.32-2.24-2.176-616.32-614.144%202.176v616.32zM907.648%20291.2l2.176%20616.32H291.264a34.88%2034.88%200%201%200%200%2069.888h618.56c37.312%200%2067.648-30.336%2067.648-67.648V291.264a34.88%2034.88%200%201%200-69.824%200z'%20%3e%3c/path%3e%3c/svg%3e", zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1021
+ default: zn
1022
+ }, Symbol.toStringTag, { value: "Module" })), Kn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M114.176%2046.528h618.496c37.312%200.064%2067.584%2030.336%2067.648%2067.648v618.56c0%2037.248-30.336%2067.584-67.648%2067.584H114.176A67.776%2067.776%200%200%201%2046.528%20732.8V114.176c0-37.312%2030.336-67.648%2067.648-67.648z%20m2.176%20686.208l616.32-2.24-2.176-616.32-614.144%202.176v616.32zM907.648%20291.2l2.176%20616.32H291.264a34.88%2034.88%200%201%200%200%2069.888h618.56c37.312%200%2067.648-30.336%2067.648-67.648V291.264a34.88%2034.88%200%201%200-69.824%200z'%20%3e%3c/path%3e%3c/svg%3e", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1023
1023
  __proto__: null,
1024
1024
  default: Kn
1025
- }, Symbol.toStringTag, { value: "Module" })), Tn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", jn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1025
+ }, Symbol.toStringTag, { value: "Module" })), jn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1026
1026
  __proto__: null,
1027
- default: Tn
1028
- }, Symbol.toStringTag, { value: "Module" })), Vn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e", Gn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1027
+ default: jn
1028
+ }, Symbol.toStringTag, { value: "Module" })), Gn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1029
1029
  __proto__: null,
1030
- default: Vn
1031
- }, Symbol.toStringTag, { value: "Module" })), Qn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e", Hn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1030
+ default: Gn
1031
+ }, Symbol.toStringTag, { value: "Module" })), Hn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e", Wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1032
1032
  __proto__: null,
1033
- default: Qn
1034
- }, Symbol.toStringTag, { value: "Module" })), Wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", Jn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1033
+ default: Hn
1034
+ }, Symbol.toStringTag, { value: "Module" })), Jn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", Un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1035
1035
  __proto__: null,
1036
- default: Wn
1037
- }, Symbol.toStringTag, { value: "Module" })), Un = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e", qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1036
+ default: Jn
1037
+ }, Symbol.toStringTag, { value: "Module" })), qn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e", Zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1038
1038
  __proto__: null,
1039
- default: Un
1040
- }, Symbol.toStringTag, { value: "Module" })), Zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1759051895215'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1800'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M272.5888%20886.784v70.8608H203.2128V886.784h69.376z%20m416.256-256.6144l270.6944%20152.5248-270.6944%20148.1216v-114.8928H64.4608v-70.8608h624.384v-114.8928z%20m-416.256-26.88v70.912H203.2128v-70.912h69.376z%20m0-141.7216V532.48H203.2128V461.568h69.376z%20m-34.7136-398.336L385.024%20319.7952H272.5888V390.656H203.2128V319.8464H90.7776l147.0976-256.6656z'%20fill='%23444444'%20p-id='1801'%3e%3c/path%3e%3cpath%20d='M566.272%2073.3184l173.2608%20264.192V512h71.8848V337.5104l173.2608-264.192H898.048l-122.2656%20197.2224-122.88-197.2224H566.272z'%20fill='%230077FF'%20p-id='1802'%3e%3c/path%3e%3c/svg%3e", Yn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1039
+ default: qn
1040
+ }, Symbol.toStringTag, { value: "Module" })), Yn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1759051895215'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1800'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M272.5888%20886.784v70.8608H203.2128V886.784h69.376z%20m416.256-256.6144l270.6944%20152.5248-270.6944%20148.1216v-114.8928H64.4608v-70.8608h624.384v-114.8928z%20m-416.256-26.88v70.912H203.2128v-70.912h69.376z%20m0-141.7216V532.48H203.2128V461.568h69.376z%20m-34.7136-398.336L385.024%20319.7952H272.5888V390.656H203.2128V319.8464H90.7776l147.0976-256.6656z'%20fill='%23444444'%20p-id='1801'%3e%3c/path%3e%3cpath%20d='M566.272%2073.3184l173.2608%20264.192V512h71.8848V337.5104l173.2608-264.192H898.048l-122.2656%20197.2224-122.88-197.2224H566.272z'%20fill='%230077FF'%20p-id='1802'%3e%3c/path%3e%3c/svg%3e", Xn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1041
1041
  __proto__: null,
1042
- default: Zn
1043
- }, Symbol.toStringTag, { value: "Module" })), Xn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902547951'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5129'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M59.355%2091.776v867.881h867.881V91.776H59.356zM897.31%20929.73H89.282V121.703h808.027V929.73z'%20fill=''%20p-id='5130'%3e%3c/path%3e%3cpath%20d='M833.964%20185.048H152.627v681.337h681.337V185.048z%20m-355.632%20651.41H182.554V532.2h295.778v304.257z%20m0-334.184H182.554V214.975h295.778v287.299z%20m325.705%20334.184H508.259V532.2h295.778v304.257z%20m0-334.184H508.259V214.975h295.778v287.299z'%20fill=''%20p-id='5131'%3e%3c/path%3e%3c/svg%3e", $n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1042
+ default: Yn
1043
+ }, Symbol.toStringTag, { value: "Module" })), $n = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902547951'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5129'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M59.355%2091.776v867.881h867.881V91.776H59.356zM897.31%20929.73H89.282V121.703h808.027V929.73z'%20fill=''%20p-id='5130'%3e%3c/path%3e%3cpath%20d='M833.964%20185.048H152.627v681.337h681.337V185.048z%20m-355.632%20651.41H182.554V532.2h295.778v304.257z%20m0-334.184H182.554V214.975h295.778v287.299z%20m325.705%20334.184H508.259V532.2h295.778v304.257z%20m0-334.184H508.259V214.975h295.778v287.299z'%20fill=''%20p-id='5131'%3e%3c/path%3e%3c/svg%3e", eo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1044
1044
  __proto__: null,
1045
- default: Xn
1046
- }, Symbol.toStringTag, { value: "Module" })), es = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAKdUlEQVR4AeydbZrUKBRGq2YjOjvpWYntStSVjK5EdzLOSsr7arBLOkkBAcLHmacwlQQInMsZUvdP/3Xhv+oEbrfbk5XYz1P1gfLAC4KwCCCwQwBBduBwCwIIwhqAwA4BBNmBwy0IFBQEuBDonwCC9B9DZlCQAIIUhEvX/RNAkP5jyAwKEkCQgnDpun8CfQrSP3dm0AkBBOkkUAzzHAIIcg53ntoJAQTpJFAM8xwCCHIOd57aCQEE8QLFKQTuCSDIPQ2+Q8AjgCAeEE4hcE8AQe5p8B0CHgEE8YBwCoF7AghyT6Psd3rvkACCdBg0hlyPAILUY82TOiSAIB0GjSHXI4Ag9VjzpA4JIEiHQXs9ZK6UIoAgpcjS7xAEEGSIMDKJUgQQpBRZ+h2CAIIMEUYmUYoAgpQiO0q/k88DQSZfAEx/nwCC7PPh7uQEEGTyBcD09wkgyD4f7k5OAEEmXwBnTr+HZyNID1FijKcRQBAP/e12e2vl2cqHUsUe+c5K7OddqfG4fmMHNEN9BPGifL1ev9ulN1Y+FizP1nfsR21Kjun/2AHNUB9BVqJsknyyy1qMdpji89nm/HmKmUZOEkE2gNmCkSTaTTZqDHP5m831/TCz+TWRbP8iyA5KWzh/2+2RJfluc/zH5shngwCCbIC5u6wFNKIkmhM7x12g174iyBqVu2v2f1gtpBFft97b3L7dTZWvKwQQZAWKf8kWkn7Aqvi3ej1HjsDIIUggKJNEu8gImS0yVoExV7XXgugqZZXAIoleuVbvd3CRjFVkkBAkEphJ0mtmi4xVZKxVHUFEIb70ltnSrkfGKj7OFwRJgGa7iBacfpPomNBD9Sb8KE9EjiCJ4EwSZbVUEnuo1gw5DqCuKsiBcTbZ1CTRLtJyZouM1cGVgyAHAS6StPiqRcbqYGzVHEFE4WAxSVrLbJGxOhhT1xxBHInjx1YyW9rNyFgdj+fPHhDkJ4bj/9guooWp3yQ6Hu8wvQd+lKeze9VyFEFeTeyMCyaJsloqZzxez0QOUchYECQjTHVlkmgXOSOzRcZKAchcECQzUHW3SFLzVYuMlcAXKAhSAKq6NElqZbbIWAl4oYIghcAu3ZbObGmXImO1wC5xQJCHVNMr2C6iBazfJDqmd7Tdkh/l22yy3EGQLBi3OzFJlNVS2a6Udgc50rhFtUKQKFxplU0S7SI5M1tkrNJCEd0KQaKRpTVYJMnxqkXGKi0ESa0QJAlbWiOT5Ghmi4xVGvrkVgiSjC654UtmK64L7T5krOKYHa6NIIcRxnVgu4gWun6T6BjTmB/lMbQy1UWQTCBjujFJlNVSCW2GHKGkMtdDkMxAQ7szSbSLhGS2yFiFQi1QD0EKQA3tcpFk71WLjFUozEL1EKQQ2NBuTZKtzNahjFXo86m3TwBB9vnUuutntrSrkLGqRX/nOQiyA6fWLdtFJIR+k+iox/KjXBQaKAjSQBA0BJNEWS0V5BCQRgqCNBIIDcMk+WRFkuiU0gABBGkgCJ0NYarhIshU4WaysQQQJJYY9acigCBThZvJxhJAkFhi1J+KAIJMFe7WJ9ve+BCkvZgwooYIIEhDwWAo7RFAkPZiwogaIoAgDQWDobRHAEHaiwkjKkEgsU8ESQRHszkIIMgccWaWiQQQJBEczeYggCBzxJlZJhJAkERwNJuDQIggc5BglhBYIZBNkNvt9kSBQStrYGWtJ13KJsjy9K92pFwuMDiXgS3DPJ/cguQZFb1AoBECCNJIIBhGmwROFqRNKIwKAo4AgjgSHCGwQgBBVqBwCQKOAII4EhwhsEIAQVagcAkCjsC4grgZcoTAAQIIcgAeTccngCDjx5gZHiCAIAfg0XR8ArkF0V9KolwuMDiXQTZzswlyvV71ByenKMy1/VjnMiSbILkGRD8QaIkAgrQUDcbSHAEEaS4kDKglAgjSUjQYS3MEEKStkDCaxgggSGMBYThtEUCQtuLBaBojgCCNBYThtEUAQdqKB6NpjACCNBaQcsOh5xQCCJJCjTbTEECQaULNRFMIIEgKNdpMQwBBpgk1E00hgCAp1GjzJ4GBzxBk4OAyteMEEOQ4Q3oYmACCNBTc2+32bOVDQ0OafigI0sgSMDGebCj/Wvlo39/akU8DBBCkgSAsQuiP7rjR/Ldcc+fTHs+eOIKcHIFFBO0c/ki+Lvf865xXJIAgFWFvPEpy6PXKv63XrA9I4mOpe44gdXn/8TRb/FtyuHrP9uWdFT4nEUCQk8CbHFr8Ko9GoB/tZLYeUSp0H0EKgd3r1uTQK5V2j71q9/ckiV657q/x/RiBoNYIEoQpXyWTQwv9PmMV2jmZrVBSGeshSEaYj7pa5IjZOfwuyWz5RAqfI0hhwF73kkOvV97l4FPtPmS2gnEdr4ggxxkG9WC7x1E53HP0w57MlqNR+IgghQGre5NDi1pFpzmKfrST2cpB8kEfaYI86JTbLwRMDr1Safd4uZjnmyTRK1ee3uhllQCCrGLJc9Hk0AJOyViFDoDMViipxHoIkgjuUbNFjhI7h/9oMls+kYznCJIRpteV5NDrlXc5+6l2KTJb2bH+6hBBfnHI+q/tHrXkcONWAoDMlqOR8dicIBnndkpXJocWq0rt5+tHO5mtzNQRJCNQk0OvVNo9MvYa1ZUk0StXVCMqbxNAkG02UXdMDi3Mkhmr0PGQ2QolFVAPQQIgPaqyyHHmzuEPkcyWTyTxHEESwXnNJIder7zLp51qNyOzlQH/TIJkwPW6C9s9WpPDDVKJAjJbjkbiEUESwamZyaFFqKLTFot+tJPZOhAZBEmEZ3LolUq7R2IP1ZpJEr1yVXvgSA9CkIRomhxacC1krEJHT2YrlJRXD0E8II9OFzl62Dn8qZDZ8okEnCNIACSviuTQ69Xd5S6+atcjsxUZKgSJAGa7R69yuFkqoUBmy9EIOCJIACRVMTm0uFR02nPRj3YyW4ERRJAAUCaHXqm0ewTU7qKKJNErVxeDPXOQCPKAvsmhhdRTxurBjH7fJrP1G8X2FwTZZnNZ5Dh359gZX4ZbZLYeQESQfUCSQ69X+7X6vavdkczWTvwQZAOO7R6jy+FmrsQDmS1HwzsiiAdEpyaHFo2KTmco+tFOZmsl0giyAsUuvbHysWD5bH3HftSm5JhixzNFfQRZCfP1ev10LVjskV+sxH6+5B6T31/sgGaojyAzRJk5JhNAkGR0NJyBAILMEGXmmEwAQZLR0XAGAggyQ5Trz3GYJyLIMKFkIiUIIEgJqvQ5DAEEGSaUTKQEAQQpQZU+hyGAIMOEcpaJ1J0ngtTlzdM6I4AgnQWM4dYlgCB1efO0zgggSGcBY7h1CSBIXd48rWUCK2NDkBUoXIKAI4AgjgRHCKwQQJAVKFyCgCOAII4ERwisEECQFShcgoAjkEsQ1x9HCAxFAEGGCieTyU0AQXITpb+hCCDIUOFkMrkJIEhuovQ3FIEOBBmKN5PpjACCdBYwhluXAILU5c3TOiOAIJ0FjOHWJYAgdXnztM4IzC1IZ8FiuPUJIEh95jyxIwII0lGwGGp9AghSnzlP7IgAgnQULIZanwCCFGJOt2MQ+AEAAP//U3PGlQAAAAZJREFUAwA3ILMm/jaVEAAAAABJRU5ErkJggg==", ts = new m.TextureLoader(), ns = ts.load(es);
1047
- class ss extends Se {
1045
+ default: $n
1046
+ }, Symbol.toStringTag, { value: "Module" })), to = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAKdUlEQVR4AeydbZrUKBRGq2YjOjvpWYntStSVjK5EdzLOSsr7arBLOkkBAcLHmacwlQQInMsZUvdP/3Xhv+oEbrfbk5XYz1P1gfLAC4KwCCCwQwBBduBwCwIIwhqAwA4BBNmBwy0IFBQEuBDonwCC9B9DZlCQAIIUhEvX/RNAkP5jyAwKEkCQgnDpun8CfQrSP3dm0AkBBOkkUAzzHAIIcg53ntoJAQTpJFAM8xwCCHIOd57aCQEE8QLFKQTuCSDIPQ2+Q8AjgCAeEE4hcE8AQe5p8B0CHgEE8YBwCoF7AghyT6Psd3rvkACCdBg0hlyPAILUY82TOiSAIB0GjSHXI4Ag9VjzpA4JIEiHQXs9ZK6UIoAgpcjS7xAEEGSIMDKJUgQQpBRZ+h2CAIIMEUYmUYoAgpQiO0q/k88DQSZfAEx/nwCC7PPh7uQEEGTyBcD09wkgyD4f7k5OAEEmXwBnTr+HZyNID1FijKcRQBAP/e12e2vl2cqHUsUe+c5K7OddqfG4fmMHNEN9BPGifL1ev9ulN1Y+FizP1nfsR21Kjun/2AHNUB9BVqJsknyyy1qMdpji89nm/HmKmUZOEkE2gNmCkSTaTTZqDHP5m831/TCz+TWRbP8iyA5KWzh/2+2RJfluc/zH5shngwCCbIC5u6wFNKIkmhM7x12g174iyBqVu2v2f1gtpBFft97b3L7dTZWvKwQQZAWKf8kWkn7Aqvi3ej1HjsDIIUggKJNEu8gImS0yVoExV7XXgugqZZXAIoleuVbvd3CRjFVkkBAkEphJ0mtmi4xVZKxVHUFEIb70ltnSrkfGKj7OFwRJgGa7iBacfpPomNBD9Sb8KE9EjiCJ4EwSZbVUEnuo1gw5DqCuKsiBcTbZ1CTRLtJyZouM1cGVgyAHAS6StPiqRcbqYGzVHEFE4WAxSVrLbJGxOhhT1xxBHInjx1YyW9rNyFgdj+fPHhDkJ4bj/9guooWp3yQ6Hu8wvQd+lKeze9VyFEFeTeyMCyaJsloqZzxez0QOUchYECQjTHVlkmgXOSOzRcZKAchcECQzUHW3SFLzVYuMlcAXKAhSAKq6NElqZbbIWAl4oYIghcAu3ZbObGmXImO1wC5xQJCHVNMr2C6iBazfJDqmd7Tdkh/l22yy3EGQLBi3OzFJlNVS2a6Udgc50rhFtUKQKFxplU0S7SI5M1tkrNJCEd0KQaKRpTVYJMnxqkXGKi0ESa0QJAlbWiOT5Ghmi4xVGvrkVgiSjC654UtmK64L7T5krOKYHa6NIIcRxnVgu4gWun6T6BjTmB/lMbQy1UWQTCBjujFJlNVSCW2GHKGkMtdDkMxAQ7szSbSLhGS2yFiFQi1QD0EKQA3tcpFk71WLjFUozEL1EKQQ2NBuTZKtzNahjFXo86m3TwBB9vnUuutntrSrkLGqRX/nOQiyA6fWLdtFJIR+k+iox/KjXBQaKAjSQBA0BJNEWS0V5BCQRgqCNBIIDcMk+WRFkuiU0gABBGkgCJ0NYarhIshU4WaysQQQJJYY9acigCBThZvJxhJAkFhi1J+KAIJMFe7WJ9ve+BCkvZgwooYIIEhDwWAo7RFAkPZiwogaIoAgDQWDobRHAEHaiwkjKkEgsU8ESQRHszkIIMgccWaWiQQQJBEczeYggCBzxJlZJhJAkERwNJuDQIggc5BglhBYIZBNkNvt9kSBQStrYGWtJ13KJsjy9K92pFwuMDiXgS3DPJ/cguQZFb1AoBECCNJIIBhGmwROFqRNKIwKAo4AgjgSHCGwQgBBVqBwCQKOAII4EhwhsEIAQVagcAkCjsC4grgZcoTAAQIIcgAeTccngCDjx5gZHiCAIAfg0XR8ArkF0V9KolwuMDiXQTZzswlyvV71ByenKMy1/VjnMiSbILkGRD8QaIkAgrQUDcbSHAEEaS4kDKglAgjSUjQYS3MEEKStkDCaxgggSGMBYThtEUCQtuLBaBojgCCNBYThtEUAQdqKB6NpjACCNBaQcsOh5xQCCJJCjTbTEECQaULNRFMIIEgKNdpMQwBBpgk1E00hgCAp1GjzJ4GBzxBk4OAyteMEEOQ4Q3oYmACCNBTc2+32bOVDQ0OafigI0sgSMDGebCj/Wvlo39/akU8DBBCkgSAsQuiP7rjR/Ldcc+fTHs+eOIKcHIFFBO0c/ki+Lvf865xXJIAgFWFvPEpy6PXKv63XrA9I4mOpe44gdXn/8TRb/FtyuHrP9uWdFT4nEUCQk8CbHFr8Ko9GoB/tZLYeUSp0H0EKgd3r1uTQK5V2j71q9/ckiV657q/x/RiBoNYIEoQpXyWTQwv9PmMV2jmZrVBSGeshSEaYj7pa5IjZOfwuyWz5RAqfI0hhwF73kkOvV97l4FPtPmS2gnEdr4ggxxkG9WC7x1E53HP0w57MlqNR+IgghQGre5NDi1pFpzmKfrST2cpB8kEfaYI86JTbLwRMDr1Safd4uZjnmyTRK1ee3uhllQCCrGLJc9Hk0AJOyViFDoDMViipxHoIkgjuUbNFjhI7h/9oMls+kYznCJIRpteV5NDrlXc5+6l2KTJb2bH+6hBBfnHI+q/tHrXkcONWAoDMlqOR8dicIBnndkpXJocWq0rt5+tHO5mtzNQRJCNQk0OvVNo9MvYa1ZUk0StXVCMqbxNAkG02UXdMDi3Mkhmr0PGQ2QolFVAPQQIgPaqyyHHmzuEPkcyWTyTxHEESwXnNJIder7zLp51qNyOzlQH/TIJkwPW6C9s9WpPDDVKJAjJbjkbiEUESwamZyaFFqKLTFot+tJPZOhAZBEmEZ3LolUq7R2IP1ZpJEr1yVXvgSA9CkIRomhxacC1krEJHT2YrlJRXD0E8II9OFzl62Dn8qZDZ8okEnCNIACSviuTQ69Xd5S6+atcjsxUZKgSJAGa7R69yuFkqoUBmy9EIOCJIACRVMTm0uFR02nPRj3YyW4ERRJAAUCaHXqm0ewTU7qKKJNErVxeDPXOQCPKAvsmhhdRTxurBjH7fJrP1G8X2FwTZZnNZ5Dh359gZX4ZbZLYeQESQfUCSQ69X+7X6vavdkczWTvwQZAOO7R6jy+FmrsQDmS1HwzsiiAdEpyaHFo2KTmco+tFOZmsl0giyAsUuvbHysWD5bH3HftSm5JhixzNFfQRZCfP1ev10LVjskV+sxH6+5B6T31/sgGaojyAzRJk5JhNAkGR0NJyBAILMEGXmmEwAQZLR0XAGAggyQ5Trz3GYJyLIMKFkIiUIIEgJqvQ5DAEEGSaUTKQEAQQpQZU+hyGAIMOEcpaJ1J0ngtTlzdM6I4AgnQWM4dYlgCB1efO0zgggSGcBY7h1CSBIXd48rWUCK2NDkBUoXIKAI4AgjgRHCKwQQJAVKFyCgCOAII4ERwisEECQFShcgoAjkEsQ1x9HCAxFAEGGCieTyU0AQXITpb+hCCDIUOFkMrkJIEhuovQ3FIEOBBmKN5PpjACCdBYwhluXAILU5c3TOiOAIJ0FjOHWJYAgdXnztM4IzC1IZ8FiuPUJIEh95jyxIwII0lGwGGp9AghSnzlP7IgAgnQULIZanwCCFGJOt2MQ+AEAAP//U3PGlQAAAAZJREFUAwA3ILMm/jaVEAAAAABJRU5ErkJggg==", no = new u.TextureLoader(), oo = no.load(to);
1047
+ class so extends Ae {
1048
1048
  static name = "RenderManager";
1049
- container = new m.Group();
1049
+ container = new u.Group();
1050
1050
  lines = [];
1051
- pointVirtualGrid = new Ke();
1052
- quadtree = new ze(new Ye());
1053
- verticalReferenceLineFlag = new m.Mesh(new m.PlaneGeometry(0.3, 0.3), new m.MeshBasicMaterial({ map: ns, color: 58111, transparent: !0 }));
1051
+ pointVirtualGrid = new ze();
1052
+ quadtree = new Fe(new Ye());
1053
+ verticalReferenceLineFlag = new u.Mesh(new u.PlaneGeometry(0.3, 0.3), new u.MeshBasicMaterial({ map: oo, color: 58111, transparent: !0 }));
1054
1054
  onAddFromParent() {
1055
1055
  const e = this.dxfLineModel;
1056
- this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new m.LineBasicMaterial({
1056
+ this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new u.LineBasicMaterial({
1057
1057
  transparent: !0,
1058
1058
  opacity: 0.5,
1059
1059
  color: 16777215
@@ -1070,9 +1070,9 @@ class ss extends Se {
1070
1070
  return;
1071
1071
  } else
1072
1072
  this.updatedMode = "dxf";
1073
- this.pointVirtualGrid = new Ke();
1073
+ this.pointVirtualGrid = new ze();
1074
1074
  const e = this.dxf.box.clone().expansion(Math.max(this.dxf.box.width, this.dxf.box.height) * 2);
1075
- (e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new ze(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
1075
+ (e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new Fe(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
1076
1076
  t.userData.isDoor || this.addLine(t.clone());
1077
1077
  }), this.dxf.doorLineSegment.forEach((t) => {
1078
1078
  const n = t.clone();
@@ -1101,11 +1101,11 @@ class ss extends Se {
1101
1101
  for (let t = 0; t < e.length; t++) {
1102
1102
  const n = e[t];
1103
1103
  this.lines.push(n), this.pointVirtualGrid.insert(n.start, n), this.pointVirtualGrid.insert(n.end, n);
1104
- const s = {
1104
+ const o = {
1105
1105
  line: n,
1106
1106
  userData: void 0
1107
1107
  };
1108
- n.userData.quadtreeNode = s, this.quadtree.insert(s);
1108
+ n.userData.quadtreeNode = o, this.quadtree.insert(o);
1109
1109
  }
1110
1110
  }
1111
1111
  /** 移除线段
@@ -1124,8 +1124,8 @@ class ss extends Se {
1124
1124
  for (let t = 0; t < e.length; t++) {
1125
1125
  const n = e[t];
1126
1126
  n.userData.quadtreeNode && this.quadtree.remove(n.userData.quadtreeNode), this.pointVirtualGrid.remove(n.start), this.pointVirtualGrid.remove(n.end);
1127
- const s = this.lines.indexOf(n);
1128
- this.lines.splice(s, 1);
1127
+ const o = this.lines.indexOf(n);
1128
+ this.lines.splice(o, 1);
1129
1129
  }
1130
1130
  this.draw();
1131
1131
  }
@@ -1134,15 +1134,15 @@ class ss extends Se {
1134
1134
  */
1135
1135
  draw(e = !0) {
1136
1136
  this.container.clear();
1137
- const t = [], n = [], s = [];
1138
- this.lines.forEach((o) => {
1139
- if (o.points.forEach((a) => {
1140
- o.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
1141
- }), o.userData.isWindow && o.userData.drawWindow && o.userData.drawWindow.forEach(({ width: a, p: c }) => {
1142
- const d = _.from(c), i = o.direction(), r = d.clone().add(i.clone().multiplyScalar(a * 0.5)), h = d.clone().add(i.clone().multiplyScalar(-a * 0.5));
1143
- s.push(r.x, r.y, 1e-3), s.push(h.x, h.y, 1e-3);
1144
- }), o.userData.isVerticalReferenceLine) {
1145
- const a = o.center;
1137
+ const t = [], n = [], o = [];
1138
+ this.lines.forEach((s) => {
1139
+ if (s.points.forEach((a) => {
1140
+ s.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
1141
+ }), s.userData.isWindow && s.userData.drawWindow && s.userData.drawWindow.forEach(({ width: a, p: l }) => {
1142
+ const r = M.from(l), i = s.direction(), c = r.clone().add(i.clone().multiplyScalar(a * 0.5)), m = r.clone().add(i.clone().multiplyScalar(-a * 0.5));
1143
+ o.push(c.x, c.y, 1e-3), o.push(m.x, m.y, 1e-3);
1144
+ }), s.userData.isVerticalReferenceLine) {
1145
+ const a = s.center;
1146
1146
  this.verticalReferenceLineFlag.position.set(a.x, a.y, 0), this.container.add(this.verticalReferenceLineFlag);
1147
1147
  }
1148
1148
  }), t.length && this.renderer.createLineSegments({
@@ -1153,9 +1153,9 @@ class ss extends Se {
1153
1153
  position: n
1154
1154
  }, n.length / 3, {
1155
1155
  color: 16776960
1156
- }, this.container), s.length && this.renderer.createLineSegments({
1157
- position: s
1158
- }, s.length / 3, {
1156
+ }, this.container), o.length && this.renderer.createLineSegments({
1157
+ position: o
1158
+ }, o.length / 3, {
1159
1159
  color: 16711935
1160
1160
  }, this.container), e && this.synchronizeDxf();
1161
1161
  }
@@ -1164,25 +1164,32 @@ class ss extends Se {
1164
1164
  * @returns
1165
1165
  */
1166
1166
  adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
1167
- const s = this.parent?.findComponentByName("Editor"), o = _.from(s.pointerPosition), a = t.queryCircle(o, e).sort((d, i) => d.point.distance(o) - i.point.distance(o));
1168
- if (a.length) return {
1169
- point: new m.Vector3(a[0].point.x, a[0].point.y, 0),
1170
- find: !0,
1171
- mode: "point",
1172
- line: a[0].userData
1173
- };
1174
- let c = n.queryCircle(o, e);
1175
- if (c.length) {
1176
- let d = c.map((i) => i.line.projectPoint(o));
1177
- return d.sort((i, r) => i && r ? i.distance(o) - r.distance(o) : 0), c = c.filter((i, r) => !!d[r]), d = d.filter((i, r) => !!d[r]), {
1178
- point: new m.Vector3(d[0].x, d[0].y, 0),
1179
- find: !0,
1180
- mode: "line",
1181
- line: c[0].line
1182
- };
1167
+ const o = this.parent?.findComponentByName("Editor"), s = M.from(o.pointerPosition);
1168
+ let a = n.queryCircle(s, e);
1169
+ if (a.length) {
1170
+ let l = a.map((r) => r.line.projectPoint(s));
1171
+ if (a = a.filter((r, i) => !!l[i]), l = l.filter((r, i) => !!l[i]), l.sort((r, i) => r && i ? r.distance(s) - i.distance(s) : 0), l.length) {
1172
+ const r = a[0].line, i = l[0];
1173
+ return r.start.distance(s) < e * 1.5 ? {
1174
+ point: new u.Vector3(r.start.x, r.start.y, 0),
1175
+ find: !0,
1176
+ mode: "point",
1177
+ line: r
1178
+ } : r.end.distance(s) < e * 1.5 ? {
1179
+ point: new u.Vector3(r.end.x, r.end.y, 0),
1180
+ find: !0,
1181
+ mode: "point",
1182
+ line: r
1183
+ } : {
1184
+ point: new u.Vector3(i.x, i.y, 0),
1185
+ find: !0,
1186
+ mode: "line",
1187
+ line: r
1188
+ };
1189
+ }
1183
1190
  }
1184
1191
  return {
1185
- point: new m.Vector3(s.pointerPosition.x, s.pointerPosition.y, 0),
1192
+ point: new u.Vector3(o.pointerPosition.x, o.pointerPosition.y, 0),
1186
1193
  find: !1
1187
1194
  };
1188
1195
  }
@@ -1190,9 +1197,9 @@ class ss extends Se {
1190
1197
  * @param rectangle
1191
1198
  */
1192
1199
  createGeometry(e, t) {
1193
- const n = new m.BufferGeometry();
1194
- return Object.keys(e).forEach((s) => {
1195
- n.setAttribute("position", new m.BufferAttribute(new Float32Array(e[s]), e[s].length / t));
1200
+ const n = new u.BufferGeometry();
1201
+ return Object.keys(e).forEach((o) => {
1202
+ n.setAttribute("position", new u.BufferAttribute(new Float32Array(e[o]), e[o].length / t));
1196
1203
  }), n;
1197
1204
  }
1198
1205
  /**
@@ -1200,21 +1207,21 @@ class ss extends Se {
1200
1207
  */
1201
1208
  toJson() {
1202
1209
  return this.lines.map((e) => {
1203
- const t = e.userData, n = t.drawWindow, s = this.quadtree.queryLineSegment(e).filter((o) => o.line !== e && !o.userData?.isDoor).map((o) => ({ index: this.lines.indexOf(o.line) }));
1210
+ const t = e.userData, n = t.drawWindow, o = this.quadtree.queryLineSegment(e).filter((s) => s.line !== e && !s.userData?.isDoor).map((s) => ({ index: this.lines.indexOf(s.line) }));
1204
1211
  return {
1205
1212
  start: e.start.toJson(this.dxf.originalZAverage),
1206
1213
  end: e.end.toJson(this.dxf.originalZAverage),
1207
- insetionArr: s,
1214
+ insetionArr: o,
1208
1215
  isDoor: t.isDoor,
1209
1216
  doorDirectConnection: t.isDoor,
1210
1217
  length: e.length(),
1211
1218
  isWindow: t.isWindow,
1212
1219
  isVerticalReferenceLine: t.isVerticalReferenceLine,
1213
1220
  wallWidth: e.userData.wallWidth,
1214
- drawWindow: n && n.map((o) => ({
1215
- p: { x: o.p.x, y: o.p.y, z: o.p.z },
1216
- width: o.width,
1217
- full: o.full
1221
+ drawWindow: n && n.map((s) => ({
1222
+ p: { x: s.p.x, y: s.p.y, z: s.p.z },
1223
+ width: s.width,
1224
+ full: s.full
1218
1225
  }))
1219
1226
  };
1220
1227
  });
@@ -1255,55 +1262,55 @@ class ss extends Se {
1255
1262
  return this.parent?.findComponentByName("DxfLineModel");
1256
1263
  }
1257
1264
  }
1258
- class os extends O {
1265
+ class ao extends O {
1259
1266
  static name = "DrawDoorLine";
1260
- container = new m.Group();
1267
+ container = new u.Group();
1261
1268
  interruptKeys = ["escape"];
1262
1269
  shortcutKeys = ["control", "m"];
1263
1270
  commandName = "draw-door-line";
1264
1271
  onAddFromParent(e) {
1265
1272
  super.onAddFromParent(e);
1266
- const t = e.findComponentByName("Editor"), n = t.eventInput, s = t.commandManager;
1273
+ const t = e.findComponentByName("Editor"), n = t.eventInput, o = t.commandManager;
1267
1274
  this.editor.container.add(this.container);
1268
- const o = this.commandManager.addCommandFlow("draw-door-line").add(this.createInterrupt()).add(this.createCursor("no-drop")).add(this.selectPoint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1269
- n.addKeyCombination(this.commandName, this.shortcutKeys), o.addEventListener("finally", this.createFinally()), o.addEventListener("completed", (a) => this.completed(a.data)), n.addCancelDefaultBehavior(() => n.isOnlyKeyDowns(this.shortcutKeys)), n.addEventListener("codeChange", async () => {
1270
- n.isKeyCombination(this.commandName) && await s.start(this.commandName);
1275
+ const s = this.commandManager.addCommandFlow("draw-door-line").add(this.createInterrupt()).add(this.createCursor("no-drop")).add(this.selectPoint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1276
+ n.addKeyCombination(this.commandName, this.shortcutKeys), s.addEventListener("finally", this.createFinally()), s.addEventListener("completed", (a) => this.completed(a.data)), n.addCancelDefaultBehavior(() => n.isOnlyKeyDowns(this.shortcutKeys)), n.addEventListener("codeChange", async () => {
1277
+ n.isKeyCombination(this.commandName) && await o.start(this.commandName);
1271
1278
  });
1272
1279
  }
1273
1280
  /** 选择点
1274
1281
  * @param next
1275
1282
  */
1276
1283
  selectPoint(e) {
1277
- let t = this.parent?.findComponentByName("Editor"), n = null, s = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), o = new we([], 16711935), a = new we([
1278
- new m.Vector3(-1e4, 0, 0),
1279
- new m.Vector3(1e4, 0, 0),
1280
- new m.Vector3(0, -1e4, 0),
1281
- new m.Vector3(0, 1e4, 0)
1284
+ let t = this.parent?.findComponentByName("Editor"), n = null, o = this.renderer.createCircle(M.zero(), { color: 65280 }), s = new ye([], 16711935), a = new ye([
1285
+ new u.Vector3(-1e4, 0, 0),
1286
+ new u.Vector3(1e4, 0, 0),
1287
+ new u.Vector3(0, -1e4, 0),
1288
+ new u.Vector3(0, 1e4, 0)
1282
1289
  ], 16711935);
1283
- a.material = new m.LineDashedMaterial({
1290
+ a.material = new u.LineDashedMaterial({
1284
1291
  color: 4235007,
1285
1292
  dashSize: 0.1,
1286
1293
  gapSize: 0.1,
1287
1294
  linewidth: 0.1
1288
- }), this.container.add(o);
1289
- let c = null;
1295
+ }), this.container.add(s);
1296
+ let l = null;
1290
1297
  this.addEventRecord(
1291
1298
  "clear",
1292
1299
  t.addEventListener("pointerPositionChange", () => {
1293
- const { point: d, find: i } = t.renderManager.adsorption();
1294
- n && o.setPoint(n, d), this.dispatchEvent({ type: "pointerMove", point: d }), i ? (s.position.set(d.x, d.y, 0), this.container.add(s), this.domElement.style.cursor = "none", c = d.clone()) : (c = null, s.removeFromParent(), this.domElement.style.cursor = "no-drop");
1300
+ const { point: r, find: i } = t.renderManager.adsorption();
1301
+ n && s.setPoint(n, r), this.dispatchEvent({ type: "pointerMove", point: r }), i ? (o.position.set(r.x, r.y, 0), this.container.add(o), this.domElement.style.cursor = "none", l = r.clone()) : (l = null, o.removeFromParent(), this.domElement.style.cursor = "no-drop");
1295
1302
  }),
1296
1303
  t.eventInput.addEventListener("codeChange", async () => {
1297
- if (t.eventInput.isKeyDown("mouse_0") && c) {
1304
+ if (t.eventInput.isKeyDown("mouse_0") && l) {
1298
1305
  if (!n) {
1299
- n = c.clone();
1306
+ n = l.clone();
1300
1307
  return;
1301
1308
  }
1302
- e([n.clone(), c.clone()]);
1309
+ e([n.clone(), l.clone()]);
1303
1310
  }
1304
1311
  }),
1305
1312
  function() {
1306
- o.removeFromParent(), s.removeFromParent(), a.removeFromParent();
1313
+ s.removeFromParent(), o.removeFromParent(), a.removeFromParent();
1307
1314
  }
1308
1315
  );
1309
1316
  }
@@ -1314,23 +1321,23 @@ class os extends O {
1314
1321
  */
1315
1322
  end(e, t) {
1316
1323
  const n = [];
1317
- for (let s = 0; s < t.length; s += 2) {
1318
- const o = _.from(t[s]), a = _.from(t[s + 1]), c = this.renderManager.quadtree.queryCircle(o, 1e-3)[0].line, d = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
1324
+ for (let o = 0; o < t.length; o += 2) {
1325
+ const s = M.from(t[o]), a = M.from(t[o + 1]), l = this.renderManager.quadtree.queryCircle(s, 1e-3)[0].line, r = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
1319
1326
  let i = null;
1320
- c === d && (i = {
1321
- oldLine: c,
1322
- newLine1: new B(
1323
- c.start,
1324
- c.start.distance(o) < c.start.distance(a) ? o.clone() : a.clone()
1327
+ l === r && (i = {
1328
+ oldLine: l,
1329
+ newLine1: new N(
1330
+ l.start,
1331
+ l.start.distance(s) < l.start.distance(a) ? s.clone() : a.clone()
1325
1332
  ),
1326
- newLine2: new B(
1327
- c.end,
1328
- c.end.distance(o) < c.end.distance(a) ? o.clone() : a.clone()
1333
+ newLine2: new N(
1334
+ l.end,
1335
+ l.end.distance(s) < l.end.distance(a) ? s.clone() : a.clone()
1329
1336
  )
1330
1337
  });
1331
- const r = new B(o, a);
1332
- r.userData.isDoor = !0, r.userData.doorDirectConnection = !0, n.push({
1333
- line: r,
1338
+ const c = new N(s, a);
1339
+ c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
1340
+ line: c,
1334
1341
  option: i
1335
1342
  });
1336
1343
  }
@@ -1341,7 +1348,7 @@ class os extends O {
1341
1348
  completed(e) {
1342
1349
  e.forEach(({ line: t, option: n }) => {
1343
1350
  this.renderManager.addLine(t), n && (this.renderManager.removeLine(n.oldLine), this.renderManager.addLines([n.newLine1, n.newLine2]));
1344
- }), this.renderManager.draw();
1351
+ }), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
1345
1352
  }
1346
1353
  /** 回滚操作
1347
1354
  * @param data
@@ -1359,9 +1366,9 @@ class os extends O {
1359
1366
  return this.completed(e), e;
1360
1367
  }
1361
1368
  }
1362
- class as extends O {
1369
+ class io extends O {
1363
1370
  static name = "DrawWindow";
1364
- container = new m.Group();
1371
+ container = new u.Group();
1365
1372
  interruptKeys = ["escape"];
1366
1373
  shortcutKeys = ["control", "q"];
1367
1374
  commandName = "draw-window-line";
@@ -1374,24 +1381,24 @@ class as extends O {
1374
1381
  * @param next
1375
1382
  */
1376
1383
  selectPointStart(e) {
1377
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), s = null;
1384
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
1378
1385
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
1379
- const { point: o, line: a, find: c } = this.editor.renderManager.adsorption();
1380
- this.dispatchEvent({ type: "pointerMove", point: o }), c ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
1386
+ const { point: s, line: a, find: l } = this.editor.renderManager.adsorption();
1387
+ this.dispatchEvent({ type: "pointerMove", point: s }), l ? (this.domElement.style.cursor = "none", n.position.copy(s), o = a, t = s.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
1381
1388
  })).add(this.eventInput.addEventListener("codeChange", () => {
1382
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
1389
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
1383
1390
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
1384
1391
  }
1385
1392
  /** 选择结束点
1386
1393
  * @param next
1387
1394
  */
1388
1395
  selectPointEnd(e, { point: t, line: n }) {
1389
- let s = null, o = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
1390
- this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1391
- const { point: a, find: c, line: d } = this.editor.renderManager.adsorption();
1392
- this.dispatchEvent({ type: "pointerMove", point: a }), c && d === n ? (this.domElement.style.cursor = "none", o.position.copy(a), s = a.clone(), this.container.add(o)) : (this.domElement.style.cursor = "no-drop", s = null, o.removeFromParent());
1396
+ let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
1397
+ this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1398
+ const { point: a, find: l, line: r } = this.editor.renderManager.adsorption();
1399
+ this.dispatchEvent({ type: "pointerMove", point: a }), l && r === n ? (this.domElement.style.cursor = "none", s.position.copy(a), o = a.clone(), this.container.add(s)) : (this.domElement.style.cursor = "no-drop", o = null, s.removeFromParent());
1393
1400
  })).add(this.eventInput.addEventListener("codeChange", () => {
1394
- this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
1401
+ this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
1395
1402
  }));
1396
1403
  }
1397
1404
  /**
@@ -1399,18 +1406,18 @@ class as extends O {
1399
1406
  * @param next
1400
1407
  * @param points
1401
1408
  */
1402
- end(e, { start: t, end: n, line: s }) {
1403
- const o = new B(_.from(t), _.from(n)), a = o.center, c = o.length(), d = {
1404
- p: new m.Vector3(a.x, a.y, 0),
1405
- width: c,
1406
- full: Math.abs(c - s.length()) < 0.01
1409
+ end(e, { start: t, end: n, line: o }) {
1410
+ const s = new N(M.from(t), M.from(n)), a = s.center, l = s.length(), r = {
1411
+ p: new u.Vector3(a.x, a.y, 0),
1412
+ width: l,
1413
+ full: Math.abs(l - o.length()) < 0.01
1407
1414
  };
1408
- e({ line: s, doorDataItem: d });
1415
+ e({ line: o, doorDataItem: r });
1409
1416
  }
1410
1417
  /** 执行完成
1411
1418
  */
1412
1419
  completed({ doorDataItem: e, line: t }) {
1413
- t.userData.isWindow = !0, t.userData.drawWindow || (t.userData.drawWindow = []), t.userData.drawWindow.push(e), this.renderManager.draw();
1420
+ t.userData.isWindow = !0, t.userData.drawWindow || (t.userData.drawWindow = []), t.userData.drawWindow.push(e), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
1414
1421
  }
1415
1422
  /** 回滚操作
1416
1423
  * @param data
@@ -1418,8 +1425,8 @@ class as extends O {
1418
1425
  rollback(e) {
1419
1426
  const { doorDataItem: t, line: n } = e;
1420
1427
  if (n.userData.drawWindow) {
1421
- const s = n.userData.drawWindow.indexOf(t);
1422
- s !== -1 && (n.userData.drawWindow.splice(s, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
1428
+ const o = n.userData.drawWindow.indexOf(t);
1429
+ o !== -1 && (n.userData.drawWindow.splice(o, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
1423
1430
  }
1424
1431
  return e;
1425
1432
  }
@@ -1433,7 +1440,7 @@ class as extends O {
1433
1440
  }
1434
1441
  class le extends O {
1435
1442
  static name = "VerticalCorrection";
1436
- container = new m.Group();
1443
+ container = new u.Group();
1437
1444
  shortcutKeys = ["control", "c"];
1438
1445
  shortcutKeys3 = ["shift", "c"];
1439
1446
  static commandName = "verticalCorrection";
@@ -1449,7 +1456,7 @@ class le extends O {
1449
1456
  * 进入命令约束
1450
1457
  */
1451
1458
  constraint(e, t) {
1452
- Array.isArray(t) ? t.length !== 1 ? (L({ message: "请选择一条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1459
+ Array.isArray(t) ? t.length !== 1 ? (k({ message: "请选择一条线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1453
1460
  }
1454
1461
  /**
1455
1462
  * @param line0
@@ -1467,46 +1474,46 @@ class le extends O {
1467
1474
  * @param id
1468
1475
  * @returns
1469
1476
  */
1470
- setLinePoint(e, t, n, s = "all", o = [], a = At()) {
1477
+ setLinePoint(e, t, n, o = "all", s = [], a = At()) {
1471
1478
  if (e.userData.setLinePointUUid === a) return [];
1472
1479
  e.userData.setLinePointUUid = a;
1473
- let c = [], d = [];
1474
- (s === "start" || s === "all") && (c = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((y) => y.userData !== e)), (s === "end" || s === "all") && (d = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((y) => y.userData !== e));
1480
+ let l = [], r = [];
1481
+ (o === "start" || o === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((y) => y.userData !== e)), (o === "end" || o === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((y) => y.userData !== e));
1475
1482
  const i = e.clone();
1476
- let r = "";
1477
- t && (e.start.equal(t) || (r = "start"), o.push({
1483
+ let c = "";
1484
+ t && (e.start.equal(t) || (c = "start"), s.push({
1478
1485
  point: e.start,
1479
1486
  oldPoint: e.start.clone(),
1480
1487
  newPoint: t,
1481
1488
  line: e
1482
- }), e.start.copy(t)), n && (e.end.equal(n) || (r = r === "start" ? "all" : "end"), o.push({
1489
+ }), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), s.push({
1483
1490
  point: e.end,
1484
1491
  oldPoint: e.end.clone(),
1485
1492
  newPoint: n,
1486
1493
  line: e
1487
1494
  }), e.end.copy(n));
1488
- const h = (y, f, p) => {
1489
- y.forEach((u) => {
1490
- const { point: E, userData: x } = u, k = x.start === E ? "start" : "end";
1495
+ const m = (y, f, g) => {
1496
+ y.forEach((h) => {
1497
+ const { point: E, userData: x } = h, I = x.start === E ? "start" : "end";
1491
1498
  if (x.directionEqual(i))
1492
- if (k === "start") {
1493
- const z = e.projectPoint(x.end, !1);
1494
- if (z) return this.setLinePoint(x, f, z, "end", o, a);
1499
+ if (I === "start") {
1500
+ const K = e.projectPoint(x.end, !1);
1501
+ if (K) return this.setLinePoint(x, f, K, "end", s, a);
1495
1502
  } else {
1496
- const z = e.projectPoint(x.start, !1);
1497
- if (z) return this.setLinePoint(x, z, f, "start", o, a);
1503
+ const K = e.projectPoint(x.start, !1);
1504
+ if (K) return this.setLinePoint(x, K, f, "start", s, a);
1498
1505
  }
1499
- (r === "all" || p === r) && this.setLinePoint(
1506
+ (c === "all" || g === c) && this.setLinePoint(
1500
1507
  x,
1501
1508
  x.start === E ? f : x.start,
1502
1509
  x.end === E ? f : x.end,
1503
1510
  x.start === E ? "end" : "start",
1504
- o,
1511
+ s,
1505
1512
  a
1506
1513
  );
1507
1514
  });
1508
1515
  };
1509
- return h(c, e.start, "start"), h(d, e.end, "end"), [...c, ...d];
1516
+ return m(l, e.start, "start"), m(r, e.end, "end"), [...l, ...r];
1510
1517
  }
1511
1518
  /** 修正2
1512
1519
  * 第一步:确定需要修复的线段
@@ -1520,72 +1527,72 @@ class le extends O {
1520
1527
  */
1521
1528
  correction(e, t = [], n = /* @__PURE__ */ new Set()) {
1522
1529
  n.add(e);
1523
- const s = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: i }) => !(i === e || i.userData.isDoor || n.has(i))).map((i) => i.line), o = e.direction(), [a, c] = s.reduce((i, r) => {
1524
- const [h, y] = i;
1525
- return r.sameEndpoint(e) ? h.push(r) : y.push(r), i;
1530
+ const o = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: i }) => !(i === e || i.userData.isDoor || n.has(i))).map((i) => i.line), s = e.direction(), [a, l] = o.reduce((i, c) => {
1531
+ const [m, y] = i;
1532
+ return c.sameEndpoint(e) ? m.push(c) : y.push(c), i;
1526
1533
  }, [[], []]);
1527
1534
  a.forEach((i) => {
1528
- const r = i.direction(), h = o.angleBetween(r, "angle");
1529
- if (Math.abs(90 - h) > 45) return !1;
1530
- const f = e.sameEndpointAsStart(i) ? e.start : e.end, p = i.sameEndpointAsStart(e) ? i.end : i.start, u = new B(
1531
- p.clone().add(o.clone().multiplyScalar(1)),
1532
- p.clone().add(o.clone().multiplyScalar(-1))
1533
- ), E = u.projectPoint(f, !1);
1535
+ const c = i.direction(), m = s.angleBetween(c, "angle");
1536
+ if (Math.abs(90 - m) > 45) return !1;
1537
+ const f = e.sameEndpointAsStart(i) ? e.start : e.end, g = i.sameEndpointAsStart(e) ? i.end : i.start, h = new N(
1538
+ g.clone().add(s.clone().multiplyScalar(1)),
1539
+ g.clone().add(s.clone().multiplyScalar(-1))
1540
+ ), E = h.projectPoint(f, !1);
1534
1541
  if (E) {
1535
1542
  const x = [];
1536
1543
  this.setLinePoint(
1537
1544
  i,
1538
- i.start === p ? E : i.start,
1539
- i.end === p ? E : i.end,
1540
- i.start === p ? "start" : "end",
1545
+ i.start === g ? E : i.start,
1546
+ i.end === g ? E : i.end,
1547
+ i.start === g ? "start" : "end",
1541
1548
  x
1542
1549
  ), t.push(x);
1543
1550
  }
1544
1551
  return n.add(i), !1;
1545
- }), o.copy(e.direction());
1546
- const d = (i, r, h) => {
1547
- const y = e.projectPoint(r);
1552
+ }), s.copy(e.direction());
1553
+ const r = (i, c, m) => {
1554
+ const y = e.projectPoint(c);
1548
1555
  if (y) i.copy(y);
1549
1556
  else {
1550
- const f = new B(
1551
- r.clone().add(o.clone().multiplyScalar(1)),
1552
- r.clone().add(o.clone().multiplyScalar(-1))
1553
- ), p = f.projectPoint(i, !1);
1554
- if (p) {
1555
- const u = [];
1557
+ const f = new N(
1558
+ c.clone().add(s.clone().multiplyScalar(1)),
1559
+ c.clone().add(s.clone().multiplyScalar(-1))
1560
+ ), g = f.projectPoint(i, !1);
1561
+ if (g) {
1562
+ const h = [];
1556
1563
  this.setLinePoint(
1557
- h,
1558
- h.start === r ? p : h.start,
1559
- h.end === r ? p : h.end,
1560
- h.start === r ? "start" : "end",
1561
- u
1562
- ), t.push(u);
1564
+ m,
1565
+ m.start === c ? g : m.start,
1566
+ m.end === c ? g : m.end,
1567
+ m.start === c ? "start" : "end",
1568
+ h
1569
+ ), t.push(h);
1563
1570
  }
1564
1571
  }
1565
1572
  };
1566
- return c.forEach((i) => {
1573
+ return l.forEach((i) => {
1567
1574
  if (e.containsPoint(i.start))
1568
- d(i.start, i.end, i);
1575
+ r(i.start, i.end, i);
1569
1576
  else if (e.containsPoint(i.end))
1570
- d(i.end, i.start, i);
1577
+ r(i.end, i.start, i);
1571
1578
  else {
1572
- const r = e.getIntersection(i);
1573
- if (r) {
1574
- const h = new B(
1575
- i.start.clone().add(o.clone().multiplyScalar(1)),
1576
- i.start.clone().add(o.clone().multiplyScalar(-1))
1577
- ), y = h.projectPoint(r, !1);
1579
+ const c = e.getIntersection(i);
1580
+ if (c) {
1581
+ const m = new N(
1582
+ i.start.clone().add(s.clone().multiplyScalar(1)),
1583
+ i.start.clone().add(s.clone().multiplyScalar(-1))
1584
+ ), y = m.projectPoint(c, !1);
1578
1585
  if (y) {
1579
- const u = [];
1580
- this.setLinePoint(i, y, i.end, "start", u), t.push(u);
1586
+ const h = [];
1587
+ this.setLinePoint(i, y, i.end, "start", h), t.push(h);
1581
1588
  }
1582
- const f = new B(
1583
- i.end.clone().add(o.clone().multiplyScalar(1)),
1584
- i.end.clone().add(o.clone().multiplyScalar(-1))
1585
- ), p = f.projectPoint(r, !1);
1586
- if (p) {
1587
- const u = [];
1588
- this.setLinePoint(i, i.start, p, "end", u), t.push(u);
1589
+ const f = new N(
1590
+ i.end.clone().add(s.clone().multiplyScalar(1)),
1591
+ i.end.clone().add(s.clone().multiplyScalar(-1))
1592
+ ), g = f.projectPoint(c, !1);
1593
+ if (g) {
1594
+ const h = [];
1595
+ this.setLinePoint(i, i.start, g, "end", h), t.push(h);
1589
1596
  }
1590
1597
  }
1591
1598
  }
@@ -1597,7 +1604,7 @@ class le extends O {
1597
1604
  */
1598
1605
  axisAlignmentCorrection(e) {
1599
1606
  const t = [...this.renderManager.lines];
1600
- return { newLines: ke.axisAlignmentCorrection.call(this, t, e), oldLines: t };
1607
+ return { newLines: _t.correction.call(this, t, e), oldLines: t };
1601
1608
  }
1602
1609
  /** 开始
1603
1610
  * @param next
@@ -1613,11 +1620,11 @@ class le extends O {
1613
1620
  if (Array.isArray(e)) {
1614
1621
  const t = [];
1615
1622
  e.forEach((n) => {
1616
- n.forEach((s) => {
1617
- const { line: o, newPoint: a, point: c } = s;
1618
- c.copy(a), this.renderManager.removeLine(o), this.renderManager.addLine(o), o.userData.isWindow && t.push(o);
1623
+ n.forEach((o) => {
1624
+ const { line: s, newPoint: a, point: l } = o;
1625
+ l.copy(a), this.renderManager.removeLine(s), this.renderManager.addLine(s), s.userData.isWindow && t.push(s);
1619
1626
  });
1620
- }), ke.recomputedWindow(...t);
1627
+ }), Ke(...t);
1621
1628
  } else
1622
1629
  this.renderManager.removeLines(e.oldLines), this.renderManager.addLines(e.newLines);
1623
1630
  this.renderManager.draw();
@@ -1629,13 +1636,13 @@ class le extends O {
1629
1636
  if (Array.isArray(e)) {
1630
1637
  const t = [];
1631
1638
  for (let n = e.length - 1; n >= 0; n--) {
1632
- const s = e[n];
1633
- for (let o = s.length - 1; o >= 0; o--) {
1634
- const a = s[o], { line: c, oldPoint: d, point: i } = a;
1635
- i.copy(d), this.renderManager.removeLine(c), this.renderManager.addLine(c), c.userData.isWindow && t.push(c);
1639
+ const o = e[n];
1640
+ for (let s = o.length - 1; s >= 0; s--) {
1641
+ const a = o[s], { line: l, oldPoint: r, point: i } = a;
1642
+ i.copy(r), this.renderManager.removeLine(l), this.renderManager.addLine(l), l.userData.isWindow && t.push(l);
1636
1643
  }
1637
1644
  }
1638
- ke.recomputedWindow(...t);
1645
+ Ke(...t);
1639
1646
  } else
1640
1647
  this.renderManager.removeLines(e.newLines), this.renderManager.addLines(e.oldLines);
1641
1648
  return this.renderManager.draw(), e;
@@ -1663,16 +1670,16 @@ class $ extends O {
1663
1670
  * 进入命令约束
1664
1671
  */
1665
1672
  constraint(e, t) {
1666
- Array.isArray(t) ? t.length < 2 ? (L({ message: "未执行线段合并,请选择至少两条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1673
+ Array.isArray(t) ? t.length < 2 ? (k({ message: "未执行线段合并,请选择至少两条线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1667
1674
  }
1668
1675
  /** 开始
1669
1676
  * @param next
1670
1677
  * @todo 合并所有
1671
1678
  */
1672
1679
  mergeLines(e, t) {
1673
- t = t.filter((o) => !o.userData.isDoor);
1674
- const { newLines: n, deleteLines: s } = B.autoMergeLines(t);
1675
- n.length ? (e({ newLines: n, deleteLines: s }), L({ message: "已合并", type: "success" })) : (L({ message: "合并失败,未找到共用点", type: "warning" }), this.commandManager.cancel());
1680
+ t = t.filter((s) => !s.userData.isDoor);
1681
+ const { newLines: n, deleteLines: o } = N.autoMergeLines(t);
1682
+ n.length ? (e({ newLines: n, deleteLines: o }), k({ message: "已合并", type: "success" })) : (k({ message: "合并失败,未找到共用点", type: "warning" }), this.commandManager.cancel());
1676
1683
  }
1677
1684
  /** 执行完成
1678
1685
  * @param data
@@ -1708,13 +1715,13 @@ class ee extends O {
1708
1715
  * 进入命令约束
1709
1716
  */
1710
1717
  constraint(e, t) {
1711
- Array.isArray(t) ? t.length === 0 ? (L({ message: "请选择线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1718
+ Array.isArray(t) ? t.length === 0 ? (k({ message: "请选择线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1712
1719
  }
1713
1720
  /** 开始
1714
1721
  * @param next
1715
1722
  */
1716
1723
  delete(e, t) {
1717
- t.forEach((n) => this.renderManager.removeLine(n)), L({ message: "删除成功", type: "success" }), e(t);
1724
+ t.forEach((n) => this.renderManager.removeLine(n)), k({ message: "删除成功", type: "success" }), e(t);
1718
1725
  }
1719
1726
  /** 回滚操作
1720
1727
  * @param data
@@ -1745,21 +1752,21 @@ class te extends O {
1745
1752
  * 进入命令约束
1746
1753
  */
1747
1754
  constraint(e, t) {
1748
- Array.isArray(t) ? t.length !== 2 ? (L({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1755
+ Array.isArray(t) ? t.length !== 2 ? (k({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1749
1756
  }
1750
1757
  /** 连接
1751
1758
  * @param next
1752
1759
  */
1753
1760
  connection(e, t) {
1754
- let n, s, o = 1 / 0;
1761
+ let n, o, s = 1 / 0;
1755
1762
  for (let a = 0; a < 2; a++)
1756
- for (let c = 0; c < 2; c++) {
1757
- const d = t[0].points[a], i = t[1].points[c], r = d.distance(i);
1758
- r < o && (n = d, s = i, o = r);
1763
+ for (let l = 0; l < 2; l++) {
1764
+ const r = t[0].points[a], i = t[1].points[l], c = r.distance(i);
1765
+ c < s && (n = r, o = i, s = c);
1759
1766
  }
1760
- if (n && s) {
1761
- const a = new B(n.clone(), s.clone());
1762
- e(a), L({ message: "连接成功", type: "success" });
1767
+ if (n && o) {
1768
+ const a = new N(n.clone(), o.clone());
1769
+ e(a), k({ message: "连接成功", type: "success" });
1763
1770
  } else this.cancel();
1764
1771
  }
1765
1772
  /** 成功
@@ -1798,32 +1805,32 @@ class ne extends O {
1798
1805
  * 进入命令约束
1799
1806
  */
1800
1807
  constraint(e, t) {
1801
- Array.isArray(t) ? t.length !== 2 ? (L({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1808
+ Array.isArray(t) ? t.length !== 2 ? (k({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1802
1809
  }
1803
1810
  /** 开始
1804
1811
  * @param next
1805
1812
  */
1806
1813
  connection(e, t) {
1807
- const n = t[0], s = t[1], o = t[0].getIntersection(t[1]);
1808
- if (!o) return;
1809
- const a = n.points.map((r) => r.clone()), c = s.points.map((r) => r.clone());
1810
- n.start.distance(o) < n.end.distance(o) ? n.start.copy(o) : n.end.copy(o), s.start.distance(o) < s.end.distance(o) ? s.start.copy(o) : s.end.copy(o);
1811
- const d = n.points.map((r) => r.clone()), i = s.points.map((r) => r.clone());
1812
- e({ line1: n, line2: s, oldLine1: a, oldLine2: c, newLine1: d, newLine2: i }), L({ message: "连接成功", type: "success" });
1814
+ const n = t[0], o = t[1], s = t[0].getIntersection(t[1]);
1815
+ if (!s) return;
1816
+ const a = n.points.map((c) => c.clone()), l = o.points.map((c) => c.clone());
1817
+ n.start.distance(s) < n.end.distance(s) ? n.start.copy(s) : n.end.copy(s), o.start.distance(s) < o.end.distance(s) ? o.start.copy(s) : o.end.copy(s);
1818
+ const r = n.points.map((c) => c.clone()), i = o.points.map((c) => c.clone());
1819
+ e({ line1: n, line2: o, oldLine1: a, oldLine2: l, newLine1: r, newLine2: i }), k({ message: "连接成功", type: "success" });
1813
1820
  }
1814
1821
  /** 执行完成
1815
1822
  * @param next
1816
1823
  * @param selectLines
1817
1824
  */
1818
- completed({ line1: e, line2: t, newLine1: n, newLine2: s }) {
1819
- this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...s), this.renderManager.addLines([e, t]), this.renderManager.draw();
1825
+ completed({ line1: e, line2: t, newLine1: n, newLine2: o }) {
1826
+ this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...o), this.renderManager.addLines([e, t]), this.renderManager.draw();
1820
1827
  }
1821
1828
  /** 回滚操作
1822
1829
  * @param data
1823
1830
  */
1824
1831
  rollback(e) {
1825
- const { line1: t, line2: n, oldLine1: s, oldLine2: o } = e;
1826
- return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...s), n.set(...o), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
1832
+ const { line1: t, line2: n, oldLine1: o, oldLine2: s } = e;
1833
+ return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...o), n.set(...s), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
1827
1834
  }
1828
1835
  /** 撤回回滚
1829
1836
  * @param lines
@@ -1833,34 +1840,34 @@ class ne extends O {
1833
1840
  return this.completed(e), e;
1834
1841
  }
1835
1842
  }
1836
- class se extends O {
1843
+ class oe extends O {
1837
1844
  static name = "DeleteSelectWindow";
1838
1845
  shortcutKeys = ["Q", "Delete"];
1839
1846
  static commandName = "deleteSelectWindow";
1840
1847
  onAddFromParent(e) {
1841
1848
  super.onAddFromParent(e);
1842
- const t = this.commandManager.addCommandFlow(se.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1843
- t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(se.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1844
- this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName, [...this.default.selectLines]);
1849
+ const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1850
+ t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(oe.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1851
+ this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName, [...this.default.selectLines]);
1845
1852
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1846
1853
  }
1847
1854
  /**
1848
1855
  * 进入命令约束
1849
1856
  */
1850
1857
  constraint(e, t) {
1851
- Array.isArray(t) ? t.some((n) => n.userData.isWindow) ? e(t) : (L({ message: "请选择有窗户线段", type: "warning" }), this.cancel()) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1858
+ Array.isArray(t) ? t.some((n) => n.userData.isWindow) ? e(t) : (k({ message: "请选择有窗户线段", type: "warning" }), this.cancel()) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1852
1859
  }
1853
1860
  /** 开始
1854
1861
  * @param next
1855
1862
  */
1856
1863
  end(e, t) {
1857
- let n = !1, s = [];
1858
- t.forEach((o) => {
1859
- o.userData.isWindow && (s.push({
1860
- line: o,
1861
- drawDoorData: o.userData.drawDoorData
1864
+ let n = !1, o = [];
1865
+ t.forEach((s) => {
1866
+ s.userData.isWindow && (o.push({
1867
+ line: s,
1868
+ drawDoorData: s.userData.drawDoorData
1862
1869
  }), n = !0);
1863
- }), n && L({ message: "删除窗户成功", type: "success" }), e(s);
1870
+ }), n && k({ message: "删除窗户成功", type: "success" }), e(o);
1864
1871
  }
1865
1872
  /**
1866
1873
  * 完成
@@ -1890,16 +1897,16 @@ class se extends O {
1890
1897
  return this.completed(e), e;
1891
1898
  }
1892
1899
  }
1893
- class oe extends O {
1900
+ class se extends O {
1894
1901
  static name = "SelectAll";
1895
- container = new m.Group();
1902
+ container = new u.Group();
1896
1903
  shortcutKeys = ["control", "a"];
1897
1904
  static commandName = "selectAll";
1898
1905
  onAddFromParent(e) {
1899
1906
  super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
1900
- const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1901
- t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(oe.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1902
- this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName);
1907
+ const t = this.commandManager.addCommandFlow(se.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1908
+ t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(se.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1909
+ this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName);
1903
1910
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1904
1911
  }
1905
1912
  /** 开始
@@ -1942,7 +1949,7 @@ class ae extends O {
1942
1949
  * 进入命令约束
1943
1950
  */
1944
1951
  constraint(e, t) {
1945
- Array.isArray(t) ? t.length !== 2 || !t[0].sameEndpoint(t[1]) ? (L({ message: "请选择两条具有端点相交的线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1952
+ Array.isArray(t) ? t.length !== 2 || !t[0].sameEndpoint(t[1]) ? (k({ message: "请选择两条具有端点相交的线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
1946
1953
  }
1947
1954
  /**
1948
1955
  *
@@ -1950,38 +1957,38 @@ class ae extends O {
1950
1957
  * @param selectLines
1951
1958
  */
1952
1959
  viewAngle(e, t) {
1953
- const [n, s] = t, o = Math.min(0.5, n.length(), s.length());
1954
- let a, c, d, i = 0, r = 0;
1955
- n.sameEndpointAsStart(s) ? (a = n.start, c = n.end) : (a = n.end, c = n.start), s.sameEndpointAsStart(n) ? d = s.end : d = s.start;
1956
- function h(A, M) {
1957
- const b = M.x - A.x, F = M.y - A.y;
1958
- let W = Math.atan2(F, b) * (180 / Math.PI);
1960
+ const [n, o] = t, s = Math.min(n.length() * 0.8, o.length() * 0.8);
1961
+ let a, l, r, i = 0, c = 0;
1962
+ n.sameEndpointAsStart(o) ? (a = n.start, l = n.end) : (a = n.end, l = n.start), o.sameEndpointAsStart(n) ? r = o.end : r = o.start;
1963
+ function m(_, L) {
1964
+ const b = L.x - _.x, z = L.y - _.y;
1965
+ let W = Math.atan2(z, b) * (180 / Math.PI);
1959
1966
  return W < 0 && (W += 360), W;
1960
1967
  }
1961
- const y = h(a, c), f = h(a, d), p = Math.min(y, f), u = Math.max(y, f), E = [];
1962
- function x(A, M) {
1963
- for (let b = A; b <= M; b++) {
1964
- const F = Math.cos(b * Math.PI / 180) * o + a.x, W = Math.sin(b * Math.PI / 180) * o + a.y, he = Math.cos((b + 1) * Math.PI / 180) * o + a.x, Ce = Math.sin((b + 1) * Math.PI / 180) * o + a.y;
1965
- E.push(F, W, 0, he, Ce, 0);
1968
+ const y = m(a, l), f = m(a, r), g = Math.min(y, f), h = Math.max(y, f), E = [];
1969
+ function x(_, L) {
1970
+ for (let b = _; b <= L; b++) {
1971
+ const z = Math.cos(b * Math.PI / 180) * s + a.x, W = Math.sin(b * Math.PI / 180) * s + a.y, he = Math.cos((b + 1) * Math.PI / 180) * s + a.x, Ce = Math.sin((b + 1) * Math.PI / 180) * s + a.y;
1972
+ E.push(z, W, 0, he, Ce, 0);
1966
1973
  }
1967
1974
  }
1968
- u - p > 180 ? (x(0, p), x(u, 360), i = 360 - (u - p), r = (u + i / 2) % 360) : (x(p, u), i = u - p, r = p + i / 2);
1969
- const k = new m.LineSegments();
1970
- k.geometry = this.renderManager.createGeometry({
1975
+ h - g > 180 ? (x(0, g), x(h, 360), i = 360 - (h - g), c = (h + i / 2) % 360) : (x(g, h), i = h - g, c = g + i / 2);
1976
+ const I = new u.LineSegments();
1977
+ I.geometry = this.renderManager.createGeometry({
1971
1978
  position: E
1972
- }, E.length / 3), k.material = new m.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(k);
1973
- const z = Math.cos(r * Math.PI / 180) * o + a.x, Y = Math.sin(r * Math.PI / 180) * o + a.y, Z = this.renderer.createText(Number(i.toFixed(2)), new m.Vector3(z, Y, 0), {
1979
+ }, E.length / 3), I.material = new u.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(I);
1980
+ const K = Math.cos(c * Math.PI / 180) * s + a.x, Y = Math.sin(c * Math.PI / 180) * s + a.y, Z = this.renderer.createText(Number(i.toFixed(2)), new u.Vector3(K, Y, 0), {
1974
1981
  textShadow: "0px 0px 2px #000"
1975
1982
  }, this.renderManager.container);
1976
1983
  let G = 0;
1977
- this.addEventRecord("clear").add(() => k.removeFromParent()).add(() => Z.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
1984
+ this.addEventRecord("clear").add(() => I.removeFromParent()).add(() => Z.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
1978
1985
  this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (G++, G === 1 ? setTimeout(() => G = 0, 500) : G === 2 && (e(), G = 0));
1979
1986
  }));
1980
1987
  }
1981
1988
  }
1982
1989
  class dt extends O {
1983
1990
  static name = "ClippingLine";
1984
- container = new m.Group();
1991
+ container = new u.Group();
1985
1992
  shortcutKeys = ["control", "x"];
1986
1993
  commandName = "clippingLine";
1987
1994
  static commandName = "clippingLine";
@@ -1994,24 +2001,24 @@ class dt extends O {
1994
2001
  * @param next
1995
2002
  */
1996
2003
  selectPointStart(e) {
1997
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), s = null;
2004
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
1998
2005
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
1999
- const { point: o, line: a, find: c } = this.editor.renderManager.adsorption();
2000
- this.dispatchEvent({ type: "pointerMove", point: o }), c ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2006
+ const { point: s, line: a, find: l } = this.editor.renderManager.adsorption();
2007
+ this.dispatchEvent({ type: "pointerMove", point: s }), l ? (this.domElement.style.cursor = "none", n.position.copy(s), o = a, t = s.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2001
2008
  })).add(this.eventInput.addEventListener("codeChange", () => {
2002
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
2009
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
2003
2010
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
2004
2011
  }
2005
2012
  /** 选择结束点
2006
2013
  * @param next
2007
2014
  */
2008
2015
  selectPointEnd(e, { point: t, line: n }) {
2009
- let s = null, o = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
2010
- this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2011
- const { point: a, find: c, line: d } = this.editor.renderManager.adsorption();
2012
- this.dispatchEvent({ type: "pointerMove", point: a }), c && d === n ? (this.domElement.style.cursor = "none", o.position.copy(a), s = a.clone(), this.container.add(o)) : (this.domElement.style.cursor = "no-drop", s = null, o.removeFromParent());
2016
+ let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
2017
+ this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2018
+ const { point: a, find: l, line: r } = this.editor.renderManager.adsorption();
2019
+ this.dispatchEvent({ type: "pointerMove", point: a }), l && r === n ? (this.domElement.style.cursor = "none", s.position.copy(a), o = a.clone(), this.container.add(s)) : (this.domElement.style.cursor = "no-drop", o = null, s.removeFromParent());
2013
2020
  })).add(this.eventInput.addEventListener("codeChange", () => {
2014
- this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
2021
+ this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
2015
2022
  }));
2016
2023
  }
2017
2024
  /**
@@ -2019,24 +2026,24 @@ class dt extends O {
2019
2026
  * @param next
2020
2027
  * @param points
2021
2028
  */
2022
- end(e, { start: t, end: n, line: s }) {
2023
- const o = _.from(t), a = _.from(n);
2029
+ end(e, { start: t, end: n, line: o }) {
2030
+ const s = M.from(t), a = M.from(n);
2024
2031
  e({
2025
- oldLine: s,
2026
- newLine1: new B(
2027
- s.start,
2028
- s.start.distance(o) < s.start.distance(a) ? o.clone() : a.clone()
2032
+ oldLine: o,
2033
+ newLine1: new N(
2034
+ o.start,
2035
+ o.start.distance(s) < o.start.distance(a) ? s.clone() : a.clone()
2029
2036
  ),
2030
- newLine2: new B(
2031
- s.end,
2032
- s.end.distance(o) < s.end.distance(a) ? o.clone() : a.clone()
2037
+ newLine2: new N(
2038
+ o.end,
2039
+ o.end.distance(s) < o.end.distance(a) ? s.clone() : a.clone()
2033
2040
  )
2034
2041
  });
2035
2042
  }
2036
2043
  /** 执行完成
2037
2044
  */
2038
2045
  completed(e) {
2039
- this.renderManager.removeLine(e.oldLine), this.renderManager.addLines([e.newLine1, e.newLine2]), this.renderManager.draw();
2046
+ this.renderManager.removeLine(e.oldLine), this.renderManager.addLines([e.newLine1, e.newLine2]), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
2040
2047
  }
2041
2048
  /** 回滚操作
2042
2049
  * @param data
@@ -2067,7 +2074,7 @@ class ie extends O {
2067
2074
  * 进入命令约束
2068
2075
  */
2069
2076
  constraint(e, t) {
2070
- Array.isArray(t) ? t.length !== 1 ? (L({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : t[0].userData.isDoor ? (L({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
2077
+ Array.isArray(t) ? t.length !== 1 ? (k({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : t[0].userData.isDoor ? (k({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : e(t) : (k({ message: "进入命令失败", type: "warning" }), this.cancel());
2071
2078
  }
2072
2079
  /**
2073
2080
  *
@@ -2080,58 +2087,58 @@ class ie extends O {
2080
2087
  }), t[0].userData.isVerticalReferenceLine = !0, e(), this.renderManager.draw();
2081
2088
  }
2082
2089
  }
2083
- const is = {
2090
+ const ro = {
2084
2091
  key: 0,
2085
2092
  class: "mt-[5px] text-[#ccc] text-[11px] absolute left-[10px] bottom-[10px] rounded-[8px] min-w-[150px] bg-black/15 p-[10px]"
2086
- }, rs = { class: "text-start max-w-[150px]" }, ds = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, ls = {
2093
+ }, lo = { class: "text-start max-w-[150px]" }, co = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, mo = {
2087
2094
  key: 0,
2088
2095
  class: "p-[5px] max-w-[200px]"
2089
- }, cs = { class: "text-[14px] flex flex-col" }, ms = ["onClick"], hs = { class: "flex flex-row items-center" }, us = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, ps = ["src"], gs = { class: "text-wrap" }, vs = {
2096
+ }, ho = { class: "text-[14px] flex flex-col" }, uo = ["onClick"], po = { class: "flex flex-row items-center" }, go = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, vo = ["src"], fo = { class: "text-wrap" }, yo = {
2090
2097
  key: 1,
2091
2098
  class: "text-[#999]"
2092
- }, fs = {
2099
+ }, wo = {
2093
2100
  style: { "--el-color-primary": "var(--primary-color)" },
2094
2101
  class: "flex flex-row items-center justify-between gap-[10px] mt-[10px] text-[10px]"
2095
- }, ws = {
2102
+ }, bo = {
2096
2103
  key: 0,
2097
2104
  class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
2098
- }, ys = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, bs = ["onClick", "title"], xs = ["src"], Cs = /* @__PURE__ */ me({
2105
+ }, xo = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, Co = ["onClick", "title"], Eo = ["src"], Mo = /* @__PURE__ */ me({
2099
2106
  __name: "EditorTool",
2100
2107
  props: {
2101
2108
  dxfSystem: {},
2102
2109
  permission: {}
2103
2110
  },
2104
- setup(l) {
2105
- function e(C, g, w = h.value.getBoundingClientRect(), U = y.value.getBoundingClientRect()) {
2111
+ setup(d) {
2112
+ function e(C, p, w = m.value.getBoundingClientRect(), U = y.value.getBoundingClientRect()) {
2106
2113
  const ue = w.width - U.width, pe = 0, Me = w.height - U.height;
2107
- C = Math.max(0, Math.min(C, ue)), g = Math.max(pe, Math.min(g, Me)), A.value = { left: C, top: g };
2114
+ C = Math.max(0, Math.min(C, ue)), p = Math.max(pe, Math.min(p, Me)), _.value = { left: C, top: p };
2108
2115
  }
2109
2116
  function t(C) {
2110
- p.value === C.command || p.value !== "default" || x.commandManager.start(C.command);
2117
+ g.value !== C.command && (g.value !== "default" && x.commandManager.cancel(), setTimeout(() => x.commandManager.start(C.command)));
2111
2118
  }
2112
2119
  function n(C) {
2113
2120
  if (C) {
2114
2121
  localStorage.setItem("lines", JSON.stringify(C));
2115
2122
  try {
2116
- u.Dxf.set(C), u.Dxf.lineOffset();
2117
- } catch (g) {
2118
- console.log(g);
2123
+ h.Dxf.set(C), h.Dxf.lineOffset();
2124
+ } catch (p) {
2125
+ console.log(p);
2119
2126
  }
2120
2127
  }
2121
2128
  }
2122
- async function s() {
2129
+ async function o() {
2123
2130
  const C = await Dt.json();
2124
2131
  Array.isArray(C) && (localStorage.removeItem("orbitControls"), n(C));
2125
2132
  }
2126
- function o({ offsetX: C, offsetY: g }) {
2133
+ function s({ offsetX: C, offsetY: p }) {
2127
2134
  E.mouseMoveEventProxylock = !0;
2128
2135
  const w = document.body.style.cursor;
2129
2136
  document.body.style.cursor = "move";
2130
2137
  const U = (ue) => {
2131
- const pe = h.value.getBoundingClientRect(), Me = y.value.getBoundingClientRect();
2138
+ const pe = m.value.getBoundingClientRect(), Me = y.value.getBoundingClientRect();
2132
2139
  e(
2133
2140
  ue.pageX - pe.left - C,
2134
- ue.pageY - pe.top - g,
2141
+ ue.pageY - pe.top - p,
2135
2142
  pe,
2136
2143
  Me
2137
2144
  ), ue.stopPropagation(), document.body.style.cursor = "move";
@@ -2140,7 +2147,7 @@ const is = {
2140
2147
  };
2141
2148
  document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
2142
2149
  }
2143
- const a = l, c = S(!0), d = S(!0), i = S(!0), r = S(!1), h = S(), y = S(), f = S(!0), p = S(""), u = Ot(a.dxfSystem), E = u.findComponentByType(Pt), x = u.findComponentByType(lt), k = u.findComponentByType(rt), z = u.findComponentByType(St), Y = u.findComponentByType(_t), Z = S(0), G = S(0), A = S({ left: 10, top: 100 }), M = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": En, "./assets/images/connection.svg": Ln, "./assets/images/cutLine.svg": In, "./assets/images/deleteSelectLine.svg": Dn, "./assets/images/deleteSelectWindow.svg": Sn, "./assets/images/door.svg": Bn, "./assets/images/intersectionConnection.svg": Rn, "./assets/images/line.svg": Fn, "./assets/images/mergeLine.svg": zn, "./assets/images/revokeRollback.svg": jn, "./assets/images/rollback.svg": Gn, "./assets/images/selectAll.svg": Hn, "./assets/images/selectPoint.svg": Jn, "./assets/images/verticalCorrection.svg": qn, "./assets/images/verticalLine.svg": Yn, "./assets/images/window.svg": $n }), b = S(!1), F = S(0), W = S(!1), he = new ResizeObserver(() => e(A.value.left, A.value.top)), Ce = [
2150
+ const a = d, l = S(!0), r = S(!0), i = S(!0), c = S(!1), m = S(), y = S(), f = S(!0), g = S(""), h = zt(a.dxfSystem), E = h.findComponentByType(Pt), x = h.findComponentByType(lt), I = h.findComponentByType(rt), K = h.findComponentByType(St), Y = h.findComponentByType(Nt), Z = S(0), G = S(0), _ = S({ left: 10, top: 100 }), L = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": Mn, "./assets/images/connection.svg": kn, "./assets/images/cutLine.svg": Pn, "./assets/images/deleteSelectLine.svg": An, "./assets/images/deleteSelectWindow.svg": Sn, "./assets/images/door.svg": Bn, "./assets/images/intersectionConnection.svg": On, "./assets/images/line.svg": Fn, "./assets/images/mergeLine.svg": Tn, "./assets/images/revokeRollback.svg": Vn, "./assets/images/rollback.svg": Qn, "./assets/images/selectAll.svg": Wn, "./assets/images/selectPoint.svg": Un, "./assets/images/verticalCorrection.svg": Zn, "./assets/images/verticalLine.svg": Xn, "./assets/images/window.svg": eo }), b = S(!1), z = S(0), W = S(!1), he = new ResizeObserver(() => e(_.value.left, _.value.top)), Ce = [
2144
2151
  { name: "开启绘制线段命令", shortcut: "Ctrl + L" },
2145
2152
  { name: "开启绘制门线命令", shortcut: "Ctrl + M" },
2146
2153
  { name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
@@ -2170,7 +2177,7 @@ const is = {
2170
2177
  {
2171
2178
  command: "draw-line",
2172
2179
  name: "绘制线段",
2173
- src: M["./assets/images/line.svg"].default,
2180
+ src: L["./assets/images/line.svg"].default,
2174
2181
  show: !0,
2175
2182
  shortcut: "Ctrl + L"
2176
2183
  },
@@ -2178,36 +2185,36 @@ const is = {
2178
2185
  command: "draw-door-line",
2179
2186
  name: "绘制门线",
2180
2187
  show: !0,
2181
- src: M["./assets/images/door.svg"].default,
2188
+ src: L["./assets/images/door.svg"].default,
2182
2189
  shortcut: "Ctrl + M"
2183
2190
  },
2184
2191
  {
2185
2192
  command: "draw-window-line",
2186
2193
  name: "绘制窗户线",
2187
2194
  show: !0,
2188
- src: M["./assets/images/window.svg"].default,
2195
+ src: L["./assets/images/window.svg"].default,
2189
2196
  shortcut: "Ctrl + Q"
2190
2197
  },
2191
2198
  {
2192
2199
  command: "point",
2193
2200
  name: "点修改",
2194
2201
  show: !0,
2195
- src: M["./assets/images/selectPoint.svg"].default,
2202
+ src: L["./assets/images/selectPoint.svg"].default,
2196
2203
  shortcut: "Ctrl + P"
2197
2204
  },
2198
2205
  {
2199
2206
  command: dt.commandName,
2200
2207
  name: "裁剪线段",
2201
2208
  show: !0,
2202
- src: M["./assets/images/cutLine.svg"].default,
2209
+ src: L["./assets/images/cutLine.svg"].default,
2203
2210
  shortcut: "Ctrl + X"
2204
2211
  }
2205
2212
  ], mt = [
2206
2213
  {
2207
2214
  command: "",
2208
2215
  name: "操作回滚",
2209
- src: M["./assets/images/rollback.svg"].default,
2210
- show: D(() => Z.value !== 0),
2216
+ src: L["./assets/images/rollback.svg"].default,
2217
+ show: A(() => Z.value !== 0),
2211
2218
  shortcut: "Ctrl + Z",
2212
2219
  action() {
2213
2220
  x.commandManager.rollback();
@@ -2216,8 +2223,8 @@ const is = {
2216
2223
  {
2217
2224
  command: "",
2218
2225
  name: "撤销操作回滚",
2219
- src: M["./assets/images/revokeRollback.svg"].default,
2220
- show: D(() => G.value !== 0),
2226
+ src: L["./assets/images/revokeRollback.svg"].default,
2227
+ show: A(() => G.value !== 0),
2221
2228
  shortcut: "Ctrl + Y",
2222
2229
  class: "rotateY-[180deg]",
2223
2230
  action() {
@@ -2227,29 +2234,29 @@ const is = {
2227
2234
  {
2228
2235
  command: $.commandName,
2229
2236
  name: "合并",
2230
- src: M["./assets/images/mergeLine.svg"].default,
2231
- show: D(() => F.value === 2),
2237
+ src: L["./assets/images/mergeLine.svg"].default,
2238
+ show: A(() => z.value === 2),
2232
2239
  shortcut: "Ctrl + G"
2233
2240
  },
2234
2241
  {
2235
2242
  command: te.commandName,
2236
2243
  name: "两点连接",
2237
- show: D(() => F.value === 2),
2238
- src: M["./assets/images/connection.svg"].default,
2244
+ show: A(() => z.value === 2),
2245
+ src: L["./assets/images/connection.svg"].default,
2239
2246
  shortcut: "Shift + L"
2240
2247
  },
2241
2248
  {
2242
2249
  command: ne.commandName,
2243
2250
  name: "延长线交点连接",
2244
- show: D(() => F.value === 2),
2245
- src: M["./assets/images/intersectionConnection.svg"].default,
2251
+ show: A(() => z.value === 2),
2252
+ src: L["./assets/images/intersectionConnection.svg"].default,
2246
2253
  shortcut: "Ctrl + Shift + L"
2247
2254
  },
2248
2255
  {
2249
2256
  command: le.commandName,
2250
2257
  name: "线段垂直纠正",
2251
- show: D(() => F.value === 1),
2252
- src: M["./assets/images/verticalCorrection.svg"].default,
2258
+ show: A(() => z.value === 1),
2259
+ src: L["./assets/images/verticalCorrection.svg"].default,
2253
2260
  shortcut: `
2254
2261
  Ctrl + C 垂直纠正
2255
2262
  Shift + C 轴对齐垂直纠正
@@ -2258,56 +2265,56 @@ const is = {
2258
2265
  {
2259
2266
  command: ie.commandName,
2260
2267
  name: "y轴垂直基准线",
2261
- show: D(
2262
- () => F.value === 1 && !k.selectLines[0].userData.isDoor
2268
+ show: A(
2269
+ () => z.value === 1 && !I.selectLines[0].userData.isDoor
2263
2270
  ),
2264
- src: M["./assets/images/verticalLine.svg"].default,
2271
+ src: L["./assets/images/verticalLine.svg"].default,
2265
2272
  shortcut: "V"
2266
2273
  },
2267
2274
  {
2268
2275
  command: ae.commandName,
2269
2276
  name: "角度显示",
2270
- show: D(() => F.value === 2 && k.selectLines[0].sameEndpoint(k.selectLines[1])),
2271
- src: M["./assets/images/angle.svg"].default,
2277
+ show: A(() => z.value === 2 && I.selectLines[0].sameEndpoint(I.selectLines[1])),
2278
+ src: L["./assets/images/angle.svg"].default,
2272
2279
  shortcut: "r"
2273
2280
  },
2274
2281
  {
2275
- command: oe.commandName,
2282
+ command: se.commandName,
2276
2283
  name: "全选",
2277
- show: D(() => F.value !== x.renderManager.lines.length),
2278
- src: M["./assets/images/selectAll.svg"].default,
2284
+ show: A(() => z.value !== x.renderManager.lines.length),
2285
+ src: L["./assets/images/selectAll.svg"].default,
2279
2286
  shortcut: "Ctrl + A"
2280
2287
  },
2281
2288
  {
2282
- command: se.commandName,
2289
+ command: oe.commandName,
2283
2290
  name: "清除窗户",
2284
- show: D(() => W.value),
2285
- src: M["./assets/images/deleteSelectWindow.svg"].default,
2291
+ show: A(() => W.value),
2292
+ src: L["./assets/images/deleteSelectWindow.svg"].default,
2286
2293
  shortcut: "Q + Delete"
2287
2294
  },
2288
2295
  {
2289
2296
  command: ee.commandName,
2290
2297
  name: "删除",
2291
- show: D(() => F.value > 0),
2292
- src: M["./assets/images/deleteSelectLine.svg"].default,
2298
+ show: A(() => z.value > 0),
2299
+ src: L["./assets/images/deleteSelectLine.svg"].default,
2293
2300
  shortcut: "Delete"
2294
2301
  }
2295
2302
  ];
2296
- J(A, () => localStorage.setItem("editorToolPosition", JSON.stringify(A.value))), J(b, () => localStorage.setItem("showShortcutKey", b.value + "")), J(f, () => {
2297
- localStorage.setItem("toolBarExpand", f.value + ""), f.value && ye(() => e(A.value.left, A.value.top));
2298
- }), J(c, () => u.Variable.set("originalLineVisible", c.value)), J(d, () => u.Variable.set("dxfVisible", d.value)), J(i, () => u.Variable.set("whiteModelVisible", i.value)), u.Variable.addEventListener("isLook", (C) => r.value = C.value), u.Variable.addEventListener("originalLineVisible", (C) => c.value = C.value), u.Variable.addEventListener("dxfVisible", (C) => d.value = C.value), u.Variable.addEventListener("whiteModelVisible", (C) => i.value = C.value);
2303
+ J(_, () => localStorage.setItem("editorToolPosition", JSON.stringify(_.value))), J(b, () => localStorage.setItem("showShortcutKey", b.value + "")), J(f, () => {
2304
+ localStorage.setItem("toolBarExpand", f.value + ""), f.value && we(() => e(_.value.left, _.value.top));
2305
+ }), J(l, () => h.Variable.set("originalLineVisible", l.value)), J(r, () => h.Variable.set("dxfVisible", r.value)), J(i, () => h.Variable.set("whiteModelVisible", i.value)), h.Variable.addEventListener("isLook", (C) => c.value = C.value), h.Variable.addEventListener("originalLineVisible", (C) => l.value = C.value), h.Variable.addEventListener("dxfVisible", (C) => r.value = C.value), h.Variable.addEventListener("whiteModelVisible", (C) => i.value = C.value);
2299
2306
  const ht = x.commandManager.addEventListener("started", (C) => {
2300
- p.value = C.name;
2307
+ g.value = C.name;
2301
2308
  });
2302
2309
  return localStorage.getItem("showShortcutKey") && (b.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (f.value = localStorage.getItem("toolBarExpand") === "true"), tt(() => {
2303
2310
  y.value.style.display = "none", setTimeout(() => {
2304
2311
  if (y.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
2305
- const { left: C, top: g } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
2306
- e(C, g), ye(() => he.observe(h.value));
2312
+ const { left: C, top: p } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
2313
+ e(C, p), we(() => he.observe(m.value));
2307
2314
  } else
2308
- ye(() => he.observe(h.value));
2309
- }, 100), k.addEventListener("selectLineChange", () => {
2310
- F.value = k.selectLines.length, W.value = k.selectLines.some((C) => C.userData.isWindow);
2315
+ we(() => he.observe(m.value));
2316
+ }, 100), I.addEventListener("selectLineChange", () => {
2317
+ z.value = I.selectLines.length, W.value = I.selectLines.some((C) => C.userData.isWindow);
2311
2318
  }), ["rollback", "completed", "revokeRollback"].forEach((C) => {
2312
2319
  x.commandManager.addEventListener(C, () => {
2313
2320
  setTimeout(() => {
@@ -2317,43 +2324,43 @@ const is = {
2317
2324
  });
2318
2325
  }), Ft(() => {
2319
2326
  E.mouseMoveEventProxylock = !1, ht(), he.disconnect();
2320
- }), (C, g) => (P(), R("div", {
2327
+ }), (C, p) => (D(), R("div", {
2321
2328
  ref_key: "elRef",
2322
- ref: h,
2329
+ ref: m,
2323
2330
  class: "editorTool pointer-events-none overflow-hidden absolute left-0 top-0 w-full h-full z-[20] flex flex-row justify-between p-[5px] box-border select-none pointer-events-[all]"
2324
2331
  }, [
2325
- K(xe, null, {
2332
+ F(xe, null, {
2326
2333
  default: j(() => [
2327
- b.value ? (P(), R("div", is, [
2328
- (P(), R(ve, null, Ie(Ce, (w) => I("div", {
2334
+ b.value ? (D(), R("div", ro, [
2335
+ (D(), R(ve, null, ke(Ce, (w) => P("div", {
2329
2336
  class: "p-[4px_0px] flex justify-between text-right border-b-1 border-b-[rgba(255,255,255,0.1)] last-of-type:border-b-0",
2330
2337
  key: w.name
2331
2338
  }, [
2332
- I("p", rs, de(w.name), 1),
2333
- I("span", ds, de(w.shortcut), 1)
2339
+ P("p", lo, de(w.name), 1),
2340
+ P("span", co, de(w.shortcut), 1)
2334
2341
  ])), 64))
2335
2342
  ])) : q("", !0)
2336
2343
  ]),
2337
2344
  _: 1
2338
2345
  }),
2339
- I("div", {
2346
+ P("div", {
2340
2347
  ref_key: "toolBarRef",
2341
2348
  ref: y,
2342
- style: _e({ left: A.value.left + "px", top: A.value.top + "px" }),
2349
+ style: _e({ left: _.value.left + "px", top: _.value.top + "px" }),
2343
2350
  class: V(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": f.value }]),
2344
- onMousedown: g[10] || (g[10] = (w) => w.stopPropagation())
2351
+ onMousedown: p[10] || (p[10] = (w) => w.stopPropagation())
2345
2352
  }, [
2346
- I("div", {
2347
- onMousedown: o,
2353
+ P("div", {
2354
+ onMousedown: s,
2348
2355
  class: V([{ "border-b-[#eee] border-b-1": f.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
2349
2356
  }, [
2350
- g[12] || (g[12] = Kt('<div class="flex flex-row" data-v-39e8b14c><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-39e8b14c><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-39e8b14c><path d="M341.333333 298.666667a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0 298.666666a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m85.333334 213.333334a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m256-512a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m85.333333 213.333333a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m-85.333333 384a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z" data-v-39e8b14c></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-39e8b14c>绘制工具</h5></div>', 1)),
2351
- I("div", {
2352
- onMousedown: g[0] || (g[0] = (w) => w.stopPropagation()),
2353
- onClick: g[1] || (g[1] = (w) => f.value = !f.value),
2357
+ p[12] || (p[12] = Kt('<div class="flex flex-row" data-v-097b01ef><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-097b01ef><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-097b01ef><path d="M341.333333 298.666667a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0 298.666666a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m85.333334 213.333334a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m256-512a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m85.333333 213.333333a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m-85.333333 384a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z" data-v-097b01ef></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-097b01ef>绘制工具</h5></div>', 1)),
2358
+ P("div", {
2359
+ onMousedown: p[0] || (p[0] = (w) => w.stopPropagation()),
2360
+ onClick: p[1] || (p[1] = (w) => f.value = !f.value),
2354
2361
  class: "cursor-pointer flex items-center p-[0px_5px]"
2355
2362
  }, [
2356
- (P(), R("svg", {
2363
+ (D(), R("svg", {
2357
2364
  fill: "#666",
2358
2365
  class: V([{ "rotate-90": f.value }, "transition-all"]),
2359
2366
  viewBox: "0 0 1024 1024",
@@ -2361,42 +2368,42 @@ const is = {
2361
2368
  xmlns: "http://www.w3.org/2000/svg",
2362
2369
  width: "12",
2363
2370
  height: "12"
2364
- }, g[11] || (g[11] = [
2365
- I("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
2371
+ }, p[11] || (p[11] = [
2372
+ P("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
2366
2373
  ]), 2))
2367
2374
  ], 32)
2368
2375
  ], 34),
2369
- f.value ? (P(), R("div", ls, [
2370
- I("ul", cs, [
2371
- (P(), R(ve, null, Ie(ct, (w) => (P(), R(ve, {
2376
+ f.value ? (D(), R("div", mo, [
2377
+ P("ul", ho, [
2378
+ (D(), R(ve, null, ke(ct, (w) => (D(), R(ve, {
2372
2379
  key: w.command
2373
2380
  }, [
2374
- w.show ? (P(), R("li", {
2381
+ w.show ? (D(), R("li", {
2375
2382
  key: 0,
2376
2383
  onClick: (U) => t(w),
2377
2384
  class: V([{
2378
- "!bg-[var(--primary-color)] text-[#fff]": p.value === w.command,
2379
- "!cursor-no-drop": p.value !== w.command && p.value !== "default"
2385
+ "!bg-[var(--primary-color)] text-[#fff]": g.value === w.command
2386
+ // '!cursor-no-drop': currentCommand !== item.command && currentCommand !== 'default',
2380
2387
  }, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
2381
2388
  }, [
2382
- I("div", hs, [
2383
- I("div", us, [
2384
- I("img", {
2389
+ P("div", po, [
2390
+ P("div", go, [
2391
+ P("img", {
2385
2392
  class: "size-[14px]",
2386
2393
  src: w.src,
2387
2394
  alt: "",
2388
2395
  srcset: ""
2389
- }, null, 8, ps)
2396
+ }, null, 8, vo)
2390
2397
  ]),
2391
- I("span", gs, de(w.name), 1)
2398
+ P("span", fo, de(w.name), 1)
2392
2399
  ]),
2393
- p.value === w.command ? (P(), R("div", {
2400
+ g.value === w.command ? (D(), R("div", {
2394
2401
  key: 0,
2395
2402
  title: "取消命令(Esc)",
2396
2403
  class: "active:scale-[0.7] transition-all",
2397
- onClick: g[2] || (g[2] = (U) => (v(x).cancelCommand(), U.stopPropagation()))
2398
- }, g[13] || (g[13] = [
2399
- I("svg", {
2404
+ onClick: p[2] || (p[2] = (U) => (v(x).cancelCommand(), U.stopPropagation()))
2405
+ }, p[13] || (p[13] = [
2406
+ P("svg", {
2400
2407
  fill: "#fff",
2401
2408
  width: "16",
2402
2409
  height: "16",
@@ -2404,120 +2411,120 @@ const is = {
2404
2411
  version: "1.1",
2405
2412
  xmlns: "http://www.w3.org/2000/svg"
2406
2413
  }, [
2407
- I("path", { d: "M511.104 0C228.821333 0 0 228.821333 0 511.104c0 282.282667 228.821333 511.104 511.104 511.104 282.282667 0 511.104-228.842667 511.104-511.104C1022.208 228.821333 793.386667 0 511.104 0zM511.104 898.496c-213.973333 0-387.434667-173.44-387.434667-387.413333 0-213.952 173.44-387.413333 387.434667-387.413333 213.952 0 387.392 173.44 387.392 387.413333C898.496 725.056 725.056 898.496 511.104 898.496z" }),
2408
- I("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
2414
+ P("path", { d: "M511.104 0C228.821333 0 0 228.821333 0 511.104c0 282.282667 228.821333 511.104 511.104 511.104 282.282667 0 511.104-228.842667 511.104-511.104C1022.208 228.821333 793.386667 0 511.104 0zM511.104 898.496c-213.973333 0-387.434667-173.44-387.434667-387.413333 0-213.952 173.44-387.413333 387.434667-387.413333 213.952 0 387.392 173.44 387.392 387.413333C898.496 725.056 725.056 898.496 511.104 898.496z" }),
2415
+ P("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
2409
2416
  ], -1)
2410
- ]))) : w.shortcut ? (P(), R("div", vs, de(w.shortcut), 1)) : q("", !0)
2411
- ], 10, ms)) : q("", !0)
2417
+ ]))) : w.shortcut ? (D(), R("div", yo, de(w.shortcut), 1)) : q("", !0)
2418
+ ], 10, uo)) : q("", !0)
2412
2419
  ], 64))), 64))
2413
2420
  ]),
2414
- I("div", fs, [
2415
- K(v(Fe), {
2421
+ P("div", wo, [
2422
+ F(v(Oe), {
2416
2423
  size: "small",
2417
2424
  modelValue: b.value,
2418
- "onUpdate:modelValue": g[3] || (g[3] = (w) => b.value = w),
2425
+ "onUpdate:modelValue": p[3] || (p[3] = (w) => b.value = w),
2419
2426
  label: "快捷键提示"
2420
2427
  }, null, 8, ["modelValue"]),
2421
- K(v(Fe), {
2428
+ F(v(Oe), {
2422
2429
  size: "small",
2423
- modelValue: d.value,
2424
- "onUpdate:modelValue": g[4] || (g[4] = (w) => d.value = w),
2430
+ modelValue: r.value,
2431
+ "onUpdate:modelValue": p[4] || (p[4] = (w) => r.value = w),
2425
2432
  label: "dxf"
2426
2433
  }, null, 8, ["modelValue"])
2427
2434
  ]),
2428
- C.permission === "admin" ? (P(), R("div", ws, [
2429
- K(v(re), {
2435
+ C.permission === "admin" ? (D(), R("div", bo, [
2436
+ F(v(re), {
2430
2437
  style: { padding: "5px", "font-size": "10px" },
2431
2438
  size: "small",
2432
2439
  type: "success",
2433
- onClick: s
2440
+ onClick: o
2434
2441
  }, {
2435
- default: j(() => g[14] || (g[14] = [
2442
+ default: j(() => p[14] || (p[14] = [
2436
2443
  X(" 选择文件 ", -1)
2437
2444
  ])),
2438
2445
  _: 1,
2439
2446
  __: [14]
2440
2447
  }),
2441
- K(v(re), {
2448
+ F(v(re), {
2442
2449
  style: { padding: "5px", "font-size": "10px" },
2443
2450
  size: "small",
2444
2451
  type: "primary",
2445
- onClick: g[5] || (g[5] = (w) => v(u).Dxf.downloadOriginalData("json.json"))
2452
+ onClick: p[5] || (p[5] = (w) => v(h).Dxf.downloadOriginalData("json.json"))
2446
2453
  }, {
2447
- default: j(() => g[15] || (g[15] = [
2454
+ default: j(() => p[15] || (p[15] = [
2448
2455
  X(" 下载Json ", -1)
2449
2456
  ])),
2450
2457
  _: 1,
2451
2458
  __: [15]
2452
2459
  }),
2453
- K(v(re), {
2460
+ F(v(re), {
2454
2461
  style: { padding: "5px", "font-size": "10px" },
2455
2462
  size: "small",
2456
2463
  type: "primary",
2457
- onClick: g[6] || (g[6] = (w) => v(u).AngleCorrectionDxf.download("test.dxf"))
2464
+ onClick: p[6] || (p[6] = (w) => v(h).AngleCorrectionDxf.download("test.dxf"))
2458
2465
  }, {
2459
- default: j(() => g[16] || (g[16] = [
2466
+ default: j(() => p[16] || (p[16] = [
2460
2467
  X(" 下载DXF ", -1)
2461
2468
  ])),
2462
2469
  _: 1,
2463
2470
  __: [16]
2464
2471
  }),
2465
- K(v(re), {
2472
+ F(v(re), {
2466
2473
  style: { padding: "5px", "font-size": "10px" },
2467
2474
  size: "small",
2468
2475
  type: "primary",
2469
- onClick: g[7] || (g[7] = (w) => v(u).AngleCorrectionDxf.downloadImage("dxf.jpg"))
2476
+ onClick: p[7] || (p[7] = (w) => v(h).AngleCorrectionDxf.downloadImage("dxf.jpg"))
2470
2477
  }, {
2471
- default: j(() => g[17] || (g[17] = [
2478
+ default: j(() => p[17] || (p[17] = [
2472
2479
  X(" 下载JPG ", -1)
2473
2480
  ])),
2474
2481
  _: 1,
2475
2482
  __: [17]
2476
2483
  }),
2477
- K(v(re), {
2484
+ F(v(re), {
2478
2485
  style: { padding: "5px", "font-size": "10px" },
2479
2486
  size: "small",
2480
2487
  type: "primary",
2481
- onClick: g[8] || (g[8] = (w) => v(z).downloadGltf("test.glb", !0))
2488
+ onClick: p[8] || (p[8] = (w) => v(K).downloadGltf("test.glb", !0))
2482
2489
  }, {
2483
- default: j(() => g[18] || (g[18] = [
2490
+ default: j(() => p[18] || (p[18] = [
2484
2491
  X(" 下载白膜 ", -1)
2485
2492
  ])),
2486
2493
  _: 1,
2487
2494
  __: [18]
2488
2495
  }),
2489
- K(v(re), {
2496
+ F(v(re), {
2490
2497
  style: { padding: "5px", "font-size": "10px" },
2491
2498
  size: "small",
2492
2499
  type: "primary",
2493
- onClick: g[9] || (g[9] = (w) => v(Y).download())
2500
+ onClick: p[9] || (p[9] = (w) => v(Y).download())
2494
2501
  }, {
2495
- default: j(() => g[19] || (g[19] = [
2502
+ default: j(() => p[19] || (p[19] = [
2496
2503
  X(" 下载三维家JSON ", -1)
2497
2504
  ])),
2498
2505
  _: 1,
2499
2506
  __: [19]
2500
2507
  })
2501
2508
  ])) : q("", !0),
2502
- K(xe, null, {
2509
+ F(xe, null, {
2503
2510
  default: j(() => [
2504
- I("div", ys, [
2505
- K(zt, null, {
2511
+ P("div", xo, [
2512
+ F(Tt, null, {
2506
2513
  default: j(() => [
2507
- (P(), R(ve, null, Ie(mt, (w) => I("div", {
2508
- onClick: (U) => w.show.value && p.value === "default" && (w.action ? w.action() : v(x).commandManager.start(w.command, [...v(k).selectLines])),
2514
+ (D(), R(ve, null, ke(mt, (w) => P("div", {
2515
+ onClick: (U) => w.show.value && g.value === "default" && (w.action ? w.action() : v(x).commandManager.start(w.command, [...v(I).selectLines])),
2509
2516
  title: `${w.name}(${w.shortcut})`,
2510
2517
  class: V(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
2511
- "opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !w.show.value || p.value !== "default",
2518
+ "opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !w.show.value || g.value !== "default",
2512
2519
  [w.class ?? ""]: !0
2513
2520
  }]),
2514
2521
  key: w.command
2515
2522
  }, [
2516
- I("img", {
2523
+ P("img", {
2517
2524
  class: "size-[14px]",
2518
2525
  src: w.src
2519
- }, null, 8, xs)
2520
- ], 10, bs)), 64))
2526
+ }, null, 8, Eo)
2527
+ ], 10, Co)), 64))
2521
2528
  ]),
2522
2529
  _: 1
2523
2530
  })
@@ -2529,15 +2536,15 @@ const is = {
2529
2536
  ], 38)
2530
2537
  ], 512));
2531
2538
  }
2532
- }), Es = (l, e) => {
2533
- const t = l.__vccOpts || l;
2534
- for (const [n, s] of e)
2535
- t[n] = s;
2539
+ }), Lo = (d, e) => {
2540
+ const t = d.__vccOpts || d;
2541
+ for (const [n, o] of e)
2542
+ t[n] = o;
2536
2543
  return t;
2537
- }, Ms = /* @__PURE__ */ Es(Cs, [["__scopeId", "data-v-39e8b14c"]]);
2538
- let lt = class extends Se {
2544
+ }, ko = /* @__PURE__ */ Lo(Mo, [["__scopeId", "data-v-097b01ef"]]);
2545
+ let lt = class extends Ae {
2539
2546
  static name = "Editor";
2540
- container = new m.Group();
2547
+ container = new u.Group();
2541
2548
  get renderer() {
2542
2549
  return this.parent?.findComponentByName("Renderer");
2543
2550
  }
@@ -2559,8 +2566,8 @@ let lt = class extends Se {
2559
2566
  get domContainer() {
2560
2567
  return this.parent?.findComponentByName("DomContainer");
2561
2568
  }
2562
- commandManager = new xn();
2563
- plane = new m.Mesh(new m.PlaneGeometry(2e3, 2e3, 2, 2));
2569
+ commandManager = new Cn();
2570
+ plane = new u.Mesh(new u.PlaneGeometry(2e3, 2e3, 2, 2));
2564
2571
  app;
2565
2572
  domElement = document.createElement("div");
2566
2573
  viewPermission;
@@ -2583,26 +2590,26 @@ let lt = class extends Se {
2583
2590
  }
2584
2591
  onAddFromParent(e) {
2585
2592
  setTimeout(() => this.openEdit(), 10);
2586
- const t = new m.GridHelper(200, 100, 6710886, 4473924);
2593
+ const t = new u.GridHelper(200, 100, 6710886, 4473924);
2587
2594
  t.rotation.x = Math.PI * 0.5, t.position.z = -0.01, this.container.add(t), this.container.add(this.plane), this.plane.visible = !1;
2588
2595
  const n = this.addEventListener("update", () => {
2589
2596
  this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), this.domContainer.domElement.parentElement.appendChild(this.imgEl), n());
2590
2597
  });
2591
2598
  setTimeout(() => {
2592
- this.app = Tt(Ms, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2599
+ this.app = jt(ko, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2593
2600
  }), e.AngleCorrectionDxf.addEventListener("lineOffset", async () => {
2594
2601
  this.imgEl.src && URL.revokeObjectURL(this.imgEl.src), setTimeout(async () => {
2595
2602
  this.imgEl.src = URL.createObjectURL(await e.AngleCorrectionDxf.toDxfImageBlob("Centimeters", "image/png", "transparent"));
2596
2603
  });
2597
- }), this.domEventRegister.addEventListener("mousedown", (s) => {
2598
- s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 && Object.assign(this.imgEl.style, {
2604
+ }), this.domEventRegister.addEventListener("mousedown", (o) => {
2605
+ o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 && Object.assign(this.imgEl.style, {
2599
2606
  width: `${Math.min(this.imgWidth * 10, this.renderer.width * 0.9)}px`,
2600
2607
  height: `${Math.min(this.imgWidth * 10, this.renderer.height * 0.9)}px`,
2601
2608
  background: "rgba(0,0,0,1)",
2602
2609
  zIndex: 100
2603
2610
  });
2604
- }), this.domEventRegister.addEventListener("mousemove", (s) => {
2605
- s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 || Object.assign(this.imgEl.style, {
2611
+ }), this.domEventRegister.addEventListener("mousemove", (o) => {
2612
+ o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 || Object.assign(this.imgEl.style, {
2606
2613
  width: `${this.imgWidth}px`,
2607
2614
  height: `${this.imgWidth}px`,
2608
2615
  background: "rgba(255,255,255,0.2)",
@@ -2618,27 +2625,27 @@ let lt = class extends Se {
2618
2625
  type: "cancelCommand"
2619
2626
  });
2620
2627
  }
2621
- coords = new m.Vector2();
2622
- pointerPosition = new m.Vector2();
2628
+ coords = new u.Vector2();
2629
+ pointerPosition = new u.Vector2();
2623
2630
  _exitEditCallBack;
2624
2631
  /**
2625
2632
  * 打开编辑器
2626
2633
  */
2627
2634
  openEdit() {
2628
- const e = this.renderer, t = this.domEventRegister, n = this.dxf, s = e.orbitControls, o = e.camera, a = n.box.center, c = e.camera.position.clone(), d = s?.target?.clone(), i = new m.Vector2(), r = new m.Raycaster(), h = this.coords, y = this.pointerPosition;
2629
- this.container.position.z = n.originalZAverage, e.scene.add(this.container), s && (o.position.set(a.x, a.y, 15), s.target.set(a.x, a.y, 0), s.enableRotate = !1);
2635
+ const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center, l = e.camera.position.clone(), r = o?.target?.clone(), i = new u.Vector2(), c = new u.Raycaster(), m = this.coords, y = this.pointerPosition;
2636
+ this.container.position.z = n.originalZAverage, e.scene.add(this.container), o && (s.position.set(a.x, a.y, 15), o.target.set(a.x, a.y, 0), o.enableRotate = !1);
2630
2637
  const f = () => {
2631
2638
  e.renderer.getSize(i);
2632
- const p = t.pointer.x / i.x * 2 - 1, u = -(t.pointer.y / i.y * 2 - 1);
2633
- h.set(p, u), r.setFromCamera(h, e.camera.children.length ? e.camera.children[0] : e.camera);
2634
- const E = r.intersectObject(this.plane);
2639
+ const g = t.pointer.x / i.x * 2 - 1, h = -(t.pointer.y / i.y * 2 - 1);
2640
+ m.set(g, h), c.setFromCamera(m, e.camera.children.length ? e.camera.children[0] : e.camera);
2641
+ const E = c.intersectObject(this.plane);
2635
2642
  E.length && (y.copy(E[0].point), this.dispatchEvent({
2636
2643
  type: "pointerPositionChange",
2637
2644
  position: y
2638
2645
  }));
2639
2646
  };
2640
2647
  t.addEventListener("mousemove", f), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
2641
- t.removeEventListener("mousemove", f), s && (o.position.copy(c), s.enableRotate = !0, s.target.copy(d));
2648
+ t.removeEventListener("mousemove", f), o && (s.position.copy(l), o.enableRotate = !0, o.target.copy(r));
2642
2649
  };
2643
2650
  }
2644
2651
  /**
@@ -2651,9 +2658,9 @@ let lt = class extends Se {
2651
2658
  super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
2652
2659
  }
2653
2660
  };
2654
- class Ls extends O {
2661
+ class Io extends O {
2655
2662
  static name = "PointDrag";
2656
- container = new m.Group();
2663
+ container = new u.Group();
2657
2664
  interruptKeys = ["escape"];
2658
2665
  shortcutKeys = ["control", "p"];
2659
2666
  commandName = "point";
@@ -2666,13 +2673,16 @@ class Ls extends O {
2666
2673
  * @param next
2667
2674
  */
2668
2675
  selectPoint(e) {
2669
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), s = null;
2670
- this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
2671
- const { point: o, line: a, find: c, mode: d } = this.editor.renderManager.adsorption();
2672
- this.dispatchEvent({ type: "pointerMove", point: o }), c && d === "point" ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2673
- })).add(this.eventInput.addEventListener("codeChange", () => {
2674
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: s }));
2675
- })), this.addEventRecord("clear").add(() => n.removeFromParent());
2676
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
2677
+ const s = this.editor.addEventListener("pointerPositionChange", () => {
2678
+ const { point: a, line: l, find: r, mode: i } = this.editor.renderManager.adsorption();
2679
+ this.dispatchEvent({ type: "pointerMove", point: a }), r && i === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a), o = l, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2680
+ });
2681
+ this.addEventRecord("selectPointStart").add(s).add(this.eventInput.addEventListener("codeChange", () => {
2682
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
2683
+ })), this.addEventRecord("clear").add(() => {
2684
+ n.removeFromParent(), s();
2685
+ });
2676
2686
  }
2677
2687
  /** 拖拽点
2678
2688
  * @description 拖拽点到指定位置
@@ -2681,32 +2691,32 @@ class Ls extends O {
2681
2691
  */
2682
2692
  drag(e, { point: t, line: n }) {
2683
2693
  this.domElement.style.cursor = "crosshair";
2684
- const s = n.start.equal(_.from(t)) ? "start" : "end", o = s == "start" ? new m.Vector3(n.end.x, n.end.y, 0) : new m.Vector3(n.start.x, n.start.y, 0), a = t.clone(), c = new we([o, a], 16711935), d = new m.Mesh(new m.SphereGeometry(0.03), new m.MeshBasicMaterial({ color: 16711935 }));
2685
- this.container.add(c), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
2686
- let { point: i, find: r } = this.editor.renderManager.adsorption(), h = "none";
2694
+ const o = n.start.equal(M.from(t)) ? "start" : "end", s = o == "start" ? new u.Vector3(n.end.x, n.end.y, 0) : new u.Vector3(n.start.x, n.start.y, 0), a = t.clone(), l = new ye([s, a], 16711935), r = this.renderer.createCircle(M.zero(), { color: 16711935, size: 10 });
2695
+ this.container.add(l), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
2696
+ let { point: i, find: c } = this.editor.renderManager.adsorption(), m = "none";
2687
2697
  if (i) {
2688
2698
  if (this.dispatchEvent({ type: "pointerMove", point: i }), this.eventInput.isKeyDown("shift")) {
2689
- const y = n.projectPoint(_.from(i), !1);
2690
- i.set(y?.x ?? i.x, y?.y ?? i.y, 0), r = !0, h = "crosshair";
2699
+ const y = n.projectPoint(M.from(i), !1);
2700
+ i.set(y?.x ?? i.x, y?.y ?? i.y, 0), c = !0, m = "crosshair";
2691
2701
  }
2692
- r ? (d.position.copy(i), this.container.add(d)) : (d.removeFromParent(), h = "crosshair"), a.copy(i), c.setPoint(o, a), this.domElement.style.cursor = h;
2702
+ c ? (r.position.copy(i), this.container.add(r)) : (r.removeFromParent(), m = "crosshair"), a.copy(i), l.setPoint(s, a), this.domElement.style.cursor = m;
2693
2703
  }
2694
2704
  })).add(this.eventInput.addEventListener("codeChange", () => {
2695
- this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: s === "end" ? n.end.clone() : n.start.clone(), line: n, mode: s }));
2696
- })).add(() => d.removeFromParent()).add(() => c.removeFromParent());
2705
+ this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: o === "end" ? n.end.clone() : n.start.clone(), line: n, mode: o }));
2706
+ })).add(() => r.removeFromParent()).add(() => l.removeFromParent());
2697
2707
  }
2698
2708
  /** 执行完成
2699
2709
  */
2700
2710
  completed(e) {
2701
- const { line: t, point: n, mode: s } = e;
2702
- this.renderManager.removeLine(t), s === "end" ? t.end.set(n.x, n.y) : s === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw();
2711
+ const { line: t, point: n, mode: o } = e;
2712
+ this.renderManager.removeLine(t), o === "end" ? t.end.set(n.x, n.y) : o === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
2703
2713
  }
2704
2714
  /** 回滚操作
2705
2715
  * @param data
2706
2716
  */
2707
2717
  rollback(e) {
2708
- const { line: t, oldPoint: n, mode: s } = e;
2709
- return s === "end" ? t.end.set(n.x, n.y) : s === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), e;
2718
+ const { line: t, oldPoint: n, mode: o } = e;
2719
+ return o === "end" ? t.end.set(n.x, n.y) : o === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), e;
2710
2720
  }
2711
2721
  /** 撤回回滚
2712
2722
  * @param lines
@@ -2716,15 +2726,15 @@ class Ls extends O {
2716
2726
  return this.completed(e), e;
2717
2727
  }
2718
2728
  }
2719
- function Je(l, e = {}) {
2720
- l.addComponent(new lt(e.viewPermission)), l.addComponent(new ss()), l.addComponent(new rt()), l.addComponent(new yn()), l.addComponent(new os()), l.addComponent(new as()), l.addComponent(new Ls()), l.addComponent(new ee()), l.addComponent(new $()), l.addComponent(new le()), l.addComponent(new te()), l.addComponent(new ne()), l.addComponent(new se()), l.addComponent(new oe()), l.addComponent(new ae()), l.addComponent(new ie()), l.addComponent(new dt());
2729
+ function Je(d, e = {}) {
2730
+ d.addComponent(new lt(e.viewPermission)), d.addComponent(new so()), d.addComponent(new rt()), d.addComponent(new bn()), d.addComponent(new ao()), d.addComponent(new io()), d.addComponent(new Io()), d.addComponent(new ee()), d.addComponent(new $()), d.addComponent(new le()), d.addComponent(new te()), d.addComponent(new ne()), d.addComponent(new oe()), d.addComponent(new se()), d.addComponent(new ae()), d.addComponent(new ie()), d.addComponent(new dt());
2721
2731
  }
2722
- const Bs = Object.assign(Je, {
2723
- create(l = {}) {
2724
- return (e) => Je(e, l);
2732
+ const Ro = Object.assign(Je, {
2733
+ create(d = {}) {
2734
+ return (e) => Je(e, d);
2725
2735
  }
2726
2736
  });
2727
2737
  export {
2728
- Bs as Editor,
2738
+ Ro as Editor,
2729
2739
  Je as Editor_
2730
2740
  };