build-dxf 0.0.40 → 0.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/index3.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import * as u from "three";
2
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 _e, 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 St, r as Ke, W as _t, T as Nt } from "./build.js";
3
+ import { C as Ae, P as M, L as N, B as Ye, E as Xe, b as Fe, Q as ze, u as At, A as St, r as Ke, W as _t, 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 _, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as j, unref as v, renderSlot as be, createVNode as F, Transition as xe, withCtx as V, withDirectives as $e, createElementVNode as P, normalizeStyle as Se, 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 Vt } from "vue";
8
- function ot(d) {
7
+ import { watch as J, ref as _, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as j, unref as v, renderSlot as be, createVNode as z, Transition as xe, withCtx as V, withDirectives as $e, createElementVNode as P, normalizeStyle as Se, 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 Ft, onUnmounted as zt, renderList as ke, createStaticVNode as Kt, TransitionGroup as Tt, createApp as Vt } from "vue";
8
+ function st(d) {
9
9
  var e;
10
10
  const t = Ue(d);
11
11
  return (e = t?.$el) != null ? e : t;
12
12
  }
13
- const st = Pe ? window : void 0;
13
+ const ot = Pe ? window : void 0;
14
14
  function jt(...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)
15
+ let e, t, n, s;
16
+ if (ut(d[0]) || Array.isArray(d[0]) ? ([t, n, s] = d, e = ot) : [e, t, n, s] = d, !e)
17
17
  return pt;
18
18
  Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
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))));
19
+ const o = [], a = () => {
20
+ o.forEach((c) => c()), o.length = 0;
21
+ }, l = (c, m, y, f) => (c.addEventListener(m, y, f), () => c.removeEventListener(m, y, f)), r = J(() => [st(e), Ue(s)], ([c, m]) => {
22
+ a(), c && o.push(...t.flatMap((y) => n.map((f) => l(c, y, f, m))));
23
23
  }, { immediate: !0, flush: "post" }), i = () => {
24
24
  r(), a();
25
25
  };
@@ -41,12 +41,12 @@ var Ge = Object.getOwnPropertySymbols, Qt = Object.prototype.hasOwnProperty, Ht
41
41
  return t;
42
42
  };
43
43
  function Jt(d, e, t = {}) {
44
- const n = t, { window: o = st } = n, s = Wt(n, ["window"]);
44
+ const n = t, { window: s = ot } = n, o = Wt(n, ["window"]);
45
45
  let a;
46
- const l = Gt(() => o && "ResizeObserver" in o), r = () => {
46
+ const l = Gt(() => s && "ResizeObserver" in s), r = () => {
47
47
  a && (a.disconnect(), a = void 0);
48
- }, i = J(() => ot(d), (m) => {
49
- r(), l.value && o && m && (a = new ResizeObserver(e), a.observe(m, s));
48
+ }, i = J(() => st(d), (m) => {
49
+ r(), l.value && s && m && (a = new ResizeObserver(e), a.observe(m, o));
50
50
  }, { immediate: !0, flush: "post" }), c = () => {
51
51
  r(), i();
52
52
  };
@@ -131,11 +131,11 @@ const $t = (d) => d, en = {
131
131
  }
132
132
  }), nn = me({
133
133
  name: "ElBadge"
134
- }), on = /* @__PURE__ */ me({
134
+ }), sn = /* @__PURE__ */ me({
135
135
  ...nn,
136
136
  props: tn,
137
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(() => {
138
+ const t = d, n = ft("badge"), s = A(() => t.isDot ? "" : fe(t.value) && fe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), o = A(() => {
139
139
  var a, l, r, i, c;
140
140
  return [
141
141
  {
@@ -147,12 +147,12 @@ const $t = (d) => d, en = {
147
147
  ];
148
148
  });
149
149
  return e({
150
- content: o
150
+ content: s
151
151
  }), (a, l) => (D(), R("div", {
152
152
  class: j(v(n).b())
153
153
  }, [
154
154
  be(a.$slots, "default"),
155
- F(xe, {
155
+ z(xe, {
156
156
  name: `${v(n).namespace.value}-zoom-in-center`,
157
157
  persisted: ""
158
158
  }, {
@@ -166,13 +166,13 @@ const $t = (d) => d, en = {
166
166
  v(n).is("hide-zero", !a.showZero && t.value === 0),
167
167
  a.badgeClass
168
168
  ]),
169
- style: Se(v(s))
169
+ style: Se(v(o))
170
170
  }, [
171
- be(a.$slots, "content", { value: v(o) }, () => [
172
- X(de(v(o)), 1)
171
+ be(a.$slots, "content", { value: v(s) }, () => [
172
+ X(de(v(s)), 1)
173
173
  ])
174
174
  ], 6), [
175
- [et, !a.hidden && (v(o) || a.isDot || a.$slots.content)]
175
+ [et, !a.hidden && (v(s) || a.isDot || a.$slots.content)]
176
176
  ])
177
177
  ]),
178
178
  _: 3
@@ -180,8 +180,8 @@ const $t = (d) => d, en = {
180
180
  ], 2));
181
181
  }
182
182
  });
183
- var sn = /* @__PURE__ */ Ze(on, [["__file", "badge.vue"]]);
184
- const an = yt(sn), rn = De({
183
+ var on = /* @__PURE__ */ Ze(sn, [["__file", "badge.vue"]]);
184
+ const an = yt(on), rn = De({
185
185
  a11y: {
186
186
  type: Boolean,
187
187
  default: !0
@@ -225,8 +225,8 @@ me({
225
225
  setup(d, { slots: e }) {
226
226
  const t = xt(d);
227
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 ?? {});
228
+ var s, o;
229
+ Object.assign(T, (o = (s = t?.value) == null ? void 0 : s.message) != null ? o : {}, n ?? {});
230
230
  }, { immediate: !0, deep: !0 }), () => be(e, "default", { config: t?.value });
231
231
  }
232
232
  });
@@ -317,7 +317,7 @@ const at = [
317
317
  }), ln = {
318
318
  destroy: () => !0
319
319
  }, H = Bt([]), cn = (d) => {
320
- const e = H.findIndex((o) => o.id === d), t = H[e];
320
+ const e = H.findIndex((s) => s.id === d), t = H[e];
321
321
  let n;
322
322
  return e > 0 && (n = H[e - 1]), { current: t, prev: n };
323
323
  }, mn = (d) => {
@@ -330,7 +330,7 @@ const at = [
330
330
  props: dn,
331
331
  emits: ln,
332
332
  setup(d, { expose: e, emit: t }) {
333
- const n = d, { Close: o } = Mt, s = _(!1), { ns: a, zIndex: l } = Et("message"), { currentZIndex: r, nextZIndex: i } = l, c = _(), m = _(!1), y = _(0);
333
+ const n = d, { Close: s } = Mt, o = _(!1), { ns: a, zIndex: l } = Et("message"), { currentZIndex: r, nextZIndex: i } = l, c = _(), m = _(!1), y = _(0);
334
334
  let f;
335
335
  const g = A(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), h = A(() => {
336
336
  const b = n.type;
@@ -350,7 +350,7 @@ const at = [
350
350
  function S() {
351
351
  m.value = !1, we(() => {
352
352
  var b;
353
- s.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
353
+ o.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
354
354
  });
355
355
  }
356
356
  function L({ code: b }) {
@@ -366,9 +366,9 @@ const at = [
366
366
  visible: m,
367
367
  bottom: K,
368
368
  close: S
369
- }), (b, z) => (D(), ge(xe, {
369
+ }), (b, F) => (D(), ge(xe, {
370
370
  name: v(a).b("fade"),
371
- onBeforeEnter: (W) => s.value = !0,
371
+ onBeforeEnter: (W) => o.value = !0,
372
372
  onBeforeLeave: b.onClose,
373
373
  onAfterLeave: (W) => b.$emit("destroy"),
374
374
  persisted: ""
@@ -423,7 +423,7 @@ const at = [
423
423
  onClick: Ot(S, ["stop"])
424
424
  }, {
425
425
  default: V(() => [
426
- F(v(o))
426
+ z(v(s))
427
427
  ]),
428
428
  _: 1
429
429
  }, 8, ["class", "onClick"])) : q("v-if", !0)
@@ -457,19 +457,19 @@ const it = (d) => {
457
457
  const { handler: t } = d;
458
458
  t.close();
459
459
  }, yn = ({ appendTo: d, ...e }, t) => {
460
- const n = `message_${vn++}`, o = e.onClose, s = document.createElement("div"), a = {
460
+ const n = `message_${vn++}`, s = e.onClose, o = document.createElement("div"), a = {
461
461
  ...e,
462
462
  id: n,
463
463
  onClose: () => {
464
- o?.(), fn(c);
464
+ s?.(), fn(c);
465
465
  },
466
466
  onDestroy: () => {
467
- Te(null, s);
467
+ Te(null, o);
468
468
  }
469
- }, l = F(gn, a, Ie(a.message) || nt(a.message) ? {
469
+ }, l = z(gn, a, Ie(a.message) || nt(a.message) ? {
470
470
  default: Ie(a.message) ? a.message : () => a.message
471
471
  } : null);
472
- l.appContext = t || ce._context, Te(l, s), d.appendChild(s.firstElementChild);
472
+ l.appContext = t || ce._context, Te(l, o), d.appendChild(o.firstElementChild);
473
473
  const r = l.component, c = {
474
474
  id: n,
475
475
  vnode: l,
@@ -488,12 +488,12 @@ const it = (d) => {
488
488
  } };
489
489
  const t = it(d);
490
490
  if (t.grouping && H.length) {
491
- const o = H.find(({ vnode: s }) => {
491
+ const s = H.find(({ vnode: o }) => {
492
492
  var a;
493
- return ((a = s.props) == null ? void 0 : a.message) === t.message;
493
+ return ((a = o.props) == null ? void 0 : a.message) === t.message;
494
494
  });
495
- if (o)
496
- return o.props.repeatNum += 1, o.props.type = t.type, o.handler;
495
+ if (s)
496
+ return s.props.repeatNum += 1, s.props.type = t.type, s.handler;
497
497
  }
498
498
  if (fe(T.max) && H.length >= T.max)
499
499
  return { close: () => {
@@ -582,9 +582,9 @@ class O extends Ae {
582
582
  */
583
583
  createCursor(e) {
584
584
  return (t, n) => {
585
- const o = this.domElement.style.cursor;
585
+ const s = this.domElement.style.cursor;
586
586
  this.domElement.style.cursor = e, this.addEventRecord("clear", () => {
587
- this.domElement.style.cursor = o ?? "default";
587
+ this.domElement.style.cursor = s ?? "default";
588
588
  }), t(n);
589
589
  };
590
590
  }
@@ -604,14 +604,14 @@ class O extends Ae {
604
604
  */
605
605
  createPointerMove(e) {
606
606
  const t = this.editor, n = new M();
607
- let o = null, s = null, a = null;
607
+ let s = null, o = null, a = null;
608
608
  const l = t.addEventListener("pointerPositionChange", () => {
609
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);
610
+ if (s && t.eventInput.isKeyDown("shift")) {
611
+ const i = Math.abs(r.x - s.x), c = Math.abs(r.y - s.y);
612
+ i > c ? n.set(r.x, s.y) : n.set(s.x, r.y), e(n, !1);
613
+ } else if (o && a && t.eventInput.isKeyDown("alt")) {
614
+ const i = o.projectPoint(r, !1), c = a.projectPoint(r, !1);
615
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
617
  const { point: i, find: c, line: m } = t.renderManager.adsorption();
@@ -623,7 +623,7 @@ class O extends Ae {
623
623
  l();
624
624
  },
625
625
  setBaseLine(r, i) {
626
- if (s = r, o = i, r && i) {
626
+ if (o = r, s = i, r && i) {
627
627
  const c = r.normal();
628
628
  a = new N(
629
629
  i.clone().add(c.clone().multiplyScalar(10)),
@@ -651,7 +651,7 @@ class bn extends O {
651
651
  * @param next
652
652
  */
653
653
  selectPoint(e) {
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([
654
+ let t = this.parent?.findComponentByName("Editor"), n = null, s = null, o = [], a = this.renderer.createCircle(M.zero(), { color: 65280 }), l = t.domContainer.domElement, r = new ye([], 16711935), i = new ye([
655
655
  new u.Vector3(-1e4, 0, 0),
656
656
  new u.Vector3(1e4, 0, 0),
657
657
  new u.Vector3(0, -1e4, 0),
@@ -664,11 +664,11 @@ class bn extends O {
664
664
  linewidth: 0.1
665
665
  }), this.container.add(r);
666
666
  const c = () => {
667
- r.setPoint(...s, n, o), i.position.copy(o), this.container.add(i), i.computeLineDistances();
667
+ r.setPoint(...o, n, s), i.position.copy(s), this.container.add(i), i.computeLineDistances();
668
668
  }, m = new u.Vector3();
669
669
  let y;
670
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));
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 && s && (c(), s.copy(m));
672
672
  });
673
673
  this.addEventRecord(
674
674
  "clear",
@@ -676,21 +676,21 @@ class bn extends O {
676
676
  t.eventInput.addEventListener("codeChange", async () => {
677
677
  if (t.eventInput.isKeyDown("mouse_0")) {
678
678
  if (!n) {
679
- n = m.clone(), o = m.clone(), c(), f.setBaseLine(y ?? null, M.from(n));
679
+ n = m.clone(), s = m.clone(), c(), f.setBaseLine(y ?? null, M.from(n));
680
680
  return;
681
681
  }
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();
682
+ s = m.clone(), o.push(n.clone(), s.clone());
683
+ const g = new N(M.from(n), M.from(s));
684
+ f.setBaseLine(g, g.end), n.copy(s), c();
685
685
  } else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
686
- if (s.length) {
686
+ if (o.length) {
687
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]));
688
+ if (o.pop(), s?.copy(g), n?.copy(o.pop()), c(), o.length >= 2) {
689
+ const h = new N(M.from(o[o.length - 2]), M.from(o[o.length - 1]));
690
690
  f.setBaseLine(h, h.end);
691
691
  }
692
692
  }
693
- } else t.eventInput.isKeyDowns(this.confirmKeys) && e(s);
693
+ } else t.eventInput.isKeyDowns(this.confirmKeys) && e(o);
694
694
  }),
695
695
  function() {
696
696
  r.removeFromParent(), a.removeFromParent(), i.removeFromParent();
@@ -702,8 +702,8 @@ class bn extends O {
702
702
  */
703
703
  end(e, t) {
704
704
  const n = [];
705
- for (let o = 0; o < t.length; o += 2)
706
- n.push(new N(M.from(t[o]), M.from(t[o + 1])));
705
+ for (let s = 0; s < t.length; s += 2)
706
+ n.push(new N(M.from(t[s]), M.from(t[s + 1])));
707
707
  e(n);
708
708
  }
709
709
  /** 执行完成
@@ -778,8 +778,8 @@ class rt extends O {
778
778
  * @param next
779
779
  */
780
780
  start() {
781
- const e = this.editor, t = e.eventInput, n = new u.Mesh(), o = e.domContainer.domElement;
782
- let s = null;
781
+ const e = this.editor, t = e.eventInput, n = new u.Mesh(), s = e.domContainer.domElement;
782
+ let o = null;
783
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
785
  const r = e.pointerPosition.clone(), i = e.pointerPosition.clone(), c = new u.Mesh();
@@ -830,24 +830,24 @@ class rt extends O {
830
830
  const { line: r } = e.renderManager.adsorption();
831
831
  if (r) {
832
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;
833
+ n.geometry = e.renderManager.createGeometry({ position: i.createGeometry() }, 6), this.container.add(n), s.style.cursor = "pointer", o = r;
834
834
  const c = r.center;
835
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(), o.style.cursor = "default", s = null, l.visible = !1;
837
+ n.removeFromParent(), s.style.cursor = "default", o = null, l.visible = !1;
838
838
  }),
839
839
  t.addEventListener("codeChange", () => {
840
840
  if (t.isKeyDown("mouse_0")) {
841
- if (!s) return a();
841
+ if (!o) return a();
842
842
  if (t.isKeyDown("alt"))
843
- return this.removeSelectLine(s);
844
- t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(s);
843
+ return this.removeSelectLine(o);
844
+ t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(o);
845
845
  } else if (t.isKeyDown("mouse_1")) {
846
- if (!s) return;
847
- this.removeSelectLine(s);
846
+ if (!o) return;
847
+ this.removeSelectLine(o);
848
848
  } else if (t.isKeyDown("mouse_2")) {
849
- if (!s) return;
850
- this.addSelectLine(s);
849
+ if (!o) return;
850
+ this.addSelectLine(o);
851
851
  } else t.isKeyDowns(["control", "z"]) ? e.commandManager.rollback() : t.isKeyDowns(["control", "y"]) && e.commandManager.revokeRollback();
852
852
  }),
853
853
  function() {
@@ -934,25 +934,25 @@ class Cn 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 o = this.commandFlowMap.get(e);
938
- if (!o)
937
+ const s = this.commandFlowMap.get(e);
938
+ if (!s)
939
939
  throw new Error(`命令流 ${e} 不存在`);
940
- this.lock = !0, this.abortController = new AbortController(), this.currentName = e, o.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
940
+ this.lock = !0, this.abortController = new AbortController(), this.currentName = e, s.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
941
941
  try {
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) => {
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((l) => {
945
945
  this.resolve = l, a(l, t);
946
946
  }), this.abortController.signal.aborted) {
947
- o.dispatchEvent({ type: "executionInterrupt", index: s }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: s }), this.dispatchEvent({ type: "cancel", name: e });
947
+ s.dispatchEvent({ type: "executionInterrupt", index: o }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: o }), this.dispatchEvent({ type: "cancel", name: e });
948
948
  break;
949
949
  } else
950
- o.dispatchEvent({ type: "executionCompleted", index: s, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: s, data: t });
950
+ s.dispatchEvent({ type: "executionCompleted", index: o, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: o, data: t });
951
951
  }
952
- } catch (s) {
953
- console.error(s);
952
+ } catch (o) {
953
+ console.error(o);
954
954
  } finally {
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);
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);
956
956
  }
957
957
  return t;
958
958
  }
@@ -970,7 +970,7 @@ class Cn 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((o, s) => s(o), e.data);
973
+ const n = t.rollbacklist.reduce((s, o) => o(s), 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,12 +988,15 @@ class Cn 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((o, s) => s(o), e.data);
991
+ const n = t.revokeRollbacklist.reduce((s, o) => o(s), 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
+ destroy() {
998
+ this.cancel(), this.commandFlowMap.clear(), this.lock = !1, this.abortController = null, this.resolve = null, this.executionResolve = null, this.executionPromise = null, this.currentName = null, this.operationList.length = 0, this.rollbackList.length = 0;
999
+ }
997
1000
  }
998
1001
  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({
999
1002
  __proto__: null,
@@ -1016,9 +1019,9 @@ const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
1016
1019
  }, 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
1020
  __proto__: null,
1018
1021
  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({
1022
+ }, Symbol.toStringTag, { value: "Module" })), Fn = "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", zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1020
1023
  __proto__: null,
1021
- default: zn
1024
+ default: Fn
1022
1025
  }, 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
1026
  __proto__: null,
1024
1027
  default: Kn
@@ -1040,17 +1043,17 @@ const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
1040
1043
  }, 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
1044
  __proto__: null,
1042
1045
  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({
1046
+ }, 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", es = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1044
1047
  __proto__: null,
1045
1048
  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 {
1049
+ }, Symbol.toStringTag, { value: "Module" })), ts = "data:image/png;base64,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", ns = new u.TextureLoader(), ss = ns.load(ts);
1050
+ class os extends Ae {
1048
1051
  static name = "RenderManager";
1049
1052
  container = new u.Group();
1050
1053
  lines = [];
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
+ pointVirtualGrid = new Fe();
1055
+ quadtree = new ze(new Ye());
1056
+ verticalReferenceLineFlag = new u.Mesh(new u.PlaneGeometry(0.3, 0.3), new u.MeshBasicMaterial({ map: ss, color: 58111, transparent: !0 }));
1054
1057
  onAddFromParent() {
1055
1058
  const e = this.dxfLineModel;
1056
1059
  this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new u.LineBasicMaterial({
@@ -1070,17 +1073,11 @@ class so extends Ae {
1070
1073
  return;
1071
1074
  } else
1072
1075
  this.updatedMode = "dxf";
1073
- this.pointVirtualGrid = new ze();
1076
+ this.pointVirtualGrid = new Fe();
1074
1077
  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 Fe(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
1076
- t.userData.isDoor || this.addLine(t.clone());
1077
- }), this.dxf.doorLineSegment.forEach((t) => {
1078
- const n = t.clone();
1079
- n.userData = {
1080
- isDoor: !0,
1081
- doorDirectConnection: !0
1082
- }, this.addLine(n);
1083
- }), this.draw();
1078
+ (e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new ze(e), this.lines.length = 0;
1079
+ const t = this.dxf.getLineSegments();
1080
+ this.addLines(t), this.draw();
1084
1081
  }
1085
1082
  /** 添加线段
1086
1083
  * @param line
@@ -1101,11 +1098,11 @@ class so extends Ae {
1101
1098
  for (let t = 0; t < e.length; t++) {
1102
1099
  const n = e[t];
1103
1100
  this.lines.push(n), this.pointVirtualGrid.insert(n.start, n), this.pointVirtualGrid.insert(n.end, n);
1104
- const o = {
1101
+ const s = {
1105
1102
  line: n,
1106
1103
  userData: void 0
1107
1104
  };
1108
- n.userData.quadtreeNode = o, this.quadtree.insert(o);
1105
+ n.userData.quadtreeNode = s, this.quadtree.insert(s);
1109
1106
  }
1110
1107
  }
1111
1108
  /** 移除线段
@@ -1124,8 +1121,8 @@ class so extends Ae {
1124
1121
  for (let t = 0; t < e.length; t++) {
1125
1122
  const n = e[t];
1126
1123
  n.userData.quadtreeNode && this.quadtree.remove(n.userData.quadtreeNode), this.pointVirtualGrid.remove(n.start), this.pointVirtualGrid.remove(n.end);
1127
- const o = this.lines.indexOf(n);
1128
- this.lines.splice(o, 1);
1124
+ const s = this.lines.indexOf(n);
1125
+ this.lines.splice(s, 1);
1129
1126
  }
1130
1127
  this.draw();
1131
1128
  }
@@ -1134,15 +1131,15 @@ class so extends Ae {
1134
1131
  */
1135
1132
  draw(e = !0) {
1136
1133
  this.container.clear();
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;
1134
+ const t = [], n = [], s = [];
1135
+ this.lines.forEach((o) => {
1136
+ if (o.points.forEach((a) => {
1137
+ o.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
1138
+ }), o.userData.isWindow && o.userData.drawWindow && o.userData.drawWindow.forEach(({ width: a, p: l }) => {
1139
+ const r = M.from(l), i = o.direction(), c = r.clone().add(i.clone().multiplyScalar(a * 0.5)), m = r.clone().add(i.clone().multiplyScalar(-a * 0.5));
1140
+ s.push(c.x, c.y, 1e-3), s.push(m.x, m.y, 1e-3);
1141
+ }), o.userData.isVerticalReferenceLine) {
1142
+ const a = o.center;
1146
1143
  this.verticalReferenceLineFlag.position.set(a.x, a.y, 0), this.container.add(this.verticalReferenceLineFlag);
1147
1144
  }
1148
1145
  }), t.length && this.renderer.createLineSegments({
@@ -1153,9 +1150,9 @@ class so extends Ae {
1153
1150
  position: n
1154
1151
  }, n.length / 3, {
1155
1152
  color: 16776960
1156
- }, this.container), o.length && this.renderer.createLineSegments({
1157
- position: o
1158
- }, o.length / 3, {
1153
+ }, this.container), s.length && this.renderer.createLineSegments({
1154
+ position: s
1155
+ }, s.length / 3, {
1159
1156
  color: 16711935
1160
1157
  }, this.container), e && this.synchronizeDxf();
1161
1158
  }
@@ -1164,18 +1161,18 @@ class so extends Ae {
1164
1161
  * @returns
1165
1162
  */
1166
1163
  adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
1167
- const o = this.parent?.findComponentByName("Editor"), s = M.from(o.pointerPosition);
1168
- let a = n.queryCircle(s, e);
1164
+ const s = this.parent?.findComponentByName("Editor"), o = M.from(s.pointerPosition);
1165
+ let a = n.queryCircle(o, e);
1169
1166
  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) {
1167
+ let l = a.map((r) => r.line.projectPoint(o));
1168
+ if (a = a.filter((r, i) => !!l[i]), l = l.filter((r, i) => !!l[i]), l.sort((r, i) => r && i ? r.distance(o) - i.distance(o) : 0), l.length) {
1172
1169
  const r = a[0].line, i = l[0];
1173
- return r.start.distance(s) < e * 1.5 ? {
1170
+ return r.start.distance(o) < e * 1.5 ? {
1174
1171
  point: new u.Vector3(r.start.x, r.start.y, 0),
1175
1172
  find: !0,
1176
1173
  mode: "point",
1177
1174
  line: r
1178
- } : r.end.distance(s) < e * 1.5 ? {
1175
+ } : r.end.distance(o) < e * 1.5 ? {
1179
1176
  point: new u.Vector3(r.end.x, r.end.y, 0),
1180
1177
  find: !0,
1181
1178
  mode: "point",
@@ -1189,7 +1186,7 @@ class so extends Ae {
1189
1186
  }
1190
1187
  }
1191
1188
  return {
1192
- point: new u.Vector3(o.pointerPosition.x, o.pointerPosition.y, 0),
1189
+ point: new u.Vector3(s.pointerPosition.x, s.pointerPosition.y, 0),
1193
1190
  find: !1
1194
1191
  };
1195
1192
  }
@@ -1198,8 +1195,8 @@ class so extends Ae {
1198
1195
  */
1199
1196
  createGeometry(e, t) {
1200
1197
  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));
1198
+ return Object.keys(e).forEach((s) => {
1199
+ n.setAttribute("position", new u.BufferAttribute(new Float32Array(e[s]), e[s].length / t));
1203
1200
  }), n;
1204
1201
  }
1205
1202
  /**
@@ -1207,21 +1204,21 @@ class so extends Ae {
1207
1204
  */
1208
1205
  toJson() {
1209
1206
  return this.lines.map((e) => {
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) }));
1207
+ 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) }));
1211
1208
  return {
1212
1209
  start: e.start.toJson(this.dxf.originalZAverage),
1213
1210
  end: e.end.toJson(this.dxf.originalZAverage),
1214
- insetionArr: o,
1211
+ insetionArr: s,
1215
1212
  isDoor: t.isDoor,
1216
1213
  doorDirectConnection: t.isDoor,
1217
1214
  length: e.length(),
1218
1215
  isWindow: t.isWindow,
1219
1216
  isVerticalReferenceLine: t.isVerticalReferenceLine,
1220
1217
  wallWidth: e.userData.wallWidth,
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
+ drawWindow: n && n.map((o) => ({
1219
+ p: { x: o.p.x, y: o.p.y, z: o.p.z },
1220
+ width: o.width,
1221
+ full: o.full
1225
1222
  }))
1226
1223
  };
1227
1224
  });
@@ -1262,7 +1259,7 @@ class so extends Ae {
1262
1259
  return this.parent?.findComponentByName("DxfLineModel");
1263
1260
  }
1264
1261
  }
1265
- class ao extends O {
1262
+ class as extends O {
1266
1263
  static name = "DrawDoorLine";
1267
1264
  container = new u.Group();
1268
1265
  interruptKeys = ["escape"];
@@ -1270,18 +1267,18 @@ class ao extends O {
1270
1267
  commandName = "draw-door-line";
1271
1268
  onAddFromParent(e) {
1272
1269
  super.onAddFromParent(e);
1273
- const t = e.findComponentByName("Editor"), n = t.eventInput, o = t.commandManager;
1270
+ const t = e.findComponentByName("Editor"), n = t.eventInput, s = t.commandManager;
1274
1271
  this.editor.container.add(this.container);
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);
1272
+ 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));
1273
+ 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 () => {
1274
+ n.isKeyCombination(this.commandName) && await s.start(this.commandName);
1278
1275
  });
1279
1276
  }
1280
1277
  /** 选择点
1281
1278
  * @param next
1282
1279
  */
1283
1280
  selectPoint(e) {
1284
- let t = this.parent?.findComponentByName("Editor"), n = null, o = this.renderer.createCircle(M.zero(), { color: 65280 }), s = new ye([], 16711935), a = new ye([
1281
+ let t = this.parent?.findComponentByName("Editor"), n = null, s = this.renderer.createCircle(M.zero(), { color: 65280 }), o = new ye([], 16711935), a = new ye([
1285
1282
  new u.Vector3(-1e4, 0, 0),
1286
1283
  new u.Vector3(1e4, 0, 0),
1287
1284
  new u.Vector3(0, -1e4, 0),
@@ -1292,13 +1289,13 @@ class ao extends O {
1292
1289
  dashSize: 0.1,
1293
1290
  gapSize: 0.1,
1294
1291
  linewidth: 0.1
1295
- }), this.container.add(s);
1292
+ }), this.container.add(o);
1296
1293
  let l = null;
1297
1294
  this.addEventRecord(
1298
1295
  "clear",
1299
1296
  t.addEventListener("pointerPositionChange", () => {
1300
1297
  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");
1298
+ n && o.setPoint(n, r), this.dispatchEvent({ type: "pointerMove", point: r }), i ? (s.position.set(r.x, r.y, 0), this.container.add(s), this.domElement.style.cursor = "none", l = r.clone()) : (l = null, s.removeFromParent(), this.domElement.style.cursor = "no-drop");
1302
1299
  }),
1303
1300
  t.eventInput.addEventListener("codeChange", async () => {
1304
1301
  if (t.eventInput.isKeyDown("mouse_0") && l) {
@@ -1310,7 +1307,7 @@ class ao extends O {
1310
1307
  }
1311
1308
  }),
1312
1309
  function() {
1313
- s.removeFromParent(), o.removeFromParent(), a.removeFromParent();
1310
+ o.removeFromParent(), s.removeFromParent(), a.removeFromParent();
1314
1311
  }
1315
1312
  );
1316
1313
  }
@@ -1321,21 +1318,21 @@ class ao extends O {
1321
1318
  */
1322
1319
  end(e, t) {
1323
1320
  const n = [];
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;
1321
+ for (let s = 0; s < t.length; s += 2) {
1322
+ const o = M.from(t[s]), a = M.from(t[s + 1]), l = this.renderManager.quadtree.queryCircle(o, 1e-3)[0].line, r = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
1326
1323
  let i = null;
1327
1324
  l === r && (i = {
1328
1325
  oldLine: l,
1329
1326
  newLine1: new N(
1330
1327
  l.start,
1331
- l.start.distance(s) < l.start.distance(a) ? s.clone() : a.clone()
1328
+ l.start.distance(o) < l.start.distance(a) ? o.clone() : a.clone()
1332
1329
  ),
1333
1330
  newLine2: new N(
1334
1331
  l.end,
1335
- l.end.distance(s) < l.end.distance(a) ? s.clone() : a.clone()
1332
+ l.end.distance(o) < l.end.distance(a) ? o.clone() : a.clone()
1336
1333
  )
1337
1334
  });
1338
- const c = new N(s, a);
1335
+ const c = new N(o, a);
1339
1336
  c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
1340
1337
  line: c,
1341
1338
  option: i
@@ -1366,7 +1363,7 @@ class ao extends O {
1366
1363
  return this.completed(e), e;
1367
1364
  }
1368
1365
  }
1369
- class io extends O {
1366
+ class is extends O {
1370
1367
  static name = "DrawWindow";
1371
1368
  container = new u.Group();
1372
1369
  interruptKeys = ["escape"];
@@ -1381,24 +1378,24 @@ class io extends O {
1381
1378
  * @param next
1382
1379
  */
1383
1380
  selectPointStart(e) {
1384
- let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
1381
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), s = null;
1385
1382
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
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());
1383
+ const { point: o, line: a, find: l } = this.editor.renderManager.adsorption();
1384
+ this.dispatchEvent({ type: "pointerMove", point: o }), l ? (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());
1388
1385
  })).add(this.eventInput.addEventListener("codeChange", () => {
1389
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
1386
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
1390
1387
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
1391
1388
  }
1392
1389
  /** 选择结束点
1393
1390
  * @param next
1394
1391
  */
1395
1392
  selectPointEnd(e, { point: t, line: n }) {
1396
- let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
1397
- this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1393
+ let s = null, o = this.renderer.createCircle(M.zero(), { color: 16711935 });
1394
+ this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1398
1395
  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());
1396
+ this.dispatchEvent({ type: "pointerMove", point: a }), l && r === 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());
1400
1397
  })).add(this.eventInput.addEventListener("codeChange", () => {
1401
- this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
1398
+ this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
1402
1399
  }));
1403
1400
  }
1404
1401
  /**
@@ -1406,13 +1403,13 @@ class io extends O {
1406
1403
  * @param next
1407
1404
  * @param points
1408
1405
  */
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 = {
1406
+ end(e, { start: t, end: n, line: s }) {
1407
+ const o = new N(M.from(t), M.from(n)), a = o.center, l = o.length(), r = {
1411
1408
  p: new u.Vector3(a.x, a.y, 0),
1412
1409
  width: l,
1413
- full: Math.abs(l - o.length()) < 0.01
1410
+ full: Math.abs(l - s.length()) < 0.01
1414
1411
  };
1415
- e({ line: o, doorDataItem: r });
1412
+ e({ line: s, doorDataItem: r });
1416
1413
  }
1417
1414
  /** 执行完成
1418
1415
  */
@@ -1425,8 +1422,8 @@ class io extends O {
1425
1422
  rollback(e) {
1426
1423
  const { doorDataItem: t, line: n } = e;
1427
1424
  if (n.userData.drawWindow) {
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());
1425
+ const s = n.userData.drawWindow.indexOf(t);
1426
+ s !== -1 && (n.userData.drawWindow.splice(s, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
1430
1427
  }
1431
1428
  return e;
1432
1429
  }
@@ -1474,19 +1471,19 @@ class le extends O {
1474
1471
  * @param id
1475
1472
  * @returns
1476
1473
  */
1477
- setLinePoint(e, t, n, o = "all", s = [], a = At()) {
1474
+ setLinePoint(e, t, n, s = "all", o = [], a = At()) {
1478
1475
  if (e.userData.setLinePointUUid === a) return [];
1479
1476
  e.userData.setLinePointUUid = a;
1480
1477
  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));
1478
+ (s === "start" || s === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((y) => y.userData !== e)), (s === "end" || s === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((y) => y.userData !== e));
1482
1479
  const i = e.clone();
1483
1480
  let c = "";
1484
- t && (e.start.equal(t) || (c = "start"), s.push({
1481
+ t && (e.start.equal(t) || (c = "start"), o.push({
1485
1482
  point: e.start,
1486
1483
  oldPoint: e.start.clone(),
1487
1484
  newPoint: t,
1488
1485
  line: e
1489
- }), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), s.push({
1486
+ }), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), o.push({
1490
1487
  point: e.end,
1491
1488
  oldPoint: e.end.clone(),
1492
1489
  newPoint: n,
@@ -1498,17 +1495,17 @@ class le extends O {
1498
1495
  if (x.directionEqual(i))
1499
1496
  if (I === "start") {
1500
1497
  const K = e.projectPoint(x.end, !1);
1501
- if (K) return this.setLinePoint(x, f, K, "end", s, a);
1498
+ if (K) return this.setLinePoint(x, f, K, "end", o, a);
1502
1499
  } else {
1503
1500
  const K = e.projectPoint(x.start, !1);
1504
- if (K) return this.setLinePoint(x, K, f, "start", s, a);
1501
+ if (K) return this.setLinePoint(x, K, f, "start", o, a);
1505
1502
  }
1506
1503
  (c === "all" || g === c) && this.setLinePoint(
1507
1504
  x,
1508
1505
  x.start === E ? f : x.start,
1509
1506
  x.end === E ? f : x.end,
1510
1507
  x.start === E ? "end" : "start",
1511
- s,
1508
+ o,
1512
1509
  a
1513
1510
  );
1514
1511
  });
@@ -1527,16 +1524,16 @@ class le extends O {
1527
1524
  */
1528
1525
  correction(e, t = [], n = /* @__PURE__ */ new Set()) {
1529
1526
  n.add(e);
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) => {
1527
+ 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, l] = s.reduce((i, c) => {
1531
1528
  const [m, y] = i;
1532
1529
  return c.sameEndpoint(e) ? m.push(c) : y.push(c), i;
1533
1530
  }, [[], []]);
1534
1531
  a.forEach((i) => {
1535
- const c = i.direction(), m = s.angleBetween(c, "angle");
1532
+ const c = i.direction(), m = o.angleBetween(c, "angle");
1536
1533
  if (Math.abs(90 - m) > 45) return !1;
1537
1534
  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))
1535
+ g.clone().add(o.clone().multiplyScalar(1)),
1536
+ g.clone().add(o.clone().multiplyScalar(-1))
1540
1537
  ), E = h.projectPoint(f, !1);
1541
1538
  if (E) {
1542
1539
  const x = [];
@@ -1549,14 +1546,14 @@ class le extends O {
1549
1546
  ), t.push(x);
1550
1547
  }
1551
1548
  return n.add(i), !1;
1552
- }), s.copy(e.direction());
1549
+ }), o.copy(e.direction());
1553
1550
  const r = (i, c, m) => {
1554
1551
  const y = e.projectPoint(c);
1555
1552
  if (y) i.copy(y);
1556
1553
  else {
1557
1554
  const f = new N(
1558
- c.clone().add(s.clone().multiplyScalar(1)),
1559
- c.clone().add(s.clone().multiplyScalar(-1))
1555
+ c.clone().add(o.clone().multiplyScalar(1)),
1556
+ c.clone().add(o.clone().multiplyScalar(-1))
1560
1557
  ), g = f.projectPoint(i, !1);
1561
1558
  if (g) {
1562
1559
  const h = [];
@@ -1579,16 +1576,16 @@ class le extends O {
1579
1576
  const c = e.getIntersection(i);
1580
1577
  if (c) {
1581
1578
  const m = new N(
1582
- i.start.clone().add(s.clone().multiplyScalar(1)),
1583
- i.start.clone().add(s.clone().multiplyScalar(-1))
1579
+ i.start.clone().add(o.clone().multiplyScalar(1)),
1580
+ i.start.clone().add(o.clone().multiplyScalar(-1))
1584
1581
  ), y = m.projectPoint(c, !1);
1585
1582
  if (y) {
1586
1583
  const h = [];
1587
1584
  this.setLinePoint(i, y, i.end, "start", h), t.push(h);
1588
1585
  }
1589
1586
  const f = new N(
1590
- i.end.clone().add(s.clone().multiplyScalar(1)),
1591
- i.end.clone().add(s.clone().multiplyScalar(-1))
1587
+ i.end.clone().add(o.clone().multiplyScalar(1)),
1588
+ i.end.clone().add(o.clone().multiplyScalar(-1))
1592
1589
  ), g = f.projectPoint(c, !1);
1593
1590
  if (g) {
1594
1591
  const h = [];
@@ -1620,9 +1617,9 @@ class le extends O {
1620
1617
  if (Array.isArray(e)) {
1621
1618
  const t = [];
1622
1619
  e.forEach((n) => {
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);
1620
+ n.forEach((s) => {
1621
+ const { line: o, newPoint: a, point: l } = s;
1622
+ l.copy(a), this.renderManager.removeLine(o), this.renderManager.addLine(o), o.userData.isWindow && t.push(o);
1626
1623
  });
1627
1624
  }), Ke(...t);
1628
1625
  } else
@@ -1636,9 +1633,9 @@ class le extends O {
1636
1633
  if (Array.isArray(e)) {
1637
1634
  const t = [];
1638
1635
  for (let n = e.length - 1; n >= 0; n--) {
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;
1636
+ const s = e[n];
1637
+ for (let o = s.length - 1; o >= 0; o--) {
1638
+ const a = s[o], { line: l, oldPoint: r, point: i } = a;
1642
1639
  i.copy(r), this.renderManager.removeLine(l), this.renderManager.addLine(l), l.userData.isWindow && t.push(l);
1643
1640
  }
1644
1641
  }
@@ -1677,9 +1674,9 @@ class $ extends O {
1677
1674
  * @todo 合并所有
1678
1675
  */
1679
1676
  mergeLines(e, t) {
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());
1677
+ t = t.filter((o) => !o.userData.isDoor);
1678
+ const { newLines: n, deleteLines: s } = N.autoMergeLines(t);
1679
+ n.length ? (e({ newLines: n, deleteLines: s }), k({ message: "已合并", type: "success" })) : (k({ message: "合并失败,未找到共用点", type: "warning" }), this.commandManager.cancel());
1683
1680
  }
1684
1681
  /** 执行完成
1685
1682
  * @param data
@@ -1758,14 +1755,14 @@ class te extends O {
1758
1755
  * @param next
1759
1756
  */
1760
1757
  connection(e, t) {
1761
- let n, o, s = 1 / 0;
1758
+ let n, s, o = 1 / 0;
1762
1759
  for (let a = 0; a < 2; a++)
1763
1760
  for (let l = 0; l < 2; l++) {
1764
1761
  const r = t[0].points[a], i = t[1].points[l], c = r.distance(i);
1765
- c < s && (n = r, o = i, s = c);
1762
+ c < o && (n = r, s = i, o = c);
1766
1763
  }
1767
- if (n && o) {
1768
- const a = new N(n.clone(), o.clone());
1764
+ if (n && s) {
1765
+ const a = new N(n.clone(), s.clone());
1769
1766
  e(a), k({ message: "连接成功", type: "success" });
1770
1767
  } else this.cancel();
1771
1768
  }
@@ -1811,26 +1808,26 @@ class ne extends O {
1811
1808
  * @param next
1812
1809
  */
1813
1810
  connection(e, t) {
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" });
1811
+ const n = t[0], s = t[1], o = t[0].getIntersection(t[1]);
1812
+ if (!o) return;
1813
+ const a = n.points.map((c) => c.clone()), l = s.points.map((c) => c.clone());
1814
+ 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);
1815
+ const r = n.points.map((c) => c.clone()), i = s.points.map((c) => c.clone());
1816
+ e({ line1: n, line2: s, oldLine1: a, oldLine2: l, newLine1: r, newLine2: i }), k({ message: "连接成功", type: "success" });
1820
1817
  }
1821
1818
  /** 执行完成
1822
1819
  * @param next
1823
1820
  * @param selectLines
1824
1821
  */
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();
1822
+ completed({ line1: e, line2: t, newLine1: n, newLine2: s }) {
1823
+ this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...s), this.renderManager.addLines([e, t]), this.renderManager.draw();
1827
1824
  }
1828
1825
  /** 回滚操作
1829
1826
  * @param data
1830
1827
  */
1831
1828
  rollback(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;
1829
+ const { line1: t, line2: n, oldLine1: s, oldLine2: o } = e;
1830
+ return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...s), n.set(...o), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
1834
1831
  }
1835
1832
  /** 撤回回滚
1836
1833
  * @param lines
@@ -1840,15 +1837,15 @@ class ne extends O {
1840
1837
  return this.completed(e), e;
1841
1838
  }
1842
1839
  }
1843
- class oe extends O {
1840
+ class se extends O {
1844
1841
  static name = "DeleteSelectWindow";
1845
1842
  shortcutKeys = ["Q", "Delete"];
1846
1843
  static commandName = "deleteSelectWindow";
1847
1844
  onAddFromParent(e) {
1848
1845
  super.onAddFromParent(e);
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]);
1846
+ 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));
1847
+ 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 () => {
1848
+ this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName, [...this.default.selectLines]);
1852
1849
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1853
1850
  }
1854
1851
  /**
@@ -1861,13 +1858,13 @@ class oe extends O {
1861
1858
  * @param next
1862
1859
  */
1863
1860
  end(e, t) {
1864
- let n = !1, o = [];
1865
- t.forEach((s) => {
1866
- s.userData.isWindow && (o.push({
1867
- line: s,
1868
- drawDoorData: s.userData.drawDoorData
1861
+ let n = !1, s = [];
1862
+ t.forEach((o) => {
1863
+ o.userData.isWindow && (s.push({
1864
+ line: o,
1865
+ drawDoorData: o.userData.drawDoorData
1869
1866
  }), n = !0);
1870
- }), n && k({ message: "删除窗户成功", type: "success" }), e(o);
1867
+ }), n && k({ message: "删除窗户成功", type: "success" }), e(s);
1871
1868
  }
1872
1869
  /**
1873
1870
  * 完成
@@ -1897,16 +1894,16 @@ class oe extends O {
1897
1894
  return this.completed(e), e;
1898
1895
  }
1899
1896
  }
1900
- class se extends O {
1897
+ class oe extends O {
1901
1898
  static name = "SelectAll";
1902
1899
  container = new u.Group();
1903
1900
  shortcutKeys = ["control", "a"];
1904
1901
  static commandName = "selectAll";
1905
1902
  onAddFromParent(e) {
1906
1903
  super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
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);
1904
+ 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));
1905
+ 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 () => {
1906
+ this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName);
1910
1907
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1911
1908
  }
1912
1909
  /** 开始
@@ -1957,19 +1954,19 @@ class ae extends O {
1957
1954
  * @param selectLines
1958
1955
  */
1959
1956
  viewAngle(e, t) {
1960
- const [n, o] = t, s = Math.min(n.length() * 0.8, o.length() * 0.8);
1957
+ const [n, s] = t, o = Math.min(n.length() * 0.8, s.length() * 0.8);
1961
1958
  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;
1959
+ n.sameEndpointAsStart(s) ? (a = n.start, l = n.end) : (a = n.end, l = n.start), s.sameEndpointAsStart(n) ? r = s.end : r = s.start;
1963
1960
  function m(S, L) {
1964
- const b = L.x - S.x, z = L.y - S.y;
1965
- let W = Math.atan2(z, b) * (180 / Math.PI);
1961
+ const b = L.x - S.x, F = L.y - S.y;
1962
+ let W = Math.atan2(F, b) * (180 / Math.PI);
1966
1963
  return W < 0 && (W += 360), W;
1967
1964
  }
1968
1965
  const y = m(a, l), f = m(a, r), g = Math.min(y, f), h = Math.max(y, f), E = [];
1969
1966
  function x(S, L) {
1970
1967
  for (let b = S; 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);
1968
+ 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;
1969
+ E.push(F, W, 0, he, Ce, 0);
1973
1970
  }
1974
1971
  }
1975
1972
  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);
@@ -1977,7 +1974,7 @@ class ae extends O {
1977
1974
  I.geometry = this.renderManager.createGeometry({
1978
1975
  position: E
1979
1976
  }, 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), {
1977
+ const K = Math.cos(c * Math.PI / 180) * o + a.x, Y = Math.sin(c * Math.PI / 180) * o + a.y, Z = this.renderer.createText(Number(i.toFixed(2)), new u.Vector3(K, Y, 0), {
1981
1978
  textShadow: "0px 0px 2px #000"
1982
1979
  }, this.renderManager.container);
1983
1980
  let G = 0;
@@ -2001,24 +1998,24 @@ class dt extends O {
2001
1998
  * @param next
2002
1999
  */
2003
2000
  selectPointStart(e) {
2004
- let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
2001
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), s = null;
2005
2002
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
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());
2003
+ const { point: o, line: a, find: l } = this.editor.renderManager.adsorption();
2004
+ this.dispatchEvent({ type: "pointerMove", point: o }), l ? (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());
2008
2005
  })).add(this.eventInput.addEventListener("codeChange", () => {
2009
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
2006
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
2010
2007
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
2011
2008
  }
2012
2009
  /** 选择结束点
2013
2010
  * @param next
2014
2011
  */
2015
2012
  selectPointEnd(e, { point: t, line: n }) {
2016
- let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
2017
- this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2013
+ let s = null, o = this.renderer.createCircle(M.zero(), { color: 16711935 });
2014
+ this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2018
2015
  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());
2016
+ this.dispatchEvent({ type: "pointerMove", point: a }), l && r === 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());
2020
2017
  })).add(this.eventInput.addEventListener("codeChange", () => {
2021
- this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
2018
+ this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
2022
2019
  }));
2023
2020
  }
2024
2021
  /**
@@ -2026,17 +2023,17 @@ class dt extends O {
2026
2023
  * @param next
2027
2024
  * @param points
2028
2025
  */
2029
- end(e, { start: t, end: n, line: o }) {
2030
- const s = M.from(t), a = M.from(n);
2026
+ end(e, { start: t, end: n, line: s }) {
2027
+ const o = M.from(t), a = M.from(n);
2031
2028
  e({
2032
- oldLine: o,
2029
+ oldLine: s,
2033
2030
  newLine1: new N(
2034
- o.start,
2035
- o.start.distance(s) < o.start.distance(a) ? s.clone() : a.clone()
2031
+ s.start,
2032
+ s.start.distance(o) < s.start.distance(a) ? o.clone() : a.clone()
2036
2033
  ),
2037
2034
  newLine2: new N(
2038
- o.end,
2039
- o.end.distance(s) < o.end.distance(a) ? s.clone() : a.clone()
2035
+ s.end,
2036
+ s.end.distance(o) < s.end.distance(a) ? o.clone() : a.clone()
2040
2037
  )
2041
2038
  });
2042
2039
  }
@@ -2087,22 +2084,22 @@ class ie extends O {
2087
2084
  }), t[0].userData.isVerticalReferenceLine = !0, e(), this.renderManager.draw();
2088
2085
  }
2089
2086
  }
2090
- const ro = {
2087
+ const rs = {
2091
2088
  key: 0,
2092
2089
  class: "mt-[5px] text-[#ccc] text-[11px] absolute left-[10px] bottom-[10px] rounded-[8px] min-w-[150px] bg-black/15 p-[10px]"
2093
- }, lo = { class: "text-start max-w-[150px]" }, co = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, mo = {
2090
+ }, ds = { class: "text-start max-w-[150px]" }, ls = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, cs = {
2094
2091
  key: 0,
2095
2092
  class: "p-[5px] max-w-[200px]"
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 = {
2093
+ }, ms = { class: "text-[14px] flex flex-col" }, hs = ["onClick"], us = { class: "flex flex-row items-center" }, ps = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, gs = ["src"], vs = { class: "text-wrap" }, fs = {
2097
2094
  key: 1,
2098
2095
  class: "text-[#999]"
2099
- }, wo = {
2096
+ }, ys = {
2100
2097
  style: { "--el-color-primary": "var(--primary-color)" },
2101
2098
  class: "flex flex-row items-center justify-between gap-[5px] mt-[10px] text-[10px]"
2102
- }, bo = {
2099
+ }, ws = {
2103
2100
  key: 0,
2104
2101
  class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
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({
2102
+ }, bs = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, xs = ["onClick", "title"], Cs = ["src"], Es = /* @__PURE__ */ me({
2106
2103
  __name: "EditorTool",
2107
2104
  props: {
2108
2105
  dxfSystem: {},
@@ -2126,11 +2123,11 @@ const ro = {
2126
2123
  }
2127
2124
  }
2128
2125
  }
2129
- async function o() {
2126
+ async function s() {
2130
2127
  const C = await Dt.json();
2131
2128
  Array.isArray(C) && (localStorage.removeItem("orbitControls"), n(C));
2132
2129
  }
2133
- function s({ offsetX: C, offsetY: p }) {
2130
+ function o({ offsetX: C, offsetY: p }) {
2134
2131
  E.mouseMoveEventProxylock = !0;
2135
2132
  const w = document.body.style.cursor;
2136
2133
  document.body.style.cursor = "move";
@@ -2147,7 +2144,7 @@ const ro = {
2147
2144
  };
2148
2145
  document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
2149
2146
  }
2150
- const a = d, l = _(!0), r = _(!0), i = _(!0), c = _(!1), m = _(), y = _(), f = _(!0), g = _(""), h = zt(a.dxfSystem), E = h.findComponentByType(Pt), x = h.findComponentByType(lt), I = h.findComponentByType(rt), K = h.findComponentByType(_t), Y = h.findComponentByType(Nt), Z = _(0), G = _(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": _n, "./assets/images/door.svg": Bn, "./assets/images/intersectionConnection.svg": On, "./assets/images/line.svg": Fn, "./assets/images/mergeLine.svg": Tn, "./assets/images/revokeRollback.svg": jn, "./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 = _(!1), z = _(0), W = _(!1), he = new ResizeObserver(() => e(S.value.left, S.value.top)), Ce = [
2147
+ const a = d, l = _(!0), r = _(!0), i = _(!0), c = _(!1), m = _(), y = _(), f = _(!0), g = _(""), h = Ft(a.dxfSystem), E = h.findComponentByType(Pt), x = h.findComponentByType(lt), I = h.findComponentByType(rt), K = h.findComponentByType(_t), Y = h.findComponentByType(Nt), Z = _(0), G = _(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": _n, "./assets/images/door.svg": Bn, "./assets/images/intersectionConnection.svg": On, "./assets/images/line.svg": zn, "./assets/images/mergeLine.svg": Tn, "./assets/images/revokeRollback.svg": jn, "./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": es }), b = _(!1), F = _(0), W = _(!1), he = new ResizeObserver(() => e(S.value.left, S.value.top)), Ce = [
2151
2148
  { name: "开启绘制线段命令", shortcut: "Ctrl + L" },
2152
2149
  { name: "开启绘制门线命令", shortcut: "Ctrl + M" },
2153
2150
  { name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
@@ -2235,27 +2232,27 @@ const ro = {
2235
2232
  command: $.commandName,
2236
2233
  name: "合并",
2237
2234
  src: L["./assets/images/mergeLine.svg"].default,
2238
- show: A(() => z.value === 2),
2235
+ show: A(() => F.value === 2),
2239
2236
  shortcut: "Ctrl + G"
2240
2237
  },
2241
2238
  {
2242
2239
  command: te.commandName,
2243
2240
  name: "两点连接",
2244
- show: A(() => z.value === 2),
2241
+ show: A(() => F.value === 2),
2245
2242
  src: L["./assets/images/connection.svg"].default,
2246
2243
  shortcut: "Shift + L"
2247
2244
  },
2248
2245
  {
2249
2246
  command: ne.commandName,
2250
2247
  name: "延长线交点连接",
2251
- show: A(() => z.value === 2),
2248
+ show: A(() => F.value === 2),
2252
2249
  src: L["./assets/images/intersectionConnection.svg"].default,
2253
2250
  shortcut: "Ctrl + Shift + L"
2254
2251
  },
2255
2252
  {
2256
2253
  command: le.commandName,
2257
2254
  name: "线段垂直纠正",
2258
- show: A(() => z.value === 1),
2255
+ show: A(() => F.value === 1),
2259
2256
  src: L["./assets/images/verticalCorrection.svg"].default,
2260
2257
  shortcut: `
2261
2258
  Ctrl + C 垂直纠正
@@ -2266,7 +2263,7 @@ const ro = {
2266
2263
  command: ie.commandName,
2267
2264
  name: "y轴垂直基准线",
2268
2265
  show: A(
2269
- () => z.value === 1 && !I.selectLines[0].userData.isDoor
2266
+ () => F.value === 1 && !I.selectLines[0].userData.isDoor
2270
2267
  ),
2271
2268
  src: L["./assets/images/verticalLine.svg"].default,
2272
2269
  shortcut: "V"
@@ -2274,19 +2271,19 @@ const ro = {
2274
2271
  {
2275
2272
  command: ae.commandName,
2276
2273
  name: "角度显示",
2277
- show: A(() => z.value === 2 && I.selectLines[0].sameEndpoint(I.selectLines[1])),
2274
+ show: A(() => F.value === 2 && I.selectLines[0].sameEndpoint(I.selectLines[1])),
2278
2275
  src: L["./assets/images/angle.svg"].default,
2279
2276
  shortcut: "r"
2280
2277
  },
2281
2278
  {
2282
- command: se.commandName,
2279
+ command: oe.commandName,
2283
2280
  name: "全选",
2284
- show: A(() => z.value !== x.renderManager.lines.length),
2281
+ show: A(() => F.value !== x.renderManager.lines.length),
2285
2282
  src: L["./assets/images/selectAll.svg"].default,
2286
2283
  shortcut: "Ctrl + A"
2287
2284
  },
2288
2285
  {
2289
- command: oe.commandName,
2286
+ command: se.commandName,
2290
2287
  name: "清除窗户",
2291
2288
  show: A(() => W.value),
2292
2289
  src: L["./assets/images/deleteSelectWindow.svg"].default,
@@ -2295,7 +2292,7 @@ const ro = {
2295
2292
  {
2296
2293
  command: ee.commandName,
2297
2294
  name: "删除",
2298
- show: A(() => z.value > 0),
2295
+ show: A(() => F.value > 0),
2299
2296
  src: L["./assets/images/deleteSelectLine.svg"].default,
2300
2297
  shortcut: "Delete"
2301
2298
  }
@@ -2316,7 +2313,7 @@ const ro = {
2316
2313
  } else
2317
2314
  we(() => he.observe(m.value));
2318
2315
  }, 100), I.addEventListener("selectLineChange", () => {
2319
- z.value = I.selectLines.length, W.value = I.selectLines.some((C) => C.userData.isWindow);
2316
+ F.value = I.selectLines.length, W.value = I.selectLines.some((C) => C.userData.isWindow);
2320
2317
  }), ["rollback", "completed", "revokeRollback"].forEach((C) => {
2321
2318
  x.commandManager.addEventListener(C, () => {
2322
2319
  setTimeout(() => {
@@ -2324,22 +2321,22 @@ const ro = {
2324
2321
  });
2325
2322
  });
2326
2323
  }), localStorage.getItem("dxfVisible") && (r.value = localStorage.getItem("dxfVisible") == "true");
2327
- }), Ft(() => {
2324
+ }), zt(() => {
2328
2325
  E.mouseMoveEventProxylock = !1, ht(), he.disconnect();
2329
2326
  }), (C, p) => (D(), R("div", {
2330
2327
  ref_key: "elRef",
2331
2328
  ref: m,
2332
2329
  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]"
2333
2330
  }, [
2334
- F(xe, null, {
2331
+ z(xe, null, {
2335
2332
  default: V(() => [
2336
- b.value ? (D(), R("div", ro, [
2333
+ b.value ? (D(), R("div", rs, [
2337
2334
  (D(), R(ve, null, ke(Ce, (w) => P("div", {
2338
2335
  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",
2339
2336
  key: w.name
2340
2337
  }, [
2341
- P("p", lo, de(w.name), 1),
2342
- P("span", co, de(w.shortcut), 1)
2338
+ P("p", ds, de(w.name), 1),
2339
+ P("span", ls, de(w.shortcut), 1)
2343
2340
  ])), 64))
2344
2341
  ])) : q("", !0)
2345
2342
  ]),
@@ -2353,7 +2350,7 @@ const ro = {
2353
2350
  onMousedown: p[10] || (p[10] = (w) => w.stopPropagation())
2354
2351
  }, [
2355
2352
  P("div", {
2356
- onMousedown: s,
2353
+ onMousedown: o,
2357
2354
  class: j([{ "border-b-[#eee] border-b-1": f.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
2358
2355
  }, [
2359
2356
  p[12] || (p[12] = Kt('<div class="flex flex-row" data-v-1a5a6c9b><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-1a5a6c9b><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-1a5a6c9b><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-1a5a6c9b></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-1a5a6c9b>绘制工具</h5></div>', 1)),
@@ -2375,8 +2372,8 @@ const ro = {
2375
2372
  ]), 2))
2376
2373
  ], 32)
2377
2374
  ], 34),
2378
- f.value ? (D(), R("div", mo, [
2379
- P("ul", ho, [
2375
+ f.value ? (D(), R("div", cs, [
2376
+ P("ul", ms, [
2380
2377
  (D(), R(ve, null, ke(ct, (w) => (D(), R(ve, {
2381
2378
  key: w.command
2382
2379
  }, [
@@ -2388,16 +2385,16 @@ const ro = {
2388
2385
  // '!cursor-no-drop': currentCommand !== item.command && currentCommand !== 'default',
2389
2386
  }, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
2390
2387
  }, [
2391
- P("div", po, [
2392
- P("div", go, [
2388
+ P("div", us, [
2389
+ P("div", ps, [
2393
2390
  P("img", {
2394
2391
  class: "size-[14px]",
2395
2392
  src: w.src,
2396
2393
  alt: "",
2397
2394
  srcset: ""
2398
- }, null, 8, vo)
2395
+ }, null, 8, gs)
2399
2396
  ]),
2400
- P("span", fo, de(w.name), 1)
2397
+ P("span", vs, de(w.name), 1)
2401
2398
  ]),
2402
2399
  g.value === w.command ? (D(), R("div", {
2403
2400
  key: 0,
@@ -2416,30 +2413,30 @@ const ro = {
2416
2413
  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" }),
2417
2414
  P("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
2418
2415
  ], -1)
2419
- ]))) : w.shortcut ? (D(), R("div", yo, de(w.shortcut), 1)) : q("", !0)
2420
- ], 10, uo)) : q("", !0)
2416
+ ]))) : w.shortcut ? (D(), R("div", fs, de(w.shortcut), 1)) : q("", !0)
2417
+ ], 10, hs)) : q("", !0)
2421
2418
  ], 64))), 64))
2422
2419
  ]),
2423
- P("div", wo, [
2424
- F(v(Oe), {
2420
+ P("div", ys, [
2421
+ z(v(Oe), {
2425
2422
  size: "small",
2426
2423
  modelValue: b.value,
2427
2424
  "onUpdate:modelValue": p[3] || (p[3] = (w) => b.value = w),
2428
2425
  label: "快捷键提示"
2429
2426
  }, null, 8, ["modelValue"]),
2430
- F(v(Oe), {
2427
+ z(v(Oe), {
2431
2428
  size: "small",
2432
2429
  modelValue: r.value,
2433
2430
  "onUpdate:modelValue": p[4] || (p[4] = (w) => r.value = w),
2434
2431
  label: "dxf"
2435
2432
  }, null, 8, ["modelValue"])
2436
2433
  ]),
2437
- C.permission === "admin" ? (D(), R("div", bo, [
2438
- F(v(re), {
2434
+ C.permission === "admin" ? (D(), R("div", ws, [
2435
+ z(v(re), {
2439
2436
  style: { padding: "5px", "font-size": "10px" },
2440
2437
  size: "small",
2441
2438
  type: "success",
2442
- onClick: o
2439
+ onClick: s
2443
2440
  }, {
2444
2441
  default: V(() => p[14] || (p[14] = [
2445
2442
  X(" 选择文件 ", -1)
@@ -2447,7 +2444,7 @@ const ro = {
2447
2444
  _: 1,
2448
2445
  __: [14]
2449
2446
  }),
2450
- F(v(re), {
2447
+ z(v(re), {
2451
2448
  style: { padding: "5px", "font-size": "10px" },
2452
2449
  size: "small",
2453
2450
  type: "primary",
@@ -2459,7 +2456,7 @@ const ro = {
2459
2456
  _: 1,
2460
2457
  __: [15]
2461
2458
  }),
2462
- F(v(re), {
2459
+ z(v(re), {
2463
2460
  style: { padding: "5px", "font-size": "10px" },
2464
2461
  size: "small",
2465
2462
  type: "primary",
@@ -2471,7 +2468,7 @@ const ro = {
2471
2468
  _: 1,
2472
2469
  __: [16]
2473
2470
  }),
2474
- F(v(re), {
2471
+ z(v(re), {
2475
2472
  style: { padding: "5px", "font-size": "10px" },
2476
2473
  size: "small",
2477
2474
  type: "primary",
@@ -2483,7 +2480,7 @@ const ro = {
2483
2480
  _: 1,
2484
2481
  __: [17]
2485
2482
  }),
2486
- F(v(re), {
2483
+ z(v(re), {
2487
2484
  style: { padding: "5px", "font-size": "10px" },
2488
2485
  size: "small",
2489
2486
  type: "primary",
@@ -2495,7 +2492,7 @@ const ro = {
2495
2492
  _: 1,
2496
2493
  __: [18]
2497
2494
  }),
2498
- F(v(re), {
2495
+ z(v(re), {
2499
2496
  style: { padding: "5px", "font-size": "10px" },
2500
2497
  size: "small",
2501
2498
  type: "primary",
@@ -2508,10 +2505,10 @@ const ro = {
2508
2505
  __: [19]
2509
2506
  })
2510
2507
  ])) : q("", !0),
2511
- F(xe, null, {
2508
+ z(xe, null, {
2512
2509
  default: V(() => [
2513
- P("div", xo, [
2514
- F(Tt, null, {
2510
+ P("div", bs, [
2511
+ z(Tt, null, {
2515
2512
  default: V(() => [
2516
2513
  (D(), R(ve, null, ke(mt, (w) => P("div", {
2517
2514
  onClick: (U) => w.show.value && g.value === "default" && (w.action ? w.action() : v(x).commandManager.start(w.command, [...v(I).selectLines])),
@@ -2525,8 +2522,8 @@ const ro = {
2525
2522
  P("img", {
2526
2523
  class: "size-[14px]",
2527
2524
  src: w.src
2528
- }, null, 8, Eo)
2529
- ], 10, Co)), 64))
2525
+ }, null, 8, Cs)
2526
+ ], 10, xs)), 64))
2530
2527
  ]),
2531
2528
  _: 1
2532
2529
  })
@@ -2538,12 +2535,12 @@ const ro = {
2538
2535
  ], 38)
2539
2536
  ], 512));
2540
2537
  }
2541
- }), Lo = (d, e) => {
2538
+ }), Ms = (d, e) => {
2542
2539
  const t = d.__vccOpts || d;
2543
- for (const [n, o] of e)
2544
- t[n] = o;
2540
+ for (const [n, s] of e)
2541
+ t[n] = s;
2545
2542
  return t;
2546
- }, ko = /* @__PURE__ */ Lo(Mo, [["__scopeId", "data-v-1a5a6c9b"]]);
2543
+ }, Ls = /* @__PURE__ */ Ms(Es, [["__scopeId", "data-v-1a5a6c9b"]]);
2547
2544
  let lt = class extends Ae {
2548
2545
  static name = "Editor";
2549
2546
  container = new u.Group();
@@ -2598,20 +2595,20 @@ let lt = class extends Ae {
2598
2595
  this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), this.domContainer.domElement.parentElement.appendChild(this.imgEl), n());
2599
2596
  });
2600
2597
  setTimeout(() => {
2601
- this.app = Vt(ko, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2598
+ this.app = Vt(Ls, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2602
2599
  }), e.AngleCorrectionDxf.addEventListener("lineOffset", async () => {
2603
2600
  this.imgEl.src && URL.revokeObjectURL(this.imgEl.src), setTimeout(async () => {
2604
2601
  this.imgEl.src = URL.createObjectURL(await e.AngleCorrectionDxf.toDxfImageBlob("Centimeters", "image/png", "transparent"));
2605
2602
  });
2606
- }), this.domEventRegister.addEventListener("mousedown", (o) => {
2607
- o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 && Object.assign(this.imgEl.style, {
2603
+ }), this.domEventRegister.addEventListener("mousedown", (s) => {
2604
+ s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 && Object.assign(this.imgEl.style, {
2608
2605
  width: `${Math.min(this.imgWidth * 10, this.renderer.width * 0.9)}px`,
2609
2606
  height: `${Math.min(this.imgWidth * 10, this.renderer.height * 0.9)}px`,
2610
2607
  background: "rgba(0,0,0,1)",
2611
2608
  zIndex: 100
2612
2609
  });
2613
- }), this.domEventRegister.addEventListener("mousemove", (o) => {
2614
- o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 || Object.assign(this.imgEl.style, {
2610
+ }), this.domEventRegister.addEventListener("mousemove", (s) => {
2611
+ s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 || Object.assign(this.imgEl.style, {
2615
2612
  width: `${this.imgWidth}px`,
2616
2613
  height: `${this.imgWidth}px`,
2617
2614
  background: "rgba(255,255,255,0.2)",
@@ -2634,8 +2631,8 @@ let lt = class extends Ae {
2634
2631
  * 打开编辑器
2635
2632
  */
2636
2633
  openEdit() {
2637
- 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;
2638
- 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);
2634
+ const e = this.renderer, t = this.domEventRegister, n = this.dxf, s = e.orbitControls, o = e.camera, a = n.box.center, l = e.camera.position.clone(), r = s?.target?.clone(), i = new u.Vector2(), c = new u.Raycaster(), m = this.coords, y = this.pointerPosition;
2635
+ 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);
2639
2636
  const f = () => {
2640
2637
  e.renderer.getSize(i);
2641
2638
  const g = t.pointer.x / i.x * 2 - 1, h = -(t.pointer.y / i.y * 2 - 1);
@@ -2647,7 +2644,7 @@ let lt = class extends Ae {
2647
2644
  }));
2648
2645
  };
2649
2646
  t.addEventListener("mousemove", f), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
2650
- t.removeEventListener("mousemove", f), o && (s.position.copy(l), o.enableRotate = !0, o.target.copy(r));
2647
+ t.removeEventListener("mousemove", f), s && (o.position.copy(l), s.enableRotate = !0, s.target.copy(r));
2651
2648
  };
2652
2649
  }
2653
2650
  /**
@@ -2657,10 +2654,10 @@ let lt = class extends Ae {
2657
2654
  typeof this._exitEditCallBack == "function" && (this._exitEditCallBack(), this._exitEditCallBack = void 0, this.commandManager.disabled = !0);
2658
2655
  }
2659
2656
  destroy() {
2660
- super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
2657
+ super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount(), this.commandManager.destroy();
2661
2658
  }
2662
2659
  };
2663
- class Io extends O {
2660
+ class ks extends O {
2664
2661
  static name = "PointDrag";
2665
2662
  container = new u.Group();
2666
2663
  interruptKeys = ["escape"];
@@ -2675,15 +2672,15 @@ class Io extends O {
2675
2672
  * @param next
2676
2673
  */
2677
2674
  selectPoint(e) {
2678
- let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
2679
- const s = this.editor.addEventListener("pointerPositionChange", () => {
2675
+ let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), s = null;
2676
+ const o = this.editor.addEventListener("pointerPositionChange", () => {
2680
2677
  const { point: a, line: l, find: r, mode: i } = this.editor.renderManager.adsorption();
2681
- 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());
2678
+ this.dispatchEvent({ type: "pointerMove", point: a }), r && i === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a), s = l, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2682
2679
  });
2683
- this.addEventRecord("selectPointStart").add(s).add(this.eventInput.addEventListener("codeChange", () => {
2684
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
2680
+ this.addEventRecord("selectPointStart").add(o).add(this.eventInput.addEventListener("codeChange", () => {
2681
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: s }));
2685
2682
  })), this.addEventRecord("clear").add(() => {
2686
- n.removeFromParent(), s();
2683
+ n.removeFromParent(), o();
2687
2684
  });
2688
2685
  }
2689
2686
  /** 拖拽点
@@ -2693,7 +2690,7 @@ class Io extends O {
2693
2690
  */
2694
2691
  drag(e, { point: t, line: n }) {
2695
2692
  this.domElement.style.cursor = "crosshair";
2696
- 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 });
2693
+ const s = n.start.equal(M.from(t)) ? "start" : "end", o = s == "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([o, a], 16711935), r = this.renderer.createCircle(M.zero(), { color: 16711935, size: 10 });
2697
2694
  this.container.add(l), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
2698
2695
  let { point: i, find: c } = this.editor.renderManager.adsorption(), m = "none";
2699
2696
  if (i) {
@@ -2701,24 +2698,24 @@ class Io extends O {
2701
2698
  const y = n.projectPoint(M.from(i), !1);
2702
2699
  i.set(y?.x ?? i.x, y?.y ?? i.y, 0), c = !0, m = "crosshair";
2703
2700
  }
2704
- 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;
2701
+ c ? (r.position.copy(i), this.container.add(r)) : (r.removeFromParent(), m = "crosshair"), a.copy(i), l.setPoint(o, a), this.domElement.style.cursor = m;
2705
2702
  }
2706
2703
  })).add(this.eventInput.addEventListener("codeChange", () => {
2707
- this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: o === "end" ? n.end.clone() : n.start.clone(), line: n, mode: o }));
2704
+ this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: s === "end" ? n.end.clone() : n.start.clone(), line: n, mode: s }));
2708
2705
  })).add(() => r.removeFromParent()).add(() => l.removeFromParent());
2709
2706
  }
2710
2707
  /** 执行完成
2711
2708
  */
2712
2709
  completed(e) {
2713
- const { line: t, point: n, mode: o } = e;
2714
- 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));
2710
+ const { line: t, point: n, mode: s } = e;
2711
+ 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(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
2715
2712
  }
2716
2713
  /** 回滚操作
2717
2714
  * @param data
2718
2715
  */
2719
2716
  rollback(e) {
2720
- const { line: t, oldPoint: n, mode: o } = e;
2721
- 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;
2717
+ const { line: t, oldPoint: n, mode: s } = e;
2718
+ 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;
2722
2719
  }
2723
2720
  /** 撤回回滚
2724
2721
  * @param lines
@@ -2729,14 +2726,14 @@ class Io extends O {
2729
2726
  }
2730
2727
  }
2731
2728
  function Je(d, e = {}) {
2732
- 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());
2729
+ d.addComponent(new lt(e.viewPermission)), d.addComponent(new os()), d.addComponent(new rt()), d.addComponent(new bn()), d.addComponent(new as()), d.addComponent(new is()), d.addComponent(new ks()), d.addComponent(new ee()), d.addComponent(new $()), d.addComponent(new le()), d.addComponent(new te()), d.addComponent(new ne()), d.addComponent(new se()), d.addComponent(new oe()), d.addComponent(new ae()), d.addComponent(new ie()), d.addComponent(new dt());
2733
2730
  }
2734
- const Ro = Object.assign(Je, {
2731
+ const Bs = Object.assign(Je, {
2735
2732
  create(d = {}) {
2736
2733
  return (e) => Je(e, d);
2737
2734
  }
2738
2735
  });
2739
2736
  export {
2740
- Ro as Editor,
2737
+ Bs as Editor,
2741
2738
  Je as Editor_
2742
2739
  };