@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,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neato layout initialisation helpers.
|
|
3
|
+
*
|
|
4
|
+
* Ports lib/neatogen/neatoinit.c: neato_init_node, user_pos, setSeed,
|
|
5
|
+
* solveModel, neatoTranslate, neatoSetAspect, neatoCleanup.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/neatogen/neatoinit.c
|
|
8
|
+
* @see lib/neatogen/neatoprocs.h
|
|
9
|
+
*/
|
|
10
|
+
import type { Graph } from '../../model/graph.js';
|
|
11
|
+
import type { Node } from '../../model/node.js';
|
|
12
|
+
import type { Edge } from '../../model/edge.js';
|
|
13
|
+
import type { VtxData } from './dijkstra.js';
|
|
14
|
+
/** Kamada-Kawai energy minimization. @see lib/neatogen/neatoprocs.h */
|
|
15
|
+
export declare const MODE_KK = 0;
|
|
16
|
+
/** Stress majorization (default). @see lib/neatogen/neatoprocs.h */
|
|
17
|
+
export declare const MODE_MAJOR = 1;
|
|
18
|
+
/** Hierarchical stress majorization (digcola). @see lib/neatogen/neatoprocs.h */
|
|
19
|
+
export declare const MODE_HIER = 2;
|
|
20
|
+
/** IPSEP-cola constraint solver. @see lib/neatogen/neatoprocs.h */
|
|
21
|
+
export declare const MODE_IPSEP = 3;
|
|
22
|
+
/** Stochastic gradient descent. @see lib/neatogen/neatoprocs.h */
|
|
23
|
+
export declare const MODE_SGD = 4;
|
|
24
|
+
/** Shortest-path distance model. @see lib/neatogen/defs.h */
|
|
25
|
+
export declare const MODEL_SHORTPATH = 0;
|
|
26
|
+
/** Circuit resistance distance model. @see lib/neatogen/defs.h */
|
|
27
|
+
export declare const MODEL_CIRCUIT = 1;
|
|
28
|
+
/** Subset / Jaccard distance model. @see lib/neatogen/defs.h */
|
|
29
|
+
export declare const MODEL_SUBSET = 2;
|
|
30
|
+
/** MDS distance model. @see lib/neatogen/defs.h */
|
|
31
|
+
export declare const MODEL_MDS = 3;
|
|
32
|
+
/**
|
|
33
|
+
* Initialise a node for neato layout.
|
|
34
|
+
*
|
|
35
|
+
* Ensures pos is a number[] of length dim, sets default UF_size, width,
|
|
36
|
+
* and height.
|
|
37
|
+
*
|
|
38
|
+
* @see lib/neatogen/neatoinit.c:neato_init_node
|
|
39
|
+
*/
|
|
40
|
+
export declare function neatoInitNode(n: Node, dim?: number): void;
|
|
41
|
+
/**
|
|
42
|
+
* Seed a node's initial position from its `pos=` attribute (C's P_SET),
|
|
43
|
+
* mirroring user_pos. Sets info.pos + info.posSet so hasPos is true and neato
|
|
44
|
+
* majorization starts from the input layout instead of a random init; a `!`
|
|
45
|
+
* suffix or `pin=true` additionally sets info.pinned (P_PIN → isFixed).
|
|
46
|
+
*
|
|
47
|
+
* PSinputscale (the `inputscale` attr) is not tracked — the suite has
|
|
48
|
+
* PSinputscale <= 0, so positions stay in points exactly as native leaves them
|
|
49
|
+
* (a `pos="27,42"` seeds (27,42), which orthog1 then centres). Must run AFTER
|
|
50
|
+
* neatoInitNode, which zeroes info.pos.
|
|
51
|
+
* @see lib/neatogen/neatoinit.c:user_pos
|
|
52
|
+
*/
|
|
53
|
+
export declare function userPos(n: Node): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Classify the first character of `p` as 'alpha', 'digit', or 'other'.
|
|
56
|
+
*
|
|
57
|
+
* @see lib/neatogen/neatoinit.c:setSeed (gv_isalpha / gv_isdigit checks)
|
|
58
|
+
*/
|
|
59
|
+
export declare function classifyFirstChar(p: string): 'alpha' | 'digit' | 'other';
|
|
60
|
+
/**
|
|
61
|
+
* Detect a recognised alpha keyword prefix in `p`.
|
|
62
|
+
* Returns `{ rest, matched }` where `matched` is 'random' | null.
|
|
63
|
+
* 'self' and 'regular' are treated as non-random (seed stays 0).
|
|
64
|
+
*
|
|
65
|
+
* @see lib/neatogen/neatoinit.c:setSeed (keyword detection block)
|
|
66
|
+
*/
|
|
67
|
+
export declare function parseSeedPrefix(p: string): {
|
|
68
|
+
rest: string;
|
|
69
|
+
matched: string | null;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Parse `rest` as an integer seed; returns 0 if not parseable.
|
|
73
|
+
*
|
|
74
|
+
* @see lib/neatogen/neatoinit.c:setSeed (seed numeric suffix)
|
|
75
|
+
*/
|
|
76
|
+
export declare function parseSeedInt(rest: string): number;
|
|
77
|
+
/**
|
|
78
|
+
* Parse the `g.info.start` string attribute to set the RNG seed.
|
|
79
|
+
*
|
|
80
|
+
* Returns defaultMode in all cases (the C function also returns init mode,
|
|
81
|
+
* but for the neato pipeline mode is resolved separately).
|
|
82
|
+
* Sets `seed.value` as a side-effect.
|
|
83
|
+
*
|
|
84
|
+
* @see lib/neatogen/neatoinit.c:setSeed
|
|
85
|
+
*/
|
|
86
|
+
export declare function setSeed(g: Graph, defaultMode: number, seed: {
|
|
87
|
+
value: number;
|
|
88
|
+
}): number;
|
|
89
|
+
/**
|
|
90
|
+
* Assign sequential IDs to all nodes and return them in insertion order.
|
|
91
|
+
*
|
|
92
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData (node ID assignment pass)
|
|
93
|
+
*/
|
|
94
|
+
export declare function assignNodeIds(g: Graph): Node[];
|
|
95
|
+
/**
|
|
96
|
+
* Allocate one self-loop VtxData entry per node.
|
|
97
|
+
*
|
|
98
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData (graph[] init)
|
|
99
|
+
*/
|
|
100
|
+
export declare function initVtxEntries(nodeList: Node[]): VtxData[];
|
|
101
|
+
/**
|
|
102
|
+
* Resolve edge weight: factor takes priority, then weight, then 1.
|
|
103
|
+
*
|
|
104
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData (ED_factor usage)
|
|
105
|
+
*/
|
|
106
|
+
export declare function edgeWeight(e: Edge): number;
|
|
107
|
+
/**
|
|
108
|
+
* Add a bidirectional edge between two VtxData entries with weight w.
|
|
109
|
+
*
|
|
110
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData (edge insertion loop)
|
|
111
|
+
*/
|
|
112
|
+
export declare function addEdgeToVtx(vtx: VtxData[], ti: number, hi: number, w: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Insert all non-self-loop edges from `g` into `vtx`.
|
|
115
|
+
*
|
|
116
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData (edge loop)
|
|
117
|
+
*/
|
|
118
|
+
export declare function addGraphEdges(g: Graph, vtx: VtxData[]): void;
|
|
119
|
+
/**
|
|
120
|
+
* Assign sequential node IDs and build VtxData sparse graph.
|
|
121
|
+
*
|
|
122
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData
|
|
123
|
+
*/
|
|
124
|
+
export declare function buildVtxData(g: Graph): VtxData[];
|
|
125
|
+
/**
|
|
126
|
+
* Copy node positions from `n.info.pos` into per-axis Float64Array.
|
|
127
|
+
*
|
|
128
|
+
* @see lib/neatogen/neatoinit.c:majorization (coords allocation)
|
|
129
|
+
*/
|
|
130
|
+
export declare function buildDCoords(nodeList: Node[], dim: number): Float64Array[];
|
|
131
|
+
/**
|
|
132
|
+
* Write per-axis Float64Array results back into `n.info.pos`.
|
|
133
|
+
*
|
|
134
|
+
* @see lib/neatogen/neatoinit.c:majorization (write-back loop)
|
|
135
|
+
*/
|
|
136
|
+
export declare function writeBackCoords(nodeList: Node[], dCoords: Float64Array[], dim: number): void;
|
|
137
|
+
/**
|
|
138
|
+
* Map init.ts model constants to stress.ts model constants.
|
|
139
|
+
* Both use the same numeric values but are distinct exports.
|
|
140
|
+
*/
|
|
141
|
+
export declare function mapModelToStress(model: number): number;
|
|
142
|
+
/**
|
|
143
|
+
* Run stress majorization on the graph and write results back to node positions.
|
|
144
|
+
*
|
|
145
|
+
* @see lib/neatogen/neatoinit.c:majorization
|
|
146
|
+
*/
|
|
147
|
+
export declare function runMajorization(g: Graph, mode: number, model: number): void;
|
|
148
|
+
/** Any edge carries a len attr (C: agattr_text(g, AGEDGE, "len")). */
|
|
149
|
+
export declare function graphHasLen(g: Graph): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Seed the RNG from the start attr; no attr means the default seed 1.
|
|
152
|
+
* start=regular/self are not ported (no suite input uses them).
|
|
153
|
+
* @see lib/neatogen/neatoinit.c:setSeed
|
|
154
|
+
* @see lib/neatogen/neatoinit.c:checkStart
|
|
155
|
+
*/
|
|
156
|
+
export declare function checkStart(g: Graph): void;
|
|
157
|
+
/**
|
|
158
|
+
* Build the vtx_data adjacency in C's makeGraphData shape: per node,
|
|
159
|
+
* out-edges then in-edges (agfstedge order), self entry at index 0,
|
|
160
|
+
* duplicate neighbours merged (len keeps the max). ewgts are edge
|
|
161
|
+
* lens (default 1.0) when any len attr exists, else absent so the
|
|
162
|
+
* APSP uses BFS hop counts.
|
|
163
|
+
* @see lib/neatogen/neatoinit.c:makeGraphData
|
|
164
|
+
* @see lib/neatogen/stuff.c:setEdgeLen
|
|
165
|
+
*/
|
|
166
|
+
export declare function makeGraphDataC(g: Graph, nodeList: Node[], haveLen: boolean): VtxData[];
|
|
167
|
+
/**
|
|
168
|
+
* Dispatch to the appropriate layout solver for the given mode.
|
|
169
|
+
*
|
|
170
|
+
* @see lib/neatogen/neatoinit.c:neatoLayout
|
|
171
|
+
*/
|
|
172
|
+
export declare function solveModel(g: Graph, mode: number, model: number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Find minimum X and Y across all node positions.
|
|
175
|
+
*
|
|
176
|
+
* @see lib/neatogen/neatoinit.c (translate logic)
|
|
177
|
+
*/
|
|
178
|
+
export declare function findMinPos(g: Graph): {
|
|
179
|
+
minX: number;
|
|
180
|
+
minY: number;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Subtract (dx, dy) from every node position in place.
|
|
184
|
+
*
|
|
185
|
+
* @see lib/neatogen/neatoinit.c (translate loop)
|
|
186
|
+
*/
|
|
187
|
+
export declare function shiftPositions(g: Graph, dx: number, dy: number): void;
|
|
188
|
+
/**
|
|
189
|
+
* Shift all node positions so the minimum is at (0, 0).
|
|
190
|
+
*
|
|
191
|
+
* @see lib/neatogen/neatoinit.c (translate logic inside neato_layout /
|
|
192
|
+
* gv_postprocess)
|
|
193
|
+
*/
|
|
194
|
+
export declare function neatoTranslate(g: Graph): void;
|
|
195
|
+
/**
|
|
196
|
+
* Copy position (inches) to coord (points, multiply by 72).
|
|
197
|
+
*
|
|
198
|
+
* @see lib/neatogen/neatoinit.c (position-to-coord conversion)
|
|
199
|
+
*/
|
|
200
|
+
export declare function neatoSetAspect(g: Graph): void;
|
|
201
|
+
/**
|
|
202
|
+
* Clear neato-specific state on nodes.
|
|
203
|
+
*
|
|
204
|
+
* @see lib/neatogen/neatoinit.c:neato_cleanup
|
|
205
|
+
*/
|
|
206
|
+
export declare function neatoCleanup(g: Graph): void;
|
|
207
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/init.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;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;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAwB7C,uEAAuE;AACvE,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,oEAAoE;AACpE,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,iFAAiF;AACjF,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,mEAAmE;AACnE,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,kEAAkE;AAClE,eAAO,MAAM,QAAQ,IAAI,CAAC;AAM1B,6DAA6D;AAC7D,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,kEAAkE;AAClE,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,gEAAgE;AAChE,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,mDAAmD;AACnD,eAAO,MAAM,SAAS,IAAI,CAAC;AAY3B;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,SAAW,GAAG,IAAI,CAS3D;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAYxC;AAMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAKxE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAGnF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,KAAK,EACR,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACtB,MAAM,CAaR;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,CAK9C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAI1C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAOpF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAO5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,CAKhD;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAS1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAM5F;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKtD;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiB3E;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAK7C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAQzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAyBtF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQtE;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAUnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAOrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAI7C;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAc7C;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAS3C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Poly } from '../../pathplan/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* True when no two obstacle polygons intersect or nest.
|
|
4
|
+
* @see lib/neatogen/legal.c:Plegal_arrangement
|
|
5
|
+
*/
|
|
6
|
+
export declare function legalArrangement(polys: Poly[]): boolean;
|
|
7
|
+
//# sourceMappingURL=legal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legal.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/legal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AA6QpD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAyBvD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Subtract the mean (double precision). @see matrix_ops.c:orthog1 */
|
|
2
|
+
export declare function orthog1(n: number, vec: Float64Array): void;
|
|
3
|
+
/** Subtract the mean (float precision). @see matrix_ops.c:orthog1f */
|
|
4
|
+
export declare function orthog1f(n: number, vec: Float32Array): void;
|
|
5
|
+
/**
|
|
6
|
+
* result = packed_matrix * vector, packed upper-triangular symmetric.
|
|
7
|
+
* @see matrix_ops.c:right_mult_with_vector_ff
|
|
8
|
+
*/
|
|
9
|
+
export declare function rightMultWithVectorFF(m: Float32Array, n: number, vector: Float32Array, result: Float32Array): void;
|
|
10
|
+
/** result = v1 - v2. @see matrix_ops.c:vectors_subtractionf */
|
|
11
|
+
export declare function vectorsSubtractionF(n: number, v1: Float32Array, v2: Float32Array, result: Float32Array): void;
|
|
12
|
+
/** v1 += alpha * v2 (float alpha). @see matrix_ops.c:vectors_mult_additionf */
|
|
13
|
+
export declare function vectorsMultAdditionF(n: number, v1: Float32Array, alpha: number, v2: Float32Array): void;
|
|
14
|
+
/** Double-precision dot product of float vectors. @see matrix_ops.c:vectors_inner_productf */
|
|
15
|
+
export declare function vectorsInnerProductF(n: number, v1: Float32Array, v2: Float32Array): number;
|
|
16
|
+
/** @see matrix_ops.c:copy_vectorf */
|
|
17
|
+
export declare function copyVectorF(n: number, src: Float32Array, dst: Float32Array): void;
|
|
18
|
+
/** @see matrix_ops.c:max_absf */
|
|
19
|
+
export declare function maxAbsF(n: number, vec: Float32Array): number;
|
|
20
|
+
/** @see matrix_ops.c:square_vec */
|
|
21
|
+
export declare function squareVec(n: number, vec: Float32Array): void;
|
|
22
|
+
/** @see matrix_ops.c:invert_vec */
|
|
23
|
+
export declare function invertVec(n: number, vec: Float32Array): void;
|
|
24
|
+
/** target = sqrtf(source) where source >= 0. @see matrix_ops.c:sqrt_vecf */
|
|
25
|
+
export declare function sqrtVecF(n: number, source: Float32Array, target: Float32Array): void;
|
|
26
|
+
/** vec = 1/sqrtf(vec) where vec > 0. @see matrix_ops.c:invert_sqrt_vec */
|
|
27
|
+
export declare function invertSqrtVec(n: number, vec: Float32Array): void;
|
|
28
|
+
//# sourceMappingURL=matrix-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix-ops.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/matrix-ops.ts"],"names":[],"mappings":"AAcA,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAK1D;AAED,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GACrE,IAAI,CAYN;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAClE,IAAI,CAEN;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAC3D,IAAI,CAGN;AAED,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,MAAM,CAI1F;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAEjF;AAED,iCAAiC;AACjC,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,CAO5D;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAE5D;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAI5D;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAIpF;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAIhE"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Triangle-graph router for multisplines — mkRouter and the shortest-path
|
|
3
|
+
* machinery of multispline.c.
|
|
4
|
+
*
|
|
5
|
+
* The router triangulates the free space around the obstacles (constrained
|
|
6
|
+
* Delaunay of a margined bounding box + obstacle boundaries, holes removed)
|
|
7
|
+
* and builds a graph whose nodes are triangles, connected when they share
|
|
8
|
+
* a side. Edge endpoints are added as temporary nodes connected to the
|
|
9
|
+
* triangles of their obstacle's sides, and a Dijkstra pass (max-heap on
|
|
10
|
+
* negated distances, exactly the C fPQ) finds the corridor of triangles
|
|
11
|
+
* the spline must thread.
|
|
12
|
+
*
|
|
13
|
+
* @see lib/neatogen/multispline.c:mkRouter / mkTriGraph / triPath / addEndpoint
|
|
14
|
+
* @see lib/neatogen/fPQ.h
|
|
15
|
+
*/
|
|
16
|
+
import type { Point, Poly } from '../../pathplan/types.js';
|
|
17
|
+
/** index pair. @see multispline.c:ipair */
|
|
18
|
+
export interface Ipair {
|
|
19
|
+
i: number;
|
|
20
|
+
j: number;
|
|
21
|
+
}
|
|
22
|
+
/** @see multispline.c:tnode */
|
|
23
|
+
export interface Tnode {
|
|
24
|
+
edges: number[];
|
|
25
|
+
ctr: Point;
|
|
26
|
+
}
|
|
27
|
+
/** @see multispline.c:tedge */
|
|
28
|
+
export interface Tedge {
|
|
29
|
+
t: number;
|
|
30
|
+
h: number;
|
|
31
|
+
seg: Ipair;
|
|
32
|
+
dist: number;
|
|
33
|
+
}
|
|
34
|
+
/** @see multispline.c:tgraph */
|
|
35
|
+
export interface Tgraph {
|
|
36
|
+
nodes: Tnode[];
|
|
37
|
+
edges: Tedge[];
|
|
38
|
+
}
|
|
39
|
+
/** @see multispline.c:router_s */
|
|
40
|
+
export interface Router {
|
|
41
|
+
pn: number;
|
|
42
|
+
ps: Point[];
|
|
43
|
+
/** indices in obstacle i are obs[i]...obs[i+1]-1 */
|
|
44
|
+
obs: number[];
|
|
45
|
+
/** vertex indices of triangle i: tris[3i..3i+2] */
|
|
46
|
+
tris: number[];
|
|
47
|
+
/** map from obstacle side (a,b), a<b, to adjacent kept triangle */
|
|
48
|
+
trimap: Map<number, number>;
|
|
49
|
+
/** number of triangle nodes (endpoint nodes get tn, tn+1) */
|
|
50
|
+
tn: number;
|
|
51
|
+
tg: Tgraph;
|
|
52
|
+
}
|
|
53
|
+
/** @see multispline.c:addTriEdge */
|
|
54
|
+
export declare function addTriEdge(g: Tgraph, t: number, h: number, seg: Ipair): void;
|
|
55
|
+
/**
|
|
56
|
+
* Build the router over the obstacle set: margined bbox stored CCW,
|
|
57
|
+
* obstacles CW (as given), all boundary sides as directed constraints.
|
|
58
|
+
* @see multispline.c:mkRouter
|
|
59
|
+
*/
|
|
60
|
+
export declare function mkRouter(obsp: Poly[]): Router;
|
|
61
|
+
/** @see multispline.c:findMap */
|
|
62
|
+
export declare function findMap(trimap: Map<number, number>, a: number, b: number): number;
|
|
63
|
+
/** check if ray v->w intersects segment a--b. @see multispline.c:raySeg */
|
|
64
|
+
export declare function raySeg(v: Point, w: Point, a: Point, b: Point): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Add graph node v_id at endpoint p inside obstacle obsId, connected to the
|
|
67
|
+
* triangles adjacent to the obstacle's sides — restricted to a 45°-widened
|
|
68
|
+
* cone when p sits on specific node sides.
|
|
69
|
+
* @see multispline.c:addEndpoint
|
|
70
|
+
*/
|
|
71
|
+
export declare function addEndpoint(rtr: Router, p: Point, obsId: number, vId: number, sides: number): void;
|
|
72
|
+
/** @see multispline.c:edgeToSeg */
|
|
73
|
+
export declare function edgeToSeg(tg: Tgraph, i: number, j: number): Ipair;
|
|
74
|
+
/**
|
|
75
|
+
* Shortest triangle path from v0 to v1; the result vector encodes the path
|
|
76
|
+
* v1, dad[v1], ..., v0. Null on heap overflow (cannot happen at our sizes).
|
|
77
|
+
* @see multispline.c:triPath
|
|
78
|
+
*/
|
|
79
|
+
export declare function triPath(g: Tgraph, n: number, v0: number, v1: number): number[] | null;
|
|
80
|
+
//# sourceMappingURL=multispline-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multispline-router.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/multispline-router.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAI3D,2CAA2C;AAC3C,MAAM,WAAW,KAAK;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAE/C,+BAA+B;AAC/B,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ;AAED,+BAA+B;AAC/B,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gCAAgC;AAChC,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,kCAAkC;AAClC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,KAAK,EAAE,CAAC;IACZ,oDAAoD;IACpD,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mEAAmE;IACnE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AA4BD,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAQ5E;AAwBD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAkE7C;AAED,iCAAiC;AACjC,wBAAgB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjF;AAkBD,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAQtE;AA6BD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAC/D,IAAI,CAkBN;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAOjE;AA4FD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CA8BrF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* makeMultiSpline — the HAVE_GTS router of the reference binary for edges
|
|
3
|
+
* with multiplicity (ED_count > 1) or boundary ports.
|
|
4
|
+
*
|
|
5
|
+
* The triangle corridor from triPath is turned into a simple polygon
|
|
6
|
+
* (mkPoly), the shortest path inside it (Pshortestpath funnel) guides the
|
|
7
|
+
* spline, and for multi-edges each member gets its own sub-polygon built
|
|
8
|
+
* from control points fanned across the corridor (mkCtrlPts).
|
|
9
|
+
*
|
|
10
|
+
* @see lib/neatogen/multispline.c
|
|
11
|
+
*/
|
|
12
|
+
import type { Edge } from '../../model/edge.js';
|
|
13
|
+
import type { Graph } from '../../model/graph.js';
|
|
14
|
+
import type { Point } from '../../pathplan/types.js';
|
|
15
|
+
import type { Router } from './multispline-router.js';
|
|
16
|
+
export type { Router } from './multispline-router.js';
|
|
17
|
+
export { mkRouter } from './multispline-router.js';
|
|
18
|
+
/**
|
|
19
|
+
* Route edge e (and its coalesced cohorts) through the triangle router.
|
|
20
|
+
* `route` is the edge's ED_path (obsPath result). Returns 0 on success.
|
|
21
|
+
* @see multispline.c:makeMultiSpline
|
|
22
|
+
*/
|
|
23
|
+
export declare function makeMultiSpline(g: Graph, e: Edge, rtr: Router, route: Point[], doPolyline: boolean): number;
|
|
24
|
+
//# sourceMappingURL=multispline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multispline.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/multispline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQrD,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA0WnD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,GAClE,MAAM,CA6BR"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRISM overlap removal — the HAVE_GTS remove_overlap of the reference
|
|
3
|
+
* binary. `overlap=false` (and any unrecognized overlap value) maps to
|
|
4
|
+
* AM_PRISM on that build, so circo/twopi/neato-family layouts run this
|
|
5
|
+
* after positioning.
|
|
6
|
+
*
|
|
7
|
+
* Pipeline per try: proximity graph = Delaunay triangulation of the node
|
|
8
|
+
* centers (call_tri) plus, after the first convergence, the scan-line
|
|
9
|
+
* overlap graph; ideal distances stretch overlapping pairs apart; one
|
|
10
|
+
* stress-majorization step (CG solve) moves the nodes.
|
|
11
|
+
*
|
|
12
|
+
* @see lib/neatogen/overlap.c
|
|
13
|
+
* @see lib/sfdpgen/post_process.c:StressMajorizationSmoother_smooth
|
|
14
|
+
*/
|
|
15
|
+
import type { SpMatrix } from '../sfdp/sparse-matrix.js';
|
|
16
|
+
/**
|
|
17
|
+
* Proximity graph: symmetrized Delaunay adjacency (unit weights, with
|
|
18
|
+
* diagonal). @see lib/neatogen/call_tri.c:call_tri
|
|
19
|
+
*/
|
|
20
|
+
export declare function callTri(n: number, x: number[]): SpMatrix;
|
|
21
|
+
/**
|
|
22
|
+
* The full PRISM overlap-removal loop (ELSCHEME_NONE path).
|
|
23
|
+
* @see lib/neatogen/overlap.c:remove_overlap
|
|
24
|
+
*/
|
|
25
|
+
export declare function removeOverlapPrism(dim: number, A: SpMatrix, x: number[], labelSizes: number[] | null, ntry: number, initialScaling: number, doShrinking: boolean): void;
|
|
26
|
+
//# sourceMappingURL=overlap-prism.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlap-prism.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/overlap-prism.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAsBzD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAuBxD;AAyYD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAClE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GACzD,IAAI,CAoCN"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VPSC-based overlap removal for the neato layout engine.
|
|
3
|
+
*
|
|
4
|
+
* Two independent VPSC passes (X then Y) ensure that no two node bounding
|
|
5
|
+
* boxes intersect after the call returns. Each pass builds its own Variables,
|
|
6
|
+
* Rectangles, and Constraints; none are shared between passes.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/neatogen/adjust.c:vpscAdjust
|
|
9
|
+
* @see lib/vpsc/csolve_VPSC.h
|
|
10
|
+
*/
|
|
11
|
+
import type { Node } from '../../model/node.js';
|
|
12
|
+
import { type Variable, type Constraint, VPSC, Rectangle } from '../../vpsc/index.js';
|
|
13
|
+
/**
|
|
14
|
+
* Builds one Rectangle per node centred on pos[], expanding each half-size
|
|
15
|
+
* by sep/2 so the VPSC gap `(w_i+w_j)/2` incorporates the padding.
|
|
16
|
+
*
|
|
17
|
+
* @see lib/neatogen/adjust.c:vpscAdjust
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildRectangles(nodes: Node[], sep: {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
}): Rectangle[];
|
|
23
|
+
/**
|
|
24
|
+
* Allocates one Variable per node for a single VPSC axis pass.
|
|
25
|
+
*
|
|
26
|
+
* @see lib/vpsc/csolve_VPSC.h:newVariable
|
|
27
|
+
*/
|
|
28
|
+
export declare function allocateVariables(nodes: Node[], axis: 0 | 1): Variable[];
|
|
29
|
+
/**
|
|
30
|
+
* Writes solved positions back into node.info.pos[axis].
|
|
31
|
+
*
|
|
32
|
+
* @see lib/neatogen/adjust.c:vpscAdjust (position write-back loop)
|
|
33
|
+
*/
|
|
34
|
+
export declare function writePositions(nodes: Node[], vars: Variable[], axis: 0 | 1): void;
|
|
35
|
+
/**
|
|
36
|
+
* Tears down a VPSC pass in mandatory order (AD-4):
|
|
37
|
+
* deleteVPSC → deleteConstraints → deleteVariable per variable.
|
|
38
|
+
*
|
|
39
|
+
* @see lib/neatogen/adjust.c:vpscAdjust teardown sequence
|
|
40
|
+
*/
|
|
41
|
+
export declare function teardownPass(vpsc: VPSC, constraints: Constraint[], vars: Variable[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Runs one complete VPSC axis pass: solve constraints then write positions.
|
|
44
|
+
*
|
|
45
|
+
* @see lib/neatogen/adjust.c:vpscAdjust
|
|
46
|
+
*/
|
|
47
|
+
export declare function runAxisPass(nodes: Node[], sep: {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
}, constraints: Constraint[], vars: Variable[], axis: 0 | 1): void;
|
|
51
|
+
/**
|
|
52
|
+
* One full VPSC pass on the X axis.
|
|
53
|
+
*
|
|
54
|
+
* @see lib/neatogen/adjust.c:vpscAdjust (X pass section)
|
|
55
|
+
*/
|
|
56
|
+
export declare function runXPass(nodes: Node[], sep: {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
}): void;
|
|
60
|
+
/**
|
|
61
|
+
* One full VPSC pass on the Y axis.
|
|
62
|
+
*
|
|
63
|
+
* @see lib/neatogen/adjust.c:vpscAdjust (Y pass section)
|
|
64
|
+
*/
|
|
65
|
+
export declare function runYPass(nodes: Node[], sep: {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
}): void;
|
|
69
|
+
/**
|
|
70
|
+
* Removes overlaps between nodes using two independent VPSC passes (X then Y).
|
|
71
|
+
*
|
|
72
|
+
* After this call no two node bounding boxes intersect (with sep padding).
|
|
73
|
+
* Positions are written into node.info.pos[0] (X) and node.info.pos[1] (Y).
|
|
74
|
+
*
|
|
75
|
+
* @param nodes - Nodes with info.pos, info.width, info.height set.
|
|
76
|
+
* @param sep - Minimum padding added beyond each node's half-size per axis.
|
|
77
|
+
*
|
|
78
|
+
* @see lib/neatogen/adjust.c:vpscAdjust
|
|
79
|
+
* @see lib/vpsc/csolve_VPSC.h
|
|
80
|
+
*/
|
|
81
|
+
export declare function removeOverlap(nodes: Node[], sep: {
|
|
82
|
+
x: number;
|
|
83
|
+
y: number;
|
|
84
|
+
}): void;
|
|
85
|
+
//# sourceMappingURL=overlap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/overlap.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAQL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,IAAI,EACJ,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,SAAS,EAAE,CAQb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAExE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,EAAE,EACb,IAAI,EAAE,QAAQ,EAAE,EAChB,IAAI,EAAE,CAAC,GAAG,CAAC,GACV,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,EAAE,EACzB,IAAI,EAAE,QAAQ,EAAE,GACf,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,WAAW,EAAE,UAAU,EAAE,EACzB,IAAI,EAAE,QAAQ,EAAE,EAChB,IAAI,EAAE,CAAC,GAAG,CAAC,GACV,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,IAAI,CAKN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,IAAI,CAIN"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scale-based overlap removal — scAdjust and the adjustNodes overlap-mode
|
|
3
|
+
* subset that reaches it.
|
|
4
|
+
*
|
|
5
|
+
* `overlap=scale` (AM_NSCALE) scales the layout uniformly so node boxes stop
|
|
6
|
+
* overlapping; `scalexy` (AM_SCALEXY) scales x and y independently;
|
|
7
|
+
* `compress` (AM_COMPRESS) scales down to remove excess space. Based on
|
|
8
|
+
* Marriott, Stuckey, Tam and He, "Removing Node Overlapping in Graph Layout
|
|
9
|
+
* Using Constrained Optimization", Constraints 8(2):143-172, 2003 (per the
|
|
10
|
+
* C source comment).
|
|
11
|
+
*
|
|
12
|
+
* Other overlap modes (voronoi, prism, vpsc, ortho*) remain unported; with
|
|
13
|
+
* the attr unset C's getAdjustMode resolves to AM_NONE and the pass is a
|
|
14
|
+
* no-op (normalize/simpleScale only fire on rare attrs, also unported).
|
|
15
|
+
*
|
|
16
|
+
* @see lib/neatogen/constraint.c:scAdjust
|
|
17
|
+
* @see lib/neatogen/adjust.c:removeOverlapWith / getAdjustMode
|
|
18
|
+
*/
|
|
19
|
+
import type { Graph } from '../../model/graph.js';
|
|
20
|
+
/**
|
|
21
|
+
* Scale the layout (positions in ND_pos INCHES).
|
|
22
|
+
* equal > 0 → uniform scale to remove overlaps; equal = 0 → separate x/y;
|
|
23
|
+
* equal < 0 → scale DOWN to remove excess space (assumes no overlaps).
|
|
24
|
+
* @see lib/neatogen/constraint.c:767 scAdjust
|
|
25
|
+
*/
|
|
26
|
+
export declare function scAdjust(g: Graph, equal: number): number;
|
|
27
|
+
/**
|
|
28
|
+
* The adjustNodes overlap-mode subset reaching scAdjust; other modes are
|
|
29
|
+
* no-ops (see module doc).
|
|
30
|
+
* @see lib/neatogen/adjust.c:999 adjustNodes, :776 adjustMode table
|
|
31
|
+
*/
|
|
32
|
+
export declare function adjustNodesScale(g: Graph): number;
|
|
33
|
+
//# sourceMappingURL=sc-adjust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sc-adjust.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/sc-adjust.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAsHlD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8CxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAOjD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node/edge separation factors — expand_t, parseFactor, sepFactor,
|
|
3
|
+
* esepFactor from neatogen's adjust.c.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/neatogen/adjust.c (15.0.0)
|
|
6
|
+
* @see lib/neatogen/adjust.h (15.0.0)
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
/** @see lib/neatogen/adjust.h:expand_t */
|
|
10
|
+
export interface ExpandT {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
/** Margins are absolute additions (points) rather than scale factors. */
|
|
14
|
+
doAdd: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Default esep/sep ratio. @see lib/neatogen/adjust.c:SEPFACT */
|
|
17
|
+
export declare const SEPFACT = 0.8;
|
|
18
|
+
/** Default margin in points. @see lib/neatogen/adjust.h:DFLT_MARGIN */
|
|
19
|
+
export declare const DFLT_MARGIN = 4;
|
|
20
|
+
/**
|
|
21
|
+
* Convert a "sep" attribute string into an ExpandT.
|
|
22
|
+
* "+x,y" becomes {x, y, doAdd:true}; "x,y" becomes
|
|
23
|
+
* {1 + x/sepfact, 1 + y/sepfact, doAdd:false}.
|
|
24
|
+
* Returns null on parse failure (C returns 0).
|
|
25
|
+
*
|
|
26
|
+
* @see lib/neatogen/adjust.c:parseFactor
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseFactor(s: string, sepfact: number, dflt: number): ExpandT | null;
|
|
29
|
+
/**
|
|
30
|
+
* Node separation for overlap adjustment: "sep" attr, then "esep"
|
|
31
|
+
* scaled by 1/SEPFACT, then +4pt.
|
|
32
|
+
* @see lib/neatogen/adjust.c:sepFactor
|
|
33
|
+
*/
|
|
34
|
+
export declare function sepFactor(g: Graph): ExpandT;
|
|
35
|
+
/**
|
|
36
|
+
* Edge separation for spline routing: smaller than sepFactor so the
|
|
37
|
+
* spline code does not see overlaps the adjust pass left tight.
|
|
38
|
+
* @see lib/neatogen/adjust.c:esepFactor
|
|
39
|
+
*/
|
|
40
|
+
export declare function esepFactor(g: Graph): ExpandT;
|
|
41
|
+
//# sourceMappingURL=sep-factor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sep-factor.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/sep-factor.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,0CAA0C;AAC1C,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,yEAAyE;IACzE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,iEAAiE;AACjE,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,uEAAuE;AACvE,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,IAAI,CAYhB;AA+BD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAY3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAY5C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* neato-family aspect-ratio handling — _neato_set_aspect and its helpers.
|
|
3
|
+
*
|
|
4
|
+
* C's graph_init parses ratio/size into GD_drawing for every engine; the
|
|
5
|
+
* spline_edges0(g, true) entry then reshapes the layout via neato_set_aspect
|
|
6
|
+
* before routing: fill/expand/value scale ND_pos (and the bb), compress and
|
|
7
|
+
* auto only normalize the origin. The dot engine has its own setAspect and
|
|
8
|
+
* never reaches this path.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/neatogen/neatosplines.c:1023 _neato_set_aspect
|
|
11
|
+
* @see lib/neatogen/neatosplines.c:992 neato_translate
|
|
12
|
+
* @see lib/common/input.c (setRatio / graph_init)
|
|
13
|
+
*/
|
|
14
|
+
import type { Graph } from '../../model/graph.js';
|
|
15
|
+
/**
|
|
16
|
+
* Populate g.info.drawing with the ratio/size fields _neato_set_aspect reads,
|
|
17
|
+
* mirroring graph_init's engine-neutral parse. No-op when the dot-side init
|
|
18
|
+
* already parsed a drawing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseNeatoDrawing(g: Graph): void;
|
|
21
|
+
/**
|
|
22
|
+
* Translate the drawing so bb.LL is the origin: node pos (inches) and
|
|
23
|
+
* xlabels, routed splines, then the bb tree.
|
|
24
|
+
* @see lib/neatogen/neatosplines.c:992 neato_translate
|
|
25
|
+
*/
|
|
26
|
+
export declare function neatoTranslate(g: Graph): void;
|
|
27
|
+
/**
|
|
28
|
+
* Reshape the layout per ratio/size — assumes bb is computed and applies only
|
|
29
|
+
* on the root graph. Returns true when node positions moved.
|
|
30
|
+
* @see lib/neatogen/neatosplines.c:1023 _neato_set_aspect
|
|
31
|
+
*/
|
|
32
|
+
export declare function neatoSetAspectRatio(g: Graph): boolean;
|
|
33
|
+
//# sourceMappingURL=set-aspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-aspect.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/set-aspect.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkClD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAUhD;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAmB7C;AAoCD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAuBrD"}
|