@knowvah/dot-engine 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -287,6 +287,22 @@ from the canonical C Graphviz. New behavior is pinned to the C source — see
|
|
|
287
287
|
|
|
288
288
|
- **Feature coverage is incomplete.** The C source defines completeness; gaps
|
|
289
289
|
are tracked in the port catalog rather than hidden.
|
|
290
|
+
- **Very large graphs are impractical to lay out at runtime.** Graphs beyond
|
|
291
|
+
roughly 10k nodes or a few MB of DOT source hit a scale ceiling — layout
|
|
292
|
+
(mincross, ranking, spline routing) is superlinear. This is **shared with
|
|
293
|
+
upstream Graphviz, not a port-specific defect**: on such inputs native `dot`,
|
|
294
|
+
the WASM builds (`@hpcc-js/wasm-graphviz`), and this engine all time out or
|
|
295
|
+
run out of memory alike (see the large-source note in
|
|
296
|
+
[`test/corpus/PERF.md`](test/corpus/PERF.md)). This engine does **not** leak —
|
|
297
|
+
its per-render heap is flat; the limit is strictly graph size.
|
|
298
|
+
|
|
299
|
+
For graphs at that scale, **pre-render to SVG once at build time and serve the
|
|
300
|
+
static `.svg`** rather than laying out in the browser on every view. The
|
|
301
|
+
build-time site adapters in
|
|
302
|
+
[knowvah/dot-plugins](https://github.com/knowvah/dot-plugins) (published on
|
|
303
|
+
NPM) do exactly this — e.g. `@knowvah/vitepress-plugin-dot`,
|
|
304
|
+
`@knowvah/eleventy-plugin-dot`, `@knowvah/docusaurus-plugin-dot`, and the
|
|
305
|
+
framework-agnostic `@knowvah/dot-markdown-it`.
|
|
290
306
|
|
|
291
307
|
## License
|
|
292
308
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knowvah/dot-engine",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Faithful TypeScript port of Graphviz (dot, neato, fdp, sfdp, circo, twopi, osage, patchwork) — no C: no native binary, no WASM. Oracle-verified against the C implementation, runs in the browser.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphviz",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"survey:gate": "tsx test/corpus/rules-gate.ts",
|
|
66
66
|
"survey:dashboard": "tsx test/corpus/dashboard.ts",
|
|
67
67
|
"survey:baseline": "GV_TEXT_MEASURER=lut tsx test/corpus/survey.ts",
|
|
68
|
+
"bench:wasm": "node --expose-gc test/corpus/wasm-bench.mjs",
|
|
68
69
|
"docs:copy-reports": "node docs-site/copy-reports.mjs",
|
|
69
70
|
"docs:copy-goldens": "node docs-site/copy-goldens.mjs",
|
|
70
71
|
"docs:api": "typedoc",
|
|
@@ -87,6 +88,7 @@
|
|
|
87
88
|
}
|
|
88
89
|
},
|
|
89
90
|
"devDependencies": {
|
|
91
|
+
"@hpcc-js/wasm-graphviz": "1.28.0",
|
|
90
92
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
91
93
|
"@semantic-release/github": "^12.0.9",
|
|
92
94
|
"@semantic-release/npm": "^13.1.5",
|