build-dxf 0.0.22 → 0.0.23

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,73 +1,73 @@
1
- import * as m from "three";
2
- import { i as mt, n as ht, r as Je, t as qe, c as Pe, d as ut, e as pt, f as De, g as Q, _ as Ze, u as gt, h as ve, j as Be, w as vt, k as ft, l as yt, p as wt, m as bt, o as Ct, T as Ne, q as Re, s as xt, v as Et, x as Oe, y as Ie, z as Le, A as Mt, B as Lt, L as fe, D as kt, b as Fe, E as ue, S as It } from "./selectLocalFile.js";
3
- import { C as Se, P as A, L as B, B as Ye, E as Xe, b as Ke, Q as ze, u as Pt, W as Dt } from "./build.js";
1
+ import * as h from "three";
2
+ import { i as ht, n as ut, r as Xe, t as $e, c as Be, d as pt, e as gt, f as Ne, g as X, _ as et, u as vt, h as xe, j as Fe, w as ft, k as yt, l as wt, p as bt, m as xt, o as Ct, T as ze, q as Te, s as Et, v as Mt, x as je, y as _e, z as Se, A as Lt, B as It, L as Ce, D as Pt, b as Ve, E as ue, S as kt } from "./selectLocalFile.js";
3
+ import { C as Oe, P as R, L as z, B as Me, E as tt, b as Ge, Q as Le, u as Dt, W as St, T as At } 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 W, ref as S, defineComponent as ce, computed as P, createElementBlock as R, openBlock as I, normalizeClass as j, unref as y, renderSlot as we, createVNode as z, Transition as be, withCtx as V, withDirectives as $e, createElementVNode as k, normalizeStyle as Ae, createTextVNode as ie, toDisplayString as re, vShow as et, shallowReactive as St, onMounted as tt, createBlock as pe, createCommentVNode as J, resolveDynamicComponent as At, Fragment as ge, withModifiers as _t, nextTick as ye, isVNode as nt, render as Te, toRaw as Bt, onUnmounted as Nt, renderList as ke, createStaticVNode as Rt, TransitionGroup as Ot, createApp as Ft } from "vue";
8
- function ot(d) {
7
+ import { watch as ee, ref as T, defineComponent as ve, computed as F, createElementBlock as H, openBlock as K, normalizeClass as Z, unref as L, renderSlot as Ie, createVNode as J, Transition as Pe, withCtx as q, withDirectives as nt, createElementVNode as O, normalizeStyle as Re, createTextVNode as se, toDisplayString as pe, vShow as st, shallowReactive as _t, onMounted as ot, createBlock as we, createCommentVNode as ne, resolveDynamicComponent as Bt, Fragment as be, withModifiers as Nt, nextTick as Ee, isVNode as at, render as Qe, toRaw as Ot, onUnmounted as Rt, renderList as Ae, createStaticVNode as Kt, TransitionGroup as Ft, createApp as zt } from "vue";
8
+ function it(c) {
9
9
  var e;
10
- const t = Je(d);
10
+ const t = Xe(c);
11
11
  return (e = t?.$el) != null ? e : t;
12
12
  }
13
- const st = Pe ? window : void 0;
14
- function Kt(...d) {
15
- let e, t, n, o;
16
- if (mt(d[0]) || Array.isArray(d[0]) ? ([t, n, o] = d, e = st) : [e, t, n, o] = d, !e)
17
- return ht;
13
+ const rt = Be ? window : void 0;
14
+ function Tt(...c) {
15
+ let e, t, n, s;
16
+ if (ht(c[0]) || Array.isArray(c[0]) ? ([t, n, s] = c, e = rt) : [e, t, n, s] = c, !e)
17
+ return ut;
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
- }, r = (c, h, f, u) => (c.addEventListener(h, f, u), () => c.removeEventListener(h, f, u)), l = W(() => [ot(e), Je(o)], ([c, h]) => {
22
- a(), c && s.push(...t.flatMap((f) => n.map((u) => r(c, f, u, h))));
19
+ const o = [], a = () => {
20
+ o.forEach((d) => d()), o.length = 0;
21
+ }, r = (d, p, E, f) => (d.addEventListener(p, E, f), () => d.removeEventListener(p, E, f)), l = ee(() => [it(e), Xe(s)], ([d, p]) => {
22
+ a(), d && o.push(...t.flatMap((E) => n.map((f) => r(d, E, f, p))));
23
23
  }, { immediate: !0, flush: "post" }), i = () => {
24
24
  l(), a();
25
25
  };
26
- return qe(i), i;
26
+ return $e(i), i;
27
27
  }
28
- function zt(d, e = !1) {
29
- const t = S(), n = () => t.value = !!d();
30
- return n(), ut(n, e), t;
28
+ function jt(c, e = !1) {
29
+ const t = T(), n = () => t.value = !!c();
30
+ return n(), pt(n, e), t;
31
31
  }
32
- const je = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Ve = "__vueuse_ssr_handlers__";
33
- je[Ve] = je[Ve] || {};
34
- var Ge = Object.getOwnPropertySymbols, Tt = Object.prototype.hasOwnProperty, jt = Object.prototype.propertyIsEnumerable, Vt = (d, e) => {
32
+ const He = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, We = "__vueuse_ssr_handlers__";
33
+ He[We] = He[We] || {};
34
+ var Je = Object.getOwnPropertySymbols, Vt = Object.prototype.hasOwnProperty, Gt = Object.prototype.propertyIsEnumerable, Qt = (c, e) => {
35
35
  var t = {};
36
- for (var n in d)
37
- Tt.call(d, n) && e.indexOf(n) < 0 && (t[n] = d[n]);
38
- if (d != null && Ge)
39
- for (var n of Ge(d))
40
- e.indexOf(n) < 0 && jt.call(d, n) && (t[n] = d[n]);
36
+ for (var n in c)
37
+ Vt.call(c, n) && e.indexOf(n) < 0 && (t[n] = c[n]);
38
+ if (c != null && Je)
39
+ for (var n of Je(c))
40
+ e.indexOf(n) < 0 && Gt.call(c, n) && (t[n] = c[n]);
41
41
  return t;
42
42
  };
43
- function Gt(d, e, t = {}) {
44
- const n = t, { window: o = st } = n, s = Vt(n, ["window"]);
43
+ function Ht(c, e, t = {}) {
44
+ const n = t, { window: s = rt } = n, o = Qt(n, ["window"]);
45
45
  let a;
46
- const r = zt(() => o && "ResizeObserver" in o), l = () => {
46
+ const r = jt(() => s && "ResizeObserver" in s), l = () => {
47
47
  a && (a.disconnect(), a = void 0);
48
- }, i = W(() => ot(d), (h) => {
49
- l(), r.value && o && h && (a = new ResizeObserver(e), a.observe(h, s));
50
- }, { immediate: !0, flush: "post" }), c = () => {
48
+ }, i = ee(() => it(c), (p) => {
49
+ l(), r.value && s && p && (a = new ResizeObserver(e), a.observe(p, o));
50
+ }, { immediate: !0, flush: "post" }), d = () => {
51
51
  l(), i();
52
52
  };
53
- return qe(c), {
53
+ return $e(d), {
54
54
  isSupported: r,
55
- stop: c
55
+ stop: d
56
56
  };
57
57
  }
58
- var Qe;
59
- (function(d) {
60
- d.UP = "UP", d.RIGHT = "RIGHT", d.DOWN = "DOWN", d.LEFT = "LEFT", d.NONE = "NONE";
61
- })(Qe || (Qe = {}));
62
- var Qt = Object.defineProperty, He = Object.getOwnPropertySymbols, Ht = Object.prototype.hasOwnProperty, Wt = Object.prototype.propertyIsEnumerable, We = (d, e, t) => e in d ? Qt(d, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[e] = t, Ut = (d, e) => {
58
+ var Ue;
59
+ (function(c) {
60
+ c.UP = "UP", c.RIGHT = "RIGHT", c.DOWN = "DOWN", c.LEFT = "LEFT", c.NONE = "NONE";
61
+ })(Ue || (Ue = {}));
62
+ var Wt = Object.defineProperty, qe = Object.getOwnPropertySymbols, Jt = Object.prototype.hasOwnProperty, Ut = Object.prototype.propertyIsEnumerable, Ze = (c, e, t) => e in c ? Wt(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t, qt = (c, e) => {
63
63
  for (var t in e || (e = {}))
64
- Ht.call(e, t) && We(d, t, e[t]);
65
- if (He)
66
- for (var t of He(e))
67
- Wt.call(e, t) && We(d, t, e[t]);
68
- return d;
64
+ Jt.call(e, t) && Ze(c, t, e[t]);
65
+ if (qe)
66
+ for (var t of qe(e))
67
+ Ut.call(e, t) && Ze(c, t, e[t]);
68
+ return c;
69
69
  };
70
- const Jt = {
70
+ const Zt = {
71
71
  easeInSine: [0.12, 0, 0.39, 0],
72
72
  easeOutSine: [0.61, 1, 0.88, 1],
73
73
  easeInOutSine: [0.37, 0, 0.63, 1],
@@ -93,12 +93,12 @@ const Jt = {
93
93
  easeOutBack: [0.34, 1.56, 0.64, 1],
94
94
  easeInOutBack: [0.68, -0.6, 0.32, 1.6]
95
95
  };
96
- Ut({
97
- linear: pt
98
- }, Jt);
99
- const qt = (d) => d, Zt = {
96
+ qt({
97
+ linear: gt
98
+ }, Zt);
99
+ const Yt = (c) => c, Xt = {
100
100
  esc: "Escape"
101
- }, Yt = De({
101
+ }, $t = Ne({
102
102
  value: {
103
103
  type: [String, Number],
104
104
  default: ""
@@ -120,59 +120,59 @@ const qt = (d) => d, Zt = {
120
120
  },
121
121
  color: String,
122
122
  badgeStyle: {
123
- type: Q([String, Object, Array])
123
+ type: X([String, Object, Array])
124
124
  },
125
125
  offset: {
126
- type: Q(Array),
126
+ type: X(Array),
127
127
  default: [0, 0]
128
128
  },
129
129
  badgeClass: {
130
130
  type: String
131
131
  }
132
- }), Xt = ce({
132
+ }), en = ve({
133
133
  name: "ElBadge"
134
- }), $t = /* @__PURE__ */ ce({
135
- ...Xt,
136
- props: Yt,
137
- setup(d, { expose: e }) {
138
- const t = d, n = gt("badge"), o = P(() => t.isDot ? "" : ve(t.value) && ve(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), s = P(() => {
139
- var a, r, l, i, c;
134
+ }), tn = /* @__PURE__ */ ve({
135
+ ...en,
136
+ props: $t,
137
+ setup(c, { expose: e }) {
138
+ const t = c, n = vt("badge"), s = F(() => t.isDot ? "" : xe(t.value) && xe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), o = F(() => {
139
+ var a, r, l, i, d;
140
140
  return [
141
141
  {
142
142
  backgroundColor: t.color,
143
- marginRight: Be(-((r = (a = t.offset) == null ? void 0 : a[0]) != null ? r : 0)),
144
- marginTop: Be((i = (l = t.offset) == null ? void 0 : l[1]) != null ? i : 0)
143
+ marginRight: Fe(-((r = (a = t.offset) == null ? void 0 : a[0]) != null ? r : 0)),
144
+ marginTop: Fe((i = (l = t.offset) == null ? void 0 : l[1]) != null ? i : 0)
145
145
  },
146
- (c = t.badgeStyle) != null ? c : {}
146
+ (d = t.badgeStyle) != null ? d : {}
147
147
  ];
148
148
  });
149
149
  return e({
150
- content: o
151
- }), (a, r) => (I(), R("div", {
152
- class: j(y(n).b())
150
+ content: s
151
+ }), (a, r) => (K(), H("div", {
152
+ class: Z(L(n).b())
153
153
  }, [
154
- we(a.$slots, "default"),
155
- z(be, {
156
- name: `${y(n).namespace.value}-zoom-in-center`,
154
+ Ie(a.$slots, "default"),
155
+ J(Pe, {
156
+ name: `${L(n).namespace.value}-zoom-in-center`,
157
157
  persisted: ""
158
158
  }, {
159
- default: V(() => [
160
- $e(k("sup", {
161
- class: j([
162
- y(n).e("content"),
163
- y(n).em("content", a.type),
164
- y(n).is("fixed", !!a.$slots.default),
165
- y(n).is("dot", a.isDot),
166
- y(n).is("hide-zero", !a.showZero && t.value === 0),
159
+ default: q(() => [
160
+ nt(O("sup", {
161
+ class: Z([
162
+ L(n).e("content"),
163
+ L(n).em("content", a.type),
164
+ L(n).is("fixed", !!a.$slots.default),
165
+ L(n).is("dot", a.isDot),
166
+ L(n).is("hide-zero", !a.showZero && t.value === 0),
167
167
  a.badgeClass
168
168
  ]),
169
- style: Ae(y(s))
169
+ style: Re(L(o))
170
170
  }, [
171
- we(a.$slots, "content", { value: y(o) }, () => [
172
- ie(re(y(o)), 1)
171
+ Ie(a.$slots, "content", { value: L(s) }, () => [
172
+ se(pe(L(s)), 1)
173
173
  ])
174
174
  ], 6), [
175
- [et, !a.hidden && (y(o) || a.isDot || a.$slots.content)]
175
+ [st, !a.hidden && (L(s) || a.isDot || a.$slots.content)]
176
176
  ])
177
177
  ]),
178
178
  _: 3
@@ -180,63 +180,63 @@ const qt = (d) => d, Zt = {
180
180
  ], 2));
181
181
  }
182
182
  });
183
- var en = /* @__PURE__ */ Ze($t, [["__file", "badge.vue"]]);
184
- const tn = vt(en), nn = De({
183
+ var nn = /* @__PURE__ */ et(tn, [["__file", "badge.vue"]]);
184
+ const sn = ft(nn), on = Ne({
185
185
  a11y: {
186
186
  type: Boolean,
187
187
  default: !0
188
188
  },
189
189
  locale: {
190
- type: Q(Object)
190
+ type: X(Object)
191
191
  },
192
- size: yt,
192
+ size: wt,
193
193
  button: {
194
- type: Q(Object)
194
+ type: X(Object)
195
195
  },
196
196
  card: {
197
- type: Q(Object)
197
+ type: X(Object)
198
198
  },
199
199
  dialog: {
200
- type: Q(Object)
200
+ type: X(Object)
201
201
  },
202
202
  link: {
203
- type: Q(Object)
203
+ type: X(Object)
204
204
  },
205
205
  experimentalFeatures: {
206
- type: Q(Object)
206
+ type: X(Object)
207
207
  },
208
208
  keyboardNavigation: {
209
209
  type: Boolean,
210
210
  default: !0
211
211
  },
212
212
  message: {
213
- type: Q(Object)
213
+ type: X(Object)
214
214
  },
215
215
  zIndex: Number,
216
216
  namespace: {
217
217
  type: String,
218
218
  default: "el"
219
219
  },
220
- ...ft
221
- }), T = {};
222
- ce({
220
+ ...yt
221
+ }), U = {};
222
+ ve({
223
223
  name: "ElConfigProvider",
224
- props: nn,
225
- setup(d, { slots: e }) {
226
- const t = wt(d);
227
- return W(() => d.message, (n) => {
228
- var o, s;
229
- Object.assign(T, (s = (o = t?.value) == null ? void 0 : o.message) != null ? s : {}, n ?? {});
230
- }, { immediate: !0, deep: !0 }), () => we(e, "default", { config: t?.value });
224
+ props: on,
225
+ setup(c, { slots: e }) {
226
+ const t = bt(c);
227
+ return ee(() => c.message, (n) => {
228
+ var s, o;
229
+ Object.assign(U, (o = (s = t?.value) == null ? void 0 : s.message) != null ? o : {}, n ?? {});
230
+ }, { immediate: !0, deep: !0 }), () => Ie(e, "default", { config: t?.value });
231
231
  }
232
232
  });
233
- const at = [
233
+ const dt = [
234
234
  "primary",
235
235
  "success",
236
236
  "info",
237
237
  "warning",
238
238
  "error"
239
- ], N = qt({
239
+ ], Q = Yt({
240
240
  customClass: "",
241
241
  dangerouslyUseHTMLString: !1,
242
242
  duration: 3e3,
@@ -251,226 +251,226 @@ const at = [
251
251
  zIndex: 0,
252
252
  grouping: !1,
253
253
  repeatNum: 1,
254
- appendTo: Pe ? document.body : void 0
255
- }), on = De({
254
+ appendTo: Be ? document.body : void 0
255
+ }), an = Ne({
256
256
  customClass: {
257
257
  type: String,
258
- default: N.customClass
258
+ default: Q.customClass
259
259
  },
260
260
  dangerouslyUseHTMLString: {
261
261
  type: Boolean,
262
- default: N.dangerouslyUseHTMLString
262
+ default: Q.dangerouslyUseHTMLString
263
263
  },
264
264
  duration: {
265
265
  type: Number,
266
- default: N.duration
266
+ default: Q.duration
267
267
  },
268
268
  icon: {
269
- type: bt,
270
- default: N.icon
269
+ type: xt,
270
+ default: Q.icon
271
271
  },
272
272
  id: {
273
273
  type: String,
274
- default: N.id
274
+ default: Q.id
275
275
  },
276
276
  message: {
277
- type: Q([
277
+ type: X([
278
278
  String,
279
279
  Object,
280
280
  Function
281
281
  ]),
282
- default: N.message
282
+ default: Q.message
283
283
  },
284
284
  onClose: {
285
- type: Q(Function),
286
- default: N.onClose
285
+ type: X(Function),
286
+ default: Q.onClose
287
287
  },
288
288
  showClose: {
289
289
  type: Boolean,
290
- default: N.showClose
290
+ default: Q.showClose
291
291
  },
292
292
  type: {
293
293
  type: String,
294
- values: at,
295
- default: N.type
294
+ values: dt,
295
+ default: Q.type
296
296
  },
297
297
  plain: {
298
298
  type: Boolean,
299
- default: N.plain
299
+ default: Q.plain
300
300
  },
301
301
  offset: {
302
302
  type: Number,
303
- default: N.offset
303
+ default: Q.offset
304
304
  },
305
305
  zIndex: {
306
306
  type: Number,
307
- default: N.zIndex
307
+ default: Q.zIndex
308
308
  },
309
309
  grouping: {
310
310
  type: Boolean,
311
- default: N.grouping
311
+ default: Q.grouping
312
312
  },
313
313
  repeatNum: {
314
314
  type: Number,
315
- default: N.repeatNum
315
+ default: Q.repeatNum
316
316
  }
317
- }), sn = {
317
+ }), rn = {
318
318
  destroy: () => !0
319
- }, H = St([]), an = (d) => {
320
- const e = H.findIndex((o) => o.id === d), t = H[e];
319
+ }, $ = _t([]), dn = (c) => {
320
+ const e = $.findIndex((s) => s.id === c), t = $[e];
321
321
  let n;
322
- return e > 0 && (n = H[e - 1]), { current: t, prev: n };
323
- }, rn = (d) => {
324
- const { prev: e } = an(d);
322
+ return e > 0 && (n = $[e - 1]), { current: t, prev: n };
323
+ }, ln = (c) => {
324
+ const { prev: e } = dn(c);
325
325
  return e ? e.vm.exposed.bottom.value : 0;
326
- }, dn = (d, e) => H.findIndex((n) => n.id === d) > 0 ? 16 : e, ln = ce({
326
+ }, cn = (c, e) => $.findIndex((n) => n.id === c) > 0 ? 16 : e, mn = ve({
327
327
  name: "ElMessage"
328
- }), cn = /* @__PURE__ */ ce({
329
- ...ln,
330
- props: on,
331
- emits: sn,
332
- setup(d, { expose: e, emit: t }) {
333
- const n = d, { Close: o } = xt, s = S(!1), { ns: a, zIndex: r } = Ct("message"), { currentZIndex: l, nextZIndex: i } = r, c = S(), h = S(!1), f = S(0);
334
- let u;
335
- const p = P(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), g = P(() => {
336
- const w = n.type;
337
- return { [a.bm("icon", w)]: w && Ne[w] };
338
- }), E = P(() => n.icon || Ne[n.type] || ""), C = P(() => rn(n.id)), D = P(() => dn(n.id, n.offset) + C.value), F = P(() => f.value + D.value), ae = P(() => ({
339
- top: `${D.value}px`,
328
+ }), hn = /* @__PURE__ */ ve({
329
+ ...mn,
330
+ props: an,
331
+ emits: rn,
332
+ setup(c, { expose: e, emit: t }) {
333
+ const n = c, { Close: s } = Et, o = T(!1), { ns: a, zIndex: r } = Ct("message"), { currentZIndex: l, nextZIndex: i } = r, d = T(), p = T(!1), E = T(0);
334
+ let f;
335
+ const y = F(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), C = F(() => {
336
+ const m = n.type;
337
+ return { [a.bm("icon", m)]: m && ze[m] };
338
+ }), v = F(() => n.icon || ze[n.type] || ""), w = F(() => ln(n.id)), g = F(() => cn(n.id, n.offset) + w.value), S = F(() => E.value + g.value), A = F(() => ({
339
+ top: `${g.value}px`,
340
340
  zIndex: l.value
341
341
  }));
342
- function q() {
343
- n.duration !== 0 && ({ stop: u } = Et(() => {
344
- M();
342
+ function M() {
343
+ n.duration !== 0 && ({ stop: f } = Mt(() => {
344
+ D();
345
345
  }, n.duration));
346
346
  }
347
- function _() {
348
- u?.();
347
+ function u() {
348
+ f?.();
349
349
  }
350
- function M() {
351
- h.value = !1, ye(() => {
352
- var w;
353
- s.value || ((w = n.onClose) == null || w.call(n), t("destroy"));
350
+ function D() {
351
+ p.value = !1, Ee(() => {
352
+ var m;
353
+ o.value || ((m = n.onClose) == null || m.call(n), t("destroy"));
354
354
  });
355
355
  }
356
- function K({ code: w }) {
357
- w === Zt.esc && M();
356
+ function b({ code: m }) {
357
+ m === Xt.esc && D();
358
358
  }
359
- return tt(() => {
360
- q(), i(), h.value = !0;
361
- }), W(() => n.repeatNum, () => {
362
- _(), q();
363
- }), Kt(document, "keydown", K), Gt(c, () => {
364
- f.value = c.value.getBoundingClientRect().height;
359
+ return ot(() => {
360
+ M(), i(), p.value = !0;
361
+ }), ee(() => n.repeatNum, () => {
362
+ u(), M();
363
+ }), Tt(document, "keydown", b), Ht(d, () => {
364
+ E.value = d.value.getBoundingClientRect().height;
365
365
  }), e({
366
- visible: h,
367
- bottom: F,
368
- close: M
369
- }), (w, Z) => (I(), pe(be, {
370
- name: y(a).b("fade"),
371
- onBeforeEnter: (G) => s.value = !0,
372
- onBeforeLeave: w.onClose,
373
- onAfterLeave: (G) => w.$emit("destroy"),
366
+ visible: p,
367
+ bottom: S,
368
+ close: D
369
+ }), (m, I) => (K(), we(Pe, {
370
+ name: L(a).b("fade"),
371
+ onBeforeEnter: (_) => o.value = !0,
372
+ onBeforeLeave: m.onClose,
373
+ onAfterLeave: (_) => m.$emit("destroy"),
374
374
  persisted: ""
375
375
  }, {
376
- default: V(() => [
377
- $e(k("div", {
378
- id: w.id,
376
+ default: q(() => [
377
+ nt(O("div", {
378
+ id: m.id,
379
379
  ref_key: "messageRef",
380
- ref: c,
381
- class: j([
382
- y(a).b(),
383
- { [y(a).m(w.type)]: w.type },
384
- y(a).is("closable", w.showClose),
385
- y(a).is("plain", w.plain),
386
- w.customClass
380
+ ref: d,
381
+ class: Z([
382
+ L(a).b(),
383
+ { [L(a).m(m.type)]: m.type },
384
+ L(a).is("closable", m.showClose),
385
+ L(a).is("plain", m.plain),
386
+ m.customClass
387
387
  ]),
388
- style: Ae(y(ae)),
388
+ style: Re(L(A)),
389
389
  role: "alert",
390
- onMouseenter: _,
391
- onMouseleave: q
390
+ onMouseenter: u,
391
+ onMouseleave: M
392
392
  }, [
393
- w.repeatNum > 1 ? (I(), pe(y(tn), {
393
+ m.repeatNum > 1 ? (K(), we(L(sn), {
394
394
  key: 0,
395
- value: w.repeatNum,
396
- type: y(p),
397
- class: j(y(a).e("badge"))
398
- }, null, 8, ["value", "type", "class"])) : J("v-if", !0),
399
- y(E) ? (I(), pe(y(Re), {
395
+ value: m.repeatNum,
396
+ type: L(y),
397
+ class: Z(L(a).e("badge"))
398
+ }, null, 8, ["value", "type", "class"])) : ne("v-if", !0),
399
+ L(v) ? (K(), we(L(Te), {
400
400
  key: 1,
401
- class: j([y(a).e("icon"), y(g)])
401
+ class: Z([L(a).e("icon"), L(C)])
402
402
  }, {
403
- default: V(() => [
404
- (I(), pe(At(y(E))))
403
+ default: q(() => [
404
+ (K(), we(Bt(L(v))))
405
405
  ]),
406
406
  _: 1
407
- }, 8, ["class"])) : J("v-if", !0),
408
- we(w.$slots, "default", {}, () => [
409
- w.dangerouslyUseHTMLString ? (I(), R(ge, { key: 1 }, [
410
- J(" Caution here, message could've been compromised, never use user's input as message "),
411
- k("p", {
412
- class: j(y(a).e("content")),
413
- innerHTML: w.message
407
+ }, 8, ["class"])) : ne("v-if", !0),
408
+ Ie(m.$slots, "default", {}, () => [
409
+ m.dangerouslyUseHTMLString ? (K(), H(be, { key: 1 }, [
410
+ ne(" Caution here, message could've been compromised, never use user's input as message "),
411
+ O("p", {
412
+ class: Z(L(a).e("content")),
413
+ innerHTML: m.message
414
414
  }, null, 10, ["innerHTML"])
415
- ], 2112)) : (I(), R("p", {
415
+ ], 2112)) : (K(), H("p", {
416
416
  key: 0,
417
- class: j(y(a).e("content"))
418
- }, re(w.message), 3))
417
+ class: Z(L(a).e("content"))
418
+ }, pe(m.message), 3))
419
419
  ]),
420
- w.showClose ? (I(), pe(y(Re), {
420
+ m.showClose ? (K(), we(L(Te), {
421
421
  key: 2,
422
- class: j(y(a).e("closeBtn")),
423
- onClick: _t(M, ["stop"])
422
+ class: Z(L(a).e("closeBtn")),
423
+ onClick: Nt(D, ["stop"])
424
424
  }, {
425
- default: V(() => [
426
- z(y(o))
425
+ default: q(() => [
426
+ J(L(s))
427
427
  ]),
428
428
  _: 1
429
- }, 8, ["class", "onClick"])) : J("v-if", !0)
429
+ }, 8, ["class", "onClick"])) : ne("v-if", !0)
430
430
  ], 46, ["id"]), [
431
- [et, h.value]
431
+ [st, p.value]
432
432
  ])
433
433
  ]),
434
434
  _: 3
435
435
  }, 8, ["name", "onBeforeEnter", "onBeforeLeave", "onAfterLeave"]));
436
436
  }
437
437
  });
438
- var mn = /* @__PURE__ */ Ze(cn, [["__file", "message.vue"]]);
439
- let hn = 1;
440
- const it = (d) => {
441
- const e = !d || Oe(d) || nt(d) || Ie(d) ? { message: d } : d, t = {
442
- ...N,
438
+ var un = /* @__PURE__ */ et(hn, [["__file", "message.vue"]]);
439
+ let pn = 1;
440
+ const lt = (c) => {
441
+ const e = !c || je(c) || at(c) || _e(c) ? { message: c } : c, t = {
442
+ ...Q,
443
443
  ...e
444
444
  };
445
445
  if (!t.appendTo)
446
446
  t.appendTo = document.body;
447
- else if (Oe(t.appendTo)) {
447
+ else if (je(t.appendTo)) {
448
448
  let n = document.querySelector(t.appendTo);
449
- Mt(n) || (n = document.body), t.appendTo = n;
449
+ Lt(n) || (n = document.body), t.appendTo = n;
450
450
  }
451
- return Le(T.grouping) && !t.grouping && (t.grouping = T.grouping), ve(T.duration) && t.duration === 3e3 && (t.duration = T.duration), ve(T.offset) && t.offset === 16 && (t.offset = T.offset), Le(T.showClose) && !t.showClose && (t.showClose = T.showClose), Le(T.plain) && !t.plain && (t.plain = T.plain), t;
452
- }, un = (d) => {
453
- const e = H.indexOf(d);
451
+ return Se(U.grouping) && !t.grouping && (t.grouping = U.grouping), xe(U.duration) && t.duration === 3e3 && (t.duration = U.duration), xe(U.offset) && t.offset === 16 && (t.offset = U.offset), Se(U.showClose) && !t.showClose && (t.showClose = U.showClose), Se(U.plain) && !t.plain && (t.plain = U.plain), t;
452
+ }, gn = (c) => {
453
+ const e = $.indexOf(c);
454
454
  if (e === -1)
455
455
  return;
456
- H.splice(e, 1);
457
- const { handler: t } = d;
456
+ $.splice(e, 1);
457
+ const { handler: t } = c;
458
458
  t.close();
459
- }, pn = ({ appendTo: d, ...e }, t) => {
460
- const n = `message_${hn++}`, o = e.onClose, s = document.createElement("div"), a = {
459
+ }, vn = ({ appendTo: c, ...e }, t) => {
460
+ const n = `message_${pn++}`, s = e.onClose, o = document.createElement("div"), a = {
461
461
  ...e,
462
462
  id: n,
463
463
  onClose: () => {
464
- o?.(), un(c);
464
+ s?.(), gn(d);
465
465
  },
466
466
  onDestroy: () => {
467
- Te(null, s);
467
+ Qe(null, o);
468
468
  }
469
- }, r = z(mn, a, Ie(a.message) || nt(a.message) ? {
470
- default: Ie(a.message) ? a.message : () => a.message
469
+ }, r = J(un, a, _e(a.message) || at(a.message) ? {
470
+ default: _e(a.message) ? a.message : () => a.message
471
471
  } : null);
472
- r.appContext = t || le._context, Te(r, s), d.appendChild(s.firstElementChild);
473
- const l = r.component, c = {
472
+ r.appContext = t || ge._context, Qe(r, o), c.appendChild(o.firstElementChild);
473
+ const l = r.component, d = {
474
474
  id: n,
475
475
  vnode: r,
476
476
  vm: l,
@@ -481,41 +481,41 @@ const it = (d) => {
481
481
  },
482
482
  props: r.component.props
483
483
  };
484
- return c;
485
- }, le = (d = {}, e) => {
486
- if (!Pe)
484
+ return d;
485
+ }, ge = (c = {}, e) => {
486
+ if (!Be)
487
487
  return { close: () => {
488
488
  } };
489
- const t = it(d);
490
- if (t.grouping && H.length) {
491
- const o = H.find(({ vnode: s }) => {
489
+ const t = lt(c);
490
+ if (t.grouping && $.length) {
491
+ const s = $.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
- if (ve(T.max) && H.length >= T.max)
498
+ if (xe(U.max) && $.length >= U.max)
499
499
  return { close: () => {
500
500
  } };
501
- const n = pn(t, e);
502
- return H.push(n), n.handler;
501
+ const n = vn(t, e);
502
+ return $.push(n), n.handler;
503
503
  };
504
- at.forEach((d) => {
505
- le[d] = (e = {}, t) => {
506
- const n = it(e);
507
- return le({ ...n, type: d }, t);
504
+ dt.forEach((c) => {
505
+ ge[c] = (e = {}, t) => {
506
+ const n = lt(e);
507
+ return ge({ ...n, type: c }, t);
508
508
  };
509
509
  });
510
- function gn(d) {
511
- const e = [...H];
510
+ function fn(c) {
511
+ const e = [...$];
512
512
  for (const t of e)
513
- (!d || d === t.props.type) && t.handler.close();
513
+ (!c || c === t.props.type) && t.handler.close();
514
514
  }
515
- le.closeAll = gn;
516
- le._context = null;
517
- const L = Lt(le, "$message");
518
- class O extends Se {
515
+ ge.closeAll = fn;
516
+ ge._context = null;
517
+ const B = It(ge, "$message");
518
+ class W extends Oe {
519
519
  _renderer;
520
520
  get renderer() {
521
521
  return this._renderer || (this._renderer = this.parent?.findComponentByName("Renderer")), this._renderer;
@@ -582,9 +582,9 @@ class O extends Se {
582
582
  */
583
583
  createCursor(e) {
584
584
  return (t, n) => {
585
- const 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
  }
@@ -603,19 +603,19 @@ class O extends Se {
603
603
  * @returns
604
604
  */
605
605
  createPointerMove(e) {
606
- const t = this.editor, n = new A();
607
- let o = null, s = null, a = null;
606
+ const t = this.editor, n = new R();
607
+ let s = null, o = null, a = null;
608
608
  const r = t.addEventListener("pointerPositionChange", () => {
609
- const l = A.from(t.pointerPosition);
610
- if (o && t.eventInput.isKeyDown("shift")) {
611
- const i = Math.abs(l.x - o.x), c = Math.abs(l.y - o.y);
612
- i > c ? n.set(l.x, o.y) : n.set(o.x, l.y), e(n, !1);
613
- } else if (s && a && t.eventInput.isKeyDown("alt")) {
614
- const i = s.projectPoint(l, !1), c = a.projectPoint(l, !1);
615
- i && c ? l.distance(i) < l.distance(c) ? n.copy(i) : n.copy(c) : i ? n.copy(i) : c && n.copy(c), e(n, !1);
609
+ const l = R.from(t.pointerPosition);
610
+ if (s && t.eventInput.isKeyDown("shift")) {
611
+ const i = Math.abs(l.x - s.x), d = Math.abs(l.y - s.y);
612
+ i > d ? n.set(l.x, s.y) : n.set(s.x, l.y), e(n, !1);
613
+ } else if (o && a && t.eventInput.isKeyDown("alt")) {
614
+ const i = o.projectPoint(l, !1), d = a.projectPoint(l, !1);
615
+ i && d ? l.distance(i) < l.distance(d) ? n.copy(i) : n.copy(d) : i ? n.copy(i) : d && n.copy(d), e(n, !1);
616
616
  } else {
617
- const { point: i, find: c } = t.renderManager.adsorption();
618
- n.copy(i), e(n, c);
617
+ const { point: i, find: d } = t.renderManager.adsorption();
618
+ n.copy(i), e(n, d);
619
619
  }
620
620
  });
621
621
  return {
@@ -623,20 +623,20 @@ class O extends Se {
623
623
  r();
624
624
  },
625
625
  setBaseLine(l, i) {
626
- if (s = l, o = i, l && i) {
627
- const c = l.normal();
628
- a = new B(
629
- i.clone().add(c.clone().multiplyScalar(10)),
630
- i.clone().add(c.multiplyScalar(-10))
626
+ if (o = l, s = i, l && i) {
627
+ const d = l.normal();
628
+ a = new z(
629
+ i.clone().add(d.clone().multiplyScalar(10)),
630
+ i.clone().add(d.multiplyScalar(-10))
631
631
  );
632
632
  } else a = null;
633
633
  }
634
634
  };
635
635
  }
636
636
  }
637
- class vn extends O {
637
+ class yn extends W {
638
638
  static name = "DrawLine";
639
- container = new m.Group();
639
+ container = new h.Group();
640
640
  interruptKeys = ["escape"];
641
641
  withdrawalKeys = ["control", "z"];
642
642
  shortcutKeys = ["control", "l"];
@@ -651,44 +651,44 @@ class vn 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 = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), r = t.domContainer.domElement, l = new fe([], 16711935), i = new fe([
655
- new m.Vector3(-1e4, 0, 0),
656
- new m.Vector3(1e4, 0, 0),
657
- new m.Vector3(0, -1e4, 0),
658
- new m.Vector3(0, 1e4, 0)
654
+ let t = this.parent?.findComponentByName("Editor"), n = null, s = null, o = [], a = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 65280 })), r = t.domContainer.domElement, l = new Ce([], 16711935), i = new Ce([
655
+ new h.Vector3(-1e4, 0, 0),
656
+ new h.Vector3(1e4, 0, 0),
657
+ new h.Vector3(0, -1e4, 0),
658
+ new h.Vector3(0, 1e4, 0)
659
659
  ], 16711935);
660
- i.material = new m.LineDashedMaterial({
660
+ i.material = new h.LineDashedMaterial({
661
661
  color: 4235007,
662
662
  dashSize: 0.1,
663
663
  gapSize: 0.1,
664
664
  linewidth: 0.1
665
665
  }), this.container.add(l);
666
- const c = () => {
667
- l.setPoint(...s, n, o), i.position.copy(o), this.container.add(i), i.computeLineDistances();
668
- }, h = new m.Vector3(), f = this.createPointerMove((u, p) => {
669
- h.set(u.x, u.y, 0), this.dispatchEvent({ type: "pointerMove", point: h }), p ? (a.position.set(u.x, u.y, 0), this.container.add(a), r.style.cursor = "none") : (a.removeFromParent(), r.style.cursor = "crosshair"), n && o && (c(), o.copy(h));
666
+ const d = () => {
667
+ l.setPoint(...o, n, s), i.position.copy(s), this.container.add(i), i.computeLineDistances();
668
+ }, p = new h.Vector3(), E = this.createPointerMove((f, y) => {
669
+ p.set(f.x, f.y, 0), this.dispatchEvent({ type: "pointerMove", point: p }), y ? (a.position.set(f.x, f.y, 0), this.container.add(a), r.style.cursor = "none") : (a.removeFromParent(), r.style.cursor = "crosshair"), n && s && (d(), s.copy(p));
670
670
  });
671
671
  this.addEventRecord(
672
672
  "clear",
673
- () => f.destroy(),
673
+ () => E.destroy(),
674
674
  t.eventInput.addEventListener("codeChange", async () => {
675
675
  if (t.eventInput.isKeyDown("mouse_0")) {
676
676
  if (!n) {
677
- n = h.clone(), o = h.clone(), c(), f.setBaseLine(null, A.from(n));
677
+ n = p.clone(), s = p.clone(), d(), E.setBaseLine(null, R.from(n));
678
678
  return;
679
679
  }
680
- o = h.clone(), s.push(n.clone(), o.clone());
681
- const u = new B(A.from(n), A.from(o));
682
- f.setBaseLine(u, u.end), n.copy(o), c();
680
+ s = p.clone(), o.push(n.clone(), s.clone());
681
+ const f = new z(R.from(n), R.from(s));
682
+ E.setBaseLine(f, f.end), n.copy(s), d();
683
683
  } else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
684
- if (s.length) {
685
- const { point: u } = t.renderManager.adsorption();
686
- if (s.pop(), o?.copy(u), n?.copy(s.pop()), c(), s.length >= 2) {
687
- const p = new B(A.from(s[s.length - 2]), A.from(s[s.length - 1]));
688
- f.setBaseLine(p, p.end);
684
+ if (o.length) {
685
+ const { point: f } = t.renderManager.adsorption();
686
+ if (o.pop(), s?.copy(f), n?.copy(o.pop()), d(), o.length >= 2) {
687
+ const y = new z(R.from(o[o.length - 2]), R.from(o[o.length - 1]));
688
+ E.setBaseLine(y, y.end);
689
689
  }
690
690
  }
691
- } else t.eventInput.isKeyDowns(this.confirmKeys) && e(s);
691
+ } else t.eventInput.isKeyDowns(this.confirmKeys) && e(o);
692
692
  }),
693
693
  function() {
694
694
  l.removeFromParent(), a.removeFromParent(), i.removeFromParent();
@@ -700,8 +700,8 @@ class vn extends O {
700
700
  */
701
701
  end(e, t) {
702
702
  const n = [];
703
- for (let o = 0; o < t.length; o += 2)
704
- n.push(new B(A.from(t[o]), A.from(t[o + 1])));
703
+ for (let s = 0; s < t.length; s += 2)
704
+ n.push(new z(R.from(t[s]), R.from(t[s + 1])));
705
705
  e(n);
706
706
  }
707
707
  /** 执行完成
@@ -723,9 +723,9 @@ class vn extends O {
723
723
  return this.completed(e), e;
724
724
  }
725
725
  }
726
- class _e extends O {
726
+ class Ke extends W {
727
727
  static name = "Default";
728
- container = new m.Group();
728
+ container = new h.Group();
729
729
  onAddFromParent() {
730
730
  const e = this.editor, t = e.commandManager;
731
731
  e.container.add(this.container), t.addCommandFlow("default").add(this.start.bind(this)).addEventListener("finally", this.finally.bind(this)), t.addEventListener("startedBefore", (n) => {
@@ -733,7 +733,7 @@ class _e extends O {
733
733
  }), t.addEventListener("finally", (n) => n.name !== "default" && t.start("default")), e.eventInput.addCancelDefaultBehavior(() => e.eventInput.isOnlyKeyDowns(["control", "g"]));
734
734
  }
735
735
  selectLines = [];
736
- selectLineObject3D = new m.Mesh();
736
+ selectLineObject3D = new h.Mesh();
737
737
  /** 添加选择的线段
738
738
  * @param lineSegment
739
739
  */
@@ -776,46 +776,46 @@ class _e extends O {
776
776
  * @param next
777
777
  */
778
778
  start() {
779
- const e = this.editor, t = e.eventInput, n = new m.Mesh(), o = e.domContainer.domElement;
780
- let s = null;
781
- n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new m.MeshBasicMaterial({ color: 55561 });
779
+ const e = this.editor, t = e.eventInput, n = new h.Mesh(), s = e.domContainer.domElement;
780
+ let o = null;
781
+ n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new h.MeshBasicMaterial({ color: 55561 });
782
782
  const a = () => {
783
- const r = e.pointerPosition.clone(), l = e.pointerPosition.clone(), i = new m.Mesh();
784
- this.container.add(i), i.position.z = 0.05, i.material = new m.MeshBasicMaterial({
783
+ const r = e.pointerPosition.clone(), l = e.pointerPosition.clone(), i = new h.Mesh();
784
+ this.container.add(i), i.position.z = 0.05, i.material = new h.MeshBasicMaterial({
785
785
  color: 16777215,
786
786
  transparent: !0,
787
787
  opacity: 0.5
788
788
  });
789
- const c = () => {
790
- const u = Math.min(r.x, l.x), p = Math.max(r.x, l.x), g = Math.min(r.y, l.y), E = Math.max(r.y, l.y), C = [
791
- u,
792
- E,
789
+ const d = () => {
790
+ const f = Math.min(r.x, l.x), y = Math.max(r.x, l.x), C = Math.min(r.y, l.y), v = Math.max(r.y, l.y), w = [
791
+ f,
792
+ v,
793
793
  0,
794
- p,
795
- g,
794
+ y,
795
+ C,
796
796
  0,
797
- p,
798
- E,
797
+ y,
798
+ v,
799
799
  0,
800
- u,
801
- E,
800
+ f,
801
+ v,
802
802
  0,
803
- u,
804
- g,
803
+ f,
804
+ C,
805
805
  0,
806
- p,
807
- g,
806
+ y,
807
+ C,
808
808
  0
809
809
  ];
810
- i.geometry = e.renderManager.createGeometry({ position: C }, C.length / 3);
811
- }, h = () => {
812
- l.copy(e.pointerPosition), c();
813
- }, f = () => {
814
- document.removeEventListener("mousemove", h), document.removeEventListener("mouseup", f), i.removeFromParent();
815
- const u = Math.min(r.x, l.x), p = Math.max(r.x, l.x), g = Math.min(r.y, l.y), E = Math.max(r.y, l.y), C = new Ye(u, p, g, E), D = e.renderManager.quadtree.queryBox(C);
816
- this.removeSelectLineAll(), D.forEach((F) => this.addSelectLine(F.line)), this.updateSelectLinesGeometry();
810
+ i.geometry = e.renderManager.createGeometry({ position: w }, w.length / 3);
811
+ }, p = () => {
812
+ l.copy(e.pointerPosition), d();
813
+ }, E = () => {
814
+ document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", E), i.removeFromParent();
815
+ const f = Math.min(r.x, l.x), y = Math.max(r.x, l.x), C = Math.min(r.y, l.y), v = Math.max(r.y, l.y), w = new Me(f, y, C, v), g = e.renderManager.quadtree.queryBox(w);
816
+ this.removeSelectLineAll(), g.forEach((S) => this.addSelectLine(S.line)), this.updateSelectLinesGeometry();
817
817
  };
818
- document.addEventListener("mousemove", h), document.addEventListener("mouseup", f);
818
+ document.addEventListener("mousemove", p), document.addEventListener("mouseup", E);
819
819
  };
820
820
  this.addEventRecord(
821
821
  "clear",
@@ -824,22 +824,22 @@ class _e extends O {
824
824
  const { line: r } = e.renderManager.adsorption();
825
825
  if (r) {
826
826
  const l = r.expandToRectangle(0.025, "bothSides");
827
- n.geometry = e.renderManager.createGeometry({ position: l.createGeometry() }, 6), this.container.add(n), o.style.cursor = "pointer", s = r;
827
+ n.geometry = e.renderManager.createGeometry({ position: l.createGeometry() }, 6), this.container.add(n), s.style.cursor = "pointer", o = r;
828
828
  } else
829
- n.removeFromParent(), o.style.cursor = "default", s = null;
829
+ n.removeFromParent(), s.style.cursor = "default", o = null;
830
830
  }),
831
831
  t.addEventListener("codeChange", () => {
832
832
  if (t.isKeyDown("mouse_0")) {
833
- if (!s) return a();
833
+ if (!o) return a();
834
834
  if (t.isKeyDown("alt"))
835
- return this.removeSelectLine(s);
836
- t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(s);
835
+ return this.removeSelectLine(o);
836
+ t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(o);
837
837
  } else if (t.isKeyDown("mouse_1")) {
838
- if (!s) return;
839
- this.removeSelectLine(s);
838
+ if (!o) return;
839
+ this.removeSelectLine(o);
840
840
  } else if (t.isKeyDown("mouse_2")) {
841
- if (!s) return;
842
- this.addSelectLine(s);
841
+ if (!o) return;
842
+ this.addSelectLine(o);
843
843
  } else t.isKeyDowns(["control", "z"]) ? e.commandManager.rollback() : t.isKeyDowns(["control", "y"]) && e.commandManager.revokeRollback();
844
844
  }),
845
845
  function() {
@@ -854,7 +854,7 @@ class _e extends O {
854
854
  this.canceEventRecord("clear"), this.removeSelectLineAll(), this.updateSelectLinesGeometry();
855
855
  }
856
856
  }
857
- class fn extends Xe {
857
+ class wn extends tt {
858
858
  list = [];
859
859
  rollbacklist = [];
860
860
  revokeRollbacklist = [];
@@ -882,7 +882,7 @@ class fn extends Xe {
882
882
  return this.revokeRollbacklist.push(e), this;
883
883
  }
884
884
  }
885
- class yn extends Xe {
885
+ class bn extends tt {
886
886
  commandFlowMap = /* @__PURE__ */ new Map();
887
887
  lock = !1;
888
888
  abortController = null;
@@ -909,7 +909,7 @@ class yn extends Xe {
909
909
  */
910
910
  addCommandFlow(e) {
911
911
  if (this.commandFlowMap.has(e)) throw new Error(`${e} 命令已经存在`);
912
- const t = new fn();
912
+ const t = new wn();
913
913
  return this.commandFlowMap.set(e, t), t;
914
914
  }
915
915
  executionPromise = null;
@@ -926,25 +926,25 @@ class yn extends Xe {
926
926
  currentName: this.currentName
927
927
  }), this.executionPromise && await this.executionPromise, this.executionPromise = null, this.lock)
928
928
  throw new Error("命令管理器已被 " + this.currentName + " 命令锁定,无法启动新的命令流,请退出或等待命令执行结束");
929
- const o = this.commandFlowMap.get(e);
930
- if (!o)
929
+ const s = this.commandFlowMap.get(e);
930
+ if (!s)
931
931
  throw new Error(`命令流 ${e} 不存在`);
932
- this.lock = !0, this.abortController = new AbortController(), this.currentName = e, o.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
932
+ this.lock = !0, this.abortController = new AbortController(), this.currentName = e, s.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
933
933
  try {
934
- for (let s = n; s < o.list.length; s++) {
935
- const a = o.list[s];
936
- if (o.dispatchEvent({ type: "executing", index: s }), this.dispatchEvent({ type: "executing", name: e, index: s }), t = await new Promise((r) => {
934
+ for (let o = n; o < s.list.length; o++) {
935
+ const a = s.list[o];
936
+ if (s.dispatchEvent({ type: "executing", index: o }), this.dispatchEvent({ type: "executing", name: e, index: o }), t = await new Promise((r) => {
937
937
  this.resolve = r, a(r, t);
938
938
  }), this.abortController.signal.aborted) {
939
- o.dispatchEvent({ type: "executionInterrupt", index: s }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: s }), this.dispatchEvent({ type: "cancel", name: e });
939
+ s.dispatchEvent({ type: "executionInterrupt", index: o }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: o }), this.dispatchEvent({ type: "cancel", name: e });
940
940
  break;
941
941
  } else
942
- o.dispatchEvent({ type: "executionCompleted", index: s, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: s, data: t });
942
+ s.dispatchEvent({ type: "executionCompleted", index: o, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: o, data: t });
943
943
  }
944
- } catch (s) {
945
- console.error(s);
944
+ } catch (o) {
945
+ console.error(o);
946
946
  } finally {
947
- 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);
947
+ 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);
948
948
  }
949
949
  return t;
950
950
  }
@@ -962,7 +962,7 @@ class yn extends Xe {
962
962
  if (!e) return !1;
963
963
  const t = this.commandFlowMap.get(e.name);
964
964
  if (!t) return !1;
965
- const n = t.rollbacklist.reduce((o, s) => s(o), e.data);
965
+ const n = t.rollbacklist.reduce((s, o) => o(s), e.data);
966
966
  return this.dispatchEvent({ type: "rollback", name: e.name }), this.rollbackList.push({
967
967
  data: n,
968
968
  name: e.name
@@ -980,73 +980,72 @@ class yn extends Xe {
980
980
  if (!e) return !1;
981
981
  const t = this.commandFlowMap.get(e.name);
982
982
  if (!t) return !1;
983
- const n = t.revokeRollbacklist.reduce((o, s) => s(o), e.data);
983
+ const n = t.revokeRollbacklist.reduce((s, o) => o(s), e.data);
984
984
  return this.dispatchEvent({ type: "revokeRollback", name: e.name }), this.operationList.push({ name: e.name, data: n }), !0;
985
985
  } catch (e) {
986
986
  throw new Error(`撤回回滚失败:${e}`);
987
987
  }
988
988
  }
989
989
  }
990
- const wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%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", bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
990
+ const xn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%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", Cn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
991
991
  __proto__: null,
992
- default: wn
993
- }, Symbol.toStringTag, { value: "Module" })), Cn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", xn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
994
- __proto__: null,
995
- default: Cn
996
- }, Symbol.toStringTag, { value: "Module" })), 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='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
992
+ default: xn
993
+ }, Symbol.toStringTag, { value: "Module" })), En = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
997
994
  __proto__: null,
998
995
  default: En
999
- }, Symbol.toStringTag, { value: "Module" })), Ln = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
996
+ }, Symbol.toStringTag, { value: "Module" })), Ln = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", In = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1000
997
  __proto__: null,
1001
998
  default: Ln
1002
- }, Symbol.toStringTag, { value: "Module" })), In = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
999
+ }, Symbol.toStringTag, { value: "Module" })), Pn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1003
1000
  __proto__: null,
1004
- default: In
1005
- }, Symbol.toStringTag, { value: "Module" })), Dn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1001
+ default: Pn
1002
+ }, Symbol.toStringTag, { value: "Module" })), Dn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1006
1003
  __proto__: null,
1007
1004
  default: Dn
1008
- }, Symbol.toStringTag, { value: "Module" })), An = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='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", _n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1005
+ }, Symbol.toStringTag, { value: "Module" })), An = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e", _n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1009
1006
  __proto__: null,
1010
1007
  default: An
1011
- }, Symbol.toStringTag, { value: "Module" })), Bn = "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", Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1008
+ }, Symbol.toStringTag, { value: "Module" })), Bn = "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", Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1012
1009
  __proto__: null,
1013
1010
  default: Bn
1014
- }, 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='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", On = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1011
+ }, Symbol.toStringTag, { value: "Module" })), On = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e", Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1015
1012
  __proto__: null,
1016
- default: Rn
1017
- }, Symbol.toStringTag, { value: "Module" })), Fn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", Kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1013
+ default: On
1014
+ }, 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", Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1018
1015
  __proto__: null,
1019
- default: Fn
1020
- }, Symbol.toStringTag, { value: "Module" })), zn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1016
+ default: Kn
1017
+ }, Symbol.toStringTag, { value: "Module" })), zn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1021
1018
  __proto__: null,
1022
1019
  default: zn
1023
- }, Symbol.toStringTag, { value: "Module" })), jn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1020
+ }, Symbol.toStringTag, { value: "Module" })), jn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1024
1021
  __proto__: null,
1025
1022
  default: jn
1026
- }, Symbol.toStringTag, { value: "Module" })), Gn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1023
+ }, Symbol.toStringTag, { value: "Module" })), Gn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1027
1024
  __proto__: null,
1028
1025
  default: Gn
1029
- }, Symbol.toStringTag, { value: "Module" })), Hn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e", Wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1026
+ }, Symbol.toStringTag, { value: "Module" })), Hn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", Wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1030
1027
  __proto__: null,
1031
1028
  default: Hn
1032
- }, Symbol.toStringTag, { value: "Module" })), Un = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%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", Jn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1029
+ }, Symbol.toStringTag, { value: "Module" })), Jn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e", Un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1033
1030
  __proto__: null,
1034
- default: Un
1035
- }, Symbol.toStringTag, { value: "Module" })), qn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%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", Zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1031
+ default: Jn
1032
+ }, Symbol.toStringTag, { value: "Module" })), qn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%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", Zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1036
1033
  __proto__: null,
1037
1034
  default: qn
1038
- }, Symbol.toStringTag, { value: "Module" })), Yn = "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==", Xn = new m.TextureLoader(), $n = Xn.load(Yn);
1039
- class eo extends Se {
1035
+ }, 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='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", Xn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1036
+ __proto__: null,
1037
+ default: Yn
1038
+ }, Symbol.toStringTag, { value: "Module" })), $n = "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==", es = new h.TextureLoader(), ts = es.load($n);
1039
+ class ns extends Oe {
1040
1040
  static name = "RenderManager";
1041
- container = new m.Group();
1041
+ container = new h.Group();
1042
1042
  lines = [];
1043
- pointVirtualGrid = new Ke();
1044
- quadtree = new ze(new Ye());
1045
- actionHistory = /* @__PURE__ */ new Set();
1046
- verticalReferenceLineFlag = new m.Mesh(new m.PlaneGeometry(0.3, 0.3), new m.MeshBasicMaterial({ map: $n, color: 58111, transparent: !0 }));
1043
+ pointVirtualGrid = new Ge();
1044
+ quadtree = new Le(new Me());
1045
+ verticalReferenceLineFlag = new h.Mesh(new h.PlaneGeometry(0.3, 0.3), new h.MeshBasicMaterial({ map: ts, color: 58111, transparent: !0 }));
1047
1046
  onAddFromParent() {
1048
1047
  const e = this.dxfLineModel;
1049
- this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new m.LineBasicMaterial({
1048
+ this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new h.LineBasicMaterial({
1050
1049
  transparent: !0,
1051
1050
  opacity: 0.5,
1052
1051
  color: 16777215
@@ -1063,9 +1062,9 @@ class eo extends Se {
1063
1062
  return;
1064
1063
  } else
1065
1064
  this.updatedMode = "dxf";
1066
- this.pointVirtualGrid = new Ke();
1065
+ this.pointVirtualGrid = new Ge();
1067
1066
  const e = this.dxf.box.clone().expansion(Math.max(this.dxf.box.width, this.dxf.box.height) * 2);
1068
- (e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new ze(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
1067
+ (e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new Le(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
1069
1068
  t.userData.isDoor || this.addLine(t.clone());
1070
1069
  }), this.dxf.doorLineSegment.forEach((t) => {
1071
1070
  const n = t.clone();
@@ -1084,10 +1083,7 @@ class eo extends Se {
1084
1083
  line: e,
1085
1084
  userData: void 0
1086
1085
  };
1087
- e.userData.quadtreeNode = t, this.quadtree.insert(t), this.actionHistory.add({
1088
- type: "addLine",
1089
- data: [e]
1090
- });
1086
+ e.userData.quadtreeNode = t, this.quadtree.insert(t);
1091
1087
  }
1092
1088
  /**
1093
1089
  * 批量添加
@@ -1097,16 +1093,12 @@ class eo extends Se {
1097
1093
  for (let t = 0; t < e.length; t++) {
1098
1094
  const n = e[t];
1099
1095
  this.lines.push(n), this.pointVirtualGrid.insert(n.start, n), this.pointVirtualGrid.insert(n.end, n);
1100
- const o = {
1096
+ const s = {
1101
1097
  line: n,
1102
1098
  userData: void 0
1103
1099
  };
1104
- n.userData.quadtreeNode = o, this.quadtree.insert(o);
1100
+ n.userData.quadtreeNode = s, this.quadtree.insert(s);
1105
1101
  }
1106
- this.actionHistory.add({
1107
- type: "addLine",
1108
- data: [...e]
1109
- });
1110
1102
  }
1111
1103
  /** 移除线段
1112
1104
  * @param line
@@ -1114,25 +1106,35 @@ class eo extends Se {
1114
1106
  removeLine(e) {
1115
1107
  e.userData.quadtreeNode && this.quadtree.remove(e.userData.quadtreeNode), this.pointVirtualGrid.remove(e.start), this.pointVirtualGrid.remove(e.end);
1116
1108
  const t = this.lines.indexOf(e);
1117
- this.lines.splice(t, 1), this.draw(), this.actionHistory.add({
1118
- type: "removeLine",
1119
- data: [e]
1120
- });
1109
+ this.lines.splice(t, 1), this.draw();
1110
+ }
1111
+ /**
1112
+ * 删除
1113
+ * @param lines
1114
+ */
1115
+ removeLines(e) {
1116
+ for (let t = 0; t < e.length; t++) {
1117
+ const n = e[t];
1118
+ n.userData.quadtreeNode && this.quadtree.remove(n.userData.quadtreeNode), this.pointVirtualGrid.remove(n.start), this.pointVirtualGrid.remove(n.end);
1119
+ const s = this.lines.indexOf(n);
1120
+ this.lines.splice(s, 1);
1121
+ }
1122
+ this.draw();
1121
1123
  }
1122
1124
  /**
1123
1125
  * 绘制
1124
1126
  */
1125
1127
  draw(e = !0) {
1126
1128
  this.container.clear();
1127
- const t = [], n = [], o = [];
1128
- this.lines.forEach((s) => {
1129
- if (s.points.forEach((a) => {
1130
- s.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
1131
- }), s.userData.isWindow && s.userData.drawWindow && s.userData.drawWindow.forEach(({ width: a, p: r }) => {
1132
- const l = A.from(r), i = s.direction(), c = l.clone().add(i.clone().multiplyScalar(a * 0.5)), h = l.clone().add(i.clone().multiplyScalar(-a * 0.5));
1133
- o.push(c.x, c.y, 1e-3), o.push(h.x, h.y, 1e-3);
1134
- }), s.userData.isVerticalReferenceLine) {
1135
- const a = s.center;
1129
+ const t = [], n = [], s = [];
1130
+ this.lines.forEach((o) => {
1131
+ if (o.points.forEach((a) => {
1132
+ o.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
1133
+ }), o.userData.isWindow && o.userData.drawWindow && o.userData.drawWindow.forEach(({ width: a, p: r }) => {
1134
+ const l = R.from(r), i = o.direction(), d = l.clone().add(i.clone().multiplyScalar(a * 0.5)), p = l.clone().add(i.clone().multiplyScalar(-a * 0.5));
1135
+ s.push(d.x, d.y, 1e-3), s.push(p.x, p.y, 1e-3);
1136
+ }), o.userData.isVerticalReferenceLine) {
1137
+ const a = o.center;
1136
1138
  this.verticalReferenceLineFlag.position.set(a.x, a.y, 0), this.container.add(this.verticalReferenceLineFlag);
1137
1139
  }
1138
1140
  }), t.length && this.renderer.createLineSegments({
@@ -1143,9 +1145,9 @@ class eo extends Se {
1143
1145
  position: n
1144
1146
  }, n.length / 3, {
1145
1147
  color: 16776960
1146
- }, this.container), o.length && this.renderer.createLineSegments({
1147
- position: o
1148
- }, o.length / 3, {
1148
+ }, this.container), s.length && this.renderer.createLineSegments({
1149
+ position: s
1150
+ }, s.length / 3, {
1149
1151
  color: 16711935
1150
1152
  }, this.container), e && this.synchronizeDxf();
1151
1153
  }
@@ -1154,25 +1156,25 @@ class eo extends Se {
1154
1156
  * @returns
1155
1157
  */
1156
1158
  adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
1157
- const o = this.parent?.findComponentByName("Editor"), s = A.from(o.pointerPosition), a = t.queryCircle(s, e).sort((l, i) => l.point.distance(s) - i.point.distance(s));
1159
+ const s = this.parent?.findComponentByName("Editor"), o = R.from(s.pointerPosition), a = t.queryCircle(o, e).sort((l, i) => l.point.distance(o) - i.point.distance(o));
1158
1160
  if (a.length) return {
1159
- point: new m.Vector3(a[0].point.x, a[0].point.y, 0),
1161
+ point: new h.Vector3(a[0].point.x, a[0].point.y, 0),
1160
1162
  find: !0,
1161
1163
  mode: "point",
1162
1164
  line: a[0].userData
1163
1165
  };
1164
- let r = n.queryCircle(s, e);
1166
+ let r = n.queryCircle(o, e);
1165
1167
  if (r.length) {
1166
- let l = r.map((i) => i.line.projectPoint(s));
1167
- return l.sort((i, c) => i && c ? i.distance(s) - c.distance(s) : 0), r = r.filter((i, c) => !!l[c]), l = l.filter((i, c) => !!l[c]), {
1168
- point: new m.Vector3(l[0].x, l[0].y, 0),
1168
+ let l = r.map((i) => i.line.projectPoint(o));
1169
+ return l.sort((i, d) => i && d ? i.distance(o) - d.distance(o) : 0), r = r.filter((i, d) => !!l[d]), l = l.filter((i, d) => !!l[d]), {
1170
+ point: new h.Vector3(l[0].x, l[0].y, 0),
1169
1171
  find: !0,
1170
1172
  mode: "line",
1171
1173
  line: r[0].line
1172
1174
  };
1173
1175
  }
1174
1176
  return {
1175
- point: new m.Vector3(o.pointerPosition.x, o.pointerPosition.y, 0),
1177
+ point: new h.Vector3(s.pointerPosition.x, s.pointerPosition.y, 0),
1176
1178
  find: !1
1177
1179
  };
1178
1180
  }
@@ -1180,9 +1182,9 @@ class eo extends Se {
1180
1182
  * @param rectangle
1181
1183
  */
1182
1184
  createGeometry(e, t) {
1183
- const n = new m.BufferGeometry();
1184
- return Object.keys(e).forEach((o) => {
1185
- n.setAttribute("position", new m.BufferAttribute(new Float32Array(e[o]), e[o].length / t));
1185
+ const n = new h.BufferGeometry();
1186
+ return Object.keys(e).forEach((s) => {
1187
+ n.setAttribute("position", new h.BufferAttribute(new Float32Array(e[s]), e[s].length / t));
1186
1188
  }), n;
1187
1189
  }
1188
1190
  /**
@@ -1190,20 +1192,21 @@ class eo extends Se {
1190
1192
  */
1191
1193
  toJson() {
1192
1194
  return this.lines.map((e) => {
1193
- 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) }));
1195
+ 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) }));
1194
1196
  return {
1195
1197
  start: e.start.toJson(this.dxf.originalZAverage),
1196
1198
  end: e.end.toJson(this.dxf.originalZAverage),
1197
- insetionArr: o,
1199
+ insetionArr: s,
1198
1200
  isDoor: t.isDoor,
1199
1201
  doorDirectConnection: t.isDoor,
1200
1202
  length: e.length(),
1201
1203
  isWindow: t.isWindow,
1202
1204
  isVerticalReferenceLine: t.isVerticalReferenceLine,
1203
- drawWindow: n && n.map((s) => ({
1204
- p: { x: s.p.x, y: s.p.y, z: s.p.z },
1205
- width: s.width,
1206
- full: s.full
1205
+ wallWidth: e.userData.wallWidth,
1206
+ drawWindow: n && n.map((o) => ({
1207
+ p: { x: o.p.x, y: o.p.y, z: o.p.z },
1208
+ width: o.width,
1209
+ full: o.full
1207
1210
  }))
1208
1211
  };
1209
1212
  });
@@ -1244,43 +1247,43 @@ class eo extends Se {
1244
1247
  return this.parent?.findComponentByName("DxfLineModel");
1245
1248
  }
1246
1249
  }
1247
- class to extends O {
1250
+ class ss extends W {
1248
1251
  static name = "DrawDoorLine";
1249
- container = new m.Group();
1252
+ container = new h.Group();
1250
1253
  interruptKeys = ["escape"];
1251
1254
  shortcutKeys = ["control", "m"];
1252
1255
  commandName = "draw-door-line";
1253
1256
  onAddFromParent(e) {
1254
1257
  super.onAddFromParent(e);
1255
- const t = e.findComponentByName("Editor"), n = t.eventInput, o = t.commandManager;
1258
+ const t = e.findComponentByName("Editor"), n = t.eventInput, s = t.commandManager;
1256
1259
  this.editor.container.add(this.container);
1257
- 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));
1258
- 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 () => {
1259
- n.isKeyCombination(this.commandName) && await o.start(this.commandName);
1260
+ 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));
1261
+ 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 () => {
1262
+ n.isKeyCombination(this.commandName) && await s.start(this.commandName);
1260
1263
  });
1261
1264
  }
1262
1265
  /** 选择点
1263
1266
  * @param next
1264
1267
  */
1265
1268
  selectPoint(e) {
1266
- let t = this.parent?.findComponentByName("Editor"), n = null, o = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), s = new fe([], 16711935), a = new fe([
1267
- new m.Vector3(-1e4, 0, 0),
1268
- new m.Vector3(1e4, 0, 0),
1269
- new m.Vector3(0, -1e4, 0),
1270
- new m.Vector3(0, 1e4, 0)
1269
+ let t = this.parent?.findComponentByName("Editor"), n = null, s = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 65280 })), o = new Ce([], 16711935), a = new Ce([
1270
+ new h.Vector3(-1e4, 0, 0),
1271
+ new h.Vector3(1e4, 0, 0),
1272
+ new h.Vector3(0, -1e4, 0),
1273
+ new h.Vector3(0, 1e4, 0)
1271
1274
  ], 16711935);
1272
- a.material = new m.LineDashedMaterial({
1275
+ a.material = new h.LineDashedMaterial({
1273
1276
  color: 4235007,
1274
1277
  dashSize: 0.1,
1275
1278
  gapSize: 0.1,
1276
1279
  linewidth: 0.1
1277
- }), this.container.add(s);
1280
+ }), this.container.add(o);
1278
1281
  let r = null;
1279
1282
  this.addEventRecord(
1280
1283
  "clear",
1281
1284
  t.addEventListener("pointerPositionChange", () => {
1282
1285
  const { point: l, find: i } = t.renderManager.adsorption();
1283
- n && s.setPoint(n, l), this.dispatchEvent({ type: "pointerMove", point: l }), i ? (o.position.set(l.x, l.y, 0), this.container.add(o), this.domElement.style.cursor = "none", r = l.clone()) : (r = null, o.removeFromParent(), this.domElement.style.cursor = "no-drop");
1286
+ n && o.setPoint(n, l), this.dispatchEvent({ type: "pointerMove", point: l }), i ? (s.position.set(l.x, l.y, 0), this.container.add(s), this.domElement.style.cursor = "none", r = l.clone()) : (r = null, s.removeFromParent(), this.domElement.style.cursor = "no-drop");
1284
1287
  }),
1285
1288
  t.eventInput.addEventListener("codeChange", async () => {
1286
1289
  if (t.eventInput.isKeyDown("mouse_0") && r) {
@@ -1292,7 +1295,7 @@ class to extends O {
1292
1295
  }
1293
1296
  }),
1294
1297
  function() {
1295
- s.removeFromParent(), o.removeFromParent(), a.removeFromParent();
1298
+ o.removeFromParent(), s.removeFromParent(), a.removeFromParent();
1296
1299
  }
1297
1300
  );
1298
1301
  }
@@ -1303,23 +1306,23 @@ class to extends O {
1303
1306
  */
1304
1307
  end(e, t) {
1305
1308
  const n = [];
1306
- for (let o = 0; o < t.length; o += 2) {
1307
- const s = A.from(t[o]), a = A.from(t[o + 1]), r = this.renderManager.quadtree.queryCircle(s, 1e-3)[0].line, l = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
1309
+ for (let s = 0; s < t.length; s += 2) {
1310
+ const o = R.from(t[s]), a = R.from(t[s + 1]), r = this.renderManager.quadtree.queryCircle(o, 1e-3)[0].line, l = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
1308
1311
  let i = null;
1309
1312
  r === l && (i = {
1310
1313
  oldLine: r,
1311
- newLine1: new B(
1314
+ newLine1: new z(
1312
1315
  r.start,
1313
- r.start.distance(s) < r.start.distance(a) ? s.clone() : a.clone()
1316
+ r.start.distance(o) < r.start.distance(a) ? o.clone() : a.clone()
1314
1317
  ),
1315
- newLine2: new B(
1318
+ newLine2: new z(
1316
1319
  r.end,
1317
- r.end.distance(s) < r.end.distance(a) ? s.clone() : a.clone()
1320
+ r.end.distance(o) < r.end.distance(a) ? o.clone() : a.clone()
1318
1321
  )
1319
1322
  });
1320
- const c = new B(s, a);
1321
- c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
1322
- line: c,
1323
+ const d = new z(o, a);
1324
+ d.userData.isDoor = !0, d.userData.doorDirectConnection = !0, n.push({
1325
+ line: d,
1323
1326
  option: i
1324
1327
  });
1325
1328
  }
@@ -1348,9 +1351,9 @@ class to extends O {
1348
1351
  return this.completed(e), e;
1349
1352
  }
1350
1353
  }
1351
- class no extends O {
1354
+ class os extends W {
1352
1355
  static name = "DrawWindow";
1353
- container = new m.Group();
1356
+ container = new h.Group();
1354
1357
  interruptKeys = ["escape"];
1355
1358
  shortcutKeys = ["control", "q"];
1356
1359
  commandName = "draw-window-line";
@@ -1363,24 +1366,24 @@ class no extends O {
1363
1366
  * @param next
1364
1367
  */
1365
1368
  selectPointStart(e) {
1366
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
1369
+ let t = null, n = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 16711935 })), s = null;
1367
1370
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
1368
- const { point: s, line: a, find: r } = this.editor.renderManager.adsorption();
1369
- this.dispatchEvent({ type: "pointerMove", point: s }), r ? (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());
1371
+ const { point: o, line: a, find: r } = this.editor.renderManager.adsorption();
1372
+ this.dispatchEvent({ type: "pointerMove", point: o }), r ? (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());
1370
1373
  })).add(this.eventInput.addEventListener("codeChange", () => {
1371
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
1374
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
1372
1375
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
1373
1376
  }
1374
1377
  /** 选择结束点
1375
1378
  * @param next
1376
1379
  */
1377
1380
  selectPointEnd(e, { point: t, line: n }) {
1378
- let o = null, s = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
1379
- this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1381
+ let s = null, o = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 16711935 }));
1382
+ this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
1380
1383
  const { point: a, find: r, line: l } = this.editor.renderManager.adsorption();
1381
- this.dispatchEvent({ type: "pointerMove", point: a }), r && l === 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());
1384
+ this.dispatchEvent({ type: "pointerMove", point: a }), r && l === 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());
1382
1385
  })).add(this.eventInput.addEventListener("codeChange", () => {
1383
- this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
1386
+ this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
1384
1387
  }));
1385
1388
  }
1386
1389
  /**
@@ -1388,13 +1391,13 @@ class no extends O {
1388
1391
  * @param next
1389
1392
  * @param points
1390
1393
  */
1391
- end(e, { start: t, end: n, line: o }) {
1392
- const s = new B(A.from(t), A.from(n)), a = s.center, r = s.length(), l = {
1393
- p: new m.Vector3(a.x, a.y, 0),
1394
+ end(e, { start: t, end: n, line: s }) {
1395
+ const o = new z(R.from(t), R.from(n)), a = o.center, r = o.length(), l = {
1396
+ p: new h.Vector3(a.x, a.y, 0),
1394
1397
  width: r,
1395
- full: Math.abs(r - o.length()) < 0.01
1398
+ full: Math.abs(r - s.length()) < 0.01
1396
1399
  };
1397
- e({ line: o, doorDataItem: l });
1400
+ e({ line: s, doorDataItem: l });
1398
1401
  }
1399
1402
  /** 执行完成
1400
1403
  */
@@ -1407,8 +1410,8 @@ class no extends O {
1407
1410
  rollback(e) {
1408
1411
  const { doorDataItem: t, line: n } = e;
1409
1412
  if (n.userData.drawWindow) {
1410
- const o = n.userData.drawWindow.indexOf(t);
1411
- o !== -1 && (n.userData.drawWindow.splice(o, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
1413
+ const s = n.userData.drawWindow.indexOf(t);
1414
+ s !== -1 && (n.userData.drawWindow.splice(s, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
1412
1415
  }
1413
1416
  return e;
1414
1417
  }
@@ -1420,41 +1423,31 @@ class no extends O {
1420
1423
  return this.completed(e), e;
1421
1424
  }
1422
1425
  }
1423
- class de extends O {
1426
+ class oe extends W {
1424
1427
  static name = "VerticalCorrection";
1425
- container = new m.Group();
1428
+ container = new h.Group();
1426
1429
  shortcutKeys = ["control", "c"];
1427
1430
  shortcutKeys2 = ["control", "shift", "c"];
1431
+ shortcutKeys3 = ["shift", "c"];
1428
1432
  static commandName = "verticalCorrection";
1429
1433
  recursion = !1;
1434
+ axisAlignment = !1;
1430
1435
  onAddFromParent(e) {
1431
1436
  super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
1432
- const t = this.commandManager.addCommandFlow(de.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalCorrection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1437
+ const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalCorrection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1433
1438
  t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), t.addEventListener("started", () => {
1434
1439
  !this.eventInput.isOnlyKeyDowns(this.shortcutKeys) && !this.eventInput.isOnlyKeyDowns(this.shortcutKeys2) && (this.recursion = !1);
1435
1440
  }), this.eventInput.addEventListener("codeChange", async () => {
1436
- this.eventInput.isOnlyKeyDowns(this.shortcutKeys) ? (this.recursion = !1, this.commandManager.start(de.commandName, [...this.default.selectLines])) : this.eventInput.isOnlyKeyDowns(this.shortcutKeys2) && (this.recursion = !0, this.commandManager.start(de.commandName, [...this.default.selectLines]));
1441
+ this.eventInput.isOnlyKeyDowns(this.shortcutKeys) ? (this.recursion = !1, this.axisAlignment = !1, this.commandManager.start(oe.commandName, [...this.default.selectLines])) : this.eventInput.isOnlyKeyDowns(this.shortcutKeys2) ? (this.recursion = !0, this.axisAlignment = !1, this.commandManager.start(oe.commandName, [...this.default.selectLines])) : this.eventInput.isOnlyKeyDowns(this.shortcutKeys3) && (this.axisAlignment = !0, this.commandManager.start(oe.commandName, [...this.default.selectLines]));
1437
1442
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys) || this.eventInput.isOnlyKeyDowns(this.shortcutKeys2));
1438
1443
  }
1439
1444
  /**
1440
1445
  * 进入命令约束
1441
1446
  */
1442
1447
  constraint(e, t) {
1443
- Array.isArray(t) ? t.length !== 1 ? (L({ message: "请选择一条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1444
- }
1445
- /**
1446
- * 线段是否为结尾线段
1447
- * @param line
1448
- */
1449
- lineIsPathEnd(e) {
1450
- for (let t = 0; t < e.points.length; t++) {
1451
- const n = e.points[t];
1452
- if (this.renderManager.pointVirtualGrid.queryPoint(n).filter((s) => !s.point.equal(n)).length === 0) return !0;
1453
- }
1454
- return !1;
1448
+ Array.isArray(t) ? t.length !== 1 ? (B({ message: "请选择一条线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1455
1449
  }
1456
1450
  /**
1457
- *
1458
1451
  * @param line0
1459
1452
  * @param line1
1460
1453
  */
@@ -1462,7 +1455,6 @@ class de extends O {
1462
1455
  return !!(e.start.equal(t.start) || e.start.equal(t.end) || e.end.equal(t.start) || e.end.equal(t.end));
1463
1456
  }
1464
1457
  /**
1465
- *
1466
1458
  * @param line
1467
1459
  * @param newStartPoint
1468
1460
  * @param newEndPoint
@@ -1471,46 +1463,46 @@ class de extends O {
1471
1463
  * @param id
1472
1464
  * @returns
1473
1465
  */
1474
- setLinePoint(e, t, n, o = "all", s = [], a = Pt()) {
1466
+ setLinePoint(e, t, n, s = "all", o = [], a = Dt()) {
1475
1467
  if (e.userData.setLinePointUUid === a) return [];
1476
1468
  e.userData.setLinePointUUid = a;
1477
1469
  let r = [], l = [];
1478
- (o === "start" || o === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((f) => f.userData !== e)), (o === "end" || o === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((f) => f.userData !== e));
1470
+ (s === "start" || s === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((E) => E.userData !== e)), (s === "end" || s === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((E) => E.userData !== e));
1479
1471
  const i = e.clone();
1480
- let c = "";
1481
- t && (e.start.equal(t) || (c = "start"), s.push({
1472
+ let d = "";
1473
+ t && (e.start.equal(t) || (d = "start"), o.push({
1482
1474
  point: e.start,
1483
1475
  oldPoint: e.start.clone(),
1484
1476
  newPoint: t,
1485
1477
  line: e
1486
- }), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), s.push({
1478
+ }), e.start.copy(t)), n && (e.end.equal(n) || (d = d === "start" ? "all" : "end"), o.push({
1487
1479
  point: e.end,
1488
1480
  oldPoint: e.end.clone(),
1489
1481
  newPoint: n,
1490
1482
  line: e
1491
1483
  }), e.end.copy(n));
1492
- const h = (f, u, p) => {
1493
- f.forEach((g) => {
1494
- const { point: E, userData: C } = g, D = C.start === E ? "start" : "end";
1495
- if (C.directionEqual(i))
1496
- if (D === "start") {
1497
- const F = e.projectPoint(C.end, !1);
1498
- if (F) return this.setLinePoint(C, u, F, "end", s, a);
1484
+ const p = (E, f, y) => {
1485
+ E.forEach((C) => {
1486
+ const { point: v, userData: w } = C, g = w.start === v ? "start" : "end";
1487
+ if (w.directionEqual(i))
1488
+ if (g === "start") {
1489
+ const S = e.projectPoint(w.end, !1);
1490
+ if (S) return this.setLinePoint(w, f, S, "end", o, a);
1499
1491
  } else {
1500
- const F = e.projectPoint(C.start, !1);
1501
- if (F) return this.setLinePoint(C, F, u, "start", s, a);
1492
+ const S = e.projectPoint(w.start, !1);
1493
+ if (S) return this.setLinePoint(w, S, f, "start", o, a);
1502
1494
  }
1503
- (c === "all" || p === c) && this.setLinePoint(
1504
- C,
1505
- C.start === E ? u : C.start,
1506
- C.end === E ? u : C.end,
1507
- C.start === E ? "end" : "start",
1508
- s,
1495
+ (d === "all" || y === d) && this.setLinePoint(
1496
+ w,
1497
+ w.start === v ? f : w.start,
1498
+ w.end === v ? f : w.end,
1499
+ w.start === v ? "end" : "start",
1500
+ o,
1509
1501
  a
1510
1502
  );
1511
1503
  });
1512
1504
  };
1513
- return h(r, e.start, "start"), h(l, e.end, "end"), [...r, ...l];
1505
+ return p(r, e.start, "start"), p(l, e.end, "end"), [...r, ...l];
1514
1506
  }
1515
1507
  /** 修正2
1516
1508
  * 第一步:确定需要修复的线段
@@ -1524,46 +1516,46 @@ class de extends O {
1524
1516
  */
1525
1517
  correction(e, t = [], n = /* @__PURE__ */ new Set()) {
1526
1518
  n.add(e);
1527
- 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, r] = o.reduce((i, c) => {
1528
- const [h, f] = i;
1529
- return c.sameEndpoint(e) ? h.push(c) : f.push(c), i;
1519
+ 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, r] = s.reduce((i, d) => {
1520
+ const [p, E] = i;
1521
+ return d.sameEndpoint(e) ? p.push(d) : E.push(d), i;
1530
1522
  }, [[], []]);
1531
1523
  a.forEach((i) => {
1532
- const c = i.direction(), h = s.angleBetween(c, "angle");
1533
- if (Math.abs(90 - h) > 45) return !1;
1534
- const u = e.sameEndpointAsStart(i) ? e.start : e.end, p = i.sameEndpointAsStart(e) ? i.end : i.start, g = new B(
1535
- p.clone().add(s.clone().multiplyScalar(1)),
1536
- p.clone().add(s.clone().multiplyScalar(-1))
1537
- ), E = g.projectPoint(u, !1);
1538
- if (E) {
1539
- const C = [];
1524
+ const d = i.direction(), p = o.angleBetween(d, "angle");
1525
+ if (Math.abs(90 - p) > 45) return !1;
1526
+ const f = e.sameEndpointAsStart(i) ? e.start : e.end, y = i.sameEndpointAsStart(e) ? i.end : i.start, C = new z(
1527
+ y.clone().add(o.clone().multiplyScalar(1)),
1528
+ y.clone().add(o.clone().multiplyScalar(-1))
1529
+ ), v = C.projectPoint(f, !1);
1530
+ if (v) {
1531
+ const w = [];
1540
1532
  this.setLinePoint(
1541
1533
  i,
1542
- i.start === p ? E : i.start,
1543
- i.end === p ? E : i.end,
1544
- i.start === p ? "start" : "end",
1545
- C
1546
- ), t.push(C);
1534
+ i.start === y ? v : i.start,
1535
+ i.end === y ? v : i.end,
1536
+ i.start === y ? "start" : "end",
1537
+ w
1538
+ ), t.push(w);
1547
1539
  }
1548
1540
  return n.add(i), !1;
1549
- }), s.copy(e.direction());
1550
- const l = (i, c, h) => {
1551
- const f = e.projectPoint(c);
1552
- if (f) i.copy(f);
1541
+ }), o.copy(e.direction());
1542
+ const l = (i, d, p) => {
1543
+ const E = e.projectPoint(d);
1544
+ if (E) i.copy(E);
1553
1545
  else {
1554
- const u = new B(
1555
- c.clone().add(s.clone().multiplyScalar(1)),
1556
- c.clone().add(s.clone().multiplyScalar(-1))
1557
- ), p = u.projectPoint(i, !1);
1558
- if (p) {
1559
- const g = [];
1546
+ const f = new z(
1547
+ d.clone().add(o.clone().multiplyScalar(1)),
1548
+ d.clone().add(o.clone().multiplyScalar(-1))
1549
+ ), y = f.projectPoint(i, !1);
1550
+ if (y) {
1551
+ const C = [];
1560
1552
  this.setLinePoint(
1561
- h,
1562
- h.start === c ? p : h.start,
1563
- h.end === c ? p : h.end,
1564
- h.start === c ? "start" : "end",
1565
- g
1566
- ), t.push(g);
1553
+ p,
1554
+ p.start === d ? y : p.start,
1555
+ p.end === d ? y : p.end,
1556
+ p.start === d ? "start" : "end",
1557
+ C
1558
+ ), t.push(C);
1567
1559
  }
1568
1560
  }
1569
1561
  };
@@ -1573,56 +1565,209 @@ class de extends O {
1573
1565
  else if (e.containsPoint(i.end))
1574
1566
  l(i.end, i.start, i);
1575
1567
  else {
1576
- const c = e.getIntersection(i);
1577
- if (c) {
1578
- const h = new B(
1579
- i.start.clone().add(s.clone().multiplyScalar(1)),
1580
- i.start.clone().add(s.clone().multiplyScalar(-1))
1581
- ), f = h.projectPoint(c, !1);
1582
- if (f) {
1583
- const g = [];
1584
- this.setLinePoint(i, f, i.end, "start", g), t.push(g);
1568
+ const d = e.getIntersection(i);
1569
+ if (d) {
1570
+ const p = new z(
1571
+ i.start.clone().add(o.clone().multiplyScalar(1)),
1572
+ i.start.clone().add(o.clone().multiplyScalar(-1))
1573
+ ), E = p.projectPoint(d, !1);
1574
+ if (E) {
1575
+ const C = [];
1576
+ this.setLinePoint(i, E, i.end, "start", C), t.push(C);
1585
1577
  }
1586
- const u = new B(
1587
- i.end.clone().add(s.clone().multiplyScalar(1)),
1588
- i.end.clone().add(s.clone().multiplyScalar(-1))
1589
- ), p = u.projectPoint(c, !1);
1590
- if (p) {
1591
- const g = [];
1592
- this.setLinePoint(i, i.start, p, "end", g), t.push(g);
1578
+ const f = new z(
1579
+ i.end.clone().add(o.clone().multiplyScalar(1)),
1580
+ i.end.clone().add(o.clone().multiplyScalar(-1))
1581
+ ), y = f.projectPoint(d, !1);
1582
+ if (y) {
1583
+ const C = [];
1584
+ this.setLinePoint(i, i.start, y, "end", C), t.push(C);
1593
1585
  }
1594
1586
  }
1595
1587
  }
1596
- }), this.recursion && o.forEach((i) => this.correction(i, t, n)), t;
1588
+ }), this.recursion && s.forEach((i) => this.correction(i, t, n)), t;
1589
+ }
1590
+ /** 轴对齐垂直修正
1591
+ * @param targettLine
1592
+ * @returns
1593
+ */
1594
+ axisAlignmentCorrection(e) {
1595
+ function t(v, w) {
1596
+ const g = [v], S = [], A = [];
1597
+ for (let M = 0; M < w.length; M++) {
1598
+ const u = w[M];
1599
+ if (v !== u) {
1600
+ if (u.userData.isDoor) {
1601
+ A.push(u);
1602
+ continue;
1603
+ }
1604
+ if (u.parallel(v, 45)) {
1605
+ const D = Math.atan2(u.end.y - u.start.y, u.end.x - u.start.x);
1606
+ let m = Math.atan2(v.end.y - v.start.y, v.end.x - v.start.x) - D;
1607
+ for (; m > Math.PI; ) m -= 2 * Math.PI;
1608
+ for (; m < -Math.PI; ) m += 2 * Math.PI;
1609
+ const I = u.center;
1610
+ u.start.rotate(I, m), u.end.rotate(I, m), g.push(u);
1611
+ } else {
1612
+ const D = Math.atan2(u.end.y - u.start.y, u.end.x - u.start.x), b = Math.atan2(v.end.y - v.start.y, v.end.x - v.start.x);
1613
+ let m = b + Math.PI / 2 - D, I = b - Math.PI / 2 - D;
1614
+ for (; m > Math.PI; ) m -= 2 * Math.PI;
1615
+ for (; m < -Math.PI; ) m += 2 * Math.PI;
1616
+ for (; I > Math.PI; ) I -= 2 * Math.PI;
1617
+ for (; I < -Math.PI; ) I += 2 * Math.PI;
1618
+ const _ = Math.abs(m) < Math.abs(I) ? m : I, j = u.center;
1619
+ u.start.rotate(j, _), u.end.rotate(j, _), S.push(u);
1620
+ }
1621
+ }
1622
+ }
1623
+ return { parallelLines: g, verticalLines: S, doorLines: A };
1624
+ }
1625
+ function n(v, w, g, S = 0.3, A = 0.06) {
1626
+ const M = [];
1627
+ v.forEach((b) => {
1628
+ const m = g.projectPoint(b.start, !1);
1629
+ m && (m.userData = b, M.push(m));
1630
+ }), M.sort((b, m) => m.distance(g.start) - b.distance(g.start));
1631
+ const u = [], D = [];
1632
+ for (let b = 0; b < M.length; b++) {
1633
+ const m = M[b];
1634
+ if (b === 0) {
1635
+ D.push(m);
1636
+ continue;
1637
+ }
1638
+ M[b - 1].distance(m) < A || (u.push([...D]), D.length = 0), D.push(m), b === M.length - 1 && u.push(D);
1639
+ }
1640
+ return u.flatMap((b) => {
1641
+ const m = b.flatMap((N) => {
1642
+ const G = N.userData;
1643
+ return G.points.map((Y) => {
1644
+ const V = w.projectPoint(Y, !1);
1645
+ return V.userData = G, V;
1646
+ });
1647
+ });
1648
+ m.sort((N, G) => N.distance(w.start) - G.distance(w.start));
1649
+ const I = /* @__PURE__ */ new Map(), _ = [], j = [];
1650
+ return m.forEach((N, G) => {
1651
+ I.size === 0 && G > 0 && m[G - 1].distance(N) > S && (_.push([...j]), j.length = 0), I.set(N.userData, (I.get(N.userData) ?? 0) + 1);
1652
+ for (const Y of I.values()) if (Y !== 2) return;
1653
+ j.push(...I.keys()), I.clear();
1654
+ }), _.push([...j]), _;
1655
+ });
1656
+ }
1657
+ function s(v, w = 0.1) {
1658
+ return v.map((g) => {
1659
+ if (g.length === 0) return;
1660
+ if (g.length === 1) return g[0];
1661
+ const S = [];
1662
+ g.forEach((V) => {
1663
+ S.push(V.start.clone(), V.end.clone());
1664
+ });
1665
+ const A = g[0].direction().normalize();
1666
+ let M = 1 / 0, u = -1 / 0, D = 0, b = 0;
1667
+ S.forEach((V) => {
1668
+ const k = V.x * A.x + V.y * A.y;
1669
+ M = Math.min(M, k), u = Math.max(u, k), D += V.x, b += V.y;
1670
+ });
1671
+ const m = new R(D / S.length, b / S.length), I = m.x * A.x + m.y * A.y, _ = new R(m.x + (M - I) * A.x, m.y + (M - I) * A.y), j = new R(m.x + (u - I) * A.x, m.y + (u - I) * A.y), N = new z(_, j), G = g[0].normal().normalize();
1672
+ M = 1 / 0, u = -1 / 0, S.forEach((V) => {
1673
+ const k = V.x * G.x + V.y * G.y;
1674
+ M = Math.min(M, k), u = Math.max(u, k);
1675
+ });
1676
+ const Y = u - M;
1677
+ return Y >= w && (N.userData.wallWidth = Y), N;
1678
+ }).filter((g) => !!g);
1679
+ }
1680
+ function o(v, w = 0.2) {
1681
+ const g = new Le(Me.fromByLineSegment(...v)), S = /* @__PURE__ */ new Map();
1682
+ v.forEach((M) => {
1683
+ S.set(M, { line: M, userData: void 0 }), g.insert(S.get(M));
1684
+ });
1685
+ const A = new z();
1686
+ for (let M = 0; M < v.length; M++) {
1687
+ const u = v[M], D = u.direction().multiplyScalar(w), [b, m] = u.points.map((I) => {
1688
+ A.set(I, I), A.start.add(D), A.end.add(D.multiplyScalar(-1));
1689
+ const _ = /* @__PURE__ */ new Map(), j = g.queryRect(A.expandToRectangle(0.05, "bothSides")).filter((N) => N.line !== u).map((N) => {
1690
+ const G = N.line.getIntersection(A);
1691
+ return _.set(N.line, G), N.line;
1692
+ }).sort((N, G) => {
1693
+ const Y = _.get(N), V = _.get(G);
1694
+ return Y && V ? Y.distance(I) - V.distance(I) : 0;
1695
+ });
1696
+ return j.length ? _.get(j[0]) : void 0;
1697
+ });
1698
+ if (b && m)
1699
+ if (b.equal(m)) {
1700
+ const I = u.start.distance(b), _ = u.end.distance(m);
1701
+ I < _ ? u.directionMove(u.start.direction(u.end), I) : u.directionMove(u.end.direction(u.start), _);
1702
+ } else
1703
+ u.start.copy(b), u.end.copy(m);
1704
+ else b ? u.start.copy(b) : m && u.end.copy(m);
1705
+ g.remove(S.get(u)), g.insert(S.get(u));
1706
+ }
1707
+ return v.filter((M) => M.length() > 1e-3);
1708
+ }
1709
+ function a(v) {
1710
+ const w = new Le(Me.fromByLineSegment(...v));
1711
+ return v.forEach((g) => w.insert({ line: g, userData: void 0 })), v.flatMap((g) => {
1712
+ const S = w.queryLineSegment(g, !0).map((A) => {
1713
+ if (A.line === g) return;
1714
+ const M = A.line.getIntersection(g);
1715
+ if (!(!M || g.start.equal(M) || g.end.equal(M)))
1716
+ return M;
1717
+ }).filter((A) => !!A);
1718
+ return S.length ? (g = g.clone(), S.sort((M, u) => g.start.distance(M) - g.start.distance(u)), [...S.map((M) => {
1719
+ const u = g.clone();
1720
+ return u.set(g.start.clone(), M), g.start.copy(M), u;
1721
+ }), g]) : g;
1722
+ }).filter((g) => g.length() > 0.1);
1723
+ }
1724
+ const { parallelLines: r, verticalLines: l } = t(e, this.renderManager.lines.map((v) => v.clone())), i = e.normal(), d = e.center, p = e.direction(), E = new z(
1725
+ d.clone().add(i.clone().multiplyScalar(-1e3)),
1726
+ d.clone().add(i.clone().multiplyScalar(1e3))
1727
+ ), f = new z(
1728
+ d.clone().add(p.clone().multiplyScalar(-1e3)),
1729
+ d.clone().add(p.clone().multiplyScalar(1e3))
1730
+ );
1731
+ let y = s([
1732
+ ...n.call(this, r, f, E),
1733
+ ...n.call(this, l, E, f)
1734
+ ]);
1735
+ y = o.call(this, y), y = o.call(this, y), y = a.call(this, y);
1736
+ const C = [...this.renderManager.lines];
1737
+ return { newLines: y, oldLines: C };
1597
1738
  }
1598
1739
  /** 开始
1599
1740
  * @param next
1600
1741
  */
1601
1742
  verticalCorrection(e, t) {
1602
- e(this.correction(t[0]));
1743
+ const n = performance.now();
1744
+ e(this.axisAlignment ? this.axisAlignmentCorrection(t[0]) : this.correction(t[0])), console.log("处理时间:", performance.now() - n, "ms");
1603
1745
  }
1604
1746
  /** 执行完成
1605
1747
  * @param data
1606
1748
  */
1607
1749
  completed(e) {
1608
- e.forEach((t) => {
1750
+ Array.isArray(e) ? e.forEach((t) => {
1609
1751
  t.forEach((n) => {
1610
- const { line: o, newPoint: s, point: a } = n;
1611
- a.copy(s), this.renderManager.removeLine(o), this.renderManager.addLine(o);
1752
+ const { line: s, newPoint: o, point: a } = n;
1753
+ a.copy(o), this.renderManager.removeLine(s), this.renderManager.addLine(s);
1612
1754
  });
1613
- }), this.renderManager.draw();
1755
+ }) : (this.renderManager.removeLines(e.oldLines), this.renderManager.addLines(e.newLines)), this.renderManager.draw();
1614
1756
  }
1615
1757
  /** 回滚操作
1616
1758
  * @param data
1617
1759
  */
1618
1760
  rollback(e) {
1619
- for (let t = e.length - 1; t >= 0; t--) {
1620
- const n = e[t];
1621
- for (let o = n.length - 1; o >= 0; o--) {
1622
- const s = n[o], { line: a, oldPoint: r, point: l } = s;
1623
- l.copy(r), this.renderManager.removeLine(a), this.renderManager.addLine(a);
1761
+ if (Array.isArray(e))
1762
+ for (let t = e.length - 1; t >= 0; t--) {
1763
+ const n = e[t];
1764
+ for (let s = n.length - 1; s >= 0; s--) {
1765
+ const o = n[s], { line: a, oldPoint: r, point: l } = o;
1766
+ l.copy(r), this.renderManager.removeLine(a), this.renderManager.addLine(a);
1767
+ }
1624
1768
  }
1625
- }
1769
+ else
1770
+ this.renderManager.removeLines(e.newLines), this.renderManager.addLines(e.oldLines);
1626
1771
  return this.renderManager.draw(), e;
1627
1772
  }
1628
1773
  /** 撤回回滚
@@ -1633,40 +1778,40 @@ class de extends O {
1633
1778
  return this.completed(e), e;
1634
1779
  }
1635
1780
  }
1636
- class Y extends O {
1781
+ class ae extends W {
1637
1782
  static name = "MergeLine";
1638
1783
  shortcutKeys = ["control", "g"];
1639
1784
  static commandName = "merge-line";
1640
1785
  onAddFromParent(e) {
1641
1786
  super.onAddFromParent(e);
1642
- const t = e.findComponentByType(_e), n = this.commandManager.addCommandFlow(Y.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.mergeLine.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1643
- n.addEventListener("finally", this.createFinally()), n.addEventListener("completed", (o) => this.completed(o.data)), this.eventInput.addKeyCombination(Y.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1644
- t?.selectLines.length === 2 && this.eventInput.isKeyCombination(Y.commandName) && await this.commandManager.start(Y.commandName, [...this.default.selectLines]);
1787
+ const t = e.findComponentByType(Ke), n = this.commandManager.addCommandFlow(ae.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.mergeLine.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1788
+ n.addEventListener("finally", this.createFinally()), n.addEventListener("completed", (s) => this.completed(s.data)), this.eventInput.addKeyCombination(ae.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1789
+ t?.selectLines.length === 2 && this.eventInput.isKeyCombination(ae.commandName) && await this.commandManager.start(ae.commandName, [...this.default.selectLines]);
1645
1790
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1646
1791
  }
1647
1792
  /**
1648
1793
  * 进入命令约束
1649
1794
  */
1650
1795
  constraint(e, t) {
1651
- Array.isArray(t) ? t.length !== 2 ? (L({ message: "未执行线段合并,请选择两条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1796
+ Array.isArray(t) ? t.length !== 2 ? (B({ message: "未执行线段合并,请选择两条线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1652
1797
  }
1653
1798
  /** 开始
1654
1799
  * @param next
1655
1800
  * @todo 合并所有
1656
1801
  */
1657
1802
  mergeLine(e, t) {
1658
- const n = t[0], o = t[1];
1659
- for (let s = 0; s < n.points.length; s++) {
1660
- const a = n.points[s];
1661
- for (let r = 0; r < o.points.length; r++) {
1662
- const l = o.points[r];
1803
+ const n = t[0], s = t[1];
1804
+ for (let o = 0; o < n.points.length; o++) {
1805
+ const a = n.points[o];
1806
+ for (let r = 0; r < s.points.length; r++) {
1807
+ const l = s.points[r];
1663
1808
  if (a.equal(l)) {
1664
- const i = n.points[(s + 1) % 2], c = o.points[(r + 1) % 2], h = new B(i, c);
1665
- return e({ line1: n, line2: o, newLine: h }), L({ message: "已合并", type: "success" });
1809
+ const i = n.points[(o + 1) % 2], d = s.points[(r + 1) % 2], p = new z(i, d);
1810
+ return e({ line1: n, line2: s, newLine: p }), B({ message: "已合并", type: "success" });
1666
1811
  }
1667
1812
  }
1668
1813
  }
1669
- L({ message: "合并失败,两条线未找到共用点", type: "warning" }), this.commandManager.cancel();
1814
+ B({ message: "合并失败,两条线未找到共用点", type: "warning" }), this.commandManager.cancel();
1670
1815
  }
1671
1816
  /** 执行完成
1672
1817
  * @param data
@@ -1688,26 +1833,26 @@ class Y extends O {
1688
1833
  return this.completed(e), e;
1689
1834
  }
1690
1835
  }
1691
- class X extends O {
1836
+ class ie extends W {
1692
1837
  static name = "DeleteSelectLine";
1693
1838
  shortcutKeys = ["Delete"];
1694
1839
  static commandName = "deleteSelectLine";
1695
1840
  onAddFromParent(e) {
1696
- super.onAddFromParent(e), this.commandManager.addCommandFlow(X.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.delete.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this)).addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(X.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1697
- this.eventInput.isKeyCombination(X.commandName) && await this.commandManager.start(X.commandName, [...this.default.selectLines]);
1841
+ super.onAddFromParent(e), this.commandManager.addCommandFlow(ie.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.delete.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this)).addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(ie.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1842
+ this.eventInput.isKeyCombination(ie.commandName) && await this.commandManager.start(ie.commandName, [...this.default.selectLines]);
1698
1843
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1699
1844
  }
1700
1845
  /**
1701
1846
  * 进入命令约束
1702
1847
  */
1703
1848
  constraint(e, t) {
1704
- Array.isArray(t) ? t.length === 0 ? (L({ message: "请选择线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1849
+ Array.isArray(t) ? t.length === 0 ? (B({ message: "请选择线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1705
1850
  }
1706
1851
  /** 开始
1707
1852
  * @param next
1708
1853
  */
1709
1854
  delete(e, t) {
1710
- t.forEach((n) => this.renderManager.removeLine(n)), L({ message: "删除成功", type: "success" }), e(t);
1855
+ t.forEach((n) => this.renderManager.removeLine(n)), B({ message: "删除成功", type: "success" }), e(t);
1711
1856
  }
1712
1857
  /** 回滚操作
1713
1858
  * @param data
@@ -1723,36 +1868,36 @@ class X extends O {
1723
1868
  return e.forEach((t) => this.renderManager.removeLine(t)), e;
1724
1869
  }
1725
1870
  }
1726
- class $ extends O {
1871
+ class re extends W {
1727
1872
  static name = "ConnectionLine";
1728
1873
  shortcutKeys = ["Shift", "L"];
1729
1874
  static commandName = "connectionLine";
1730
1875
  onAddFromParent(e) {
1731
1876
  super.onAddFromParent(e);
1732
- const t = this.commandManager.addCommandFlow($.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1733
- t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination($.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1734
- this.eventInput.isKeyCombination($.commandName) && await this.commandManager.start($.commandName, [...this.default.selectLines]);
1877
+ const t = this.commandManager.addCommandFlow(re.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1878
+ t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(re.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1879
+ this.eventInput.isKeyCombination(re.commandName) && await this.commandManager.start(re.commandName, [...this.default.selectLines]);
1735
1880
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1736
1881
  }
1737
1882
  /**
1738
1883
  * 进入命令约束
1739
1884
  */
1740
1885
  constraint(e, t) {
1741
- Array.isArray(t) ? t.length !== 2 ? (L({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1886
+ Array.isArray(t) ? t.length !== 2 ? (B({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1742
1887
  }
1743
1888
  /** 连接
1744
1889
  * @param next
1745
1890
  */
1746
1891
  connection(e, t) {
1747
- let n, o, s = 1 / 0;
1892
+ let n, s, o = 1 / 0;
1748
1893
  for (let a = 0; a < 2; a++)
1749
1894
  for (let r = 0; r < 2; r++) {
1750
- const l = t[0].points[a], i = t[1].points[r], c = l.distance(i);
1751
- c < s && (n = l, o = i, s = c);
1895
+ const l = t[0].points[a], i = t[1].points[r], d = l.distance(i);
1896
+ d < o && (n = l, s = i, o = d);
1752
1897
  }
1753
- if (n && o) {
1754
- const a = new B(n.clone(), o.clone());
1755
- e(a), L({ message: "连接成功", type: "success" });
1898
+ if (n && s) {
1899
+ const a = new z(n.clone(), s.clone());
1900
+ e(a), B({ message: "连接成功", type: "success" });
1756
1901
  } else this.cancel();
1757
1902
  }
1758
1903
  /** 成功
@@ -1776,47 +1921,47 @@ class $ extends O {
1776
1921
  return this.completed(e), e;
1777
1922
  }
1778
1923
  }
1779
- class ee extends O {
1924
+ class de extends W {
1780
1925
  static name = "IntersectionConnectionLine";
1781
1926
  shortcutKeys = ["control", "Shift", "L"];
1782
1927
  static commandName = "intersectionConnectionLine";
1783
1928
  onAddFromParent(e) {
1784
1929
  super.onAddFromParent(e);
1785
- const t = this.commandManager.addCommandFlow(ee.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1786
- t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ee.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1787
- this.eventInput.isKeyCombination(ee.commandName) && await this.commandManager.start(ee.commandName, [...this.default.selectLines]);
1930
+ const t = this.commandManager.addCommandFlow(de.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1931
+ t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(de.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1932
+ this.eventInput.isKeyCombination(de.commandName) && await this.commandManager.start(de.commandName, [...this.default.selectLines]);
1788
1933
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1789
1934
  }
1790
1935
  /**
1791
1936
  * 进入命令约束
1792
1937
  */
1793
1938
  constraint(e, t) {
1794
- Array.isArray(t) ? t.length !== 2 ? (L({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1939
+ Array.isArray(t) ? t.length !== 2 ? (B({ message: "请选择2条线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1795
1940
  }
1796
1941
  /** 开始
1797
1942
  * @param next
1798
1943
  */
1799
1944
  connection(e, t) {
1800
- const n = t[0], o = t[1], s = t[0].getIntersection(t[1]);
1801
- if (!s) return;
1802
- const a = n.points.map((c) => c.clone()), r = o.points.map((c) => c.clone());
1803
- 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);
1804
- const l = n.points.map((c) => c.clone()), i = o.points.map((c) => c.clone());
1805
- e({ line1: n, line2: o, oldLine1: a, oldLine2: r, newLine1: l, newLine2: i }), L({ message: "连接成功", type: "success" });
1945
+ const n = t[0], s = t[1], o = t[0].getIntersection(t[1]);
1946
+ if (!o) return;
1947
+ const a = n.points.map((d) => d.clone()), r = s.points.map((d) => d.clone());
1948
+ 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);
1949
+ const l = n.points.map((d) => d.clone()), i = s.points.map((d) => d.clone());
1950
+ e({ line1: n, line2: s, oldLine1: a, oldLine2: r, newLine1: l, newLine2: i }), B({ message: "连接成功", type: "success" });
1806
1951
  }
1807
1952
  /** 执行完成
1808
1953
  * @param next
1809
1954
  * @param selectLines
1810
1955
  */
1811
- completed({ line1: e, line2: t, newLine1: n, newLine2: o }) {
1812
- this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...o), this.renderManager.addLines([e, t]), this.renderManager.draw();
1956
+ completed({ line1: e, line2: t, newLine1: n, newLine2: s }) {
1957
+ this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...s), this.renderManager.addLines([e, t]), this.renderManager.draw();
1813
1958
  }
1814
1959
  /** 回滚操作
1815
1960
  * @param data
1816
1961
  */
1817
1962
  rollback(e) {
1818
- const { line1: t, line2: n, oldLine1: o, oldLine2: s } = e;
1819
- return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...o), n.set(...s), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
1963
+ const { line1: t, line2: n, oldLine1: s, oldLine2: o } = e;
1964
+ return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...s), n.set(...o), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
1820
1965
  }
1821
1966
  /** 撤回回滚
1822
1967
  * @param lines
@@ -1826,34 +1971,34 @@ class ee extends O {
1826
1971
  return this.completed(e), e;
1827
1972
  }
1828
1973
  }
1829
- class te extends O {
1974
+ class le extends W {
1830
1975
  static name = "DeleteSelectWindow";
1831
1976
  shortcutKeys = ["Q", "Delete"];
1832
1977
  static commandName = "deleteSelectWindow";
1833
1978
  onAddFromParent(e) {
1834
1979
  super.onAddFromParent(e);
1835
- const t = this.commandManager.addCommandFlow(te.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1836
- t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(te.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1837
- this.eventInput.isKeyCombination(te.commandName) && await this.commandManager.start(te.commandName, [...this.default.selectLines]);
1980
+ const t = this.commandManager.addCommandFlow(le.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1981
+ t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(le.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1982
+ this.eventInput.isKeyCombination(le.commandName) && await this.commandManager.start(le.commandName, [...this.default.selectLines]);
1838
1983
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1839
1984
  }
1840
1985
  /**
1841
1986
  * 进入命令约束
1842
1987
  */
1843
1988
  constraint(e, t) {
1844
- Array.isArray(t) ? t.some((n) => n.userData.isWindow) ? e(t) : (L({ message: "请选择有窗户线段", type: "warning" }), this.cancel()) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
1989
+ Array.isArray(t) ? t.some((n) => n.userData.isWindow) ? e(t) : (B({ message: "请选择有窗户线段", type: "warning" }), this.cancel()) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1845
1990
  }
1846
1991
  /** 开始
1847
1992
  * @param next
1848
1993
  */
1849
1994
  end(e, t) {
1850
- let n = !1, o = [];
1851
- t.forEach((s) => {
1852
- s.userData.isWindow && (o.push({
1853
- line: s,
1854
- drawDoorData: s.userData.drawDoorData
1995
+ let n = !1, s = [];
1996
+ t.forEach((o) => {
1997
+ o.userData.isWindow && (s.push({
1998
+ line: o,
1999
+ drawDoorData: o.userData.drawDoorData
1855
2000
  }), n = !0);
1856
- }), n && L({ message: "删除窗户成功", type: "success" }), e(o);
2001
+ }), n && B({ message: "删除窗户成功", type: "success" }), e(s);
1857
2002
  }
1858
2003
  /**
1859
2004
  * 完成
@@ -1883,16 +2028,16 @@ class te extends O {
1883
2028
  return this.completed(e), e;
1884
2029
  }
1885
2030
  }
1886
- class ne extends O {
2031
+ class ce extends W {
1887
2032
  static name = "SelectAll";
1888
- container = new m.Group();
2033
+ container = new h.Group();
1889
2034
  shortcutKeys = ["control", "a"];
1890
2035
  static commandName = "selectAll";
1891
2036
  onAddFromParent(e) {
1892
2037
  super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
1893
- const t = this.commandManager.addCommandFlow(ne.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
1894
- t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ne.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1895
- this.eventInput.isKeyCombination(ne.commandName) && await this.commandManager.start(ne.commandName);
2038
+ const t = this.commandManager.addCommandFlow(ce.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
2039
+ t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ce.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
2040
+ this.eventInput.isKeyCombination(ce.commandName) && await this.commandManager.start(ce.commandName);
1896
2041
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1897
2042
  }
1898
2043
  /** 开始
@@ -1920,22 +2065,22 @@ class ne extends O {
1920
2065
  return this.completed(e), e;
1921
2066
  }
1922
2067
  }
1923
- class oe extends O {
2068
+ class me extends W {
1924
2069
  static name = "ViewAngle";
1925
2070
  shortcutKeys = ["r"];
1926
2071
  static commandName = "viewAngle";
1927
2072
  onAddFromParent(e) {
1928
2073
  super.onAddFromParent(e);
1929
- const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.viewAngle.bind(this));
1930
- t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(oe.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
1931
- this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName, [...this.default.selectLines]);
2074
+ const t = this.commandManager.addCommandFlow(me.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.viewAngle.bind(this));
2075
+ t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(me.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
2076
+ this.eventInput.isKeyCombination(me.commandName) && await this.commandManager.start(me.commandName, [...this.default.selectLines]);
1932
2077
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
1933
2078
  }
1934
2079
  /**
1935
2080
  * 进入命令约束
1936
2081
  */
1937
2082
  constraint(e, t) {
1938
- Array.isArray(t) ? t.length !== 2 || !t[0].sameEndpoint(t[1]) ? (L({ message: "请选择两条具有端点相交的线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
2083
+ Array.isArray(t) ? t.length !== 2 || !t[0].sameEndpoint(t[1]) ? (B({ message: "请选择两条具有端点相交的线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
1939
2084
  }
1940
2085
  /**
1941
2086
  *
@@ -1943,38 +2088,38 @@ class oe extends O {
1943
2088
  * @param selectLines
1944
2089
  */
1945
2090
  viewAngle(e, t) {
1946
- const [n, o] = t, s = Math.min(0.5, n.length(), o.length());
1947
- let a, r, l, i = 0, c = 0;
1948
- n.sameEndpointAsStart(o) ? (a = n.start, r = n.end) : (a = n.end, r = n.start), o.sameEndpointAsStart(n) ? l = o.end : l = o.start;
1949
- function h(M, K) {
1950
- const w = K.x - M.x, Z = K.y - M.y;
1951
- let G = Math.atan2(Z, w) * (180 / Math.PI);
1952
- return G < 0 && (G += 360), G;
2091
+ const [n, s] = t, o = Math.min(0.5, n.length(), s.length());
2092
+ let a, r, l, i = 0, d = 0;
2093
+ n.sameEndpointAsStart(s) ? (a = n.start, r = n.end) : (a = n.end, r = n.start), s.sameEndpointAsStart(n) ? l = s.end : l = s.start;
2094
+ function p(D, b) {
2095
+ const m = b.x - D.x, I = b.y - D.y;
2096
+ let _ = Math.atan2(I, m) * (180 / Math.PI);
2097
+ return _ < 0 && (_ += 360), _;
1953
2098
  }
1954
- const f = h(a, r), u = h(a, l), p = Math.min(f, u), g = Math.max(f, u), E = [];
1955
- function C(M, K) {
1956
- for (let w = M; w <= K; w++) {
1957
- const Z = Math.cos(w * Math.PI / 180) * s + a.x, G = Math.sin(w * Math.PI / 180) * s + a.y, Ce = Math.cos((w + 1) * Math.PI / 180) * s + a.x, xe = Math.sin((w + 1) * Math.PI / 180) * s + a.y;
1958
- E.push(Z, G, 0, Ce, xe, 0);
2099
+ const E = p(a, r), f = p(a, l), y = Math.min(E, f), C = Math.max(E, f), v = [];
2100
+ function w(D, b) {
2101
+ for (let m = D; m <= b; m++) {
2102
+ const I = Math.cos(m * Math.PI / 180) * o + a.x, _ = Math.sin(m * Math.PI / 180) * o + a.y, j = Math.cos((m + 1) * Math.PI / 180) * o + a.x, N = Math.sin((m + 1) * Math.PI / 180) * o + a.y;
2103
+ v.push(I, _, 0, j, N, 0);
1959
2104
  }
1960
2105
  }
1961
- g - p > 180 ? (C(0, p), C(g, 360), i = 360 - (g - p), c = (g + i / 2) % 360) : (C(p, g), i = g - p, c = p + i / 2);
1962
- const D = new m.LineSegments();
1963
- D.geometry = this.renderManager.createGeometry({
1964
- position: E
1965
- }, E.length / 3), D.material = new m.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(D);
1966
- const F = Math.cos(c * Math.PI / 180) * s + a.x, ae = Math.sin(c * Math.PI / 180) * s + a.y, q = this.renderer.createText(Number(i.toFixed(2)), new m.Vector3(F, ae, 0), {
2106
+ C - y > 180 ? (w(0, y), w(C, 360), i = 360 - (C - y), d = (C + i / 2) % 360) : (w(y, C), i = C - y, d = y + i / 2);
2107
+ const g = new h.LineSegments();
2108
+ g.geometry = this.renderManager.createGeometry({
2109
+ position: v
2110
+ }, v.length / 3), g.material = new h.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(g);
2111
+ const S = Math.cos(d * Math.PI / 180) * o + a.x, A = Math.sin(d * Math.PI / 180) * o + a.y, M = this.renderer.createText(Number(i.toFixed(2)), new h.Vector3(S, A, 0), {
1967
2112
  textShadow: "0px 0px 2px #000"
1968
2113
  }, this.renderManager.container);
1969
- let _ = 0;
1970
- this.addEventRecord("clear").add(() => D.removeFromParent()).add(() => q.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
1971
- this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (_++, _ === 1 ? setTimeout(() => _ = 0, 500) : _ === 2 && (e(), _ = 0));
2114
+ let u = 0;
2115
+ this.addEventRecord("clear").add(() => g.removeFromParent()).add(() => M.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
2116
+ this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (u++, u === 1 ? setTimeout(() => u = 0, 500) : u === 2 && (e(), u = 0));
1972
2117
  }));
1973
2118
  }
1974
2119
  }
1975
- class rt extends O {
2120
+ class ct extends W {
1976
2121
  static name = "ClippingLine";
1977
- container = new m.Group();
2122
+ container = new h.Group();
1978
2123
  shortcutKeys = ["control", "x"];
1979
2124
  commandName = "clippingLine";
1980
2125
  static commandName = "clippingLine";
@@ -1987,24 +2132,24 @@ class rt extends O {
1987
2132
  * @param next
1988
2133
  */
1989
2134
  selectPointStart(e) {
1990
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
2135
+ let t = null, n = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 16711935 })), s = null;
1991
2136
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
1992
- const { point: s, line: a, find: r } = this.editor.renderManager.adsorption();
1993
- this.dispatchEvent({ type: "pointerMove", point: s }), r ? (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());
2137
+ const { point: o, line: a, find: r } = this.editor.renderManager.adsorption();
2138
+ this.dispatchEvent({ type: "pointerMove", point: o }), r ? (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());
1994
2139
  })).add(this.eventInput.addEventListener("codeChange", () => {
1995
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
2140
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
1996
2141
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
1997
2142
  }
1998
2143
  /** 选择结束点
1999
2144
  * @param next
2000
2145
  */
2001
2146
  selectPointEnd(e, { point: t, line: n }) {
2002
- let o = null, s = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
2003
- this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2147
+ let s = null, o = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 16711935 }));
2148
+ this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
2004
2149
  const { point: a, find: r, line: l } = this.editor.renderManager.adsorption();
2005
- this.dispatchEvent({ type: "pointerMove", point: a }), r && l === 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());
2150
+ this.dispatchEvent({ type: "pointerMove", point: a }), r && l === 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());
2006
2151
  })).add(this.eventInput.addEventListener("codeChange", () => {
2007
- this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
2152
+ this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
2008
2153
  }));
2009
2154
  }
2010
2155
  /**
@@ -2012,17 +2157,17 @@ class rt extends O {
2012
2157
  * @param next
2013
2158
  * @param points
2014
2159
  */
2015
- end(e, { start: t, end: n, line: o }) {
2016
- const s = A.from(t), a = A.from(n);
2160
+ end(e, { start: t, end: n, line: s }) {
2161
+ const o = R.from(t), a = R.from(n);
2017
2162
  e({
2018
- oldLine: o,
2019
- newLine1: new B(
2020
- o.start,
2021
- o.start.distance(s) < o.start.distance(a) ? s.clone() : a.clone()
2163
+ oldLine: s,
2164
+ newLine1: new z(
2165
+ s.start,
2166
+ s.start.distance(o) < s.start.distance(a) ? o.clone() : a.clone()
2022
2167
  ),
2023
- newLine2: new B(
2024
- o.end,
2025
- o.end.distance(s) < o.end.distance(a) ? s.clone() : a.clone()
2168
+ newLine2: new z(
2169
+ s.end,
2170
+ s.end.distance(o) < s.end.distance(a) ? o.clone() : a.clone()
2026
2171
  )
2027
2172
  });
2028
2173
  }
@@ -2045,22 +2190,22 @@ class rt extends O {
2045
2190
  return this.completed(e), e;
2046
2191
  }
2047
2192
  }
2048
- class se extends O {
2193
+ class he extends W {
2049
2194
  static name = "VerticalReferenceLine";
2050
2195
  shortcutKeys = ["v"];
2051
2196
  static commandName = "VerticalReferenceLine";
2052
2197
  onAddFromParent(e) {
2053
2198
  super.onAddFromParent(e);
2054
- const t = this.commandManager.addCommandFlow(se.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalReferenceLine.bind(this));
2055
- t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(se.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
2056
- this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName, [...this.default.selectLines]);
2199
+ const t = this.commandManager.addCommandFlow(he.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalReferenceLine.bind(this));
2200
+ t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(he.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
2201
+ this.eventInput.isKeyCombination(he.commandName) && await this.commandManager.start(he.commandName, [...this.default.selectLines]);
2057
2202
  }), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
2058
2203
  }
2059
2204
  /**
2060
2205
  * 进入命令约束
2061
2206
  */
2062
2207
  constraint(e, t) {
2063
- Array.isArray(t) ? t.length !== 1 ? (L({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : t[0].userData.isDoor ? (L({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : e(t) : (L({ message: "进入命令失败", type: "warning" }), this.cancel());
2208
+ Array.isArray(t) ? t.length !== 1 ? (B({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : t[0].userData.isDoor ? (B({ message: "请选择一条墙壁线段", type: "warning" }), this.cancel()) : e(t) : (B({ message: "进入命令失败", type: "warning" }), this.cancel());
2064
2209
  }
2065
2210
  /**
2066
2211
  *
@@ -2073,67 +2218,67 @@ class se extends O {
2073
2218
  }), t[0].userData.isVerticalReferenceLine = !0, e(), this.renderManager.draw();
2074
2219
  }
2075
2220
  }
2076
- const oo = {
2221
+ const as = {
2077
2222
  key: 0,
2078
2223
  class: "mt-[5px] text-[#ccc] text-[11px] absolute left-[10px] bottom-[10px] rounded-[8px] min-w-[150px] bg-black/15 p-[10px]"
2079
- }, so = { class: "text-start max-w-[150px]" }, ao = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, io = {
2224
+ }, is = { class: "text-start max-w-[150px]" }, rs = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, ds = {
2080
2225
  key: 0,
2081
2226
  class: "p-[5px] max-w-[200px]"
2082
- }, ro = { class: "text-[14px] flex flex-col" }, lo = ["onClick"], co = { class: "flex flex-row items-center" }, mo = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, ho = ["src"], uo = { class: "text-wrap" }, po = {
2227
+ }, ls = { class: "text-[14px] flex flex-col" }, cs = ["onClick"], ms = { class: "flex flex-row items-center" }, hs = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, us = ["src"], ps = { class: "text-wrap" }, gs = {
2083
2228
  key: 1,
2084
2229
  class: "text-[#999]"
2085
- }, go = {
2230
+ }, vs = {
2086
2231
  style: { "--el-color-primary": "var(--primary-color)" },
2087
2232
  class: "flex flex-row items-center justify-between gap-[10px] mt-[10px] text-[10px]"
2088
- }, vo = {
2233
+ }, fs = {
2089
2234
  key: 0,
2090
2235
  class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
2091
- }, fo = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, yo = ["onClick", "title"], wo = ["src"], bo = /* @__PURE__ */ ce({
2236
+ }, ys = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, ws = ["onClick", "title"], bs = ["src"], xs = /* @__PURE__ */ ve({
2092
2237
  __name: "EditorTool",
2093
2238
  props: {
2094
2239
  dxfSystem: {},
2095
2240
  permission: {}
2096
2241
  },
2097
- setup(d) {
2098
- function e(x, v, b = h.value.getBoundingClientRect(), U = f.value.getBoundingClientRect()) {
2099
- const me = b.width - U.width, he = 0, Me = b.height - U.height;
2100
- x = Math.max(0, Math.min(x, me)), v = Math.max(he, Math.min(v, Me)), _.value = { left: x, top: v };
2242
+ setup(c) {
2243
+ function e(k, x, P = p.value.getBoundingClientRect(), te = E.value.getBoundingClientRect()) {
2244
+ const fe = P.width - te.width, ye = 0, De = P.height - te.height;
2245
+ k = Math.max(0, Math.min(k, fe)), x = Math.max(ye, Math.min(x, De)), D.value = { left: k, top: x };
2101
2246
  }
2102
- function t(x) {
2103
- p.value === x.command || p.value !== "default" || C.commandManager.start(x.command);
2247
+ function t(k) {
2248
+ y.value === k.command || y.value !== "default" || w.commandManager.start(k.command);
2104
2249
  }
2105
- function n(x) {
2106
- if (x) {
2107
- localStorage.setItem("lines", JSON.stringify(x));
2250
+ function n(k) {
2251
+ if (k) {
2252
+ localStorage.setItem("lines", JSON.stringify(k));
2108
2253
  try {
2109
- g.Dxf.set(x), g.Dxf.lineOffset();
2110
- } catch (v) {
2111
- console.log(v);
2254
+ C.Dxf.set(k), C.Dxf.lineOffset();
2255
+ } catch (x) {
2256
+ console.log(x);
2112
2257
  }
2113
2258
  }
2114
2259
  }
2115
- async function o() {
2116
- const x = await It.json();
2117
- Array.isArray(x) && (localStorage.removeItem("orbitControls"), n(x));
2260
+ async function s() {
2261
+ const k = await kt.json();
2262
+ Array.isArray(k) && (localStorage.removeItem("orbitControls"), n(k));
2118
2263
  }
2119
- function s({ offsetX: x, offsetY: v }) {
2120
- E.mouseMoveEventProxylock = !0;
2121
- const b = document.body.style.cursor;
2264
+ function o({ offsetX: k, offsetY: x }) {
2265
+ v.mouseMoveEventProxylock = !0;
2266
+ const P = document.body.style.cursor;
2122
2267
  document.body.style.cursor = "move";
2123
- const U = (me) => {
2124
- const he = h.value.getBoundingClientRect(), Me = f.value.getBoundingClientRect();
2268
+ const te = (fe) => {
2269
+ const ye = p.value.getBoundingClientRect(), De = E.value.getBoundingClientRect();
2125
2270
  e(
2126
- me.pageX - he.left - x,
2127
- me.pageY - he.top - v,
2128
- he,
2129
- Me
2130
- ), me.stopPropagation(), document.body.style.cursor = "move";
2131
- }, Ee = () => {
2132
- document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup", Ee), document.body.style.cursor = b, E.mouseMoveEventProxylock = !1;
2271
+ fe.pageX - ye.left - k,
2272
+ fe.pageY - ye.top - x,
2273
+ ye,
2274
+ De
2275
+ ), fe.stopPropagation(), document.body.style.cursor = "move";
2276
+ }, ke = () => {
2277
+ document.body.removeEventListener("mousemove", te), document.removeEventListener("mouseup", ke), document.body.style.cursor = P, v.mouseMoveEventProxylock = !1;
2133
2278
  };
2134
- document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
2279
+ document.body.addEventListener("mousemove", te), document.addEventListener("mouseup", ke);
2135
2280
  }
2136
- const a = d, r = S(!0), l = S(!0), i = S(!0), c = S(!1), h = S(), f = S(), u = S(!0), p = S(""), g = Bt(a.dxfSystem), E = g.findComponentByType(kt), C = g.findComponentByType(dt), D = g.findComponentByType(_e), F = g.findComponentByType(Dt), ae = S(0), q = S(0), _ = S({ left: 10, top: 100 }), M = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": bn, "./assets/images/connection.svg": xn, "./assets/images/cutLine.svg": Mn, "./assets/images/deleteSelectLine.svg": kn, "./assets/images/deleteSelectWindow.svg": Pn, "./assets/images/door.svg": Sn, "./assets/images/intersectionConnection.svg": _n, "./assets/images/line.svg": Nn, "./assets/images/mergeLine.svg": On, "./assets/images/revokeRollback.svg": Kn, "./assets/images/rollback.svg": Tn, "./assets/images/selectAll.svg": Vn, "./assets/images/selectPoint.svg": Qn, "./assets/images/verticalCorrection.svg": Wn, "./assets/images/verticalLine.svg": Jn, "./assets/images/window.svg": Zn }), K = S(!1), w = S(0), Z = S(!1), G = new ResizeObserver(() => e(_.value.left, _.value.top)), Ce = [
2281
+ const a = c, r = T(!0), l = T(!0), i = T(!0), d = T(!1), p = T(), E = T(), f = T(!0), y = T(""), C = Ot(a.dxfSystem), v = C.findComponentByType(Pt), w = C.findComponentByType(mt), g = C.findComponentByType(Ke), S = C.findComponentByType(St), A = C.findComponentByType(At), M = T(0), u = T(0), D = T({ left: 10, top: 100 }), b = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": Cn, "./assets/images/connection.svg": Mn, "./assets/images/cutLine.svg": In, "./assets/images/deleteSelectLine.svg": kn, "./assets/images/deleteSelectWindow.svg": Sn, "./assets/images/door.svg": _n, "./assets/images/intersectionConnection.svg": Nn, "./assets/images/line.svg": Rn, "./assets/images/mergeLine.svg": Fn, "./assets/images/revokeRollback.svg": Tn, "./assets/images/rollback.svg": Vn, "./assets/images/selectAll.svg": Qn, "./assets/images/selectPoint.svg": Wn, "./assets/images/verticalCorrection.svg": Un, "./assets/images/verticalLine.svg": Zn, "./assets/images/window.svg": Xn }), m = T(!1), I = T(0), _ = T(!1), j = new ResizeObserver(() => e(D.value.left, D.value.top)), N = [
2137
2282
  { name: "开启绘制线段命令", shortcut: "Ctrl + L" },
2138
2283
  { name: "开启绘制门线命令", shortcut: "Ctrl + M" },
2139
2284
  { name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
@@ -2153,7 +2298,7 @@ const oo = {
2153
2298
  { name: "取消命令", shortcut: "Esc" },
2154
2299
  { name: "回滚操作", shortcut: "Ctrl + Z" },
2155
2300
  { name: "取消回滚操作", shortcut: "Ctrl + Y" }
2156
- ], xe = [
2301
+ ], G = [
2157
2302
  {
2158
2303
  command: "default",
2159
2304
  name: "默认",
@@ -2163,7 +2308,7 @@ const oo = {
2163
2308
  {
2164
2309
  command: "draw-line",
2165
2310
  name: "绘制线段",
2166
- src: M["./assets/images/line.svg"].default,
2311
+ src: b["./assets/images/line.svg"].default,
2167
2312
  show: !0,
2168
2313
  shortcut: "Ctrl + L"
2169
2314
  },
@@ -2171,222 +2316,226 @@ const oo = {
2171
2316
  command: "draw-door-line",
2172
2317
  name: "绘制门线",
2173
2318
  show: !0,
2174
- src: M["./assets/images/door.svg"].default,
2319
+ src: b["./assets/images/door.svg"].default,
2175
2320
  shortcut: "Ctrl + M"
2176
2321
  },
2177
2322
  {
2178
2323
  command: "draw-window-line",
2179
2324
  name: "绘制窗户线",
2180
2325
  show: !0,
2181
- src: M["./assets/images/window.svg"].default,
2326
+ src: b["./assets/images/window.svg"].default,
2182
2327
  shortcut: "Ctrl + Q"
2183
2328
  },
2184
2329
  {
2185
2330
  command: "point",
2186
2331
  name: "点修改",
2187
2332
  show: !0,
2188
- src: M["./assets/images/selectPoint.svg"].default,
2333
+ src: b["./assets/images/selectPoint.svg"].default,
2189
2334
  shortcut: "Ctrl + P"
2190
2335
  },
2191
2336
  {
2192
- command: rt.commandName,
2337
+ command: ct.commandName,
2193
2338
  name: "裁剪线段",
2194
2339
  show: !0,
2195
- src: M["./assets/images/cutLine.svg"].default,
2340
+ src: b["./assets/images/cutLine.svg"].default,
2196
2341
  shortcut: "Ctrl + X"
2197
2342
  }
2198
- ], lt = [
2343
+ ], Y = [
2199
2344
  {
2200
2345
  command: "",
2201
2346
  name: "操作回滚",
2202
- src: M["./assets/images/rollback.svg"].default,
2203
- show: P(() => ae.value !== 0),
2347
+ src: b["./assets/images/rollback.svg"].default,
2348
+ show: F(() => M.value !== 0),
2204
2349
  shortcut: "Ctrl + Z",
2205
2350
  action() {
2206
- C.commandManager.rollback();
2351
+ w.commandManager.rollback();
2207
2352
  }
2208
2353
  },
2209
2354
  {
2210
2355
  command: "",
2211
2356
  name: "撤销操作回滚",
2212
- src: M["./assets/images/revokeRollback.svg"].default,
2213
- show: P(() => q.value !== 0),
2357
+ src: b["./assets/images/revokeRollback.svg"].default,
2358
+ show: F(() => u.value !== 0),
2214
2359
  shortcut: "Ctrl + Y",
2215
2360
  class: "rotateY-[180deg]",
2216
2361
  action() {
2217
- C.commandManager.revokeRollback();
2362
+ w.commandManager.revokeRollback();
2218
2363
  }
2219
2364
  },
2220
2365
  {
2221
- command: Y.commandName,
2366
+ command: ae.commandName,
2222
2367
  name: "合并",
2223
- src: M["./assets/images/mergeLine.svg"].default,
2224
- show: P(() => w.value === 2),
2368
+ src: b["./assets/images/mergeLine.svg"].default,
2369
+ show: F(() => I.value === 2),
2225
2370
  shortcut: "Ctrl + G"
2226
2371
  },
2227
2372
  {
2228
- command: $.commandName,
2373
+ command: re.commandName,
2229
2374
  name: "两点连接",
2230
- show: P(() => w.value === 2),
2231
- src: M["./assets/images/connection.svg"].default,
2375
+ show: F(() => I.value === 2),
2376
+ src: b["./assets/images/connection.svg"].default,
2232
2377
  shortcut: "Shift + L"
2233
2378
  },
2234
2379
  {
2235
- command: ee.commandName,
2380
+ command: de.commandName,
2236
2381
  name: "延长线交点连接",
2237
- show: P(() => w.value === 2),
2238
- src: M["./assets/images/intersectionConnection.svg"].default,
2382
+ show: F(() => I.value === 2),
2383
+ src: b["./assets/images/intersectionConnection.svg"].default,
2239
2384
  shortcut: "Ctrl + Shift + L"
2240
2385
  },
2241
2386
  {
2242
- command: de.commandName,
2387
+ command: oe.commandName,
2243
2388
  name: "线段垂直纠正",
2244
- show: P(() => w.value === 1),
2245
- src: M["./assets/images/verticalCorrection.svg"].default,
2246
- shortcut: "Ctrl + C 或 Ctrl + Shift + C"
2389
+ show: F(() => I.value === 1),
2390
+ src: b["./assets/images/verticalCorrection.svg"].default,
2391
+ shortcut: `
2392
+ Ctrl + C 垂直纠正
2393
+ Ctrl + Shift + C 全部垂直纠正
2394
+ Shift + C 轴对齐垂直纠正
2395
+ `
2247
2396
  },
2248
2397
  {
2249
- command: se.commandName,
2398
+ command: he.commandName,
2250
2399
  name: "y轴垂直基准线",
2251
- show: P(
2252
- () => w.value === 1 && !D.selectLines[0].userData.isDoor
2400
+ show: F(
2401
+ () => I.value === 1 && !g.selectLines[0].userData.isDoor
2253
2402
  ),
2254
- src: M["./assets/images/verticalLine.svg"].default,
2403
+ src: b["./assets/images/verticalLine.svg"].default,
2255
2404
  shortcut: "V"
2256
2405
  },
2257
2406
  {
2258
- command: oe.commandName,
2407
+ command: me.commandName,
2259
2408
  name: "角度显示",
2260
- show: P(() => w.value === 2 && D.selectLines[0].sameEndpoint(D.selectLines[1])),
2261
- src: M["./assets/images/angle.svg"].default,
2409
+ show: F(() => I.value === 2 && g.selectLines[0].sameEndpoint(g.selectLines[1])),
2410
+ src: b["./assets/images/angle.svg"].default,
2262
2411
  shortcut: "r"
2263
2412
  },
2264
2413
  {
2265
- command: ne.commandName,
2414
+ command: ce.commandName,
2266
2415
  name: "全选",
2267
- show: P(() => w.value !== C.renderManager.lines.length),
2268
- src: M["./assets/images/selectAll.svg"].default,
2416
+ show: F(() => I.value !== w.renderManager.lines.length),
2417
+ src: b["./assets/images/selectAll.svg"].default,
2269
2418
  shortcut: "Ctrl + A"
2270
2419
  },
2271
2420
  {
2272
- command: te.commandName,
2421
+ command: le.commandName,
2273
2422
  name: "清除窗户",
2274
- show: P(() => Z.value),
2275
- src: M["./assets/images/deleteSelectWindow.svg"].default,
2423
+ show: F(() => _.value),
2424
+ src: b["./assets/images/deleteSelectWindow.svg"].default,
2276
2425
  shortcut: "Q + Delete"
2277
2426
  },
2278
2427
  {
2279
- command: X.commandName,
2428
+ command: ie.commandName,
2280
2429
  name: "删除",
2281
- show: P(() => w.value > 0),
2282
- src: M["./assets/images/deleteSelectLine.svg"].default,
2430
+ show: F(() => I.value > 0),
2431
+ src: b["./assets/images/deleteSelectLine.svg"].default,
2283
2432
  shortcut: "Delete"
2284
2433
  }
2285
2434
  ];
2286
- W(_, () => localStorage.setItem("editorToolPosition", JSON.stringify(_.value))), W(K, () => localStorage.setItem("showShortcutKey", K.value + "")), W(u, () => {
2287
- localStorage.setItem("toolBarExpand", u.value + ""), u.value && ye(() => e(_.value.left, _.value.top));
2288
- }), W(r, () => g.Variable.set("originalLineVisible", r.value)), W(l, () => g.Variable.set("dxfVisible", l.value)), W(i, () => g.Variable.set("whiteModelVisible", i.value)), g.Variable.addEventListener("isLook", (x) => c.value = x.value), g.Variable.addEventListener("originalLineVisible", (x) => r.value = x.value), g.Variable.addEventListener("dxfVisible", (x) => l.value = x.value), g.Variable.addEventListener("whiteModelVisible", (x) => i.value = x.value);
2289
- const ct = C.commandManager.addEventListener("started", (x) => {
2290
- p.value = x.name;
2435
+ ee(D, () => localStorage.setItem("editorToolPosition", JSON.stringify(D.value))), ee(m, () => localStorage.setItem("showShortcutKey", m.value + "")), ee(f, () => {
2436
+ localStorage.setItem("toolBarExpand", f.value + ""), f.value && Ee(() => e(D.value.left, D.value.top));
2437
+ }), ee(r, () => C.Variable.set("originalLineVisible", r.value)), ee(l, () => C.Variable.set("dxfVisible", l.value)), ee(i, () => C.Variable.set("whiteModelVisible", i.value)), C.Variable.addEventListener("isLook", (k) => d.value = k.value), C.Variable.addEventListener("originalLineVisible", (k) => r.value = k.value), C.Variable.addEventListener("dxfVisible", (k) => l.value = k.value), C.Variable.addEventListener("whiteModelVisible", (k) => i.value = k.value);
2438
+ const V = w.commandManager.addEventListener("started", (k) => {
2439
+ y.value = k.name;
2291
2440
  });
2292
- return localStorage.getItem("showShortcutKey") && (K.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (u.value = localStorage.getItem("toolBarExpand") === "true"), tt(() => {
2293
- f.value.style.display = "none", setTimeout(() => {
2294
- if (f.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
2295
- const { left: x, top: v } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
2296
- e(x, v), ye(() => G.observe(h.value));
2441
+ return localStorage.getItem("showShortcutKey") && (m.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (f.value = localStorage.getItem("toolBarExpand") === "true"), ot(() => {
2442
+ E.value.style.display = "none", setTimeout(() => {
2443
+ if (E.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
2444
+ const { left: k, top: x } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
2445
+ e(k, x), Ee(() => j.observe(p.value));
2297
2446
  } else
2298
- ye(() => G.observe(h.value));
2299
- }, 100), D.addEventListener("selectLineChange", () => {
2300
- w.value = D.selectLines.length, Z.value = D.selectLines.some((x) => x.userData.isWindow);
2301
- }), ["rollback", "completed", "revokeRollback"].forEach((x) => {
2302
- C.commandManager.addEventListener(x, () => {
2447
+ Ee(() => j.observe(p.value));
2448
+ }, 100), g.addEventListener("selectLineChange", () => {
2449
+ I.value = g.selectLines.length, _.value = g.selectLines.some((k) => k.userData.isWindow);
2450
+ }), ["rollback", "completed", "revokeRollback"].forEach((k) => {
2451
+ w.commandManager.addEventListener(k, () => {
2303
2452
  setTimeout(() => {
2304
- ae.value = C.commandManager.operationList.length, q.value = C.commandManager.rollbackList.length;
2453
+ M.value = w.commandManager.operationList.length, u.value = w.commandManager.rollbackList.length;
2305
2454
  });
2306
2455
  });
2307
2456
  });
2308
- }), Nt(() => {
2309
- E.mouseMoveEventProxylock = !1, ct(), G.disconnect();
2310
- }), (x, v) => (I(), R("div", {
2457
+ }), Rt(() => {
2458
+ v.mouseMoveEventProxylock = !1, V(), j.disconnect();
2459
+ }), (k, x) => (K(), H("div", {
2311
2460
  ref_key: "elRef",
2312
- ref: h,
2461
+ ref: p,
2313
2462
  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]"
2314
2463
  }, [
2315
- z(be, null, {
2316
- default: V(() => [
2317
- K.value ? (I(), R("div", oo, [
2318
- (I(), R(ge, null, ke(Ce, (b) => k("div", {
2464
+ J(Pe, null, {
2465
+ default: q(() => [
2466
+ m.value ? (K(), H("div", as, [
2467
+ (K(), H(be, null, Ae(N, (P) => O("div", {
2319
2468
  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",
2320
- key: b.name
2469
+ key: P.name
2321
2470
  }, [
2322
- k("p", so, re(b.name), 1),
2323
- k("span", ao, re(b.shortcut), 1)
2471
+ O("p", is, pe(P.name), 1),
2472
+ O("span", rs, pe(P.shortcut), 1)
2324
2473
  ])), 64))
2325
- ])) : J("", !0)
2474
+ ])) : ne("", !0)
2326
2475
  ]),
2327
2476
  _: 1
2328
2477
  }),
2329
- k("div", {
2478
+ O("div", {
2330
2479
  ref_key: "toolBarRef",
2331
- ref: f,
2332
- style: Ae({ left: _.value.left + "px", top: _.value.top + "px" }),
2333
- class: j(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": u.value }]),
2334
- onMousedown: v[9] || (v[9] = (b) => b.stopPropagation())
2480
+ ref: E,
2481
+ style: Re({ left: D.value.left + "px", top: D.value.top + "px" }),
2482
+ class: Z(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": f.value }]),
2483
+ onMousedown: x[10] || (x[10] = (P) => P.stopPropagation())
2335
2484
  }, [
2336
- k("div", {
2337
- onMousedown: s,
2338
- class: j([{ "border-b-[#eee] border-b-1": u.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
2485
+ O("div", {
2486
+ onMousedown: o,
2487
+ class: Z([{ "border-b-[#eee] border-b-1": f.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
2339
2488
  }, [
2340
- v[11] || (v[11] = Rt('<div class="flex flex-row" data-v-205ff80d><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-205ff80d><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-205ff80d><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-205ff80d></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-205ff80d>绘制工具</h5></div>', 1)),
2341
- k("div", {
2342
- onMousedown: v[0] || (v[0] = (b) => b.stopPropagation()),
2343
- onClick: v[1] || (v[1] = (b) => u.value = !u.value),
2489
+ x[12] || (x[12] = Kt('<div class="flex flex-row" data-v-d89e5fb2><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-d89e5fb2><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-d89e5fb2><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-d89e5fb2></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-d89e5fb2>绘制工具</h5></div>', 1)),
2490
+ O("div", {
2491
+ onMousedown: x[0] || (x[0] = (P) => P.stopPropagation()),
2492
+ onClick: x[1] || (x[1] = (P) => f.value = !f.value),
2344
2493
  class: "cursor-pointer flex items-center p-[0px_5px]"
2345
2494
  }, [
2346
- (I(), R("svg", {
2495
+ (K(), H("svg", {
2347
2496
  fill: "#666",
2348
- class: j([{ "rotate-90": u.value }, "transition-all"]),
2497
+ class: Z([{ "rotate-90": f.value }, "transition-all"]),
2349
2498
  viewBox: "0 0 1024 1024",
2350
2499
  version: "1.1",
2351
2500
  xmlns: "http://www.w3.org/2000/svg",
2352
2501
  width: "12",
2353
2502
  height: "12"
2354
- }, v[10] || (v[10] = [
2355
- k("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
2503
+ }, x[11] || (x[11] = [
2504
+ O("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
2356
2505
  ]), 2))
2357
2506
  ], 32)
2358
2507
  ], 34),
2359
- u.value ? (I(), R("div", io, [
2360
- k("ul", ro, [
2361
- (I(), R(ge, null, ke(xe, (b) => (I(), R(ge, {
2362
- key: b.command
2508
+ f.value ? (K(), H("div", ds, [
2509
+ O("ul", ls, [
2510
+ (K(), H(be, null, Ae(G, (P) => (K(), H(be, {
2511
+ key: P.command
2363
2512
  }, [
2364
- b.show ? (I(), R("li", {
2513
+ P.show ? (K(), H("li", {
2365
2514
  key: 0,
2366
- onClick: (U) => t(b),
2367
- class: j([{
2368
- "!bg-[var(--primary-color)] text-[#fff]": p.value === b.command,
2369
- "!cursor-no-drop": p.value !== b.command && p.value !== "default"
2515
+ onClick: (te) => t(P),
2516
+ class: Z([{
2517
+ "!bg-[var(--primary-color)] text-[#fff]": y.value === P.command,
2518
+ "!cursor-no-drop": y.value !== P.command && y.value !== "default"
2370
2519
  }, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
2371
2520
  }, [
2372
- k("div", co, [
2373
- k("div", mo, [
2374
- k("img", {
2521
+ O("div", ms, [
2522
+ O("div", hs, [
2523
+ O("img", {
2375
2524
  class: "size-[14px]",
2376
- src: b.src,
2525
+ src: P.src,
2377
2526
  alt: "",
2378
2527
  srcset: ""
2379
- }, null, 8, ho)
2528
+ }, null, 8, us)
2380
2529
  ]),
2381
- k("span", uo, re(b.name), 1)
2530
+ O("span", ps, pe(P.name), 1)
2382
2531
  ]),
2383
- p.value === b.command ? (I(), R("div", {
2532
+ y.value === P.command ? (K(), H("div", {
2384
2533
  key: 0,
2385
2534
  title: "取消命令(Esc)",
2386
2535
  class: "active:scale-[0.7] transition-all",
2387
- onClick: v[2] || (v[2] = (U) => (y(C).cancelCommand(), U.stopPropagation()))
2388
- }, v[12] || (v[12] = [
2389
- k("svg", {
2536
+ onClick: x[2] || (x[2] = (te) => (L(w).cancelCommand(), te.stopPropagation()))
2537
+ }, x[13] || (x[13] = [
2538
+ O("svg", {
2390
2539
  fill: "#fff",
2391
2540
  width: "16",
2392
2541
  height: "16",
@@ -2394,108 +2543,120 @@ const oo = {
2394
2543
  version: "1.1",
2395
2544
  xmlns: "http://www.w3.org/2000/svg"
2396
2545
  }, [
2397
- k("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" }),
2398
- k("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
2546
+ O("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" }),
2547
+ O("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
2399
2548
  ], -1)
2400
- ]))) : b.shortcut ? (I(), R("div", po, re(b.shortcut), 1)) : J("", !0)
2401
- ], 10, lo)) : J("", !0)
2549
+ ]))) : P.shortcut ? (K(), H("div", gs, pe(P.shortcut), 1)) : ne("", !0)
2550
+ ], 10, cs)) : ne("", !0)
2402
2551
  ], 64))), 64))
2403
2552
  ]),
2404
- k("div", go, [
2405
- z(y(Fe), {
2553
+ O("div", vs, [
2554
+ J(L(Ve), {
2406
2555
  size: "small",
2407
- modelValue: K.value,
2408
- "onUpdate:modelValue": v[3] || (v[3] = (b) => K.value = b),
2556
+ modelValue: m.value,
2557
+ "onUpdate:modelValue": x[3] || (x[3] = (P) => m.value = P),
2409
2558
  label: "快捷键提示"
2410
2559
  }, null, 8, ["modelValue"]),
2411
- z(y(Fe), {
2560
+ J(L(Ve), {
2412
2561
  size: "small",
2413
2562
  modelValue: l.value,
2414
- "onUpdate:modelValue": v[4] || (v[4] = (b) => l.value = b),
2563
+ "onUpdate:modelValue": x[4] || (x[4] = (P) => l.value = P),
2415
2564
  label: "dxf"
2416
2565
  }, null, 8, ["modelValue"])
2417
2566
  ]),
2418
- x.permission === "admin" ? (I(), R("div", vo, [
2419
- z(y(ue), {
2567
+ k.permission === "admin" ? (K(), H("div", fs, [
2568
+ J(L(ue), {
2420
2569
  style: { padding: "5px", "font-size": "10px" },
2421
2570
  size: "small",
2422
2571
  type: "success",
2423
- onClick: o
2572
+ onClick: s
2424
2573
  }, {
2425
- default: V(() => v[13] || (v[13] = [
2426
- ie(" 选择文件 ", -1)
2574
+ default: q(() => x[14] || (x[14] = [
2575
+ se(" 选择文件 ", -1)
2427
2576
  ])),
2428
2577
  _: 1,
2429
- __: [13]
2578
+ __: [14]
2430
2579
  }),
2431
- z(y(ue), {
2580
+ J(L(ue), {
2432
2581
  style: { padding: "5px", "font-size": "10px" },
2433
2582
  size: "small",
2434
2583
  type: "primary",
2435
- onClick: v[5] || (v[5] = (b) => console.log(y(g).Dxf.originalData))
2584
+ onClick: x[5] || (x[5] = (P) => console.log(L(C).Dxf.originalData))
2436
2585
  }, {
2437
- default: V(() => v[14] || (v[14] = [
2438
- ie(" 打印Json ", -1)
2586
+ default: q(() => x[15] || (x[15] = [
2587
+ se(" 打印Json ", -1)
2439
2588
  ])),
2440
2589
  _: 1,
2441
- __: [14]
2590
+ __: [15]
2442
2591
  }),
2443
- z(y(ue), {
2592
+ J(L(ue), {
2444
2593
  style: { padding: "5px", "font-size": "10px" },
2445
2594
  size: "small",
2446
2595
  type: "primary",
2447
- onClick: v[6] || (v[6] = (b) => y(g).Dxf.download("test.dxf"))
2596
+ onClick: x[6] || (x[6] = (P) => L(C).AngleCorrectionDxf.download("test.dxf"))
2448
2597
  }, {
2449
- default: V(() => v[15] || (v[15] = [
2450
- ie(" 下载DXF ", -1)
2598
+ default: q(() => x[16] || (x[16] = [
2599
+ se(" 下载DXF ", -1)
2451
2600
  ])),
2452
2601
  _: 1,
2453
- __: [15]
2602
+ __: [16]
2454
2603
  }),
2455
- z(y(ue), {
2604
+ J(L(ue), {
2456
2605
  style: { padding: "5px", "font-size": "10px" },
2457
2606
  size: "small",
2458
2607
  type: "primary",
2459
- onClick: v[7] || (v[7] = (b) => y(g).AngleCorrectionDxf.downloadImage("dxf.jpg"))
2608
+ onClick: x[7] || (x[7] = (P) => L(C).AngleCorrectionDxf.downloadImage("dxf.jpg"))
2460
2609
  }, {
2461
- default: V(() => v[16] || (v[16] = [
2462
- ie(" 下载JPG ", -1)
2610
+ default: q(() => x[17] || (x[17] = [
2611
+ se(" 下载JPG ", -1)
2463
2612
  ])),
2464
2613
  _: 1,
2465
- __: [16]
2614
+ __: [17]
2466
2615
  }),
2467
- z(y(ue), {
2616
+ J(L(ue), {
2468
2617
  style: { padding: "5px", "font-size": "10px" },
2469
2618
  size: "small",
2470
2619
  type: "primary",
2471
- onClick: v[8] || (v[8] = (b) => y(F).downloadGltf("test.glb", !0))
2620
+ onClick: x[8] || (x[8] = (P) => L(S).downloadGltf("test.glb", !0))
2472
2621
  }, {
2473
- default: V(() => v[17] || (v[17] = [
2474
- ie(" 下载白膜 ", -1)
2622
+ default: q(() => x[18] || (x[18] = [
2623
+ se(" 下载白膜 ", -1)
2475
2624
  ])),
2476
2625
  _: 1,
2477
- __: [17]
2626
+ __: [18]
2627
+ }),
2628
+ J(L(ue), {
2629
+ style: { padding: "5px", "font-size": "10px" },
2630
+ size: "small",
2631
+ type: "primary",
2632
+ onClick: x[9] || (x[9] = (P) => L(A).download())
2633
+ }, {
2634
+ default: q(() => x[19] || (x[19] = [
2635
+ se(" 下载三维家JSON ", -1)
2636
+ ])),
2637
+ _: 1,
2638
+ __: [19]
2478
2639
  })
2479
- ])) : J("", !0),
2480
- z(be, null, {
2481
- default: V(() => [
2482
- k("div", fo, [
2483
- z(Ot, null, {
2484
- default: V(() => [
2485
- (I(), R(ge, null, ke(lt, (b) => k("div", {
2486
- onClick: (U) => b.show.value && p.value === "default" && (b.action ? b.action() : y(C).commandManager.start(b.command, [...y(D).selectLines])),
2487
- title: `${b.name}(${b.shortcut})`,
2488
- class: j(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
2489
- "opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !b.show.value || p.value !== "default",
2490
- [b.class ?? ""]: !0
2640
+ ])) : ne("", !0),
2641
+ J(Pe, null, {
2642
+ default: q(() => [
2643
+ O("div", ys, [
2644
+ J(Ft, null, {
2645
+ default: q(() => [
2646
+ (K(), H(be, null, Ae(Y, (P) => O("div", {
2647
+ onClick: (te) => P.show.value && y.value === "default" && (P.action ? P.action() : L(w).commandManager.start(P.command, [...L(g).selectLines])),
2648
+ title: `${P.name}(${P.shortcut})`,
2649
+ class: Z(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
2650
+ "opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !P.show.value || y.value !== "default",
2651
+ [P.class ?? ""]: !0
2491
2652
  }]),
2492
- key: b.command
2653
+ key: P.command
2493
2654
  }, [
2494
- k("img", {
2655
+ O("img", {
2495
2656
  class: "size-[14px]",
2496
- src: b.src
2497
- }, null, 8, wo)
2498
- ], 10, yo)), 64))
2657
+ src: P.src
2658
+ }, null, 8, bs)
2659
+ ], 10, ws)), 64))
2499
2660
  ]),
2500
2661
  _: 1
2501
2662
  })
@@ -2503,19 +2664,19 @@ const oo = {
2503
2664
  ]),
2504
2665
  _: 1
2505
2666
  })
2506
- ])) : J("", !0)
2667
+ ])) : ne("", !0)
2507
2668
  ], 38)
2508
2669
  ], 512));
2509
2670
  }
2510
- }), Co = (d, e) => {
2511
- const t = d.__vccOpts || d;
2512
- for (const [n, o] of e)
2513
- t[n] = o;
2671
+ }), Cs = (c, e) => {
2672
+ const t = c.__vccOpts || c;
2673
+ for (const [n, s] of e)
2674
+ t[n] = s;
2514
2675
  return t;
2515
- }, xo = /* @__PURE__ */ Co(bo, [["__scopeId", "data-v-205ff80d"]]);
2516
- let dt = class extends Se {
2676
+ }, Es = /* @__PURE__ */ Cs(xs, [["__scopeId", "data-v-d89e5fb2"]]);
2677
+ let mt = class extends Oe {
2517
2678
  static name = "Editor";
2518
- container = new m.Group();
2679
+ container = new h.Group();
2519
2680
  get renderer() {
2520
2681
  return this.parent?.findComponentByName("Renderer");
2521
2682
  }
@@ -2537,8 +2698,8 @@ let dt = class extends Se {
2537
2698
  get domContainer() {
2538
2699
  return this.parent?.findComponentByName("DomContainer");
2539
2700
  }
2540
- commandManager = new yn();
2541
- plane = new m.Mesh(new m.PlaneGeometry(2e3, 2e3, 2, 2));
2701
+ commandManager = new bn();
2702
+ plane = new h.Mesh(new h.PlaneGeometry(2e3, 2e3, 2, 2));
2542
2703
  app;
2543
2704
  domElement = document.createElement("div");
2544
2705
  viewPermission;
@@ -2561,26 +2722,26 @@ let dt = class extends Se {
2561
2722
  }
2562
2723
  onAddFromParent(e) {
2563
2724
  setTimeout(() => this.openEdit(), 10);
2564
- const t = new m.GridHelper(200, 100, 6710886, 4473924);
2725
+ const t = new h.GridHelper(200, 100, 6710886, 4473924);
2565
2726
  t.rotation.x = Math.PI * 0.5, t.position.z = -0.01, this.container.add(t), this.container.add(this.plane), this.plane.visible = !1;
2566
2727
  const n = this.addEventListener("update", () => {
2567
2728
  this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), this.domContainer.domElement.parentElement.appendChild(this.imgEl), n());
2568
2729
  });
2569
2730
  setTimeout(() => {
2570
- this.app = Ft(xo, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2731
+ this.app = zt(Es, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
2571
2732
  }), e.AngleCorrectionDxf.addEventListener("lineOffset", async () => {
2572
2733
  this.imgEl.src && URL.revokeObjectURL(this.imgEl.src), setTimeout(async () => {
2573
2734
  this.imgEl.src = URL.createObjectURL(await e.AngleCorrectionDxf.toDxfImageBlob("Centimeters", "image/png", "transparent"));
2574
2735
  });
2575
- }), this.domEventRegister.addEventListener("mousedown", (o) => {
2576
- o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 && Object.assign(this.imgEl.style, {
2736
+ }), this.domEventRegister.addEventListener("mousedown", (s) => {
2737
+ s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 && Object.assign(this.imgEl.style, {
2577
2738
  width: `${Math.min(this.imgWidth * 10, this.renderer.width * 0.9)}px`,
2578
2739
  height: `${Math.min(this.imgWidth * 10, this.renderer.height * 0.9)}px`,
2579
2740
  background: "rgba(0,0,0,1)",
2580
2741
  zIndex: 100
2581
2742
  });
2582
- }), this.domEventRegister.addEventListener("mousemove", (o) => {
2583
- o.x < this.imgWidth + 10 && o.x > 10 && o.y < this.imgWidth && o.y > 10 || Object.assign(this.imgEl.style, {
2743
+ }), this.domEventRegister.addEventListener("mousemove", (s) => {
2744
+ s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 || Object.assign(this.imgEl.style, {
2584
2745
  width: `${this.imgWidth}px`,
2585
2746
  height: `${this.imgWidth}px`,
2586
2747
  background: "rgba(255,255,255,0.2)",
@@ -2596,27 +2757,27 @@ let dt = class extends Se {
2596
2757
  type: "cancelCommand"
2597
2758
  });
2598
2759
  }
2599
- coords = new m.Vector2();
2600
- pointerPosition = new m.Vector2();
2760
+ coords = new h.Vector2();
2761
+ pointerPosition = new h.Vector2();
2601
2762
  _exitEditCallBack;
2602
2763
  /**
2603
2764
  * 打开编辑器
2604
2765
  */
2605
2766
  openEdit() {
2606
- const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center, r = e.camera.position.clone(), l = o?.target?.clone(), i = new m.Vector2(), c = new m.Raycaster(), h = this.coords, f = this.pointerPosition;
2607
- 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);
2608
- const u = () => {
2767
+ const e = this.renderer, t = this.domEventRegister, n = this.dxf, s = e.orbitControls, o = e.camera, a = n.box.center, r = e.camera.position.clone(), l = s?.target?.clone(), i = new h.Vector2(), d = new h.Raycaster(), p = this.coords, E = this.pointerPosition;
2768
+ 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);
2769
+ const f = () => {
2609
2770
  e.renderer.getSize(i);
2610
- const p = t.pointer.x / i.x * 2 - 1, g = -(t.pointer.y / i.y * 2 - 1);
2611
- h.set(p, g), c.setFromCamera(h, e.camera.children.length ? e.camera.children[0] : e.camera);
2612
- const E = c.intersectObject(this.plane);
2613
- E.length && (f.copy(E[0].point), this.dispatchEvent({
2771
+ const y = t.pointer.x / i.x * 2 - 1, C = -(t.pointer.y / i.y * 2 - 1);
2772
+ p.set(y, C), d.setFromCamera(p, e.camera.children.length ? e.camera.children[0] : e.camera);
2773
+ const v = d.intersectObject(this.plane);
2774
+ v.length && (E.copy(v[0].point), this.dispatchEvent({
2614
2775
  type: "pointerPositionChange",
2615
- position: f
2776
+ position: E
2616
2777
  }));
2617
2778
  };
2618
- t.addEventListener("mousemove", u), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
2619
- t.removeEventListener("mousemove", u), o && (s.position.copy(r), o.enableRotate = !0, o.target.copy(l));
2779
+ t.addEventListener("mousemove", f), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
2780
+ t.removeEventListener("mousemove", f), s && (o.position.copy(r), s.enableRotate = !0, s.target.copy(l));
2620
2781
  };
2621
2782
  }
2622
2783
  /**
@@ -2629,9 +2790,9 @@ let dt = class extends Se {
2629
2790
  super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
2630
2791
  }
2631
2792
  };
2632
- class Eo extends O {
2793
+ class Ms extends W {
2633
2794
  static name = "PointDrag";
2634
- container = new m.Group();
2795
+ container = new h.Group();
2635
2796
  interruptKeys = ["escape"];
2636
2797
  shortcutKeys = ["control", "p"];
2637
2798
  commandName = "point";
@@ -2644,12 +2805,12 @@ class Eo extends O {
2644
2805
  * @param next
2645
2806
  */
2646
2807
  selectPoint(e) {
2647
- let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
2808
+ let t = null, n = new h.Mesh(new h.SphereGeometry(0.04), new h.MeshBasicMaterial({ color: 16711935 })), s = null;
2648
2809
  this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
2649
- const { point: s, line: a, find: r, mode: l } = this.editor.renderManager.adsorption();
2650
- this.dispatchEvent({ type: "pointerMove", point: s }), r && l === "point" ? (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());
2810
+ const { point: o, line: a, find: r, mode: l } = this.editor.renderManager.adsorption();
2811
+ this.dispatchEvent({ type: "pointerMove", point: o }), r && l === "point" ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
2651
2812
  })).add(this.eventInput.addEventListener("codeChange", () => {
2652
- this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
2813
+ this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: s }));
2653
2814
  })), this.addEventRecord("clear").add(() => n.removeFromParent());
2654
2815
  }
2655
2816
  /** 拖拽点
@@ -2659,32 +2820,32 @@ class Eo extends O {
2659
2820
  */
2660
2821
  drag(e, { point: t, line: n }) {
2661
2822
  this.domElement.style.cursor = "crosshair";
2662
- const o = n.start.equal(A.from(t)) ? "start" : "end", s = o == "start" ? new m.Vector3(n.end.x, n.end.y, 0) : new m.Vector3(n.start.x, n.start.y, 0), a = t.clone(), r = new fe([s, a], 16711935), l = new m.Mesh(new m.SphereGeometry(0.03), new m.MeshBasicMaterial({ color: 16711935 }));
2823
+ const s = n.start.equal(R.from(t)) ? "start" : "end", o = s == "start" ? new h.Vector3(n.end.x, n.end.y, 0) : new h.Vector3(n.start.x, n.start.y, 0), a = t.clone(), r = new Ce([o, a], 16711935), l = new h.Mesh(new h.SphereGeometry(0.03), new h.MeshBasicMaterial({ color: 16711935 }));
2663
2824
  this.container.add(r), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
2664
- let { point: i, find: c } = this.editor.renderManager.adsorption(), h = "none";
2825
+ let { point: i, find: d } = this.editor.renderManager.adsorption(), p = "none";
2665
2826
  if (i) {
2666
2827
  if (this.dispatchEvent({ type: "pointerMove", point: i }), this.eventInput.isKeyDown("shift")) {
2667
- const f = n.projectPoint(A.from(i), !1);
2668
- i.set(f?.x ?? i.x, f?.y ?? i.y, 0), c = !0, h = "crosshair";
2828
+ const E = n.projectPoint(R.from(i), !1);
2829
+ i.set(E?.x ?? i.x, E?.y ?? i.y, 0), d = !0, p = "crosshair";
2669
2830
  }
2670
- c ? (l.position.copy(i), this.container.add(l)) : (l.removeFromParent(), h = "crosshair"), a.copy(i), r.setPoint(s, a), this.domElement.style.cursor = h;
2831
+ d ? (l.position.copy(i), this.container.add(l)) : (l.removeFromParent(), p = "crosshair"), a.copy(i), r.setPoint(o, a), this.domElement.style.cursor = p;
2671
2832
  }
2672
2833
  })).add(this.eventInput.addEventListener("codeChange", () => {
2673
- this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: o === "end" ? n.end.clone() : n.start.clone(), line: n, mode: o }));
2834
+ this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: s === "end" ? n.end.clone() : n.start.clone(), line: n, mode: s }));
2674
2835
  })).add(() => l.removeFromParent()).add(() => r.removeFromParent());
2675
2836
  }
2676
2837
  /** 执行完成
2677
2838
  */
2678
2839
  completed(e) {
2679
- const { line: t, point: n, mode: o } = e;
2680
- 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();
2840
+ const { line: t, point: n, mode: s } = e;
2841
+ 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();
2681
2842
  }
2682
2843
  /** 回滚操作
2683
2844
  * @param data
2684
2845
  */
2685
2846
  rollback(e) {
2686
- const { line: t, oldPoint: n, mode: o } = e;
2687
- 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;
2847
+ const { line: t, oldPoint: n, mode: s } = e;
2848
+ 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;
2688
2849
  }
2689
2850
  /** 撤回回滚
2690
2851
  * @param lines
@@ -2694,15 +2855,15 @@ class Eo extends O {
2694
2855
  return this.completed(e), e;
2695
2856
  }
2696
2857
  }
2697
- function Ue(d, e = {}) {
2698
- d.addComponent(new dt(e.viewPermission)), d.addComponent(new eo()), d.addComponent(new _e()), d.addComponent(new vn()), d.addComponent(new to()), d.addComponent(new no()), d.addComponent(new Eo()), d.addComponent(new X()), d.addComponent(new Y()), d.addComponent(new de()), d.addComponent(new $()), d.addComponent(new ee()), d.addComponent(new te()), d.addComponent(new ne()), d.addComponent(new oe()), d.addComponent(new se()), d.addComponent(new rt());
2858
+ function Ye(c, e = {}) {
2859
+ c.addComponent(new mt(e.viewPermission)), c.addComponent(new ns()), c.addComponent(new Ke()), c.addComponent(new yn()), c.addComponent(new ss()), c.addComponent(new os()), c.addComponent(new Ms()), c.addComponent(new ie()), c.addComponent(new ae()), c.addComponent(new oe()), c.addComponent(new re()), c.addComponent(new de()), c.addComponent(new le()), c.addComponent(new ce()), c.addComponent(new me()), c.addComponent(new he()), c.addComponent(new ct());
2699
2860
  }
2700
- const Ao = Object.assign(Ue, {
2701
- create(d = {}) {
2702
- return (e) => Ue(e, d);
2861
+ const _s = Object.assign(Ye, {
2862
+ create(c = {}) {
2863
+ return (e) => Ye(e, c);
2703
2864
  }
2704
2865
  });
2705
2866
  export {
2706
- Ao as Editor,
2707
- Ue as Editor_
2867
+ _s as Editor,
2868
+ Ye as Editor_
2708
2869
  };