@knowvah/dot-engine 0.1.0
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/LICENSE +277 -0
- package/README.md +292 -0
- package/dist/api/builder.d.ts +78 -0
- package/dist/api/builder.d.ts.map +1 -0
- package/dist/api/edge-ops.d.ts +45 -0
- package/dist/api/edge-ops.d.ts.map +1 -0
- package/dist/api/geometry.d.ts +159 -0
- package/dist/api/geometry.d.ts.map +1 -0
- package/dist/api/index.d.ts +24 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api.js +719 -0
- package/dist/api.js.map +7 -0
- package/dist/bundle.js +101 -0
- package/dist/cdt/bag.d.ts +58 -0
- package/dist/cdt/bag.d.ts.map +1 -0
- package/dist/cdt/hash-core.d.ts +40 -0
- package/dist/cdt/hash-core.d.ts.map +1 -0
- package/dist/cdt/hash.d.ts +74 -0
- package/dist/cdt/hash.d.ts.map +1 -0
- package/dist/cdt/index.d.ts +16 -0
- package/dist/cdt/index.d.ts.map +1 -0
- package/dist/cdt/splay-core.d.ts +78 -0
- package/dist/cdt/splay-core.d.ts.map +1 -0
- package/dist/cdt/splay.d.ts +63 -0
- package/dist/cdt/splay.d.ts.map +1 -0
- package/dist/cdt/strhash.d.ts +26 -0
- package/dist/cdt/strhash.d.ts.map +1 -0
- package/dist/cdt/types.d.ts +11 -0
- package/dist/cdt/types.d.ts.map +1 -0
- package/dist/common/arith.d.ts +35 -0
- package/dist/common/arith.d.ts.map +1 -0
- package/dist/common/arm-pow-data.d.ts +17 -0
- package/dist/common/arm-pow-data.d.ts.map +1 -0
- package/dist/common/arm-pow.d.ts +12 -0
- package/dist/common/arm-pow.d.ts.map +1 -0
- package/dist/common/arrows-constants.d.ts +97 -0
- package/dist/common/arrows-constants.d.ts.map +1 -0
- package/dist/common/arrows-geometry.d.ts +24 -0
- package/dist/common/arrows-geometry.d.ts.map +1 -0
- package/dist/common/arrows-miter.d.ts +24 -0
- package/dist/common/arrows-miter.d.ts.map +1 -0
- package/dist/common/arrows-shapes-poly.d.ts +24 -0
- package/dist/common/arrows-shapes-poly.d.ts.map +1 -0
- package/dist/common/arrows-shapes-util.d.ts +77 -0
- package/dist/common/arrows-shapes-util.d.ts.map +1 -0
- package/dist/common/arrows-shapes.d.ts +48 -0
- package/dist/common/arrows-shapes.d.ts.map +1 -0
- package/dist/common/arrows-types.d.ts +59 -0
- package/dist/common/arrows-types.d.ts.map +1 -0
- package/dist/common/arrows.d.ts +69 -0
- package/dist/common/arrows.d.ts.map +1 -0
- package/dist/common/color.d.ts +66 -0
- package/dist/common/color.d.ts.map +1 -0
- package/dist/common/colorData.d.ts +10 -0
- package/dist/common/colorData.d.ts.map +1 -0
- package/dist/common/compass-port.d.ts +39 -0
- package/dist/common/compass-port.d.ts.map +1 -0
- package/dist/common/crand.d.ts +42 -0
- package/dist/common/crand.d.ts.map +1 -0
- package/dist/common/edge-label-init.d.ts +51 -0
- package/dist/common/edge-label-init.d.ts.map +1 -0
- package/dist/common/edge-offset.d.ts +66 -0
- package/dist/common/edge-offset.d.ts.map +1 -0
- package/dist/common/ellipse-wedge.d.ts +10 -0
- package/dist/common/ellipse-wedge.d.ts.map +1 -0
- package/dist/common/emit-types.d.ts +255 -0
- package/dist/common/emit-types.d.ts.map +1 -0
- package/dist/common/fma.d.ts +10 -0
- package/dist/common/fma.d.ts.map +1 -0
- package/dist/common/graph-init.d.ts +61 -0
- package/dist/common/graph-init.d.ts.map +1 -0
- package/dist/common/html-entities.d.ts +17 -0
- package/dist/common/html-entities.d.ts.map +1 -0
- package/dist/common/html-string.d.ts +14 -0
- package/dist/common/html-string.d.ts.map +1 -0
- package/dist/common/htmltable-emit-fill.d.ts +84 -0
- package/dist/common/htmltable-emit-fill.d.ts.map +1 -0
- package/dist/common/htmltable-emit-rules.d.ts +79 -0
- package/dist/common/htmltable-emit-rules.d.ts.map +1 -0
- package/dist/common/htmltable-emit.d.ts +63 -0
- package/dist/common/htmltable-emit.d.ts.map +1 -0
- package/dist/common/htmltable-lex.d.ts +16 -0
- package/dist/common/htmltable-lex.d.ts.map +1 -0
- package/dist/common/htmltable-parse.d.ts +37 -0
- package/dist/common/htmltable-parse.d.ts.map +1 -0
- package/dist/common/htmltable-port.d.ts +15 -0
- package/dist/common/htmltable-port.d.ts.map +1 -0
- package/dist/common/htmltable-pos-runs.d.ts +88 -0
- package/dist/common/htmltable-pos-runs.d.ts.map +1 -0
- package/dist/common/htmltable-pos.d.ts +192 -0
- package/dist/common/htmltable-pos.d.ts.map +1 -0
- package/dist/common/htmltable-types.d.ts +237 -0
- package/dist/common/htmltable-types.d.ts.map +1 -0
- package/dist/common/htmltable.d.ts +74 -0
- package/dist/common/htmltable.d.ts.map +1 -0
- package/dist/common/layers.d.ts +20 -0
- package/dist/common/layers.d.ts.map +1 -0
- package/dist/common/make-label.d.ts +60 -0
- package/dist/common/make-label.d.ts.map +1 -0
- package/dist/common/multicolor.d.ts +46 -0
- package/dist/common/multicolor.d.ts.map +1 -0
- package/dist/common/nodeinit.d.ts +45 -0
- package/dist/common/nodeinit.d.ts.map +1 -0
- package/dist/common/poly-gencode.d.ts +40 -0
- package/dist/common/poly-gencode.d.ts.map +1 -0
- package/dist/common/poly-init.d.ts +51 -0
- package/dist/common/poly-init.d.ts.map +1 -0
- package/dist/common/poly-inside.d.ts +37 -0
- package/dist/common/poly-inside.d.ts.map +1 -0
- package/dist/common/poly-shapes-cases.d.ts +31 -0
- package/dist/common/poly-shapes-cases.d.ts.map +1 -0
- package/dist/common/poly-shapes-cases2.d.ts +25 -0
- package/dist/common/poly-shapes-cases2.d.ts.map +1 -0
- package/dist/common/poly-shapes-util.d.ts +42 -0
- package/dist/common/poly-shapes-util.d.ts.map +1 -0
- package/dist/common/poly-shapes.d.ts +39 -0
- package/dist/common/poly-shapes.d.ts.map +1 -0
- package/dist/common/poly-sizing.d.ts +189 -0
- package/dist/common/poly-sizing.d.ts.map +1 -0
- package/dist/common/poly-vertices.d.ts +42 -0
- package/dist/common/poly-vertices.d.ts.map +1 -0
- package/dist/common/postproc.d.ts +49 -0
- package/dist/common/postproc.d.ts.map +1 -0
- package/dist/common/ps-fontalias.d.ts +36 -0
- package/dist/common/ps-fontalias.d.ts.map +1 -0
- package/dist/common/random.d.ts +8 -0
- package/dist/common/random.d.ts.map +1 -0
- package/dist/common/record-port.d.ts +34 -0
- package/dist/common/record-port.d.ts.map +1 -0
- package/dist/common/record.d.ts +105 -0
- package/dist/common/record.d.ts.map +1 -0
- package/dist/common/shapeData.d.ts +186 -0
- package/dist/common/shapeData.d.ts.map +1 -0
- package/dist/common/shapes.d.ts +36 -0
- package/dist/common/shapes.d.ts.map +1 -0
- package/dist/common/spline-midpoint.d.ts +31 -0
- package/dist/common/spline-midpoint.d.ts.map +1 -0
- package/dist/common/splines-clip.d.ts +21 -0
- package/dist/common/splines-clip.d.ts.map +1 -0
- package/dist/common/splines-constants.d.ts +42 -0
- package/dist/common/splines-constants.d.ts.map +1 -0
- package/dist/common/splines-geom.d.ts +51 -0
- package/dist/common/splines-geom.d.ts.map +1 -0
- package/dist/common/splines-path-begin.d.ts +17 -0
- package/dist/common/splines-path-begin.d.ts.map +1 -0
- package/dist/common/splines-path-end.d.ts +17 -0
- package/dist/common/splines-path-end.d.ts.map +1 -0
- package/dist/common/splines-path-shared.d.ts +53 -0
- package/dist/common/splines-path-shared.d.ts.map +1 -0
- package/dist/common/splines-routespl.d.ts +40 -0
- package/dist/common/splines-routespl.d.ts.map +1 -0
- package/dist/common/splines-selfedge.d.ts +21 -0
- package/dist/common/splines-selfedge.d.ts.map +1 -0
- package/dist/common/splines.d.ts +18 -0
- package/dist/common/splines.d.ts.map +1 -0
- package/dist/common/style-resolve.d.ts +197 -0
- package/dist/common/style-resolve.d.ts.map +1 -0
- package/dist/common/subst.d.ts +31 -0
- package/dist/common/subst.d.ts.map +1 -0
- package/dist/common/taper.d.ts +23 -0
- package/dist/common/taper.d.ts.map +1 -0
- package/dist/common/textmeasure-factory.d.ts +33 -0
- package/dist/common/textmeasure-factory.d.ts.map +1 -0
- package/dist/common/textmeasure-lookup.d.ts +17 -0
- package/dist/common/textmeasure-lookup.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-a.d.ts +13 -0
- package/dist/common/textmeasure-lut-data-a.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-b.d.ts +12 -0
- package/dist/common/textmeasure-lut-data-b.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-c.d.ts +13 -0
- package/dist/common/textmeasure-lut-data-c.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data.d.ts +27 -0
- package/dist/common/textmeasure-lut-data.d.ts.map +1 -0
- package/dist/common/textmeasure.d.ts +120 -0
- package/dist/common/textmeasure.d.ts.map +1 -0
- package/dist/common/types.d.ts +316 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/xlabels-place.d.ts +125 -0
- package/dist/common/xlabels-place.d.ts.map +1 -0
- package/dist/debug.d.ts +58 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/errors.d.ts +63 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/gvc/anchor.d.ts +86 -0
- package/dist/gvc/anchor.d.ts.map +1 -0
- package/dist/gvc/context.d.ts +177 -0
- package/dist/gvc/context.d.ts.map +1 -0
- package/dist/gvc/default-context.d.ts +20 -0
- package/dist/gvc/default-context.d.ts.map +1 -0
- package/dist/gvc/device-cluster.d.ts +25 -0
- package/dist/gvc/device-cluster.d.ts.map +1 -0
- package/dist/gvc/device.d.ts +99 -0
- package/dist/gvc/device.d.ts.map +1 -0
- package/dist/gvc/edge-labels.d.ts +10 -0
- package/dist/gvc/edge-labels.d.ts.map +1 -0
- package/dist/gvc/emit-walk.d.ts +22 -0
- package/dist/gvc/emit-walk.d.ts.map +1 -0
- package/dist/gvc/image-resolver.d.ts +44 -0
- package/dist/gvc/image-resolver.d.ts.map +1 -0
- package/dist/gvc/job.d.ts +234 -0
- package/dist/gvc/job.d.ts.map +1 -0
- package/dist/gvc/textlayout.d.ts +33 -0
- package/dist/gvc/textlayout.d.ts.map +1 -0
- package/dist/gvc/textspan-emit.d.ts +41 -0
- package/dist/gvc/textspan-emit.d.ts.map +1 -0
- package/dist/gvc/usershape.d.ts +25 -0
- package/dist/gvc/usershape.d.ts.map +1 -0
- package/dist/gvc/viewport.d.ts +71 -0
- package/dist/gvc/viewport.d.ts.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52862 -0
- package/dist/index.js.map +7 -0
- package/dist/label/index.d.ts +74 -0
- package/dist/label/index.d.ts.map +1 -0
- package/dist/label/node.d.ts +108 -0
- package/dist/label/node.d.ts.map +1 -0
- package/dist/label/rectangle.d.ts +60 -0
- package/dist/label/rectangle.d.ts.map +1 -0
- package/dist/label/split-q.d.ts +13 -0
- package/dist/label/split-q.d.ts.map +1 -0
- package/dist/label/xlabels-geom.d.ts +46 -0
- package/dist/label/xlabels-geom.d.ts.map +1 -0
- package/dist/label/xlabels-intersect.d.ts +79 -0
- package/dist/label/xlabels-intersect.d.ts.map +1 -0
- package/dist/label/xlabels.d.ts +67 -0
- package/dist/label/xlabels.d.ts.map +1 -0
- package/dist/layout/circo/blockpath.d.ts +120 -0
- package/dist/layout/circo/blockpath.d.ts.map +1 -0
- package/dist/layout/circo/blocks.d.ts +135 -0
- package/dist/layout/circo/blocks.d.ts.map +1 -0
- package/dist/layout/circo/blocktree.d.ts +51 -0
- package/dist/layout/circo/blocktree.d.ts.map +1 -0
- package/dist/layout/circo/circular.d.ts +59 -0
- package/dist/layout/circo/circular.d.ts.map +1 -0
- package/dist/layout/circo/index.d.ts +35 -0
- package/dist/layout/circo/index.d.ts.map +1 -0
- package/dist/layout/circo/init.d.ts +50 -0
- package/dist/layout/circo/init.d.ts.map +1 -0
- package/dist/layout/circo/position-helpers.d.ts +33 -0
- package/dist/layout/circo/position-helpers.d.ts.map +1 -0
- package/dist/layout/circo/position.d.ts +66 -0
- package/dist/layout/circo/position.d.ts.map +1 -0
- package/dist/layout/dot/acyclic.d.ts +8 -0
- package/dist/layout/dot/acyclic.d.ts.map +1 -0
- package/dist/layout/dot/aspect.d.ts +17 -0
- package/dist/layout/dot/aspect.d.ts.map +1 -0
- package/dist/layout/dot/classify.d.ts +52 -0
- package/dist/layout/dot/classify.d.ts.map +1 -0
- package/dist/layout/dot/cluster-path.d.ts +38 -0
- package/dist/layout/dot/cluster-path.d.ts.map +1 -0
- package/dist/layout/dot/cluster.d.ts +102 -0
- package/dist/layout/dot/cluster.d.ts.map +1 -0
- package/dist/layout/dot/compound-clip.d.ts +69 -0
- package/dist/layout/dot/compound-clip.d.ts.map +1 -0
- package/dist/layout/dot/compound-geom.d.ts +115 -0
- package/dist/layout/dot/compound-geom.d.ts.map +1 -0
- package/dist/layout/dot/compound.d.ts +56 -0
- package/dist/layout/dot/compound.d.ts.map +1 -0
- package/dist/layout/dot/conc.d.ts +88 -0
- package/dist/layout/dot/conc.d.ts.map +1 -0
- package/dist/layout/dot/decomp.d.ts +66 -0
- package/dist/layout/dot/decomp.d.ts.map +1 -0
- package/dist/layout/dot/edge-order.d.ts +27 -0
- package/dist/layout/dot/edge-order.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-arrow.d.ts +46 -0
- package/dist/layout/dot/edge-route-arrow.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-boxes.d.ts +75 -0
- package/dist/layout/dot/edge-route-boxes.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-chain.d.ts +67 -0
- package/dist/layout/dot/edge-route-chain.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-clip.d.ts +88 -0
- package/dist/layout/dot/edge-route-clip.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-faithful.d.ts +94 -0
- package/dist/layout/dot/edge-route-faithful.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-geom.d.ts +43 -0
- package/dist/layout/dot/edge-route-geom.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-helpers.d.ts +50 -0
- package/dist/layout/dot/edge-route-helpers.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-poly.d.ts +48 -0
- package/dist/layout/dot/edge-route-poly.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-rank.d.ts +57 -0
- package/dist/layout/dot/edge-route-rank.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-routing.d.ts +99 -0
- package/dist/layout/dot/edge-route-routing.d.ts.map +1 -0
- package/dist/layout/dot/edge-route.d.ts +57 -0
- package/dist/layout/dot/edge-route.d.ts.map +1 -0
- package/dist/layout/dot/fastgr.d.ts +147 -0
- package/dist/layout/dot/fastgr.d.ts.map +1 -0
- package/dist/layout/dot/flat-utils.d.ts +21 -0
- package/dist/layout/dot/flat-utils.d.ts.map +1 -0
- package/dist/layout/dot/flat.d.ts +152 -0
- package/dist/layout/dot/flat.d.ts.map +1 -0
- package/dist/layout/dot/graph-label.d.ts +18 -0
- package/dist/layout/dot/graph-label.d.ts.map +1 -0
- package/dist/layout/dot/index.d.ts +128 -0
- package/dist/layout/dot/index.d.ts.map +1 -0
- package/dist/layout/dot/init.d.ts +93 -0
- package/dist/layout/dot/init.d.ts.map +1 -0
- package/dist/layout/dot/label-order.d.ts +45 -0
- package/dist/layout/dot/label-order.d.ts.map +1 -0
- package/dist/layout/dot/mincross-build.d.ts +52 -0
- package/dist/layout/dot/mincross-build.d.ts.map +1 -0
- package/dist/layout/dot/mincross-cross.d.ts +80 -0
- package/dist/layout/dot/mincross-cross.d.ts.map +1 -0
- package/dist/layout/dot/mincross-flat.d.ts +27 -0
- package/dist/layout/dot/mincross-flat.d.ts.map +1 -0
- package/dist/layout/dot/mincross-order.d.ts +89 -0
- package/dist/layout/dot/mincross-order.d.ts.map +1 -0
- package/dist/layout/dot/mincross-utils.d.ts +60 -0
- package/dist/layout/dot/mincross-utils.d.ts.map +1 -0
- package/dist/layout/dot/mincross.d.ts +75 -0
- package/dist/layout/dot/mincross.d.ts.map +1 -0
- package/dist/layout/dot/ns-core.d.ts +37 -0
- package/dist/layout/dot/ns-core.d.ts.map +1 -0
- package/dist/layout/dot/ns-range.d.ts +17 -0
- package/dist/layout/dot/ns-range.d.ts.map +1 -0
- package/dist/layout/dot/ns-subtree.d.ts +78 -0
- package/dist/layout/dot/ns-subtree.d.ts.map +1 -0
- package/dist/layout/dot/ns.d.ts +86 -0
- package/dist/layout/dot/ns.d.ts.map +1 -0
- package/dist/layout/dot/ortho-adapter.d.ts +19 -0
- package/dist/layout/dot/ortho-adapter.d.ts.map +1 -0
- package/dist/layout/dot/pack-components.d.ts +100 -0
- package/dist/layout/dot/pack-components.d.ts.map +1 -0
- package/dist/layout/dot/position-aux.d.ts +110 -0
- package/dist/layout/dot/position-aux.d.ts.map +1 -0
- package/dist/layout/dot/position-bbox.d.ts +57 -0
- package/dist/layout/dot/position-bbox.d.ts.map +1 -0
- package/dist/layout/dot/position-cluster.d.ts +48 -0
- package/dist/layout/dot/position-cluster.d.ts.map +1 -0
- package/dist/layout/dot/position-ycoords.d.ts +42 -0
- package/dist/layout/dot/position-ycoords.d.ts.map +1 -0
- package/dist/layout/dot/position.d.ts +47 -0
- package/dist/layout/dot/position.d.ts.map +1 -0
- package/dist/layout/dot/rank-dot2.d.ts +114 -0
- package/dist/layout/dot/rank-dot2.d.ts.map +1 -0
- package/dist/layout/dot/rank.d.ts +119 -0
- package/dist/layout/dot/rank.d.ts.map +1 -0
- package/dist/layout/dot/sameport.d.ts +70 -0
- package/dist/layout/dot/sameport.d.ts.map +1 -0
- package/dist/layout/dot/self-loop.d.ts +54 -0
- package/dist/layout/dot/self-loop.d.ts.map +1 -0
- package/dist/layout/dot/splines-clone.d.ts +33 -0
- package/dist/layout/dot/splines-clone.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat-labeled.d.ts +101 -0
- package/dist/layout/dot/splines-flat-labeled.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat-multi.d.ts +35 -0
- package/dist/layout/dot/splines-flat-multi.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat.d.ts +116 -0
- package/dist/layout/dot/splines-flat.d.ts.map +1 -0
- package/dist/layout/dot/splines-groups.d.ts +38 -0
- package/dist/layout/dot/splines-groups.d.ts.map +1 -0
- package/dist/layout/dot/splines-label.d.ts +105 -0
- package/dist/layout/dot/splines-label.d.ts.map +1 -0
- package/dist/layout/dot/splines-route-type.d.ts +28 -0
- package/dist/layout/dot/splines-route-type.d.ts.map +1 -0
- package/dist/layout/dot/splines-route.d.ts +99 -0
- package/dist/layout/dot/splines-route.d.ts.map +1 -0
- package/dist/layout/dot/splines.d.ts +157 -0
- package/dist/layout/dot/splines.d.ts.map +1 -0
- package/dist/layout/dot/straight-edges.d.ts +39 -0
- package/dist/layout/dot/straight-edges.d.ts.map +1 -0
- package/dist/layout/fdp/cluster-edges.d.ts +31 -0
- package/dist/layout/fdp/cluster-edges.d.ts.map +1 -0
- package/dist/layout/fdp/comp.d.ts +29 -0
- package/dist/layout/fdp/comp.d.ts.map +1 -0
- package/dist/layout/fdp/derive.d.ts +39 -0
- package/dist/layout/fdp/derive.d.ts.map +1 -0
- package/dist/layout/fdp/fdp-model.d.ts +101 -0
- package/dist/layout/fdp/fdp-model.d.ts.map +1 -0
- package/dist/layout/fdp/grid.d.ts +49 -0
- package/dist/layout/fdp/grid.d.ts.map +1 -0
- package/dist/layout/fdp/index.d.ts +36 -0
- package/dist/layout/fdp/index.d.ts.map +1 -0
- package/dist/layout/fdp/init.d.ts +26 -0
- package/dist/layout/fdp/init.d.ts.map +1 -0
- package/dist/layout/fdp/layout.d.ts +57 -0
- package/dist/layout/fdp/layout.d.ts.map +1 -0
- package/dist/layout/fdp/normalize.d.ts +18 -0
- package/dist/layout/fdp/normalize.d.ts.map +1 -0
- package/dist/layout/fdp/ports.d.ts +41 -0
- package/dist/layout/fdp/ports.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout-init.d.ts +21 -0
- package/dist/layout/fdp/tlayout-init.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout-parms.d.ts +98 -0
- package/dist/layout/fdp/tlayout-parms.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout.d.ts +43 -0
- package/dist/layout/fdp/tlayout.d.ts.map +1 -0
- package/dist/layout/fdp/xlayout.d.ts +26 -0
- package/dist/layout/fdp/xlayout.d.ts.map +1 -0
- package/dist/layout/neato/bfs.d.ts +43 -0
- package/dist/layout/neato/bfs.d.ts.map +1 -0
- package/dist/layout/neato/cdt-surface.d.ts +16 -0
- package/dist/layout/neato/cdt-surface.d.ts.map +1 -0
- package/dist/layout/neato/conjgrad.d.ts +61 -0
- package/dist/layout/neato/conjgrad.d.ts.map +1 -0
- package/dist/layout/neato/delaunay.d.ts +28 -0
- package/dist/layout/neato/delaunay.d.ts.map +1 -0
- package/dist/layout/neato/dijkstra.d.ts +80 -0
- package/dist/layout/neato/dijkstra.d.ts.map +1 -0
- package/dist/layout/neato/fdp-adjust.d.ts +31 -0
- package/dist/layout/neato/fdp-adjust.d.ts.map +1 -0
- package/dist/layout/neato/index.d.ts +58 -0
- package/dist/layout/neato/index.d.ts.map +1 -0
- package/dist/layout/neato/init.d.ts +207 -0
- package/dist/layout/neato/init.d.ts.map +1 -0
- package/dist/layout/neato/legal.d.ts +7 -0
- package/dist/layout/neato/legal.d.ts.map +1 -0
- package/dist/layout/neato/matrix-ops.d.ts +28 -0
- package/dist/layout/neato/matrix-ops.d.ts.map +1 -0
- package/dist/layout/neato/multispline-router.d.ts +80 -0
- package/dist/layout/neato/multispline-router.d.ts.map +1 -0
- package/dist/layout/neato/multispline.d.ts +24 -0
- package/dist/layout/neato/multispline.d.ts.map +1 -0
- package/dist/layout/neato/overlap-prism.d.ts +26 -0
- package/dist/layout/neato/overlap-prism.d.ts.map +1 -0
- package/dist/layout/neato/overlap.d.ts +85 -0
- package/dist/layout/neato/overlap.d.ts.map +1 -0
- package/dist/layout/neato/sc-adjust.d.ts +33 -0
- package/dist/layout/neato/sc-adjust.d.ts.map +1 -0
- package/dist/layout/neato/sep-factor.d.ts +41 -0
- package/dist/layout/neato/sep-factor.d.ts.map +1 -0
- package/dist/layout/neato/set-aspect.d.ts +33 -0
- package/dist/layout/neato/set-aspect.d.ts.map +1 -0
- package/dist/layout/neato/sgd.d.ts +166 -0
- package/dist/layout/neato/sgd.d.ts.map +1 -0
- package/dist/layout/neato/splines.d.ts +153 -0
- package/dist/layout/neato/splines.d.ts.map +1 -0
- package/dist/layout/neato/stress-kernel.d.ts +53 -0
- package/dist/layout/neato/stress-kernel.d.ts.map +1 -0
- package/dist/layout/neato/stress.d.ts +158 -0
- package/dist/layout/neato/stress.d.ts.map +1 -0
- package/dist/layout/osage/index.d.ts +158 -0
- package/dist/layout/osage/index.d.ts.map +1 -0
- package/dist/layout/osage/layout.d.ts +49 -0
- package/dist/layout/osage/layout.d.ts.map +1 -0
- package/dist/layout/osage/types.d.ts +28 -0
- package/dist/layout/osage/types.d.ts.map +1 -0
- package/dist/layout/pack/array-pack.d.ts +114 -0
- package/dist/layout/pack/array-pack.d.ts.map +1 -0
- package/dist/layout/pack/index.d.ts +157 -0
- package/dist/layout/pack/index.d.ts.map +1 -0
- package/dist/layout/pack/poly-pack.d.ts +126 -0
- package/dist/layout/pack/poly-pack.d.ts.map +1 -0
- package/dist/layout/pack/poly-place.d.ts +27 -0
- package/dist/layout/pack/poly-place.d.ts.map +1 -0
- package/dist/layout/pack/spiral-search.d.ts +18 -0
- package/dist/layout/pack/spiral-search.d.ts.map +1 -0
- package/dist/layout/pack/test-helpers.d.ts +7 -0
- package/dist/layout/pack/test-helpers.d.ts.map +1 -0
- package/dist/layout/pack/types.d.ts +74 -0
- package/dist/layout/pack/types.d.ts.map +1 -0
- package/dist/layout/patchwork/index.d.ts +136 -0
- package/dist/layout/patchwork/index.d.ts.map +1 -0
- package/dist/layout/patchwork/tree-map.d.ts +32 -0
- package/dist/layout/patchwork/tree-map.d.ts.map +1 -0
- package/dist/layout/patchwork/tree-node.d.ts +46 -0
- package/dist/layout/patchwork/tree-node.d.ts.map +1 -0
- package/dist/layout/sfdp/index.d.ts +39 -0
- package/dist/layout/sfdp/index.d.ts.map +1 -0
- package/dist/layout/sfdp/init.d.ts +61 -0
- package/dist/layout/sfdp/init.d.ts.map +1 -0
- package/dist/layout/sfdp/multilevel.d.ts +23 -0
- package/dist/layout/sfdp/multilevel.d.ts.map +1 -0
- package/dist/layout/sfdp/quadtree.d.ts +45 -0
- package/dist/layout/sfdp/quadtree.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-matrix-multiply.d.ts +34 -0
- package/dist/layout/sfdp/sparse-matrix-multiply.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-matrix.d.ts +101 -0
- package/dist/layout/sfdp/sparse-matrix.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-solve.d.ts +14 -0
- package/dist/layout/sfdp/sparse-solve.d.ts.map +1 -0
- package/dist/layout/sfdp/spring-driver.d.ts +18 -0
- package/dist/layout/sfdp/spring-driver.d.ts.map +1 -0
- package/dist/layout/sfdp/spring-electrical.d.ts +61 -0
- package/dist/layout/sfdp/spring-electrical.d.ts.map +1 -0
- package/dist/layout/twopi/circle.d.ts +83 -0
- package/dist/layout/twopi/circle.d.ts.map +1 -0
- package/dist/layout/twopi/index.d.ts +24 -0
- package/dist/layout/twopi/index.d.ts.map +1 -0
- package/dist/layout/twopi/init.d.ts +85 -0
- package/dist/layout/twopi/init.d.ts.map +1 -0
- package/dist/layout/twopi/pipeline.d.ts +37 -0
- package/dist/layout/twopi/pipeline.d.ts.map +1 -0
- package/dist/layout/twopi/twopi-test-helpers.d.ts +12 -0
- package/dist/layout/twopi/twopi-test-helpers.d.ts.map +1 -0
- package/dist/model/algData.d.ts +175 -0
- package/dist/model/algData.d.ts.map +1 -0
- package/dist/model/cgraph-ops.d.ts +86 -0
- package/dist/model/cgraph-ops.d.ts.map +1 -0
- package/dist/model/edge.d.ts +80 -0
- package/dist/model/edge.d.ts.map +1 -0
- package/dist/model/edgeInfo.d.ts +299 -0
- package/dist/model/edgeInfo.d.ts.map +1 -0
- package/dist/model/geom.d.ts +149 -0
- package/dist/model/geom.d.ts.map +1 -0
- package/dist/model/graph.d.ts +135 -0
- package/dist/model/graph.d.ts.map +1 -0
- package/dist/model/graphInfo.d.ts +418 -0
- package/dist/model/graphInfo.d.ts.map +1 -0
- package/dist/model/index.d.ts +10 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/layoutParams.d.ts +85 -0
- package/dist/model/layoutParams.d.ts.map +1 -0
- package/dist/model/node.d.ts +101 -0
- package/dist/model/node.d.ts.map +1 -0
- package/dist/model/nodeInfo.d.ts +278 -0
- package/dist/model/nodeInfo.d.ts.map +1 -0
- package/dist/model/rankEntry.d.ts +80 -0
- package/dist/model/rankEntry.d.ts.map +1 -0
- package/dist/ortho/chan-dict.d.ts +82 -0
- package/dist/ortho/chan-dict.d.ts.map +1 -0
- package/dist/ortho/fpq.d.ts +54 -0
- package/dist/ortho/fpq.d.ts.map +1 -0
- package/dist/ortho/index.d.ts +35 -0
- package/dist/ortho/index.d.ts.map +1 -0
- package/dist/ortho/maze-channels.d.ts +47 -0
- package/dist/ortho/maze-channels.d.ts.map +1 -0
- package/dist/ortho/maze.d.ts +27 -0
- package/dist/ortho/maze.d.ts.map +1 -0
- package/dist/ortho/ortho-parallel.d.ts +26 -0
- package/dist/ortho/ortho-parallel.d.ts.map +1 -0
- package/dist/ortho/ortho-route.d.ts +31 -0
- package/dist/ortho/ortho-route.d.ts.map +1 -0
- package/dist/ortho/partition.d.ts +34 -0
- package/dist/ortho/partition.d.ts.map +1 -0
- package/dist/ortho/rawgraph.d.ts +41 -0
- package/dist/ortho/rawgraph.d.ts.map +1 -0
- package/dist/ortho/sgraph.d.ts +74 -0
- package/dist/ortho/sgraph.d.ts.map +1 -0
- package/dist/ortho/trap-query.d.ts +32 -0
- package/dist/ortho/trap-query.d.ts.map +1 -0
- package/dist/ortho/trap-segment.d.ts +23 -0
- package/dist/ortho/trap-segment.d.ts.map +1 -0
- package/dist/ortho/trap-types.d.ts +91 -0
- package/dist/ortho/trap-types.d.ts.map +1 -0
- package/dist/ortho/trap-update.d.ts +12 -0
- package/dist/ortho/trap-update.d.ts.map +1 -0
- package/dist/ortho/trapezoid.d.ts +18 -0
- package/dist/ortho/trapezoid.d.ts.map +1 -0
- package/dist/ortho/types.d.ts +241 -0
- package/dist/ortho/types.d.ts.map +1 -0
- package/dist/parser/ast.d.ts +49 -0
- package/dist/parser/ast.d.ts.map +1 -0
- package/dist/parser/builder.d.ts +75 -0
- package/dist/parser/builder.d.ts.map +1 -0
- package/dist/parser/index.d.ts +97 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/pathplan/index.d.ts +8 -0
- package/dist/pathplan/index.d.ts.map +1 -0
- package/dist/pathplan/route.d.ts +9 -0
- package/dist/pathplan/route.d.ts.map +1 -0
- package/dist/pathplan/shortest.d.ts +5 -0
- package/dist/pathplan/shortest.d.ts.map +1 -0
- package/dist/pathplan/solvers.d.ts +5 -0
- package/dist/pathplan/solvers.d.ts.map +1 -0
- package/dist/pathplan/triang.d.ts +25 -0
- package/dist/pathplan/triang.d.ts.map +1 -0
- package/dist/pathplan/types.d.ts +22 -0
- package/dist/pathplan/types.d.ts.map +1 -0
- package/dist/pathplan/visibility.d.ts +13 -0
- package/dist/pathplan/visibility.d.ts.map +1 -0
- package/dist/pathplan/vispath.d.ts +9 -0
- package/dist/pathplan/vispath.d.ts.map +1 -0
- package/dist/rbtree/index.d.ts +127 -0
- package/dist/rbtree/index.d.ts.map +1 -0
- package/dist/render/color-resolve.d.ts +38 -0
- package/dist/render/color-resolve.d.ts.map +1 -0
- package/dist/render/dot.d.ts +379 -0
- package/dist/render/dot.d.ts.map +1 -0
- package/dist/render/index.d.ts +24 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/json.d.ts +89 -0
- package/dist/render/json.d.ts.map +1 -0
- package/dist/render/map-test-helpers.d.ts +13 -0
- package/dist/render/map-test-helpers.d.ts.map +1 -0
- package/dist/render/map.d.ts +197 -0
- package/dist/render/map.d.ts.map +1 -0
- package/dist/render/public.d.ts +64 -0
- package/dist/render/public.d.ts.map +1 -0
- package/dist/render/svg-arrow-ops.d.ts +10 -0
- package/dist/render/svg-arrow-ops.d.ts.map +1 -0
- package/dist/render/svg-cluster.d.ts +9 -0
- package/dist/render/svg-cluster.d.ts.map +1 -0
- package/dist/render/svg-edge-ortho-radius.d.ts +31 -0
- package/dist/render/svg-edge-ortho-radius.d.ts.map +1 -0
- package/dist/render/svg-edge-split.d.ts +48 -0
- package/dist/render/svg-edge-split.d.ts.map +1 -0
- package/dist/render/svg-gradient.d.ts +46 -0
- package/dist/render/svg-gradient.d.ts.map +1 -0
- package/dist/render/svg-graph.d.ts +97 -0
- package/dist/render/svg-graph.d.ts.map +1 -0
- package/dist/render/svg-helpers.d.ts +122 -0
- package/dist/render/svg-helpers.d.ts.map +1 -0
- package/dist/render/svg-id.d.ts +28 -0
- package/dist/render/svg-id.d.ts.map +1 -0
- package/dist/render/svg-multicolor.d.ts +60 -0
- package/dist/render/svg-multicolor.d.ts.map +1 -0
- package/dist/render/svg-parallel-edge.d.ts +28 -0
- package/dist/render/svg-parallel-edge.d.ts.map +1 -0
- package/dist/render/svg-tapered-edge.d.ts +18 -0
- package/dist/render/svg-tapered-edge.d.ts.map +1 -0
- package/dist/render/svg.d.ts +104 -0
- package/dist/render/svg.d.ts.map +1 -0
- package/dist/render/xdot-public.d.ts +95 -0
- package/dist/render/xdot-public.d.ts.map +1 -0
- package/dist/render/xml-escape.d.ts +21 -0
- package/dist/render/xml-escape.d.ts.map +1 -0
- package/dist/render.js +52556 -0
- package/dist/render.js.map +7 -0
- package/dist/util/agxbuf.d.ts +72 -0
- package/dist/util/agxbuf.d.ts.map +1 -0
- package/dist/util/bsd-qsort.d.ts +22 -0
- package/dist/util/bsd-qsort.d.ts.map +1 -0
- package/dist/util/index.d.ts +11 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/list.d.ts +47 -0
- package/dist/util/list.d.ts.map +1 -0
- package/dist/util/math.d.ts +54 -0
- package/dist/util/math.d.ts.map +1 -0
- package/dist/util/mt19937.d.ts +40 -0
- package/dist/util/mt19937.d.ts.map +1 -0
- package/dist/util/printf-round.d.ts +45 -0
- package/dist/util/printf-round.d.ts.map +1 -0
- package/dist/util/xml.d.ts +24 -0
- package/dist/util/xml.d.ts.map +1 -0
- package/dist/vpsc/Block.d.ts +116 -0
- package/dist/vpsc/Block.d.ts.map +1 -0
- package/dist/vpsc/Blocks.d.ts +66 -0
- package/dist/vpsc/Blocks.d.ts.map +1 -0
- package/dist/vpsc/Constraint.d.ts +51 -0
- package/dist/vpsc/Constraint.d.ts.map +1 -0
- package/dist/vpsc/HeapUtils.d.ts +37 -0
- package/dist/vpsc/HeapUtils.d.ts.map +1 -0
- package/dist/vpsc/Solver.d.ts +107 -0
- package/dist/vpsc/Solver.d.ts.map +1 -0
- package/dist/vpsc/SweepLine.d.ts +38 -0
- package/dist/vpsc/SweepLine.d.ts.map +1 -0
- package/dist/vpsc/Variable.d.ts +38 -0
- package/dist/vpsc/Variable.d.ts.map +1 -0
- package/dist/vpsc/index.d.ts +54 -0
- package/dist/vpsc/index.d.ts.map +1 -0
- package/dist/vpsc/sweepTypes.d.ts +29 -0
- package/dist/vpsc/sweepTypes.d.ts.map +1 -0
- package/dist/xdot/index.d.ts +6 -0
- package/dist/xdot/index.d.ts.map +1 -0
- package/dist/xdot/lex.d.ts +22 -0
- package/dist/xdot/lex.d.ts.map +1 -0
- package/dist/xdot/misc.d.ts +13 -0
- package/dist/xdot/misc.d.ts.map +1 -0
- package/dist/xdot/parse.d.ts +21 -0
- package/dist/xdot/parse.d.ts.map +1 -0
- package/dist/xdot/types.d.ts +152 -0
- package/dist/xdot/types.d.ts.map +1 -0
- package/package.json +113 -0
- package/src/api/builder.ts +277 -0
- package/src/api/edge-ops.ts +113 -0
- package/src/api/geometry.ts +307 -0
- package/src/api/index.ts +46 -0
- package/src/cdt/bag.ts +196 -0
- package/src/cdt/hash-core.ts +84 -0
- package/src/cdt/hash.ts +207 -0
- package/src/cdt/index.ts +17 -0
- package/src/cdt/splay-core.ts +301 -0
- package/src/cdt/splay.ts +191 -0
- package/src/cdt/strhash.ts +52 -0
- package/src/cdt/types.ts +13 -0
- package/src/common/arith.ts +39 -0
- package/src/common/arm-pow-data.ts +201 -0
- package/src/common/arm-pow.ts +296 -0
- package/src/common/arrows-constants.ts +175 -0
- package/src/common/arrows-geometry.ts +62 -0
- package/src/common/arrows-miter.ts +84 -0
- package/src/common/arrows-shapes-poly.ts +241 -0
- package/src/common/arrows-shapes-util.ts +162 -0
- package/src/common/arrows-shapes.ts +360 -0
- package/src/common/arrows-types.ts +59 -0
- package/src/common/arrows.ts +209 -0
- package/src/common/color.ts +340 -0
- package/src/common/colorData.ts +264 -0
- package/src/common/compass-port.ts +384 -0
- package/src/common/crand.ts +79 -0
- package/src/common/edge-label-init.ts +310 -0
- package/src/common/edge-offset.ts +140 -0
- package/src/common/ellipse-wedge.ts +189 -0
- package/src/common/emit-types.ts +332 -0
- package/src/common/fma.ts +52 -0
- package/src/common/graph-init.ts +359 -0
- package/src/common/html-entities.ts +299 -0
- package/src/common/html-string.ts +22 -0
- package/src/common/htmltable-emit-fill.ts +367 -0
- package/src/common/htmltable-emit-rules.ts +293 -0
- package/src/common/htmltable-emit.ts +345 -0
- package/src/common/htmltable-lex.ts +138 -0
- package/src/common/htmltable-parse.ts +539 -0
- package/src/common/htmltable-port.ts +32 -0
- package/src/common/htmltable-pos-runs.ts +313 -0
- package/src/common/htmltable-pos.ts +601 -0
- package/src/common/htmltable-types.ts +262 -0
- package/src/common/htmltable.ts +477 -0
- package/src/common/layers.ts +113 -0
- package/src/common/make-label.ts +192 -0
- package/src/common/multicolor.ts +167 -0
- package/src/common/nodeinit.ts +339 -0
- package/src/common/poly-gencode.ts +475 -0
- package/src/common/poly-init.ts +133 -0
- package/src/common/poly-inside.ts +202 -0
- package/src/common/poly-shapes-cases.ts +253 -0
- package/src/common/poly-shapes-cases2.ts +170 -0
- package/src/common/poly-shapes-util.ts +124 -0
- package/src/common/poly-shapes.ts +181 -0
- package/src/common/poly-sizing.ts +639 -0
- package/src/common/poly-vertices.ts +237 -0
- package/src/common/postproc.ts +436 -0
- package/src/common/ps-fontalias.ts +112 -0
- package/src/common/random.ts +37 -0
- package/src/common/record-port.ts +89 -0
- package/src/common/record.ts +523 -0
- package/src/common/shapeData.ts +502 -0
- package/src/common/shapes.ts +187 -0
- package/src/common/spline-midpoint.ts +105 -0
- package/src/common/splines-clip.ts +449 -0
- package/src/common/splines-constants.ts +53 -0
- package/src/common/splines-geom.ts +194 -0
- package/src/common/splines-path-begin.ts +243 -0
- package/src/common/splines-path-end.ts +231 -0
- package/src/common/splines-path-shared.ts +258 -0
- package/src/common/splines-routespl.ts +444 -0
- package/src/common/splines-selfedge.ts +403 -0
- package/src/common/splines.ts +33 -0
- package/src/common/style-resolve.ts +481 -0
- package/src/common/subst.ts +126 -0
- package/src/common/taper.ts +219 -0
- package/src/common/textmeasure-factory.ts +86 -0
- package/src/common/textmeasure-lookup.ts +50 -0
- package/src/common/textmeasure-lut-data-a.ts +182 -0
- package/src/common/textmeasure-lut-data-b.ts +140 -0
- package/src/common/textmeasure-lut-data-c.ts +221 -0
- package/src/common/textmeasure-lut-data.ts +78 -0
- package/src/common/textmeasure.ts +321 -0
- package/src/common/types.ts +425 -0
- package/src/common/xlabels-place.ts +475 -0
- package/src/debug.ts +38 -0
- package/src/errors.ts +95 -0
- package/src/gvc/anchor.ts +530 -0
- package/src/gvc/context.ts +260 -0
- package/src/gvc/default-context.ts +70 -0
- package/src/gvc/device-cluster.ts +114 -0
- package/src/gvc/device.ts +598 -0
- package/src/gvc/edge-labels.ts +116 -0
- package/src/gvc/emit-walk.ts +98 -0
- package/src/gvc/image-resolver.ts +137 -0
- package/src/gvc/job.ts +401 -0
- package/src/gvc/textlayout.ts +44 -0
- package/src/gvc/textspan-emit.ts +100 -0
- package/src/gvc/usershape.ts +33 -0
- package/src/gvc/viewport.ts +203 -0
- package/src/index.ts +165 -0
- package/src/label/index.ts +302 -0
- package/src/label/node.ts +278 -0
- package/src/label/rectangle.ts +123 -0
- package/src/label/split-q.ts +237 -0
- package/src/label/xlabels-geom.ts +132 -0
- package/src/label/xlabels-intersect.ts +421 -0
- package/src/label/xlabels.ts +212 -0
- package/src/layout/circo/blockpath.ts +560 -0
- package/src/layout/circo/blocks.ts +234 -0
- package/src/layout/circo/blocktree.ts +246 -0
- package/src/layout/circo/circular.ts +227 -0
- package/src/layout/circo/index.ts +90 -0
- package/src/layout/circo/init.ts +84 -0
- package/src/layout/circo/position-helpers.ts +104 -0
- package/src/layout/circo/position.ts +196 -0
- package/src/layout/dot/__fixtures__/xcoord-pivot-divergence.gv +79 -0
- package/src/layout/dot/acyclic.ts +60 -0
- package/src/layout/dot/aspect.ts +22 -0
- package/src/layout/dot/classify.ts +462 -0
- package/src/layout/dot/cluster-path.ts +200 -0
- package/src/layout/dot/cluster.ts +480 -0
- package/src/layout/dot/compound-clip.ts +224 -0
- package/src/layout/dot/compound-geom.ts +282 -0
- package/src/layout/dot/compound.ts +294 -0
- package/src/layout/dot/conc.ts +433 -0
- package/src/layout/dot/decomp.ts +165 -0
- package/src/layout/dot/edge-order.ts +62 -0
- package/src/layout/dot/edge-route-arrow.ts +87 -0
- package/src/layout/dot/edge-route-boxes.ts +99 -0
- package/src/layout/dot/edge-route-chain.ts +420 -0
- package/src/layout/dot/edge-route-clip.ts +253 -0
- package/src/layout/dot/edge-route-faithful.ts +404 -0
- package/src/layout/dot/edge-route-geom.ts +90 -0
- package/src/layout/dot/edge-route-helpers.ts +170 -0
- package/src/layout/dot/edge-route-poly.ts +174 -0
- package/src/layout/dot/edge-route-rank.ts +136 -0
- package/src/layout/dot/edge-route-routing.ts +219 -0
- package/src/layout/dot/edge-route.ts +490 -0
- package/src/layout/dot/fastgr.ts +377 -0
- package/src/layout/dot/flat-utils.ts +52 -0
- package/src/layout/dot/flat.ts +518 -0
- package/src/layout/dot/graph-label.ts +114 -0
- package/src/layout/dot/index.ts +302 -0
- package/src/layout/dot/init.ts +300 -0
- package/src/layout/dot/label-order.ts +161 -0
- package/src/layout/dot/mincross-build.ts +373 -0
- package/src/layout/dot/mincross-cross.ts +409 -0
- package/src/layout/dot/mincross-flat.ts +213 -0
- package/src/layout/dot/mincross-order.ts +401 -0
- package/src/layout/dot/mincross-utils.ts +170 -0
- package/src/layout/dot/mincross.ts +386 -0
- package/src/layout/dot/ns-core.ts +122 -0
- package/src/layout/dot/ns-range.ts +228 -0
- package/src/layout/dot/ns-subtree.ts +347 -0
- package/src/layout/dot/ns.ts +506 -0
- package/src/layout/dot/ortho-adapter.ts +133 -0
- package/src/layout/dot/pack-components.ts +433 -0
- package/src/layout/dot/position-aux.ts +382 -0
- package/src/layout/dot/position-bbox.ts +221 -0
- package/src/layout/dot/position-cluster.ts +286 -0
- package/src/layout/dot/position-ycoords.ts +287 -0
- package/src/layout/dot/position.ts +194 -0
- package/src/layout/dot/rank-dot2.ts +528 -0
- package/src/layout/dot/rank.ts +547 -0
- package/src/layout/dot/sameport.ts +278 -0
- package/src/layout/dot/self-loop.ts +147 -0
- package/src/layout/dot/splines-clone.ts +121 -0
- package/src/layout/dot/splines-flat-labeled.ts +408 -0
- package/src/layout/dot/splines-flat-multi.ts +188 -0
- package/src/layout/dot/splines-flat.ts +598 -0
- package/src/layout/dot/splines-groups.ts +190 -0
- package/src/layout/dot/splines-label.ts +432 -0
- package/src/layout/dot/splines-route-type.ts +44 -0
- package/src/layout/dot/splines-route.ts +478 -0
- package/src/layout/dot/splines.ts +538 -0
- package/src/layout/dot/straight-edges.ts +332 -0
- package/src/layout/fdp/cluster-edges.ts +0 -0
- package/src/layout/fdp/comp.ts +160 -0
- package/src/layout/fdp/derive.ts +272 -0
- package/src/layout/fdp/fdp-model.ts +238 -0
- package/src/layout/fdp/grid.ts +77 -0
- package/src/layout/fdp/index.ts +113 -0
- package/src/layout/fdp/init.ts +116 -0
- package/src/layout/fdp/layout.ts +485 -0
- package/src/layout/fdp/normalize.ts +100 -0
- package/src/layout/fdp/ports.ts +161 -0
- package/src/layout/fdp/tlayout-init.ts +230 -0
- package/src/layout/fdp/tlayout-parms.ts +234 -0
- package/src/layout/fdp/tlayout.ts +317 -0
- package/src/layout/fdp/xlayout.ts +350 -0
- package/src/layout/neato/bfs.ts +131 -0
- package/src/layout/neato/cdt-surface.ts +693 -0
- package/src/layout/neato/conjgrad.ts +159 -0
- package/src/layout/neato/delaunay.ts +259 -0
- package/src/layout/neato/dijkstra.ts +296 -0
- package/src/layout/neato/fdp-adjust.ts +124 -0
- package/src/layout/neato/index.ts +310 -0
- package/src/layout/neato/init.ts +505 -0
- package/src/layout/neato/legal.ts +316 -0
- package/src/layout/neato/matrix-ops.ts +112 -0
- package/src/layout/neato/multispline-router.ts +417 -0
- package/src/layout/neato/multispline.ts +427 -0
- package/src/layout/neato/overlap-prism.ts +503 -0
- package/src/layout/neato/overlap.ts +158 -0
- package/src/layout/neato/sc-adjust.ts +206 -0
- package/src/layout/neato/sep-factor.ts +118 -0
- package/src/layout/neato/set-aspect.ts +178 -0
- package/src/layout/neato/sgd.ts +461 -0
- package/src/layout/neato/splines.ts +1014 -0
- package/src/layout/neato/stress-kernel.ts +362 -0
- package/src/layout/neato/stress.ts +420 -0
- package/src/layout/osage/index.ts +548 -0
- package/src/layout/osage/layout.ts +254 -0
- package/src/layout/osage/types.ts +31 -0
- package/src/layout/pack/array-pack.ts +254 -0
- package/src/layout/pack/index.ts +570 -0
- package/src/layout/pack/poly-pack.ts +266 -0
- package/src/layout/pack/poly-place.ts +426 -0
- package/src/layout/pack/spiral-search.ts +106 -0
- package/src/layout/pack/test-helpers.ts +46 -0
- package/src/layout/pack/types.ts +85 -0
- package/src/layout/patchwork/index.ts +441 -0
- package/src/layout/patchwork/tree-map.ts +183 -0
- package/src/layout/patchwork/tree-node.ts +120 -0
- package/src/layout/sfdp/index.ts +231 -0
- package/src/layout/sfdp/init.ts +224 -0
- package/src/layout/sfdp/multilevel.ts +262 -0
- package/src/layout/sfdp/quadtree.ts +267 -0
- package/src/layout/sfdp/sparse-matrix-multiply.ts +160 -0
- package/src/layout/sfdp/sparse-matrix.ts +367 -0
- package/src/layout/sfdp/sparse-solve.ts +122 -0
- package/src/layout/sfdp/spring-driver.ts +209 -0
- package/src/layout/sfdp/spring-electrical.ts +431 -0
- package/src/layout/twopi/circle.ts +339 -0
- package/src/layout/twopi/index.ts +78 -0
- package/src/layout/twopi/init.ts +174 -0
- package/src/layout/twopi/pipeline.ts +98 -0
- package/src/layout/twopi/twopi-test-helpers.ts +44 -0
- package/src/model/algData.ts +194 -0
- package/src/model/cgraph-ops.ts +175 -0
- package/src/model/edge.ts +104 -0
- package/src/model/edgeInfo.ts +431 -0
- package/src/model/geom.ts +204 -0
- package/src/model/graph.ts +172 -0
- package/src/model/graphInfo.ts +528 -0
- package/src/model/index.ts +10 -0
- package/src/model/layoutParams.ts +127 -0
- package/src/model/node.ts +138 -0
- package/src/model/nodeInfo.ts +424 -0
- package/src/model/rankEntry.ts +95 -0
- package/src/ortho/chan-dict.ts +236 -0
- package/src/ortho/fpq.ts +149 -0
- package/src/ortho/index.ts +206 -0
- package/src/ortho/maze-channels.ts +196 -0
- package/src/ortho/maze.ts +311 -0
- package/src/ortho/ortho-parallel.ts +254 -0
- package/src/ortho/ortho-route.ts +349 -0
- package/src/ortho/partition.ts +303 -0
- package/src/ortho/rawgraph.ts +119 -0
- package/src/ortho/sgraph.ts +283 -0
- package/src/ortho/trap-query.ts +174 -0
- package/src/ortho/trap-segment.ts +303 -0
- package/src/ortho/trap-types.ts +171 -0
- package/src/ortho/trap-update.ts +89 -0
- package/src/ortho/trapezoid.ts +120 -0
- package/src/ortho/types.ts +286 -0
- package/src/parser/__fixtures__/directed.dot +10 -0
- package/src/parser/__fixtures__/simple.dot +7 -0
- package/src/parser/__fixtures__/subgraph.dot +17 -0
- package/src/parser/ast.ts +64 -0
- package/src/parser/builder.ts +401 -0
- package/src/parser/dot.d.ts +208 -0
- package/src/parser/dot.js +3321 -0
- package/src/parser/dot.pegjs +263 -0
- package/src/parser/index.ts +353 -0
- package/src/pathplan/index.ts +9 -0
- package/src/pathplan/route.ts +284 -0
- package/src/pathplan/shortest.ts +268 -0
- package/src/pathplan/solvers.ts +65 -0
- package/src/pathplan/triang.ts +221 -0
- package/src/pathplan/types.ts +16 -0
- package/src/pathplan/visibility.ts +170 -0
- package/src/pathplan/vispath.ts +118 -0
- package/src/rbtree/index.ts +418 -0
- package/src/render/color-resolve.ts +171 -0
- package/src/render/dot.ts +1514 -0
- package/src/render/index.ts +29 -0
- package/src/render/json.ts +734 -0
- package/src/render/map-test-helpers.ts +61 -0
- package/src/render/map.ts +528 -0
- package/src/render/public.ts +131 -0
- package/src/render/svg-arrow-ops.ts +113 -0
- package/src/render/svg-cluster.ts +24 -0
- package/src/render/svg-edge-ortho-radius.ts +228 -0
- package/src/render/svg-edge-split.ts +180 -0
- package/src/render/svg-gradient.ts +185 -0
- package/src/render/svg-graph.ts +415 -0
- package/src/render/svg-helpers.ts +623 -0
- package/src/render/svg-id.ts +76 -0
- package/src/render/svg-multicolor.ts +313 -0
- package/src/render/svg-parallel-edge.ts +123 -0
- package/src/render/svg-tapered-edge.ts +56 -0
- package/src/render/svg.ts +307 -0
- package/src/render/xdot-public.ts +164 -0
- package/src/render/xml-escape.ts +56 -0
- package/src/util/agxbuf.ts +138 -0
- package/src/util/bsd-qsort.ts +251 -0
- package/src/util/index.ts +25 -0
- package/src/util/list.ts +122 -0
- package/src/util/math.ts +104 -0
- package/src/util/mt19937.ts +143 -0
- package/src/util/printf-round.ts +163 -0
- package/src/util/xml.ts +184 -0
- package/src/vpsc/Block.ts +375 -0
- package/src/vpsc/Blocks.ts +164 -0
- package/src/vpsc/Constraint.ts +94 -0
- package/src/vpsc/HeapUtils.ts +88 -0
- package/src/vpsc/Solver.ts +274 -0
- package/src/vpsc/SweepLine.ts +214 -0
- package/src/vpsc/Variable.ts +54 -0
- package/src/vpsc/index.ts +122 -0
- package/src/vpsc/sweepTypes.ts +31 -0
- package/src/xdot/index.ts +7 -0
- package/src/xdot/lex.ts +151 -0
- package/src/xdot/misc.ts +226 -0
- package/src/xdot/parse.ts +349 -0
- package/src/xdot/types.ts +158 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EPL-2.0
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TypeScript port of Agraph_t from lib/cgraph/cgraph.h.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
7
|
+
* @see lib/cgraph/cgraph.h:Agdesc_s
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { Edge } from './edge.js';
|
|
11
|
+
import type { Node } from './node.js';
|
|
12
|
+
import { type GraphInfo, makeGraphInfo } from './graphInfo.js';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Describes the kind of graph, corresponding to the Agdesc_t descriptor
|
|
16
|
+
* fields `directed` and `strict` in the C implementation.
|
|
17
|
+
*
|
|
18
|
+
* @see lib/cgraph/cgraph.h:Agdesc_s
|
|
19
|
+
* @see lib/cgraph/graph.c:Agdirected
|
|
20
|
+
* @see lib/cgraph/graph.c:Agstrictdirected
|
|
21
|
+
* @see lib/cgraph/graph.c:Agundirected
|
|
22
|
+
* @see lib/cgraph/graph.c:Agstrictundirected
|
|
23
|
+
*/
|
|
24
|
+
export type GraphKind =
|
|
25
|
+
| 'directed'
|
|
26
|
+
| 'undirected'
|
|
27
|
+
| 'strict-directed'
|
|
28
|
+
| 'strict-undirected';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Represents an Agraph_t — a graph or subgraph.
|
|
32
|
+
*
|
|
33
|
+
* In the C implementation Agraph_t holds n_seq/n_id (node dicts), e_seq/e_id
|
|
34
|
+
* (edge dicts), g_seq/g_id (subgraph dicts), parent, root, and a shared
|
|
35
|
+
* Agclos_t. Here we use native TypeScript collections in place of libcdt
|
|
36
|
+
* Dict_t, and the `info` field replaces the agbindrec / GD_* mechanism (AD-1).
|
|
37
|
+
*
|
|
38
|
+
* Nodes are owned by the root graph. Subgraphs hold references to the same
|
|
39
|
+
* Node instances (Subgraph Ownership Semantics, cgraph.md).
|
|
40
|
+
*
|
|
41
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
42
|
+
*/
|
|
43
|
+
export class Graph {
|
|
44
|
+
/** Graph name; agnameof equivalent. @see lib/cgraph/cgraph.h:agnameof */
|
|
45
|
+
readonly name: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* True when the graph was declared with NO name (`digraph {`), as opposed to
|
|
49
|
+
* an explicit empty name (`digraph "" {`). Both store `name === ''`, but
|
|
50
|
+
* cgraph gives the truly-anonymous root the internal id `%1` (agnameof) while
|
|
51
|
+
* the empty-named one keeps `""`. Only the imagemap `<map id/name>` reads this
|
|
52
|
+
* (map.ts:mapGraphName); dot/xdot re-serialization keeps `name` so an
|
|
53
|
+
* anonymous root round-trips as `digraph {`, not `digraph %1 {`.
|
|
54
|
+
* @see lib/cgraph/id.c:idmap (anon → `%1`) ; lib/cgraph/agraph.c:agnameof
|
|
55
|
+
*/
|
|
56
|
+
readonly anonymous: boolean;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Directed/strict classification; mirrors Agdesc_t.directed and
|
|
60
|
+
* Agdesc_t.strict. @see lib/cgraph/cgraph.h:Agdesc_s
|
|
61
|
+
*/
|
|
62
|
+
readonly kind: GraphKind;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Node set in insertion order, keyed by name.
|
|
66
|
+
* Mirrors Agraph_t.n_seq (sequence dict) merged with n_id access.
|
|
67
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
68
|
+
*/
|
|
69
|
+
nodes: Map<string, Node>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* All edges owned by this graph (root graph only for ownership; subgraphs
|
|
73
|
+
* reference a subset). Mirrors Agraph_t.e_seq.
|
|
74
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
75
|
+
*/
|
|
76
|
+
edges: Edge[];
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Named subgraphs, keyed by name. Mirrors Agraph_t.g_seq/g_id.
|
|
80
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
81
|
+
*/
|
|
82
|
+
subgraphs: Map<string, Graph>;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* String attributes (agget/agset equivalents).
|
|
86
|
+
* Replaces the Agattr_t / Agsym_t machinery for simple key-value access.
|
|
87
|
+
* @see lib/cgraph/cgraph.h:Agattr_s
|
|
88
|
+
*/
|
|
89
|
+
attrs: Map<string, string>;
|
|
90
|
+
|
|
91
|
+
/** Default attributes applied to all nodes in this graph scope. */
|
|
92
|
+
nodeDefaults: Map<string, string>;
|
|
93
|
+
|
|
94
|
+
/** Default attributes applied to all edges in this graph scope. */
|
|
95
|
+
edgeDefaults: Map<string, string>;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Snapshot of the enclosing graphs' graph-attribute defaults (this graph ->
|
|
99
|
+
* root, inner wins) captured when this subgraph was OPENED during parsing.
|
|
100
|
+
* Graph attributes set on an ancestor AFTER this subgraph was created are not
|
|
101
|
+
* included — mirroring cgraph's parse-time agsubg defval copy. Used for
|
|
102
|
+
* order-correct label/font inheritance (e.g. a root `label=` declared after a
|
|
103
|
+
* cluster must NOT apply to that cluster). Undefined on the root graph.
|
|
104
|
+
* @see lib/cgraph/graph.c:agsubg (attr defval copy)
|
|
105
|
+
*/
|
|
106
|
+
graphDefaultsSnapshot?: Map<string, string>;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Layout-engine info; replaces GD_* macros via agbindrec (AD-1).
|
|
110
|
+
* @see lib/cgraph/cgraph.h:agbindrec
|
|
111
|
+
*/
|
|
112
|
+
info: GraphInfo;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Immediate parent graph. null for root graphs.
|
|
116
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
117
|
+
*/
|
|
118
|
+
parent: Graph | null;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Root (main) graph. Self-referential for root graphs;
|
|
122
|
+
* points up for subgraphs.
|
|
123
|
+
* @see lib/cgraph/cgraph.h:Agraph_s
|
|
124
|
+
*/
|
|
125
|
+
root: Graph;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Subgraph sequence number (AGSEQ). A global counter on the root, assigned
|
|
129
|
+
* at creation in source order, counting anonymous subgraphs. The root keeps
|
|
130
|
+
* the default 0 (par == NULL never calls agnextseq). Consumed by getObjId to
|
|
131
|
+
* emit cluster ids `clust<seq>`.
|
|
132
|
+
* @see lib/cgraph/cgraph.h:AGSEQ
|
|
133
|
+
* @see lib/cgraph/graph.c:agopen (AGSEQ(g) = agnextseq(par, AGRAPH))
|
|
134
|
+
*/
|
|
135
|
+
seq = 0;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Root-only counter mirroring `clos->seq[AGRAPH]`: the running maximum AGSEQ
|
|
139
|
+
* handed out to subgraphs. Meaningful only on the root graph; `assignSubgSeq`
|
|
140
|
+
* pre-increments it. Other graphs leave it at 0.
|
|
141
|
+
* @see lib/cgraph/graph.c:agnextseq (++clos->seq[AGRAPH])
|
|
142
|
+
*/
|
|
143
|
+
subgSeqCounter = 0;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Names of graph attributes (AGRAPH) declared anywhere in this hierarchy —
|
|
147
|
+
* the port's stand-in for cgraph's `Agsym_t` symbol table. Populated on the
|
|
148
|
+
* ROOT only, at parse time, whenever a graph attribute is assigned on any
|
|
149
|
+
* (sub)graph: setting `ordering=out` on a subgraph declares "ordering"
|
|
150
|
+
* graph-wide with an empty default, so `agGraphAttr(root, "ordering")` returns
|
|
151
|
+
* `""` (not undefined) — mirroring `agfindgraphattr`/`late_string`. Read via
|
|
152
|
+
* `agGraphAttr` (model/cgraph-ops.ts); empty on non-root graphs.
|
|
153
|
+
* @see lib/cgraph/attr.c:agattr (graph-wide declaration, "" default)
|
|
154
|
+
*/
|
|
155
|
+
declaredGraphAttrs: Set<string> = new Set();
|
|
156
|
+
|
|
157
|
+
/** @see lib/cgraph/graph.c:agopen */
|
|
158
|
+
constructor(name: string, kind: GraphKind, anonymous = false) {
|
|
159
|
+
this.name = name;
|
|
160
|
+
this.anonymous = anonymous;
|
|
161
|
+
this.kind = kind;
|
|
162
|
+
this.nodes = new Map();
|
|
163
|
+
this.edges = [];
|
|
164
|
+
this.subgraphs = new Map();
|
|
165
|
+
this.attrs = new Map();
|
|
166
|
+
this.nodeDefaults = new Map();
|
|
167
|
+
this.edgeDefaults = new Map();
|
|
168
|
+
this.info = makeGraphInfo();
|
|
169
|
+
this.parent = null;
|
|
170
|
+
this.root = this;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EPL-2.0
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TypeScript port of Agraphinfo_t from lib/common/types.h.
|
|
5
|
+
* All GD_* macros in the C source are replaced by typed fields on GraphInfo.
|
|
6
|
+
*
|
|
7
|
+
* Supporting types (LayoutParams, RatioKind, FontnameKind, RankEntry,
|
|
8
|
+
* RankTable) live in layoutParams.ts and rankEntry.ts to keep file size
|
|
9
|
+
* within limits.
|
|
10
|
+
*
|
|
11
|
+
* @see lib/common/types.h:Agraphinfo_t
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { Box, Point } from './geom.js';
|
|
15
|
+
import type { Node } from './node.js';
|
|
16
|
+
import type { Graph } from './graph.js';
|
|
17
|
+
import type { LayoutParams, FontnameKind } from './layoutParams.js';
|
|
18
|
+
import type { RankTable } from './rankEntry.js';
|
|
19
|
+
import type { GvcContext } from '../gvc/context.js';
|
|
20
|
+
|
|
21
|
+
// Re-export supporting types so consumers can import from this module alone.
|
|
22
|
+
export type { RatioKind, LayoutParams } from './layoutParams.js';
|
|
23
|
+
// FontnameKind is both a const object (value) and a type — a plain export
|
|
24
|
+
// covers both; no separate `export type` needed for the same name.
|
|
25
|
+
export { FontnameKind } from './layoutParams.js';
|
|
26
|
+
export type { AdjMatrix, RankEntry, RankTable } from './rankEntry.js';
|
|
27
|
+
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// GVC_t — the rendering context attached to a laid-out graph.
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The rendering context attached to a laid-out graph (C's GVC_t). Retained
|
|
34
|
+
* under the historical name `GVContext` for the `common/types.ts` re-export;
|
|
35
|
+
* it now resolves to the concrete {@link GvcContext} rather than `unknown`, so
|
|
36
|
+
* every `g.info.gvc` read is typed instead of an ad-hoc `as { textMeasurer? }`
|
|
37
|
+
* cast. Type-only import — erased at compile time, so no runtime cycle with
|
|
38
|
+
* `gvc/context.ts`.
|
|
39
|
+
*
|
|
40
|
+
* @see lib/gvc/gvcext.h:GVC_t
|
|
41
|
+
*/
|
|
42
|
+
export type GVContext = GvcContext;
|
|
43
|
+
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// Agraphinfo_t — @see lib/common/types.h:Agraphinfo_t
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Graph-level info record, equivalent to Agraphinfo_t in the C source.
|
|
50
|
+
* All GD_* accessor macros in the C source become plain typed fields here.
|
|
51
|
+
*
|
|
52
|
+
* Required fields (non-pointer C fields always present after graph_init):
|
|
53
|
+
* - bb, rankdir, flags, charset, gui_state, has_labels, has_images
|
|
54
|
+
*
|
|
55
|
+
* All C pointer fields become optional (`| undefined`) because they may
|
|
56
|
+
* legitimately be null/unset until the relevant layout pass runs.
|
|
57
|
+
*
|
|
58
|
+
* @see lib/common/types.h:Agraphinfo_t
|
|
59
|
+
*/
|
|
60
|
+
export interface GraphInfo {
|
|
61
|
+
// -----------------------------------------------------------------------
|
|
62
|
+
// Core rendering fields — GD_* macros that are always meaningful
|
|
63
|
+
// -----------------------------------------------------------------------
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Bounding box of the graph after layout.
|
|
67
|
+
* @see lib/common/types.h:GD_bb
|
|
68
|
+
*/
|
|
69
|
+
bb: Box;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Rank direction + flip flags (raw int, encode via SET_RANKDIR macro).
|
|
73
|
+
* GD_rankdir(g) = rankdir & 0x3; GD_realrankdir(g) = rankdir >> 2.
|
|
74
|
+
* @see lib/common/types.h:GD_rankdir2
|
|
75
|
+
*/
|
|
76
|
+
rankdir: number;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Edge type and layout engine flags bitmask.
|
|
80
|
+
* @see lib/common/types.h:GD_flags
|
|
81
|
+
*/
|
|
82
|
+
flags: number;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Input character set constant (CHAR_UTF8, CHAR_LATIN1, CHAR_BIG5).
|
|
86
|
+
* @see lib/common/types.h:GD_charset
|
|
87
|
+
*/
|
|
88
|
+
charset: number;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* GUI state flags bitmask (GUI_STATE_ACTIVE, _SELECTED, _VISITED, _DELETED).
|
|
92
|
+
* @see lib/common/types.h:GD_gui_state
|
|
93
|
+
*/
|
|
94
|
+
gui_state: number;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Bitmask of which label types are present in the graph.
|
|
98
|
+
* @see lib/common/types.h:GD_has_labels
|
|
99
|
+
*/
|
|
100
|
+
has_labels: number;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* True if any node uses an image.
|
|
104
|
+
* @see lib/common/types.h:GD_has_images
|
|
105
|
+
*/
|
|
106
|
+
has_images: boolean;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Library-API-only flag (no C analogue): set by GvcContext.layout once the
|
|
110
|
+
* graph has been laid out. Not cleared by freeLayout — node coordinates and
|
|
111
|
+
* splines persist on the model after engine scratch is freed, so the
|
|
112
|
+
* "render then getLayout" workflow stays valid. The public `getLayout` reads
|
|
113
|
+
* it to reject a never-laid-out graph instead of returning the calloc-zero
|
|
114
|
+
* geometry defaults as if they were real coordinates.
|
|
115
|
+
*/
|
|
116
|
+
laidOut?: boolean;
|
|
117
|
+
|
|
118
|
+
// -----------------------------------------------------------------------
|
|
119
|
+
// Optional pointer fields — all C pointers become `| undefined`
|
|
120
|
+
// -----------------------------------------------------------------------
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Resolved layout parameters (set by the layout engine init).
|
|
124
|
+
* @see lib/common/types.h:GD_drawing
|
|
125
|
+
*/
|
|
126
|
+
drawing?: LayoutParams;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Cluster or graph title label. Typed fully in Batch 5b (textlabel_t).
|
|
130
|
+
* @see lib/common/types.h:GD_label
|
|
131
|
+
*/
|
|
132
|
+
label?: unknown;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Margin sizes for graph labels; four Points corresponding to pointf[4].
|
|
136
|
+
* Indices: [0]=left, [1]=right, [2]=top, [3]=bottom per C convention.
|
|
137
|
+
* @see lib/common/types.h:GD_border
|
|
138
|
+
*/
|
|
139
|
+
border?: [Point, Point, Point, Point];
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* GVC context for cross-graph globals.
|
|
143
|
+
* @see lib/common/types.h:GD_gvc
|
|
144
|
+
*/
|
|
145
|
+
gvc?: GVContext;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Layout-engine cleanup function; called by graph_cleanup to free
|
|
149
|
+
* engine-specific data attached to this graph.
|
|
150
|
+
* @see lib/common/types.h:GD_cleanup
|
|
151
|
+
*/
|
|
152
|
+
cleanup?: (g: Graph) => void;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Height below extremal ranks (dot layout).
|
|
156
|
+
* @see lib/common/types.h:GD_ht1
|
|
157
|
+
*/
|
|
158
|
+
ht1?: number;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Height above extremal ranks (dot layout).
|
|
162
|
+
* @see lib/common/types.h:GD_ht2
|
|
163
|
+
*/
|
|
164
|
+
ht2?: number;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Engine-specific algorithm state.
|
|
168
|
+
* @see lib/common/types.h:GD_alg
|
|
169
|
+
*/
|
|
170
|
+
alg?: unknown;
|
|
171
|
+
|
|
172
|
+
// -----------------------------------------------------------------------
|
|
173
|
+
// neato/fdp/sfdp-specific fields (#ifndef DOT_ONLY in C)
|
|
174
|
+
// -----------------------------------------------------------------------
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Node list for neato layout.
|
|
178
|
+
* @see lib/common/types.h:GD_neato_nlist
|
|
179
|
+
*/
|
|
180
|
+
neato_nlist?: Node[];
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Move count for iterative neato placement.
|
|
184
|
+
* @see lib/common/types.h:GD_move
|
|
185
|
+
*/
|
|
186
|
+
move?: number;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* All-pairs distance matrix (neato).
|
|
190
|
+
* @see lib/common/types.h:GD_dist
|
|
191
|
+
*/
|
|
192
|
+
dist?: number[][];
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Spring constant matrix (neato).
|
|
196
|
+
* @see lib/common/types.h:GD_spring
|
|
197
|
+
*/
|
|
198
|
+
spring?: number[][];
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Spring force sum matrix (neato).
|
|
202
|
+
* @see lib/common/types.h:GD_sum_t
|
|
203
|
+
*/
|
|
204
|
+
sum_t?: number[][];
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Position delta tensor (neato, ndim-dimensional).
|
|
208
|
+
* @see lib/common/types.h:GD_t
|
|
209
|
+
*/
|
|
210
|
+
t?: number[][][];
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Number of layout dimensions.
|
|
214
|
+
* @see lib/common/types.h:GD_ndim
|
|
215
|
+
*/
|
|
216
|
+
ndim?: number;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Original number of layout dimensions.
|
|
220
|
+
* @see lib/common/types.h:GD_odim
|
|
221
|
+
*/
|
|
222
|
+
odim?: number;
|
|
223
|
+
|
|
224
|
+
// -----------------------------------------------------------------------
|
|
225
|
+
// dot-specific fields (#ifndef NEATO_ONLY in C)
|
|
226
|
+
// -----------------------------------------------------------------------
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Number of cluster subgraphs.
|
|
230
|
+
* @see lib/common/types.h:GD_n_cluster
|
|
231
|
+
*/
|
|
232
|
+
n_cluster?: number;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Count of cluster edges created by fdp's processClusterEdges (edges whose
|
|
236
|
+
* endpoint names a cluster). Non-zero ⇒ HAS_CLUST_EDGE(g).
|
|
237
|
+
* @see lib/common/utils.c:processClusterEdges (cl_edge_t.n_cluster_edges)
|
|
238
|
+
*/
|
|
239
|
+
n_cluster_edges?: number;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Cluster margin (in points). Corresponds to the `margin` attribute on a
|
|
243
|
+
* cluster graph, read by `late_int(g, G_margin, CL_OFFSET, 0)` in C.
|
|
244
|
+
* @see lib/dotgen/position.c:contain_nodes
|
|
245
|
+
*/
|
|
246
|
+
clusterMargin?: number;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Cluster array.
|
|
250
|
+
*
|
|
251
|
+
* IMPORTANT: In C this is 1-indexed — clust[1..n_cluster]. This TypeScript
|
|
252
|
+
* array is 0-indexed; callers must add 1 when converting between C indices
|
|
253
|
+
* and this array's indices, or subtract 1 when coming from C.
|
|
254
|
+
*
|
|
255
|
+
* @see lib/common/types.h:GD_clust
|
|
256
|
+
*/
|
|
257
|
+
clust?: Graph[];
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* The root graph for dot layout purposes.
|
|
261
|
+
* @see lib/common/types.h:GD_dotroot
|
|
262
|
+
*/
|
|
263
|
+
dotroot?: Graph;
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Linked-list head of nodes for dot layout traversal.
|
|
267
|
+
* @see lib/common/types.h:GD_nlist
|
|
268
|
+
*/
|
|
269
|
+
nlist?: Node;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Rank table for dot layout (array indexed by rank level).
|
|
273
|
+
* @see lib/common/types.h:GD_rank
|
|
274
|
+
*/
|
|
275
|
+
rank?: RankTable;
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Containing cluster (not parent subgraph).
|
|
279
|
+
* @see lib/common/types.h:GD_parent
|
|
280
|
+
*/
|
|
281
|
+
parent?: Graph;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Cluster nesting level (not node level).
|
|
285
|
+
* @see lib/common/types.h:GD_level
|
|
286
|
+
*/
|
|
287
|
+
level?: number;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Set leader for minimum rank.
|
|
291
|
+
* @see lib/common/types.h:GD_minrep
|
|
292
|
+
*/
|
|
293
|
+
minrep?: Node;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Set leader for maximum rank.
|
|
297
|
+
* @see lib/common/types.h:GD_maxrep
|
|
298
|
+
*/
|
|
299
|
+
maxrep?: Node;
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Fast-graph node component list.
|
|
303
|
+
* @see lib/common/types.h:GD_comp (nlist_t)
|
|
304
|
+
*/
|
|
305
|
+
comp?: Node[];
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Set leader for minimum connected component.
|
|
309
|
+
* @see lib/common/types.h:GD_minset
|
|
310
|
+
*/
|
|
311
|
+
minset?: Node;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Set leader for maximum connected component.
|
|
315
|
+
* @see lib/common/types.h:GD_maxset
|
|
316
|
+
*/
|
|
317
|
+
maxset?: Node;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Minimum rank value in this graph.
|
|
321
|
+
* @see lib/common/types.h:GD_minrank
|
|
322
|
+
*/
|
|
323
|
+
minrank?: number;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Maximum rank value in this graph.
|
|
327
|
+
* @see lib/common/types.h:GD_maxrank
|
|
328
|
+
*/
|
|
329
|
+
maxrank?: number;
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* True if the graph has any flat (same-rank) edges.
|
|
333
|
+
* @see lib/common/types.h:GD_has_flat_edges
|
|
334
|
+
*/
|
|
335
|
+
has_flat_edges?: boolean;
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Parity correction for the rank-array renumbering done by `abomination`.
|
|
339
|
+
* C inserts a flat-label rank at index -1 (so real nodes keep their even rank
|
|
340
|
+
* index); this 0-based port instead shifts every `ND_rank` up by 1 (AD-2),
|
|
341
|
+
* which inverts the rank-index parity that `make_LR_constraints` uses to pick
|
|
342
|
+
* the LR separation (`sep[i & 1]`). Each shift increments this offset so
|
|
343
|
+
* `lrSep` can recover C's parity via `(rankIdx + abomShift) & 1`. 0 / unset
|
|
344
|
+
* means no abomination happened. @see lib/dotgen/flat.c:abomination
|
|
345
|
+
*/
|
|
346
|
+
abomShift?: number;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Show subdivision boxes for debugging; 0 means off.
|
|
350
|
+
* @see lib/common/types.h:GD_showboxes
|
|
351
|
+
*/
|
|
352
|
+
showboxes?: number;
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* SVG font name mangling setting.
|
|
356
|
+
* @see lib/common/types.h:GD_fontnames
|
|
357
|
+
*/
|
|
358
|
+
fontnames?: FontnameKind;
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Node separation in points.
|
|
362
|
+
* @see lib/common/types.h:GD_nodesep
|
|
363
|
+
*/
|
|
364
|
+
nodesep?: number;
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Rank separation in points.
|
|
368
|
+
* @see lib/common/types.h:GD_ranksep
|
|
369
|
+
*/
|
|
370
|
+
ranksep?: number;
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Left-boundary node of the bounding box.
|
|
374
|
+
* @see lib/common/types.h:GD_ln
|
|
375
|
+
*/
|
|
376
|
+
ln?: Node;
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Right-boundary node of the bounding box.
|
|
380
|
+
* @see lib/common/types.h:GD_rn
|
|
381
|
+
*/
|
|
382
|
+
rn?: Node;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Cluster leader node.
|
|
386
|
+
* @see lib/common/types.h:GD_leader
|
|
387
|
+
*/
|
|
388
|
+
leader?: Node;
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Per-rank leader node array.
|
|
392
|
+
* @see lib/common/types.h:GD_rankleader
|
|
393
|
+
*/
|
|
394
|
+
rankleader?: Node[];
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* True if the cluster has been expanded.
|
|
398
|
+
* @see lib/common/types.h:GD_expanded
|
|
399
|
+
*/
|
|
400
|
+
expanded?: boolean;
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Installation state flag.
|
|
404
|
+
* @see lib/common/types.h:GD_installed
|
|
405
|
+
*/
|
|
406
|
+
installed?: number;
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Set type for union-find operations.
|
|
410
|
+
* @see lib/common/types.h:GD_set_type
|
|
411
|
+
*/
|
|
412
|
+
set_type?: number;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Label position flag for cluster labels.
|
|
416
|
+
* @see lib/common/types.h:GD_label_pos
|
|
417
|
+
*/
|
|
418
|
+
label_pos?: number;
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Whether exact rank separation is enforced.
|
|
422
|
+
* @see lib/common/types.h:GD_exact_ranksep
|
|
423
|
+
*/
|
|
424
|
+
exact_ranksep?: boolean;
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Whether the rank direction is flipped (used in flat_reorder and build_ranks).
|
|
428
|
+
* Set from GD_realrankdir: true when layout is LR or RL (horizontal).
|
|
429
|
+
* @see lib/dotgen/mincross.c:GD_flip
|
|
430
|
+
*/
|
|
431
|
+
flip?: boolean;
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Whether edge concentration is enabled (merges parallel edges).
|
|
435
|
+
* Corresponds to the `concentrate` graph attribute.
|
|
436
|
+
* @see lib/dotgen/class2.c:Concentrate
|
|
437
|
+
*/
|
|
438
|
+
concentrate?: boolean;
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Whether the graph has compound edges (lhead/ltail attributes set on edges).
|
|
442
|
+
* When true, dot_compoundEdges clips splines to cluster bounding boxes.
|
|
443
|
+
* Corresponds to the `compound` graph attribute.
|
|
444
|
+
* @see lib/dotgen/compound.c:dot_compoundEdges
|
|
445
|
+
* @see lib/common/types.h:GD_flags (via compound flag)
|
|
446
|
+
*/
|
|
447
|
+
compound?: boolean;
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* AD-8 phase marker: true between create_aux_edges and set_xcoords,
|
|
451
|
+
* while ND_rank holds x-coordinates instead of rank indices.
|
|
452
|
+
* Cleared by setXcoords after ND_coord.x is populated.
|
|
453
|
+
* @see lib/dotgen/position.c:set_xcoords (AD-8)
|
|
454
|
+
*/
|
|
455
|
+
rankIsXCoord?: boolean;
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* MT19937 seed used by the SGD layout engine.
|
|
459
|
+
* Corresponds to the rk_seed() call in lib/neatogen/sgd.c.
|
|
460
|
+
* Defaults to 0 when not set.
|
|
461
|
+
*
|
|
462
|
+
* @see lib/neatogen/sgd.c:sgd (rk_seed call)
|
|
463
|
+
*/
|
|
464
|
+
seed?: number;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Per-layout flag: true when edge label positions have been computed by
|
|
468
|
+
* the spline-routing pass (dotsplines.c:EdgeLabelsDone).
|
|
469
|
+
*
|
|
470
|
+
* C uses a process-global `EdgeLabelsDone` (lib/common/globals.h) reset in
|
|
471
|
+
* lib/common/input.c:commonInitGraph and set at lib/dotgen/dotsplines.c:471.
|
|
472
|
+
* This port lifts it onto GraphInfo so it is per-graph (no globals).
|
|
473
|
+
*
|
|
474
|
+
* @see lib/common/globals.h:EdgeLabelsDone
|
|
475
|
+
* @see lib/dotgen/dotsplines.c:471
|
|
476
|
+
*/
|
|
477
|
+
edgeLabelsDone?: boolean;
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Neato start attribute: controls initial placement and RNG seed.
|
|
481
|
+
* Values: "random[N]" | "self" | "regular" | numeric string.
|
|
482
|
+
* Corresponds to agget(g, "start") in lib/neatogen/neatoinit.c:setSeed.
|
|
483
|
+
*
|
|
484
|
+
* @see lib/neatogen/neatoinit.c:setSeed
|
|
485
|
+
*/
|
|
486
|
+
start?: string;
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* Neato layout mode string attribute.
|
|
490
|
+
* Values: "KK" | "major" | "hier" | "ipsep" | "sgd".
|
|
491
|
+
* Corresponds to agget(g, "mode") in lib/neatogen/neato.h:neatoMode.
|
|
492
|
+
*
|
|
493
|
+
* @see lib/neatogen/neato.h:neatoMode
|
|
494
|
+
*/
|
|
495
|
+
mode?: string;
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* Neato overlap removal control.
|
|
499
|
+
* "false" disables VPSC overlap removal; any other value enables it.
|
|
500
|
+
* Corresponds to agget(g, "overlap") in lib/neatogen/neatoinit.c.
|
|
501
|
+
*
|
|
502
|
+
* @see lib/neatogen/neatoinit.c:neato_layout
|
|
503
|
+
*/
|
|
504
|
+
overlap?: string;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
// ---------------------------------------------------------------------------
|
|
508
|
+
// Factory function
|
|
509
|
+
// ---------------------------------------------------------------------------
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* Creates a zero-initialized GraphInfo with all required fields set to their
|
|
513
|
+
* defaults. All optional fields are left undefined (absent from the object),
|
|
514
|
+
* matching a freshly allocated Agraphinfo_t after graph_init().
|
|
515
|
+
*
|
|
516
|
+
* @see lib/common/utils.c:graph_init
|
|
517
|
+
*/
|
|
518
|
+
export function makeGraphInfo(): GraphInfo {
|
|
519
|
+
return {
|
|
520
|
+
bb: { ll: { x: 0, y: 0 }, ur: { x: 0, y: 0 } },
|
|
521
|
+
rankdir: 0,
|
|
522
|
+
flags: 0,
|
|
523
|
+
charset: 0,
|
|
524
|
+
gui_state: 0,
|
|
525
|
+
has_labels: 0,
|
|
526
|
+
has_images: false,
|
|
527
|
+
};
|
|
528
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EPL-2.0
|
|
2
|
+
export * from './geom.js';
|
|
3
|
+
export * from './graph.js';
|
|
4
|
+
export * from './node.js';
|
|
5
|
+
export * from './edge.js';
|
|
6
|
+
export * from './graphInfo.js';
|
|
7
|
+
export * from './layoutParams.js';
|
|
8
|
+
export * from './rankEntry.js';
|
|
9
|
+
export * from './nodeInfo.js';
|
|
10
|
+
export * from './edgeInfo.js';
|