@graphty/graphty-element 2.2.0 → 2.2.2

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/ai.js +3 -3
  2. package/dist/catalog.js +2 -2
  3. package/dist/chunks/{AiManager-DWwQiBQu.js → AiManager-DC3JWPeM.js} +2 -2
  4. package/dist/chunks/{GraphSession-CtqyVNsw.js → GraphSession-DDrQWABb.js} +12 -12
  5. package/dist/chunks/{NodeStyle-Cup9O1lu.js → NodeStyle-DKj7HjMJ.js} +4 -0
  6. package/dist/chunks/{VoiceInputAdapter-mD0x3z7t.js → VoiceInputAdapter-BueUG885.js} +1 -1
  7. package/dist/chunks/{XRPivotCameraController-Clil9NhV.js → XRPivotCameraController-SqoNytFf.js} +1 -1
  8. package/dist/chunks/{cameras-DFXNYBze.js → cameras-ii4vngYY.js} +3 -4
  9. package/dist/chunks/{capability-check-dXwQ_z5B.js → capability-check-Gdo5o38b.js} +1 -1
  10. package/dist/chunks/{index-2VIpMJZP.js → index-DnKqD4ge.js} +2485 -2190
  11. package/dist/chunks/{scales-BUS7NWy2.js → scales-DKsbJE2L.js} +1 -1
  12. package/dist/graphty-catalog.json +1 -1
  13. package/dist/graphty.bundle.js +36982 -36677
  14. package/dist/graphty.js +2 -2
  15. package/dist/schema.js +1 -1
  16. package/dist/session.js +3 -3
  17. package/dist/src/Graph.d.ts +1 -1
  18. package/dist/src/Node.d.ts +2 -3
  19. package/dist/src/config/EdgeStyle.d.ts +4 -0
  20. package/dist/src/config/GraphBehavior.d.ts +3 -0
  21. package/dist/src/config/StyleTemplate.d.ts +6 -0
  22. package/dist/src/graphty-element.d.ts +11 -1
  23. package/dist/src/managers/DataManager.d.ts +2 -0
  24. package/dist/src/managers/LabelDeclutter.d.ts +97 -0
  25. package/dist/src/meshes/NodeEffects.d.ts +29 -5
  26. package/dist/src/meshes/RichTextLabel.d.ts +17 -0
  27. package/dist/src/session/styles/channels.d.ts +2 -3
  28. package/package.json +7 -7
package/dist/ai.js CHANGED
@@ -1,7 +1,7 @@
1
- import { f as p } from "./chunks/AiManager-DWwQiBQu.js";
2
- import { A as L, a as M, b as D, C as V, M as j, S as E, c as z, V as N, d as q, e as W, g as G, h as T, i as F, j as U, k as _, l as B, m as J, q as O, s as Y, n as H, o as Q, p as K, r as X, z as Z } from "./chunks/AiManager-DWwQiBQu.js";
1
+ import { f as p } from "./chunks/AiManager-DC3JWPeM.js";
2
+ import { A as L, a as M, b as D, C as V, M as j, S as E, c as z, V as N, d as q, e as W, g as G, h as T, i as F, j as U, k as _, l as B, m as J, q as O, s as Y, n as H, o as Q, p as K, r as X, z as Z } from "./chunks/AiManager-DC3JWPeM.js";
3
3
  import { A as te } from "./chunks/ApiKeyManager-C0ac91dE.js";
4
- import { V as se } from "./chunks/VoiceInputAdapter-mD0x3z7t.js";
4
+ import { V as se } from "./chunks/VoiceInputAdapter-BueUG885.js";
5
5
  import { z as r } from "zod";
6
6
  import { A as u } from "./chunks/Algorithm-RQ629NLb.js";
7
7
  const m = r.object({
package/dist/catalog.js CHANGED
@@ -1,5 +1,5 @@
1
- import { B as y, L as f, a as m, P as T, S, U as v, b as O, c as E, l as A, d as N, e as I, p as R, f as k, s as x, g as _ } from "./chunks/scales-BUS7NWy2.js";
2
- import { C, a as L, b as P, c as W, d as U, e as F, f as B } from "./chunks/cameras-DFXNYBze.js";
1
+ import { B as y, L as f, a as m, P as T, S, U as v, b as O, c as E, l as A, d as N, e as I, p as R, f as k, s as x, g as _ } from "./chunks/scales-DKsbJE2L.js";
2
+ import { C, a as L, b as P, c as W, d as U, e as F, f as B } from "./chunks/cameras-ii4vngYY.js";
3
3
  import { d as M, a as K } from "./chunks/detect-CqN0mC6u.js";
4
4
  import { F as Y, U as G, t as z, u as V, o as q } from "./chunks/paletteRegistry-NrWOKT-A.js";
5
5
  import { L as Z, l as $ } from "./chunks/GraphtyLogger-5KEttFUo.js";
@@ -1,9 +1,9 @@
1
- import { l as _ } from "./VoiceInputAdapter-mD0x3z7t.js";
1
+ import { l as _ } from "./VoiceInputAdapter-BueUG885.js";
2
2
  import { G as K } from "./GraphtyLogger-5KEttFUo.js";
3
3
  import W from "jmespath";
4
4
  import { z as m } from "zod";
5
5
  import { e as G } from "./Algorithm-RQ629NLb.js";
6
- import { N as H, c as B, C as X } from "./cameras-DFXNYBze.js";
6
+ import { N as H, c as B, C as X } from "./cameras-ii4vngYY.js";
7
7
  import { inferSchema as C } from "@jsonhero/schema-infer";
8
8
  import { i as Z } from "./GraphtyError-BwcnblTH.js";
9
9
  import { createAnthropic as Y } from "@ai-sdk/anthropic";
@@ -1,11 +1,11 @@
1
1
  import { INVALID_INDEX as B, GraphBuilder as Ys, remapArray as Hs } from "@graphty/graph-format";
2
2
  import { z as F } from "zod/v4";
3
3
  import { G as S, A as Ks, i as xt } from "./GraphtyError-BwcnblTH.js";
4
- import { e as Qs, b as Xs, d as Js } from "./NodeStyle-Cup9O1lu.js";
4
+ import { e as Qs, b as Xs, d as Js } from "./NodeStyle-DKj7HjMJ.js";
5
5
  import { E as Zs, B as st, C as rt, p as er, l as tr, k as nr, F as sr, G as ns, H as Pe, I as $e, J as Qt, K as Xt, A as jt, M as Xe, N as rr, O as or, Q as ir, z as ar, w as cr, T as lr } from "./paletteRegistry-NrWOKT-A.js";
6
- import { S as ss, B as ur, a as dr, P as rs, p as fe, k as zt, f as hr, s as fr } from "./scales-BUS7NWy2.js";
6
+ import { S as ss, B as ur, a as dr, P as rs, p as fe, k as zt, f as hr, s as fr } from "./scales-DKsbJE2L.js";
7
7
  import { h as os, k as mr, l as ot, D as gr, e as pr, b as br, m as is } from "./Algorithm-RQ629NLb.js";
8
- import { C as vr, t as de, e as Je, a as as, i as cs, f as Ae, j as yr } from "./cameras-DFXNYBze.js";
8
+ import { C as vr, t as de, e as Je, a as as, i as cs, f as Ae, j as yr } from "./cameras-ii4vngYY.js";
9
9
  import { a as wr, L as Or } from "./GraphtyLogger-5KEttFUo.js";
10
10
  import { f as Nr } from "./sequential-Zym81qm7.js";
11
11
  import { i as Jt } from "./interpolation-DY-PNpqX.js";
@@ -6501,6 +6501,15 @@ const ul = Object.freeze({
6501
6501
  // describes: one source mesh is precisely the set of nodes sharing one effect configuration.
6502
6502
  "node.outline": "mesh",
6503
6503
  "node.glow": "mesh",
6504
+ // A glow's STRENGTH is keyed the same way. `NodeEffects.syncGlowStrengths` gives each SOURCE
6505
+ // mesh its own intensity (Babylon's per-mesh `setEffectIntensity`, keyed by uniqueId), so two
6506
+ // strengths need two source meshes. As an `instance` channel, two styles differing only in
6507
+ // strength shared one source and were drawn at whichever was applied last.
6508
+ // COST, as for `node.glow`: every distinct strength builds and caches one source mesh, so a
6509
+ // strength computed per node or encoded from data breaks instancing into one mesh per value.
6510
+ // ponytail: quantize the strength in the key (or evict source meshes left with no instances)
6511
+ // if a continuous glow encoding ever shows up in a profile.
6512
+ "node.glowStrength": "mesh",
6504
6513
  "edge.width": "mesh",
6505
6514
  "edge.style": "mesh",
6506
6515
  "edge.patternCount": "mesh",
@@ -6522,15 +6531,6 @@ const ul = Object.freeze({
6522
6531
  // Per-instance state: one buffer write, and never a reason to build a second mesh.
6523
6532
  "node.color": "instance",
6524
6533
  "node.opacity": "instance",
6525
- // A glow's STRENGTH is the opposite case to its colour. Babylon keeps a glow's intensity on
6526
- // the LAYER, one per scene, so no two nodes can ever be drawn at two strengths and a source
6527
- // mesh per strength would buy nothing at all -- which is what it was minting, because
6528
- // `Node.paintFrom` used to apply a node's effects only on the branch that rebuilds the mesh
6529
- // and a channel outside the key therefore never reached the screen. That branch now applies
6530
- // every `instance` channel whether it rebuilds or not, so a strength edit repaints without
6531
- // minting anything. The caveat on the channel says the rest: the last strength applied is
6532
- // the strength every glowing node is drawn at.
6533
- "node.glowStrength": "instance",
6534
6534
  "edge.color": "instance",
6535
6535
  "edge.opacity": "instance",
6536
6536
  // Drawn beside the mesh, and per element by nature.
@@ -219,6 +219,10 @@ const u = {
219
219
  * thousands and the frame rate collapses. Set this to cap it: the elements are then
220
220
  * spread evenly over the edge whatever its length or width.
221
221
  *
222
+ * It applies to the discrete patterns only (dot, star, box, dash, diamond, dash-dot).
223
+ * Zigzag and sinewave are drawn as fixed-length connected segments that always tile the
224
+ * whole edge, so they ignore it.
225
+ *
222
226
  * This is a USER choice, deliberately. The renderer does not silently impose a ceiling,
223
227
  * because that would change how a graph looks to buy performance the caller never asked
224
228
  * for -- the same reason an algorithm's style layer never mutes another layer.
@@ -1,4 +1,4 @@
1
- import { g as ke, h as up } from "./cameras-DFXNYBze.js";
1
+ import { g as ke, h as up } from "./cameras-ii4vngYY.js";
2
2
  var ee = { exports: {} };
3
3
  var fp = ee.exports, oo;
4
4
  function op() {
@@ -1,5 +1,5 @@
1
1
  import { Vector3 as f, Quaternion as E, Ray as R, WebXRState as T } from "@babylonjs/core";
2
- import { P as M } from "./index-2VIpMJZP.js";
2
+ import { P as M } from "./index-DnKqD4ge.js";
3
3
  import "@babylonjs/core/Culling/ray";
4
4
  import { G as x } from "./GraphtyLogger-5KEttFUo.js";
5
5
  function v(H, t = 0.15) {
@@ -1,5 +1,5 @@
1
1
  import { c as y } from "./common-DWNKjpH_.js";
2
- import { N as b, E as g } from "./NodeStyle-Cup9O1lu.js";
2
+ import { N as b, E as g } from "./NodeStyle-DKj7HjMJ.js";
3
3
  import { j as f, e as N } from "./Algorithm-RQ629NLb.js";
4
4
  var L = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
5
5
  function z(e) {
@@ -143,8 +143,7 @@ const A = b.options, x = g.shape.line.unwrap().shape.type.unwrap().options, h =
143
143
  accepts: "number",
144
144
  min: 0,
145
145
  stylePath: "effect.glow.strength",
146
- renderable: !0,
147
- caveat: "Babylon's glow intensity belongs to the glow LAYER rather than to a mesh, so with two glowing styles on screen both are drawn at whichever strength was applied last. The glow's COLOUR is per style. Per-style strength needs one full-screen pass each."
146
+ renderable: !0
148
147
  },
149
148
  "node.wireframe": {
150
149
  channel: "node.wireframe",
@@ -215,7 +214,7 @@ const A = b.options, x = g.shape.line.unwrap().shape.type.unwrap().options, h =
215
214
  min: 2,
216
215
  stylePath: "line.patternCount",
217
216
  renderable: !0,
218
- caveat: "A cap on how many dots or dashes a patterned edge draws, and it applies to a patterned line only: a solid line has no elements to count. Left unset, the spacing rule decides, so a long edge or a thin one draws more of them."
217
+ caveat: "A cap on how many dots or dashes a patterned edge draws, and it applies to a patterned line only: a solid line has no elements to count, and zigzag and sinewave always tile the whole edge, so they ignore it. Left unset, the spacing rule decides, so a long edge or a thin one draws more of them."
219
218
  },
220
219
  "edge.curvature": {
221
220
  channel: "edge.curvature",
@@ -1,4 +1,4 @@
1
- import { c as i, B as m } from "./index-2VIpMJZP.js";
1
+ import { c as i, B as m } from "./index-DnKqD4ge.js";
2
2
  async function p(n, e) {
3
3
  let s;
4
4
  try {