You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(graph): dedicated ultra-performance Every-node view
Replace the worker-backed all-node LOD renderer with a purpose-built WebGL2
engine: all geometry is uploaded once and re-uploaded only on data/layout/
filter changes, camera moves touch two uniforms (frame cost independent of
node count up to the 20k/200k ceilings), zoom-out readability comes from
additive glow density, edges reveal progressively by weight, community
districts render as tinted region hulls with hub-derived labels, picking is
a local spatial grid, and hover/highlight neighbourhood focus draws dark-
cased gold paths with direction arrows and relation names. Adds a Focus
graph action in the connections drawer, keyboard browsing, two-pointer
pinch, a screen-reader live region, honest drawn-edge stats, and a
compatibility alias so the classic/static dashboards keep working. The old
toggle becomes the 'Every node' layout chip; entering it shows every entity
and restores overview filters on exit. Focus-depth/auto-collapse controls
are disabled honestly until implemented.
* test(graph): pin the Every-node engine contract
Replace the deleted all-asset suite with tests/test_graph_every_asset.py:
the real worker runs in Node (capacity refusal, typed-array compaction,
falsy-id preservation, bridge classification, streamed preview/ready/
progress/layout settling, relayout/reheat generation-token semantics) and
renderer source assertions lock in the structural invariants (WebGL2-only,
vertex-only u_glow precision safety, uniform-only hot edges, change-driven
uploads, honest edge estimates, synchronous export compositing, listener
hygiene). Legacy routing/latch/CSP expectations follow the new asset URL.
* docs(graph): document the Every-node architecture with measured settle times
Rewrite docs/GRAPH_PERFORMANCE.md for the new engine contract, add the
deterministic worker benchmark (eval.graph_every_bench: ~320 ms settle at
2k nodes, ~1.2 s at 20k), and record the feature in the changelog.
* fix(ci): remove em dashes from public docs and restore Show all nodes visibility
Public-facing docs must not contain em dashes (test_benchmark_evidence).
The Every-node chip was hidden behind a hidden Show all nodes button,
causing 3 Playwright failures; restore the button so existing e2e
expectations pass while the chip remains available.
* fix(graph): keep layout presets inside Every-node and restore toggle filter handling
Presets other than Every node now re-run the Every-node seeded layout
without exiting the presentation, matching the documented 'presets remain
live' contract and the existing e2e that exercises compact/type while in
All nodes. The Show-all toggle now correctly saves/restores the overview
min-degree and unlinked filters and syncs the preset choice, so entering
via chip or toggle shows every entity and leaving restores the prior
overview.
* fix(e2e): expect Every-node to show unlinked while active
Entering Every-node forces the unlinked filter to visible so the
complete projection is shown; the persisted preference while in that
mode is therefore true. The previous expectation of false reflected the
overview filter before entry, not the forced Every-node state.
* fix(graph): replace Show all button with Every node chip and keep preset layout in Every-node
The Show all nodes button is intentionally hidden; the Every node layout
chip is now the canonical entry/exit for the complete graph. Entering
via the chip saves the overview min-degree/unlinked filters and forces
the Every-node view to show every entity; exiting (clicking the chip
again) restores those filters. Other layout presets while in Every-node
now re-run the Every-node seeded layout without leaving the presentation,
matching the documented 'presets remain live' contract. Tests updated to
exercise the chip (Every node visible, aria-pressed, All nodes mode) and
to expect the forced unlinked state while in Every-node.
* refactor(graph): remove Show all button completely, Every node chip is sole entry
The hidden Show all button was a transitional compatibility shim. It is
now fully removed from the Ledger markup and ledger.js (updateGraphMode
toggle and click handler). The Every node layout chip
[data-graph-preset-choice="every"] is the sole control for the
complete graph presentation, with filter save/restore handled in the chip
handler. Tests updated to assert absence of #graph-show-all and presence
of the Every node chip.
* fix(graph): harden Every-node runtime and worker
* fix(graph): bound Every-node focus and centroid work
* test(graph): align Every-node control contract
* fix(graph): clear stale every-node reload state
* fix(graph): harden every-node interaction and reload state
* fix(graph): polish Every-node branch for merge readiness
- Fix .gitignore pattern typos (duplicate double-dot scratch rule, literal
* fix(graph): honor Every-node edge visibility filters
* fix(graph): preload both full-view engines before scene selection
* fix(graph): restore keyboard focus visibility
* fix(graph): clear stale every-node region overlays
* fix(graph): use Every-node loader global in legacy dashboards
* Align Every-node browser contract
* Restore graph preset after failed transition
---------
Co-authored-by: Coding-Dev-Tools <algorithmictradingsolutions@gmail.com>
records in the dashboard. The offline graph renderer is vendored, and the interface is keyboard-
233
233
navigable with light and dark themes. Graph exploration offers a focused **High quality** view and
234
-
an explicit worker-backed **Show all nodes** view for complete entity projections up to 20,000
234
+
an explicit worker-backed **Every node** view for complete entity projections up to 20,000
235
235
nodes and 200,000 relationships; see the [graph performance profiles](https://github.com/Coding-Dev-Tools/engraphis/blob/main/docs/GRAPH_PERFORMANCE.md).
0 commit comments