@infinit-canvas/react 0.1.27 → 0.1.28

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.
@@ -89,11 +89,11 @@ function Vo(t) {
89
89
  const { width: e, height: n } = Mr(t);
90
90
  return { x: t.position.x, y: t.position.y, width: e, height: n };
91
91
  }
92
- const Rr = `var qa = null, r = null, fr = 0, vr = 0, M = { x: 0, y: 0, zoom: 1 }, Y = [], W = [], C = [], F = !1, Ze = 40, We = !1, Nr = "lines", da = 1, Kt = null, lt = null, Tr = null, It = {}, tl = {}, it = {}, Zt = {}, Ia = 0, L = 160, B = 60, Ga = 8, Do = 5;
92
+ const Rr = `var Ia = null, r = null, fr = 0, vr = 0, k = { x: 0, y: 0, zoom: 1 }, H = [], W = [], S = [], $ = !1, Ke = 40, Pe = !1, cr = "lines", xa = 1, Jt = null, lt = null, mr = null, Kt = {}, el = {}, it = {}, bt = {}, Ka = 0, C = 160, B = 60, Za = 8, Oo = 5;
93
93
  function y(a) {
94
94
  return a._absolutePosition || a.position;
95
95
  }
96
- function cl(a, t, e, l, i) {
96
+ function Nl(a, t, e, l, i) {
97
97
  if (a.x !== void 0 && a.y !== void 0)
98
98
  return { x: t + a.x, y: e + a.y };
99
99
  var o = a.position || (a.type === "source" ? "right" : "left");
@@ -110,16 +110,16 @@ function cl(a, t, e, l, i) {
110
110
  return { x: t + l, y: e + i / 2 };
111
111
  }
112
112
  }
113
- function el(a) {
114
- var t = a.width || L, e = a.height || B;
113
+ function ol(a) {
114
+ var t = a.width || C, e = a.height || B;
115
115
  if (a.handles && a.handles.length > 0)
116
- return a.handles.map(function(n) {
117
- var g = cl(n, y(a).x, y(a).y, t, e);
118
- return { id: n.id || null, type: n.type, x: g.x, y: g.y, position: n.position };
116
+ return a.handles.map(function(h) {
117
+ var x = Nl(h, y(a).x, y(a).y, t, e);
118
+ return { id: h.id || null, type: h.type, x: x.x, y: x.y, position: h.position };
119
119
  });
120
120
  var l = a.targetPosition || "left", i = a.sourcePosition || "right", o = y(a);
121
- function f(n) {
122
- switch (n) {
121
+ function f(h) {
122
+ switch (h) {
123
123
  case "top":
124
124
  return { x: o.x + t / 2, y: o.y };
125
125
  case "bottom":
@@ -132,69 +132,69 @@ function el(a) {
132
132
  return { x: o.x + t, y: o.y + e / 2 };
133
133
  }
134
134
  }
135
- var h = f(l), x = f(i);
135
+ var n = f(l), g = f(i);
136
136
  return [
137
- { id: null, type: "target", x: h.x, y: h.y, position: l },
138
- { id: null, type: "source", x: x.x, y: x.y, position: i }
137
+ { id: null, type: "target", x: n.x, y: n.y, position: l },
138
+ { id: null, type: "source", x: g.x, y: g.y, position: i }
139
139
  ];
140
140
  }
141
- var Pe = {}, nt = !0;
142
- function Vl(a) {
143
- nt && (Pe = {}, nt = !1);
144
- var t = Pe[a.id];
145
- return t || (t = el(a), Pe[a.id] = t, t);
141
+ var qe = {}, ht = !0;
142
+ function Dl(a) {
143
+ ht && (qe = {}, ht = !1);
144
+ var t = qe[a.id];
145
+ return t || (t = ol(a), qe[a.id] = t, t);
146
146
  }
147
- function bt(a, t, e) {
148
- for (var l = Vl(a), i = 0; i < l.length; i++)
147
+ function Qt(a, t, e) {
148
+ for (var l = Dl(a), i = 0; i < l.length; i++)
149
149
  if (l[i].type === t)
150
150
  if (e) {
151
151
  if (l[i].id === e) return l[i];
152
152
  } else
153
153
  return l[i];
154
- var o = a.width || L, f = a.height || B;
154
+ var o = a.width || C, f = a.height || B;
155
155
  return t === "source" ? { x: y(a).x + o, y: y(a).y + f / 2 } : { x: y(a).x, y: y(a).y + f / 2 };
156
156
  }
157
- var k = {};
158
- function Ke() {
159
- k = {
160
- grid: F ? "rgba(255,255,255,0.07)" : "rgba(0,0,0,0.07)",
161
- origin: F ? "rgba(255,255,255,0.2)" : "rgba(0,0,0,0.15)",
162
- cardBg: F ? "#2a2a28" : "#ffffff",
163
- cardBorder: F ? "rgba(255,255,255,0.1)" : "rgba(0,0,0,0.1)",
164
- cardShadow: F ? "rgba(0,0,0,0.3)" : "rgba(0,0,0,0.06)",
157
+ var M = {};
158
+ function be() {
159
+ M = {
160
+ grid: $ ? "rgba(255,255,255,0.07)" : "rgba(0,0,0,0.07)",
161
+ origin: $ ? "rgba(255,255,255,0.2)" : "rgba(0,0,0,0.15)",
162
+ cardBg: $ ? "#2a2a28" : "#ffffff",
163
+ cardBorder: $ ? "rgba(255,255,255,0.1)" : "rgba(0,0,0,0.1)",
164
+ cardShadow: $ ? "rgba(0,0,0,0.3)" : "rgba(0,0,0,0.06)",
165
165
  titleText: "rgba(255,255,255,0.9)",
166
- bodyText: F ? "rgba(255,255,255,0.55)" : "rgba(0,0,0,0.5)",
167
- coordText: F ? "rgba(255,255,255,0.25)" : "rgba(0,0,0,0.2)",
168
- nodeBg: F ? "#1e1e2e" : "#ffffff",
169
- nodeBorder: F ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.15)",
166
+ bodyText: $ ? "rgba(255,255,255,0.55)" : "rgba(0,0,0,0.5)",
167
+ coordText: $ ? "rgba(255,255,255,0.25)" : "rgba(0,0,0,0.2)",
168
+ nodeBg: $ ? "#1e1e2e" : "#ffffff",
169
+ nodeBorder: $ ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.15)",
170
170
  nodeSelectedBorder: "#3b82f6",
171
- nodeShadow: F ? "rgba(0,0,0,0.4)" : "rgba(0,0,0,0.08)",
172
- nodeText: F ? "rgba(255,255,255,0.9)" : "rgba(0,0,0,0.85)",
173
- edgeStroke: F ? "rgba(255,255,255,0.35)" : "rgba(0,0,0,0.3)",
171
+ nodeShadow: $ ? "rgba(0,0,0,0.4)" : "rgba(0,0,0,0.08)",
172
+ nodeText: $ ? "rgba(255,255,255,0.9)" : "rgba(0,0,0,0.85)",
173
+ edgeStroke: $ ? "rgba(255,255,255,0.35)" : "rgba(0,0,0,0.3)",
174
174
  edgeSelected: "#3b82f6",
175
175
  edgeAnimated: "#3b82f6",
176
176
  handleFill: "#ffffff",
177
177
  handleBorder: "#3b82f6",
178
178
  connectionLine: "#3b82f6"
179
- }, Za = !0;
179
+ }, ba = !0;
180
180
  }
181
- Ke();
182
- var Nl = ["#534AB7", "#0F6E56", "#993C1D", "#185FA5"], ot = 8, Dl = "500 11px system-ui, sans-serif", Ol = "400 11px system-ui, sans-serif", jl = "10px monospace", Oo = "500 13px system-ui, sans-serif", Yl = "400 11px system-ui, sans-serif", Dr = 400, ft = {}, Jt = !0;
183
- function Xl() {
181
+ be();
182
+ var Ol = ["#534AB7", "#0F6E56", "#993C1D", "#185FA5"], ot = 8, jl = "500 11px system-ui, sans-serif", Yl = "400 11px system-ui, sans-serif", Xl = "10px monospace", jo = "500 13px system-ui, sans-serif", Hl = "400 11px system-ui, sans-serif", Vr = 400, ft = {}, $t = !0;
183
+ function pl() {
184
184
  ft = {};
185
- for (var a = 0; a < Y.length; a++)
186
- for (var t = Y[a], e = Math.floor(t.x / Dr), l = Math.floor(t.y / Dr), i = Math.floor((t.x + t.w) / Dr), o = Math.floor((t.y + t.h) / Dr), f = e; f <= i; f++)
187
- for (var h = l; h <= o; h++) {
188
- var x = f + "," + h;
189
- ft[x] || (ft[x] = []), ft[x].push(a);
185
+ for (var a = 0; a < H.length; a++)
186
+ for (var t = H[a], e = Math.floor(t.x / Vr), l = Math.floor(t.y / Vr), i = Math.floor((t.x + t.w) / Vr), o = Math.floor((t.y + t.h) / Vr), f = e; f <= i; f++)
187
+ for (var n = l; n <= o; n++) {
188
+ var g = f + "," + n;
189
+ ft[g] || (ft[g] = []), ft[g].push(a);
190
190
  }
191
- Jt = !1;
191
+ $t = !1;
192
192
  }
193
- function jo(a, t, e, l) {
194
- Jt && Xl();
195
- for (var i = {}, o = [], f = Math.floor(a / Dr), h = Math.floor(t / Dr), x = Math.floor(e / Dr), n = Math.floor(l / Dr), g = f; g <= x; g++)
196
- for (var v = h; v <= n; v++) {
197
- var u = g + "," + v, s = ft[u];
193
+ function Yo(a, t, e, l) {
194
+ $t && pl();
195
+ for (var i = {}, o = [], f = Math.floor(a / Vr), n = Math.floor(t / Vr), g = Math.floor(e / Vr), h = Math.floor(l / Vr), x = f; x <= g; x++)
196
+ for (var v = n; v <= h; v++) {
197
+ var u = x + "," + v, s = ft[u];
198
198
  if (s)
199
199
  for (var d = 0; d < s.length; d++) {
200
200
  var T = s[d];
@@ -203,25 +203,25 @@ function jo(a, t, e, l) {
203
203
  }
204
204
  return o;
205
205
  }
206
- var Or = 500, vt = {}, jr = !0;
207
- function $e() {
206
+ var Nr = 500, vt = {}, Dr = !0;
207
+ function Fe() {
208
208
  vt = {};
209
209
  for (var a = 0; a < W.length; a++) {
210
210
  var t = W[a];
211
211
  if (!t.hidden)
212
- for (var e = y(t), l = t.width || L, i = t.height || B, o = Math.floor(e.x / Or), f = Math.floor(e.y / Or), h = Math.floor((e.x + l) / Or), x = Math.floor((e.y + i) / Or), n = o; n <= h; n++)
213
- for (var g = f; g <= x; g++) {
214
- var v = n + "," + g;
212
+ for (var e = y(t), l = t.width || C, i = t.height || B, o = Math.floor(e.x / Nr), f = Math.floor(e.y / Nr), n = Math.floor((e.x + l) / Nr), g = Math.floor((e.y + i) / Nr), h = o; h <= n; h++)
213
+ for (var x = f; x <= g; x++) {
214
+ var v = h + "," + x;
215
215
  vt[v] || (vt[v] = []), vt[v].push(a);
216
216
  }
217
217
  }
218
- jr = !1;
218
+ Dr = !1;
219
219
  }
220
- function ol(a, t, e, l) {
221
- jr && $e();
222
- for (var i = {}, o = [], f = Math.floor(a / Or), h = Math.floor(t / Or), x = Math.floor(e / Or), n = Math.floor(l / Or), g = f; g <= x; g++)
223
- for (var v = h; v <= n; v++) {
224
- var u = g + "," + v, s = vt[u];
220
+ function ll(a, t, e, l) {
221
+ Dr && Fe();
222
+ for (var i = {}, o = [], f = Math.floor(a / Nr), n = Math.floor(t / Nr), g = Math.floor(e / Nr), h = Math.floor(l / Nr), x = f; x <= g; x++)
223
+ for (var v = n; v <= h; v++) {
224
+ var u = x + "," + v, s = vt[u];
225
225
  if (s)
226
226
  for (var d = 0; d < s.length; d++) {
227
227
  var T = s[d];
@@ -230,47 +230,47 @@ function ol(a, t, e, l) {
230
230
  }
231
231
  return o;
232
232
  }
233
- var ya = {}, sa = !0;
234
- function Qt() {
235
- ya = {};
233
+ var Ma = {}, ga = !0;
234
+ function Ft() {
235
+ Ma = {};
236
236
  for (var a = 0; a < W.length; a++)
237
- ya[W[a].id] = W[a];
238
- sa = !1;
239
- }
240
- function Yo(a) {
241
- return sa && Qt(), ya[a];
242
- }
243
- var Er = {}, $t = !0;
244
- function Hl() {
245
- Er = {};
246
- for (var a = 0; a < C.length; a++) {
247
- var t = C[a];
248
- Er[t.source] || (Er[t.source] = []), Er[t.source].push(a), t.source !== t.target && (Er[t.target] || (Er[t.target] = []), Er[t.target].push(a));
237
+ Ma[W[a].id] = W[a];
238
+ ga = !1;
239
+ }
240
+ function Xo(a) {
241
+ return ga && Ft(), Ma[a];
242
+ }
243
+ var _r = {}, Ut = !0;
244
+ function ri() {
245
+ _r = {};
246
+ for (var a = 0; a < S.length; a++) {
247
+ var t = S[a];
248
+ _r[t.source] || (_r[t.source] = []), _r[t.source].push(a), t.source !== t.target && (_r[t.target] || (_r[t.target] = []), _r[t.target].push(a));
249
249
  }
250
- $t = !1;
250
+ Ut = !1;
251
251
  }
252
- var ua = null, ll = 0, il = 0, fl = "", Za = !0;
253
- function pl(a) {
254
- ua || (ua = new OffscreenCanvas(1, 1));
252
+ var ya = null, il = 0, fl = 0, vl = "", ba = !0;
253
+ function ai(a) {
254
+ ya || (ya = new OffscreenCanvas(1, 1));
255
255
  var t = Math.ceil(a), e = Math.ceil(a);
256
256
  if (t < 2 || e < 2) return !1;
257
- t > 512 && (t = 512), e > 512 && (e = 512), ua.width = t, ua.height = e, ll = t, il = a, fl = Nr, Za = !1;
258
- var l = ua.getContext("2d");
257
+ t > 512 && (t = 512), e > 512 && (e = 512), ya.width = t, ya.height = e, il = t, fl = a, vl = cr, ba = !1;
258
+ var l = ya.getContext("2d");
259
259
  l.clearRect(0, 0, t, e);
260
- var i = Kt || k.grid;
261
- if (Nr === "dots") {
260
+ var i = Jt || M.grid;
261
+ if (cr === "dots") {
262
262
  l.fillStyle = i;
263
- var o = da * M.zoom;
263
+ var o = xa * k.zoom;
264
264
  l.beginPath(), l.arc(0, 0, o, 0, 6.2832), l.fill();
265
- } else if (Nr === "cross") {
266
- l.strokeStyle = i, l.lineWidth = da;
267
- var f = 3 * M.zoom;
265
+ } else if (cr === "cross") {
266
+ l.strokeStyle = i, l.lineWidth = xa;
267
+ var f = 3 * k.zoom;
268
268
  l.beginPath(), l.moveTo(-f, 0), l.lineTo(f, 0), l.moveTo(0, -f), l.lineTo(0, f), l.stroke();
269
269
  } else
270
- l.beginPath(), l.strokeStyle = i, l.lineWidth = da * 0.5, l.moveTo(0.5, 0), l.lineTo(0.5, e), l.moveTo(0, 0.5), l.lineTo(t, 0.5), l.stroke();
270
+ l.beginPath(), l.strokeStyle = i, l.lineWidth = xa * 0.5, l.moveTo(0.5, 0), l.lineTo(0.5, e), l.moveTo(0, 0.5), l.lineTo(t, 0.5), l.stroke();
271
271
  return !0;
272
272
  }
273
- var Xo = 0, qe = 0, Ho = 0, po = 0, be = 0, ht = !1;
273
+ var Ho = 0, Ge = 0, po = 0, rl = 0, Je = 0, nt = !1;
274
274
  console.log("[worker] script loaded v2 - FRESH");
275
275
  self.postMessage({ type: "ping", data: { status: "alive" } });
276
276
  self.onmessage = function(a) {
@@ -278,128 +278,128 @@ self.onmessage = function(a) {
278
278
  var t = a.data.type, e = a.data.data;
279
279
  switch (t) {
280
280
  case "init":
281
- qa = e.canvas, r = qa.getContext("2d"), fr = e.width, vr = e.height, qa.width = fr, qa.height = vr, M = e.camera, Y = e.cards || [], W = e.nodes || [], C = e.edges || [], F = e.dark, e.gridSize && (Ze = e.gridSize), e.edgeRouting !== void 0 && (Vr = !!e.edgeRouting), Ke(), Jt = !0, sa = !0, jr = !0, nt = !0, $t = !0, ht = C.some(function(X) {
282
- return X.animated;
283
- }), console.log("[worker] init done — canvas:", fr, "x", vr, "| cards:", Y.length, "| nodes:", W.length, "| edges:", C.length, "| routing:", Vr), Ft(), self.postMessage({ type: "ready" }), ht && rl();
281
+ Ia = e.canvas, r = Ia.getContext("2d"), fr = e.width, vr = e.height, Ia.width = fr, Ia.height = vr, k = e.camera, H = e.cards || [], W = e.nodes || [], S = e.edges || [], $ = e.dark, e.gridSize && (Ke = e.gridSize), e.edgeRouting !== void 0 && (Ur = !!e.edgeRouting), be(), $t = !0, ga = !0, Dr = !0, ht = !0, Ut = !0, nt = S.some(function(nr) {
282
+ return nr.animated;
283
+ }), console.log("[worker] init done — canvas:", fr, "x", vr, "| cards:", H.length, "| nodes:", W.length, "| edges:", S.length, "| routing:", Ur), ct(), self.postMessage({ type: "ready" }), nt && al();
284
284
  break;
285
285
  case "resize":
286
- fr = e.width, vr = e.height, qa.width = fr, qa.height = vr, Za = !0, Ft();
286
+ fr = e.width, vr = e.height, Ia.width = fr, Ia.height = vr, ba = !0, ct();
287
287
  break;
288
288
  case "camera":
289
- M = e.camera, Za = !0, $();
289
+ k = e.camera, ba = !0, Q();
290
290
  break;
291
291
  case "cards":
292
- Y = e.cards, Jt = !0, $();
292
+ H = e.cards, $t = !0, Q();
293
293
  break;
294
294
  case "nodes":
295
- W = e.nodes, Ia = 0;
295
+ W = e.nodes, Ka = 0;
296
296
  for (var l = 0; l < W.length; l++)
297
- W[l].dragging && Ia++;
298
- sa = !0, jr = !0, nt = !0, $(), Gt(), self.postMessage({ type: "nodesProcessed", data: { nodeCount: W.length } });
297
+ W[l].dragging && Ka++;
298
+ ga = !0, Dr = !0, ht = !0, Q(), Zt(), self.postMessage({ type: "nodesProcessed", data: { nodeCount: W.length } });
299
299
  break;
300
300
  case "nodePositions":
301
- sa && Qt();
301
+ ga && Ft();
302
302
  for (var i = e.updates, o = 0, f = 0; f < i.length; f++) {
303
- var h = i[f], x = ya[h.id];
304
- x && (x.position = h.position, h._absolutePosition && (x._absolutePosition = h._absolutePosition), h.width !== void 0 && (x.width = h.width), h.height !== void 0 && (x.height = h.height), h.dragging && !x.dragging ? o++ : !h.dragging && x.dragging && o--, x.dragging = h.dragging, x.selected = h.selected);
303
+ var n = i[f], g = Ma[n.id];
304
+ g && (g.position = n.position, n._absolutePosition && (g._absolutePosition = n._absolutePosition), n.width !== void 0 && (g.width = n.width), n.height !== void 0 && (g.height = n.height), n.dragging && !g.dragging ? o++ : !n.dragging && g.dragging && o--, g.dragging = n.dragging, g.selected = n.selected);
305
305
  }
306
- if (Ia = Math.max(0, Ia + o), nt = !0, Vr)
307
- for (var n = 0; n < i.length; n++)
308
- for (var g = i[n].id, v = 0; v < C.length; v++)
309
- (C[v].source === g || C[v].target === g) && (C[v]._routedPoints = null);
310
- i.length > 10 && (jr = !0), Vr && Ia === 0 && o < 0 && (jr = !0, Gt()), $();
306
+ if (Ka = Math.max(0, Ka + o), ht = !0, Ur)
307
+ for (var h = 0; h < i.length; h++)
308
+ for (var x = i[h].id, v = 0; v < S.length; v++)
309
+ (S[v].source === x || S[v].target === x) && (S[v]._routedPoints = null);
310
+ i.length > 10 && (Dr = !0), Ur && Ka === 0 && o < 0 && (Dr = !0, Zt()), Q();
311
311
  break;
312
312
  case "nodeSelections":
313
- sa && Qt();
313
+ ga && Ft();
314
314
  for (var u = e.selections, s = 0; s < u.length; s++) {
315
- var d = u[s], T = ya[d.id];
315
+ var d = u[s], T = Ma[d.id];
316
316
  T && (T.selected = d.selected);
317
317
  }
318
- $();
318
+ Q();
319
319
  break;
320
320
  case "edgeSelections":
321
321
  for (var Z = e.selections, _ = 0; _ < Z.length; _++) {
322
- for (var K = Z[_], ar = null, tr = 0; tr < C.length; tr++)
323
- if (C[tr].id === K.id) {
324
- ar = C[tr];
322
+ for (var K = Z[_], rr = null, ar = 0; ar < S.length; ar++)
323
+ if (S[ar].id === K.id) {
324
+ rr = S[ar];
325
325
  break;
326
326
  }
327
- ar && (ar.selected = K.selected);
327
+ rr && (rr.selected = K.selected);
328
328
  }
329
- $();
329
+ Q();
330
330
  break;
331
331
  case "edges":
332
- C = e.edges, $t = !0, ht = C.some(function(X) {
333
- return X.animated;
334
- }), ht && rl(), $(), Gt();
332
+ S = e.edges, Ut = !0, nt = S.some(function(nr) {
333
+ return nr.animated;
334
+ }), nt && al(), Q(), Zt();
335
335
  break;
336
336
  case "theme":
337
- F = e.dark, Ke(), $();
337
+ $ = e.dark, be(), Q();
338
338
  break;
339
339
  case "connecting":
340
- lt = e, $();
340
+ lt = e, Q();
341
341
  break;
342
342
  case "selectionBox":
343
- Tr = e, $();
343
+ mr = e, Q();
344
344
  break;
345
345
  case "background":
346
- e.variant && (Nr = e.variant), e.gap && (Ze = e.gap), e.size && (da = e.size), Kt = e.color || null, Za = !0, $();
346
+ e.variant && (cr = e.variant), e.gap && (Ke = e.gap), e.size && (xa = e.size), Jt = e.color || null, ba = !0, Q();
347
347
  break;
348
348
  case "nodeTypeBitmaps":
349
- It = e.bitmaps || {}, $();
349
+ Kt = e.bitmaps || {}, Q();
350
350
  break;
351
351
  case "nodeBitmaps":
352
- tl = e.cache || {}, it = e.keys || {}, $();
352
+ el = e.cache || {}, it = e.keys || {}, Q();
353
353
  break;
354
354
  case "nodeTypeConfigs":
355
- Zt = e.configs || {}, $();
355
+ bt = e.configs || {}, Q();
356
356
  break;
357
357
  case "edgeRouting":
358
- if (Vr = !!e.enabled, Vr)
359
- Gt();
358
+ if (Ur = !!e.enabled, Ur)
359
+ Zt();
360
360
  else {
361
- for (var hr = 0; hr < C.length; hr++)
362
- C[hr]._routedPoints = null;
363
- $();
361
+ for (var Tr = 0; Tr < S.length; Tr++)
362
+ S[Tr]._routedPoints = null;
363
+ Q();
364
364
  }
365
365
  break;
366
366
  }
367
- } catch (X) {
368
- console.error("[worker] error:", X);
367
+ } catch (nr) {
368
+ console.error("[worker] error:", nr);
369
369
  }
370
370
  };
371
- function $() {
372
- We || (We = !0, requestAnimationFrame(function() {
373
- We = !1, Ft();
371
+ function Q() {
372
+ Pe || (Pe = !0, requestAnimationFrame(function() {
373
+ Pe = !1, ct();
374
374
  }));
375
375
  }
376
- var Ge = !1;
377
- function rl() {
378
- if (Ge) return;
379
- Ge = !0;
376
+ var Ie = !1;
377
+ function al() {
378
+ if (Ie) return;
379
+ Ie = !0;
380
380
  function a() {
381
- if (!ht) {
382
- Ge = !1;
381
+ if (!nt) {
382
+ Ie = !1;
383
383
  return;
384
384
  }
385
- be = (be + 0.5) % 20, Ft(), requestAnimationFrame(a);
385
+ Je = (Je + 0.5) % 20, ct(), requestAnimationFrame(a);
386
386
  }
387
387
  requestAnimationFrame(a);
388
388
  }
389
- function al(a, t) {
389
+ function tl(a, t) {
390
390
  var e = 6;
391
391
  a.moveTo(t[0].x, t[0].y);
392
392
  for (var l = 1; l < t.length - 1; l++) {
393
- var i = t[l - 1], o = t[l], f = t[l + 1], h = Math.abs(o.x - i.x) + Math.abs(o.y - i.y), x = Math.abs(f.x - o.x) + Math.abs(f.y - o.y), n = Math.min(e, h / 2, x / 2);
394
- if (n > 0.5) {
395
- var g = o.x - i.x, v = o.y - i.y, u = f.x - o.x, s = f.y - o.y, d = Math.sqrt(g * g + v * v) || 1, T = Math.sqrt(u * u + s * s) || 1;
396
- a.lineTo(o.x - g / d * n, o.y - v / d * n), a.quadraticCurveTo(o.x, o.y, o.x + u / T * n, o.y + s / T * n);
393
+ var i = t[l - 1], o = t[l], f = t[l + 1], n = Math.abs(o.x - i.x) + Math.abs(o.y - i.y), g = Math.abs(f.x - o.x) + Math.abs(f.y - o.y), h = Math.min(e, n / 2, g / 2);
394
+ if (h > 0.5) {
395
+ var x = o.x - i.x, v = o.y - i.y, u = f.x - o.x, s = f.y - o.y, d = Math.sqrt(x * x + v * v) || 1, T = Math.sqrt(u * u + s * s) || 1;
396
+ a.lineTo(o.x - x / d * h, o.y - v / d * h), a.quadraticCurveTo(o.x, o.y, o.x + u / T * h, o.y + s / T * h);
397
397
  } else
398
398
  a.lineTo(o.x, o.y);
399
399
  }
400
400
  a.lineTo(t[t.length - 1].x, t[t.length - 1].y);
401
401
  }
402
- function ri(a) {
402
+ function ti(a) {
403
403
  for (var t = 0, e = 1; e < a.length; e++)
404
404
  t += Math.abs(a[e].x - a[e - 1].x) + Math.abs(a[e].y - a[e - 1].y);
405
405
  for (var l = t / 2, i = 1; i < a.length; i++) {
@@ -415,166 +415,166 @@ function ri(a) {
415
415
  }
416
416
  return { x: a[0].x, y: a[0].y };
417
417
  }
418
- function Je(a, t, e, l) {
419
- var i = Math.abs(e - a), o = Math.max(50, i * 0.5), f = a + o, h = t, x = e - o, n = l;
420
- return { cp1x: f, cp1y: h, cp2x: x, cp2y: n };
418
+ function Qe(a, t, e, l) {
419
+ var i = Math.abs(e - a), o = Math.max(50, i * 0.5), f = a + o, n = t, g = e - o, h = l;
420
+ return { cp1x: f, cp1y: n, cp2x: g, cp2y: h };
421
421
  }
422
- function ai(a, t, e, l) {
423
- var i = Je(a, t, e, l), o = 0.5, f = 1 - o, h = f * f * f * a + 3 * f * f * o * i.cp1x + 3 * f * o * o * i.cp2x + o * o * o * e, x = f * f * f * t + 3 * f * f * o * i.cp1y + 3 * f * o * o * i.cp2y + o * o * o * l;
424
- return { x: h, y: x };
422
+ function ei(a, t, e, l) {
423
+ var i = Qe(a, t, e, l), o = 0.5, f = 1 - o, n = f * f * f * a + 3 * f * f * o * i.cp1x + 3 * f * o * o * i.cp2x + o * o * o * e, g = f * f * f * t + 3 * f * f * o * i.cp1y + 3 * f * o * o * i.cp2y + o * o * o * l;
424
+ return { x: n, y: g };
425
425
  }
426
- var Vr = !0, Qe = !1, Ie = !1;
427
- function vl(a, t, e, l, i) {
428
- jr && $e();
429
- for (var o = Math.min(a, e) - 20, f = Math.min(t, l) - 20, h = Math.max(a, e) + 20, x = Math.max(t, l) + 20, n = ol(o, f, h, x), g = [], v = 0; v < n.length; v++) {
430
- var u = W[n[v]];
431
- u.hidden || i[u.id] || u.type !== "group" && g.push(u);
426
+ var Ur = !0, $e = !1, Ze = !1;
427
+ function nl(a, t, e, l, i) {
428
+ Dr && Fe();
429
+ for (var o = Math.min(a, e) - 20, f = Math.min(t, l) - 20, n = Math.max(a, e) + 20, g = Math.max(t, l) + 20, h = ll(o, f, n, g), x = [], v = 0; v < h.length; v++) {
430
+ var u = W[h[v]];
431
+ u.hidden || i[u.id] || u.type !== "group" && x.push(u);
432
432
  }
433
- return g;
433
+ return x;
434
434
  }
435
- function Lr(a, t, e, l) {
435
+ function Er(a, t, e, l) {
436
436
  for (var i = Math.min(a, t), o = Math.max(a, t), f = 0; f < l.length; f++) {
437
- var h = l[f], x = y(h), n = h.width || L, g = h.height || B;
438
- if (e > x.y && e < x.y + g && o > x.x && i < x.x + n) return h;
437
+ var n = l[f], g = y(n), h = n.width || C, x = n.height || B;
438
+ if (e > g.y && e < g.y + x && o > g.x && i < g.x + h) return n;
439
439
  }
440
440
  return null;
441
441
  }
442
- function Sr(a, t, e, l) {
442
+ function Cr(a, t, e, l) {
443
443
  for (var i = Math.min(t, e), o = Math.max(t, e), f = 0; f < l.length; f++) {
444
- var h = l[f], x = y(h), n = h.width || L, g = h.height || B;
445
- if (a > x.x && a < x.x + n && o > x.y && i < x.y + g) return h;
444
+ var n = l[f], g = y(n), h = n.width || C, x = n.height || B;
445
+ if (a > g.x && a < g.x + h && o > g.y && i < g.y + x) return n;
446
446
  }
447
447
  return null;
448
448
  }
449
- function ti() {
450
- if (Vr && !(!Qe || C.length === 0 || W.length === 0)) {
451
- Qe = !1, sa && Qt(), jr && $e();
452
- for (var a = 20, t = !1, e = 0; e < C.length; e++) {
453
- var l = C[e];
449
+ function oi() {
450
+ if (Ur && !(!$e || S.length === 0 || W.length === 0)) {
451
+ $e = !1, ga && Ft(), Dr && Fe();
452
+ for (var a = 20, t = !1, e = 0; e < S.length; e++) {
453
+ var l = S[e];
454
454
  if (!l._customRendered) {
455
455
  var i = l.type || "default";
456
456
  if (!(i === "bezier" || i === "simplebezier" || i === "default")) {
457
- var o = ya[l.source], f = ya[l.target];
457
+ var o = Ma[l.source], f = Ma[l.target];
458
458
  if (!(!o || !f || o.hidden || f.hidden)) {
459
- var h = bt(o, "source", l.sourceHandle), x = bt(f, "target", l.targetHandle), n = h.position || "right", g = x.position || "left", v = h.x, u = h.y, s = x.x, d = x.y, T = v, Z = u, _ = s, K = d;
460
- n === "right" ? T += a : n === "left" ? T -= a : n === "bottom" ? Z += a : n === "top" && (Z -= a), g === "right" ? _ += a : g === "left" ? _ -= a : g === "bottom" ? K += a : g === "top" && (K -= a);
461
- var ar = y(o), tr = y(f), hr = o.width || L, X = o.height || B, Yr = f.width || L, xa = f.height || B, Xr = {};
462
- Xr[l.source] = !0, Xr[l.target] = !0;
463
- var H = vl(
464
- Math.min(v, s) - hr,
465
- Math.min(u, d) - X,
466
- Math.max(v, s) + Yr,
467
- Math.max(u, d) + xa,
468
- Xr
459
+ var n = Qt(o, "source", l.sourceHandle), g = Qt(f, "target", l.targetHandle), h = n.position || "right", x = g.position || "left", v = n.x, u = n.y, s = g.x, d = g.y, T = v, Z = u, _ = s, K = d;
460
+ h === "right" ? T += a : h === "left" ? T -= a : h === "bottom" ? Z += a : h === "top" && (Z -= a), x === "right" ? _ += a : x === "left" ? _ -= a : x === "bottom" ? K += a : x === "top" && (K -= a);
461
+ var rr = y(o), ar = y(f), Tr = o.width || C, nr = o.height || B, Or = f.width || C, jr = f.height || B, Lr = {};
462
+ Lr[l.source] = !0, Lr[l.target] = !0;
463
+ var D = nl(
464
+ Math.min(v, s) - Tr,
465
+ Math.min(u, d) - nr,
466
+ Math.max(v, s) + Or,
467
+ Math.max(u, d) + jr,
468
+ Lr
469
469
  );
470
- H.push(o), H.push(f);
471
- var ga = n === "left" || n === "right", Ka = g === "left" || g === "right", q = null;
472
- if (ga && Ka) {
473
- var P, sr = n === "right" && T < _, Ut = n === "left" && T > _;
474
- if (sr || Ut) {
475
- P = (T + _) / 2;
476
- var ba = Sr(P, u, d, H);
477
- if (ba) {
478
- var Ma = y(ba), ka = ba.width || L;
479
- P = P < Ma.x + ka / 2 ? Ma.x - a : Ma.x + ka + a;
470
+ D.push(o), D.push(f);
471
+ var Yr = h === "left" || h === "right", Ja = x === "left" || x === "right", P = null;
472
+ if (Yr && Ja) {
473
+ var O, ut = h === "right" && T < _, sr = h === "left" && T > _;
474
+ if (ut || sr) {
475
+ O = (T + _) / 2;
476
+ var tr = Cr(O, u, d, D);
477
+ if (tr) {
478
+ var Qa = y(tr), st = tr.width || C;
479
+ O = O < Qa.x + st / 2 ? Qa.x - a : Qa.x + st + a;
480
480
  }
481
481
  } else
482
- n === "right" ? P = Math.max(ar.x + hr, tr.x + Yr) + a : P = Math.min(ar.x, tr.x) - a;
483
- q = [{ x: v, y: u }, { x: T, y: u }, { x: P, y: u }, { x: P, y: d }, { x: _, y: d }, { x: s, y: d }];
484
- var Cr = Lr(P, _, d, H);
485
- if (Cr) {
486
- var ma = y(Cr), Ta = Cr.height || B, Ra = ma.y - a, Hr = ma.y + Ta + a, pr = Math.abs(u - Ra) <= Math.abs(u - Hr) ? Ra : Hr;
487
- q = [{ x: v, y: u }, { x: T, y: u }, { x: P, y: u }, { x: P, y: pr }, { x: _, y: pr }, { x: _, y: d }, { x: s, y: d }];
482
+ h === "right" ? O = Math.max(rr.x + Tr, ar.x + Or) + a : O = Math.min(rr.x, ar.x) - a;
483
+ P = [{ x: v, y: u }, { x: T, y: u }, { x: O, y: u }, { x: O, y: d }, { x: _, y: d }, { x: s, y: d }];
484
+ var ka = Er(O, _, d, D);
485
+ if (ka) {
486
+ var ma = y(ka), Ta = ka.height || B, Ra = ma.y - a, Xr = ma.y + Ta + a, za = Math.abs(u - Ra) <= Math.abs(u - Xr) ? Ra : Xr;
487
+ P = [{ x: v, y: u }, { x: T, y: u }, { x: O, y: u }, { x: O, y: za }, { x: _, y: za }, { x: _, y: d }, { x: s, y: d }];
488
488
  }
489
- } else if (!ga && !Ka) {
490
- var b, ut = n === "bottom" && Z < K, Ja = n === "top" && Z > K;
491
- if (ut || Ja) {
492
- b = (Z + K) / 2;
493
- var Wr = Lr(v, s, b, H);
494
- if (Wr) {
495
- var Pr = y(Wr), za = Wr.height || B;
496
- b = b < Pr.y + za / 2 ? Pr.y - a : Pr.y + za + a;
489
+ } else if (!Yr && !Ja) {
490
+ var G, wa = h === "bottom" && Z < K, $a = h === "top" && Z > K;
491
+ if (wa || $a) {
492
+ G = (Z + K) / 2;
493
+ var Ba = Er(v, s, G, D);
494
+ if (Ba) {
495
+ var Hr = y(Ba), pr = Ba.height || B;
496
+ G = G < Hr.y + pr / 2 ? Hr.y - a : Hr.y + pr + a;
497
497
  }
498
498
  } else
499
- n === "bottom" ? b = Math.max(ar.y + X, tr.y + xa) + a : b = Math.min(ar.y, tr.y) - a;
500
- q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: b }, { x: s, y: b }, { x: s, y: K }, { x: s, y: d }];
501
- var ra = Sr(s, b, K, H);
502
- if (ra) {
503
- var wa = y(ra), Qa = ra.height || B, Ba = wa.y - a, Aa = wa.y + Qa + a, _a = Math.abs(b - Ba) <= Math.abs(b - Aa) ? Ba : Aa;
504
- q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: b }, { x: s, y: b }, { x: s, y: _a }, { x: _, y: _a }, { x: _, y: d }, { x: s, y: d }];
499
+ h === "bottom" ? G = Math.max(rr.y + nr, ar.y + jr) + a : G = Math.min(rr.y, ar.y) - a;
500
+ P = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: G }, { x: s, y: G }, { x: s, y: K }, { x: s, y: d }];
501
+ var Sr = Cr(s, G, K, D);
502
+ if (Sr) {
503
+ var Aa = y(Sr), Fa = Sr.height || B, _a = Aa.y - a, Ea = Aa.y + Fa + a, Ca = Math.abs(G - _a) <= Math.abs(G - Ea) ? _a : Ea;
504
+ P = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: G }, { x: s, y: G }, { x: s, y: Ca }, { x: _, y: Ca }, { x: _, y: d }, { x: s, y: d }];
505
505
  }
506
- } else if (ga) {
507
- q = [{ x: v, y: u }, { x: T, y: u }, { x: s, y: u }, { x: s, y: K }, { x: s, y: d }];
508
- var qr = Sr(s, u, K, H);
509
- if (qr) {
510
- var nr = y(qr), Rr = qr.width || L, $a = Math.abs(v - nr.x + a) <= Math.abs(v - nr.x - Rr - a) ? nr.x - a : nr.x + Rr + a;
511
- q = [{ x: v, y: u }, { x: T, y: u }, { x: $a, y: u }, { x: $a, y: d }, { x: s, y: d }, { x: s, y: K }, { x: s, y: d }];
506
+ } else if (Yr) {
507
+ P = [{ x: v, y: u }, { x: T, y: u }, { x: s, y: u }, { x: s, y: K }, { x: s, y: d }];
508
+ var ra = Cr(s, u, K, D);
509
+ if (ra) {
510
+ var Wr = y(ra), aa = ra.width || C, Rr = Math.abs(v - Wr.x + a) <= Math.abs(v - Wr.x - aa - a) ? Wr.x - a : Wr.x + aa + a;
511
+ P = [{ x: v, y: u }, { x: T, y: u }, { x: Rr, y: u }, { x: Rr, y: d }, { x: s, y: d }, { x: s, y: K }, { x: s, y: d }];
512
512
  }
513
- var aa = Lr(T, s, u, H);
514
- if (aa) {
515
- var Gr = y(aa), Ea = aa.height || B, p = Math.abs(d - Gr.y + a) <= Math.abs(d - Gr.y - Ea - a) ? Gr.y - a : Gr.y + Ea + a;
516
- q = [{ x: v, y: u }, { x: T, y: u }, { x: T, y: p }, { x: s, y: p }, { x: s, y: K }, { x: s, y: d }];
513
+ var dr = Er(T, s, u, D);
514
+ if (dr) {
515
+ var ta = y(dr), La = dr.height || B, Sa = Math.abs(d - ta.y + a) <= Math.abs(d - ta.y - La - a) ? ta.y - a : ta.y + La + a;
516
+ P = [{ x: v, y: u }, { x: T, y: u }, { x: T, y: Sa }, { x: s, y: Sa }, { x: s, y: K }, { x: s, y: d }];
517
517
  }
518
518
  } else {
519
- q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: d }, { x: _, y: d }, { x: s, y: d }];
520
- var Ir = Lr(v, _, d, H);
521
- if (Ir) {
522
- var La = y(Ir), dr = Ir.height || B, Zr = Math.abs(u - La.y + a) <= Math.abs(u - La.y - dr - a) ? La.y - a : La.y + dr + a;
523
- q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: Zr }, { x: _, y: Zr }, { x: _, y: d }, { x: s, y: d }];
519
+ P = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: d }, { x: _, y: d }, { x: s, y: d }];
520
+ var ea = Er(v, _, d, D);
521
+ if (ea) {
522
+ var F = y(ea), oa = ea.height || B, dt = Math.abs(u - F.y + a) <= Math.abs(u - F.y - oa - a) ? F.y - a : F.y + oa + a;
523
+ P = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: dt }, { x: _, y: dt }, { x: _, y: d }, { x: s, y: d }];
524
524
  }
525
- var zr = Sr(v, Z, d, H);
526
- if (zr) {
527
- var yr = y(zr), Fa = zr.width || L, Ua = Math.abs(s - yr.x + a) <= Math.abs(s - yr.x - Fa - a) ? yr.x - a : yr.x + Fa + a;
528
- q = [{ x: v, y: u }, { x: v, y: Z }, { x: Ua, y: Z }, { x: Ua, y: d }, { x: _, y: d }, { x: s, y: d }];
525
+ var hr = Cr(v, Z, d, D);
526
+ if (hr) {
527
+ var yr = y(hr), Pr = hr.width || C, qr = Math.abs(s - yr.x + a) <= Math.abs(s - yr.x - Pr - a) ? yr.x - a : yr.x + Pr + a;
528
+ P = [{ x: v, y: u }, { x: v, y: Z }, { x: qr, y: Z }, { x: qr, y: d }, { x: _, y: d }, { x: s, y: d }];
529
529
  }
530
530
  }
531
- if (q) {
532
- for (var ta = [q[0]], xr = 1; xr < q.length; xr++) {
533
- var st = ta[ta.length - 1];
534
- (Math.abs(q[xr].x - st.x) > 0.1 || Math.abs(q[xr].y - st.y) > 0.1) && ta.push(q[xr]);
531
+ if (P) {
532
+ for (var la = [P[0]], Gr = 1; Gr < P.length; Gr++) {
533
+ var Ua = la[la.length - 1];
534
+ (Math.abs(P[Gr].x - Ua.x) > 0.1 || Math.abs(P[Gr].y - Ua.y) > 0.1) && la.push(P[Gr]);
535
535
  }
536
- l._routedPoints = ta, t = !0;
536
+ l._routedPoints = la, t = !0;
537
537
  }
538
538
  }
539
539
  }
540
540
  }
541
541
  }
542
- t && $();
542
+ t && Q();
543
543
  }
544
544
  }
545
- function Gt() {
546
- Vr && (Ie || (Ie = !0, Qe = !0, requestAnimationFrame(function() {
547
- Ie = !1;
545
+ function Zt() {
546
+ Ur && (Ze || (Ze = !0, $e = !0, requestAnimationFrame(function() {
547
+ Ze = !1;
548
548
  try {
549
- ti();
549
+ oi();
550
550
  } catch (a) {
551
551
  console.error("[worker] async routing error:", a);
552
552
  }
553
553
  })));
554
554
  }
555
- function Ft() {
555
+ function ct() {
556
556
  if (r) {
557
557
  var a = performance.now();
558
558
  r.clearRect(0, 0, fr, vr);
559
- var t = Ze * M.zoom;
559
+ var t = Ke * k.zoom;
560
560
  if (t > 2)
561
- if (Nr === "lines" && t >= 4 && t <= 512) {
562
- if ((Za || il !== t || fl !== Nr) && pl(t), ua && ll > 0) {
563
- var e = (M.x % t + t) % t, l = (M.y % t + t) % t;
561
+ if (cr === "lines" && t >= 4 && t <= 512) {
562
+ if ((ba || fl !== t || vl !== cr) && ai(t), ya && il > 0) {
563
+ var e = (k.x % t + t) % t, l = (k.y % t + t) % t;
564
564
  r.save(), r.translate(e, l);
565
- var i = r.createPattern(ua, "repeat");
565
+ var i = r.createPattern(ya, "repeat");
566
566
  i && (r.fillStyle = i, r.fillRect(-e, -l, fr, vr)), r.restore();
567
567
  }
568
568
  } else {
569
- var o = (M.x % t + t) % t, f = (M.y % t + t) % t, h = Kt || k.grid;
570
- if (Nr === "dots") {
571
- r.fillStyle = h;
572
- for (var x = da * M.zoom, n = o; n < fr; n += t)
573
- for (var g = f; g < vr; g += t)
574
- r.beginPath(), r.arc(Math.round(n), Math.round(g), x, 0, 6.2832), r.fill();
575
- } else if (Nr === "cross") {
576
- r.strokeStyle = h, r.lineWidth = da;
577
- var v = 3 * M.zoom;
569
+ var o = (k.x % t + t) % t, f = (k.y % t + t) % t, n = Jt || M.grid;
570
+ if (cr === "dots") {
571
+ r.fillStyle = n;
572
+ for (var g = xa * k.zoom, h = o; h < fr; h += t)
573
+ for (var x = f; x < vr; x += t)
574
+ r.beginPath(), r.arc(Math.round(h), Math.round(x), g, 0, 6.2832), r.fill();
575
+ } else if (cr === "cross") {
576
+ r.strokeStyle = n, r.lineWidth = xa;
577
+ var v = 3 * k.zoom;
578
578
  r.beginPath();
579
579
  for (var u = o; u < fr; u += t)
580
580
  for (var s = f; s < vr; s += t) {
@@ -583,452 +583,454 @@ function Ft() {
583
583
  }
584
584
  r.stroke();
585
585
  } else {
586
- var Z = Kt || k.grid;
587
- r.beginPath(), r.strokeStyle = Z, r.lineWidth = da * 0.5;
586
+ var Z = Jt || M.grid;
587
+ r.beginPath(), r.strokeStyle = Z, r.lineWidth = xa * 0.5;
588
588
  for (var _ = o; _ < fr; _ += t) {
589
589
  var K = Math.round(_) + 0.5;
590
590
  r.moveTo(K, 0), r.lineTo(K, vr);
591
591
  }
592
- for (var ar = f; ar < vr; ar += t) {
593
- var tr = Math.round(ar) + 0.5;
594
- r.moveTo(0, tr), r.lineTo(fr, tr);
592
+ for (var rr = f; rr < vr; rr += t) {
593
+ var ar = Math.round(rr) + 0.5;
594
+ r.moveTo(0, ar), r.lineTo(fr, ar);
595
595
  }
596
596
  r.stroke();
597
597
  }
598
598
  }
599
- r.beginPath(), r.arc(M.x, M.y, 4 * M.zoom, 0, 6.2832), r.fillStyle = k.origin, r.fill(), r.save(), r.translate(M.x, M.y), r.scale(M.zoom, M.zoom);
600
- var hr = 100, X = -M.x / M.zoom, Yr = -M.y / M.zoom, xa = X + fr / M.zoom, Xr = Yr + vr / M.zoom, H = X - hr, ga = Yr - hr, Ka = xa + hr, q = Xr + hr;
601
- if (Y.length > 0) {
602
- var P = jo(X, Yr, xa, Xr), sr = P.length, Ut = M.zoom > 0.15, ba = M.zoom > 0.3, Ma = M.zoom > 0.08 && sr < 200;
603
- if (Ma) {
604
- r.shadowColor = k.cardShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = k.cardBg, r.beginPath();
605
- for (var ka = 0; ka < sr; ka++) {
606
- var Cr = Y[P[ka]];
607
- r.roundRect(Cr.x, Cr.y, Cr.w, Cr.h, ot);
599
+ r.beginPath(), r.arc(Math.round(k.x), Math.round(k.y), 4 * k.zoom, 0, 6.2832), r.fillStyle = M.origin, r.fill();
600
+ var Tr = Math.round(k.x), nr = Math.round(k.y);
601
+ r.save(), r.translate(Tr, nr), r.scale(k.zoom, k.zoom);
602
+ var Or = 100, jr = -Tr / k.zoom, Lr = -nr / k.zoom, D = jr + fr / k.zoom, Yr = Lr + vr / k.zoom, Ja = jr - Or, P = Lr - Or, O = D + Or, ut = Yr + Or;
603
+ if (H.length > 0) {
604
+ var sr = Yo(jr, Lr, D, Yr), tr = sr.length, Qa = k.zoom > 0.15, st = k.zoom > 0.3, ka = k.zoom > 0.08 && tr < 200;
605
+ if (ka) {
606
+ r.shadowColor = M.cardShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = M.cardBg, r.beginPath();
607
+ for (var ma = 0; ma < tr; ma++) {
608
+ var Ta = H[sr[ma]];
609
+ r.roundRect(Ta.x, Ta.y, Ta.w, Ta.h, ot);
608
610
  }
609
611
  r.fill(), r.shadowColor = "transparent", r.shadowBlur = 0, r.shadowOffsetY = 0;
610
612
  }
611
- if (!Ma) {
612
- r.fillStyle = k.cardBg, r.beginPath();
613
- for (var ma = 0; ma < sr; ma++) {
614
- var Ta = Y[P[ma]];
615
- r.roundRect(Ta.x, Ta.y, Ta.w, Ta.h, ot);
613
+ if (!ka) {
614
+ r.fillStyle = M.cardBg, r.beginPath();
615
+ for (var Ra = 0; Ra < tr; Ra++) {
616
+ var Xr = H[sr[Ra]];
617
+ r.roundRect(Xr.x, Xr.y, Xr.w, Xr.h, ot);
616
618
  }
617
619
  r.fill();
618
620
  }
619
- r.strokeStyle = k.cardBorder, r.lineWidth = 0.5, r.beginPath();
620
- for (var Ra = 0; Ra < sr; Ra++) {
621
- var Hr = Y[P[Ra]];
622
- r.roundRect(Hr.x, Hr.y, Hr.w, Hr.h, ot);
621
+ r.strokeStyle = M.cardBorder, r.lineWidth = 0.5, r.beginPath();
622
+ for (var za = 0; za < tr; za++) {
623
+ var G = H[sr[za]];
624
+ r.roundRect(G.x, G.y, G.w, G.h, ot);
623
625
  }
624
626
  r.stroke();
625
- for (var pr = [{}, {}, {}, {}], b = 0; b < sr; b++) {
626
- var ut = P[b], Ja = ut % 4;
627
- pr[Ja].items || (pr[Ja].items = []), pr[Ja].items.push(Y[ut]);
627
+ for (var wa = [{}, {}, {}, {}], $a = 0; $a < tr; $a++) {
628
+ var Ba = sr[$a], Hr = Ba % 4;
629
+ wa[Hr].items || (wa[Hr].items = []), wa[Hr].items.push(H[Ba]);
628
630
  }
629
- for (var Wr = 0; Wr < 4; Wr++) {
630
- var Pr = pr[Wr].items;
631
- if (!(!Pr || Pr.length === 0)) {
632
- r.fillStyle = Nl[Wr], r.beginPath();
633
- for (var za = 0; za < Pr.length; za++) {
634
- var ra = Pr[za];
635
- r.roundRect(ra.x, ra.y, ra.w, 30, [ot, ot, 0, 0]);
631
+ for (var pr = 0; pr < 4; pr++) {
632
+ var Sr = wa[pr].items;
633
+ if (!(!Sr || Sr.length === 0)) {
634
+ r.fillStyle = Ol[pr], r.beginPath();
635
+ for (var Aa = 0; Aa < Sr.length; Aa++) {
636
+ var Fa = Sr[Aa];
637
+ r.roundRect(Fa.x, Fa.y, Fa.w, 30, [ot, ot, 0, 0]);
636
638
  }
637
639
  r.fill();
638
640
  }
639
641
  }
640
- if (Ut) {
641
- r.fillStyle = k.titleText, r.font = Dl;
642
- for (var wa = 0; wa < sr; wa++) {
643
- var Qa = Y[P[wa]];
644
- r.fillText(Qa.title, Qa.x + 12, Qa.y + 19);
642
+ if (Qa) {
643
+ r.fillStyle = M.titleText, r.font = jl;
644
+ for (var _a = 0; _a < tr; _a++) {
645
+ var Ea = H[sr[_a]];
646
+ r.fillText(Ea.title, Ea.x + 12, Ea.y + 19);
645
647
  }
646
- r.fillStyle = k.bodyText, r.font = Ol;
647
- for (var Ba = 0; Ba < sr; Ba++) {
648
- var Aa = Y[P[Ba]];
649
- r.fillText(Aa.body, Aa.x + 12, Aa.y + 52);
648
+ r.fillStyle = M.bodyText, r.font = Yl;
649
+ for (var Ca = 0; Ca < tr; Ca++) {
650
+ var ra = H[sr[Ca]];
651
+ r.fillText(ra.body, ra.x + 12, ra.y + 52);
650
652
  }
651
- if (ba) {
652
- r.fillStyle = k.coordText, r.font = jl;
653
- for (var _a = 0; _a < sr; _a++) {
654
- var qr = Y[P[_a]];
655
- r.fillText("(" + qr.x + ", " + qr.y + ")", qr.x + 12, qr.y + 75);
653
+ if (st) {
654
+ r.fillStyle = M.coordText, r.font = Xl;
655
+ for (var Wr = 0; Wr < tr; Wr++) {
656
+ var aa = H[sr[Wr]];
657
+ r.fillText("(" + aa.x + ", " + aa.y + ")", aa.x + 12, aa.y + 75);
656
658
  }
657
659
  }
658
660
  }
659
661
  }
660
- var nr = [], Rr = null;
662
+ var Rr = [], dr = null;
661
663
  if (W.length > 0)
662
- if (Rr = {}, W.length > 100)
663
- for (var $a = ol(H, ga, Ka, q), aa = 0; aa < $a.length; aa++) {
664
- var Gr = W[$a[aa]];
665
- Rr[Gr.id] = !0, Gr._customRendered || nr.push(Gr);
664
+ if (dr = {}, W.length > 100)
665
+ for (var ta = ll(Ja, P, O, ut), La = 0; La < ta.length; La++) {
666
+ var Sa = W[ta[La]];
667
+ dr[Sa.id] = !0, Sa._customRendered || Rr.push(Sa);
666
668
  }
667
669
  else
668
- for (var Ea = 0; Ea < W.length; Ea++) {
669
- var p = W[Ea];
670
- if (!p.hidden) {
671
- var Ir = p.width || L, La = p.height || B;
672
- y(p).x + Ir < H || y(p).x > Ka || y(p).y + La < ga || y(p).y > q || (Rr[p.id] = !0, p._customRendered || nr.push(p));
670
+ for (var ea = 0; ea < W.length; ea++) {
671
+ var F = W[ea];
672
+ if (!F.hidden) {
673
+ var oa = F.width || C, dt = F.height || B;
674
+ y(F).x + oa < Ja || y(F).x > O || y(F).y + dt < P || y(F).y > ut || (dr[F.id] = !0, F._customRendered || Rr.push(F));
673
675
  }
674
676
  }
675
- var dr = nr.length;
676
- if (C.length > 0 && W.length > 0) {
677
- let qt = function(cr, No) {
678
- if (cr.length) {
679
- r.fillStyle = No, r.beginPath();
680
- for (var Ce = 0; Ce < cr.length; Ce++) {
681
- var j = cr[Ce];
682
- r.moveTo(j.x, j.y), r.lineTo(j.x - j.size * Math.cos(j.angle - 0.5236), j.y - j.size * Math.sin(j.angle - 0.5236)), r.lineTo(j.x - j.size * Math.cos(j.angle + 0.5236), j.y - j.size * Math.sin(j.angle + 0.5236)), r.closePath();
677
+ var hr = Rr.length;
678
+ if (S.length > 0 && W.length > 0) {
679
+ let It = function(Fr, Do) {
680
+ if (Fr.length) {
681
+ r.fillStyle = Do, r.beginPath();
682
+ for (var We = 0; We < Fr.length; We++) {
683
+ var X = Fr[We];
684
+ r.moveTo(X.x, X.y), r.lineTo(X.x - X.size * Math.cos(X.angle - 0.5236), X.y - X.size * Math.sin(X.angle - 0.5236)), r.lineTo(X.x - X.size * Math.cos(X.angle + 0.5236), X.y - X.size * Math.sin(X.angle + 0.5236)), r.closePath();
683
685
  }
684
686
  r.fill();
685
687
  }
686
688
  };
687
- var ei = qt;
688
- $t && Hl();
689
- var Zr = null, zr = null, yr = null, Fa = [], Ua = [], ta = [], xr = [], st = M.zoom > 0.3, hl = M.zoom > 0.05, ea;
690
- if (Rr && W.length > 100) {
691
- var dt = {};
692
- ea = [];
693
- for (var nl in Rr) {
694
- var ct = Er[nl];
695
- if (ct)
696
- for (var Vt = 0; Vt < ct.length; Vt++) {
697
- var Nt = ct[Vt];
698
- dt[Nt] || (dt[Nt] = !0, ea.push(Nt));
689
+ var li = It;
690
+ Ut && ri();
691
+ var yr = null, Pr = null, qr = null, la = [], Gr = [], Ua = [], yt = [], hl = k.zoom > 0.3, ul = k.zoom > 0.05, ia;
692
+ if (dr && W.length > 100) {
693
+ var gt = {};
694
+ ia = [];
695
+ for (var sl in dr) {
696
+ var Vt = _r[sl];
697
+ if (Vt)
698
+ for (var Nt = 0; Nt < Vt.length; Nt++) {
699
+ var Dt = Vt[Nt];
700
+ gt[Dt] || (gt[Dt] = !0, ia.push(Dt));
699
701
  }
700
702
  }
701
- for (var rr = 0; rr < W.length; rr++) {
702
- var yt = W[rr];
703
- if ((yt.dragging || yt.selected) && !Rr[yt.id]) {
704
- var ca = Er[yt.id];
703
+ for (var p = 0; p < W.length; p++) {
704
+ var xt = W[p];
705
+ if ((xt.dragging || xt.selected) && !dr[xt.id]) {
706
+ var ca = _r[xt.id];
705
707
  if (ca)
706
708
  for (var Va = 0; Va < ca.length; Va++)
707
- dt[ca[Va]] || (dt[ca[Va]] = !0, ea.push(ca[Va]));
709
+ gt[ca[Va]] || (gt[ca[Va]] = !0, ia.push(ca[Va]));
708
710
  }
709
711
  }
710
712
  } else {
711
- ea = [];
712
- for (var Dt = 0; Dt < C.length; Dt++) ea.push(Dt);
713
+ ia = [];
714
+ for (var Ot = 0; Ot < S.length; Ot++) ia.push(Ot);
713
715
  }
714
- for (var Ot = 0; Ot < ea.length; Ot++) {
715
- var D = C[ea[Ot]], oa = Yo(D.source), la = Yo(D.target);
716
- if (!(!oa || !la) && !(oa.hidden || la.hidden) && !D._customRendered) {
717
- var xt = bt(oa, "source", D.sourceHandle), gt = bt(la, "target", D.targetHandle), A = xt.x, w = xt.y, R = gt.x, z = gt.y, gr = D.type || "default", Fe = D.selected, Ue = D.animated, J;
718
- Fe ? (zr || (zr = new Path2D()), J = zr) : Ue ? (yr || (yr = new Path2D()), J = yr) : (Zr || (Zr = new Path2D()), J = Zr);
719
- var Q = D._routedPoints;
720
- if (Q && Q.length >= 2)
721
- al(J, Q);
716
+ for (var jt = 0; jt < ia.length; jt++) {
717
+ var j = S[ia[jt]], fa = Xo(j.source), va = Xo(j.target);
718
+ if (!(!fa || !va) && !(fa.hidden || va.hidden) && !j._customRendered) {
719
+ var Mt = Qt(fa, "source", j.sourceHandle), kt = Qt(va, "target", j.targetHandle), A = Mt.x, w = Mt.y, R = kt.x, z = kt.y, gr = j.type || "default", Ue = j.selected, ce = j.animated, b;
720
+ Ue ? (Pr || (Pr = new Path2D()), b = Pr) : ce ? (qr || (qr = new Path2D()), b = qr) : (yr || (yr = new Path2D()), b = yr);
721
+ var J = j._routedPoints;
722
+ if (J && J.length >= 2)
723
+ tl(b, J);
722
724
  else if (gr === "straight")
723
- J.moveTo(A, w), J.lineTo(R, z);
725
+ b.moveTo(A, w), b.lineTo(R, z);
724
726
  else if (gr === "step" || gr === "smoothstep")
725
727
  try {
726
- var er = xt.position || "right", Sa = gt.position || "left", m = 20, U = A, O = w, c = R, or = z;
727
- er === "right" ? U += m : er === "left" ? U -= m : er === "bottom" ? O += m : er === "top" && (O -= m), Sa === "right" ? c += m : Sa === "left" ? c -= m : Sa === "bottom" ? or += m : Sa === "top" && (or -= m);
728
- var Mt = y(oa), kt = y(la), Na = oa.width || L, Da = oa.height || B, ce = la.width || L, Ve = la.height || B, jt = er === "left" || er === "right", Ne = Sa === "left" || Sa === "right", Yt = {};
729
- Yt[D.source] = !0, Yt[D.target] = !0;
730
- var lr = vl(
728
+ var er = Mt.position || "right", Wa = kt.position || "left", m = 20, U = A, Y = w, c = R, or = z;
729
+ er === "right" ? U += m : er === "left" ? U -= m : er === "bottom" ? Y += m : er === "top" && (Y -= m), Wa === "right" ? c += m : Wa === "left" ? c -= m : Wa === "bottom" ? or += m : Wa === "top" && (or -= m);
730
+ var mt = y(fa), Tt = y(va), Na = fa.width || C, Da = fa.height || B, Ve = va.width || C, Ne = va.height || B, Yt = er === "left" || er === "right", De = Wa === "left" || Wa === "right", Xt = {};
731
+ Xt[j.source] = !0, Xt[j.target] = !0;
732
+ var lr = nl(
731
733
  Math.min(A, R) - Na,
732
734
  Math.min(w, z) - Da,
733
- Math.max(A, R) + ce,
734
- Math.max(w, z) + Ve,
735
- Yt
735
+ Math.max(A, R) + Ve,
736
+ Math.max(w, z) + Ne,
737
+ Xt
736
738
  );
737
- lr.push(oa), lr.push(la);
739
+ lr.push(fa), lr.push(va);
738
740
  var I = [];
739
- if (jt && Ne) {
740
- var V, ul = er === "right" && U < c, sl = er === "left" && U > c;
741
- if (ul || sl) {
741
+ if (Yt && De) {
742
+ var V, dl = er === "right" && U < c, yl = er === "left" && U > c;
743
+ if (dl || yl) {
742
744
  V = (U + c) / 2;
743
- var Xt = Sr(V, w, z, lr);
744
- if (Xt) {
745
- var Ht = y(Xt), Ir = Xt.width || L;
746
- V < Ht.x + Ir / 2 ? V = Ht.x - m : V = Ht.x + Ir + m;
745
+ var Ht = Cr(V, w, z, lr);
746
+ if (Ht) {
747
+ var pt = y(Ht), oa = Ht.width || C;
748
+ V < pt.x + oa / 2 ? V = pt.x - m : V = pt.x + oa + m;
747
749
  }
748
750
  } else
749
- er === "right" ? V = Math.max(Mt.x + Na, kt.x + ce) + m : V = Math.min(Mt.x, kt.x) - m;
751
+ er === "right" ? V = Math.max(mt.x + Na, Tt.x + Ve) + m : V = Math.min(mt.x, Tt.x) - m;
750
752
  I = [{ x: U, y: w }, { x: V, y: w }, { x: V, y: z }, { x: c, y: z }];
751
- var pt = Lr(V, c, z, lr);
752
- if (pt) {
753
- var De = y(pt), dl = pt.height || B, Oe = De.y - m, je = De.y + dl + m, Ye = Math.abs(w - Oe) <= Math.abs(w - je) ? Oe : je;
753
+ var re = Er(V, c, z, lr);
754
+ if (re) {
755
+ var Oe = y(re), gl = re.height || B, je = Oe.y - m, Ye = Oe.y + gl + m, Xe = Math.abs(w - je) <= Math.abs(w - Ye) ? je : Ye;
754
756
  I = [
755
757
  { x: U, y: w },
756
758
  { x: V, y: w },
757
- { x: V, y: Ye },
758
- { x: c, y: Ye },
759
+ { x: V, y: Xe },
760
+ { x: c, y: Xe },
759
761
  { x: c, y: z }
760
762
  ];
761
763
  }
762
- var re = Lr(U, V, w, lr);
763
- if (re) {
764
- var Xe = y(re), yl = re.height || B, He = Xe.y - m, pe = Xe.y + yl + m, ro = Math.abs(z - He) <= Math.abs(z - pe) ? He : pe;
764
+ var ae = Er(U, V, w, lr);
765
+ if (ae) {
766
+ var He = y(ae), xl = ae.height || B, pe = He.y - m, ro = He.y + xl + m, ao = Math.abs(z - pe) <= Math.abs(z - ro) ? pe : ro;
765
767
  I.splice(
766
768
  1,
767
769
  0,
768
- { x: U, y: ro },
769
- { x: V, y: ro }
770
- ), I = I.filter(function(cr, No) {
771
- return !(Math.abs(cr.x - V) < 1 && Math.abs(cr.y - w) < 1);
770
+ { x: U, y: ao },
771
+ { x: V, y: ao }
772
+ ), I = I.filter(function(Fr, Do) {
773
+ return !(Math.abs(Fr.x - V) < 1 && Math.abs(Fr.y - w) < 1);
772
774
  }), I.splice(0, 0, { x: U, y: w });
773
775
  }
774
- } else if (!jt && !Ne) {
775
- var N, xl = er === "bottom" && O < or, gl = er === "top" && O > or;
776
- if (xl || gl) {
777
- N = (O + or) / 2;
778
- var ae = Lr(A, R, N, lr);
779
- if (ae) {
780
- var te = y(ae), ao = ae.height || B;
781
- N < te.y + ao / 2 ? N = te.y - m : N = te.y + ao + m;
776
+ } else if (!Yt && !De) {
777
+ var N, Ml = er === "bottom" && Y < or, kl = er === "top" && Y > or;
778
+ if (Ml || kl) {
779
+ N = (Y + or) / 2;
780
+ var te = Er(A, R, N, lr);
781
+ if (te) {
782
+ var ee = y(te), to = te.height || B;
783
+ N < ee.y + to / 2 ? N = ee.y - m : N = ee.y + to + m;
782
784
  }
783
785
  } else
784
- er === "bottom" ? N = Math.max(Mt.y + Da, kt.y + Ve) + m : N = Math.min(Mt.y, kt.y) - m;
785
- I = [{ x: A, y: O }, { x: A, y: N }, { x: R, y: N }, { x: R, y: or }];
786
- var ee = Sr(A, O, N, lr);
787
- if (ee) {
788
- var to = y(ee), Ml = ee.width || L, eo = to.x - m, oo = to.x + Ml + m, lo = Math.abs(R - eo) <= Math.abs(R - oo) ? eo : oo;
786
+ er === "bottom" ? N = Math.max(mt.y + Da, Tt.y + Ne) + m : N = Math.min(mt.y, Tt.y) - m;
787
+ I = [{ x: A, y: Y }, { x: A, y: N }, { x: R, y: N }, { x: R, y: or }];
788
+ var oe = Cr(A, Y, N, lr);
789
+ if (oe) {
790
+ var eo = y(oe), ml = oe.width || C, oo = eo.x - m, lo = eo.x + ml + m, io = Math.abs(R - oo) <= Math.abs(R - lo) ? oo : lo;
789
791
  I = [
790
- { x: A, y: O },
791
- { x: lo, y: O },
792
- { x: lo, y: N },
792
+ { x: A, y: Y },
793
+ { x: io, y: Y },
794
+ { x: io, y: N },
793
795
  { x: R, y: N },
794
796
  { x: R, y: or }
795
797
  ];
796
798
  }
797
- var oe = Sr(R, N, or, lr);
798
- if (oe) {
799
- var io = y(oe), kl = oe.height || B, fo = io.y - m, vo = io.y + kl + m, ml = Math.abs(N - fo) <= Math.abs(N - vo) ? fo : vo;
799
+ var le = Cr(R, N, or, lr);
800
+ if (le) {
801
+ var fo = y(le), Tl = le.height || B, vo = fo.y - m, no = fo.y + Tl + m, Rl = Math.abs(N - vo) <= Math.abs(N - no) ? vo : no;
800
802
  I.splice(
801
803
  I.length - 1,
802
804
  0,
803
- { x: c, y: ml }
805
+ { x: c, y: Rl }
804
806
  );
805
807
  }
806
- } else if (jt) {
808
+ } else if (Yt) {
807
809
  I = [{ x: U, y: w }, { x: R, y: w }, { x: R, y: or }];
808
- var le = Sr(R, w, or, lr);
809
- if (le) {
810
- var ho = y(le), Tl = le.width || L, no = ho.x - m, uo = ho.x + Tl + m, so = Math.abs(A - no) <= Math.abs(A - uo) ? no : uo;
811
- I = [{ x: U, y: w }, { x: so, y: w }, { x: so, y: z }, { x: R, y: z }, { x: R, y: or }];
812
- }
813
- var ie = Lr(U, R, w, lr);
810
+ var ie = Cr(R, w, or, lr);
814
811
  if (ie) {
815
- var yo = y(ie), Rl = ie.height || B, xo = yo.y - m, go = yo.y + Rl + m, Mo = Math.abs(z - xo) <= Math.abs(z - go) ? xo : go;
816
- I = [{ x: U, y: w }, { x: U, y: Mo }, { x: R, y: Mo }, { x: R, y: or }];
812
+ var ho = y(ie), zl = ie.width || C, uo = ho.x - m, so = ho.x + zl + m, yo = Math.abs(A - uo) <= Math.abs(A - so) ? uo : so;
813
+ I = [{ x: U, y: w }, { x: yo, y: w }, { x: yo, y: z }, { x: R, y: z }, { x: R, y: or }];
817
814
  }
818
- } else {
819
- I = [{ x: A, y: O }, { x: A, y: z }, { x: c, y: z }];
820
- var fe = Lr(A, c, z, lr);
815
+ var fe = Er(U, R, w, lr);
821
816
  if (fe) {
822
- var ko = y(fe), zl = fe.height || B, mo = ko.y - m, To = ko.y + zl + m, Ro = Math.abs(w - mo) <= Math.abs(w - To) ? mo : To;
823
- I = [{ x: A, y: O }, { x: A, y: Ro }, { x: c, y: Ro }, { x: c, y: z }];
817
+ var go = y(fe), wl = fe.height || B, xo = go.y - m, Mo = go.y + wl + m, ko = Math.abs(z - xo) <= Math.abs(z - Mo) ? xo : Mo;
818
+ I = [{ x: U, y: w }, { x: U, y: ko }, { x: R, y: ko }, { x: R, y: or }];
824
819
  }
825
- var ve = Sr(A, O, z, lr);
820
+ } else {
821
+ I = [{ x: A, y: Y }, { x: A, y: z }, { x: c, y: z }];
822
+ var ve = Er(A, c, z, lr);
826
823
  if (ve) {
827
- var zo = y(ve), wl = ve.width || L, wo = zo.x - m, Bo = zo.x + wl + m, Ao = Math.abs(R - wo) <= Math.abs(R - Bo) ? wo : Bo;
828
- I = [{ x: A, y: O }, { x: Ao, y: O }, { x: Ao, y: z }, { x: c, y: z }];
824
+ var mo = y(ve), Bl = ve.height || B, To = mo.y - m, Ro = mo.y + Bl + m, zo = Math.abs(w - To) <= Math.abs(w - Ro) ? To : Ro;
825
+ I = [{ x: A, y: Y }, { x: A, y: zo }, { x: c, y: zo }, { x: c, y: z }];
826
+ }
827
+ var ne = Cr(A, Y, z, lr);
828
+ if (ne) {
829
+ var wo = y(ne), Al = ne.width || C, Bo = wo.x - m, Ao = wo.x + Al + m, _o = Math.abs(R - Bo) <= Math.abs(R - Ao) ? Bo : Ao;
830
+ I = [{ x: A, y: Y }, { x: _o, y: Y }, { x: _o, y: z }, { x: c, y: z }];
829
831
  }
830
832
  }
831
- for (var ia = [{ x: A, y: w }], he = 0; he < I.length; he++) ia.push(I[he]);
832
- ia.push({ x: R, y: z });
833
- for (var ir = [ia[0]], Oa = 1; Oa < ia.length; Oa++) {
833
+ for (var na = [{ x: A, y: w }], he = 0; he < I.length; he++) na.push(I[he]);
834
+ na.push({ x: R, y: z });
835
+ for (var ir = [na[0]], Oa = 1; Oa < na.length; Oa++) {
834
836
  var ja = ir[ir.length - 1];
835
- (Math.abs(ia[Oa].x - ja.x) > 0.1 || Math.abs(ia[Oa].y - ja.y) > 0.1) && ir.push(ia[Oa]);
837
+ (Math.abs(na[Oa].x - ja.x) > 0.1 || Math.abs(na[Oa].y - ja.y) > 0.1) && ir.push(na[Oa]);
836
838
  }
837
- var _o = gr === "smoothstep" ? 8 : 0;
838
- J.moveTo(ir[0].x, ir[0].y);
839
- for (var rr = 1; rr < ir.length; rr++)
840
- if (_o > 0 && rr > 0 && rr < ir.length - 1) {
841
- var wr = ir[rr - 1], S = ir[rr], Kr = ir[rr + 1];
842
- if (Math.abs(wr.x - S.x) < 0.5 && Math.abs(S.x - Kr.x) < 0.5 || Math.abs(wr.y - S.y) < 0.5 && Math.abs(S.y - Kr.y) < 0.5)
843
- J.lineTo(S.x, S.y);
839
+ var Eo = gr === "smoothstep" ? 8 : 0;
840
+ b.moveTo(ir[0].x, ir[0].y);
841
+ for (var p = 1; p < ir.length; p++)
842
+ if (Eo > 0 && p > 0 && p < ir.length - 1) {
843
+ var zr = ir[p - 1], L = ir[p], Ir = ir[p + 1];
844
+ if (Math.abs(zr.x - L.x) < 0.5 && Math.abs(L.x - Ir.x) < 0.5 || Math.abs(zr.y - L.y) < 0.5 && Math.abs(L.y - Ir.y) < 0.5)
845
+ b.lineTo(L.x, L.y);
844
846
  else {
845
- var mt = Math.min(Math.hypot(wr.x - S.x, wr.y - S.y) / 2, Math.hypot(S.x - Kr.x, S.y - Kr.y) / 2, _o);
846
- Math.abs(wr.y - S.y) < 0.5 ? (J.lineTo(S.x + (wr.x < Kr.x ? -1 : 1) * mt, S.y), J.quadraticCurveTo(S.x, S.y, S.x, S.y + (wr.y < Kr.y ? 1 : -1) * mt)) : (J.lineTo(S.x, S.y + (wr.y < Kr.y ? -1 : 1) * mt), J.quadraticCurveTo(S.x, S.y, S.x + (wr.x < Kr.x ? 1 : -1) * mt, S.y));
847
+ var Rt = Math.min(Math.hypot(zr.x - L.x, zr.y - L.y) / 2, Math.hypot(L.x - Ir.x, L.y - Ir.y) / 2, Eo);
848
+ Math.abs(zr.y - L.y) < 0.5 ? (b.lineTo(L.x + (zr.x < Ir.x ? -1 : 1) * Rt, L.y), b.quadraticCurveTo(L.x, L.y, L.x, L.y + (zr.y < Ir.y ? 1 : -1) * Rt)) : (b.lineTo(L.x, L.y + (zr.y < Ir.y ? -1 : 1) * Rt), b.quadraticCurveTo(L.x, L.y, L.x + (zr.x < Ir.x ? 1 : -1) * Rt, L.y));
847
849
  }
848
850
  } else
849
- J.lineTo(ir[rr].x, ir[rr].y);
850
- } catch (cr) {
851
- console.error("[worker] smoothstep error:", cr, "edge:", D.id);
851
+ b.lineTo(ir[p].x, ir[p].y);
852
+ } catch (Fr) {
853
+ console.error("[worker] smoothstep error:", Fr, "edge:", j.id);
852
854
  }
853
855
  else {
854
- var br = xt.position || "right", Jr = gt.position || "left", Qr = 20, Ya = A, Tt = w, Xa = R, Rt = z;
855
- br === "right" ? Ya += Qr : br === "left" ? Ya -= Qr : br === "bottom" ? Tt += Qr : br === "top" && (Tt -= Qr), Jr === "right" ? Xa += Qr : Jr === "left" ? Xa -= Qr : Jr === "bottom" ? Rt += Qr : Jr === "top" && (Rt -= Qr);
856
- var Bl = Math.abs(Xa - Ya), $r = Math.max(50, Bl * 0.5), Al = Ya + (br === "left" ? -$r : br === "right" ? $r : 0), _l = Tt + (br === "top" ? -$r : br === "bottom" ? $r : 0), El = Xa + (Jr === "left" ? -$r : Jr === "right" ? $r : 0), Ll = Rt + (Jr === "top" ? -$r : Jr === "bottom" ? $r : 0);
857
- J.moveTo(A, w), J.lineTo(Ya, Tt), J.bezierCurveTo(Al, _l, El, Ll, Xa, Rt), J.lineTo(R, z);
856
+ var Zr = Mt.position || "right", Kr = kt.position || "left", br = 20, Ya = A, zt = w, Xa = R, wt = z;
857
+ Zr === "right" ? Ya += br : Zr === "left" ? Ya -= br : Zr === "bottom" ? zt += br : Zr === "top" && (zt -= br), Kr === "right" ? Xa += br : Kr === "left" ? Xa -= br : Kr === "bottom" ? wt += br : Kr === "top" && (wt -= br);
858
+ var _l = Math.abs(Xa - Ya), Jr = Math.max(50, _l * 0.5), El = Ya + (Zr === "left" ? -Jr : Zr === "right" ? Jr : 0), Cl = zt + (Zr === "top" ? -Jr : Zr === "bottom" ? Jr : 0), Ll = Xa + (Kr === "left" ? -Jr : Kr === "right" ? Jr : 0), Sl = wt + (Kr === "top" ? -Jr : Kr === "bottom" ? Jr : 0);
859
+ b.moveTo(A, w), b.lineTo(Ya, zt), b.bezierCurveTo(El, Cl, Ll, Sl, Xa, wt), b.lineTo(R, z);
858
860
  }
859
- if (hl) {
860
- var Sl = 8, Ha;
861
- if (Q && Q.length >= 2) {
862
- var ja = Q[Q.length - 1], Eo = Q[Q.length - 2];
863
- Ha = Math.atan2(ja.y - Eo.y, ja.x - Eo.x);
861
+ if (ul) {
862
+ var Wl = 8, Ha;
863
+ if (J && J.length >= 2) {
864
+ var ja = J[J.length - 1], Co = J[J.length - 2];
865
+ Ha = Math.atan2(ja.y - Co.y, ja.x - Co.x);
864
866
  } else if (gr === "straight")
865
867
  Ha = Math.atan2(z - w, R - A);
866
868
  else if (gr === "step" || gr === "smoothstep")
867
869
  Ha = 0;
868
870
  else {
869
- var Lo = Je(A, w, R, z);
871
+ var Lo = Qe(A, w, R, z);
870
872
  Ha = Math.atan2(z - Lo.cp2y, R - Lo.cp2x);
871
873
  }
872
- var So = Q && Q.length >= 2 ? Q[Q.length - 1] : { x: R, y: z }, ne = { x: So.x, y: So.y, angle: Ha, size: Sl };
873
- Fe ? Ua.push(ne) : Ue ? ta.push(ne) : Fa.push(ne);
874
+ var So = J && J.length >= 2 ? J[J.length - 1] : { x: R, y: z }, ue = { x: So.x, y: So.y, angle: Ha, size: Wl };
875
+ Ue ? Gr.push(ue) : ce ? Ua.push(ue) : la.push(ue);
874
876
  }
875
- if (st && D.label) {
877
+ if (hl && j.label) {
876
878
  var pa;
877
- Q && Q.length >= 2 ? pa = ri(Q) : gr === "straight" || gr === "step" || gr === "smoothstep" ? pa = { x: (A + R) / 2, y: (w + z) / 2 } : pa = ai(A, w, R, z), xr.push({ text: D.label, x: pa.x, y: pa.y });
879
+ J && J.length >= 2 ? pa = ti(J) : gr === "straight" || gr === "step" || gr === "smoothstep" ? pa = { x: (A + R) / 2, y: (w + z) / 2 } : pa = ei(A, w, R, z), yt.push({ text: j.label, x: pa.x, y: pa.y });
878
880
  }
879
881
  }
880
882
  }
881
- if (Zr && (r.strokeStyle = k.edgeStroke, r.lineWidth = 1.5, r.setLineDash([]), r.stroke(Zr)), yr && (r.strokeStyle = k.edgeAnimated, r.lineWidth = 1.5, r.setLineDash([5, 5]), r.lineDashOffset = -be, r.stroke(yr), r.setLineDash([])), zr && (r.strokeStyle = k.edgeSelected, r.lineWidth = 2.5, r.setLineDash([]), r.stroke(zr)), qt(Fa, k.edgeStroke), qt(ta, k.edgeAnimated), qt(Ua, k.edgeSelected), xr.length > 0) {
882
- r.font = Yl, r.textAlign = "center", r.textBaseline = "middle";
883
- for (var ue = 0; ue < xr.length; ue++) {
884
- var Ca = xr[ue], Cl = r.measureText(Ca.text), Co = Cl.width + 12;
885
- r.fillStyle = F ? "#2a2a2a" : "#ffffff", r.fillRect(Ca.x - Co / 2, Ca.y - 9, Co, 18), r.fillStyle = k.nodeText, r.fillText(Ca.text, Ca.x, Ca.y);
883
+ if (yr && (r.strokeStyle = M.edgeStroke, r.lineWidth = 1.5, r.setLineDash([]), r.stroke(yr)), qr && (r.strokeStyle = M.edgeAnimated, r.lineWidth = 1.5, r.setLineDash([5, 5]), r.lineDashOffset = -Je, r.stroke(qr), r.setLineDash([])), Pr && (r.strokeStyle = M.edgeSelected, r.lineWidth = 2.5, r.setLineDash([]), r.stroke(Pr)), It(la, M.edgeStroke), It(Ua, M.edgeAnimated), It(Gr, M.edgeSelected), yt.length > 0) {
884
+ r.font = Hl, r.textAlign = "center", r.textBaseline = "middle";
885
+ for (var se = 0; se < yt.length; se++) {
886
+ var Pa = yt[se], Pl = r.measureText(Pa.text), Wo = Pl.width + 12;
887
+ r.fillStyle = $ ? "#2a2a2a" : "#ffffff", r.fillRect(Pa.x - Wo / 2, Pa.y - 9, Wo, 18), r.fillStyle = M.nodeText, r.fillText(Pa.text, Pa.x, Pa.y);
886
888
  }
887
889
  r.textAlign = "start", r.textBaseline = "alphabetic";
888
890
  }
889
891
  }
890
892
  if (lt) {
891
- r.beginPath(), r.strokeStyle = k.connectionLine, r.lineWidth = 2, r.setLineDash([6, 4]);
892
- var se = lt._routedPoints;
893
- if (se && se.length >= 2) {
894
- var Wo = new Path2D();
895
- al(Wo, se), r.stroke(Wo);
893
+ r.beginPath(), r.strokeStyle = M.connectionLine, r.lineWidth = 2, r.setLineDash([6, 4]);
894
+ var de = lt._routedPoints;
895
+ if (de && de.length >= 2) {
896
+ var Po = new Path2D();
897
+ tl(Po, de), r.stroke(Po);
896
898
  } else {
897
- var zt = lt.from, wt = lt.to, Bt = Je(zt.x, zt.y, wt.x, wt.y);
898
- r.moveTo(zt.x, zt.y), r.bezierCurveTo(Bt.cp1x, Bt.cp1y, Bt.cp2x, Bt.cp2y, wt.x, wt.y), r.stroke();
899
+ var Bt = lt.from, At = lt.to, _t = Qe(Bt.x, Bt.y, At.x, At.y);
900
+ r.moveTo(Bt.x, Bt.y), r.bezierCurveTo(_t.cp1x, _t.cp1y, _t.cp2x, _t.cp2y, At.x, At.y), r.stroke();
899
901
  }
900
902
  r.setLineDash([]);
901
903
  }
902
- if (Tr) {
903
- var Po = Math.min(Tr.startWorld.x, Tr.endWorld.x), qo = Math.min(Tr.startWorld.y, Tr.endWorld.y), Na = Math.abs(Tr.endWorld.x - Tr.startWorld.x), Da = Math.abs(Tr.endWorld.y - Tr.startWorld.y);
904
- r.fillStyle = F ? "rgba(59,130,246,0.08)" : "rgba(59,130,246,0.06)", r.fillRect(Po, qo, Na, Da), r.strokeStyle = "#3b82f6", r.lineWidth = 1 / M.zoom, r.setLineDash([]), r.strokeRect(Po, qo, Na, Da);
904
+ if (mr) {
905
+ var qo = Math.min(mr.startWorld.x, mr.endWorld.x), Go = Math.min(mr.startWorld.y, mr.endWorld.y), Na = Math.abs(mr.endWorld.x - mr.startWorld.x), Da = Math.abs(mr.endWorld.y - mr.startWorld.y);
906
+ r.fillStyle = $ ? "rgba(59,130,246,0.08)" : "rgba(59,130,246,0.06)", r.fillRect(qo, Go, Na, Da), r.strokeStyle = "#3b82f6", r.lineWidth = 1 / k.zoom, r.setLineDash([]), r.strokeRect(qo, Go, Na, Da);
905
907
  }
906
- if (dr > 0) {
907
- var Go = Ia > 0, fa = M.zoom > 0.12 && (M.zoom > 0.25 || dr < 500), de = !Go && M.zoom > 0.08 && dr < 200, Wl = !Go && M.zoom > 0.2 && dr < 300, Pl = Object.keys(It).length > 0 || Object.keys(it).length > 0 || Object.keys(Zt).length > 0, Fr = nr, At = [], _t = [];
908
- if (Pl) {
909
- Fr = [];
910
- for (var ye = 0; ye < dr; ye++) {
911
- var Ur = nr[ye];
912
- it[Ur.id] || Ur.type && It[Ur.type] ? At.push(Ur) : Ur.type && Zt[Ur.type] ? _t.push(Ur) : Fr.push(Ur);
908
+ if (hr > 0) {
909
+ var Io = Ka > 0, ha = k.zoom > 0.12 && (k.zoom > 0.25 || hr < 500), ye = !Io && k.zoom > 0.08 && hr < 200, ql = !Io && k.zoom > 0.2 && hr < 300, Gl = Object.keys(Kt).length > 0 || Object.keys(it).length > 0 || Object.keys(bt).length > 0, Qr = Rr, Et = [], Ct = [];
910
+ if (Gl) {
911
+ Qr = [];
912
+ for (var ge = 0; ge < hr; ge++) {
913
+ var $r = Rr[ge];
914
+ it[$r.id] || $r.type && Kt[$r.type] ? Et.push($r) : $r.type && bt[$r.type] ? Ct.push($r) : Qr.push($r);
913
915
  }
914
916
  }
915
- var rt = Fr.length;
916
- if (de) {
917
- r.shadowColor = k.nodeShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = k.nodeBg, r.beginPath();
917
+ var rt = Qr.length;
918
+ if (ye) {
919
+ r.shadowColor = M.nodeShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = M.nodeBg, r.beginPath();
918
920
  for (var xe = 0; xe < rt; xe++) {
919
- var Et = Fr[xe];
920
- r.roundRect(y(Et).x, y(Et).y, Et.width || L, Et.height || B, Ga);
921
+ var Lt = Qr[xe];
922
+ r.roundRect(y(Lt).x, y(Lt).y, Lt.width || C, Lt.height || B, Za);
921
923
  }
922
924
  r.fill(), r.shadowColor = "transparent", r.shadowBlur = 0, r.shadowOffsetY = 0;
923
925
  }
924
- if (!de) {
925
- r.fillStyle = k.nodeBg, r.beginPath();
926
- for (var ge = 0; ge < rt; ge++) {
927
- var Lt = Fr[ge];
928
- r.roundRect(y(Lt).x, y(Lt).y, Lt.width || L, Lt.height || B, Ga);
926
+ if (!ye) {
927
+ r.fillStyle = M.nodeBg, r.beginPath();
928
+ for (var Me = 0; Me < rt; Me++) {
929
+ var St = Qr[Me];
930
+ r.roundRect(y(St).x, y(St).y, St.width || C, St.height || B, Za);
929
931
  }
930
932
  r.fill();
931
933
  }
932
- r.strokeStyle = k.nodeBorder, r.lineWidth = 1, r.beginPath();
933
- for (var Me = 0; Me < rt; Me++) {
934
- var at = Fr[Me];
935
- at.selected || r.roundRect(y(at).x, y(at).y, at.width || L, at.height || B, Ga);
934
+ r.strokeStyle = M.nodeBorder, r.lineWidth = 1, r.beginPath();
935
+ for (var ke = 0; ke < rt; ke++) {
936
+ var at = Qr[ke];
937
+ at.selected || r.roundRect(y(at).x, y(at).y, at.width || C, at.height || B, Za);
936
938
  }
937
939
  r.stroke();
938
- var Io = !1;
939
- r.strokeStyle = k.nodeSelectedBorder, r.lineWidth = 2, r.beginPath();
940
- for (var ke = 0; ke < rt; ke++) {
941
- var tt = Fr[ke];
942
- tt.selected && (Io = !0, r.roundRect(y(tt).x, y(tt).y, tt.width || L, tt.height || B, Ga));
940
+ var Zo = !1;
941
+ r.strokeStyle = M.nodeSelectedBorder, r.lineWidth = 2, r.beginPath();
942
+ for (var me = 0; me < rt; me++) {
943
+ var tt = Qr[me];
944
+ tt.selected && (Zo = !0, r.roundRect(y(tt).x, y(tt).y, tt.width || C, tt.height || B, Za));
943
945
  }
944
- if (Io && r.stroke(), fa) {
945
- r.fillStyle = k.nodeText, r.font = Oo, r.textAlign = "center", r.textBaseline = "middle";
946
- for (var me = 0; me < rt; me++) {
947
- var va = Fr[me];
948
- if (!(!va.data || !va.data.label)) {
949
- var Zo = va.width || L, ql = va.height || B;
950
- r.fillText(va.data.label, y(va).x + Zo / 2, y(va).y + ql / 2, Zo - 24);
946
+ if (Zo && r.stroke(), ha) {
947
+ r.fillStyle = M.nodeText, r.font = jo, r.textAlign = "center", r.textBaseline = "middle";
948
+ for (var Te = 0; Te < rt; Te++) {
949
+ var ua = Qr[Te];
950
+ if (!(!ua.data || !ua.data.label)) {
951
+ var Ko = ua.width || C, Il = ua.height || B;
952
+ r.fillText(ua.data.label, y(ua).x + Ko / 2, y(ua).y + Il / 2, Ko - 24);
951
953
  }
952
954
  }
953
955
  r.textAlign = "start", r.textBaseline = "alphabetic";
954
956
  }
955
- for (var Te = 0; Te < At.length; Te++) {
956
- var Mr = At[Te], Wa = y(Mr), St = Mr.width || L, Re = Mr.height || B, Ko = it[Mr.id] && tl[it[Mr.id]] || It[Mr.type];
957
- Ko && r.drawImage(Ko, Wa.x, Wa.y, St, Re), fa && Mr.data && Mr.data.label && (r.fillStyle = k.nodeText, r.font = Oo, r.textAlign = "center", r.textBaseline = "middle", r.fillText(Mr.data.label, Wa.x + St / 2, Wa.y + Re / 2, St - 24)), Mr.selected && (r.strokeStyle = k.nodeSelectedBorder, r.lineWidth = 2, r.beginPath(), r.roundRect(Wa.x, Wa.y, St, Re, Ga), r.stroke());
957
+ for (var Re = 0; Re < Et.length; Re++) {
958
+ var xr = Et[Re], qa = y(xr), Wt = xr.width || C, ze = xr.height || B, bo = it[xr.id] && el[it[xr.id]] || Kt[xr.type];
959
+ bo && r.drawImage(bo, qa.x, qa.y, Wt, ze), ha && xr.data && xr.data.label && (r.fillStyle = M.nodeText, r.font = jo, r.textAlign = "center", r.textBaseline = "middle", r.fillText(xr.data.label, qa.x + Wt / 2, qa.y + ze / 2, Wt - 24)), xr.selected && (r.strokeStyle = M.nodeSelectedBorder, r.lineWidth = 2, r.beginPath(), r.roundRect(qa.x, qa.y, Wt, ze, Za), r.stroke());
958
960
  }
959
- At.length > 0 && fa && (r.textAlign = "start", r.textBaseline = "alphabetic");
960
- for (var ze = 0; ze < _t.length; ze++) {
961
- var ha = _t[ze], G = Zt[ha.type], E = y(ha), Br = ha.width || L, na = ha.height || B, ur = G.radius || Ga, Ct = ha.data || {};
962
- if (de && G.shadow !== !1 && (r.save(), r.shadowColor = G.shadowColor || k.nodeShadow, r.shadowBlur = G.shadowBlur || 6, r.shadowOffsetY = G.shadowOffsetY || 2, r.fillStyle = G.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.fill(), r.restore()), r.fillStyle = G.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.fill(), r.strokeStyle = ha.selected ? k.nodeSelectedBorder : G.stroke || k.nodeBorder, r.lineWidth = ha.selected ? 2 : G.strokeWidth || 1, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.stroke(), G.accent) {
963
- var et = G.accent;
961
+ Et.length > 0 && ha && (r.textAlign = "start", r.textBaseline = "alphabetic");
962
+ for (var we = 0; we < Ct.length; we++) {
963
+ var sa = Ct[we], q = bt[sa.type], E = y(sa), wr = sa.width || C, da = sa.height || B, ur = q.radius || Za, Pt = sa.data || {};
964
+ if (ye && q.shadow !== !1 && (r.save(), r.shadowColor = q.shadowColor || M.nodeShadow, r.shadowBlur = q.shadowBlur || 6, r.shadowOffsetY = q.shadowOffsetY || 2, r.fillStyle = q.fill || M.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, wr, da, ur), r.fill(), r.restore()), r.fillStyle = q.fill || M.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, wr, da, ur), r.fill(), r.strokeStyle = sa.selected ? M.nodeSelectedBorder : q.stroke || M.nodeBorder, r.lineWidth = sa.selected ? 2 : q.strokeWidth || 1, r.beginPath(), r.roundRect(E.x, E.y, wr, da, ur), r.stroke(), q.accent) {
965
+ var et = q.accent;
964
966
  r.fillStyle = et.color || "#3b82f6";
965
- var Pa = et.width || 5;
966
- r.beginPath(), et.side === "right" ? r.roundRect(E.x + Br - Pa, E.y, Pa, na, [0, ur, ur, 0]) : et.side === "top" ? r.roundRect(E.x, E.y, Br, Pa, [ur, ur, 0, 0]) : et.side === "bottom" ? r.roundRect(E.x, E.y + na - Pa, Br, Pa, [0, 0, ur, ur]) : r.roundRect(E.x, E.y, Pa, na, [ur, 0, 0, ur]), r.fill();
967
+ var Ga = et.width || 5;
968
+ r.beginPath(), et.side === "right" ? r.roundRect(E.x + wr - Ga, E.y, Ga, da, [0, ur, ur, 0]) : et.side === "top" ? r.roundRect(E.x, E.y, wr, Ga, [ur, ur, 0, 0]) : et.side === "bottom" ? r.roundRect(E.x, E.y + da - Ga, wr, Ga, [0, 0, ur, ur]) : r.roundRect(E.x, E.y, Ga, da, [ur, 0, 0, ur]), r.fill();
967
969
  }
968
- if (G.icon && fa) {
969
- var Ar = G.icon, bo = Ar.dataField ? Ct[Ar.dataField] : Ar.text;
970
- if (bo) {
971
- r.font = (Ar.size || 18) + "px system-ui, sans-serif", r.textAlign = "center", r.textBaseline = "middle", r.fillStyle = Ar.color || k.nodeText;
972
- var Gl = E.x + (Ar.x !== void 0 ? Ar.x : 20), Il = E.y + (Ar.y !== void 0 ? Ar.y : na / 2);
973
- r.fillText(bo, Gl, Il);
970
+ if (q.icon && ha) {
971
+ var Br = q.icon, Jo = Br.dataField ? Pt[Br.dataField] : Br.text;
972
+ if (Jo) {
973
+ r.font = (Br.size || 18) + "px system-ui, sans-serif", r.textAlign = "center", r.textBaseline = "middle", r.fillStyle = Br.color || M.nodeText;
974
+ var Zl = E.x + (Br.x !== void 0 ? Br.x : 20), Kl = E.y + (Br.y !== void 0 ? Br.y : da / 2);
975
+ r.fillText(Jo, Zl, Kl);
974
976
  }
975
977
  }
976
- if (G.title && fa) {
977
- var kr = G.title, Jo = kr.dataField ? Ct[kr.dataField] : kr.text;
978
- if (Jo) {
979
- r.font = kr.font || "600 13px system-ui, sans-serif", r.textAlign = kr.align || "left", r.textBaseline = "top", r.fillStyle = kr.color || k.nodeText;
980
- var Qo = E.x + (kr.x !== void 0 ? kr.x : 12), Zl = E.y + (kr.y !== void 0 ? kr.y : 12);
981
- r.fillText(Jo, Qo, Zl, Br - Qo + E.x - 12);
978
+ if (q.title && ha) {
979
+ var Mr = q.title, Qo = Mr.dataField ? Pt[Mr.dataField] : Mr.text;
980
+ if (Qo) {
981
+ r.font = Mr.font || "600 13px system-ui, sans-serif", r.textAlign = Mr.align || "left", r.textBaseline = "top", r.fillStyle = Mr.color || M.nodeText;
982
+ var $o = E.x + (Mr.x !== void 0 ? Mr.x : 12), bl = E.y + (Mr.y !== void 0 ? Mr.y : 12);
983
+ r.fillText(Qo, $o, bl, wr - $o + E.x - 12);
982
984
  }
983
985
  }
984
- if (G.subtitle && fa) {
985
- var mr = G.subtitle, $o = mr.dataField ? Ct[mr.dataField] : mr.text;
986
- if ($o) {
987
- r.font = mr.font || "11px system-ui, sans-serif", r.textAlign = mr.align || "left", r.textBaseline = "top", r.fillStyle = mr.color || "#64748b";
988
- var Fo = E.x + (mr.x !== void 0 ? mr.x : 12), Kl = E.y + (mr.y !== void 0 ? mr.y : 32);
989
- r.fillText($o, Fo, Kl, Br - Fo + E.x - 12);
986
+ if (q.subtitle && ha) {
987
+ var kr = q.subtitle, Fo = kr.dataField ? Pt[kr.dataField] : kr.text;
988
+ if (Fo) {
989
+ r.font = kr.font || "11px system-ui, sans-serif", r.textAlign = kr.align || "left", r.textBaseline = "top", r.fillStyle = kr.color || "#64748b";
990
+ var Uo = E.x + (kr.x !== void 0 ? kr.x : 12), Jl = E.y + (kr.y !== void 0 ? kr.y : 32);
991
+ r.fillText(Fo, Uo, Jl, wr - Uo + E.x - 12);
990
992
  }
991
993
  }
992
- if (G.badge && fa) {
993
- var _r = G.badge, we = _r.dataField ? Ct[_r.dataField] : _r.text;
994
- if (we) {
995
- r.font = _r.font || "700 9px system-ui, sans-serif";
996
- var bl = r.measureText(we), Jl = _r.paddingX || 6, Ql = _r.paddingY || 3, Be = bl.width + Jl * 2, Ae = 14 + Ql, Uo = E.x + Br - Be / 2 - 4, co = E.y - Ae / 2;
997
- r.fillStyle = _r.bg || "#3b82f6", r.beginPath(), r.roundRect(Uo, co, Be, Ae, _r.radius || 7), r.fill(), r.fillStyle = _r.color || "#fff", r.textAlign = "center", r.textBaseline = "middle", r.fillText(we, Uo + Be / 2, co + Ae / 2);
994
+ if (q.badge && ha) {
995
+ var Ar = q.badge, Be = Ar.dataField ? Pt[Ar.dataField] : Ar.text;
996
+ if (Be) {
997
+ r.font = Ar.font || "700 9px system-ui, sans-serif";
998
+ var Ql = r.measureText(Be), $l = Ar.paddingX || 6, Fl = Ar.paddingY || 3, Ae = Ql.width + $l * 2, _e = 14 + Fl, co = E.x + wr - Ae / 2 - 4, Vo = E.y - _e / 2;
999
+ r.fillStyle = Ar.bg || "#3b82f6", r.beginPath(), r.roundRect(co, Vo, Ae, _e, Ar.radius || 7), r.fill(), r.fillStyle = Ar.color || "#fff", r.textAlign = "center", r.textBaseline = "middle", r.fillText(Be, co + Ae / 2, Vo + _e / 2);
998
1000
  }
999
1001
  }
1000
1002
  }
1001
- if (_t.length > 0 && (r.textAlign = "start", r.textBaseline = "alphabetic"), Wl) {
1002
- for (var _e = [], Ee = 0; Ee < dr; Ee++)
1003
- for (var Vo = el(nr[Ee]), Le = 0; Le < Vo.length; Le++)
1004
- _e.push(Vo[Le]);
1005
- r.fillStyle = k.handleFill, r.beginPath();
1006
- for (var Se = 0; Se < _e.length; Se++) {
1007
- var Wt = _e[Se];
1008
- r.moveTo(Wt.x + Do, Wt.y), r.arc(Wt.x, Wt.y, Do, 0, 6.2832);
1003
+ if (Ct.length > 0 && (r.textAlign = "start", r.textBaseline = "alphabetic"), ql) {
1004
+ for (var Ee = [], Ce = 0; Ce < hr; Ce++)
1005
+ for (var No = ol(Rr[Ce]), Le = 0; Le < No.length; Le++)
1006
+ Ee.push(No[Le]);
1007
+ r.fillStyle = M.handleFill, r.beginPath();
1008
+ for (var Se = 0; Se < Ee.length; Se++) {
1009
+ var qt = Ee[Se];
1010
+ r.moveTo(qt.x + Oo, qt.y), r.arc(qt.x, qt.y, Oo, 0, 6.2832);
1009
1011
  }
1010
- r.fill(), r.strokeStyle = k.handleBorder, r.lineWidth = 1.5, r.stroke();
1012
+ r.fill(), r.strokeStyle = M.handleBorder, r.lineWidth = 1.5, r.stroke();
1011
1013
  }
1012
1014
  }
1013
1015
  r.restore();
1014
- var $l = (performance.now() - a).toFixed(1);
1015
- qe++;
1016
- var Pt = performance.now();
1017
- if (Pt - Xo >= 1e3 && (Ho = qe, qe = 0, Xo = Pt), Pt - po >= 100) {
1018
- po = Pt;
1019
- var Fl = Math.round(-M.x / M.zoom), Ul = Math.round(-M.y / M.zoom);
1016
+ var Ul = (performance.now() - a).toFixed(1);
1017
+ Ge++;
1018
+ var Gt = performance.now();
1019
+ if (Gt - Ho >= 1e3 && (po = Ge, Ge = 0, Ho = Gt), Gt - rl >= 100) {
1020
+ rl = Gt;
1021
+ var cl = Math.round(-k.x / k.zoom), Vl = Math.round(-k.y / k.zoom);
1020
1022
  self.postMessage({
1021
1023
  type: "hud",
1022
1024
  data: {
1023
- wx: Fl,
1024
- wy: Ul,
1025
- zoom: M.zoom.toFixed(2),
1026
- renderMs: $l,
1027
- fps: Ho,
1028
- visible: Y.length > 0 ? jo(X, Yr, xa, Xr).length : 0,
1025
+ wx: cl,
1026
+ wy: Vl,
1027
+ zoom: k.zoom.toFixed(2),
1028
+ renderMs: Ul,
1029
+ fps: po,
1030
+ visible: H.length > 0 ? Yo(jr, Lr, D, Yr).length : 0,
1029
1031
  nodeCount: W.length,
1030
- visibleNodes: dr,
1031
- edgeCount: C.length
1032
+ visibleNodes: hr,
1033
+ edgeCount: S.length
1032
1034
  }
1033
1035
  });
1034
1036
  }