Skip to content

Parsegraph 7.1.0

Latest

Choose a tag to compare

@dafrito dafrito released this 25 Oct 05:26

Parsegraph 7.1.0 adds directional focus and independent separation controls, with matching TypeScript and C APIs.

Highlights

  • focus() / clearFocus(), graph-space focus bounds, and optional focus/1 document serialization.
  • Per-direction separation fit and Caret loosen() / tighten(), with optional separation/1 serialization. Reserve content envelopes without giving up exact combined extents.
  • Correct inward-root vertical pull, sibling traversal, and detach/reparent preference handling.
  • Installable native CMake targets and relocatable static-library packaging, plus matched C/TypeScript benchmarks with HTML, JSONL, and SVG output.
  • SVG geometry and focus framing for reference tooling and the visual manual.

Installation and compatibility

npm install parsegraph@7.1.0

The JavaScript package retains its CommonJS/UMD entry point and TypeScript declarations. The .parsegraph document remains v1; focus and separation are optional capabilities. Readers must honor separation to reproduce its spacing. Focus metadata does not itself change layout or add viewer camera controls.

Geometry may change for inward-contained graphs affected by the corrected pull bug. Native consumers should rebuild; native C artifacts remain separate from npm and do not promise a stable binary ABI.

Validation

Local validation passed 280 JavaScript tests, 21 native Debug ASan/UBSan tests, and 68 maintenance/package/release safeguard tests. The actual npm archive is checked through CommonJS, browser UMD, and an isolated TypeScript consumer, including focus/separation behavior and round trips. Native separation parity checks compare 480 positions.

The release workflow repeats the Node 22/24 and Linux/macOS native matrix, publishes the exact verified npm archive with provenance, and attaches the npm archive, API documentation, receipt, and checksums.

Candidate CI · Changelog · Downstream adoption guide