sql-code-graph 1.38.0__py3-none-any.whl → 1.38.1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-code-graph
3
- Version: 1.38.0
3
+ Version: 1.38.1
4
4
  Summary: SQL code graph analyzer and lineage tracer
5
5
  Project-URL: Homepage, https://github.com/Warhorze/sql-code-graph
6
6
  Project-URL: Repository, https://github.com/Warhorze/sql-code-graph
@@ -1,4 +1,4 @@
1
- sqlcg/__init__.py,sha256=J7gZ7LdC5RVM7sznUSOc9J2SoQdmkeG2KabweMEmaJo,116
1
+ sqlcg/__init__.py,sha256=LeCnfE_7dohzbUW1dqEPREc3JI5lPwcCI0noKJlTJvo,116
2
2
  sqlcg/__main__.py,sha256=1YoFLcqEgTwYq1J3TbUwpkdG0zeeLIf2fJvwWI-CLFU,109
3
3
  sqlcg/cli/__init__.py,sha256=W8fD0LpMq2xm_5WKGNMvJh2WBL1ho5E8hUeAqXQYT1g,28
4
4
  sqlcg/cli/coverage.py,sha256=Xm9ITzZDHv2mJ70Q5jCacVuhDStVrE3gq12_-Ypvtd8,43823
@@ -73,8 +73,8 @@ sqlcg/viz/data.py,sha256=deLWOZBgewM1x-kk1NhUnt0mswyt0nzqSevHzBCOHHc,5899
73
73
  sqlcg/viz/render.py,sha256=BINkGbJbbb_iqhrkN795RaQsdg8nqCiJtsEFF1yo22Y,2737
74
74
  sqlcg/viz/tags.py,sha256=6zRnGlHjuGmEeB6yN1uhzm8rqL7ZGoyL1Ki7jI5oM6A,5368
75
75
  sqlcg/viz/assets/force-graph.min.js,sha256=jNdYdDdrYiUdUlElxRkolPBt30rstQk2q15Q32VVdzc,177272
76
- sqlcg/viz/assets/template.html,sha256=48ACoI2EjhITfvxDpSo_Js4OVG3L2BGq56eiwJfBupA,17404
77
- sql_code_graph-1.38.0.dist-info/METADATA,sha256=LlraoocIXAbwFdjkyLHHvykCtZ-Sxl4bUeG3xvoxtm4,19208
78
- sql_code_graph-1.38.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
79
- sql_code_graph-1.38.0.dist-info/entry_points.txt,sha256=Wfe49sVzV9p4eVFGo5RxcV-frr3HOP0yzzst8JBxQLQ,46
80
- sql_code_graph-1.38.0.dist-info/RECORD,,
76
+ sqlcg/viz/assets/template.html,sha256=XoJHOSLn1E3k9BP8ti_y1T1gBVqvKW-8J-dqIHtDy-w,17595
77
+ sql_code_graph-1.38.1.dist-info/METADATA,sha256=foTbbQqQGDtq6uGqsPSFumKMhjWNAmMxbQkqrD8o7Kw,19208
78
+ sql_code_graph-1.38.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
79
+ sql_code_graph-1.38.1.dist-info/entry_points.txt,sha256=Wfe49sVzV9p4eVFGo5RxcV-frr3HOP0yzzst8JBxQLQ,46
80
+ sql_code_graph-1.38.1.dist-info/RECORD,,
sqlcg/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """SQL Code Graph - SQL lineage and dependency analysis tool."""
2
2
 
3
- __version__ = "1.38.0"
3
+ __version__ = "1.38.1"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -36,7 +36,7 @@
36
36
  <span id="meta"></span>
37
37
  </div>
38
38
  <div id="graph"></div>
39
- <div id="info">hover/click a node to trace its 1-hop lineage (Esc or background clears) · scroll to zoom · drag to pan · click a chip to toggle, alt/right-click to solo · set min deg 0 to show isolated tables</div>
39
+ <div id="info">click a node to trace its 1-hop lineage (click again, background, or Esc clears) · drag a node to move it · scroll to zoom · drag background to pan · click a chip to toggle, alt/right-click to solo · set min deg 0 to show isolated tables</div>
40
40
  <script>
41
41
  const DATA = /*__DATA__*/;
42
42
  const TAGS = /*__TAGS__*/;
@@ -345,21 +345,23 @@ const Graph = ForceGraph()(document.getElementById('graph'))
345
345
  // highlightSet, so updating state is enough; ego-mode keeps focusNode separate.
346
346
  .onNodeClick(n => {
347
347
  pinnedNode = (pinnedNode === n.id) ? null : n.id; // toggle pin
348
- setHighlight(pinnedNode ?? hoveredNode);
348
+ setHighlight(pinnedNode); // CLICK-ONLY highlight (null when unpinned)
349
349
  focusNode = n.id; // ego-mode focus (orthogonal; only used when ego is on)
350
350
  })
351
351
  .onNodeHover(n => {
352
+ // Hover only tracks the cursor target for the on-hover LABEL (drawNodeCanvas);
353
+ // it does NOT drive the edge highlight — highlighting is click-only so moving
354
+ // the mouse over the graph never flickers the lineage edges.
352
355
  hoveredNode = n ? n.id : null;
353
- if (pinnedNode === null) setHighlight(hoveredNode); // pin wins over hover
354
356
  })
355
- .onBackgroundClick(() => { // click empty space clears the pin
357
+ .onBackgroundClick(() => { // click empty space clears the highlight
356
358
  pinnedNode = null;
357
- setHighlight(hoveredNode);
359
+ setHighlight(null);
358
360
  });
359
361
 
360
- // Escape clears the pin (transient hover clears on its own via onNodeHover).
362
+ // Escape clears the click-pinned highlight.
361
363
  document.addEventListener('keydown', e => {
362
- if (e.key === 'Escape') { pinnedNode = null; setHighlight(hoveredNode); }
364
+ if (e.key === 'Escape') { pinnedNode = null; setHighlight(null); }
363
365
  });
364
366
 
365
367
  // refresh() rebuilds graphData → re-seeds layout. Reserved for FILTER changes