Skip to content

Releases: Delta4AI/GraphLensLite

v1.15.3

19 Jun 14:16
c4f75a9

Choose a tag to compare

v1.15.2

18 Jun 11:04
066164a

Choose a tag to compare

v1.15.2

v1.15.1

17 Jun 14:59
28ee065

Choose a tag to compare

Saved graph files load unchanged — this release is bug fixes only.

Fixes

  • Arrange Selection tools now work. All six tools (shrink/expand/circle/force/grid/random) were silent no-ops: positions were persisted before being pushed to the graph, and the persist path re-synced node state from graphology — clobbering the freshly computed coordinates before they reached the renderer. Positions are now pushed to the graph first, then persisted. The circle/force/random geometry is also rebuilt on graphology layouts (circular/forceAtlas2/random) run over a subgraph of the selection and recentered on the selection centroid, replacing the hand-rolled force sim that drifted toward world-origin.
  • Bubble and heatmap overlays stay aligned across DPR changes. Moving the window to a monitor with a different device-pixel-ratio left bubble groups and the heatmap field misaligned until a sidebar toggle forced a resize. A DPR watcher now forces a full sigma resize and re-render on every ratio change, and the overlay canvases own their CSS display size so they stay 1:1 with the WebGL layers regardless of resize timing.

v1.15.0

16 Jun 13:11
dab8dcb

Choose a tag to compare

Existing graph files (including version-less JSON saved by 1.14.x) load unchanged — this release adds and replaces functionality without breaking the saved-file format.

Features

Renderer migration: AntV G6 → Sigma.js (WebGL)

The entire rendering stack moved from AntV G6 5.x (canvas) to Sigma.js v3 (WebGL nodes/edges, canvas labels) on a graphology data model. Measured on the 6000-node / 9000-edge benchmark (see MIGRATION.md for the full record):

Metric G6 (1.14.x) Sigma (1.15.0)
Load (data → rendered) 1.6 s 0.79 s
Wheel-zoom FPS ~4 ~60
First-interaction stall ~11 s 64 ms
500-node select 140 ms 46 ms
  • All six node shapes ported (circle and square as native WebGL programs; hexagon, diamond, triangle, star as crisp SVG textures)
  • Selection, hover-highlight and dim states reimplemented as sigma reducers; lasso select is a custom canvas overlay; click/shift-select, node drag with position persistence, and tooltips preserved
  • Bubble groups drawn natively on a canvas layer under the nodes via bubblesets-js; member sync, styling UI and filter/manual membership unchanged
  • Minimap and PNG export (with the bubble-set layer composited) reimplemented on sigma
  • Distribution is ≈0.9 MB smaller (the 1.1 MB vendored g6.min.js is gone; sigma + graphology + headless layouts add ≈0.2 MB)
  • Documented degradations: dashed edges render solid and polyline edges render curved (no off-the-shelf WebGL programs for either)

Layouts

  • Live-animating ForceAtlas2 driven by a web-worker supervisor, so force layouts settle visibly without blocking the UI.
  • Dagre layered layout, circlepack, and random added to the layout options.
  • Full-workspace re-layout control to re-run a layout across the entire workspace, with animated transitions between layouts.
  • Optional noverlap overlap-removal post-pass.
  • Headless layouts: circular/grid (geometric), radial/concentric/mds (@antv/layout v2).

Communities & metrics

  • Louvain community detection (weighted, with a tunable resolution) that populates manual bubble groups directly.
  • Network centralities now come from graphology-metrics instead of the hand-rolled implementations.

Edges & flow

  • Animated directional edge flow on both straight and curved edges, with dash, pulse, comet and chevron styles plus speed, colour, opacity and density controls.
  • Edge arrow markers and halos, with arrow fill, border-colour and border-size controls.

Nodes & styling

  • Pie-chart nodes that render proportional slices from data.
  • GLSL circle borders via @sigma/node-border.
  • Node badges with a size control and a scale-with-node option.
  • Dark-mode toggle.

Heatmap

  • Density heatmap overlay — an atmospheric node-density layer beneath the graph, off by default and toggled from the workspace toolbar, with opacity, intensity, gamma/contrast, threshold, bandwidth/radius and colour-ramp controls (default / viridis / magma / accent / grayscale) plus an optional dim-graph mode. Replaces the former selection glow.
  • Bubble-group label placement, close-to-path and auto-rotate knobs are now honoured by the renderer (previously no-ops).

UI

  • Reworked selection grouping and selection-driven styling cards.
  • Compact, density-aware filter panel redesign; redesigned selection, styling and toolbar surfaces for clarity.
  • Selection HUD now defaults to the top-right corner and snaps to a grid; tooltips are suppressed during shift+click multi-select.
  • Subtle top-centre loading indicator card; compact header.

Export & IO

  • SVG vector export alongside JSON and PNG; high-resolution PNG export.
  • JSON saves now carry a top-level version stamp; loading a file saved by a newer app surfaces a soft notice (older and version-less files load as before).
  • The density-heatmap overlay (enabled state + appearance settings) is saved into the JSON export and restored on load.

Performance

  • Network metrics are computed lazily, only while the metrics panel is open.
  • Removed the automatic disabling of hover effects on large graphs (no longer needed on the WebGL renderer).

Fixes

  • Fixed slow deselection when clicking empty canvas on large graphs (antvis/G6#7195) — removed from Known Issues.
  • PNG export: corrected dark-mode background, hi-res scaling and label z-order; dropped the unreliable 8× scale and added a GPU framebuffer ceiling margin so high-res exports no longer come out blurry or blank.
  • Anchored popovers are clamped to the viewport so the right edge never truncates.
  • Float filter sliders use a continuous step so a column's maximum value stays selectable.
  • Heavy layouts keep the UI blocked on large graphs until the layout completes.
  • The reset-style button no longer claims to reset node positions.
  • Graceful guard when WebGL2 is unavailable, plus a redraw after container resize.

v1.14.0

09 Jun 08:52

Choose a tag to compare

Features

HTTP Ingest Service (new)

Standalone HTTP service (npm run serve:api) that lets other applications push graphs and watch them render live in a browser. Independent of the Electron desktop app — the desktop build never starts a server.

  • POST /api/graph ingest endpoint protected by a bearer token; replaces the current graph and pushes it to connected viewers
  • Live viewer over Server-Sent Events (GET /api/events) — pushes render immediately and replace the current graph without a reload
  • GET /api/graph (latest graph, 204 until first ingest) and GET /health (liveness with version) endpoints
  • Environment-based configuration: GLL_API_TOKEN, GLL_API_PORT, GLL_API_HOST, GLL_MAX_BODY_BYTES, GLL_STATIC_DIR (see SERVICE.md and .env.example)
  • Payload reference for external apps and agents documented in API.md

Security

  • Cross-origin browser POSTs rejected (403 on any Origin header) as a CSRF defence
  • Incoming JSON sanitized against prototype pollution — __proto__, constructor, and prototype keys stripped at every level

Fixes

  • Fixed pushed graphs not rendering reliably in the live viewer

v1.13.1

28 May 13:25

Choose a tag to compare

1.13.1

v1.13.0

28 May 11:37

Choose a tag to compare

Features

Graph Assistant (new)

Local Ollama-powered chat panel with a live context snapshot of your graph, selection, and metric values.

  • Safe, structured query generation — produces guaranteed-valid GLL queries grounded in your real property hierarchy, so the assistant can't invent property names or emit broken syntax
  • Suggested Queries panel with Copy / Select / Open-in-editor; Select pans and zooms to matches
  • Live budget meter next to Send with per-section breakdown and a pre-send modal when you'd exceed the context window
  • First-run setup and settings modal with model picker, endpoint probing, and http(s)-only validation with local/private-IP detection
  • Reasoning-trace visualization for thinking models with a live token counter
  • Empty-state starter chips, resizable sidebar, and clickable in-reply action glyphs
  • GFM markdown rendering with DOMPurify sanitization and per-code-block copy buttons
  • Guided tour step covering query suggestions, setup, and the budget pill

Fixes

  • Fixed tooltip z-index rendering below overlay UI
  • Fixed guided-tour teardown where Popup.close() could tear down open panels mid-transition

UI

  • Replaced lasso SVG mask with curly-loop glyph

v1.12.0

31 Mar 14:49

Choose a tag to compare

Features

  • Added toggle button for hover highlight effect with hotkey (H) and auto-clear of highlight/dim states on disable
  • Added fine-grained bubble-set label controls with tabbed UI
  • Show data source label in header and improve export filenames

Fixes

  • Fixed edges rendering on top of nodes after dragging a node and then hovering — reset zIndex elevated by G6's frontElement after drag ends
  • Fixed group-contiguous column order in Excel export
  • Fixed new columns being inserted at end instead of next to their group
  • Fixed apply button not enabling after row deletion in data editor

v1.11.2

04 Mar 09:30

Choose a tag to compare

1.11.2