Repository navigation
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 optionalfocus/1document serialization.- Per-direction separation fit and Caret
loosen()/tighten(), with optionalseparation/1serialization. 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.0The 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.