@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 @@
|
|
|
1
|
+
{"version":3,"file":"poly-pack.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-pack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polyomino-based packing of laid-out graphs (components), a port of
|
|
3
|
+
* the l_node/l_clust/l_graph modes of putGraphs.
|
|
4
|
+
*
|
|
5
|
+
* Each graph is approximated by the set of grid cells ("polyomino")
|
|
6
|
+
* covered by its nodes and edges (or its bounding box in l_graph
|
|
7
|
+
* mode); polyominoes are then placed largest-first on concentric
|
|
8
|
+
* rings around the origin.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/pack/pack.c (Freivalds et al., GD 2002 polyomino packing)
|
|
11
|
+
*/
|
|
12
|
+
import type { Box, Point } from '../../model/geom.js';
|
|
13
|
+
import type { Graph } from '../../model/graph.js';
|
|
14
|
+
import type { PackInfo } from './types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Grid step size: positive root of the quadratic over total cell area.
|
|
17
|
+
* @see lib/pack/pack.c:computeStep
|
|
18
|
+
*/
|
|
19
|
+
export declare function computeStep(bbs: Box[], margin: number): number;
|
|
20
|
+
/**
|
|
21
|
+
* Polyomino packing of pre-laid-out graphs. Returns the translation
|
|
22
|
+
* point for each graph (indexed like gs). When pinfo.fixed is set, the
|
|
23
|
+
* fixed (pinned) components stay put and the rest pack around them.
|
|
24
|
+
* @see lib/pack/pack.c:polyGraphs
|
|
25
|
+
*/
|
|
26
|
+
export declare function polyGraphs(gs: Graph[], root: Graph, pinfo: PackInfo, bbs: Box[]): Point[] | null;
|
|
27
|
+
//# sourceMappingURL=poly-place.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poly-place.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-place.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+C3C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAa9D;AA6QD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GACpD,KAAK,EAAE,GAAG,IAAI,CAkEhB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concentric square spiral search for polyomino placement.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from placeGraph so the spiral loop does not inflate the
|
|
5
|
+
* cyclomatic complexity of its caller.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/pack/pack.c:placeGraph
|
|
8
|
+
*/
|
|
9
|
+
import type { Point } from '../../model/geom.js';
|
|
10
|
+
import type { GInfo, PlaceCtx } from './poly-pack.js';
|
|
11
|
+
/**
|
|
12
|
+
* Search for a valid placement on a concentric square spiral.
|
|
13
|
+
* Delegates to the wide or tall variant based on the bounding-box aspect ratio.
|
|
14
|
+
*
|
|
15
|
+
* @see lib/pack/pack.c:placeGraph
|
|
16
|
+
*/
|
|
17
|
+
export declare function spiralSearch(info: GInfo, ctx: PlaceCtx, wide: boolean): Point;
|
|
18
|
+
//# sourceMappingURL=spiral-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spiral-search.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/spiral-search.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAqFtD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAE7E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Box, Point } from '../../model/geom.js';
|
|
2
|
+
import { type PackInfo } from './types.js';
|
|
3
|
+
export declare function box(llx: number, lly: number, urx: number, ury: number): Box;
|
|
4
|
+
export declare function defaultPackInfo(overrides?: Partial<PackInfo>): PackInfo;
|
|
5
|
+
export declare function applyPlaces(bbs: Box[], places: Point[]): Box[];
|
|
6
|
+
export declare function assertNoOverlap(placed: Box[]): void;
|
|
7
|
+
//# sourceMappingURL=test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/test-helpers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,YAAY,CAAC;AAErD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAE3E;AAED,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAMvE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,CAK9D;AAOD,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAUnD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the pack module.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/pack/pack.h
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Granularity and method for packing.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/pack/pack.h:pack_mode
|
|
10
|
+
*/
|
|
11
|
+
export declare const enum PackMode {
|
|
12
|
+
Undef = 0,
|
|
13
|
+
Cluster = 1,
|
|
14
|
+
Node = 2,
|
|
15
|
+
Graph = 3,
|
|
16
|
+
Array = 4,
|
|
17
|
+
Aspect = 5
|
|
18
|
+
}
|
|
19
|
+
/** @see lib/pack/pack.h:PK_COL_MAJOR */
|
|
20
|
+
export declare const PK_COL_MAJOR: number;
|
|
21
|
+
/** @see lib/pack/pack.h:PK_USER_VALS */
|
|
22
|
+
export declare const PK_USER_VALS: number;
|
|
23
|
+
/** @see lib/pack/pack.h:PK_LEFT_ALIGN */
|
|
24
|
+
export declare const PK_LEFT_ALIGN: number;
|
|
25
|
+
/** @see lib/pack/pack.h:PK_RIGHT_ALIGN */
|
|
26
|
+
export declare const PK_RIGHT_ALIGN: number;
|
|
27
|
+
/** @see lib/pack/pack.h:PK_TOP_ALIGN */
|
|
28
|
+
export declare const PK_TOP_ALIGN: number;
|
|
29
|
+
/** @see lib/pack/pack.h:PK_BOT_ALIGN */
|
|
30
|
+
export declare const PK_BOT_ALIGN: number;
|
|
31
|
+
/** @see lib/pack/pack.h:PK_INPUT_ORDER */
|
|
32
|
+
export declare const PK_INPUT_ORDER: number;
|
|
33
|
+
/**
|
|
34
|
+
* Packing parameters.
|
|
35
|
+
*
|
|
36
|
+
* @see lib/pack/pack.h:pack_info
|
|
37
|
+
*/
|
|
38
|
+
export interface PackInfo {
|
|
39
|
+
/** Desired aspect ratio. @see lib/pack/pack.h:pack_info.aspect */
|
|
40
|
+
aspect: number;
|
|
41
|
+
/** Row/column size. @see lib/pack/pack.h:pack_info.sz */
|
|
42
|
+
sz: number;
|
|
43
|
+
/** Margin around objects in points. @see lib/pack/pack.h:pack_info.margin */
|
|
44
|
+
margin: number;
|
|
45
|
+
/** Use splines when constructing graph shape. @see lib/pack/pack.h:pack_info.doSplines */
|
|
46
|
+
doSplines: boolean;
|
|
47
|
+
/** Granularity and method. @see lib/pack/pack.h:pack_info.mode */
|
|
48
|
+
mode: PackMode;
|
|
49
|
+
/** fixed[i] == true means graph i should not be moved. @see lib/pack/pack.h:pack_info.fixed */
|
|
50
|
+
fixed: boolean[] | null;
|
|
51
|
+
/** Sort values for array mode. @see lib/pack/pack.h:pack_info.vals */
|
|
52
|
+
vals: number[] | null;
|
|
53
|
+
/** Alignment/order flags. @see lib/pack/pack.h:pack_info.flags */
|
|
54
|
+
flags: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Conversion factor: points to inches.
|
|
58
|
+
*
|
|
59
|
+
* @see lib/common/geom.h:PS2INCH
|
|
60
|
+
*/
|
|
61
|
+
export declare const PS2INCH: number;
|
|
62
|
+
/**
|
|
63
|
+
* Convert points to inches.
|
|
64
|
+
*
|
|
65
|
+
* @see lib/common/geom.h:PS2INCH
|
|
66
|
+
*/
|
|
67
|
+
export declare function ps2inch(pts: number): number;
|
|
68
|
+
/**
|
|
69
|
+
* Convert inches to points.
|
|
70
|
+
*
|
|
71
|
+
* @see lib/common/geom.h:PS2INCH (inverse)
|
|
72
|
+
*/
|
|
73
|
+
export declare function inch2ps(inches: number): number;
|
|
74
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;GAIG;AACH,0BAAkB,QAAQ;IACxB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,wCAAwC;AACxC,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,wCAAwC;AACxC,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,yCAAyC;AACzC,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,0CAA0C;AAC1C,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,wCAAwC;AACxC,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,wCAAwC;AACxC,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,0CAA0C;AAC1C,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,QAAQ,CAAC;IACf,+FAA+F;IAC/F,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxB,sEAAsE;IACtE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,QAAS,CAAC;AAE9B;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patchwork squarified treemap layout engine.
|
|
3
|
+
*
|
|
4
|
+
* Ports lib/patchwork/patchwork.c, lib/patchwork/patchworkinit.c, and
|
|
5
|
+
* lib/patchwork/tree_map.c into a single browser-compatible TypeScript module.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: All helper and body functions are exported so that Lizard resets
|
|
8
|
+
* its cyclomatic-complexity counter at each `export function` boundary.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/patchwork/patchwork.c
|
|
11
|
+
* @see lib/patchwork/patchworkinit.c
|
|
12
|
+
* @see lib/patchwork/tree_map.c
|
|
13
|
+
*/
|
|
14
|
+
import type { Graph } from '../../model/graph.js';
|
|
15
|
+
import type { Node } from '../../model/node.js';
|
|
16
|
+
import type { LayoutEngine } from '../../gvc/context.js';
|
|
17
|
+
import type { Rectangle } from './tree-map.js';
|
|
18
|
+
/** @see lib/patchwork/patchwork.c:treenode_t */
|
|
19
|
+
export interface TreeNode {
|
|
20
|
+
area: number;
|
|
21
|
+
childArea: number;
|
|
22
|
+
r: Rectangle;
|
|
23
|
+
leftChild: TreeNode | null;
|
|
24
|
+
rightSib: TreeNode | null;
|
|
25
|
+
kind: 'graph' | 'node';
|
|
26
|
+
ref: Graph | Node;
|
|
27
|
+
nChildren: number;
|
|
28
|
+
}
|
|
29
|
+
/** Mutable linked-list accumulator used during mkTree child collection. */
|
|
30
|
+
export interface ChildAccum {
|
|
31
|
+
first: TreeNode | null;
|
|
32
|
+
prev: TreeNode | null;
|
|
33
|
+
area: number;
|
|
34
|
+
nChildren: number;
|
|
35
|
+
}
|
|
36
|
+
/** @see lib/patchwork/patchwork.c:getArea */
|
|
37
|
+
export declare function getArea(attrs: Map<string, string>): number;
|
|
38
|
+
/** @see lib/patchwork/patchwork.c:fullArea (mp parameter) */
|
|
39
|
+
export declare function getInset(attrs: Map<string, string>): number;
|
|
40
|
+
/** @see lib/patchwork/patchwork.c:fullArea */
|
|
41
|
+
export declare function fullArea(childArea: number, inset: number): number;
|
|
42
|
+
/** Build a blank graph-kind TreeNode for g. @see lib/patchwork/patchwork.c:mkTree */
|
|
43
|
+
export declare function makeGraphTreeNode(g: Graph): TreeNode;
|
|
44
|
+
/** Build a leaf node-kind TreeNode for n. @see lib/patchwork/patchwork.c:mkTree */
|
|
45
|
+
export declare function makeNodeTreeNode(n: Node): TreeNode;
|
|
46
|
+
/** Append one child TreeNode into a ChildAccum linked list. */
|
|
47
|
+
export declare function accumAppend(accum: ChildAccum, cp: TreeNode): void;
|
|
48
|
+
/** Append all cluster children of g into accum. @see lib/patchwork/patchwork.c:mkTree */
|
|
49
|
+
export declare function appendClusterChildren(g: Graph, sparent: Map<Node, Graph>, accum: ChildAccum): void;
|
|
50
|
+
/** Append unclaimed direct nodes of g into accum. @see lib/patchwork/patchwork.c:mkTree */
|
|
51
|
+
export declare function appendNodeChildren(g: Graph, sparent: Map<Node, Graph>, accum: ChildAccum): void;
|
|
52
|
+
/** Finalise a TreeNode's area fields from an accumulated child list. */
|
|
53
|
+
export declare function finaliseTreeNode(p: TreeNode, g: Graph, accum: ChildAccum): void;
|
|
54
|
+
/**
|
|
55
|
+
* Recursively build the TreeNode tree from a Graph hierarchy.
|
|
56
|
+
* @see lib/patchwork/patchwork.c:mkTree
|
|
57
|
+
*/
|
|
58
|
+
export declare function mkTree(g: Graph, sparent: Map<Node, Graph>): TreeNode;
|
|
59
|
+
/**
|
|
60
|
+
* Compute the inset margin m such that (h-m)(w-m) == childArea.
|
|
61
|
+
* Solves m² - (h+w)m + (hw - childArea) = 0; returns smaller root.
|
|
62
|
+
* For h=10, w=8, childArea=64 → result ≈ 0.9029 (within 1e-6).
|
|
63
|
+
* @see lib/patchwork/patchwork.c:layoutTree
|
|
64
|
+
*/
|
|
65
|
+
export declare function layoutTreeMargin(h: number, w: number, childArea: number): number;
|
|
66
|
+
/** Collect sibling TreeNodes into a sorted (descending area) array. */
|
|
67
|
+
export declare function collectSortedChildren(tree: TreeNode): TreeNode[];
|
|
68
|
+
/** Compute the shrunken fill rectangle for treeMap. */
|
|
69
|
+
export declare function computeFillRect(tree: TreeNode): Rectangle;
|
|
70
|
+
/** Assign treeMap rectangles back onto sorted child nodes. */
|
|
71
|
+
export declare function assignRecs(nodes: TreeNode[], recs: Rectangle[]): void;
|
|
72
|
+
/** Recurse layoutTree into any graph-kind children (original sibling order). */
|
|
73
|
+
export declare function recurseGraphChildren(tree: TreeNode): void;
|
|
74
|
+
/** Squarify children into fill rect, assign recs, and recurse. */
|
|
75
|
+
export declare function placeLayoutRecs(tree: TreeNode, nodes: TreeNode[]): void;
|
|
76
|
+
/**
|
|
77
|
+
* Assign rectangles to the children of one tree node.
|
|
78
|
+
* @see lib/patchwork/patchwork.c:layoutTree
|
|
79
|
+
*/
|
|
80
|
+
export declare function layoutTree(tree: TreeNode): void;
|
|
81
|
+
/** Write bounding box back to a graph node. @see lib/patchwork/patchwork.c:walkTree */
|
|
82
|
+
export declare function applyGraphRect(tree: TreeNode): void;
|
|
83
|
+
/** Write coord/size back to a leaf node. @see lib/patchwork/patchwork.c:walkTree */
|
|
84
|
+
export declare function applyLeafRect(tree: TreeNode): void;
|
|
85
|
+
/**
|
|
86
|
+
* Write computed rectangle data back to Graphviz node/graph structures.
|
|
87
|
+
* @see lib/patchwork/patchwork.c:walkTree
|
|
88
|
+
*/
|
|
89
|
+
export declare function walkTree(tree: TreeNode): void;
|
|
90
|
+
/**
|
|
91
|
+
* A subgraph is a cluster if it is the root, its name begins (case-insensitively)
|
|
92
|
+
* with "cluster", OR it carries a truthy `cluster` attribute. The name-only test
|
|
93
|
+
* missed `cluster=true` subgraphs (e.g. 2717's `domestic_cats`), dropping them
|
|
94
|
+
* from the treemap cluster list. @see lib/common/utils.c:695 is_a_cluster
|
|
95
|
+
*/
|
|
96
|
+
export declare function isCluster(g: Graph): boolean;
|
|
97
|
+
/** @see lib/patchwork/patchworkinit.c:mkClusters */
|
|
98
|
+
export declare function collectClusters(g: Graph, clusters: Graph[]): void;
|
|
99
|
+
/**
|
|
100
|
+
* Detect cluster subgraphs in g and populate g.info.clust.
|
|
101
|
+
* @see lib/patchwork/patchworkinit.c:mkClusters
|
|
102
|
+
*/
|
|
103
|
+
export declare function mkClusters(g: Graph): void;
|
|
104
|
+
/**
|
|
105
|
+
* Core patchwork layout: build tree → sort → squarify → walk.
|
|
106
|
+
* @see lib/patchwork/patchwork.c:patchworkLayout
|
|
107
|
+
*/
|
|
108
|
+
export declare function patchworkLayout(g: Graph): void;
|
|
109
|
+
/**
|
|
110
|
+
* Post-tiling per-node finish, mirroring C's walkTree -> finishNode:
|
|
111
|
+
* (a) a node whose fontsize attr is DECLARED but resolves empty gets
|
|
112
|
+
* fontsize = ND_ht*0.7 (%.03f) — the treemap-scaled label size; (b)
|
|
113
|
+
* common_init_node runs in full: label + xlabel creation and poly_init
|
|
114
|
+
* sizing. Crucially, poly_init CLOBBERS ND_width/ND_height with the
|
|
115
|
+
* label-driven size while the tile survives in ND_lw/rw/ht (which
|
|
116
|
+
* common_init_node never touches — gv_nodesize ran on the tile before).
|
|
117
|
+
* This clobber is load-bearing: addXLabels' addNodeObj builds xlabel
|
|
118
|
+
* obstacles from ND_width/ND_height (postproc.c:351), so native places
|
|
119
|
+
* xlabels against label-sized boxes, not tiles. Drawing and attach_attrs
|
|
120
|
+
* use lw/rw/ht, so the tile geometry still renders. The port's
|
|
121
|
+
* commonInitNode folds gv_nodesize in (storeNodeSize), so lw/rw/ht are
|
|
122
|
+
* saved and restored around it to keep the tile.
|
|
123
|
+
* @see lib/patchwork/patchwork.c:finishNode
|
|
124
|
+
* @see lib/common/postproc.c:351 addNodeObj (INCH2PS(ND_width/ND_height))
|
|
125
|
+
*/
|
|
126
|
+
export declare function finishNodes(g: Graph): void;
|
|
127
|
+
/** @see lib/patchwork/patchworkinit.c:patchwork_layout */
|
|
128
|
+
export declare function patchworkEngineLayout(g: Graph): void;
|
|
129
|
+
/** @see lib/patchwork/patchworkinit.c:patchwork_cleanup */
|
|
130
|
+
export declare function patchworkEngineCleanup(g: Graph): void;
|
|
131
|
+
/**
|
|
132
|
+
* Patchwork squarified treemap layout engine.
|
|
133
|
+
* @see lib/patchwork/patchworkinit.c:patchwork_layout
|
|
134
|
+
*/
|
|
135
|
+
export declare const PATCHWORK_LAYOUT_ENGINE: LayoutEngine;
|
|
136
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/patchwork/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Squarified treemap algorithm (tree_map.c port).
|
|
3
|
+
*
|
|
4
|
+
* Implements the squarified treemap layout primitive: given a sorted
|
|
5
|
+
* (descending) array of areas and a fill rectangle, assigns one
|
|
6
|
+
* center-based Rectangle to each item while minimising aspect ratio.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/patchwork/tree_map.c
|
|
9
|
+
* @see lib/patchwork/tree_map.h
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Center-based rectangle used by the squarified treemap algorithm.
|
|
13
|
+
* x[0] = center-x, x[1] = center-y.
|
|
14
|
+
* size[0] = width, size[1] = height.
|
|
15
|
+
*
|
|
16
|
+
* @see lib/patchwork/tree_map.h:rectangle
|
|
17
|
+
*/
|
|
18
|
+
export interface Rectangle {
|
|
19
|
+
x: [number, number];
|
|
20
|
+
size: [number, number];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Perform a squarified treemap layout on a single level.
|
|
24
|
+
*
|
|
25
|
+
* area[] must be sorted descending. Returns null if the total area exceeds
|
|
26
|
+
* the fill rectangle's capacity (plus 0.001 float tolerance). Otherwise
|
|
27
|
+
* returns an array of n center-based rectangles.
|
|
28
|
+
*
|
|
29
|
+
* @see lib/patchwork/tree_map.c:tree_map
|
|
30
|
+
*/
|
|
31
|
+
export declare function treeMap(n: number, area: readonly number[], fillrec: Rectangle): Rectangle[] | null;
|
|
32
|
+
//# sourceMappingURL=tree-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-map.d.ts","sourceRoot":"","sources":["../../../src/layout/patchwork/tree-map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxB;AAmID;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,SAAS,GACjB,SAAS,EAAE,GAAG,IAAI,CAWpB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal tree node and construction helpers for the patchwork layout.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors treenode_t and mkTree from lib/patchwork/patchwork.c.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/patchwork/patchwork.c:treenode_t
|
|
7
|
+
* @see lib/patchwork/patchwork.c:mkTree
|
|
8
|
+
*/
|
|
9
|
+
import type { Graph } from '../../model/graph.js';
|
|
10
|
+
import type { Node } from '../../model/node.js';
|
|
11
|
+
import type { Rectangle } from './tree-map.js';
|
|
12
|
+
/** @see lib/patchwork/patchwork.c:treenode_t */
|
|
13
|
+
export interface TreeNode {
|
|
14
|
+
area: number;
|
|
15
|
+
childArea: number;
|
|
16
|
+
r: Rectangle;
|
|
17
|
+
leftChild: TreeNode | null;
|
|
18
|
+
rightSib: TreeNode | null;
|
|
19
|
+
kind: 'graph' | 'node';
|
|
20
|
+
ref: Graph | Node;
|
|
21
|
+
nChildren: number;
|
|
22
|
+
}
|
|
23
|
+
/** @see lib/patchwork/patchwork.c:getArea */
|
|
24
|
+
export declare function getArea(attrs: Map<string, string>): number;
|
|
25
|
+
/** @see lib/patchwork/patchwork.c:fullArea (mp parameter) */
|
|
26
|
+
export declare function getInset(attrs: Map<string, string>): number;
|
|
27
|
+
/** wid = 2*inset + sqrt(childArea), area = wid². @see lib/patchwork/patchwork.c:fullArea */
|
|
28
|
+
export declare function fullArea(childArea: number, inset: number): number;
|
|
29
|
+
/** Mutable accumulator used during tree construction. */
|
|
30
|
+
export interface ChildAccum {
|
|
31
|
+
first: TreeNode | null;
|
|
32
|
+
prev: TreeNode | null;
|
|
33
|
+
area: number;
|
|
34
|
+
nChildren: number;
|
|
35
|
+
}
|
|
36
|
+
/** Append all cluster children of g to accum. @see lib/patchwork/patchwork.c:mkTree */
|
|
37
|
+
export declare function appendClusters(g: Graph, sparent: Map<Node, Graph>, accum: ChildAccum): void;
|
|
38
|
+
/** Append unclaimed direct nodes of g to accum. @see lib/patchwork/patchwork.c:mkTree */
|
|
39
|
+
export declare function appendNodes(g: Graph, sparent: Map<Node, Graph>, accum: ChildAccum): void;
|
|
40
|
+
/**
|
|
41
|
+
* Recursively build the internal TreeNode tree from a Graph hierarchy.
|
|
42
|
+
* Nodes already owned by a cluster (sparent set) are skipped.
|
|
43
|
+
* @see lib/patchwork/patchwork.c:mkTree
|
|
44
|
+
*/
|
|
45
|
+
export declare function mkTree(g: Graph, sparent: Map<Node, Graph>): TreeNode;
|
|
46
|
+
//# sourceMappingURL=tree-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-node.d.ts","sourceRoot":"","sources":["../../../src/layout/patchwork/tree-node.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,gDAAgD;AAChD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,SAAS,CAAC;IACb,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,6CAA6C;AAC7C,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAK1D;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAK3D;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAS3F;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAiBxF;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAmBpE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sfdp layout engine entry point — the sfdp_layout pipeline:
|
|
3
|
+
* init → prism0 control resolution → per-component multilevel
|
|
4
|
+
* spring-electrical embedding → straight-line splines → component
|
|
5
|
+
* packing → postprocess.
|
|
6
|
+
*
|
|
7
|
+
* Spec read at the 15.0.0 tag.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdp_layout (15.0.0)
|
|
10
|
+
*/
|
|
11
|
+
import type { Graph } from '../../model/graph.js';
|
|
12
|
+
import type { LayoutEngine } from '../../gvc/context.js';
|
|
13
|
+
import { type SpringElectricalControl } from './spring-electrical.js';
|
|
14
|
+
import { multilevelSpringElectricalEmbedding } from './spring-driver.js';
|
|
15
|
+
import { sfdpInitGraph, sfdpCleanup, tuneControl, makeMatrix, getSizes, getPos } from './init.js';
|
|
16
|
+
export { sfdpInitGraph, sfdpCleanup, tuneControl, makeMatrix, getSizes, getPos };
|
|
17
|
+
export { multilevelSpringElectricalEmbedding };
|
|
18
|
+
/**
|
|
19
|
+
* Lay out one connected graph: adjacency matrix, label half-sizes,
|
|
20
|
+
* starting positions, the multilevel embedding, ND_pos write-back.
|
|
21
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdpLayout (the static per-component fn)
|
|
22
|
+
*/
|
|
23
|
+
export declare function sfdpLayoutComponent(g: Graph, ctrl: SpringElectricalControl, pad: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
}): void;
|
|
27
|
+
/**
|
|
28
|
+
* The complete sfdp pipeline.
|
|
29
|
+
*
|
|
30
|
+
* The C libc rand() stream is process-global and each reference SVG
|
|
31
|
+
* was produced by a fresh process; reset the modeled stream to its
|
|
32
|
+
* process-start state (srand(1)) per layout so repeated renders in one
|
|
33
|
+
* JS process reproduce the C binary.
|
|
34
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdp_layout
|
|
35
|
+
*/
|
|
36
|
+
export declare function sfdpLayout(g: Graph): void;
|
|
37
|
+
/** @see lib/gvc/gvplugin.h:gvlayout_engine_s */
|
|
38
|
+
export declare const SFDP_LAYOUT_ENGINE: LayoutEngine;
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBzD,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,QAAQ,EACR,MAAM,EACP,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACjF,OAAO,EAAE,mCAAmC,EAAE,CAAC;AAK/C;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,IAAI,CAYN;AA+GD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA4BzC;AAED,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,EAAE,YAIhC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sfdp graph/node initialization and the adjust.c matrix/size helpers
|
|
3
|
+
* the sfdp pipeline feeds to the embedding.
|
|
4
|
+
*
|
|
5
|
+
* Spec read at the 15.0.0 tag.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/sfdpgen/sfdpinit.c (15.0.0)
|
|
8
|
+
* @see lib/neatogen/adjust.c:makeMatrix / getSizes (15.0.0)
|
|
9
|
+
*/
|
|
10
|
+
import type { Graph } from '../../model/graph.js';
|
|
11
|
+
import { type SpMatrix } from './sparse-matrix.js';
|
|
12
|
+
import { type SpringElectricalControl } from './spring-electrical.js';
|
|
13
|
+
/** @see lib/sfdpgen/PriorityQueue.h via spring_electrical.h:SMOOTHING_NONE */
|
|
14
|
+
export declare const SMOOTHING_NONE = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Graph-level init: line edges, 2-D, per-node neato init.
|
|
17
|
+
* GD_ndim handling is fixed at 2 — the "dim"/"dimen" 3D+ modes are not
|
|
18
|
+
* ported (no supported input sets them).
|
|
19
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdp_init_graph
|
|
20
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdp_init_node_edge
|
|
21
|
+
*/
|
|
22
|
+
export declare function sfdpInitGraph(g: Graph): void;
|
|
23
|
+
/**
|
|
24
|
+
* Reset control fields from graph attributes.
|
|
25
|
+
* Unported control surfaces (smoothing != none, beautify) throw when an
|
|
26
|
+
* input selects them rather than silently approximating.
|
|
27
|
+
* @see lib/sfdpgen/sfdpinit.c:tuneControl
|
|
28
|
+
*/
|
|
29
|
+
export declare function tuneControl(g: Graph, ctrl: SpringElectricalControl): void;
|
|
30
|
+
/**
|
|
31
|
+
* Build the weighted adjacency matrix from per-node out-edges,
|
|
32
|
+
* assigning sequential ND_id (n.info.id) in node order first.
|
|
33
|
+
* Out-edge iteration is head-seq ordered (cgraph agfstout semantics —
|
|
34
|
+
* see Node.outEdges).
|
|
35
|
+
* @see lib/neatogen/adjust.c:makeMatrix (15.0.0)
|
|
36
|
+
*/
|
|
37
|
+
export declare function makeMatrix(g: Graph): SpMatrix;
|
|
38
|
+
/**
|
|
39
|
+
* Half node sizes plus padding, in inches, indexed by ND_id.
|
|
40
|
+
* The |edgelabel| branch (edge_labeling_scheme > 0) is not ported —
|
|
41
|
+
* no supported input sets label_scheme.
|
|
42
|
+
* @see lib/neatogen/adjust.c:getSizes (15.0.0)
|
|
43
|
+
*/
|
|
44
|
+
export declare function getSizes(g: Graph, pad: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
}): number[];
|
|
48
|
+
/**
|
|
49
|
+
* Starting coordinates by ND_id: all zeros unless some node carries a
|
|
50
|
+
* "pos" attribute (C checks the attr DECLARATION via agfindnodeattr;
|
|
51
|
+
* we scan per node — equivalent for parser-built graphs, where an attr
|
|
52
|
+
* exists only where set).
|
|
53
|
+
* @see lib/sfdpgen/sfdpinit.c:getPos
|
|
54
|
+
*/
|
|
55
|
+
export declare function getPos(g: Graph, dim: number): number[];
|
|
56
|
+
/**
|
|
57
|
+
* Release per-node layout state.
|
|
58
|
+
* @see lib/sfdpgen/sfdpinit.c:sfdp_cleanup
|
|
59
|
+
*/
|
|
60
|
+
export declare function sfdpCleanup(g: Graph): void;
|
|
61
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/init.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AASlD,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,uBAAuB,EAK7B,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,eAAO,MAAM,cAAc,IAAI,CAAC;AAIhC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAoB5C;AAqDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAmBzE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAmB7C;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAQ1E;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAetD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAK1C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type SpMatrix } from './sparse-matrix.js';
|
|
2
|
+
/** @see lib/sfdpgen/Multilevel.h:Multilevel_struct */
|
|
3
|
+
export interface Multilevel {
|
|
4
|
+
level: number;
|
|
5
|
+
n: number;
|
|
6
|
+
A: SpMatrix;
|
|
7
|
+
/** Prolongation from this level to the FINER level. */
|
|
8
|
+
P: SpMatrix | null;
|
|
9
|
+
/** Restriction to the COARSER level. */
|
|
10
|
+
R: SpMatrix | null;
|
|
11
|
+
next: Multilevel | null;
|
|
12
|
+
prev: Multilevel | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Build the multilevel hierarchy for weighting matrix A.
|
|
16
|
+
* @see lib/sfdpgen/Multilevel.c:Multilevel_new
|
|
17
|
+
*/
|
|
18
|
+
export declare function multilevelNew(A0: SpMatrix, maxlevel: number): Multilevel;
|
|
19
|
+
/** @see lib/sfdpgen/Multilevel.c:Multilevel_get_coarsest */
|
|
20
|
+
export declare function multilevelGetCoarsest(grid: Multilevel): Multilevel;
|
|
21
|
+
/** Multilevel_is_finest. @see lib/sfdpgen/Multilevel.h */
|
|
22
|
+
export declare function multilevelIsFinest(grid: Multilevel): boolean;
|
|
23
|
+
//# sourceMappingURL=multilevel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multilevel.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/multilevel.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,QAAQ,EAQd,MAAM,oBAAoB,CAAC;AAc5B,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,QAAQ,CAAC;IACZ,uDAAuD;IACvD,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnB,wCAAwC;IACxC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB;AA6LD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAQxE;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAIlE;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE5D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** @see lib/sparse/QuadTree.h:node_data_struct */
|
|
2
|
+
interface NodeData {
|
|
3
|
+
nodeWeight: number;
|
|
4
|
+
coord: number[];
|
|
5
|
+
id: number;
|
|
6
|
+
next: NodeData | null;
|
|
7
|
+
}
|
|
8
|
+
/** @see lib/sparse/QuadTree.h:QuadTree_struct */
|
|
9
|
+
export interface QuadTree {
|
|
10
|
+
n: number;
|
|
11
|
+
totalWeight: number;
|
|
12
|
+
dim: number;
|
|
13
|
+
center: number[];
|
|
14
|
+
/** center ± width bounds the cell ("radius"). */
|
|
15
|
+
width: number;
|
|
16
|
+
average: number[] | null;
|
|
17
|
+
qts: (QuadTree | null)[] | null;
|
|
18
|
+
l: NodeData | null;
|
|
19
|
+
maxLevel: number;
|
|
20
|
+
}
|
|
21
|
+
/** Result arrays of one supernode query. */
|
|
22
|
+
export interface Supernodes {
|
|
23
|
+
nsuper: number;
|
|
24
|
+
center: number[];
|
|
25
|
+
supernodeWgts: number[];
|
|
26
|
+
distances: number[];
|
|
27
|
+
counts: number;
|
|
28
|
+
}
|
|
29
|
+
/** @see lib/sparse/QuadTree.c:QuadTree_new */
|
|
30
|
+
export declare function quadTreeNew(dim: number, center: number[], width: number, maxLevel: number): QuadTree;
|
|
31
|
+
/** @see lib/sparse/QuadTree.c:QuadTree_add */
|
|
32
|
+
export declare function quadTreeAdd(q: QuadTree, coord: number[], off: number, weight: number, id: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* Build a quadtree over n dim-dimensional points.
|
|
35
|
+
* @see lib/sparse/QuadTree.c:QuadTree_new_from_point_list
|
|
36
|
+
*/
|
|
37
|
+
export declare function quadTreeNewFromPointList(dim: number, n: number, maxLevel: number, coord: number[]): QuadTree;
|
|
38
|
+
/**
|
|
39
|
+
* Collect the supernodes acting on the point at pt[ptOff..] (node
|
|
40
|
+
* `nodeid` excluded from leaf lists).
|
|
41
|
+
* @see lib/sparse/QuadTree.c:QuadTree_get_supernodes
|
|
42
|
+
*/
|
|
43
|
+
export declare function quadTreeGetSupernodes(qt: QuadTree, bh: number, pt: number[], ptOff: number, nodeid: number): Supernodes;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=quadtree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quadtree.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/quadtree.ts"],"names":[],"mappings":"AAkBA,kDAAkD;AAClD,UAAU,QAAQ;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IAChC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAYD,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAYpG;AAsGD,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GACxD,QAAQ,CAwBV;AAwCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACpE,UAAU,CAUZ"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SparseMatrix products and the supervariable decomposition used by
|
|
3
|
+
* multilevel coarsening. Row entry order is the C mask-accumulator
|
|
4
|
+
* append order (NOT sorted) — load-bearing downstream.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/sparse/SparseMatrix.c (15.0.0)
|
|
7
|
+
*/
|
|
8
|
+
import { type SpMatrix } from './sparse-matrix.js';
|
|
9
|
+
/**
|
|
10
|
+
* C = A·B (REAL). Two-phase: count distinct columns per output, then
|
|
11
|
+
* mask-accumulate values in encounter order.
|
|
12
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_multiply
|
|
13
|
+
*/
|
|
14
|
+
export declare function smMultiply(A: SpMatrix, B: SpMatrix): SpMatrix;
|
|
15
|
+
/**
|
|
16
|
+
* D = A·B·C (REAL), accumulated in one triple loop (encounter order —
|
|
17
|
+
* NOT the same float order as two pairwise multiplies).
|
|
18
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_multiply3
|
|
19
|
+
*/
|
|
20
|
+
export declare function smMultiply3(A: SpMatrix, B: SpMatrix, C: SpMatrix): SpMatrix;
|
|
21
|
+
/**
|
|
22
|
+
* Group columns that share exactly the same row pattern (graph
|
|
23
|
+
* modules) into supervariables.
|
|
24
|
+
* The C walks an offset (nsuper++) pointer; here `ns` is indexed at
|
|
25
|
+
* +1 during the partition-refinement phase.
|
|
26
|
+
* @returns ncluster groups; cluster/clusterp in CSR-like layout
|
|
27
|
+
* @see lib/sparse/SparseMatrix.c:SparseMatrix_decompose_to_supervariables
|
|
28
|
+
*/
|
|
29
|
+
export declare function smDecomposeToSupervariables(A: SpMatrix): {
|
|
30
|
+
ncluster: number;
|
|
31
|
+
cluster: number[];
|
|
32
|
+
clusterp: number[];
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=sparse-matrix-multiply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparse-matrix-multiply.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/sparse-matrix-multiply.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAa7D;AAuBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAiB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,QAAQ,GACV;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAa7D"}
|