@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,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SparseMatrix — the CSR/COORD matrix substrate of sfdp, ported from
|
|
3
|
+
* lib/sparse/SparseMatrix.c at the 15.0.0 tag.
|
|
4
|
+
*
|
|
5
|
+
* Only the REAL and PATTERN types used by the sfdp pipeline are
|
|
6
|
+
* ported (INTEGER paths are unreachable from sfdp_layout). Row entry
|
|
7
|
+
* ORDER is load-bearing: the mask-accumulator append order of
|
|
8
|
+
* add/multiply and the counting-sort order of from_coordinate_arrays
|
|
9
|
+
* feed float-summation order downstream — do not sort rows.
|
|
10
|
+
*
|
|
11
|
+
* Products: see sparse-matrix-multiply.ts.
|
|
12
|
+
*
|
|
13
|
+
* @see lib/sparse/SparseMatrix.c (15.0.0)
|
|
14
|
+
*/
|
|
15
|
+
/** @see lib/sparse/SparseMatrix.h:MATRIX_TYPE_* */
|
|
16
|
+
export declare const MATRIX_TYPE_REAL: number;
|
|
17
|
+
export declare const MATRIX_TYPE_PATTERN: number;
|
|
18
|
+
/** @see lib/sparse/SparseMatrix.h: enum FORMAT_* */
|
|
19
|
+
export declare const FORMAT_CSR = 0;
|
|
20
|
+
export declare const FORMAT_COORD = 1;
|
|
21
|
+
/**
|
|
22
|
+
* @see lib/sparse/SparseMatrix.h:SparseMatrix_struct
|
|
23
|
+
* In CSR format ia is the row pointer (m+1); in COORD it is the row
|
|
24
|
+
* index per entry.
|
|
25
|
+
*/
|
|
26
|
+
export interface SpMatrix {
|
|
27
|
+
m: number;
|
|
28
|
+
n: number;
|
|
29
|
+
nz: number;
|
|
30
|
+
type: number;
|
|
31
|
+
format: number;
|
|
32
|
+
ia: number[];
|
|
33
|
+
ja: number[];
|
|
34
|
+
/** Entry values; null for PATTERN. */
|
|
35
|
+
a: number[] | null;
|
|
36
|
+
isSymmetric: boolean;
|
|
37
|
+
isPatternSymmetric: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** @see lib/sparse/SparseMatrix.c:SparseMatrix_new */
|
|
40
|
+
export declare function smNew(m: number, n: number, type: number, format: number): SpMatrix;
|
|
41
|
+
/**
|
|
42
|
+
* Append one COORD entry, growing m/n as needed.
|
|
43
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_coordinate_form_add_entry_
|
|
44
|
+
*/
|
|
45
|
+
export declare function smCoordAddEntry(A: SpMatrix, irn: number, jcn: number, val: number): void;
|
|
46
|
+
/**
|
|
47
|
+
* COORD → CSR with repeated entries summed.
|
|
48
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_from_coordinate_format
|
|
49
|
+
*/
|
|
50
|
+
export declare function smFromCoordinateFormat(A: SpMatrix): SpMatrix;
|
|
51
|
+
/**
|
|
52
|
+
* Coordinate arrays → CSR (counting sort by row; entry order within a
|
|
53
|
+
* row is input order), then repeated entries summed.
|
|
54
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_from_coordinate_arrays_internal
|
|
55
|
+
*/
|
|
56
|
+
export declare function smFromCoordinateArrays(nz: number, m: number, n: number, coords: {
|
|
57
|
+
irn: number[];
|
|
58
|
+
jcn: number[];
|
|
59
|
+
val: number[] | null;
|
|
60
|
+
}, type: number): SpMatrix;
|
|
61
|
+
/**
|
|
62
|
+
* Sum repeated entries within each row in place (first-occurrence
|
|
63
|
+
* positions keep the row order).
|
|
64
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_sum_repeat_entries
|
|
65
|
+
*/
|
|
66
|
+
export declare function smSumRepeatEntries(A: SpMatrix): SpMatrix;
|
|
67
|
+
/** @see lib/sparse/SparseMatrix.c:SparseMatrix_transpose */
|
|
68
|
+
export declare function smTranspose(A: SpMatrix): SpMatrix;
|
|
69
|
+
/** @see lib/sparse/SparseMatrix.c:SparseMatrix_copy */
|
|
70
|
+
export declare function smCopy(A: SpMatrix): SpMatrix;
|
|
71
|
+
/**
|
|
72
|
+
* Symmetry test (REAL compares values to SYMMETRY_EPSILON); caches
|
|
73
|
+
* the result flags on A as in C.
|
|
74
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_is_symmetric
|
|
75
|
+
*/
|
|
76
|
+
export declare function smIsSymmetric(A: SpMatrix, patternOnly: boolean): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* A + Aᵀ unless already symmetric (then a copy). Row order = A's row
|
|
79
|
+
* entries first, then unmatched Aᵀ entries (mask-append).
|
|
80
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_symmetrize
|
|
81
|
+
*/
|
|
82
|
+
export declare function smSymmetrize(A: SpMatrix, patternSymmetricOnly: boolean): SpMatrix;
|
|
83
|
+
/** C = A + B (mask-append row order). @see SparseMatrix.c:SparseMatrix_add */
|
|
84
|
+
export declare function smAdd(A: SpMatrix, B: SpMatrix): SpMatrix;
|
|
85
|
+
/** In-place diagonal removal. @see SparseMatrix.c:SparseMatrix_remove_diagonal */
|
|
86
|
+
export declare function smRemoveDiagonal(A: SpMatrix): SpMatrix;
|
|
87
|
+
/** @see lib/sparse/SparseMatrix.c:SparseMatrix_has_diagonal */
|
|
88
|
+
export declare function smHasDiagonal(A: SpMatrix): boolean;
|
|
89
|
+
/** a[row] /= degree(row). @see SparseMatrix.c:SparseMatrix_divide_row_by_degree */
|
|
90
|
+
export declare function smDivideRowByDegree(A: SpMatrix): SpMatrix;
|
|
91
|
+
/**
|
|
92
|
+
* Pattern-symmetrized adjacency with unit weights and no diagonal.
|
|
93
|
+
* @see SparseMatrix.c:SparseMatrix_get_real_adjacency_matrix_symmetrized
|
|
94
|
+
*/
|
|
95
|
+
export declare function smGetRealAdjacencySymmetrized(A: SpMatrix): SpMatrix;
|
|
96
|
+
/**
|
|
97
|
+
* res = A·V for dense n×dim V (row-major).
|
|
98
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_multiply_dense
|
|
99
|
+
*/
|
|
100
|
+
export declare function smMultiplyDense(A: SpMatrix, v: number[], res: number[], dim: number): void;
|
|
101
|
+
//# sourceMappingURL=sparse-matrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparse-matrix.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/sparse-matrix.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,oDAAoD;AACpD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,YAAY,IAAI,CAAC;AAK9B;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,sCAAsC;IACtC,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,sDAAsD;AACtD,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CASlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAChC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,EAC9D,IAAI,EAAE,MAAM,GACX,QAAQ,CAIV;AA4BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAuBxD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAwBjD;AAED,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAYxE;AA4BD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,GAAG,QAAQ,CAOjF;AAED,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAYxD;AA2BD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAoBtD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAOlD;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAUzD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAUnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW1F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jacobi-preconditioned conjugate gradient over a SparseMatrix — the solver
|
|
3
|
+
* used by the stress-majorization smoothers.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/sfdpgen/sparse_solve.c
|
|
6
|
+
*/
|
|
7
|
+
import type { SpMatrix } from './sparse-matrix.js';
|
|
8
|
+
/**
|
|
9
|
+
* Solve A x = rhs per dimension with CG; the solution replaces rhs
|
|
10
|
+
* (matching the C convention: x0 holds initial guesses, rhs the result).
|
|
11
|
+
* @see lib/sfdpgen/sparse_solve.c:SparseMatrix_solve
|
|
12
|
+
*/
|
|
13
|
+
export declare function smSolve(A: SpMatrix, dim: number, x0: number[], rhs: number[], tol: number, maxit: number): number;
|
|
14
|
+
//# sourceMappingURL=sparse-solve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparse-solve.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/sparse-solve.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAuFnD;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EACrD,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GACzB,MAAM,CAiBR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type SpMatrix } from './sparse-matrix.js';
|
|
2
|
+
import { type SpringElectricalControl } from './spring-electrical.js';
|
|
3
|
+
/** @see lib/sfdpgen/spring_electrical.c:power_law_graph */
|
|
4
|
+
export declare function powerLawGraph(A: SpMatrix): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Principal-component rotation about the centroid.
|
|
7
|
+
* @see lib/sfdpgen/spring_electrical.c:pcp_rotate
|
|
8
|
+
*/
|
|
9
|
+
export declare function pcpRotate(n: number, dim: number, x: number[]): void;
|
|
10
|
+
/**
|
|
11
|
+
* Coarsen, embed coarsest-to-finest with prolongation, rotate to the
|
|
12
|
+
* principal axis, and apply the overlap scaling.
|
|
13
|
+
* The edge-label-scheme path is not ported (no |edgelabel| nodes in
|
|
14
|
+
* any supported input).
|
|
15
|
+
* @see lib/sfdpgen/spring_electrical.c:multilevel_spring_electrical_embedding
|
|
16
|
+
*/
|
|
17
|
+
export declare function multilevelSpringElectricalEmbedding(dim: number, A0: SpMatrix, ctrl: SpringElectricalControl, labelSizes: number[] | null, x: number[]): void;
|
|
18
|
+
//# sourceMappingURL=spring-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spring-driver.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-driver.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,wBAAwB,CAAC;AAOhC,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAclD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAiCnE;AAqDD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EACxD,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GACvC,IAAI,CAmDN"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type SpMatrix } from './sparse-matrix.js';
|
|
2
|
+
/** @see lib/sfdpgen/spring_electrical.h:AUTOP */
|
|
3
|
+
export declare const AUTOP = -1.0001234;
|
|
4
|
+
/** @see lib/sfdpgen/spring_electrical.h: QUAD_TREE_* */
|
|
5
|
+
export declare const QUAD_TREE_NONE = 0;
|
|
6
|
+
export declare const QUAD_TREE_NORMAL = 1;
|
|
7
|
+
export declare const QUAD_TREE_FAST = 2;
|
|
8
|
+
export declare const QUAD_TREE_HYBRID = 3;
|
|
9
|
+
/** @see lib/sfdpgen/spring_electrical.h:spring_electrical_control */
|
|
10
|
+
export interface SpringElectricalControl {
|
|
11
|
+
p: number;
|
|
12
|
+
K: number;
|
|
13
|
+
multilevels: number;
|
|
14
|
+
maxQtreeLevel: number;
|
|
15
|
+
maxiter: number;
|
|
16
|
+
step: number;
|
|
17
|
+
randomSeed: number;
|
|
18
|
+
randomStart: boolean;
|
|
19
|
+
adaptiveCooling: boolean;
|
|
20
|
+
beautifyLeaves: boolean;
|
|
21
|
+
smoothing: number;
|
|
22
|
+
overlap: number;
|
|
23
|
+
doShrinking: boolean;
|
|
24
|
+
tscheme: number;
|
|
25
|
+
initialScaling: number;
|
|
26
|
+
rotation: number;
|
|
27
|
+
edgeLabelingScheme: number;
|
|
28
|
+
}
|
|
29
|
+
/** @see lib/sfdpgen/spring_electrical.c:spring_electrical_control_new */
|
|
30
|
+
export declare function springElectricalControlNew(): SpringElectricalControl;
|
|
31
|
+
/** @see lib/sfdpgen/spring_electrical.c:oned_optimizer */
|
|
32
|
+
export interface OnedOptimizer {
|
|
33
|
+
i: number;
|
|
34
|
+
work: number[];
|
|
35
|
+
direction: number;
|
|
36
|
+
}
|
|
37
|
+
/** @see spring_electrical.c:oned_optimizer_new */
|
|
38
|
+
export declare function onedOptimizerNew(i: number): OnedOptimizer;
|
|
39
|
+
/** @see spring_electrical.c:oned_optimizer_train */
|
|
40
|
+
export declare function onedOptimizerTrain(opt: OnedOptimizer, work: number): void;
|
|
41
|
+
/** @see lib/sparse/general.c:distance */
|
|
42
|
+
export declare function distance(x: number[], dim: number, i: number, j: number): number;
|
|
43
|
+
/** @see lib/sparse/general.c:distance_cropped */
|
|
44
|
+
export declare function distanceCropped(x: number[], dim: number, i: number, j: number): number;
|
|
45
|
+
/**
|
|
46
|
+
* Reposition every degree-1 leaf radially around its parent at the parent's
|
|
47
|
+
* average leaf distance, evenly fanned over `[pad, 2π−pad]` (pad = 0.1). Each
|
|
48
|
+
* parent is processed once. Assumes A has no diagonal (guaranteed upstream).
|
|
49
|
+
* @see lib/sfdpgen/spring_electrical.c:beautify_leaves
|
|
50
|
+
*/
|
|
51
|
+
export declare function beautifyLeaves(dim: number, A: SpMatrix, x: number[]): void;
|
|
52
|
+
/** @see lib/sfdpgen/spring_electrical.c:average_edge_length */
|
|
53
|
+
export declare function averageEdgeLength(A: SpMatrix, dim: number, coord: number[]): number;
|
|
54
|
+
/**
|
|
55
|
+
* The NORMAL-scheme embedding: per-node attract + repulse (direct or
|
|
56
|
+
* Barnes–Hut above QUADTREE_SIZE), normalized move, adaptive cooling.
|
|
57
|
+
* Mutates ctrl.K/p/maxQtreeLevel as the C does.
|
|
58
|
+
* @see lib/sfdpgen/spring_electrical.c:spring_electrical_embedding
|
|
59
|
+
*/
|
|
60
|
+
export declare function springElectricalEmbedding(dim: number, A0: SpMatrix, ctrl: SpringElectricalControl, x: number[]): void;
|
|
61
|
+
//# sourceMappingURL=spring-electrical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spring-electrical.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-electrical.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,oBAAoB,CAAC;AAG5B,iDAAiD;AACjD,eAAO,MAAM,KAAK,aAAa,CAAC;AAEhC,wDAAwD;AACxD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAelC,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,IAAI,uBAAuB,CAoBpE;AAYD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAEzD;AA8BD,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKzE;AAMD,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtF;AA0BD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB1E;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAenF;AA6JD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,EAAE,MAAM,EAAE,GACpE,IAAI,CAuBN"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seven-phase radial layout algorithm for the twopi engine.
|
|
3
|
+
* Ports lib/twopigen/circle.c.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/twopigen/circle.c
|
|
6
|
+
* @see lib/twopigen/circle.h
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
import type { Node } from '../../model/node.js';
|
|
10
|
+
/** Minimum per-ring delta. @see lib/common/render.h:MIN_RANKSEP */
|
|
11
|
+
export declare const MIN_RANKSEP = 0.02;
|
|
12
|
+
/**
|
|
13
|
+
* Return true if n is a leaf: at most one distinct neighbor.
|
|
14
|
+
* @see lib/twopigen/circle.c:isLeaf
|
|
15
|
+
*/
|
|
16
|
+
export declare function isLeaf(g: Graph, n: Node): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Phase 1: initialize all rdata fields before BFS passes.
|
|
19
|
+
* @see lib/twopigen/circle.c:initLayout
|
|
20
|
+
*/
|
|
21
|
+
export declare function initLayout(g: Graph): void;
|
|
22
|
+
/**
|
|
23
|
+
* DFS to propagate leaf distance outward from n.
|
|
24
|
+
* @see lib/twopigen/circle.c:setNStepsToLeaf
|
|
25
|
+
*/
|
|
26
|
+
export declare function setNStepsToLeaf(g: Graph, n: Node, prev: Node | null): void;
|
|
27
|
+
/**
|
|
28
|
+
* Phase 2: find center node (max nStepsToLeaf).
|
|
29
|
+
* @see lib/twopigen/circle.c:findCenterNode
|
|
30
|
+
*/
|
|
31
|
+
export declare function findCenterNode(g: Graph): Node | null;
|
|
32
|
+
/**
|
|
33
|
+
* BFS from n assigning SCENTER and SPARENT; skips weight=0 edges.
|
|
34
|
+
* @see lib/twopigen/circle.c:setNStepsToCenter
|
|
35
|
+
*/
|
|
36
|
+
export declare function setNStepsToCenter(g: Graph, n: Node): void;
|
|
37
|
+
/**
|
|
38
|
+
* Phase 3: BFS from center; returns max ring index or MAX_SAFE_INTEGER.
|
|
39
|
+
* @see lib/twopigen/circle.c:setParentNodes
|
|
40
|
+
*/
|
|
41
|
+
export declare function setParentNodes(sg: Graph, center: Node): number;
|
|
42
|
+
/**
|
|
43
|
+
* Phase 4: count BFS-leaves in each subtree bottom-up.
|
|
44
|
+
* @see lib/twopigen/circle.c:setSubtreeSize
|
|
45
|
+
*/
|
|
46
|
+
export declare function setSubtreeSize(g: Graph): void;
|
|
47
|
+
/**
|
|
48
|
+
* Recursively partition a node's angular span among its children.
|
|
49
|
+
* @see lib/twopigen/circle.c:setChildSubtreeSpans
|
|
50
|
+
*/
|
|
51
|
+
export declare function setChildSubtreeSpans(g: Graph, n: Node): void;
|
|
52
|
+
/**
|
|
53
|
+
* Phase 5: root gets 2π span; children get proportional shares.
|
|
54
|
+
* @see lib/twopigen/circle.c:setSubtreeSpans
|
|
55
|
+
*/
|
|
56
|
+
export declare function setSubtreeSpans(sg: Graph, center: Node): void;
|
|
57
|
+
/**
|
|
58
|
+
* Assign theta (angular midpoint) to each child of n in a fan.
|
|
59
|
+
* @see lib/twopigen/circle.c:setChildPositions
|
|
60
|
+
*/
|
|
61
|
+
export declare function setChildPositions(sg: Graph, n: Node): void;
|
|
62
|
+
/**
|
|
63
|
+
* Phase 6: assign angular positions; root gets theta = 0.
|
|
64
|
+
* @see lib/twopigen/circle.c:setPositions
|
|
65
|
+
*/
|
|
66
|
+
export declare function setPositions(sg: Graph, center: Node): void;
|
|
67
|
+
/**
|
|
68
|
+
* Build cumulative radius array from ranksep attribute.
|
|
69
|
+
* @see lib/twopigen/circle.c:getRankseps
|
|
70
|
+
*/
|
|
71
|
+
export declare function getRankseps(g: Graph, maxrank: number): number[];
|
|
72
|
+
/**
|
|
73
|
+
* Phase 7: polar → Cartesian; writes to n.info.pos.
|
|
74
|
+
* @see lib/twopigen/circle.c:setAbsolutePos
|
|
75
|
+
*/
|
|
76
|
+
export declare function setAbsolutePos(g: Graph, maxrank: number): void;
|
|
77
|
+
/**
|
|
78
|
+
* Run the full seven-phase radial layout on a connected subgraph.
|
|
79
|
+
* Returns the center node used; null only if the graph is empty.
|
|
80
|
+
* @see lib/twopigen/circle.c:circleLayout
|
|
81
|
+
*/
|
|
82
|
+
export declare function circleLayout(sg: Graph, center: Node | null): Node | null;
|
|
83
|
+
//# sourceMappingURL=circle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/circle.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAQhD,mEAAmE;AACnE,eAAO,MAAM,WAAW,OAAO,CAAC;AA6BhC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CASjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAczC;AAWD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAM1E;AAaD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAWpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAYzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAa9D;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO7C;AAcD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAG7D;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAO1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAG1D;AAyBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAiBxE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* twopi radial layout engine — public entry point.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout
|
|
5
|
+
*/
|
|
6
|
+
import type { Graph } from '../../model/graph.js';
|
|
7
|
+
import type { LayoutEngine } from '../../gvc/context.js';
|
|
8
|
+
export { twopiInitGraph, twopiCleanup, findRootNode, adjustNodes, finaliseCoords, } from './init.js';
|
|
9
|
+
export { circleLayout, isLeaf, initLayout } from './circle.js';
|
|
10
|
+
export { THETA_UNSET } from '../../model/nodeInfo.js';
|
|
11
|
+
/**
|
|
12
|
+
* Full twopi layout pipeline for a graph.
|
|
13
|
+
*
|
|
14
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout
|
|
15
|
+
*/
|
|
16
|
+
export declare function twopiLayout(g: Graph): void;
|
|
17
|
+
/**
|
|
18
|
+
* LayoutEngine descriptor for registration with GvcContext.
|
|
19
|
+
*
|
|
20
|
+
* @see lib/gvc/gvcext.h:gvlayout_engine_s
|
|
21
|
+
* @see lib/twopigen/twopiinit.c (plugin wiring)
|
|
22
|
+
*/
|
|
23
|
+
export declare const TWOPI_LAYOUT_ENGINE: LayoutEngine;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUzD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA+B1C;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAIjC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* twopi engine initialisation: per-node/edge init, graph init, cleanup.
|
|
3
|
+
* Ports lib/twopigen/twopiinit.c: twopi_init_node_edge, twopi_init_graph,
|
|
4
|
+
* findRootNode, twopi_cleanup.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/twopigen/twopiinit.c
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
import type { Node } from '../../model/node.js';
|
|
10
|
+
import type { Edge } from '../../model/edge.js';
|
|
11
|
+
/**
|
|
12
|
+
* Initialize a node for twopi layout: ensure pos[0..1] exist, set defaults.
|
|
13
|
+
* Mirrors neato_init_node for the twopi engine.
|
|
14
|
+
*
|
|
15
|
+
* @see lib/twopigen/twopiinit.c:twopi_init_node_edge (neato_init_node call)
|
|
16
|
+
*/
|
|
17
|
+
export declare function twopiInitNode(n: Node): void;
|
|
18
|
+
/**
|
|
19
|
+
* Initialize an edge for twopi layout: set ED_factor from weight attribute.
|
|
20
|
+
* Default weight 1.0; minimum 0.0.
|
|
21
|
+
*
|
|
22
|
+
* @see lib/twopigen/twopiinit.c:twopi_init_edge
|
|
23
|
+
*/
|
|
24
|
+
export declare function twopiInitEdge(e: Edge): void;
|
|
25
|
+
/**
|
|
26
|
+
* Initialize all nodes and edges in g for twopi layout.
|
|
27
|
+
*
|
|
28
|
+
* Mirrors the C twopi_init_node_edge: allocates a contiguous rdata block
|
|
29
|
+
* (one TwopiAlgData per node), populates GD_neato_nlist, assigns ND_alg,
|
|
30
|
+
* then initialises every out-edge.
|
|
31
|
+
*
|
|
32
|
+
* The contiguous-allocation semantics are preserved: all TwopiAlgData objects
|
|
33
|
+
* are created here in one pass (matching gv_calloc(n_nodes, sizeof(rdata))),
|
|
34
|
+
* so twopiCleanup can mirror the C free(ND_alg(first_node)) by nulling only
|
|
35
|
+
* the first node's alg field.
|
|
36
|
+
*
|
|
37
|
+
* @see lib/twopigen/twopiinit.c:twopi_init_node_edge
|
|
38
|
+
*/
|
|
39
|
+
export declare function twopiInitNodeEdge(g: Graph): void;
|
|
40
|
+
/**
|
|
41
|
+
* Full graph initialisation: set edge type to line, force 2D, init nodes/edges.
|
|
42
|
+
*
|
|
43
|
+
* @see lib/twopigen/twopiinit.c:twopi_init_graph
|
|
44
|
+
*/
|
|
45
|
+
export declare function twopiInitGraph(g: Graph): void;
|
|
46
|
+
/**
|
|
47
|
+
* Scan sg for the first node whose `root` attribute is truthy.
|
|
48
|
+
* Returns null if no such node exists.
|
|
49
|
+
*
|
|
50
|
+
* @see lib/twopigen/twopiinit.c:findRootNode
|
|
51
|
+
*/
|
|
52
|
+
export declare function findRootNode(sg: Graph): Node | null;
|
|
53
|
+
/**
|
|
54
|
+
* Convert pos (inches) to coord (points) for every node in g.
|
|
55
|
+
* Matches the neatoSetAspect / dotneato_postprocess coordinate finalisation.
|
|
56
|
+
*
|
|
57
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout (post-layout coord write)
|
|
58
|
+
* @see lib/neatogen/neatoinit.c:neatoSetAspect
|
|
59
|
+
*/
|
|
60
|
+
export declare function finaliseCoords(g: Graph): void;
|
|
61
|
+
/**
|
|
62
|
+
* Overlap adjustment: scale-family modes via scAdjust, PRISM (the GTS
|
|
63
|
+
* build's resolution of overlap=false / unrecognized values) via
|
|
64
|
+
* fdpAdjust; remaining modes (voronoi, vpsc, ortho*) are unported no-ops.
|
|
65
|
+
*
|
|
66
|
+
* @see lib/neatogen/adjust.c:adjustNodes
|
|
67
|
+
* @see lib/neatogen/constraint.c:scAdjust
|
|
68
|
+
*/
|
|
69
|
+
export declare function adjustNodes(g: Graph): void;
|
|
70
|
+
/**
|
|
71
|
+
* Release twopi-specific per-node state after layout.
|
|
72
|
+
*
|
|
73
|
+
* Mirrors the C twopi_layout cleanup: free(ND_alg(first_node)) / ND_alg = NULL
|
|
74
|
+
* on the FIRST node only (the contiguous block was allocated as a single unit).
|
|
75
|
+
* Other nodes' ND_alg pointers were interior offsets into that block so they
|
|
76
|
+
* do not need to be freed separately.
|
|
77
|
+
*
|
|
78
|
+
* ORDERING: must be called BEFORE splineEdges because edge routing may
|
|
79
|
+
* store its own data in n.info.alg.
|
|
80
|
+
*
|
|
81
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout (free(ND_alg) placement note)
|
|
82
|
+
* @see lib/twopigen/twopiinit.c:twopi_cleanup
|
|
83
|
+
*/
|
|
84
|
+
export declare function twopiCleanup(g: Graph): void;
|
|
85
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/init.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AA6BhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAchD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAMnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAS7C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAM3C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal pipeline helpers for the twopi layout engine.
|
|
3
|
+
* Isolated from index.ts so lizard can parse each function boundary cleanly.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout
|
|
6
|
+
*/
|
|
7
|
+
import type { Graph } from '../../model/graph.js';
|
|
8
|
+
import type { Node } from '../../model/node.js';
|
|
9
|
+
import type { PackInfo } from '../pack/index.js';
|
|
10
|
+
/** Margin constant matching C CL_OFFSET. @see lib/pack/pack.h:CL_OFFSET */
|
|
11
|
+
export declare const CL_OFFSET = 8;
|
|
12
|
+
/** circleLayout return type; Node | null. */
|
|
13
|
+
export type Center = Node | null;
|
|
14
|
+
/** Add only edges whose both endpoints belong to sg. */
|
|
15
|
+
export declare function induceEdges(g: Graph, sg: Graph): void;
|
|
16
|
+
/** Prefer globalRoot if it is in sg; otherwise scan for root attribute. */
|
|
17
|
+
export declare function resolveCenter(sg: Graph, globalRoot: Center): Center;
|
|
18
|
+
/** Lay out one component; return the chosen center node. */
|
|
19
|
+
export declare function layoutComponent(g: Graph, sg: Graph, globalRoot: Center): Center;
|
|
20
|
+
/**
|
|
21
|
+
* Build a PackInfo for multi-component packing.
|
|
22
|
+
*
|
|
23
|
+
* @see lib/twopigen/twopiinit.c:twopi_layout (getPackInfo call with l_node)
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildPackInfo(g: Graph): PackInfo;
|
|
26
|
+
/** Single-component pipeline: layout → cleanup → splines → coords. */
|
|
27
|
+
export declare function layoutSingle(g: Graph, comps: Graph[], globalRoot: Center, setRoot: boolean): void;
|
|
28
|
+
/**
|
|
29
|
+
* Multi-component pipeline: per-component layout + coords, then cleanup,
|
|
30
|
+
* pack, re-sync coords, splines.
|
|
31
|
+
*
|
|
32
|
+
* finaliseCoords per component runs BEFORE packSubgraphs so that
|
|
33
|
+
* computeSubgraphBB reads real point-coords for bounding-box calculation.
|
|
34
|
+
* After packing shifts pos (inches), finaliseCoords re-syncs coord.
|
|
35
|
+
*/
|
|
36
|
+
export declare function layoutMulti(g: Graph, comps: Graph[], globalRoot: Center, pinfo: PackInfo): void;
|
|
37
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/pipeline.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAWjD,2EAA2E;AAC3E,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,6CAA6C;AAC7C,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAIrD;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAShD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAUjG;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAU/F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test fixtures for twopi layout tests.
|
|
3
|
+
* Kept in a separate file so lizard does not conflate helper function spans
|
|
4
|
+
* with the describe() callbacks that follow them in the test file.
|
|
5
|
+
*/
|
|
6
|
+
import { Graph } from '../../model/graph.js';
|
|
7
|
+
import { Node } from '../../model/node.js';
|
|
8
|
+
export declare function h_node(g: Graph, name: string): Node;
|
|
9
|
+
export declare function h_edge(g: Graph, t: Node, h: Node): void;
|
|
10
|
+
export declare function makeStar(leaves: number): Graph;
|
|
11
|
+
export declare function makeTwoTriangles(): Graph;
|
|
12
|
+
//# sourceMappingURL=twopi-test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twopi-test-helpers.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/twopi-test-helpers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAM3C,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAEvD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAM9C;AAED,wBAAgB,gBAAgB,IAAI,KAAK,CAQxC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-engine algorithm data — discriminated union (AD-7).
|
|
3
|
+
*
|
|
4
|
+
* In C, ND_alg is a void* that each layout engine casts to its own private
|
|
5
|
+
* struct. TypeScript uses a discriminated union so the kind discriminant is
|
|
6
|
+
* statically knowable and no unsafe casts are needed. Each engine's batch
|
|
7
|
+
* adds its concrete fields; the `kind` discriminant is the only required
|
|
8
|
+
* field now. Split out of nodeInfo.ts to keep that file under the size cap.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/common/types.h:Agnodeinfo_t:alg (ND_alg)
|
|
11
|
+
*/
|
|
12
|
+
import type { Graph } from './graph.js';
|
|
13
|
+
import type { Node } from './node.js';
|
|
14
|
+
/**
|
|
15
|
+
* Layout-engine algorithm data stored in ND_alg for the dot engine.
|
|
16
|
+
*
|
|
17
|
+
* @see lib/dotgen/ — dot-engine algorithm data
|
|
18
|
+
*/
|
|
19
|
+
export interface DotAlgData {
|
|
20
|
+
readonly kind: 'dot';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Layout-engine algorithm data stored in ND_alg for the neato engine.
|
|
24
|
+
*
|
|
25
|
+
* @see lib/neatogen/ — neato-engine algorithm data
|
|
26
|
+
*/
|
|
27
|
+
export interface NeatoAlgData {
|
|
28
|
+
readonly kind: 'neato';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* fdp data for REAL (input-graph) nodes.
|
|
32
|
+
*
|
|
33
|
+
* C stores DNODE in ND_next and PARENT in ND_clust (dot fields reused);
|
|
34
|
+
* here both live in the alg record together with the numeric ND_pinned
|
|
35
|
+
* state (P_SET/P_FIX/P_PIN), which the boolean NodeInfo.pinned cannot
|
|
36
|
+
* represent.
|
|
37
|
+
*
|
|
38
|
+
* @see lib/fdpgen/fdp.h:DNODE / PARENT
|
|
39
|
+
*/
|
|
40
|
+
export interface FdpAlgData {
|
|
41
|
+
readonly kind: 'fdp';
|
|
42
|
+
/** Derived node for this real node. @see lib/fdpgen/fdp.h:DNODE */
|
|
43
|
+
dnode: Node | null;
|
|
44
|
+
/** Smallest containing cluster. @see lib/fdpgen/fdp.h:PARENT */
|
|
45
|
+
parent: Graph | null;
|
|
46
|
+
/** ND_pinned P_* state. @see lib/common/const.h:P_SET */
|
|
47
|
+
pinned: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* fdp data for DERIVED-graph nodes (dndata in C).
|
|
51
|
+
*
|
|
52
|
+
* @see lib/fdpgen/fdp.h:dndata
|
|
53
|
+
*/
|
|
54
|
+
export interface FdpDndata {
|
|
55
|
+
readonly kind: 'fdp-dndata';
|
|
56
|
+
/** Degree of node. @see lib/fdpgen/fdp.h:DEG */
|
|
57
|
+
deg: number;
|
|
58
|
+
/** Weighted degree of node. @see lib/fdpgen/fdp.h:WDEG */
|
|
59
|
+
wdeg: number;
|
|
60
|
+
/** Real node if not a cluster. @see lib/fdpgen/fdp.h:ANODE */
|
|
61
|
+
dn: Node | null;
|
|
62
|
+
/** Cluster in real graph, for cluster nodes. @see lib/common/types.h:ND_clust */
|
|
63
|
+
clust: Graph | null;
|
|
64
|
+
/** Incremental displacement. @see lib/fdpgen/fdp.h:DISP */
|
|
65
|
+
disp: [number, number];
|
|
66
|
+
/** ND_pinned P_* state. @see lib/common/const.h:P_SET */
|
|
67
|
+
pinned: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Per-node init data for the circo engine (ndata in C).
|
|
71
|
+
* Stored in ND_alg on original-graph nodes during Pass 0.
|
|
72
|
+
* @see lib/circogen/circular.h:ndata
|
|
73
|
+
*/
|
|
74
|
+
export interface CircoNData {
|
|
75
|
+
readonly kind: 'circo-ndata';
|
|
76
|
+
dnode: unknown;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Rich per-node layout data for the circo engine (cdata in C).
|
|
80
|
+
* Stored in ND_alg on derived-graph nodes across Passes 1–4.
|
|
81
|
+
* @see lib/circogen/circular.h:cdata
|
|
82
|
+
*/
|
|
83
|
+
export interface CircoCData {
|
|
84
|
+
readonly kind: 'circo-cdata';
|
|
85
|
+
flags: number;
|
|
86
|
+
parent: unknown;
|
|
87
|
+
block: unknown;
|
|
88
|
+
bc: {
|
|
89
|
+
val: number;
|
|
90
|
+
lowVal: number;
|
|
91
|
+
};
|
|
92
|
+
clone: unknown;
|
|
93
|
+
tparent: unknown;
|
|
94
|
+
leafone: unknown;
|
|
95
|
+
leaftwo: unknown;
|
|
96
|
+
fdist: number;
|
|
97
|
+
sdist: number;
|
|
98
|
+
pos: number;
|
|
99
|
+
psi: number;
|
|
100
|
+
degree: number;
|
|
101
|
+
derivedNode: unknown;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Sentinel value for an unset theta (angular position).
|
|
105
|
+
* Valid theta values are in [0, 2π]; 10.0 is outside this range.
|
|
106
|
+
*
|
|
107
|
+
* @see lib/twopigen/circle.c:#define UNSET 10.00
|
|
108
|
+
*/
|
|
109
|
+
export declare const THETA_UNSET = 10;
|
|
110
|
+
/**
|
|
111
|
+
* Per-node radial layout data for the twopi engine.
|
|
112
|
+
*
|
|
113
|
+
* Mirrors the `rdata` struct in lib/twopigen/circle.h. All fields are zeroed
|
|
114
|
+
* at allocation time (gv_calloc equivalent). theta is set to THETA_UNSET
|
|
115
|
+
* (10.0) by initLayout; nStepsToCenter is set to n² as the INF sentinel.
|
|
116
|
+
*
|
|
117
|
+
* @see lib/twopigen/circle.h:rdata
|
|
118
|
+
* @see lib/twopigen/circle.c:initLayout
|
|
119
|
+
*/
|
|
120
|
+
export interface TwopiAlgData {
|
|
121
|
+
readonly kind: 'twopi';
|
|
122
|
+
/** BFS distance to nearest leaf. @see lib/twopigen/circle.h:rdata:nStepsToLeaf (SLEAF) */
|
|
123
|
+
nStepsToLeaf: number;
|
|
124
|
+
/** Leaf count in BFS subtree. @see lib/twopigen/circle.h:rdata:subtreeSize (STSIZE) */
|
|
125
|
+
subtreeSize: number;
|
|
126
|
+
/** Number of BFS children. @see lib/twopigen/circle.h:rdata:nChildren (NCHILD) */
|
|
127
|
+
nChildren: number;
|
|
128
|
+
/**
|
|
129
|
+
* BFS distance from root (ring index). n² = INF sentinel.
|
|
130
|
+
* @see lib/twopigen/circle.h:rdata:nStepsToCenter (SCENTER)
|
|
131
|
+
*/
|
|
132
|
+
nStepsToCenter: number;
|
|
133
|
+
/** BFS parent pointer; null for root. @see lib/twopigen/circle.h:rdata:parent (SPARENT) */
|
|
134
|
+
parent: Node | null;
|
|
135
|
+
/** Angular span in radians. @see lib/twopigen/circle.h:rdata:span (SPAN) */
|
|
136
|
+
span: number;
|
|
137
|
+
/**
|
|
138
|
+
* Angular midpoint in radians. THETA_UNSET (10.0) until assigned.
|
|
139
|
+
* @see lib/twopigen/circle.h:rdata:theta (THETA)
|
|
140
|
+
*/
|
|
141
|
+
theta: number;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Layout-engine algorithm data stored in ND_alg for the osage engine.
|
|
145
|
+
*
|
|
146
|
+
* ND_alg(n) is repurposed as a cluster-ownership marker during layout():
|
|
147
|
+
* when a node is claimed by a cluster, alg is set to an OsageAlgData
|
|
148
|
+
* with ownerCluster pointing to that cluster. Unclaimed nodes have
|
|
149
|
+
* alg === undefined.
|
|
150
|
+
*
|
|
151
|
+
* @see lib/osage/osageinit.c:PARENT macro
|
|
152
|
+
*/
|
|
153
|
+
export interface OsageAlgData {
|
|
154
|
+
readonly kind: 'osage';
|
|
155
|
+
/** The cluster graph that owns this node. @see lib/osage/osageinit.c:ND_alg usage */
|
|
156
|
+
readonly ownerCluster: Graph;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Layout-engine algorithm data stored in ND_alg for the patchwork engine.
|
|
160
|
+
*
|
|
161
|
+
* @see lib/patchwork/ — patchwork-engine algorithm data
|
|
162
|
+
*/
|
|
163
|
+
export interface PatchworkAlgData {
|
|
164
|
+
readonly kind: 'patchwork';
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Discriminated union of all per-engine algorithm data structs stored in
|
|
168
|
+
* Agnodeinfo_t.alg (ND_alg). Each layout engine stores a different struct
|
|
169
|
+
* in the C void*; here the `kind` discriminant makes the active engine
|
|
170
|
+
* statically knowable without unsafe casting.
|
|
171
|
+
*
|
|
172
|
+
* @see lib/common/types.h:Agnodeinfo_t:alg (ND_alg)
|
|
173
|
+
*/
|
|
174
|
+
export type NodeAlgData = DotAlgData | NeatoAlgData | FdpAlgData | FdpDndata | CircoNData | CircoCData | TwopiAlgData | OsageAlgData | PatchworkAlgData;
|
|
175
|
+
//# sourceMappingURL=algData.d.ts.map
|