@opentrace/components 0.1.1-rc.11 → 0.1.1-rc.30

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 (39) hide show
  1. package/dist/opentrace-components.cjs +159 -47
  2. package/dist/opentrace-components.cjs.map +1 -1
  3. package/dist/opentrace-components.js +160 -48
  4. package/dist/opentrace-components.js.map +1 -1
  5. package/dist/src/GraphCanvas.d.ts +22 -1
  6. package/dist/src/GraphCanvas.d.ts.map +1 -1
  7. package/dist/src/colors/linkColors.d.ts.map +1 -1
  8. package/dist/src/colors/nodeColors.d.ts.map +1 -1
  9. package/dist/src/config/graphLayout.d.ts +3 -2
  10. package/dist/src/config/graphLayout.d.ts.map +1 -1
  11. package/dist/src/graph/LayoutPipeline.d.ts.map +1 -1
  12. package/dist/src/graph/__tests__/optimizeWorker.test.d.ts +2 -0
  13. package/dist/src/graph/__tests__/optimizeWorker.test.d.ts.map +1 -0
  14. package/dist/src/graph/__tests__/spacingWorker.test.d.ts +2 -0
  15. package/dist/src/graph/__tests__/spacingWorker.test.d.ts.map +1 -0
  16. package/dist/src/graph/__tests__/useCommunities.test.d.ts +2 -0
  17. package/dist/src/graph/__tests__/useCommunities.test.d.ts.map +1 -0
  18. package/dist/src/graph/__tests__/useGraphFilters.test.d.ts +2 -0
  19. package/dist/src/graph/__tests__/useGraphFilters.test.d.ts.map +1 -0
  20. package/dist/src/graph/__tests__/useHighlights.test.d.ts +2 -0
  21. package/dist/src/graph/__tests__/useHighlights.test.d.ts.map +1 -0
  22. package/dist/src/graph/types.d.ts +2 -0
  23. package/dist/src/graph/types.d.ts.map +1 -1
  24. package/dist/src/graph/useGraphFilters.d.ts.map +1 -1
  25. package/dist/src/graph/useGraphInstance.d.ts.map +1 -1
  26. package/dist/src/graph/useGraphVisuals.d.ts.map +1 -1
  27. package/dist/src/index.d.ts +2 -1
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/sigma/zoomToNodes.d.ts +7 -2
  30. package/dist/src/sigma/zoomToNodes.d.ts.map +1 -1
  31. package/dist/{useHighlights-BHlafcBH.js → useHighlights-DbMfb0-p.js} +122 -74
  32. package/dist/useHighlights-DbMfb0-p.js.map +1 -0
  33. package/dist/{useHighlights-D6Jl6Woe.cjs → useHighlights-fRWg-A_c.cjs} +122 -74
  34. package/dist/useHighlights-fRWg-A_c.cjs.map +1 -0
  35. package/dist/utils.cjs +1 -1
  36. package/dist/utils.js +1 -1
  37. package/package.json +1 -1
  38. package/dist/useHighlights-BHlafcBH.js.map +0 -1
  39. package/dist/useHighlights-D6Jl6Woe.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import '@react-sigma/core/lib/style.css';
2
2
  import type { GraphNode, GraphLink, SelectedEdge } from './types/graph';
3
- import type { LayoutConfig } from './graph/types';
3
+ import type { LayoutConfig, CommunityData } from './graph/types';
4
4
  import { type OptimizeStatus } from './graph/LayoutPipeline';
5
5
  import type { GetSubTypeFn } from './graph/types';
6
6
  export interface GraphCanvasProps {
@@ -32,6 +32,21 @@ export interface GraphCanvasProps {
32
32
  hops?: number;
33
33
  /** Function to extract sub-type from a node (e.g. file extension). */
34
34
  getSubType?: GetSubTypeFn;
35
+ /** Override computed highlight nodes (e.g. for edge-click highlighting). */
36
+ highlightNodes?: Set<string>;
37
+ /** Override computed highlight links. */
38
+ highlightLinks?: Set<string>;
39
+ /** Override computed label nodes. */
40
+ labelNodes?: Set<string>;
41
+ /** Sub-type groupings for filter support. */
42
+ availableSubTypes?: Map<string, {
43
+ subType: string;
44
+ count: number;
45
+ }[]>;
46
+ /** Enable z-index layer reordering when highlights are active. */
47
+ zIndex?: boolean;
48
+ /** Pre-computed community data. If omitted, computed internally. */
49
+ communityData?: CommunityData;
35
50
  /** Called when a node is clicked. */
36
51
  onNodeClick?: (node: GraphNode) => void;
37
52
  /** Called when an edge is clicked. */
@@ -54,6 +69,12 @@ export interface GraphCanvasHandle {
54
69
  zoomToNodes: (nodeIds: Iterable<string>, duration?: number) => void;
55
70
  /** Trigger a layout re-optimization. */
56
71
  optimize: () => void;
72
+ /** Zoom in (reduce camera ratio). */
73
+ zoomIn: (duration?: number) => void;
74
+ /** Zoom out (increase camera ratio). */
75
+ zoomOut: (duration?: number) => void;
76
+ /** Reset camera to default position. */
77
+ resetCamera: (duration?: number) => void;
57
78
  }
58
79
  declare const GraphCanvas: import("react").NamedExoticComponent<GraphCanvasProps & import("react").RefAttributes<GraphCanvasHandle>>;
59
80
  export default GraphCanvas;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphCanvas.d.ts","sourceRoot":"","sources":["../../src/GraphCanvas.tsx"],"names":[],"mappings":"AA6BA,OAAO,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,eAAe,CAAC;AAM5E,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAY7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,mCAAmC;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,wCAAwC;IACxC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,yCAAyC;IACzC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qCAAqC;IACrC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iCAAiC;IACjC,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,wCAAwC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAkHD,QAAA,MAAM,WAAW,2GAmRhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"GraphCanvas.d.ts","sourceRoot":"","sources":["../../src/GraphCanvas.tsx"],"names":[],"mappings":"AA6BA,OAAO,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EACV,YAAY,EAGZ,aAAa,EACd,MAAM,eAAe,CAAC;AAMvB,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAY7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,mCAAmC;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,wCAAwC;IACxC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,yCAAyC;IACzC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,yCAAyC;IACzC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACtE,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qCAAqC;IACrC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iCAAiC;IACjC,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,wCAAwC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,qCAAqC;IACrC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,wCAAwC;IACxC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAuID,QAAA,MAAM,WAAW,2GAwWhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"linkColors.d.ts","sourceRoot":"","sources":["../../../src/colors/linkColors.ts"],"names":[],"mappings":"AA6DA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD"}
1
+ {"version":3,"file":"linkColors.d.ts","sourceRoot":"","sources":["../../../src/colors/linkColors.ts"],"names":[],"mappings":"AA8GA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeColors.d.ts","sourceRoot":"","sources":["../../../src/colors/nodeColors.ts"],"names":[],"mappings":"AAsDA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"nodeColors.d.ts","sourceRoot":"","sources":["../../../src/colors/nodeColors.ts"],"names":[],"mappings":"AAuGA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export declare const NODE_SIZE_MIN = 2;
10
10
  export declare const NODE_SIZE_MAX = 8;
11
- export declare const NODE_SIZE_DEGREE_SCALE = 1.1;
11
+ export declare const NODE_SIZE_DEGREE_SCALE = 1;
12
12
  export declare const NODE_SIZE_MULTIPLIERS: Record<string, number>;
13
13
  export declare const EDGE_SIZE_DEFAULT = 1;
14
14
  export declare const EDGE_SIZE_DEFAULT_LINE = 2;
@@ -38,8 +38,9 @@ export declare const FA2_ADJUST_SIZES = true;
38
38
  export declare const FA2_DURATION = 3000;
39
39
  export declare const NOVERLAP_MAX_ITERATIONS = 50;
40
40
  export declare const NOVERLAP_RATIO = 1.5;
41
- export declare const NOVERLAP_MARGIN = 10;
41
+ export declare const NOVERLAP_MARGIN = 25;
42
42
  export declare const NOVERLAP_EXPANSION = 1.5;
43
+ export declare const NOVERLAP_COMMUNITY_ITERATIONS = 20;
43
44
  export declare const EDGE_PROGRAM_THRESHOLD = 50000;
44
45
  export declare const LABEL_RENDERED_SIZE_THRESHOLD = 8;
45
46
  export declare const LABEL_SIZE = 12;
@@ -1 +1 @@
1
- {"version":3,"file":"graphLayout.d.ts","sourceRoot":"","sources":["../../../src/config/graphLayout.ts"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AAMH,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAIF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAKpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,wBAAwB,IAAM,CAAC;AAC5C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAIxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAM3C,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAKtC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAMtC,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,YAAY,OAAO,CAAC;AAKjC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAKtC,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,iCAAiC,CAAC;AACzD,eAAO,MAAM,WAAW,YAAY,CAAC;AAKrC,eAAO,MAAM,kBAAkB,IAAM,CAAC;AAKtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,eAAO,MAAM,qBAAqB,EAAE,YAkCnC,CAAC"}
1
+ {"version":3,"file":"graphLayout.d.ts","sourceRoot":"","sources":["../../../src/config/graphLayout.ts"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AAMH,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,IAAM,CAAC;AAG1C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAIF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAKpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,wBAAwB,IAAM,CAAC;AAC5C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAIxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAM3C,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAKtC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAMtC,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,YAAY,OAAO,CAAC;AAKjC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAKhD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,iCAAiC,CAAC;AACzD,eAAO,MAAM,WAAW,YAAY,CAAC;AAKrC,eAAO,MAAM,kBAAkB,IAAM,CAAC;AAKtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,eAAO,MAAM,qBAAqB,EAAE,YAmCnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutPipeline.d.ts","sourceRoot":"","sources":["../../../src/graph/LayoutPipeline.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,UAAU,mBAAmB;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,EAAE,mBAAmB,QA8UrB"}
1
+ {"version":3,"file":"LayoutPipeline.d.ts","sourceRoot":"","sources":["../../../src/graph/LayoutPipeline.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,UAAU,mBAAmB;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,EAAE,mBAAmB,QA+UrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=optimizeWorker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizeWorker.test.d.ts","sourceRoot":"","sources":["../../../../src/graph/__tests__/optimizeWorker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spacingWorker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacingWorker.test.d.ts","sourceRoot":"","sources":["../../../../src/graph/__tests__/spacingWorker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useCommunities.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCommunities.test.d.ts","sourceRoot":"","sources":["../../../../src/graph/__tests__/useCommunities.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useGraphFilters.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGraphFilters.test.d.ts","sourceRoot":"","sources":["../../../../src/graph/__tests__/useGraphFilters.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useHighlights.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHighlights.test.d.ts","sourceRoot":"","sources":["../../../../src/graph/__tests__/useHighlights.test.ts"],"names":[],"mappings":""}
@@ -41,6 +41,8 @@ export interface LayoutConfig {
41
41
  noverlapRatio: number;
42
42
  noverlapMargin: number;
43
43
  noverlapExpansion: number;
44
+ /** Iterations for per-community noverlap push-apart */
45
+ noverlapCommunityIterations: number;
44
46
  louvainResolution: number;
45
47
  edgeProgramThreshold: number;
46
48
  layoutEdgeType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/graph/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/graph/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphFilters.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphFilters.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EACpE,UAAU,EAAE,YAAY,GACvB,OAAO,CAyBT;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EACpE,UAAU,EAAE,YAAY,GACvB,IAAI,CAmDN"}
1
+ {"version":3,"file":"useGraphFilters.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphFilters.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EACpE,UAAU,EAAE,YAAY,GACvB,OAAO,CAyBT;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EACpE,UAAU,EAAE,YAAY,GACvB,IAAI,CAyDN"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphInstance.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphInstance.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAyCjB,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,GACb,EAAE,uBAAuB,GAAG,sBAAsB,CAqMlD"}
1
+ {"version":3,"file":"useGraphInstance.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphInstance.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAyCjB,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,GACb,EAAE,uBAAuB,GAAG,sBAAsB,CAkNlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphVisuals.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphVisuals.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsCzD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,EAAE,OAAO,GACpB,IAAI,CA0EN"}
1
+ {"version":3,"file":"useGraphVisuals.d.ts","sourceRoot":"","sources":["../../../src/graph/useGraphVisuals.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsCzD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,EAAE,OAAO,GACpB,IAAI,CAiFN"}
@@ -5,6 +5,7 @@
5
5
  * import { GraphCanvas } from '@opentrace/components';
6
6
  * import '@opentrace/components/style.css'; // optional base styles
7
7
  */
8
+ export { default as Graph } from './GraphCanvas';
8
9
  export { default as GraphCanvas } from './GraphCanvas';
9
10
  export type { GraphCanvasProps, GraphCanvasHandle } from './GraphCanvas';
10
11
  export { useGraphInstance } from './graph/useGraphInstance';
@@ -16,7 +17,7 @@ export { useHighlights } from './graph/useHighlights';
16
17
  export { default as LayoutPipeline } from './graph/LayoutPipeline';
17
18
  export type { OptimizeStatus } from './graph/LayoutPipeline';
18
19
  export { zoomToNodes, zoomToFit } from './sigma/zoomToNodes';
19
- export { drawNodeHover } from './graph/drawNodeHover';
20
+ export { drawNodeHover, setHoveredNodeKey } from './graph/drawNodeHover';
20
21
  export type { GraphNode, GraphLink, GraphData, GraphStats, SelectedNode, SelectedEdge, } from './types/graph';
21
22
  export type { LayoutConfig, FilterState, VisualState, CommunityData, GetSubTypeFn, } from './graph/types';
22
23
  export { DEFAULT_LAYOUT_CONFIG } from './config/graphLayout';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGzE,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,UAAU,CAAC"}
@@ -1,7 +1,12 @@
1
1
  import type Sigma from 'sigma';
2
2
  /**
3
- * Zoom the sigma camera to fit a set of node IDs.
4
- * Replaces `fgRef.current.zoomToFit(duration, padding, predicate)`.
3
+ * Zoom the sigma camera to fit a set of node IDs with padding.
4
+ *
5
+ * Coordinates from `getNodeDisplayData` are in sigma's **framed graph space**
6
+ * (normalized, pre-camera-transform). The camera also operates in this space.
7
+ * To compute the correct zoom ratio we measure the visible framed-graph extent
8
+ * at the current camera ratio via `viewportToFramedGraph`, then scale
9
+ * proportionally so the bounding box fits with the requested padding.
5
10
  */
6
11
  export declare function zoomToNodes(sigma: Sigma, nodeIds: Iterable<string>, duration?: number, padding?: number): void;
7
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zoomToNodes.d.ts","sourceRoot":"","sources":["../../../src/sigma/zoomToNodes.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,QAAQ,SAAM,EACd,OAAO,SAAM,GACZ,IAAI,CA6CN;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAM,GAAG,IAAI,CAG5D"}
1
+ {"version":3,"file":"zoomToNodes.d.ts","sourceRoot":"","sources":["../../../src/sigma/zoomToNodes.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,QAAQ,SAAM,EACd,OAAO,SAAM,GACZ,IAAI,CAsDN;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAM,GAAG,IAAI,CAG5D"}
@@ -4613,37 +4613,38 @@ function requireIsGraph() {
4613
4613
  };
4614
4614
  return isGraph;
4615
4615
  }
4616
- const PALETTE$1 = [
4617
- "#6366f1",
4616
+ const PALETTE_SIZE$1 = 12;
4617
+ const FALLBACK_PALETTE$1 = [
4618
+ "#818cf8",
4618
4619
  // Indigo
4619
- "#f59e0b",
4620
+ "#fbbf24",
4620
4621
  // Amber
4621
- "#10b981",
4622
- // Emerald
4623
- "#8b5cf6",
4622
+ "#4ade80",
4623
+ // Green
4624
+ "#c084fc",
4624
4625
  // Violet
4625
- "#ef4444",
4626
- // Red
4627
- "#3b82f6",
4626
+ "#fb7185",
4627
+ // Rose
4628
+ "#60a5fa",
4628
4629
  // Blue
4629
- "#ec4899",
4630
+ "#f472b6",
4630
4631
  // Pink
4631
- "#14b8a6",
4632
+ "#2dd4bf",
4632
4633
  // Teal
4633
- "#f97316",
4634
+ "#fb923c",
4634
4635
  // Orange
4635
- "#84cc16",
4636
+ "#a3e635",
4636
4637
  // Lime
4637
- "#a855f7",
4638
- // Purple
4639
- "#06b6d4"
4638
+ "#e879f9",
4639
+ // Fuchsia
4640
+ "#22d3ee"
4640
4641
  // Cyan
4641
4642
  ];
4642
- const KNOWN$1 = {
4643
- Repository: "#10b981",
4644
- Class: "#3b82f6",
4645
- Function: "#a855f7",
4646
- File: "#84cc16",
4643
+ const FALLBACK_KNOWN$1 = {
4644
+ Repository: "#4ade80",
4645
+ Class: "#60a5fa",
4646
+ Function: "#c084fc",
4647
+ File: "#a3e635",
4647
4648
  Directory: "#22d3ee"
4648
4649
  };
4649
4650
  function djb2$1(str) {
@@ -4653,60 +4654,77 @@ function djb2$1(str) {
4653
4654
  }
4654
4655
  return Math.abs(h);
4655
4656
  }
4657
+ let cache$1 = null;
4658
+ function resolveColors$1() {
4659
+ if (typeof document === "undefined") {
4660
+ return {
4661
+ themeKey: "__fallback__",
4662
+ known: new Map(Object.entries(FALLBACK_KNOWN$1)),
4663
+ palette: FALLBACK_PALETTE$1
4664
+ };
4665
+ }
4666
+ const root = document.documentElement;
4667
+ const themeKey = `${root.dataset.theme ?? ""}_${root.dataset.mode ?? ""}`;
4668
+ if (cache$1 && cache$1.themeKey === themeKey) return cache$1;
4669
+ const style = getComputedStyle(root);
4670
+ const known = /* @__PURE__ */ new Map();
4671
+ for (const [type, fallback] of Object.entries(FALLBACK_KNOWN$1)) {
4672
+ const varName = `--graph-node-${type.toLowerCase()}`;
4673
+ const val = style.getPropertyValue(varName).trim();
4674
+ known.set(type, val || fallback);
4675
+ }
4676
+ const palette = [];
4677
+ for (let i = 0; i < PALETTE_SIZE$1; i++) {
4678
+ const val = style.getPropertyValue(`--graph-node-palette-${i}`).trim();
4679
+ palette.push(val || FALLBACK_PALETTE$1[i]);
4680
+ }
4681
+ cache$1 = { themeKey, known, palette };
4682
+ return cache$1;
4683
+ }
4656
4684
  function getNodeColor(type) {
4657
- return KNOWN$1[type] ?? PALETTE$1[djb2$1(type) % PALETTE$1.length];
4685
+ const { known, palette } = resolveColors$1();
4686
+ return known.get(type) ?? palette[djb2$1(type) % palette.length];
4658
4687
  }
4659
- const PALETTE = [
4660
- "#f472b6",
4688
+ const PALETTE_SIZE = 12;
4689
+ const FALLBACK_PALETTE = [
4690
+ "#f9a8d4",
4661
4691
  // Pink
4662
- "#60a5fa",
4692
+ "#93c5fd",
4663
4693
  // Blue
4664
- "#34d399",
4694
+ "#6ee7b7",
4665
4695
  // Emerald
4666
- "#fbbf24",
4696
+ "#fde68a",
4667
4697
  // Amber
4668
- "#a78bfa",
4698
+ "#c4b5fd",
4669
4699
  // Violet
4670
- "#fb923c",
4700
+ "#fdba74",
4671
4701
  // Orange
4672
- "#2dd4bf",
4702
+ "#5eead4",
4673
4703
  // Teal
4674
- "#f87171",
4704
+ "#fca5a5",
4675
4705
  // Red
4676
- "#38bdf8",
4706
+ "#7dd3fc",
4677
4707
  // Sky
4678
- "#a3e635",
4708
+ "#bef264",
4679
4709
  // Lime
4680
- "#c084fc",
4710
+ "#d8b4fe",
4681
4711
  // Purple
4682
- "#22d3ee"
4712
+ "#67e8f9"
4683
4713
  // Cyan
4684
4714
  ];
4685
- const KNOWN = {
4686
- CALLS: "#60a5fa",
4687
- // Blue invocation / dependency chains
4688
- READS: "#fbbf24",
4689
- // Amber data access
4690
- WRITES: "#fb923c",
4691
- // Orange data mutation
4692
- DEFINED_IN: "#34d399",
4693
- // Emerald containment / location
4694
- PART_OF: "#2dd4bf",
4695
- // Teal structural membership
4696
- DEPENDS_ON: "#f472b6",
4697
- // Pink dependency edges
4698
- EXTENDS: "#a78bfa",
4699
- // Violet — inheritance
4700
- HANDLES: "#38bdf8",
4701
- // Sky — endpoint handling
4702
- IMPORTS: "#c084fc",
4703
- // Purple — module imports
4704
- AUTHORED: "#f87171",
4705
- // Red — authorship
4706
- ASSIGNED: "#22d3ee",
4707
- // Cyan — assignment
4708
- PARTICIPATED: "#a3e635"
4709
- // Lime — participation
4715
+ const FALLBACK_KNOWN = {
4716
+ CALLS: { varSuffix: "calls", color: "#93c5fd" },
4717
+ READS: { varSuffix: "reads", color: "#fde68a" },
4718
+ WRITES: { varSuffix: "writes", color: "#fdba74" },
4719
+ DEFINED_IN: { varSuffix: "defined-in", color: "#6ee7b7" },
4720
+ PART_OF: { varSuffix: "part-of", color: "#5eead4" },
4721
+ DEPENDS_ON: { varSuffix: "depends-on", color: "#f9a8d4" },
4722
+ EXTENDS: { varSuffix: "extends", color: "#c4b5fd" },
4723
+ HANDLES: { varSuffix: "handles", color: "#7dd3fc" },
4724
+ IMPORTS: { varSuffix: "imports", color: "#d8b4fe" },
4725
+ AUTHORED: { varSuffix: "authored", color: "#fca5a5" },
4726
+ ASSIGNED: { varSuffix: "assigned", color: "#67e8f9" },
4727
+ PARTICIPATED: { varSuffix: "participated", color: "#bef264" }
4710
4728
  };
4711
4729
  function djb2(str) {
4712
4730
  let h = 5381;
@@ -4715,9 +4733,36 @@ function djb2(str) {
4715
4733
  }
4716
4734
  return Math.abs(h);
4717
4735
  }
4736
+ let cache = null;
4737
+ function resolveColors() {
4738
+ if (typeof document === "undefined") {
4739
+ const known2 = /* @__PURE__ */ new Map();
4740
+ for (const [key, { color }] of Object.entries(FALLBACK_KNOWN)) {
4741
+ known2.set(key, color);
4742
+ }
4743
+ return { themeKey: "__fallback__", known: known2, palette: FALLBACK_PALETTE };
4744
+ }
4745
+ const root = document.documentElement;
4746
+ const themeKey = `${root.dataset.theme ?? ""}_${root.dataset.mode ?? ""}`;
4747
+ if (cache && cache.themeKey === themeKey) return cache;
4748
+ const style = getComputedStyle(root);
4749
+ const known = /* @__PURE__ */ new Map();
4750
+ for (const [key, { varSuffix, color }] of Object.entries(FALLBACK_KNOWN)) {
4751
+ const val = style.getPropertyValue(`--graph-edge-${varSuffix}`).trim();
4752
+ known.set(key, val || color);
4753
+ }
4754
+ const palette = [];
4755
+ for (let i = 0; i < PALETTE_SIZE; i++) {
4756
+ const val = style.getPropertyValue(`--graph-edge-palette-${i}`).trim();
4757
+ palette.push(val || FALLBACK_PALETTE[i]);
4758
+ }
4759
+ cache = { themeKey, known, palette };
4760
+ return cache;
4761
+ }
4718
4762
  function getLinkColor(type) {
4719
4763
  const upper = type.toUpperCase();
4720
- return KNOWN[upper] ?? PALETTE[djb2(upper) % PALETTE.length];
4764
+ const { known, palette } = resolveColors();
4765
+ return known.get(upper) ?? palette[djb2(upper) % palette.length];
4721
4766
  }
4722
4767
  const COMMUNITY_PALETTE = [
4723
4768
  "#f472b6",
@@ -4935,19 +4980,22 @@ function useGraphFilters(graph, layoutReady, filterState, communityAssignments,
4935
4980
  attrs.hidden = hidden;
4936
4981
  return attrs;
4937
4982
  });
4938
- graph.updateEachEdgeAttributes((_id, attrs, source, target) => {
4939
- if (hiddenNodes.has(source) || hiddenNodes.has(target)) {
4940
- attrs.hidden = true;
4941
- return attrs;
4942
- }
4943
- const label = attrs.label;
4944
- if (label && filterState.hiddenLinkTypes.has(label)) {
4945
- attrs.hidden = true;
4983
+ graph.updateEachEdgeAttributes(
4984
+ (_id, attrs, source, target) => {
4985
+ if (hiddenNodes.has(source) || hiddenNodes.has(target)) {
4986
+ attrs.hidden = true;
4987
+ return attrs;
4988
+ }
4989
+ const label = attrs.label;
4990
+ if (label && filterState.hiddenLinkTypes.has(label)) {
4991
+ attrs.hidden = true;
4992
+ return attrs;
4993
+ }
4994
+ attrs.hidden = false;
4946
4995
  return attrs;
4947
- }
4948
- attrs.hidden = false;
4949
- return attrs;
4950
- });
4996
+ },
4997
+ { attributes: ["type"] }
4998
+ );
4951
4999
  }, [
4952
5000
  graph,
4953
5001
  layoutReady,
@@ -6689,4 +6737,4 @@ export {
6689
6737
  shouldHideNode as s,
6690
6738
  useCommunities as u
6691
6739
  };
6692
- //# sourceMappingURL=useHighlights-BHlafcBH.js.map
6740
+ //# sourceMappingURL=useHighlights-DbMfb0-p.js.map