agentglow 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/chunks/{KitScene-Bm1I35Zc.js → KitScene-DG_pcnWW.js} +1273 -1195
  2. package/dist/chunks/{index-COLbf8XM.js → index-Agh7jdYu.js} +182 -182
  3. package/dist/chunks/{index-CGTp73GN.js → index-B2EHxcBQ.js} +400 -400
  4. package/dist/chunks/{index-D-r9aJ4u.js → index-B4Cqo621.js} +33 -33
  5. package/dist/chunks/index-BfQsJ0TH.js +751 -0
  6. package/dist/chunks/index-BmBGYhJS.js +891 -0
  7. package/dist/chunks/index-Bnn-x-aE.js +767 -0
  8. package/dist/chunks/{index-BWsSd_Wm.js → index-CTQTtm9q.js} +212 -212
  9. package/dist/chunks/{index-_IwfbZy7.js → index-CTZbUTDY.js} +62 -62
  10. package/dist/chunks/{index-cRPj-lzn.js → index-CdKvybsL.js} +284 -284
  11. package/dist/chunks/index-CeiIEWek.js +818 -0
  12. package/dist/chunks/{index-D4Wlmsay.js → index-Ci8tSMhc.js} +15 -15
  13. package/dist/chunks/{index-C2vLpNCb.js → index-Cls_VZdb.js} +100 -100
  14. package/dist/chunks/index-DFFRhihO.js +892 -0
  15. package/dist/chunks/index-DMCETM4H.js +605 -0
  16. package/dist/chunks/{index-AugvjZJN.js → index-URn4zDHp.js} +223 -223
  17. package/dist/chunks/index-u4rYZ1UO.js +495 -0
  18. package/dist/index.js +1 -1
  19. package/dist/style.css +1 -1
  20. package/dist/types/world.d.ts +30 -5
  21. package/package.json +1 -1
  22. package/dist/chunks/index-BAQDf-0T.js +0 -492
  23. package/dist/chunks/index-BRnLrSfZ.js +0 -605
  24. package/dist/chunks/index-CKyn9lcT.js +0 -753
  25. package/dist/chunks/index-CnoB0ZDk.js +0 -889
  26. package/dist/chunks/index-KmczAvvY.js +0 -818
  27. package/dist/chunks/index-Z4vdWCok.js +0 -763
  28. package/dist/chunks/index-uZGu9jzU.js +0 -887
@@ -1,20 +1,20 @@
1
- var Ze = Object.defineProperty;
2
- var Je = (e, o, t) => o in e ? Ze(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t;
3
- var P = (e, o, t) => Je(e, typeof o != "symbol" ? o + "" : o, t);
4
- import { jsxs as D, jsx as v, Fragment as he } from "react/jsx-runtime";
5
- import { EffectComposer as Qe, Bloom as et, Vignette as tt } from "@react-three/postprocessing";
1
+ var Ke = Object.defineProperty;
2
+ var Ze = (e, o, t) => o in e ? Ke(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t;
3
+ var P = (e, o, t) => Ze(e, typeof o != "symbol" ? o + "" : o, t);
4
+ import { jsxs as F, jsx as y, Fragment as he } from "react/jsx-runtime";
5
+ import { EffectComposer as Je, Bloom as Qe, Vignette as et } from "@react-three/postprocessing";
6
6
  import * as r from "three";
7
7
  import { useFrame as W } from "@react-three/fiber";
8
- import { useRef as E, useMemo as R, useEffect as ot } from "react";
9
- import { T as He, r as L, h as xe, k as Y, w as V, L as re, d as nt, p as rt, s as st, D as at, R as it, S as qe, u as lt, o as ct, n as Re, v as pt, m as ut, G as ft, j as dt } from "./KitScene-Bm1I35Zc.js";
10
- const K = new r.Color("#46ff9a"), ie = new r.Color("#38e8ff"), Le = new r.Color("#ffb547"), Se = new r.Color("#ff4a4a"), j = new r.Color(1, 1, 1), ht = Object.fromEntries(
11
- Object.entries(He).map(([e, o]) => [e, new r.Color(o).lerp(K, 0.28)])
8
+ import { useRef as E, useMemo as R, useEffect as tt } from "react";
9
+ import { T as Ie, r as H, h as xe, n as Y, w as V, L as re, d as ot, p as nt, s as rt, I as st, R as at, S as it, j as lt, u as ct, t as pt, q as Re, y as ut, o as ft, G as dt, m as ht } from "./KitScene-DG_pcnWW.js";
10
+ const K = new r.Color("#46ff9a"), ie = new r.Color("#38e8ff"), Le = new r.Color("#ffb547"), Se = new r.Color("#ff4a4a"), j = new r.Color(1, 1, 1), gt = Object.fromEntries(
11
+ Object.entries(Ie).map(([e, o]) => [e, new r.Color(o).lerp(K, 0.28)])
12
12
  ), B = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Ge = (e) => 1 - Math.pow(1 - B(e), 3), Q = (e) => (e = B(e), e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2), I = { r: 6 };
13
- function gt() {
13
+ function mt() {
14
14
  I.r = Math.max(5, Y.core.r + 1.3);
15
15
  }
16
- const X = Math.PI * 2, mt = L ? 0.22 : 0.85, Ve = (e) => e * mt % X;
17
- function wt(e, o) {
16
+ const X = Math.PI * 2, wt = H ? 0.22 : 0.85, Ve = (e) => e * wt % X;
17
+ function yt(e, o) {
18
18
  let t = (o - e) % X;
19
19
  return t < 0 && (t += X), Math.exp(-t * 1.4);
20
20
  }
@@ -22,12 +22,12 @@ function ue(e, o, t, s) {
22
22
  return s.set(Math.sin(e) * o, t, -Math.cos(e) * o);
23
23
  }
24
24
  const fe = (e) => Math.atan2(e.x, -e.z), vt = (e) => e.subagent ? 0.55 : 1.1;
25
- function We(e, o, t, s) {
26
- if (s.set(o.x, 0, o.z), L) return s;
25
+ function He(e, o, t, s) {
26
+ if (s.set(o.x, 0, o.z), H) return s;
27
27
  const u = fe(o), c = xe(e.id, 7) * X, l = X / 26 * (xe(e.id, 8) > 0.5 ? 1 : -1), i = e.subagent ? 0.32 : 0.45, h = Math.cos(u), n = Math.sin(u), M = Math.cos(t * l + c) * i, m = Math.sin(t * l + c) * i * 0.55;
28
28
  return s.x += h * M - n * m, s.z += n * M + h * m, s;
29
29
  }
30
- const H = /* @__PURE__ */ new Map();
30
+ const L = /* @__PURE__ */ new Map();
31
31
  function oe(e, o, t, s, u) {
32
32
  const c = 1 - s;
33
33
  return u.set(c * c * e.x + 2 * c * s * o.x + s * s * t.x, c * c * e.y + 2 * c * s * o.y + s * s * t.y, c * c * e.z + 2 * c * s * o.z + s * s * t.z);
@@ -37,15 +37,15 @@ function de(e, o, t, s, u) {
37
37
  const c = o.x - e.x, l = o.z - e.z, i = Math.hypot(c, l) || 1;
38
38
  return u.x += -l / i * s * i * 0.18, u.z += c / i * s * i * 0.18, u.y += t, u;
39
39
  }
40
- let ve = null;
41
- function yt() {
42
- if (ve) return ve;
40
+ let ye = null;
41
+ function bt() {
42
+ if (ye) return ye;
43
43
  const e = document.createElement("canvas");
44
44
  e.width = e.height = 128;
45
45
  const o = e.getContext("2d"), t = o.createRadialGradient(64, 64, 0, 64, 64, 64);
46
- return t.addColorStop(0, "rgba(255,255,255,1)"), t.addColorStop(0.16, "rgba(255,255,255,0.55)"), t.addColorStop(0.45, "rgba(255,255,255,0.12)"), t.addColorStop(1, "rgba(255,255,255,0)"), o.fillStyle = t, o.fillRect(0, 0, 128, 128), ve = new r.CanvasTexture(e), ve;
46
+ return t.addColorStop(0, "rgba(255,255,255,1)"), t.addColorStop(0.16, "rgba(255,255,255,0.55)"), t.addColorStop(0.45, "rgba(255,255,255,0.12)"), t.addColorStop(1, "rgba(255,255,255,0)"), o.fillStyle = t, o.fillRect(0, 0, 128, 128), ye = new r.CanvasTexture(e), ye;
47
47
  }
48
- const Oe = (e = "#fff") => new r.SpriteMaterial({ map: yt(), color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), pe = (e = "#fff") => new r.MeshBasicMaterial({ color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), De = (e = "#fff") => new r.LineBasicMaterial({ color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), bt = new r.ConeGeometry(1, 1, 3).translate(0, 0.5, 0), ye = 28, U = { Solid: 0, Dash: 1, Head: 2 }, Ce = class Ce {
48
+ const Oe = (e = "#fff") => new r.SpriteMaterial({ map: bt(), color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), pe = (e = "#fff") => new r.MeshBasicMaterial({ color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), Fe = (e = "#fff") => new r.LineBasicMaterial({ color: e, blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), Mt = new r.ConeGeometry(1, 1, 3).translate(0, 0.5, 0), ve = 28, D = { Solid: 0, Dash: 1, Head: 2 }, Ce = class Ce {
49
49
  constructor(o, t) {
50
50
  P(this, "lines");
51
51
  P(this, "arrows");
@@ -60,9 +60,9 @@ const Oe = (e = "#fff") => new r.SpriteMaterial({ map: yt(), color: e, blending:
60
60
  P(this, "q", new r.Vector3());
61
61
  P(this, "o", new r.Object3D());
62
62
  P(this, "time", 0);
63
- this.maxV = o * ye * 2;
63
+ this.maxV = o * ve * 2;
64
64
  const s = new r.BufferGeometry();
65
- this.P = new r.BufferAttribute(new Float32Array(this.maxV * 3), 3), this.C = new r.BufferAttribute(new Float32Array(this.maxV * 3), 3), this.P.setUsage(r.DynamicDrawUsage), this.C.setUsage(r.DynamicDrawUsage), s.setAttribute("position", this.P), s.setAttribute("color", this.C), s.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), this.lines = new r.LineSegments(s, new r.LineBasicMaterial({ vertexColors: !0, transparent: !0, blending: r.AdditiveBlending, depthWrite: !1, toneMapped: !1 })), this.lines.frustumCulled = !1, this.maxA = t, this.aColors = new Float32Array(t * 3), this.arrows = new r.InstancedMesh(bt, new r.MeshBasicMaterial({ blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), t), this.arrows.instanceColor = new r.InstancedBufferAttribute(this.aColors, 3), this.arrows.frustumCulled = !1, this.arrows.count = 0;
65
+ this.P = new r.BufferAttribute(new Float32Array(this.maxV * 3), 3), this.C = new r.BufferAttribute(new Float32Array(this.maxV * 3), 3), this.P.setUsage(r.DynamicDrawUsage), this.C.setUsage(r.DynamicDrawUsage), s.setAttribute("position", this.P), s.setAttribute("color", this.C), s.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), this.lines = new r.LineSegments(s, new r.LineBasicMaterial({ vertexColors: !0, transparent: !0, blending: r.AdditiveBlending, depthWrite: !1, toneMapped: !1 })), this.lines.frustumCulled = !1, this.maxA = t, this.aColors = new Float32Array(t * 3), this.arrows = new r.InstancedMesh(Mt, new r.MeshBasicMaterial({ blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 }), t), this.arrows.instanceColor = new r.InstancedBufferAttribute(this.aColors, 3), this.arrows.frustumCulled = !1, this.arrows.count = 0;
66
66
  }
67
67
  begin(o) {
68
68
  this.v = 0, this.na = 0, this.time = o;
@@ -76,17 +76,17 @@ const Oe = (e = "#fff") => new r.SpriteMaterial({ map: yt(), color: e, blending:
76
76
  }
77
77
  /** Quadratic curve p0→p1→p2, drawn up to `grow` (0..1). */
78
78
  curve(o, t, s, u, c, l, i = 0, h = 1, n = 9, M = 1.4) {
79
- if (this.v + ye * 2 > this.maxV || c <= 2e-3) return;
80
- const m = Math.max(1, Math.ceil(ye * B(h)));
79
+ if (this.v + ve * 2 > this.maxV || c <= 2e-3) return;
80
+ const m = Math.max(1, Math.ceil(ve * B(h)));
81
81
  for (let x = 0; x < m; x++)
82
- for (let y = 0; y < 2; y++) {
83
- const f = Math.min(h, (x + y) / ye);
82
+ for (let v = 0; v < 2; v++) {
83
+ const f = Math.min(h, (x + v) / ve);
84
84
  oe(o, t, s, f, this.p);
85
85
  let d = 1;
86
- if (l === U.Dash) {
86
+ if (l === D.Dash) {
87
87
  const p = Math.sin((f * n - this.time * M) * Math.PI);
88
88
  d = 0.18 + (p > 0 ? Math.pow(p, 3) : 0) * 1.1;
89
- } else if (l === U.Head) {
89
+ } else if (l === D.Head) {
90
90
  const p = f - i;
91
91
  d = 0.12 + (p > 0 ? Math.exp(-(p * p) / 9e-4) : Math.exp(p / 0.16)) * 2.4;
92
92
  }
@@ -111,12 +111,12 @@ const Oe = (e = "#fff") => new r.SpriteMaterial({ map: yt(), color: e, blending:
111
111
  };
112
112
  P(Ce, "UP", new r.Vector3(0, 1, 0));
113
113
  let ne = Ce;
114
- const Mt = (
114
+ const xt = (
115
115
  /* glsl */
116
116
  `
117
117
  attribute float aSize; attribute vec3 aColor; varying vec3 vC; uniform float uScale;
118
118
  void main(){ vec4 mv = modelViewMatrix * vec4(position, 1.0); gl_PointSize = aSize * uScale / -mv.z; vC = aColor; gl_Position = projectionMatrix * mv; }`
119
- ), xt = (
119
+ ), St = (
120
120
  /* glsl */
121
121
  `
122
122
  varying vec3 vC;
@@ -124,7 +124,7 @@ void main(){ float r = length(gl_PointCoord - 0.5) * 2.0; if (r > 1.0) discard;
124
124
  float core = smoothstep(0.35, 0.0, r); float halo = pow(1.0 - r, 2.4);
125
125
  gl_FragColor = vec4(vC * (core * 1.3 + halo * 0.5), 1.0); }`
126
126
  );
127
- class Ne {
127
+ class We {
128
128
  constructor(o) {
129
129
  P(this, "points");
130
130
  P(this, "material");
@@ -135,7 +135,7 @@ class Ne {
135
135
  P(this, "max");
136
136
  this.max = o;
137
137
  const t = new r.BufferGeometry();
138
- this.P = new r.BufferAttribute(new Float32Array(o * 3), 3), this.C = new r.BufferAttribute(new Float32Array(o * 3), 3), this.S = new r.BufferAttribute(new Float32Array(o), 1), t.setAttribute("position", this.P), t.setAttribute("aColor", this.C), t.setAttribute("aSize", this.S), t.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), this.material = new r.ShaderMaterial({ uniforms: { uScale: { value: 300 } }, vertexShader: Mt, fragmentShader: xt, transparent: !0, depthWrite: !1, blending: r.AdditiveBlending }), this.points = new r.Points(t, this.material), this.points.frustumCulled = !1;
138
+ this.P = new r.BufferAttribute(new Float32Array(o * 3), 3), this.C = new r.BufferAttribute(new Float32Array(o * 3), 3), this.S = new r.BufferAttribute(new Float32Array(o), 1), t.setAttribute("position", this.P), t.setAttribute("aColor", this.C), t.setAttribute("aSize", this.S), t.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), this.material = new r.ShaderMaterial({ uniforms: { uScale: { value: 300 } }, vertexShader: xt, fragmentShader: St, transparent: !0, depthWrite: !1, blending: r.AdditiveBlending }), this.points = new r.Points(t, this.material), this.points.frustumCulled = !1;
139
139
  }
140
140
  begin() {
141
141
  this.n = 0;
@@ -149,58 +149,58 @@ class Ne {
149
149
  this.points.geometry.setDrawRange(0, this.n), this.P.needsUpdate = !0, this.C.needsUpdate = !0, this.S.needsUpdate = !0;
150
150
  }
151
151
  }
152
- const je = 64, Me = Array.from({ length: je }, () => ({ x: 0, y: 0, z: 0, r: 1, color: new r.Color(), start: -1e9, dur: 1, k: 1, width: 1 }));
152
+ const Ne = 64, Me = Array.from({ length: Ne }, () => ({ x: 0, y: 0, z: 0, r: 1, color: new r.Color(), start: -1e9, dur: 1, k: 1, width: 1 }));
153
153
  let ze = 0;
154
154
  function ce(e, o, t, s = 1200, u = 1, c = 0, l = 1) {
155
155
  const i = Me[ze];
156
- ze = (ze + 1) % je, i.x = e.x, i.y = e.y, i.z = e.z, i.r = o, i.color.copy(t), i.start = performance.now() + c, i.dur = s, i.k = u, i.width = l;
156
+ ze = (ze + 1) % Ne, i.x = e.x, i.y = e.y, i.z = e.z, i.r = o, i.color.copy(t), i.start = performance.now() + c, i.dur = s, i.k = u, i.width = l;
157
157
  }
158
- const Pe = { db: "◉", warehouse: "▤", spark: "✷", api: "⇄", storage: "▣", queue: "≡" }, $e = (e) => new r.Color(e).lerp(K, 0.25), Ee = new r.PlaneGeometry(1.7, 0.16).rotateX(-Math.PI / 2), _e = new r.EdgesGeometry(Ee), St = new r.CylinderGeometry(0.07, 0.1, 0.7, 6).translate(0, 0.35, 0), At = new r.CylinderGeometry(0.17, 0.12, 0.14, 8).translate(0, 0.76, 0), Xe = new r.BoxGeometry(0.42, 0.18, 0.42).translate(0, 0.09, 0), Ct = new r.EdgesGeometry(Xe);
159
- function Rt({ mcp: e, backend: o }) {
160
- const t = e.srv, s = o.res, u = E(null), c = R(() => $e(t.color).lerp(j, 0.2), [t.color]), l = R(() => ({ fill: pe(c), line: De(c), halo: Oe(c) }), [c]), i = E(null), h = E(null), n = E("");
158
+ const Pe = { db: "◉", warehouse: "▤", spark: "✷", api: "⇄", storage: "▣", queue: "≡" }, je = (e) => new r.Color(e).lerp(K, 0.25), Ee = new r.PlaneGeometry(1.7, 0.16).rotateX(-Math.PI / 2), qe = new r.EdgesGeometry(Ee), At = new r.CylinderGeometry(0.07, 0.1, 0.7, 6).translate(0, 0.35, 0), Ct = new r.CylinderGeometry(0.17, 0.12, 0.14, 8).translate(0, 0.76, 0), $e = new r.BoxGeometry(0.42, 0.18, 0.42).translate(0, 0.09, 0), Rt = new r.EdgesGeometry($e);
159
+ function zt({ mcp: e, backend: o }) {
160
+ const t = e.srv, s = o.res, u = E(null), c = R(() => je(t.color).lerp(j, 0.2), [t.color]), l = R(() => ({ fill: pe(c), line: Fe(c), halo: Oe(c) }), [c]), i = E(null), h = E(null), n = E("");
161
161
  return W(({ clock: M }) => {
162
162
  var a, w;
163
163
  (a = u.current) == null || a.position.set(o.pos.x, 0, o.pos.z);
164
- const m = performance.now(), x = s.inflight > 0, y = Math.exp(-((m - s.activeAt) / 1e3) * 1.4), f = x && !L ? 0.5 + 0.5 * Math.sin(M.elapsedTime * 6) : 0.5, d = x ? 1.4 + f * 0.8 : 0.25 + y * 1;
165
- l.fill.color.copy(c).multiplyScalar(d * 0.35), l.line.color.copy(c).multiplyScalar(d * 1.2), l.halo.color.copy(c).multiplyScalar(x ? 0.35 + f * 0.2 : 0.03 + y * 0.25), (w = i.current) == null || w.scale.setScalar(x ? 2.6 + f * 0.6 : 1.6 + y);
164
+ const m = performance.now(), x = s.inflight > 0, v = Math.exp(-((m - s.activeAt) / 1e3) * 1.4), f = x && !H ? 0.5 + 0.5 * Math.sin(M.elapsedTime * 6) : 0.5, d = x ? 1.4 + f * 0.8 : 0.25 + v * 1;
165
+ l.fill.color.copy(c).multiplyScalar(d * 0.35), l.line.color.copy(c).multiplyScalar(d * 1.2), l.halo.color.copy(c).multiplyScalar(x ? 0.35 + f * 0.2 : 0.03 + v * 0.25), (w = i.current) == null || w.scale.setScalar(x ? 2.6 + f * 0.6 : 1.6 + v);
166
166
  let p = `${Pe[s.kind] ?? "·"} ${s.name}`;
167
167
  if (x) {
168
168
  let g = "";
169
169
  for (const b of V.mcpPending.values()) b.server === t.name && b.resource === s.name && (g = b.tool);
170
170
  p = `${Pe[s.kind] ?? "·"} ${s.name} ▸ ${g || "query"}()`;
171
- } else y > 0.25 && (p = `${Pe[s.kind] ?? "·"} ${s.name} ✓`);
172
- h.current && (p !== n.current && (n.current = p, h.current.setText(p)), h.current.setOpacity(x ? 1 : 0.5 + y * 0.5), h.current.setEmphasis(x));
173
- }), /* @__PURE__ */ D("group", { ref: u, children: [
174
- /* @__PURE__ */ v("mesh", { geometry: Xe, material: l.fill }),
175
- /* @__PURE__ */ v("lineSegments", { geometry: Ct, material: l.line }),
176
- /* @__PURE__ */ v("sprite", { ref: i, material: l.halo, position: [0, 0.15, 0] }),
177
- /* @__PURE__ */ v(re, { ref: h, position: [0, -0.05, 0.62], text: s.name, font: "mono", plate: "underline", color: t.color, textColor: "#a6e9c6", letterSpacing: 0.03, size: 0.26, pxRange: [7.5, 10.5] })
171
+ } else v > 0.25 && (p = `${Pe[s.kind] ?? "·"} ${s.name} ✓`);
172
+ h.current && (p !== n.current && (n.current = p, h.current.setText(p)), h.current.setOpacity(x ? 1 : 0.5 + v * 0.5), h.current.setEmphasis(x));
173
+ }), /* @__PURE__ */ F("group", { ref: u, children: [
174
+ /* @__PURE__ */ y("mesh", { geometry: $e, material: l.fill }),
175
+ /* @__PURE__ */ y("lineSegments", { geometry: Rt, material: l.line }),
176
+ /* @__PURE__ */ y("sprite", { ref: i, material: l.halo, position: [0, 0.15, 0] }),
177
+ /* @__PURE__ */ y(re, { ref: h, position: [0, -0.05, 0.62], text: s.name, font: "mono", plate: "underline", color: t.color, textColor: "#a6e9c6", letterSpacing: 0.03, size: 0.26, pxRange: [7.5, 10.5] })
178
178
  ] });
179
179
  }
180
- function zt({ mcp: e }) {
181
- const o = e.srv, t = E(null), s = E(null), u = R(() => Math.atan2(e.target.x, -e.target.z), [e]), c = R(() => $e(o.color), [o.color]), l = R(() => ({ fill: pe(c), line: De(c), tower: pe(c), cab: pe(j), beacon: Oe(c) }), [c]), i = E(null);
180
+ function Pt({ mcp: e }) {
181
+ const o = e.srv, t = E(null), s = E(null), u = R(() => Math.atan2(e.target.x, -e.target.z), [e]), c = R(() => je(o.color), [o.color]), l = R(() => ({ fill: pe(c), line: Fe(c), tower: pe(c), cab: pe(j), beacon: Oe(c) }), [c]), i = E(null);
182
182
  return W(({ clock: h }) => {
183
183
  var f, d;
184
184
  (f = t.current) == null || f.position.set(e.pos.x, 0, e.pos.z), s.current && (s.current.rotation.y = -Math.atan2(e.pos.x, -e.pos.z));
185
- const n = performance.now(), M = o.inflight > 0, m = Math.exp(-((n - o.activeAt) / 1e3) * 1.3), x = L ? 0.6 : Math.pow(0.5 + 0.5 * Math.sin(h.elapsedTime * (M ? 7 : 1.6) + o.slot), 4), y = 0.35 + m * 0.7 + (M ? 0.5 : 0);
186
- l.fill.color.copy(c).multiplyScalar(y * 0.18), l.line.color.copy(c).multiplyScalar(y * 1.3), l.tower.color.copy(c).multiplyScalar(y * 0.7), l.cab.color.copy(c).lerp(j, 0.5).multiplyScalar(0.3 + x * (M ? 1.4 : 0.7)), l.beacon.color.copy(c).multiplyScalar(0.08 + x * (M ? 0.55 : 0.22) + m * 0.15), (d = i.current) == null || d.scale.setScalar(1.4 + x * (M ? 1.6 : 0.7));
187
- }), /* @__PURE__ */ D("group", { ref: t, children: [
188
- /* @__PURE__ */ D("group", { ref: s, children: [
189
- /* @__PURE__ */ D("group", { rotation: [0, 0.5, 0], children: [
190
- /* @__PURE__ */ v("mesh", { geometry: Ee, material: l.fill }),
191
- /* @__PURE__ */ v("lineSegments", { geometry: _e, material: l.line })
185
+ const n = performance.now(), M = o.inflight > 0, m = Math.exp(-((n - o.activeAt) / 1e3) * 1.3), x = H ? 0.6 : Math.pow(0.5 + 0.5 * Math.sin(h.elapsedTime * (M ? 7 : 1.6) + o.slot), 4), v = 0.35 + m * 0.7 + (M ? 0.5 : 0);
186
+ l.fill.color.copy(c).multiplyScalar(v * 0.18), l.line.color.copy(c).multiplyScalar(v * 1.3), l.tower.color.copy(c).multiplyScalar(v * 0.7), l.cab.color.copy(c).lerp(j, 0.5).multiplyScalar(0.3 + x * (M ? 1.4 : 0.7)), l.beacon.color.copy(c).multiplyScalar(0.08 + x * (M ? 0.55 : 0.22) + m * 0.15), (d = i.current) == null || d.scale.setScalar(1.4 + x * (M ? 1.6 : 0.7));
187
+ }), /* @__PURE__ */ F("group", { ref: t, children: [
188
+ /* @__PURE__ */ F("group", { ref: s, children: [
189
+ /* @__PURE__ */ F("group", { rotation: [0, 0.5, 0], children: [
190
+ /* @__PURE__ */ y("mesh", { geometry: Ee, material: l.fill }),
191
+ /* @__PURE__ */ y("lineSegments", { geometry: qe, material: l.line })
192
192
  ] }),
193
- /* @__PURE__ */ D("group", { rotation: [0, -0.75, 0], position: [0.1, 5e-3, 0.15], children: [
194
- /* @__PURE__ */ v("mesh", { geometry: Ee, material: l.fill, scale: [0.75, 1, 1] }),
195
- /* @__PURE__ */ v("lineSegments", { geometry: _e, material: l.line, scale: [0.75, 1, 1] })
193
+ /* @__PURE__ */ F("group", { rotation: [0, -0.75, 0], position: [0.1, 5e-3, 0.15], children: [
194
+ /* @__PURE__ */ y("mesh", { geometry: Ee, material: l.fill, scale: [0.75, 1, 1] }),
195
+ /* @__PURE__ */ y("lineSegments", { geometry: qe, material: l.line, scale: [0.75, 1, 1] })
196
196
  ] }),
197
- /* @__PURE__ */ D("group", { position: [0.45, 0, -0.35], children: [
198
- /* @__PURE__ */ v("mesh", { geometry: St, material: l.tower }),
199
- /* @__PURE__ */ v("mesh", { geometry: At, material: l.cab }),
200
- /* @__PURE__ */ v("sprite", { ref: i, material: l.beacon, position: [0, 0.8, 0] })
197
+ /* @__PURE__ */ F("group", { position: [0.45, 0, -0.35], children: [
198
+ /* @__PURE__ */ y("mesh", { geometry: At, material: l.tower }),
199
+ /* @__PURE__ */ y("mesh", { geometry: Ct, material: l.cab }),
200
+ /* @__PURE__ */ y("sprite", { ref: i, material: l.beacon, position: [0, 0.8, 0] })
201
201
  ] })
202
202
  ] }),
203
- /* @__PURE__ */ v(
203
+ /* @__PURE__ */ y(
204
204
  re,
205
205
  {
206
206
  offset: [Math.sin(u) * 1.15, Math.cos(u) * 1 - 0.45],
@@ -218,11 +218,11 @@ function zt({ mcp: e }) {
218
218
  )
219
219
  ] });
220
220
  }
221
- function Pt() {
222
- const e = R(() => new ne(140, 64), []), o = R(() => new Ne(64), []), t = R(() => ({ ap: new r.Vector3(), gp: new r.Vector3(), c: new r.Vector3(), h: new r.Vector3(), col: new r.Color(), col2: new r.Color() }), []), s = R(() => /* @__PURE__ */ new Map(), []);
221
+ function Tt() {
222
+ const e = R(() => new ne(140, 64), []), o = R(() => new We(64), []), t = R(() => ({ ap: new r.Vector3(), gp: new r.Vector3(), c: new r.Vector3(), h: new r.Vector3(), col: new r.Color(), col2: new r.Color() }), []), s = R(() => /* @__PURE__ */ new Map(), []);
223
223
  return W(({ clock: u, size: c }) => {
224
224
  const l = performance.now();
225
- e.begin(L ? 0 : u.elapsedTime), o.begin(), o.material.uniforms.uScale.value = c.height * 0.9;
225
+ e.begin(H ? 0 : u.elapsedTime), o.begin(), o.material.uniforms.uScale.value = c.height * 0.9;
226
226
  const { ap: i, gp: h, c: n, h: M, col: m, col2: x } = t;
227
227
  s.clear();
228
228
  for (const f of V.mcpCalls) {
@@ -239,35 +239,35 @@ function Pt() {
239
239
  const w = Math.exp(-((l - a.activeAt) / 1e3) * 1.4), g = s.get(d.name + "|" + a.name), b = g && g.phase === "result" ? (l - g.start) / g.dur : 9;
240
240
  if (b < 1) {
241
241
  const C = 1 - Q(b);
242
- e.curve(i, n, h, x.copy(m).lerp(j, 0.35), 0.9, U.Head, C, 1), e.arrow(i, n, h, 0.12, -1, 0.3, m, 1.6 * (1 - b * 0.6));
243
- } else a.inflight > 0 ? (e.curve(i, n, h, m, 0.7, U.Dash, 0, 1, 6, 1.8), e.arrow(i, n, h, 0.85, 1, 0.26, m, 1.2)) : e.curve(i, n, h, m, 0.16 + w * 0.4, U.Solid);
242
+ e.curve(i, n, h, x.copy(m).lerp(j, 0.35), 0.9, D.Head, C, 1), e.arrow(i, n, h, 0.12, -1, 0.3, m, 1.6 * (1 - b * 0.6));
243
+ } else a.inflight > 0 ? (e.curve(i, n, h, m, 0.7, D.Dash, 0, 1, 6, 1.8), e.arrow(i, n, h, 0.85, 1, 0.26, m, 1.2)) : e.curve(i, n, h, m, 0.16 + w * 0.4, D.Solid);
244
244
  }
245
245
  }
246
- const y = (f, d, p, a) => {
247
- const w = H.get(f), g = V.mcpServers.get(d), b = Y.mcp.get(d);
246
+ const v = (f, d, p, a) => {
247
+ const w = L.get(f), g = V.mcpServers.get(d), b = Y.mcp.get(d);
248
248
  if (!(!w || !g || !b))
249
249
  if (i.copy(b.pos), i.y = 0.25, de(w.pos, i, 1.2, 0.4, n), m.set(g.color).lerp(K, 0.25), p === 0) {
250
250
  m.lerp(Le, B(a / 1.2)), a > 1.2 && m.lerp(Se, B((a - 1.2) / 1.2));
251
251
  const C = (0.45 + Math.min(0.5, a * 0.2)) * B(a / 0.25) * w.vis;
252
- e.curve(w.pos, n, i, m, C, U.Dash, 0, 1, 12, 2.2), e.arrow(w.pos, n, i, 0.93, 1, 0.34, m, 0.6 + C);
252
+ e.curve(w.pos, n, i, m, C, D.Dash, 0, 1, 12, 2.2), e.arrow(w.pos, n, i, 0.93, 1, 0.34, m, 0.6 + C);
253
253
  } else {
254
254
  m.lerp(j, 0.35);
255
255
  const C = 1 - Q(a / 0.8), T = (a < 0.8 ? 1 : 1 - (a - 0.8) / 0.2) * w.vis;
256
- e.curve(w.pos, n, i, m, 0.9 * T, U.Head, C, 1), e.arrow(w.pos, n, i, Math.max(0.04, C), -1, 0.36, m, 1.8 * T), oe(w.pos, n, i, C, M), o.add(M.x, M.y, M.z, 0.7, m, 1.2 * T);
256
+ e.curve(w.pos, n, i, m, 0.9 * T, D.Head, C, 1), e.arrow(w.pos, n, i, Math.max(0.04, C), -1, 0.36, m, 1.8 * T), oe(w.pos, n, i, C, M), o.add(M.x, M.y, M.z, 0.7, m, 1.2 * T);
257
257
  }
258
258
  };
259
- for (const f of V.mcpPending.values()) y(f.instance, f.server, 0, nt(f, l));
260
- for (const f of V.mcpCalls) f.phase === "result" && y(f.instance, f.server, 1, B((l - f.start) / f.dur));
259
+ for (const f of V.mcpPending.values()) v(f.instance, f.server, 0, ot(f, l));
260
+ for (const f of V.mcpCalls) f.phase === "result" && v(f.instance, f.server, 1, B((l - f.start) / f.dur));
261
261
  e.end(), o.end();
262
- }), /* @__PURE__ */ D(he, { children: [
263
- /* @__PURE__ */ v("primitive", { object: e.lines }),
264
- /* @__PURE__ */ v("primitive", { object: e.arrows }),
265
- /* @__PURE__ */ v("primitive", { object: o.points })
262
+ }), /* @__PURE__ */ F(he, { children: [
263
+ /* @__PURE__ */ y("primitive", { object: e.lines }),
264
+ /* @__PURE__ */ y("primitive", { object: e.arrows }),
265
+ /* @__PURE__ */ y("primitive", { object: o.points })
266
266
  ] });
267
267
  }
268
- const Ye = new r.OctahedronGeometry(0.42, 0), Tt = new r.EdgesGeometry(Ye), kt = new r.SphereGeometry(0.7, 8, 6), Bt = new r.MeshBasicMaterial({ transparent: !0, opacity: 0, depthWrite: !1 }), Et = 1.6, Gt = 1.7, Vt = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(1)}k` : String(e);
269
- function Ot({ agent: e, onSelect: o }) {
270
- const t = e.inst, s = E(null), u = E(null), c = E(null), l = E(null), i = ht[t.type], h = R(() => ({ fill: pe(i), edge: De(i), halo: Oe(i) }), [i]), n = R(
268
+ const Xe = new r.OctahedronGeometry(0.42, 0), kt = new r.EdgesGeometry(Xe), Bt = new r.SphereGeometry(0.7, 8, 6), Et = new r.MeshBasicMaterial({ transparent: !0, opacity: 0, depthWrite: !1 }), Gt = 1.6, Vt = 1.7, Ot = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(1)}k` : String(e);
269
+ function Ft({ agent: e, onSelect: o }) {
270
+ const t = e.inst, s = E(null), u = E(null), c = E(null), l = E(null), i = gt[t.type], h = R(() => ({ fill: pe(i), edge: Fe(i), halo: Oe(i) }), [i]), n = R(
271
271
  () => ({
272
272
  id: t.id,
273
273
  pos: new r.Vector3(),
@@ -290,62 +290,62 @@ function Ot({ agent: e, onSelect: o }) {
290
290
  }),
291
291
  [t]
292
292
  );
293
- ot(() => (H.set(t.id, n), () => {
294
- H.get(t.id) === n && H.delete(t.id);
293
+ tt(() => (L.set(t.id, n), () => {
294
+ L.get(t.id) === n && L.delete(t.id);
295
295
  }), [t.id, n]), W(({ clock: d }) => {
296
296
  var se, ge;
297
297
  const p = performance.now(), a = d.elapsedTime, w = vt(t);
298
- if (We(t, e.pos, a, n.hold), n.hold.y = w, n.init ? n.cruise.lerp(n.hold, 0.08) : n.cruise.copy(n.hold), !n.init) {
298
+ if (He(t, e.pos, a, n.hold), n.hold.y = w, n.init ? n.cruise.lerp(n.hold, 0.08) : n.cruise.copy(n.hold), !n.init) {
299
299
  n.init = !0;
300
- const k = t.parent ? H.get(t.parent) : void 0;
300
+ const k = t.parent ? L.get(t.parent) : void 0;
301
301
  k && k.vis > 0.05 ? n.origin.copy(k.pos) : n.origin.set(n.cruise.x, 0, n.cruise.z), ce(n.origin, t.subagent ? 0.9 : 1.4, K, 1100, 0.7);
302
302
  }
303
303
  const g = (p - t.bornAt) / 1e3;
304
- n.takeoff = B(g / Et), n.takeoff < 1 ? (de(n.origin, n.cruise, t.parent ? 1.5 : 0.2, t.parent ? 0.7 : 0, n.ctrl), oe(n.origin, n.ctrl, n.cruise, Q(n.takeoff), n.pos)) : n.pos.copy(n.cruise);
304
+ n.takeoff = B(g / Gt), n.takeoff < 1 ? (de(n.origin, n.cruise, t.parent ? 1.5 : 0.2, t.parent ? 0.7 : 0, n.ctrl), oe(n.origin, n.ctrl, n.cruise, Q(n.takeoff), n.pos)) : n.pos.copy(n.cruise);
305
305
  const b = t.exitAt ? (p - t.exitAt) / 1e3 : -1;
306
- if (n.land = b >= 0 ? B(b / Gt) : 0, b >= 0 && (n.pos.y *= 1 - Q(n.land)), n.land >= 1 && !n.landed && (n.landed = !0, n.ground.set(n.pos.x, 0.02, n.pos.z), ce(n.ground, 1.1 * e.scale, t.status === "failed" ? Se : K, 1300, 0.9)), n.ground.set(n.pos.x, 0.02, n.pos.z), e.live.copy(n.pos), n.vis = rt(t, p), n.scale = e.scale, t.llmCalls !== n.llm) {
306
+ if (n.land = b >= 0 ? B(b / Vt) : 0, b >= 0 && (n.pos.y *= 1 - Q(n.land)), n.land >= 1 && !n.landed && (n.landed = !0, n.ground.set(n.pos.x, 0.02, n.pos.z), ce(n.ground, 1.1 * e.scale, t.status === "failed" ? Se : K, 1300, 0.9)), n.ground.set(n.pos.x, 0.02, n.pos.z), e.live.copy(n.pos), n.vis = nt(t, p), n.scale = e.scale, t.llmCalls !== n.llm) {
307
307
  n.llm = t.llmCalls;
308
308
  const k = 0.55 + t.pulse * 1.05;
309
309
  ce(n.pos, k * (t.subagent ? 0.8 : 1), i, 1500, 1.1), ce(n.pos, k * 0.62 * (t.subagent ? 0.8 : 1), i, 1300, 0.7, 170);
310
310
  }
311
- const C = wt(fe(n.pos), Ve(a)), T = b < 0 && (t.status === "thinking" || t.status === "spawning"), A = t.status === "failed", G = L ? 0.5 : 0.5 + 0.5 * Math.sin(a * 2.4 + t.index);
311
+ const C = yt(fe(n.pos), Ve(a)), T = b < 0 && (t.status === "thinking" || t.status === "spawning"), A = t.status === "failed", G = H ? 0.5 : 0.5 + 0.5 * Math.sin(a * 2.4 + t.index);
312
312
  n.c.copy(i), A && n.c.lerp(Se, B(n.land * 2)), n.color.copy(n.c);
313
313
  const O = (0.55 + C * 0.9) * n.vis;
314
314
  h.fill.color.copy(n.c).multiplyScalar((T ? 0.85 + G * 0.25 : 0.12) * O), h.edge.color.copy(n.c).lerp(j, 0.25).multiplyScalar((T ? 1.3 : 1) * O), h.halo.color.copy(n.c).multiplyScalar((T ? 0.32 : 0.12) * O + C * 0.12 * n.vis), s.current && s.current.position.copy(n.pos);
315
315
  const Z = 0.45 + 0.55 * Ge(n.takeoff), N = n.scale * Z * (1 - n.land * 0.45);
316
- if (u.current && (u.current.scale.set(N, N * 0.75, N), u.current.rotation.y = Math.PI / 4), (se = c.current) == null || se.scale.setScalar(N * (T ? 2.6 + G * 0.3 : 1.8) + C * 0.5), (ge = l.current) == null || ge.setOpacity(st(t.id) ? B(n.takeoff * 1.6) * n.vis * (0.75 + C * 0.25) : 0), p - n.lastTag > 200 && l.current) {
316
+ if (u.current && (u.current.scale.set(N, N * 0.75, N), u.current.rotation.y = Math.PI / 4), (se = c.current) == null || se.scale.setScalar(N * (T ? 2.6 + G * 0.3 : 1.8) + C * 0.5), (ge = l.current) == null || ge.setOpacity(rt(t.id) ? B(n.takeoff * 1.6) * n.vis * (0.75 + C * 0.25) : 0), p - n.lastTag > 200 && l.current) {
317
317
  n.lastTag = p;
318
318
  let k = !1;
319
319
  for (const we of V.mcpPending.values()) we.instance === t.id && (k = !0);
320
- const me = b < 0 && t.doneAt ? A ? "FAIL" : "DONE" : b >= 0 ? A ? "FAIL" : n.land < 1 ? "LAND" : "DONE" : n.takeoff < 1 ? "TKOF" : k ? "MCP" : T ? "THNK" : "WAIT", ee = `${Vt(t.tokens)} tk ${me}`;
321
- ee !== n.t2 && (n.t2 = ee, l.current.setText(y, ee));
320
+ const me = b < 0 && t.doneAt ? A ? "FAIL" : "DONE" : b >= 0 ? A ? "FAIL" : n.land < 1 ? "LAND" : "DONE" : n.takeoff < 1 ? "TKOF" : k ? "MCP" : T ? "THNK" : "WAIT", ee = `${Ot(t.tokens)} tk ${me}`;
321
+ ee !== n.t2 && (n.t2 = ee, l.current.setText(v, ee));
322
322
  }
323
323
  });
324
324
  const M = (d) => {
325
325
  d.stopPropagation(), o(t.id);
326
- }, m = t.id.split(":")[2], x = !t.subagent, y = `${t.name.toUpperCase()}${m !== void 0 && /^\d+$/.test(m) ? ` ${Number(m) + 1}` : ""}`, f = R(() => Math.sin(fe(e.target)) < -0.15 && Math.hypot(e.target.x, e.target.z) > 1.5, [e]);
327
- return /* @__PURE__ */ D("group", { ref: s, children: [
328
- /* @__PURE__ */ D("group", { ref: u, children: [
329
- /* @__PURE__ */ v("mesh", { geometry: Ye, material: h.fill }),
330
- /* @__PURE__ */ v("lineSegments", { geometry: Tt, material: h.edge })
326
+ }, m = t.id.split(":")[2], x = !t.subagent, v = `${t.name.toUpperCase()}${m !== void 0 && /^\d+$/.test(m) ? ` ${Number(m) + 1}` : ""}`, f = R(() => Math.sin(fe(e.target)) < -0.15 && Math.hypot(e.target.x, e.target.z) > 1.5, [e]);
327
+ return /* @__PURE__ */ F("group", { ref: s, children: [
328
+ /* @__PURE__ */ F("group", { ref: u, children: [
329
+ /* @__PURE__ */ y("mesh", { geometry: Xe, material: h.fill }),
330
+ /* @__PURE__ */ y("lineSegments", { geometry: kt, material: h.edge })
331
331
  ] }),
332
- /* @__PURE__ */ v("sprite", { ref: c, material: h.halo }),
333
- /* @__PURE__ */ v(
332
+ /* @__PURE__ */ y("sprite", { ref: c, material: h.halo }),
333
+ /* @__PURE__ */ y(
334
334
  "mesh",
335
335
  {
336
- geometry: kt,
337
- material: Bt,
338
- scale: at(t) * 1.2,
336
+ geometry: Bt,
337
+ material: Et,
338
+ scale: st(t) * 1.2,
339
339
  onClick: M,
340
340
  onPointerOver: () => document.body.style.cursor = "pointer",
341
341
  onPointerOut: () => document.body.style.cursor = ""
342
342
  }
343
343
  ),
344
- /* @__PURE__ */ v(
344
+ /* @__PURE__ */ y(
345
345
  re,
346
346
  {
347
347
  ref: l,
348
- text: y,
348
+ text: v,
349
349
  secondary: "",
350
350
  font: "mono",
351
351
  plate: "bar",
@@ -354,7 +354,7 @@ function Ot({ agent: e, onSelect: o }) {
354
354
  anchorX: f ? "right" : "left",
355
355
  anchorY: "bottom",
356
356
  textAlign: f ? "right" : "left",
357
- color: He[t.type],
357
+ color: Ie[t.type],
358
358
  textColor: "#d9ffe9",
359
359
  secondaryColor: "#57d897",
360
360
  letterSpacing: 0.06,
@@ -368,63 +368,63 @@ function Ot({ agent: e, onSelect: o }) {
368
368
  )
369
369
  ] });
370
370
  }
371
- const Ie = 6, Dt = 1.15;
372
- function Ft() {
373
- const e = R(() => new ne(220, 64), []), o = R(() => new Ne(600), []), t = R(() => ({ a: new r.Vector3(), b: new r.Vector3(), c: new r.Vector3(), h: new r.Vector3(), col: new r.Color() }), []), s = R(() => /* @__PURE__ */ new Map(), []);
371
+ const _e = 6, Ut = 1.15;
372
+ function Dt() {
373
+ const e = R(() => new ne(220, 64), []), o = R(() => new We(600), []), t = R(() => ({ a: new r.Vector3(), b: new r.Vector3(), c: new r.Vector3(), h: new r.Vector3(), col: new r.Color() }), []), s = R(() => /* @__PURE__ */ new Map(), []);
374
374
  return W(({ clock: u, size: c }) => {
375
- const l = performance.now(), i = u.elapsedTime, h = L ? 0 : i;
375
+ const l = performance.now(), i = u.elapsedTime, h = H ? 0 : i;
376
376
  e.begin(h), o.begin(), o.material.uniforms.uScale.value = c.height * 0.9;
377
- const { a: n, b: M, c: m, h: x, col: y } = t;
377
+ const { a: n, b: M, c: m, h: x, col: v } = t;
378
378
  for (const d of Y.agents.values()) {
379
- const p = d.inst, a = H.get(p.id);
379
+ const p = d.inst, a = L.get(p.id);
380
380
  if (!a || a.vis <= 0.01) continue;
381
- if (e.segment(a.pos, a.ground, a.color, 0.28 * a.vis, 0.05 * a.vis), o.add(a.ground.x, 0.03, a.ground.z, 0.22 * a.scale, a.color, 0.35 * a.vis), a.takeoff >= 1 && !L)
382
- for (let g = 1; g <= Ie; g++) {
383
- We(p, d.pos, i - g * Dt, n);
384
- const b = 1 - g / (Ie + 1);
381
+ if (e.segment(a.pos, a.ground, a.color, 0.28 * a.vis, 0.05 * a.vis), o.add(a.ground.x, 0.03, a.ground.z, 0.22 * a.scale, a.color, 0.35 * a.vis), a.takeoff >= 1 && !H)
382
+ for (let g = 1; g <= _e; g++) {
383
+ He(p, d.pos, i - g * Ut, n);
384
+ const b = 1 - g / (_e + 1);
385
385
  o.add(n.x, a.pos.y, n.z, (p.subagent ? 0.16 : 0.24) * (0.6 + b * 0.4), a.color, 0.55 * b * b * a.vis);
386
386
  }
387
387
  if (p.parent) {
388
- const g = H.get(p.parent), b = V.instances.get(p.parent), C = !!g && !!b && !b.exitAt && !p.exitAt, T = s.get(p.id) ?? 0, A = T + ((C ? 1 : 0) - T) * (C ? 0.06 : 0.04);
389
- s.set(p.id, A), g && A > 0.01 && (de(g.pos, a.pos, 0.9, 0.5, m), a.takeoff < 1 ? e.curve(g.pos, m, a.pos, a.color, 0.9, U.Head, a.takeoff, 1) : (e.curve(g.pos, m, a.pos, a.color, 0.95 * A * Math.min(g.vis, a.vis), U.Dash, 0, 1, 10, 1.2), e.arrow(g.pos, m, a.pos, 0.8, 1, p.subagent ? 0.26 : 0.34, a.color, 0.9 * A * a.vis)));
388
+ const g = L.get(p.parent), b = V.instances.get(p.parent), C = !!g && !!b && !b.exitAt && !p.exitAt, T = s.get(p.id) ?? 0, A = T + ((C ? 1 : 0) - T) * (C ? 0.06 : 0.04);
389
+ s.set(p.id, A), g && A > 0.01 && (de(g.pos, a.pos, 0.9, 0.5, m), a.takeoff < 1 ? e.curve(g.pos, m, a.pos, a.color, 0.9, D.Head, a.takeoff, 1) : (e.curve(g.pos, m, a.pos, a.color, 0.95 * A * Math.min(g.vis, a.vis), D.Dash, 0, 1, 10, 1.2), e.arrow(g.pos, m, a.pos, 0.8, 1, p.subagent ? 0.26 : 0.34, a.color, 0.9 * A * a.vis)));
390
390
  }
391
391
  let w = -1;
392
392
  for (const g of V.mcpPending.values()) g.instance === p.id && (w = Math.max(w, (l - g.since) / 1e3));
393
393
  if (w >= 0) {
394
- y.copy(Le).lerp(Se, B((w - 1.2) / 1.2));
395
- const g = L ? 0.6 : 0.5 + 0.5 * Math.sin(i * 6), b = 0.62 * a.scale;
396
- for (let C = 0; C < 4; C++) e.ring(a.pos.x, a.pos.z, a.pos.y, b, C * 1.5708 + 0.25, C * 1.5708 + 1.3, y, (0.6 + g * 0.6) * a.vis);
394
+ v.copy(Le).lerp(Se, B((w - 1.2) / 1.2));
395
+ const g = H ? 0.6 : 0.5 + 0.5 * Math.sin(i * 6), b = 0.62 * a.scale;
396
+ for (let C = 0; C < 4; C++) e.ring(a.pos.x, a.pos.z, a.pos.y, b, C * 1.5708 + 0.25, C * 1.5708 + 1.3, v, (0.6 + g * 0.6) * a.vis);
397
397
  }
398
398
  }
399
399
  for (const d of s.keys()) V.instances.has(d) || s.delete(d);
400
- const f = V.selected ? H.get(V.selected) : void 0;
400
+ const f = V.selected ? L.get(V.selected) : void 0;
401
401
  if (f && f.vis > 0.01) {
402
402
  const d = 0.75 * f.scale + 0.15, p = d * 0.45, a = f.pos.y;
403
- y.copy(j);
403
+ v.copy(j);
404
404
  for (let w = -1; w <= 1; w += 2)
405
405
  for (let g = -1; g <= 1; g += 2)
406
- n.set(f.pos.x + w * d, a, f.pos.z + g * d), M.set(n.x - w * p, a, n.z), e.segment(n, M, y, 0.9), M.set(n.x, a, n.z - g * p), e.segment(n, M, y, 0.9);
406
+ n.set(f.pos.x + w * d, a, f.pos.z + g * d), M.set(n.x - w * p, a, n.z), e.segment(n, M, v, 0.9), M.set(n.x, a, n.z - g * p), e.segment(n, M, v, 0.9);
407
407
  }
408
408
  for (const d of V.comets) {
409
- const p = H.get(d.from), a = H.get(d.to);
409
+ const p = L.get(d.from), a = L.get(d.to);
410
410
  if (!p || !a) continue;
411
411
  const w = B((l - d.start) / d.dur);
412
412
  if (w >= 1) continue;
413
413
  de(p.pos, a.pos, 1.8, -0.9, m);
414
414
  const g = Q(w), b = w < 0.85 ? 1 : 1 - (w - 0.85) / 0.15;
415
- e.curve(p.pos, m, a.pos, p.color, 0.18 * b, U.Solid), e.curve(p.pos, m, a.pos, p.color, 0.75 * b, U.Head, g, Math.min(1, g + 0.01)), e.arrow(p.pos, m, a.pos, Math.max(0.02, g), 1, 0.36, p.color, 1.6 * b), oe(p.pos, m, a.pos, g, x), y.copy(p.color).lerp(j, 0.4), o.add(x.x, x.y, x.z, 0.75, y, 1.3 * b);
415
+ e.curve(p.pos, m, a.pos, p.color, 0.18 * b, D.Solid), e.curve(p.pos, m, a.pos, p.color, 0.75 * b, D.Head, g, Math.min(1, g + 0.01)), e.arrow(p.pos, m, a.pos, Math.max(0.02, g), 1, 0.36, p.color, 1.6 * b), oe(p.pos, m, a.pos, g, x), v.copy(p.color).lerp(j, 0.4), o.add(x.x, x.y, x.z, 0.75, v, 1.3 * b);
416
416
  }
417
417
  e.end(), o.end();
418
- }), /* @__PURE__ */ D(he, { children: [
419
- /* @__PURE__ */ v("primitive", { object: e.lines }),
420
- /* @__PURE__ */ v("primitive", { object: e.arrows }),
421
- /* @__PURE__ */ v("primitive", { object: o.points })
418
+ }), /* @__PURE__ */ F(he, { children: [
419
+ /* @__PURE__ */ y("primitive", { object: e.lines }),
420
+ /* @__PURE__ */ y("primitive", { object: e.arrows }),
421
+ /* @__PURE__ */ y("primitive", { object: o.points })
422
422
  ] });
423
423
  }
424
- const Ut = new r.RingGeometry(0.955, 1, 96).rotateX(-Math.PI / 2);
425
- function qt() {
424
+ const qt = new r.RingGeometry(0.955, 1, 96).rotateX(-Math.PI / 2);
425
+ function _t() {
426
426
  const e = R(() => {
427
- const t = new r.InstancedMesh(Ut, new r.MeshBasicMaterial({ blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1, side: r.DoubleSide }), Me.length);
427
+ const t = new r.InstancedMesh(qt, new r.MeshBasicMaterial({ blending: r.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1, side: r.DoubleSide }), Me.length);
428
428
  return t.instanceColor = new r.InstancedBufferAttribute(new Float32Array(Me.length * 3), 3), t.frustumCulled = !1, t.count = 0, t;
429
429
  }, []), o = R(() => new r.Object3D(), []);
430
430
  return W(() => {
@@ -440,24 +440,24 @@ function qt() {
440
440
  u[s * 3] = c.color.r * h, u[s * 3 + 1] = c.color.g * h, u[s * 3 + 2] = c.color.b * h, s++;
441
441
  }
442
442
  e.count = s, e.instanceMatrix.needsUpdate = !0, e.instanceColor.needsUpdate = !0;
443
- }), /* @__PURE__ */ v("primitive", { object: e });
443
+ }), /* @__PURE__ */ y("primitive", { object: e });
444
444
  }
445
445
  const $ = 0.36;
446
446
  function Ae(e) {
447
447
  return Math.hypot(e.origin.x, e.origin.z) > 1.2 ? fe(e.origin) : fe(e.axis);
448
448
  }
449
- function _t({ run: e }) {
449
+ function It({ run: e }) {
450
450
  const o = E(null);
451
451
  W(() => {
452
452
  o.current && ue(Ae(e), I.r + 1.75, 0, o.current.position);
453
453
  });
454
454
  const t = Ae(e), s = Math.sin(t), u = Math.cos(t);
455
- return /* @__PURE__ */ v("group", { ref: o, children: e.run && /* @__PURE__ */ v(It, { run: e.run, anchorX: s > 0.35 ? "left" : s < -0.35 ? "right" : "center", anchorY: u > 0.35 ? "bottom" : u < -0.35 ? "top" : "middle" }) });
455
+ return /* @__PURE__ */ y("group", { ref: o, children: e.run && /* @__PURE__ */ y(Lt, { run: e.run, anchorX: s > 0.35 ? "left" : s < -0.35 ? "right" : "center", anchorY: u > 0.35 ? "bottom" : u < -0.35 ? "top" : "middle" }) });
456
456
  }
457
- function It({ run: e, anchorX: o, anchorY: t }) {
458
- lt();
457
+ function Lt({ run: e, anchorX: o, anchorY: t }) {
458
+ ct();
459
459
  const s = e.status !== "started";
460
- return /* @__PURE__ */ v(
460
+ return /* @__PURE__ */ y(
461
461
  re,
462
462
  {
463
463
  anchorX: o,
@@ -466,7 +466,7 @@ function It({ run: e, anchorX: o, anchorY: t }) {
466
466
  plate: "bar",
467
467
  text: e.topic,
468
468
  textColor: "#e8fff1",
469
- secondary: ct(e, { base: "#5fbf8d", current: "#b8ffd6", done: "#9fcfb4" }, ["airborne…", "run complete", "run failed"]),
469
+ secondary: pt(e, { base: "#5fbf8d", current: "#b8ffd6", done: "#9fcfb4" }, ["airborne…", "run complete", "run failed"]),
470
470
  color: e.color,
471
471
  size: 0.34,
472
472
  secondarySize: 0.27,
@@ -485,30 +485,30 @@ function Ht() {
485
485
  for (const c of Y.runs.values()) {
486
486
  const l = c.run;
487
487
  if (!l) continue;
488
- const i = Ae(c), h = Ge((s - l.startedAt) / 1e3), n = l.endedAt ? B(1 - (s - l.endedAt - (it - 2500)) / 2500) : 1, M = h * n;
488
+ const i = Ae(c), h = Ge((s - l.startedAt) / 1e3), n = l.endedAt ? B(1 - (s - l.endedAt - (at - 2500)) / 2500) : 1, M = h * n;
489
489
  o.set(l.color).lerp(K, 0.15);
490
490
  const m = I.r + 0.3;
491
491
  if (l.hasSteps) {
492
492
  const x = 2 * $ * h / 3;
493
- for (let f = 0; f < qe.length; f++) {
494
- const d = l.steps[qe[f]], p = L ? 0.7 : 0.5 + 0.5 * Math.sin(u * 4), a = d === "running" ? 1.1 + p * 0.8 : d === "done" ? 0.75 : d === "failed" ? 0.9 : 0.18, w = i - $ * h + f * x + 0.02, g = d === "failed" ? o.set("#ff4a4a") : o.set(l.color).lerp(K, 0.15);
493
+ for (let f = 0; f < it.length; f++) {
494
+ const d = lt(l, f), p = H ? 0.7 : 0.5 + 0.5 * Math.sin(u * 4), a = d === "running" ? 1.1 + p * 0.8 : d === "done" ? 0.75 : d === "failed" ? 0.9 : 0.18, w = i - $ * h + f * x + 0.02, g = d === "failed" ? o.set("#ff4a4a") : o.set(l.color).lerp(K, 0.15);
495
495
  e.ring(0, 0, 0.03, m, w, w + x - 0.04, g, a * M), e.ring(0, 0, 0.03, m + 0.06, w, w + x - 0.04, g, a * M * 0.5);
496
496
  }
497
- const y = l.handoffAt ? 1 - (s - l.handoffAt) / 900 : 0;
498
- y > 0 && e.ring(0, 0, 0.03, m + 0.14, i - $, i + $, j, y * 0.8 * M);
497
+ const v = l.handoffAt ? 1 - (s - l.handoffAt) / 900 : 0;
498
+ v > 0 && e.ring(0, 0, 0.03, m + 0.14, i - $, i + $, j, v * 0.8 * M);
499
499
  } else
500
500
  e.ring(0, 0, 0.03, m, i - $ * h, i + $ * h, o, 0.85 * M), e.ring(0, 0, 0.03, m + 0.06, i - $ * h, i + $ * h, o, 0.35 * M);
501
501
  }
502
502
  e.end();
503
- }), /* @__PURE__ */ v("primitive", { object: e.lines });
503
+ }), /* @__PURE__ */ y("primitive", { object: e.lines });
504
504
  }
505
- const Te = 1, Lt = (
505
+ const Te = 1, Wt = (
506
506
  /* glsl */
507
507
  `
508
508
  uniform float uExt;
509
509
  varying vec2 vP;
510
510
  void main(){ vP = position.xy * uExt; gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); }`
511
- ), Wt = (
511
+ ), Nt = (
512
512
  /* glsl */
513
513
  `
514
514
  uniform float uSweep; uniform float uR;
@@ -558,16 +558,16 @@ void main(){
558
558
  gl_FragColor = vec4(col * outer, 1.0);
559
559
  }`
560
560
  ), ke = Array.from({ length: 12 }, (e, o) => o * 30);
561
- function Nt() {
561
+ function jt() {
562
562
  const e = E([]);
563
563
  return W(() => {
564
564
  for (let o = 0; o < ke.length; o++) {
565
565
  const t = e.current[o];
566
566
  t && ue(ke[o] * Math.PI / 180, I.r + 0.85, 0, t.position);
567
567
  }
568
- }), /* @__PURE__ */ v(he, { children: ke.map((o, t) => /* @__PURE__ */ v("group", { ref: (s) => void (e.current[t] = s), children: /* @__PURE__ */ v(re, { text: String(o).padStart(3, "0"), font: "mono", plate: "none", textColor: "#2fae6e", letterSpacing: 0.08, size: 0.24, opacity: 0.85, pxRange: [6.5, 9.5], renderOrder: 12 }) }, o)) });
568
+ }), /* @__PURE__ */ y(he, { children: ke.map((o, t) => /* @__PURE__ */ y("group", { ref: (s) => void (e.current[t] = s), children: /* @__PURE__ */ y(re, { text: String(o).padStart(3, "0"), font: "mono", plate: "none", textColor: "#2fae6e", letterSpacing: 0.08, size: 0.24, opacity: 0.85, pxRange: [6.5, 9.5], renderOrder: 12 }) }, o)) });
569
569
  }
570
- function jt() {
570
+ function $t() {
571
571
  const e = R(
572
572
  () => new r.ShaderMaterial({
573
573
  uniforms: {
@@ -579,21 +579,21 @@ function jt() {
579
579
  uSweepC: { value: new r.Color("#5dffb4") },
580
580
  uCyan: { value: new r.Color("#38e8ff") }
581
581
  },
582
- vertexShader: Lt,
583
- fragmentShader: Wt,
582
+ vertexShader: Wt,
583
+ fragmentShader: Nt,
584
584
  toneMapped: !1
585
585
  }),
586
586
  []
587
587
  ), o = E(null);
588
588
  return W(({ clock: t }) => {
589
589
  var s;
590
- gt(), e.uniforms.uSweep.value = Ve(t.elapsedTime), e.uniforms.uR.value = I.r, e.uniforms.uExt.value = I.r + Te, (s = o.current) == null || s.scale.setScalar(I.r + Te);
591
- }), /* @__PURE__ */ D(he, { children: [
592
- /* @__PURE__ */ v("mesh", { ref: o, rotation: [-Math.PI / 2, 0, 0], material: e, renderOrder: -1, children: /* @__PURE__ */ v("circleGeometry", { args: [1, 160] }) }),
593
- /* @__PURE__ */ v(Nt, {})
590
+ mt(), e.uniforms.uSweep.value = Ve(t.elapsedTime), e.uniforms.uR.value = I.r, e.uniforms.uExt.value = I.r + Te, (s = o.current) == null || s.scale.setScalar(I.r + Te);
591
+ }), /* @__PURE__ */ F(he, { children: [
592
+ /* @__PURE__ */ y("mesh", { ref: o, rotation: [-Math.PI / 2, 0, 0], material: e, renderOrder: -1, children: /* @__PURE__ */ y("circleGeometry", { args: [1, 160] }) }),
593
+ /* @__PURE__ */ y(jt, {})
594
594
  ] });
595
595
  }
596
- const _ = 3.4, $t = 180, be = 4, Be = new r.Color("#ffd27a"), Xt = (
596
+ const _ = 3.4, Xt = 180, be = 4, Be = new r.Color("#ffd27a"), Yt = (
597
597
  /* glsl */
598
598
  `
599
599
  attribute float aSize; attribute vec3 aColor; attribute float aHeat;
@@ -608,7 +608,7 @@ void main(){
608
608
  vC = aColor * (0.45 + glow * 0.9); vHeat = aHeat;
609
609
  gl_Position = projectionMatrix * mv;
610
610
  }`
611
- ), Yt = (
611
+ ), Kt = (
612
612
  /* glsl */
613
613
  `
614
614
  varying vec3 vC; varying float vHeat;
@@ -629,15 +629,15 @@ void main(){
629
629
  gl_FragColor = vec4(vC * a, 1.0);
630
630
  }`
631
631
  );
632
- function Kt({ galaxy: e }) {
633
- const o = R(() => e.nodes.slice(0, $t), [e]), t = o.length, s = R(() => {
634
- const y = new Float32Array(t * 3), f = new r.Vector3(), d = Math.PI * (3 - Math.sqrt(5));
632
+ function Zt({ galaxy: e }) {
633
+ const o = R(() => e.nodes.slice(0, Xt), [e]), t = o.length, s = R(() => {
634
+ const v = new Float32Array(t * 3), f = new r.Vector3(), d = Math.PI * (3 - Math.sqrt(5));
635
635
  for (let A = 0; A < t; A++) {
636
636
  const G = o[A].id, O = 0.45 + (_ - 0.75) * Math.sqrt((A + 0.5) / t) + (xe(G, 11) - 0.5) * 0.25;
637
- ue(A * d + (xe(G, 12) - 0.5) * 0.12, O, 0.04, f), y.set([f.x, f.y, f.z], A * 3);
637
+ ue(A * d + (xe(G, 12) - 0.5) * 0.12, O, 0.04, f), v.set([f.x, f.y, f.z], A * 3);
638
638
  }
639
639
  const p = new r.BufferGeometry();
640
- p.setAttribute("position", new r.BufferAttribute(y, 3)), p.setAttribute("aSize", new r.BufferAttribute(new Float32Array(t).fill(0.32), 1));
640
+ p.setAttribute("position", new r.BufferAttribute(v, 3)), p.setAttribute("aSize", new r.BufferAttribute(new Float32Array(t).fill(0.32), 1));
641
641
  const a = new Float32Array(t * 3), w = new r.Color("#2fd6c8");
642
642
  for (let A = 0; A < t; A++) a.set([w.r, w.g, w.b], A * 3);
643
643
  p.setAttribute("aColor", new r.BufferAttribute(a, 3)), p.setAttribute("aHeat", new r.BufferAttribute(new Float32Array(t), 1)), p.boundingSphere = new r.Sphere(new r.Vector3(), 1e4);
@@ -645,38 +645,38 @@ function Kt({ galaxy: e }) {
645
645
  for (const A of e.links) {
646
646
  const G = g.get(A.source), O = g.get(A.target);
647
647
  if (G === void 0 || O === void 0 || G === O) continue;
648
- const Z = y[G * 3] - y[O * 3], N = y[G * 3 + 2] - y[O * 3 + 2];
648
+ const Z = v[G * 3] - v[O * 3], N = v[G * 3 + 2] - v[O * 3 + 2];
649
649
  if (Z * Z + N * N < 1.6 * 1.6 && b.push(G, O), b.length > 600) break;
650
650
  }
651
651
  const C = new r.BufferGeometry(), T = new Float32Array(b.length * 3);
652
- for (let A = 0; A < b.length; A++) T.set([y[b[A] * 3], 0.03, y[b[A] * 3 + 2]], A * 3);
653
- return C.setAttribute("position", new r.BufferAttribute(T, 3)), C.setAttribute("color", new r.BufferAttribute(new Float32Array(b.length * 3), 3)), C.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), { pos: y, g: p, lg: C, pairs: b, read: new Float32Array(t), write: new Float32Array(t) };
652
+ for (let A = 0; A < b.length; A++) T.set([v[b[A] * 3], 0.03, v[b[A] * 3 + 2]], A * 3);
653
+ return C.setAttribute("position", new r.BufferAttribute(T, 3)), C.setAttribute("color", new r.BufferAttribute(new Float32Array(b.length * 3), 3)), C.boundingSphere = new r.Sphere(new r.Vector3(), 1e4), { pos: v, g: p, lg: C, pairs: b, read: new Float32Array(t), write: new Float32Array(t) };
654
654
  }, [o, e.links, t]), u = R(
655
- () => new r.ShaderMaterial({ uniforms: { uScale: { value: 300 }, uSweep: { value: 0 } }, vertexShader: Xt, fragmentShader: Yt, transparent: !0, depthWrite: !1, blending: r.AdditiveBlending }),
655
+ () => new r.ShaderMaterial({ uniforms: { uScale: { value: 300 }, uSweep: { value: 0 } }, vertexShader: Yt, fragmentShader: Kt, transparent: !0, depthWrite: !1, blending: r.AdditiveBlending }),
656
656
  []
657
657
  ), c = R(() => new r.LineBasicMaterial({ vertexColors: !0, transparent: !0, blending: r.AdditiveBlending, depthWrite: !1, toneMapped: !1 }), []), l = R(() => new ne(48, 32), []), i = E({ lastFlare: 0, last: 0 }), h = E([]), n = E([]), M = E(Array(be).fill("")), m = R(() => ({ wp: new r.Vector3(), ws: new r.Vector3(), bp: new r.Vector3(), c: new r.Vector3(), col: new r.Color(), base: new r.Color("#2fd6c8"), air: new r.Color("#0f6f5a") }), []), x = R(() => {
658
- const y = [];
658
+ const v = [];
659
659
  for (let p = 0; p < 96; p++) {
660
660
  const a = p / 96 * X, w = (p + 1) / 96 * X;
661
- y.push(Math.sin(a) * _, 0.02, -Math.cos(a) * _, Math.sin(w) * _, 0.02, -Math.cos(w) * _);
661
+ v.push(Math.sin(a) * _, 0.02, -Math.cos(a) * _, Math.sin(w) * _, 0.02, -Math.cos(w) * _);
662
662
  }
663
663
  for (let p = 0; p < 4; p++) {
664
664
  const a = p / 4 * X;
665
- y.push(Math.sin(a) * _, 0.02, -Math.cos(a) * _, Math.sin(a) * (_ + 0.3), 0.02, -Math.cos(a) * (_ + 0.3));
665
+ v.push(Math.sin(a) * _, 0.02, -Math.cos(a) * _, Math.sin(a) * (_ + 0.3), 0.02, -Math.cos(a) * (_ + 0.3));
666
666
  }
667
667
  const d = new r.BufferGeometry();
668
- return d.setAttribute("position", new r.Float32BufferAttribute(y, 3)), d;
668
+ return d.setAttribute("position", new r.Float32BufferAttribute(v, 3)), d;
669
669
  }, []);
670
- return W(({ clock: y, size: f }) => {
670
+ return W(({ clock: v, size: f }) => {
671
671
  var we;
672
672
  const d = performance.now(), p = Math.min(0.1, i.current.last ? (d - i.current.last) / 1e3 : 0.016);
673
- i.current.last = d, u.uniforms.uScale.value = f.height * 0.9 * Y.graph.scale, u.uniforms.uSweep.value = Ve(y.elapsedTime);
673
+ i.current.last = d, u.uniforms.uScale.value = f.height * 0.9 * Y.graph.scale, u.uniforms.uSweep.value = Ve(v.elapsedTime);
674
674
  const { read: a, write: w, pos: g } = s, { wp: b, c: C, col: T, base: A, air: G } = m;
675
675
  for (const S of V.flares) {
676
676
  if (S.id <= i.current.lastFlare) continue;
677
677
  i.current.lastFlare = Math.max(i.current.lastFlare, S.id);
678
678
  const z = Re(e, S.node) % t;
679
- S.op === "read" ? a[z] = 1 : (w[z] = 1, b.set(g[z * 3], 0.05, g[z * 3 + 2]), ce(pt(b, m.ws), 1.6 * Y.graph.scale, Be, 1400, 0.9));
679
+ S.op === "read" ? a[z] = 1 : (w[z] = 1, b.set(g[z * 3], 0.05, g[z * 3 + 2]), ce(ut(b, m.ws), 1.6 * Y.graph.scale, Be, 1400, 0.9));
680
680
  }
681
681
  const O = Math.exp(-p * 0.8), Z = s.g.getAttribute("aHeat"), N = s.g.getAttribute("aColor");
682
682
  for (let S = 0; S < t; S++) {
@@ -687,22 +687,22 @@ function Kt({ galaxy: e }) {
687
687
  Z.needsUpdate = !0, N.needsUpdate = !0;
688
688
  const se = s.lg.getAttribute("color");
689
689
  for (let S = 0; S < s.pairs.length; S++) {
690
- const z = s.pairs[S], F = Math.max(a[z], w[z]), q = 0.1 + F * 1.4;
691
- se.setXYZ(S, G.r * q + ie.r * F * 0.4, G.g * q + ie.g * F * 0.4, G.b * q + ie.b * F * 0.4);
690
+ const z = s.pairs[S], U = Math.max(a[z], w[z]), q = 0.1 + U * 1.4;
691
+ se.setXYZ(S, G.r * q + ie.r * U * 0.4, G.g * q + ie.g * U * 0.4, G.b * q + ie.b * U * 0.4);
692
692
  }
693
- se.needsUpdate = !0, l.begin(L ? 0 : y.elapsedTime);
693
+ se.needsUpdate = !0, l.begin(H ? 0 : v.elapsedTime);
694
694
  let ge = 0;
695
695
  for (let S = V.flares.length - 1; S >= 0; S--) {
696
- const z = V.flares[S], F = (d - z.start) / 1e3;
697
- if (F > 1.8) continue;
698
- const q = H.get(z.instance);
696
+ const z = V.flares[S], U = (d - z.start) / 1e3;
697
+ if (U > 1.8) continue;
698
+ const q = L.get(z.instance);
699
699
  if (!q) continue;
700
700
  const J = Re(e, z.node) % t;
701
701
  b.set(g[J * 3], 0.05, g[J * 3 + 2]);
702
- const ae = ut(q.pos, m.bp);
702
+ const ae = ft(q.pos, m.bp);
703
703
  de(ae, b, 0.6, 0.3, C);
704
- const te = B(F / 1.1), Fe = F < 1.1 ? 1 : 1 - (F - 1.1) / 0.7, Ue = z.op === "read" ? ie : Be, Ke = z.op === "read" ? 1 - Q(te) : Q(te);
705
- if (l.curve(ae, C, b, Ue, 0.6 * Fe * q.vis, U.Head, Ke, 1), l.arrow(ae, C, b, z.op === "read" ? 0.1 : 0.9, z.op === "read" ? -1 : 1, 0.26, Ue, 1.2 * Fe * q.vis), ++ge > 40) break;
704
+ const te = B(U / 1.1), Ue = U < 1.1 ? 1 : 1 - (U - 1.1) / 0.7, De = z.op === "read" ? ie : Be, Ye = z.op === "read" ? 1 - Q(te) : Q(te);
705
+ if (l.curve(ae, C, b, De, 0.6 * Ue * q.vis, D.Head, Ye, 1), l.arrow(ae, C, b, z.op === "read" ? 0.1 : 0.9, z.op === "read" ? -1 : 1, 0.26, De, 1.2 * Ue * q.vis), ++ge > 40) break;
706
706
  }
707
707
  l.end();
708
708
  let k = 0;
@@ -711,11 +711,11 @@ function Kt({ galaxy: e }) {
711
711
  const z = V.flares[S];
712
712
  if (ee.includes(z.node)) continue;
713
713
  ee.push(z.node);
714
- const F = Re(e, z.node) % t, q = h.current[k], J = n.current[k];
715
- q && q.position.set(g[F * 3], 0.05, g[F * 3 + 2]);
714
+ const U = Re(e, z.node) % t, q = h.current[k], J = n.current[k];
715
+ q && q.position.set(g[U * 3], 0.05, g[U * 3 + 2]);
716
716
  const ae = (d - z.start) / 1e3;
717
717
  if (J) {
718
- const te = `${z.op === "read" ? "RD" : "WR"} ${((we = e.nodes[F]) == null ? void 0 : we.name) ?? z.node}`;
718
+ const te = `${z.op === "read" ? "RD" : "WR"} ${((we = e.nodes[U]) == null ? void 0 : we.name) ?? z.node}`;
719
719
  me[k] !== te && (me[k] = te, J.setText(te), J.setColor(z.op === "read" ? "#38e8ff" : "#ffd27a")), J.setOpacity(B(1.4 - ae / 1.8));
720
720
  }
721
721
  k++;
@@ -724,25 +724,25 @@ function Kt({ galaxy: e }) {
724
724
  const S = n.current[k];
725
725
  S == null || S.setOpacity(0);
726
726
  }
727
- }), /* @__PURE__ */ D(he, { children: [
728
- /* @__PURE__ */ v("lineSegments", { geometry: x, children: /* @__PURE__ */ v("lineBasicMaterial", { color: "#1fa865", transparent: !0, opacity: 0.55, toneMapped: !1 }) }),
729
- /* @__PURE__ */ v("lineSegments", { geometry: s.lg, material: c, frustumCulled: !1 }),
730
- /* @__PURE__ */ v("points", { geometry: s.g, material: u, frustumCulled: !1 }),
731
- /* @__PURE__ */ v("primitive", { object: l.lines }),
732
- /* @__PURE__ */ v("primitive", { object: l.arrows }),
733
- Array.from({ length: be }, (y, f) => /* @__PURE__ */ v("group", { ref: (d) => void (h.current[f] = d), children: /* @__PURE__ */ v(re, { ref: (d) => void (n.current[f] = d), position: [0, 0, 0.45], text: "", font: "mono", plate: "box", letterSpacing: 0.05, size: 0.26, opacity: 0, pxRange: [7.5, 10.5], renderOrder: 22 }) }, f)),
734
- /* @__PURE__ */ v(ft, { position: ue(Math.PI, _ + 0.9, 0, new r.Vector3()), prefix: "WPT waypoints · ", font: "mono", plate: "box", color: "#38e8ff", textColor: "#c8f7de", letterSpacing: 0.04, size: 0.3, pxRange: [8, 11.5] })
727
+ }), /* @__PURE__ */ F(he, { children: [
728
+ /* @__PURE__ */ y("lineSegments", { geometry: x, children: /* @__PURE__ */ y("lineBasicMaterial", { color: "#1fa865", transparent: !0, opacity: 0.55, toneMapped: !1 }) }),
729
+ /* @__PURE__ */ y("lineSegments", { geometry: s.lg, material: c, frustumCulled: !1 }),
730
+ /* @__PURE__ */ y("points", { geometry: s.g, material: u, frustumCulled: !1 }),
731
+ /* @__PURE__ */ y("primitive", { object: l.lines }),
732
+ /* @__PURE__ */ y("primitive", { object: l.arrows }),
733
+ Array.from({ length: be }, (v, f) => /* @__PURE__ */ y("group", { ref: (d) => void (h.current[f] = d), children: /* @__PURE__ */ y(re, { ref: (d) => void (n.current[f] = d), position: [0, 0, 0.45], text: "", font: "mono", plate: "box", letterSpacing: 0.05, size: 0.26, opacity: 0, pxRange: [7.5, 10.5], renderOrder: 22 }) }, f)),
734
+ /* @__PURE__ */ y(dt, { position: ue(Math.PI, _ + 0.9, 0, new r.Vector3()), prefix: "WPT waypoints · ", font: "mono", plate: "box", color: "#38e8ff", textColor: "#c8f7de", letterSpacing: 0.04, size: 0.3, pxRange: [8, 11.5] })
735
735
  ] });
736
736
  }
737
737
  const le = new r.Vector3();
738
- function Zt(e) {
738
+ function Jt(e) {
739
739
  const o = I.r + 1.2;
740
740
  e(le.set(o, 0, 0), 0.5), e(le.set(-o, 0, 0), 0.5), e(le.set(0, 0, o), 0.5), e(le.set(0, 0, -o), 0.5);
741
741
  for (const t of Y.runs.values()) e(ue(Ae(t), I.r + 2.6, 0, le), 1.4);
742
742
  }
743
- function ro() {
744
- return /* @__PURE__ */ D(
745
- dt,
743
+ function so() {
744
+ return /* @__PURE__ */ F(
745
+ ht,
746
746
  {
747
747
  title: "airport · radar scope",
748
748
  subtitle: "Agents are flights (solid = thinking, hollow = waiting, amber ring = waiting on MCP) · subagents take off from their parent · rings = LLM pings sized by tokens · ✈ MCP airports with backend gates · △ waypoints = graph memory",
@@ -757,28 +757,28 @@ function ro() {
757
757
  agentRadius: 0.9,
758
758
  graph: { natural: _ + 0.4, radius: 2.5 },
759
759
  peripheryGap: 3.4,
760
- Background: /* @__PURE__ */ v(jt, {}),
761
- Agent: Ot,
762
- RunMarker: _t,
763
- McpServer: zt,
764
- Backend: Rt,
765
- GraphResource: Kt,
760
+ Background: /* @__PURE__ */ y($t, {}),
761
+ Agent: Ft,
762
+ RunMarker: It,
763
+ McpServer: Pt,
764
+ Backend: zt,
765
+ GraphResource: Zt,
766
766
  cluster: { radius: 1.2, variant: "stars", color: "#46ff9a" },
767
767
  clusterOffset: [0, 0.9, 0],
768
- extents: Zt,
769
- PostFX: /* @__PURE__ */ D(Qe, { multisampling: 0, children: [
770
- /* @__PURE__ */ v(et, { mipmapBlur: !0, intensity: 0.95, luminanceThreshold: 0.22, luminanceSmoothing: 0.35, radius: 0.7 }),
771
- /* @__PURE__ */ v(tt, { eskil: !1, offset: 0.25, darkness: 0.85 })
768
+ extents: Jt,
769
+ PostFX: /* @__PURE__ */ F(Je, { multisampling: 0, children: [
770
+ /* @__PURE__ */ y(Qe, { mipmapBlur: !0, intensity: 0.95, luminanceThreshold: 0.22, luminanceSmoothing: 0.35, radius: 0.7 }),
771
+ /* @__PURE__ */ y(et, { eskil: !1, offset: 0.25, darkness: 0.85 })
772
772
  ] }),
773
773
  children: [
774
- /* @__PURE__ */ v(Ht, {}),
775
- /* @__PURE__ */ v(Pt, {}),
776
- /* @__PURE__ */ v(Ft, {}),
777
- /* @__PURE__ */ v(qt, {})
774
+ /* @__PURE__ */ y(Ht, {}),
775
+ /* @__PURE__ */ y(Tt, {}),
776
+ /* @__PURE__ */ y(Dt, {}),
777
+ /* @__PURE__ */ y(_t, {})
778
778
  ]
779
779
  }
780
780
  );
781
781
  }
782
782
  export {
783
- ro as default
783
+ so as default
784
784
  };