agentglow 0.2.0 → 0.2.1

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.
@@ -3,9 +3,9 @@ import { MeshReflectorMaterial as mt, Grid as gt, Trail as rt, Stars as yt } fro
3
3
  import { useFrame as ie, useThree as Mt } from "@react-three/fiber";
4
4
  import { EffectComposer as vt, Bloom as wt, Vignette as xt, Noise as bt } from "@react-three/postprocessing";
5
5
  import * as n from "three";
6
- import { useRef as x, useMemo as i, useEffect as ze, useState as St } from "react";
7
- import { k as te, y as At, f as Me, z as Gt, w as J, a as Ct, i as Bt, h as Ke, c as Et, K as Pt, m as zt, T as xe, L as Ye, G as Lt, n as Rt, q as _e, S as we, x as Ae, R as Ft, r as ue, d as Tt, b as Ue, g as kt, l as Vt, e as st, p as It, j as _t, A as Wt } from "./KitScene-BuFtYuhc.js";
8
- const Ot = (
6
+ import { useRef as x, useMemo as i, useEffect as Le, useState as St } from "react";
7
+ import { k as te, y as At, f as Me, z as Gt, w as J, a as Ct, i as Bt, h as Ke, c as Et, K as Pt, m as Lt, T as xe, L as Ye, G as zt, n as Rt, q as _e, S as we, x as Ae, R as Ft, A as Tt, r as ue, d as kt, b as Ue, g as Vt, l as It, e as st, p as _t, j as Wt, B as Ot } from "./KitScene-C3SZiKL5.js";
8
+ const Dt = (
9
9
  /* glsl */
10
10
  `
11
11
  varying vec3 vLocal;
@@ -24,7 +24,7 @@ void main() {
24
24
  vFogDepth = -mv.z;
25
25
  gl_Position = projectionMatrix * mv;
26
26
  }`
27
- ), Dt = (
27
+ ), Ut = (
28
28
  /* glsl */
29
29
  `
30
30
  uniform vec3 uColor; // window colour (agent type)
@@ -97,8 +97,8 @@ void main() {
97
97
  ), be = { color: new n.Color("#05040d"), near: 34, far: 110 }, Te = { near: { value: be.near }, far: { value: be.far } };
98
98
  function at(t = {}) {
99
99
  return new n.ShaderMaterial({
100
- vertexShader: Ot,
101
- fragmentShader: Dt,
100
+ vertexShader: Dt,
101
+ fragmentShader: Ut,
102
102
  toneMapped: !1,
103
103
  transparent: !1,
104
104
  uniforms: {
@@ -121,11 +121,11 @@ function at(t = {}) {
121
121
  }
122
122
  });
123
123
  }
124
- function Ut(t) {
124
+ function $t(t) {
125
125
  return () => (t = t * 16807 % 2147483647, (t - 1) / 2147483646);
126
126
  }
127
- const Le = 1.1, ct = () => Math.hypot(te.core.hw, te.core.hh) + 2.4;
128
- function $t() {
127
+ const ze = 1.1, ct = () => Math.hypot(te.core.hw, te.core.hh) + 2.4;
128
+ function Nt() {
129
129
  const t = x(null), e = 16;
130
130
  return ie(() => {
131
131
  const s = t.current;
@@ -169,10 +169,10 @@ function $t() {
169
169
  ),
170
170
  /* @__PURE__ */ v("group", { ref: t, children: [
171
171
  /* @__PURE__ */ v("mesh", { rotation: [-Math.PI / 2, 0, 0], position: [0, 0.015, 0], children: [
172
- /* @__PURE__ */ o("ringGeometry", { args: [e - Le, e + Le, 160] }),
172
+ /* @__PURE__ */ o("ringGeometry", { args: [e - ze, e + ze, 160] }),
173
173
  /* @__PURE__ */ o("meshBasicMaterial", { color: "#020308", transparent: !0, opacity: 0.8, depthWrite: !1 })
174
174
  ] }),
175
- [-Le, Le].map((s) => /* @__PURE__ */ v("mesh", { rotation: [-Math.PI / 2, 0, 0], position: [0, 0.02, 0], children: [
175
+ [-ze, ze].map((s) => /* @__PURE__ */ v("mesh", { rotation: [-Math.PI / 2, 0, 0], position: [0, 0.02, 0], children: [
176
176
  /* @__PURE__ */ o("ringGeometry", { args: [e + s - 0.03, e + s + 0.03, 160] }),
177
177
  /* @__PURE__ */ o("meshBasicMaterial", { color: new n.Color("#3b2f8f").multiplyScalar(1.4), toneMapped: !1 })
178
178
  ] }, s))
@@ -180,12 +180,12 @@ function $t() {
180
180
  ] });
181
181
  }
182
182
  const Je = 0.33, Qe = 0.94, Ge = new n.Object3D();
183
- function Nt() {
183
+ function Xt() {
184
184
  const t = x(null), e = i(() => {
185
185
  const a = at({ filler: !0 });
186
186
  return a.uniforms.uH.value = 999, a.uniforms.uLit.value = 0.2, a;
187
187
  }, []), s = i(() => new n.BoxGeometry(1, 1, 1).translate(0, 0.5, 0), []), r = i(() => {
188
- const a = Ut(42), w = [];
188
+ const a = $t(42), w = [];
189
189
  for (let u = -96; u <= 96; u += 4.6)
190
190
  for (let g = -96; g <= 60; g += 4.6) {
191
191
  const p = u + (a() - 0.5) * 1.6, S = g + (a() - 0.5) * 1.6;
@@ -223,9 +223,9 @@ function Nt() {
223
223
  Math.abs(A) > 0.01 ? (l[y] += A * H, B = !0) : l[y] = c[y], Ge.position.set(d.x, 0, d.z), Ge.rotation.set(0, d.ry, 0), Ge.scale.set(l[y] > 0.02 ? d.w : 1e-4, Math.max(1e-4, l[y]), l[y] > 0.02 ? d.d : 1e-4), Ge.updateMatrix(), u.setMatrixAt(y, Ge.matrix);
224
224
  }
225
225
  u.instanceMatrix.needsUpdate = !0, p.moving = B;
226
- }), ze(() => () => (s.dispose(), e.dispose()), [s, e]), /* @__PURE__ */ o("instancedMesh", { ref: t, args: [s, e, r.length], frustumCulled: !1 });
226
+ }), Le(() => () => (s.dispose(), e.dispose()), [s, e]), /* @__PURE__ */ o("instancedMesh", { ref: t, args: [s, e, r.length], frustumCulled: !1 });
227
227
  }
228
- const pe = 2.5, Xt = 1.4, et = 4.2, tt = 2.4, Ht = {
228
+ const pe = 2.5, Ht = 1.4, et = 4.2, tt = 2.4, qt = {
229
229
  name: "city-grid",
230
230
  local: { topGap: 3.4, fanLen: 3, subGap: 2.4, fan: "spread", stackGap: 2, pad: 1.3 },
231
231
  run(t, e, s) {
@@ -237,7 +237,7 @@ const pe = 2.5, Xt = 1.4, et = 4.2, tt = 2.4, Ht = {
237
237
  },
238
238
  periphery: "sides"
239
239
  };
240
- function qt(t, e) {
240
+ function Yt(t, e) {
241
241
  const s = t.type, r = t.id;
242
242
  if (!t.subagent && !Bt(s)) {
243
243
  const [l, c] = s === "planner" ? [1.7, 6] : s === "researcher" ? [2.1, 8.6] : [1.9, 7];
@@ -251,18 +251,18 @@ function fe(t, e) {
251
251
  if (s)
252
252
  return e.set(s.x, ke.get(t) ?? 0.3, s.z);
253
253
  }
254
- const Yt = 6.2, it = 0.72;
254
+ const jt = 6.2, it = 0.72;
255
255
  function je(t) {
256
256
  const e = J.mcpServers.get(t);
257
- return Yt + ((e == null ? void 0 : e.slot) ?? 0) % 2 * 1.3;
257
+ return jt + ((e == null ? void 0 : e.slot) ?? 0) % 2 * 1.3;
258
258
  }
259
259
  function $e(t, e) {
260
260
  const s = Et(t);
261
261
  if (s)
262
262
  return e.set(s.x, je(t) - 0.8, s.z);
263
263
  }
264
- const Ne = { queued: "#3b4256", running: "#fbbf24", done: "#22c55e", failed: "#ef4444" }, X = (t) => t < 0 ? 0 : t > 1 ? 1 : t, Se = (t) => 1 - Math.pow(1 - t, 3), ve = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2, lt = pe + 1.3, ut = 200, Pe = 34, Xe = 1.2, He = 1.1, jt = 2600, me = 12, Re = 4, qe = pe + 0.06;
265
- function Zt(t) {
264
+ const Ne = { queued: "#3b4256", running: "#fbbf24", done: "#22c55e", failed: "#ef4444" }, X = (t) => t < 0 ? 0 : t > 1 ? 1 : t, Se = (t) => 1 - Math.pow(1 - t, 3), ve = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2, lt = pe + 1.3, ut = 200, Pe = 34, Xe = 1.2, He = 1.1, Zt = 2600, me = 12, Re = 4, qe = pe + 0.06;
265
+ function Kt(t) {
266
266
  const e = [];
267
267
  for (let s = 0; s < t; s++) {
268
268
  const r = Math.floor(s / Pe), c = (s * 7 % Pe + r % 2 * 0.5) / Pe * Math.PI * 2, f = He + r * Xe;
@@ -270,70 +270,70 @@ function Zt(t) {
270
270
  }
271
271
  return { list: e, height: He + Math.ceil(t / Pe) * Xe };
272
272
  }
273
- const Kt = (t) => He + Math.ceil(Math.min(ut, t) / Pe) * Xe + 4.4;
274
- function Jt({ galaxy: t }) {
275
- const e = Math.min(ut, t.nodes.length), s = i(() => t.nodes.slice(0, e), [t, e]), { list: r, height: l } = i(() => Zt(e), [e]), c = i(() => s.map((m) => new n.Color(Pt[m.kind] ?? "#94a3b8")), [s]), f = i(() => {
276
- const m = new Map(s.map((T, z) => [T.id, z])), C = [], j = /* @__PURE__ */ new Set();
273
+ const Jt = (t) => He + Math.ceil(Math.min(ut, t) / Pe) * Xe + 4.4;
274
+ function Qt({ galaxy: t }) {
275
+ const e = Math.min(ut, t.nodes.length), s = i(() => t.nodes.slice(0, e), [t, e]), { list: r, height: l } = i(() => Kt(e), [e]), c = i(() => s.map((m) => new n.Color(Pt[m.kind] ?? "#94a3b8")), [s]), f = i(() => {
276
+ const m = new Map(s.map((T, L) => [T.id, L])), C = [], j = /* @__PURE__ */ new Set();
277
277
  for (const T of t.links) {
278
- const z = m.get(T.source), L = m.get(T.target);
279
- if (z === void 0 || L === void 0 || z === L) continue;
280
- const R = z < L ? `${z}-${L}` : `${L}-${z}`;
281
- j.has(R) || (j.add(R), C.push([z, L]));
278
+ const L = m.get(T.source), z = m.get(T.target);
279
+ if (L === void 0 || z === void 0 || L === z) continue;
280
+ const R = L < z ? `${L}-${z}` : `${z}-${L}`;
281
+ j.has(R) || (j.add(R), C.push([L, z]));
282
282
  }
283
283
  return C;
284
284
  }, [t, s]), a = i(() => {
285
- const m = new Float32Array(f.length * me * 6), C = (T, z, L, R) => {
286
- let q = z.th - T.th;
285
+ const m = new Float32Array(f.length * me * 6), C = (T, L, z, R) => {
286
+ let q = L.th - T.th;
287
287
  q > Math.PI && (q -= Math.PI * 2), q < -Math.PI && (q += Math.PI * 2);
288
- const Q = T.th + q * L, ae = qe + 0.02 + Math.sin(L * Math.PI) * 0.22;
289
- m[R] = Math.sin(Q) * ae, m[R + 1] = T.y + (z.y - T.y) * L, m[R + 2] = Math.cos(Q) * ae;
288
+ const Q = T.th + q * z, ae = qe + 0.02 + Math.sin(z * Math.PI) * 0.22;
289
+ m[R] = Math.sin(Q) * ae, m[R + 1] = T.y + (L.y - T.y) * z, m[R + 2] = Math.cos(Q) * ae;
290
290
  };
291
- f.forEach(([T, z], L) => {
291
+ f.forEach(([T, L], z) => {
292
292
  for (let R = 0; R < me; R++) {
293
- const q = (L * me + R) * 6;
294
- C(r[T], r[z], R / me, q), C(r[T], r[z], (R + 1) / me, q + 3);
293
+ const q = (z * me + R) * 6;
294
+ C(r[T], r[L], R / me, q), C(r[T], r[L], (R + 1) / me, q + 3);
295
295
  }
296
296
  });
297
297
  const j = new n.BufferGeometry();
298
298
  return j.setAttribute("position", new n.BufferAttribute(m, 3)), j.setAttribute("color", new n.BufferAttribute(new Float32Array(m.length), 3)), j;
299
299
  }, [f, r]);
300
- ze(() => () => a.dispose(), [a]);
300
+ Le(() => () => a.dispose(), [a]);
301
301
  const w = x(null), u = x(null), g = x(null), p = x(null), S = x(null), O = x([]), P = x([]), H = x(Array.from({ length: Re }, () => ({ node: "", key: "" }))), B = i(() => new Float32Array(e), [e]), y = i(() => new Float32Array(e), [e]), d = i(() => /* @__PURE__ */ new Map(), []), A = i(() => new n.Object3D(), []), G = i(() => new n.Color(), []), I = i(() => new n.Color("#5b4fd6"), []), D = i(() => new n.Color(1, 1, 1), []), F = i(() => new n.Vector3(), []), _ = i(() => new n.Vector3(), []), Y = i(() => new n.Vector3(), []), ne = i(() => new n.Vector3(0, 1, 0), []), W = i(() => new n.Vector3(), []), re = i(() => new n.Vector3(), []), oe = x(!0), E = 72, k = 40, Z = (m) => {
302
302
  let C = d.get(m);
303
303
  return C === void 0 && d.set(m, C = Rt(t, m) % e), C;
304
- }, se = (m, C, j, T, z, L) => {
304
+ }, se = (m, C, j, T, L, z) => {
305
305
  Y.subVectors(T, j);
306
306
  const R = Y.length();
307
- return R < 1e-3 ? !1 : (A.position.copy(j).addScaledVector(Y, 0.5), A.quaternion.setFromUnitVectors(ne, Y.multiplyScalar(1 / R)), A.scale.set(z, R, z), A.updateMatrix(), m.setMatrixAt(C, A.matrix), m.setColorAt(C, L), !0);
307
+ return R < 1e-3 ? !1 : (A.position.copy(j).addScaledVector(Y, 0.5), A.quaternion.setFromUnitVectors(ne, Y.multiplyScalar(1 / R)), A.scale.set(L, R, L), A.updateMatrix(), m.setMatrixAt(C, A.matrix), m.setColorAt(C, z), !0);
308
308
  };
309
309
  ie(({ clock: m }) => {
310
310
  const C = performance.now(), j = m.elapsedTime;
311
311
  B.fill(0), y.fill(0);
312
- const T = u.current, z = g.current;
313
- let L = 0, R = 0;
312
+ const T = u.current, L = g.current;
313
+ let z = 0, R = 0;
314
314
  for (const h of J.flares) {
315
- const M = Z(h.node), V = X((C - h.start) / jt), K = Math.pow(1 - V, 1.4);
315
+ const M = Z(h.node), V = X((C - h.start) / Zt), K = Math.pow(1 - V, 1.4);
316
316
  h.op === "write" ? y[M] = Math.max(y[M], K) : B[M] = Math.max(B[M], K);
317
317
  const ee = J.instances.get(h.instance), ce = !!fe(h.instance, W);
318
- ce && zt(W, re);
318
+ ce && Lt(W, re);
319
319
  const le = r[M].p;
320
- if (!(!T || !z)) {
321
- if (ce && L < E) {
320
+ if (!(!T || !L)) {
321
+ if (ce && z < E) {
322
322
  const de = Se(X((C - h.start) / 250));
323
- F.copy(re), _.copy(re).lerp(le, de), G.set(ee ? xe[ee.type] : "#c7d2fe"), h.op === "write" && G.lerp(D, 0.6), G.multiplyScalar((h.op === "write" ? 3.2 : 2.2) * K), se(T, L, F, _, h.op === "write" ? 0.06 : 0.04, G) && L++;
323
+ F.copy(re), _.copy(re).lerp(le, de), G.set(ee ? xe[ee.type] : "#c7d2fe"), h.op === "write" && G.lerp(D, 0.6), G.multiplyScalar((h.op === "write" ? 3.2 : 2.2) * K), se(T, z, F, _, h.op === "write" ? 0.06 : 0.04, G) && z++;
324
324
  const he = X((C - h.start - 200) / 700);
325
325
  if (he > 0 && he < 1 && R < k) {
326
326
  const ye = Se(he);
327
- h.op === "read" ? F.copy(le).lerp(re, ye) : F.copy(re).lerp(le, ye), A.position.copy(F), A.quaternion.identity(), A.scale.setScalar(1), A.updateMatrix(), z.setMatrixAt(R, A.matrix), G.set(ee ? xe[ee.type] : "#ffffff").lerp(D, 0.5).multiplyScalar(4), z.setColorAt(R, G), R++;
327
+ h.op === "read" ? F.copy(le).lerp(re, ye) : F.copy(re).lerp(le, ye), A.position.copy(F), A.quaternion.identity(), A.scale.setScalar(1), A.updateMatrix(), L.setMatrixAt(R, A.matrix), G.set(ee ? xe[ee.type] : "#ffffff").lerp(D, 0.5).multiplyScalar(4), L.setColorAt(R, G), R++;
328
328
  }
329
329
  }
330
- if (h.op === "write" && L < E) {
330
+ if (h.op === "write" && z < E) {
331
331
  const de = Se(X((C - h.start) / 450));
332
- _.copy(le), _.y += 3 + 40 * de, G.setRGB(1.6, 1.7, 2.2).multiplyScalar(K * 1.6), se(T, L, le, _, 0.13, G) && L++;
332
+ _.copy(le), _.y += 3 + 40 * de, G.setRGB(1.6, 1.7, 2.2).multiplyScalar(K * 1.6), se(T, z, le, _, 0.13, G) && z++;
333
333
  }
334
334
  }
335
335
  }
336
- T && (T.count = L, T.instanceMatrix.needsUpdate = !0, T.instanceColor && (T.instanceColor.needsUpdate = !0)), z && (z.count = R, z.instanceMatrix.needsUpdate = !0, z.instanceColor && (z.instanceColor.needsUpdate = !0));
336
+ T && (T.count = z, T.instanceMatrix.needsUpdate = !0, T.instanceColor && (T.instanceColor.needsUpdate = !0)), L && (L.count = R, L.instanceMatrix.needsUpdate = !0, L.instanceColor && (L.instanceColor.needsUpdate = !0));
337
337
  const q = w.current;
338
338
  if (q) {
339
339
  for (let h = 0; h < e; h++) {
@@ -426,15 +426,15 @@ function Jt({ galaxy: t }) {
426
426
  /* @__PURE__ */ o("meshBasicMaterial", { toneMapped: !1 })
427
427
  ] }),
428
428
  Array.from({ length: Re }, (m, C) => /* @__PURE__ */ o("group", { ref: (j) => void (O.current[C] = j), children: /* @__PURE__ */ o(Ye, { ref: (j) => void (P.current[C] = j), text: "", size: 0.3, opacity: 0, pxRange: [8, 12], renderOrder: 22 }) }, C)),
429
- /* @__PURE__ */ o(Lt, { position: [0, U + 5.2, 0], color: "#8b7dff", letterSpacing: 0.06, glow: 1.1, size: 0.6, pxRange: [11, 16] })
429
+ /* @__PURE__ */ o(zt, { position: [0, U + 5.2, 0], color: "#8b7dff", letterSpacing: 0.06, glow: 1.1, size: 0.6, pxRange: [11, 16] })
430
430
  ] });
431
431
  }
432
- const Qt = new n.Color(1, 1, 1), ot = new n.Vector3(0, 1, 0), We = new n.Vector3(), Ce = new n.Vector3(), eo = new n.Vector3(), nt = new n.Matrix4(), Be = { plan: "planner", research: "researcher", write: "writer" }, Oe = new n.PlaneGeometry(1, 1).rotateX(-Math.PI / 2), to = new n.BufferGeometry().setFromPoints([new n.Vector3(-0.5, 0, -0.5), new n.Vector3(0.5, 0, -0.5), new n.Vector3(0.5, 0, 0.5), new n.Vector3(-0.5, 0, 0.5)]);
432
+ const eo = new n.Color(1, 1, 1), ot = new n.Vector3(0, 1, 0), We = new n.Vector3(), Ce = new n.Vector3(), to = new n.Vector3(), nt = new n.Matrix4(), Be = { plan: "planner", research: "researcher", write: "writer" }, Oe = new n.PlaneGeometry(1, 1).rotateX(-Math.PI / 2), oo = new n.BufferGeometry().setFromPoints([new n.Vector3(-0.5, 0, -0.5), new n.Vector3(0.5, 0, -0.5), new n.Vector3(0.5, 0, 0.5), new n.Vector3(-0.5, 0, 0.5)]);
433
433
  function ft(t, e) {
434
434
  const s = Me.spread;
435
- return e.u0 = t.cu - t.hu - 0.5 * s, e.u1 = t.cu + t.hu + 0.5 * s, e.v0 = t.cv - t.hv - 0.3 * s, e.av = t.cv + t.hv + Xt * s, e.v1 = e.av + 1.25 * s, e;
435
+ return e.u0 = t.cu - t.hu - 0.5 * s, e.u1 = t.cu + t.hu + 0.5 * s, e.v0 = t.cv - t.hv - 0.3 * s, e.av = t.cv + t.hv + Ht * s, e.v1 = e.av + 1.25 * s, e;
436
436
  }
437
- function oo({ run: t, step: e, gref: s }) {
437
+ function no({ run: t, step: e, gref: s }) {
438
438
  const r = i(
439
439
  () => ({
440
440
  frame: new n.MeshBasicMaterial({ toneMapped: !1 }),
@@ -454,23 +454,23 @@ function oo({ run: t, step: e, gref: s }) {
454
454
  /* @__PURE__ */ o("mesh", { ref: l, position: [0, 4, 0], material: r.col, children: /* @__PURE__ */ o("cylinderGeometry", { args: [0.32, 0.55, 8, 16, 1, !0] }) })
455
455
  ] });
456
456
  }
457
- function no({ run: t }) {
457
+ function ro({ run: t }) {
458
458
  const e = t.run ?? J.runs.get(t.id);
459
- return e ? /* @__PURE__ */ o(ro, { kr: t, run: e }) : null;
459
+ return e ? /* @__PURE__ */ o(so, { kr: t, run: e }) : null;
460
460
  }
461
- function ro({ kr: t, run: e }) {
462
- const s = i(() => new n.Color(e.color), [e.color]), r = i(() => new n.MeshBasicMaterial({ color: s, transparent: !0, opacity: 0.05, depthWrite: !1, toneMapped: !1 }), [s]), l = i(() => new n.LineBasicMaterial({ color: s.clone().multiplyScalar(1.6), transparent: !0, toneMapped: !1 }), [s]), c = i(() => new n.LineLoop(to, l), [l]), f = x(null), a = x(null), w = x(null), u = x([]), g = x([]), p = i(() => [0, 1].map(() => new n.MeshBasicMaterial({ toneMapped: !1 })), []), S = x(null), O = x(null), P = x(null), H = x(null), B = x(""), y = i(() => new n.Color(), []), d = i(() => ({ u0: 0, u1: 0, v0: 0, v1: 0, av: 0, init: !1 }), []), A = i(() => ({ u0: 0, u1: 0, v0: 0, v1: 0, av: 0 }), []);
461
+ function so({ kr: t, run: e }) {
462
+ const s = i(() => new n.Color(e.color), [e.color]), r = i(() => new n.MeshBasicMaterial({ color: s, transparent: !0, opacity: 0.05, depthWrite: !1, toneMapped: !1 }), [s]), l = i(() => new n.LineBasicMaterial({ color: s.clone().multiplyScalar(1.6), transparent: !0, toneMapped: !1 }), [s]), c = i(() => new n.LineLoop(oo, l), [l]), f = x(null), a = x(null), w = x(null), u = x([]), g = x([]), p = i(() => [0, 1].map(() => new n.MeshBasicMaterial({ toneMapped: !1 })), []), S = x(null), O = x(null), P = x(null), H = x(null), B = x(""), y = i(() => new n.Color(), []), d = i(() => ({ u0: 0, u1: 0, v0: 0, v1: 0, av: 0, init: !1 }), []), A = i(() => ({ u0: 0, u1: 0, v0: 0, v1: 0, av: 0 }), []);
463
463
  return ie((G, I) => {
464
- var T, z, L, R, q, Q, ae;
464
+ var T, L, z, R, q, Q, ae;
465
465
  const D = f.current;
466
466
  if (!D) return;
467
- We.copy(t.side), Ce.copy(t.axis), eo.crossVectors(We, ot).dot(Ce) < 0 && Ce.negate(), nt.makeBasis(We, ot, Ce), D.quaternion.setFromRotationMatrix(nt), D.position.copy(t.origin).addScaledVector(t.side, -t.cu).addScaledVector(t.axis, -t.cv);
467
+ We.copy(t.side), Ce.copy(t.axis), to.crossVectors(We, ot).dot(Ce) < 0 && Ce.negate(), nt.makeBasis(We, ot, Ce), D.quaternion.setFromRotationMatrix(nt), D.position.copy(t.origin).addScaledVector(t.side, -t.cu).addScaledVector(t.axis, -t.cv);
468
468
  const F = Ce.dot(t.axis) < 0 ? -1 : 1;
469
469
  ft(t, A);
470
470
  const _ = d.init ? 1 - Math.exp(-Math.min(0.1, I) / 0.2) : 1;
471
471
  d.init = !0, d.u0 += (A.u0 - d.u0) * _, d.u1 += (A.u1 - d.u1) * _, d.v0 += (A.v0 - d.v0) * _, d.v1 += (A.v1 - d.v1) * _, d.av += (A.av - d.av) * _;
472
472
  const Y = d.u1 - d.u0, ne = d.v1 - d.v0, W = (d.u0 + d.u1) / 2, re = (d.v0 + d.v1) / 2 * F, oe = d.av * F, E = Me.spread;
473
- (T = a.current) == null || T.position.set(W, 0.02, re), (z = a.current) == null || z.scale.set(Y, 1, ne), c.position.set(W, 0.04, re), c.scale.set(Y, 1, ne), (L = w.current) == null || L.position.set(W, 0.025, oe), (R = w.current) == null || R.scale.set(Y - 0.4, 1, 1.7 * E), we.forEach((b, N) => {
473
+ (T = a.current) == null || T.position.set(W, 0.02, re), (L = a.current) == null || L.scale.set(Y, 1, ne), c.position.set(W, 0.04, re), c.scale.set(Y, 1, ne), (z = w.current) == null || z.position.set(W, 0.025, oe), (R = w.current) == null || R.scale.set(Y - 0.4, 1, 1.7 * E), we.forEach((b, N) => {
474
474
  const h = u.current[N];
475
475
  h && (h.position.set(Ae(Be[b]), 0, oe), h.scale.setScalar(Math.max(0.6, E * 0.95)), h.visible = e.hasSteps);
476
476
  });
@@ -492,12 +492,12 @@ function ro({ kr: t, run: e }) {
492
492
  const b = Ae(Be[e.handoffFrom]), N = Ae(Be[e.handoffTo]), h = ve($), M = b + (N - b) * h, V = b + (N - b) * ve(Math.max(0, $ - 0.22));
493
493
  if (S.current.position.set(M, 0.18, oe + 0.3 * F), S.current.scale.setScalar(Math.max(0.6, E)), O.current) {
494
494
  const K = Math.max(0.05, Math.abs(M - V));
495
- O.current.scale.set(K / Math.max(0.6, E), 1, 1), O.current.position.x = (V - M) / 2 / Math.max(0.6, E), y.copy(s).lerp(Qt, 0.2).multiplyScalar(3.2), O.current.material.color.copy(y);
495
+ O.current.scale.set(K / Math.max(0.6, E), 1, 1), O.current.position.x = (V - M) / 2 / Math.max(0.6, E), y.copy(s).lerp(eo, 0.2).multiplyScalar(3.2), O.current.material.color.copy(y);
496
496
  }
497
497
  }
498
498
  let m = 0, C = 0;
499
499
  J.instances.forEach((b) => {
500
- b.run === e.id && !b.exitAt && (m++, b.subagent && C++);
500
+ b.run === e.id && Tt(b) && (m++, b.subagent && C++);
501
501
  });
502
502
  const j = `${e.steps.plan}${e.steps.research}${e.steps.write}${m}${C}${e.status}`;
503
503
  if (j !== B.current && H.current) {
@@ -514,7 +514,7 @@ function ro({ kr: t, run: e }) {
514
514
  /* @__PURE__ */ o("primitive", { object: c }),
515
515
  /* @__PURE__ */ o("mesh", { ref: w, geometry: Oe, children: /* @__PURE__ */ o("meshBasicMaterial", { color: "#04050a", transparent: !0, opacity: 0.75, depthWrite: !1 }) }),
516
516
  [0, 1].map((G) => /* @__PURE__ */ o("mesh", { ref: (I) => void (g.current[G] = I), geometry: Oe, material: p[G] }, G)),
517
- we.map((G, I) => /* @__PURE__ */ o(oo, { run: e, step: G, gref: (D) => void (u.current[I] = D) }, G)),
517
+ we.map((G, I) => /* @__PURE__ */ o(no, { run: e, step: G, gref: (D) => void (u.current[I] = D) }, G)),
518
518
  /* @__PURE__ */ v("group", { ref: S, visible: !1, children: [
519
519
  /* @__PURE__ */ v("mesh", { children: [
520
520
  /* @__PURE__ */ o("boxGeometry", { args: [0.42, 0.16, 0.26] }),
@@ -547,7 +547,7 @@ function ro({ kr: t, run: e }) {
547
547
  ] });
548
548
  }
549
549
  const De = new n.Vector3(), ge = { u0: 0, u1: 0, v0: 0, v1: 0, av: 0 };
550
- function so(t) {
550
+ function ao(t) {
551
551
  for (const e of te.runs.values())
552
552
  ft(e, ge), t(_e(e, (ge.u0 + ge.u1) / 2, ge.v1 + 0.9 * Me.spread, De), 1.6), t(_e(e, ge.u0, ge.av, De), 0.8), t(_e(e, ge.u1, ge.av, De), 0.8);
553
553
  }
@@ -564,13 +564,13 @@ function pt(t, e, s, r, l) {
564
564
  function dt(t, e = () => !0) {
565
565
  const [s, r] = St([]), l = x("");
566
566
  return ie(() => {
567
- const c = !kt.grouped;
567
+ const c = !Vt.grouped;
568
568
  let f = "";
569
569
  for (const a of t()) (c || e(a)) && (f += a.id + ",");
570
570
  f !== l.current && (l.current = f, r(c ? t().slice() : t().filter(e)));
571
571
  }), s;
572
572
  }
573
- function ao({ comet: t }) {
573
+ function co({ comet: t }) {
574
574
  const e = x(null), s = i(() => fe(t.from, new n.Vector3()) ?? new n.Vector3(), [t.from]), r = i(() => fe(t.to, new n.Vector3()) ?? new n.Vector3(), [t.to]), l = J.instances.get(t.from), c = l ? xe[l.type] : "#ffffff";
575
575
  return ie(() => {
576
576
  const f = X((performance.now() - t.start) / t.dur);
@@ -580,11 +580,11 @@ function ao({ comet: t }) {
580
580
  /* @__PURE__ */ o("meshBasicMaterial", { color: new n.Color(c).lerp(new n.Color("#fff"), 0.4).multiplyScalar(4), toneMapped: !1 })
581
581
  ] }) });
582
582
  }
583
- function co() {
583
+ function io() {
584
584
  const t = dt(() => J.comets, (e) => Ue(e.from) && Ue(e.to));
585
- return /* @__PURE__ */ o("group", { children: t.map((e) => /* @__PURE__ */ o(ao, { comet: e }, e.id)) });
585
+ return /* @__PURE__ */ o("group", { children: t.map((e) => /* @__PURE__ */ o(co, { comet: e }, e.id)) });
586
586
  }
587
- function io(t, e) {
587
+ function lo(t, e) {
588
588
  const s = document.createElement("canvas");
589
589
  s.width = 512, s.height = 96;
590
590
  const r = s.getContext("2d");
@@ -596,9 +596,9 @@ function io(t, e) {
596
596
  const f = new n.CanvasTexture(s);
597
597
  return f.wrapS = n.RepeatWrapping, f.colorSpace = n.SRGBColorSpace, f;
598
598
  }
599
- function lo({ mcp: t }) {
600
- const e = t.srv, s = x(null), r = x(null), l = x(null), c = x(null), f = x(null), a = i(() => io(e.name, e.color), [e.name, e.color]);
601
- ze(() => () => a.dispose(), [a]);
599
+ function uo({ mcp: t }) {
600
+ const e = t.srv, s = x(null), r = x(null), l = x(null), c = x(null), f = x(null), a = i(() => lo(e.name, e.color), [e.name, e.color]);
601
+ Le(() => () => a.dispose(), [a]);
602
602
  const w = i(() => new n.Color(e.color), [e.color]), u = i(() => performance.now(), []), g = x(0);
603
603
  return ie(({ clock: p }, S) => {
604
604
  const O = performance.now(), P = p.elapsedTime, H = je(e.name) + (ue ? 0 : Math.sin(P * 0.5 + e.slot) * 0.15), B = s.current;
@@ -641,7 +641,7 @@ function lo({ mcp: t }) {
641
641
  /* @__PURE__ */ o(Ye, { position: [0, 1.7, 0], text: `mcp · ${e.name}`, font: "mono", color: e.color, size: 0.34, pxRange: [9, 13] })
642
642
  ] });
643
643
  }
644
- function uo({ call: t }) {
644
+ function fo({ call: t }) {
645
645
  var u;
646
646
  const e = x(null), s = i(() => new n.Vector3(), []), r = i(() => new n.Vector3(), []), l = ((u = J.mcpServers.get(t.server)) == null ? void 0 : u.color) ?? "#ffffff", c = i(() => {
647
647
  const g = new n.Vector3(0, -50, 0);
@@ -657,12 +657,12 @@ function uo({ call: t }) {
657
657
  /* @__PURE__ */ o("meshBasicMaterial", { color: w.clone().multiplyScalar(4), toneMapped: !1 })
658
658
  ] }) });
659
659
  }
660
- function fo() {
660
+ function po() {
661
661
  const t = dt(() => J.mcpCalls, (e) => Ue(e.instance));
662
- return /* @__PURE__ */ o("group", { children: t.map((e) => /* @__PURE__ */ o(uo, { call: e }, e.id)) });
662
+ return /* @__PURE__ */ o("group", { children: t.map((e) => /* @__PURE__ */ o(fo, { call: e }, e.id)) });
663
663
  }
664
- const po = new n.Color("#fbbf24"), ho = new n.Color("#ff2d3d");
665
- function mo() {
664
+ const ho = new n.Color("#fbbf24"), mo = new n.Color("#ff2d3d");
665
+ function go() {
666
666
  const s = i(() => {
667
667
  const u = new n.BufferGeometry();
668
668
  return u.setAttribute("position", new n.BufferAttribute(new Float32Array(5760), 3)), u.setAttribute("color", new n.BufferAttribute(new Float32Array(5760), 3)), u;
@@ -673,7 +673,7 @@ function mo() {
673
673
  const H = (B, y, d, A, G) => {
674
674
  const I = J.mcpServers.get(y);
675
675
  if (!I || P >= 960 || !fe(B, r) || !$e(y, l)) return;
676
- f.set(I.color), A > 0.8 && f.lerp(po, X((A - 0.8) / 1)), A > 1.8 && f.lerp(ho, X((A - 1.8) / 0.8));
676
+ f.set(I.color), A > 0.8 && f.lerp(ho, X((A - 0.8) / 1)), A > 1.8 && f.lerp(mo, X((A - 1.8) / 0.8));
677
677
  const D = d === "pending" ? ve(X((S - G) / 350)) : 1, F = d === "resolved" ? (S - G) / 700 : 0;
678
678
  for (let _ = 0; _ < 40 && P < 960; _++, P++) {
679
679
  const Y = _ / 40 * D, ne = (_ + 1) / 40 * D;
@@ -692,13 +692,13 @@ function mo() {
692
692
  }
693
693
  }
694
694
  };
695
- J.mcpPending.forEach((B) => H(B.instance, B.server, "pending", Tt(B, S), B.since));
695
+ J.mcpPending.forEach((B) => H(B.instance, B.server, "pending", kt(B, S), B.since));
696
696
  for (const B of J.mcpResolved) H(B.instance, B.server, "resolved", 0, B.resolvedAt);
697
697
  s.setDrawRange(0, P * 2), g.needsUpdate = !0, p.needsUpdate = !0;
698
698
  }), /* @__PURE__ */ o("lineSegments", { geometry: s, frustumCulled: !1, children: /* @__PURE__ */ o("lineBasicMaterial", { vertexColors: !0, transparent: !0, blending: n.AdditiveBlending, depthWrite: !1, toneMapped: !1 }) });
699
699
  }
700
- function go({ agent: t, selected: e, onSelect: s }) {
701
- const r = t.inst, l = t.run.color, c = i(() => qt(r, t.depth === 0 ? t.sib : 0), [r, t]), f = xe[r.type], { h: a, w, d: u } = c, g = i(() => new n.BoxGeometry(w, a, u).translate(0, a / 2, 0), [w, a, u]), p = i(() => {
700
+ function yo({ agent: t, selected: e, onSelect: s }) {
701
+ const r = t.inst, l = t.run.color, c = i(() => Yt(r, t.depth === 0 ? t.sib : 0), [r, t]), f = xe[r.type], { h: a, w, d: u } = c, g = i(() => new n.BoxGeometry(w, a, u).translate(0, a / 2, 0), [w, a, u]), p = i(() => {
702
702
  const E = [], k = w / 2 + 0.04, Z = u / 2 + 0.04, se = ($) => {
703
703
  const m = [[-k, -Z], [k, -Z], [k, Z], [-k, Z]];
704
704
  for (let C = 0; C < 4; C++) E.push(m[C][0], $, m[C][1], m[(C + 1) % 4][0], $, m[(C + 1) % 4][1]);
@@ -713,28 +713,28 @@ function go({ agent: t, selected: e, onSelect: s }) {
713
713
  const E = at({ color: f, edge: l });
714
714
  return E.uniforms.uHalf.value.set(w / 2, u / 2), E.uniforms.uH.value = a, E.uniforms.uLit.value = 0.2, E;
715
715
  }, [f, l, w, u, a]);
716
- ze(() => () => (g.dispose(), p.dispose(), S.dispose()), [g, p, S]);
716
+ Le(() => () => (g.dispose(), p.dispose(), S.dispose()), [g, p, S]);
717
717
  const O = x(null), P = x(null), H = x(null), B = x(null), y = x(null), d = x(null), A = x(null), G = i(() => new n.Color(f), [f]), I = i(() => new n.Color("#ffffff"), []), D = i(() => new n.Color("#ff3344"), []), F = i(() => new n.Color("#fbbf24"), []), _ = i(() => new n.Color(), []), Y = x(0.2), ne = x(0);
718
- ze(() => () => void ke.delete(r.id), [r.id]);
718
+ Le(() => () => void ke.delete(r.id), [r.id]);
719
719
  const W = x(null);
720
720
  return ie(({ clock: E }, k) => {
721
721
  const Z = performance.now(), se = E.elapsedTime, U = (Z - r.bornAt) / 1e3, $ = Me.scale;
722
722
  W.current && (W.current.position.copy(t.live), W.current.scale.x !== $ && W.current.scale.setScalar($));
723
- const m = r.exitAt ? (Z - r.exitAt) / 1e3 * (2500 / Vt(r)) : -1, C = Se(X((U - 0.25) / 1.25)), j = m >= 0 ? ve(X((m - 0.8) / 1.5)) : 0, T = -a * (1 - C) - (a + 0.4) * j;
723
+ const m = r.exitAt ? (Z - r.exitAt) / 1e3 * (2500 / It(r)) : -1, C = Se(X((U - 0.25) / 1.25)), j = m >= 0 ? ve(X((m - 0.8) / 1.5)) : 0, T = -a * (1 - C) - (a + 0.4) * j;
724
724
  O.current && (O.current.position.y = T);
725
- const z = U < 0.25 ? U / 0.25 : 1 - X((U - 1.1) / 0.7);
726
- P.current && (P.current.visible = z > 0.01, P.current.material.color.copy(G).multiplyScalar(z * (2.2 + Math.sin(se * 30) * 0.6)));
727
- let L = !1;
728
- for (const V of J.mcpPending.values()) V.instance === r.id && (L = !0);
729
- const R = r.status === "thinking" && !L, q = r.status === "waiting" || L, Q = st(r, Z), ae = R ? 0.8 : L ? 0.22 + 0.12 * Math.sin(se * 2.4) : q ? 0.12 : r.exitAt ? 0.85 : 0.45;
725
+ const L = U < 0.25 ? U / 0.25 : 1 - X((U - 1.1) / 0.7);
726
+ P.current && (P.current.visible = L > 0.01, P.current.material.color.copy(G).multiplyScalar(L * (2.2 + Math.sin(se * 30) * 0.6)));
727
+ let z = !1;
728
+ for (const V of J.mcpPending.values()) V.instance === r.id && (z = !0);
729
+ const R = r.status === "thinking" && !z, q = r.status === "waiting" || z, Q = st(r, Z), ae = R ? 0.8 : z ? 0.22 + 0.12 * Math.sin(se * 2.4) : q ? 0.12 : r.exitAt ? 0.85 : 0.45;
730
730
  Y.current += (ae - Y.current) * Math.min(1, k * 3);
731
731
  const b = S.uniforms;
732
- b.uTime.value = ue ? 0 : se, b.uLit.value = Y.current, b.uWork.value = R && !ue ? 1 : 0, b.uEnergy.value = Math.min(1.6, Q), b.uCascade.value = m >= 0 ? X(m / 0.9) : 0, b.uScaffold.value = U < 1.6 ? Math.max(0, z) * (1 - C * 0.6) : 0, b.uEdgeAmt.value = (0.55 + Q * 0.8) * (m >= 0 ? 1 - X(m / 1.2) * 0.8 : 1);
733
- const N = a + T, h = R ? 0.5 + 0.5 * Math.sin(se * 7) : L ? 0.5 + 0.5 * Math.sin(se * 2.4) : q ? 0.5 + 0.5 * Math.sin(se * 1.3) : 0.6, M = m >= 0 ? Math.max(0, 1 - m / 0.5) : 0;
732
+ b.uTime.value = ue ? 0 : se, b.uLit.value = Y.current, b.uWork.value = R && !ue ? 1 : 0, b.uEnergy.value = Math.min(1.6, Q), b.uCascade.value = m >= 0 ? X(m / 0.9) : 0, b.uScaffold.value = U < 1.6 ? Math.max(0, L) * (1 - C * 0.6) : 0, b.uEdgeAmt.value = (0.55 + Q * 0.8) * (m >= 0 ? 1 - X(m / 1.2) * 0.8 : 1);
733
+ const N = a + T, h = R ? 0.5 + 0.5 * Math.sin(se * 7) : z ? 0.5 + 0.5 * Math.sin(se * 2.4) : q ? 0.5 + 0.5 * Math.sin(se * 1.3) : 0.6, M = m >= 0 ? Math.max(0, 1 - m / 0.5) : 0;
734
734
  if (H.current) {
735
735
  H.current.position.y = N + 0.75;
736
736
  const V = (q ? 0.6 + h * 0.8 : 1.4 + h * 2.6) + Q * 4 + M * 8;
737
- _.copy(G).lerp(L ? F : G, L ? 0.6 : 0).lerp(r.status === "failed" ? D : I, M * 0.8 + Math.min(0.5, Q * 0.25)).multiplyScalar(m >= 0 ? V * (1 - X((m - 0.5) / 0.5)) : V), H.current.material.color.copy(_), H.current.scale.setScalar(1 + Q * 0.6 + M * 2.5);
737
+ _.copy(G).lerp(z ? F : G, z ? 0.6 : 0).lerp(r.status === "failed" ? D : I, M * 0.8 + Math.min(0.5, Q * 0.25)).multiplyScalar(m >= 0 ? V * (1 - X((m - 0.5) / 0.5)) : V), H.current.material.color.copy(_), H.current.scale.setScalar(1 + Q * 0.6 + M * 2.5);
738
738
  }
739
739
  if (B.current && (B.current.position.y = N + 0.75, B.current.scale.setScalar(0.8 + h * (R ? 0.6 : 0.2) + Math.min(1.2, Q * 0.8) + M * 3), B.current.material.color.copy(G).multiplyScalar((R ? 0.22 : 0.08) + Math.min(0.3, Q * 0.15) + M * 0.5)), ne.current += ((R && m < 0 ? 1 : 0) - ne.current) * Math.min(1, k * 4), y.current && (y.current.visible = ne.current > 0.02, y.current.position.y = N + 1.6, y.current.scale.setScalar(ne.current * (1 + Q * 0.25)), y.current.rotation.y += k * (ue ? 0.3 : 1.8)), d.current) {
740
740
  const V = d.current.material, K = U / 0.9, ee = m >= 0 ? m / 1.1 : -1;
@@ -782,7 +782,7 @@ function go({ agent: t, selected: e, onSelect: s }) {
782
782
  ] })
783
783
  ] });
784
784
  }
785
- function yo() {
785
+ function Mo() {
786
786
  const s = i(() => {
787
787
  const u = new n.BufferGeometry();
788
788
  return u.setAttribute("position", new n.BufferAttribute(new Float32Array(2400), 3)), u.setAttribute("color", new n.BufferAttribute(new Float32Array(2400), 3)), u;
@@ -796,7 +796,7 @@ function yo() {
796
796
  for (const O of te.agents.values()) {
797
797
  const P = O.inst;
798
798
  if (!P.parent || S >= 400 || !fe(P.parent, r) || !fe(P.id, l)) continue;
799
- const H = It(P, p);
799
+ const H = _t(P, p);
800
800
  if (H < 0.02) continue;
801
801
  const B = X((p - P.bornAt) / 650);
802
802
  c.copy(r).add(l).multiplyScalar(0.5), c.y = Math.max(r.y, l.y) + 1.2 + r.distanceTo(l) * 0.12;
@@ -813,17 +813,17 @@ function yo() {
813
813
  }), /* @__PURE__ */ o("lineSegments", { geometry: s, frustumCulled: !1, children: /* @__PURE__ */ o("lineBasicMaterial", { vertexColors: !0, transparent: !0, blending: n.AdditiveBlending, depthWrite: !1, toneMapped: !1 }) });
814
814
  }
815
815
  const Fe = new n.Vector3();
816
- function Mo(t) {
816
+ function vo(t) {
817
817
  for (const e of te.agents.values()) t(Fe.set(e.target.x, ke.get(e.id) ?? 0, e.target.z), 0.9);
818
- so(t);
819
- for (const e of Wt()) t(Fe.copy(te.clusterTarget[e]).setY(1), 4.4);
818
+ ao(t);
819
+ for (const e of Ot()) t(Fe.copy(te.clusterTarget[e]).setY(1), 4.4);
820
820
  for (const e of te.mcp.values()) t(Fe.set(e.target.x, je(e.name), e.target.z), 3.4 * it + 0.6);
821
821
  if (te.graphWanted) {
822
822
  const e = te.graph;
823
- t(Fe.set(e.target.x, Kt(200) * (e.radius / lt), e.target.z), 2.4);
823
+ t(Fe.set(e.target.x, Jt(200) * (e.radius / lt), e.target.z), 2.4);
824
824
  }
825
825
  }
826
- function vo() {
826
+ function wo() {
827
827
  const t = Mt((e) => e.scene);
828
828
  return ie(() => {
829
829
  const e = Me.cam.dist || 40, s = Math.max(30, e * 0.68), r = Math.max(100, e * 2.2);
@@ -832,24 +832,24 @@ function vo() {
832
832
  l && (l.near = s, l.far = r);
833
833
  }), null;
834
834
  }
835
- const wo = /* @__PURE__ */ v(ht, { children: [
835
+ const xo = /* @__PURE__ */ v(ht, { children: [
836
836
  /* @__PURE__ */ o("fog", { attach: "fog", args: [be.color, be.near, be.far] }),
837
- /* @__PURE__ */ o(vo, {}),
837
+ /* @__PURE__ */ o(wo, {}),
838
838
  /* @__PURE__ */ o("ambientLight", { intensity: 0.35, color: "#8a7dff" }),
839
839
  /* @__PURE__ */ o("pointLight", { position: [0, 24, 0], intensity: 180, distance: 60, color: "#7c6cff" }),
840
840
  /* @__PURE__ */ o("pointLight", { position: [30, 10, -20], intensity: 90, distance: 60, color: "#ff2d95" }),
841
841
  /* @__PURE__ */ o(yt, { radius: 160, depth: 60, count: ue ? 800 : 2200, factor: 4, saturation: 0.3, fade: !0, speed: 0 }),
842
- /* @__PURE__ */ o($t, {}),
843
- /* @__PURE__ */ o(Nt, {})
842
+ /* @__PURE__ */ o(Nt, {}),
843
+ /* @__PURE__ */ o(Xt, {})
844
844
  ] });
845
- function Bo() {
845
+ function Eo() {
846
846
  return /* @__PURE__ */ v(
847
- _t,
847
+ Wt,
848
848
  {
849
849
  title: "city",
850
850
  subtitle: "night city · agents rise as skyscrapers · districts = Hatchet runs · spire = knowledge graph · blimps = MCP",
851
851
  className: "city-root",
852
- preset: Ht,
852
+ preset: qt,
853
853
  plane: "xz",
854
854
  camera: { position: [14, 30, 40], fov: 45, near: 0.5, far: 400 },
855
855
  target: [0, 1.5, 0],
@@ -860,28 +860,28 @@ function Bo() {
860
860
  agentRadius: 1.4,
861
861
  graph: { natural: lt, radius: 2.8 },
862
862
  peripheryGap: 6.5,
863
- Background: wo,
864
- Agent: go,
865
- RunMarker: no,
866
- McpServer: lo,
867
- GraphResource: Jt,
863
+ Background: xo,
864
+ Agent: yo,
865
+ RunMarker: ro,
866
+ McpServer: uo,
867
+ GraphResource: Qt,
868
868
  cluster: { radius: 1.9, variant: "swarm", pointSize: 1.05 },
869
869
  clusterOffset: [0, 1.9, 0],
870
- extents: Mo,
870
+ extents: vo,
871
871
  PostFX: /* @__PURE__ */ v(vt, { multisampling: 0, children: [
872
872
  /* @__PURE__ */ o(wt, { mipmapBlur: !0, intensity: 1.25, luminanceThreshold: 0.22, luminanceSmoothing: 0.25, radius: 0.78 }),
873
873
  /* @__PURE__ */ o(xt, { eskil: !1, offset: 0.22, darkness: 0.85 }),
874
874
  /* @__PURE__ */ o(bt, { opacity: 0.035 })
875
875
  ] }),
876
876
  children: [
877
- /* @__PURE__ */ o(yo, {}),
878
- /* @__PURE__ */ o(co, {}),
879
- /* @__PURE__ */ o(fo, {}),
880
- /* @__PURE__ */ o(mo, {})
877
+ /* @__PURE__ */ o(Mo, {}),
878
+ /* @__PURE__ */ o(io, {}),
879
+ /* @__PURE__ */ o(po, {}),
880
+ /* @__PURE__ */ o(go, {})
881
881
  ]
882
882
  }
883
883
  );
884
884
  }
885
885
  export {
886
- Bo as default
886
+ Eo as default
887
887
  };
@@ -33,21 +33,21 @@ const M = ["orbit", "neural", "subway", "city", "ocean", "circuit", "tunnel", "f
33
33
  mycelium: { name: "Mycelium", tagline: "A fungal network: agents bloom as fruiting bodies on spreading glowing threads." },
34
34
  atom: { name: "Atom", tagline: "An atom: agents are electrons in shells, subagents jump orbits, LLM calls flash photons." }
35
35
  }, k = {
36
- orbit: () => import("./index-XMOz-HBf.js"),
37
- neural: () => import("./index-C5YqtHnC.js"),
38
- subway: () => import("./index-C42Ihyo1.js"),
39
- city: () => import("./index-Dn6oRasS.js"),
40
- ocean: () => import("./index-Cyv7bII1.js"),
41
- circuit: () => import("./index-ZT88hgW-.js"),
42
- tunnel: () => import("./index-DO9SAG-u.js"),
43
- flow: () => import("./index-e6egU2Q6.js"),
44
- hive: () => import("./index-tonipLb2.js"),
45
- forest: () => import("./index-D0UvupqM.js"),
46
- constellation: () => import("./index-BPyTLdiF.js"),
47
- factory: () => import("./index-DCmhxN8v.js"),
48
- airport: () => import("./index-Bo5HRf-O.js"),
49
- mycelium: () => import("./index-D733n3Hf.js"),
50
- atom: () => import("./index-HyfZ0ePz.js")
36
+ orbit: () => import("./index-CvDEulcq.js"),
37
+ neural: () => import("./index-_KrED-np.js"),
38
+ subway: () => import("./index-DdCs_ye9.js"),
39
+ city: () => import("./index-C4F16M9q.js"),
40
+ ocean: () => import("./index-CS8eZTr_.js"),
41
+ circuit: () => import("./index-Bsmr7FwH.js"),
42
+ tunnel: () => import("./index--dwzdFRh.js"),
43
+ flow: () => import("./index-Bqv_wy49.js"),
44
+ hive: () => import("./index-Bm4te7Ug.js"),
45
+ forest: () => import("./index-DXBfdHew.js"),
46
+ constellation: () => import("./index-Bw31uayO.js"),
47
+ factory: () => import("./index-B2PGx_wt.js"),
48
+ airport: () => import("./index-BfGluv59.js"),
49
+ mycelium: () => import("./index-CdzGoWrn.js"),
50
+ atom: () => import("./index-BZOG_CQS.js")
51
51
  }, g = /* @__PURE__ */ new Map();
52
52
  function L(e) {
53
53
  let n = g.get(e);
@@ -3,7 +3,7 @@ import { EffectComposer as Et, Bloom as Vt, Vignette as Ot, Noise as kt } from "
3
3
  import { useThree as Wt, useFrame as le } from "@react-three/fiber";
4
4
  import { useMemo as i, useRef as _, useEffect as Ct, useState as Lt } from "react";
5
5
  import * as t from "three";
6
- import { B as ht, r as Bt, k as dt, w as Z, L as Ze, a as ie, d as Dt, T as Ke, q as Nt, x as Ue, l as Xt, e as qt, f as ze, S as Se, R as jt, g as Pt, b as ct, K as lt, m as Ht, G as Zt, n as Kt, j as $t } from "./KitScene-BuFtYuhc.js";
6
+ import { C as ht, r as Bt, k as dt, w as Z, L as Ze, a as ie, d as Dt, T as Ke, q as Nt, x as Ue, l as Xt, e as qt, f as ze, S as Se, R as jt, g as Pt, b as ct, K as lt, m as Ht, G as Zt, n as Kt, j as $t } from "./KitScene-C3SZiKL5.js";
7
7
  import { Trail as Tt } from "@react-three/drei";
8
8
  const Ee = Bt ? 0.25 : 1, Yt = {
9
9
  ...ht,
@@ -6,7 +6,7 @@ import { EffectComposer as _t, Bloom as Ot, Vignette as Et } from "@react-three/
6
6
  import { useFrame as fe, useThree as pt } from "@react-three/fiber";
7
7
  import { useMemo as R, useRef as F, useState as mt, useEffect as Lt } from "react";
8
8
  import * as n from "three";
9
- import { T as dt, k as ge, h as Ie, w as W, L as Re, d as It, a as We, c as Wt, K as Xt, m as kt, G as Dt, n as Yt, C as Ht, p as Nt, e as Kt, s as jt, q as Ut, f as nt, R as qt, u as $t, o as Zt, j as Jt } from "./KitScene-BuFtYuhc.js";
9
+ import { T as dt, k as ge, h as Ie, w as W, L as Re, d as It, a as We, c as Wt, K as Xt, m as kt, G as Dt, n as Yt, D as Ht, p as Nt, e as Kt, s as jt, q as Ut, f as nt, R as qt, u as $t, o as Zt, j as Jt } from "./KitScene-C3SZiKL5.js";
10
10
  var ft;
11
11
  const ne = typeof window < "u" && !!((ft = window.matchMedia) != null && ft.call(window, "(prefers-reduced-motion: reduce)").matches), vt = new n.Color("#a855f7"), Ye = new n.Color("#2dd4bf"), ue = new n.Color(1, 1, 1), ht = new n.Color("#fbbf24"), gt = new n.Color("#ff3b5c"), Qt = new n.Color("#3b3346"), Pe = Object.fromEntries(
12
12
  Object.entries(dt).map(([e, a]) => {
@@ -4,7 +4,7 @@ import { EffectComposer as je, Bloom as Ke, Vignette as Qe, Noise as Je } from "
4
4
  import { useFrame as U } from "@react-three/fiber";
5
5
  import { useRef as S, useMemo as T, useEffect as et, useState as De } from "react";
6
6
  import * as e from "three";
7
- import { h as se, i as tt, T as pe, f as nt, a as Z, p as ot, e as rt, l as st, s as at, L as fe, w as E, K as ct, G as it, b as Q, c as Ge, d as lt, g as Me, S as re, R as ut, u as pt, j as ft } from "./KitScene-BuFtYuhc.js";
7
+ import { h as se, i as tt, T as pe, f as nt, a as Z, p as ot, e as rt, l as st, s as at, L as fe, w as E, K as ct, G as it, b as Q, c as Ge, d as lt, g as Me, S as re, R as ut, u as pt, j as ft } from "./KitScene-C3SZiKL5.js";
8
8
  var Ye;
9
9
  const F = typeof window < "u" && !!((Ye = window.matchMedia) != null && Ye.call(window, "(prefers-reduced-motion: reduce)").matches), _e = Math.PI * 2, Be = { plan: Math.PI * 0.5, research: Math.PI * 0.5 + _e / 3, write: Math.PI * 0.5 + _e * 2 / 3 }, Fe = tt, dt = (t) => (se(t, 11) - 0.5) * 2.4, N = {
10
10
  /** the galaxy's inner (tilted) group; its matrixWorld includes the kit's side placement + scale */