Skip to content

v0.1.3

Pre-release
Pre-release

Choose a tag to compare

@ayanbag ayanbag released this 07 Jul 11:17

v0.1.3 — Seamless sciogen explore on large codebases

Highlights

sciogen explore no longer gets laggy as the graph grows. Previously every
interaction — expanding a node, dragging the confidence slider, even hovering —
tore down the entire Cytoscape graph and re-ran a full force-directed layout
over everything on screen. On large codebases that meant visible stutter and, on
"Expand all", a frozen tab.

The rendering model is now incremental and position-locked: interactions only
touch the delta, and existing nodes never move.

What's fixed

  • Expand / collapse is now local and instant. Revealing a node's children no
    longer relayouts the whole graph — new nodes fade in around the node that
    expanded them, and everything already on screen stays put.
  • Confidence slider is smooth. Dragging it is debounced and only shows/hides
    edges instead of rebuilding the graph per pixel.
  • Hover no longer janks on dense graphs. Focus highlighting is batched into a
    single redraw.
  • "Expand all" no longer freezes the tab. It runs a single layout pass and
    skips layout animation past 700 nodes so large graphs snap into place.
  • Faster edge computation. On-screen edges are gathered from the adjacency of
    visible nodes only, so cost scales with what's shown — not with the size of the
    entire codebase.
  • Fixed a potential stack overflow in node-size scaling on very large graphs
    (Math.max(...spread) over all in-degrees).

Notes

  • Purely a client-side rendering change to the generated explore HTML. No
    changes to indexing, the graph schema, stored data, or the Python/MCP query
    APIs.
  • Existing .sciogen indexes work as-is — just re-run sciogen explore to
    regenerate the snapshot with the new viewer.