@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,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cloneNode / cloneEdge for the flat-adj recursive pipeline.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/dotgen/dotsplines.c:cloneNode, cloneEdge, cleanupCloneGraph
|
|
5
|
+
*/
|
|
6
|
+
import type { Graph } from '../../model/graph.js';
|
|
7
|
+
import type { Node } from '../../model/node.js';
|
|
8
|
+
import type { Edge } from '../../model/edge.js';
|
|
9
|
+
import type { Point } from '../../model/geom.js';
|
|
10
|
+
/**
|
|
11
|
+
* Map a point from the flat-adj auxiliary frame back to the original frame:
|
|
12
|
+
* un-rotate when the original graph is flipped, then translate by del.
|
|
13
|
+
* @see lib/dotgen/dotsplines.c:transformf
|
|
14
|
+
*/
|
|
15
|
+
export declare function transformf(p: Point, del: Point, flip: boolean): Point;
|
|
16
|
+
/**
|
|
17
|
+
* Create a copy of orign in graph g, carrying geometry from NodeInfo.
|
|
18
|
+
* @see lib/dotgen/dotsplines.c:cloneNode
|
|
19
|
+
*/
|
|
20
|
+
export declare function cloneNode(g: Graph, orign: Node): Node;
|
|
21
|
+
/**
|
|
22
|
+
* Create a copy of orig between tn→hn in graph g.
|
|
23
|
+
* @see lib/dotgen/dotsplines.c:cloneEdge
|
|
24
|
+
*/
|
|
25
|
+
export declare function cloneEdge(g: Graph, tn: Node, hn: Node, orig: Edge): Edge;
|
|
26
|
+
/**
|
|
27
|
+
* Release all resources held by the auxiliary clone graph.
|
|
28
|
+
* In the C implementation this restores global Agsyms and calls dot_cleanup.
|
|
29
|
+
* In TypeScript, clearing node and edge collections is sufficient.
|
|
30
|
+
* @see lib/dotgen/dotsplines.c:cleanupCloneGraph
|
|
31
|
+
*/
|
|
32
|
+
export declare function cleanupCloneGraph(auxg: Graph): void;
|
|
33
|
+
//# sourceMappingURL=splines-clone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-clone.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-clone.ts"],"names":[],"mappings":"AAEA;;;;GAIG;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,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAKjD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAGrE;AAOD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CA0CrD;AAOD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAexE;AAOD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAInD"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* make_flat_labeled_edge — route a non-adjacent same-rank (flat) edge that
|
|
3
|
+
* carries a center label, around the label virtual node created by flat_node
|
|
4
|
+
* (flat.ts:flatNode, T1). Sets the label position and installs the spline.
|
|
5
|
+
*
|
|
6
|
+
* Split out of splines-flat.ts (which is at the file-size cap) and reuses its
|
|
7
|
+
* makeFlatEndBox / flatBboxCtx / freshFlatPath helpers. Dispatched from the
|
|
8
|
+
* live router (edge-route.ts:routeForwardEdge) — see decisions.md#ad-3.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/dotgen/dotsplines.c:make_flat_labeled_edge
|
|
11
|
+
*/
|
|
12
|
+
import type { Graph } from '../../model/graph.js';
|
|
13
|
+
import type { Edge } from '../../model/edge.js';
|
|
14
|
+
import type { Node } from '../../model/node.js';
|
|
15
|
+
import type { Box, Point } from '../../model/geom.js';
|
|
16
|
+
/**
|
|
17
|
+
* Walk `ED_to_virt(e)` to the end of the chain; the tail of the last edge is the
|
|
18
|
+
* label virtual node `ln`. @see lib/dotgen/dotsplines.c:make_flat_labeled_edge 1328-1330
|
|
19
|
+
*/
|
|
20
|
+
export declare function findLabelNode(e: Edge): Node | null;
|
|
21
|
+
/**
|
|
22
|
+
* The label box `lb` straddling the label node, with the C `ydelta`/6 clamp.
|
|
23
|
+
* @see lib/dotgen/dotsplines.c:make_flat_labeled_edge 1349-1355
|
|
24
|
+
*/
|
|
25
|
+
export declare function flatLabelBox(g: Graph, ln: Node, tn: Node): Box;
|
|
26
|
+
/**
|
|
27
|
+
* The three connector boxes between the tail end, label box, and head end.
|
|
28
|
+
* @see lib/dotgen/dotsplines.c:make_flat_labeled_edge 1360-1393
|
|
29
|
+
*/
|
|
30
|
+
export declare function flatLabeledBoxes(tlast: Box, hlast: Box, lb: Box): Box[];
|
|
31
|
+
/**
|
|
32
|
+
* EDGETYPE_LINE 7-point polyline: start, label (lowered by half label height),
|
|
33
|
+
* end. @see lib/dotgen/dotsplines.c:make_flat_labeled_edge 1335-1347
|
|
34
|
+
*/
|
|
35
|
+
export declare function flatLabeledLinePoints(tn: Node, hn: Node, e: Edge): Point[];
|
|
36
|
+
/**
|
|
37
|
+
* Build the tail/label/head box channel and route a spline (or polyline)
|
|
38
|
+
* through it. @see lib/dotgen/dotsplines.c:make_flat_labeled_edge 1349-1411
|
|
39
|
+
*/
|
|
40
|
+
export declare function routeFlatLabeledChannel(g: Graph, e: Edge, ln: Node, et: number): Point[] | null;
|
|
41
|
+
/**
|
|
42
|
+
* Decline unless `e` is a non-adjacent, same-rank, labeled flat edge with a
|
|
43
|
+
* label vnode reachable via its to_virt chain; otherwise return that vnode.
|
|
44
|
+
*/
|
|
45
|
+
export declare function flatLabelTarget(e: Edge): Node | null;
|
|
46
|
+
/**
|
|
47
|
+
* Route a non-adjacent labeled flat edge around its label vnode and install the
|
|
48
|
+
* spline. Sets `ED_label(e).pos` / `.set` so the label `<text>` is emitted.
|
|
49
|
+
* Returns false (declining) when `e` is not such an edge so the caller falls
|
|
50
|
+
* back to its normal routing. @see lib/dotgen/dotsplines.c:make_flat_labeled_edge
|
|
51
|
+
*/
|
|
52
|
+
export declare function makeFlatLabeledEdge(g: Graph, e: Edge): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* True when `e` is an adjacent, same-rank flat edge with no declared ports —
|
|
55
|
+
* C's make_flat_adj_edges no-port dispatch (makeSimpleFlat / makeSimpleFlatLabels).
|
|
56
|
+
* Port-bearing adjacent flats route via the rotated aux graph instead.
|
|
57
|
+
*
|
|
58
|
+
* `adjacent` is read from the flat representative — the end of the `to_virt`
|
|
59
|
+
* chain — not from `e` directly. C's `dot_splines_` routes the `flat_out`/`other`
|
|
60
|
+
* edge that `checkFlatAdjacent` marked; the port instead routes the cgraph
|
|
61
|
+
* out-edge, which for a nonconstraint cross-cluster flat (e.g. 258 `B->D`) is a
|
|
62
|
+
* *different* object linked to the marked representative through `to_virt`
|
|
63
|
+
* (R -> v -> M, with `adjacent` set on M). Following the chain reunites the
|
|
64
|
+
* routed edge with its flag. For an ordinary adjacent flat the chain is empty,
|
|
65
|
+
* so the rep is `e` itself. @see lib/dotgen/dotsplines.c:dot_splines_ (flat gather)
|
|
66
|
+
*/
|
|
67
|
+
export declare function isAdjFlatCandidate(e: Edge): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Group: every no-port adjacent flat edge between e's two endpoints, in BOTH
|
|
70
|
+
* directions (the UNORDERED {tail,head} set). C's make_flat_adj_edges groups by
|
|
71
|
+
* the unordered pair — opposing legs (a->b and b->a) and parallel siblings route
|
|
72
|
+
* as one call (dotsplines.c:1122; the dispatch loop's "all flat adjacent edges
|
|
73
|
+
* at once" at dotsplines.c:357). Keying on the ordered (tail,head) split the
|
|
74
|
+
* opposing leg into its own cnt=1 group, drawn straight instead of as the
|
|
75
|
+
* earray[1] arc. @see lib/dotgen/flat.c:flat_edges (ND_other)
|
|
76
|
+
*/
|
|
77
|
+
export declare function collectAdjFlatGroup(g: Graph, e: Edge): Edge[];
|
|
78
|
+
/** edgelblcmpfn: labeled first; among labeled, larger dimen (x then y) first. */
|
|
79
|
+
export declare function edgeLblCmp(a: Edge, b: Edge): number;
|
|
80
|
+
/**
|
|
81
|
+
* Route a parallel group of adjacent (no-port) flat edges: the first goes
|
|
82
|
+
* straight with its label above; the rest stack up/down around the rank, each
|
|
83
|
+
* routed via simpleSplineRoute. @see lib/dotgen/dotsplines.c:makeSimpleFlatLabels
|
|
84
|
+
*/
|
|
85
|
+
export declare function makeSimpleFlatLabels(group: Edge[], et: number): void;
|
|
86
|
+
/**
|
|
87
|
+
* Spindle of splines for a no-port, no-label adjacent flat group: fan the cnt
|
|
88
|
+
* edges vertically across the tail node's height (stepy = ht/(cnt-1), centred
|
|
89
|
+
* on tp.y). cnt == 1 yields a single straight line.
|
|
90
|
+
* @see lib/dotgen/dotsplines.c:makeSimpleFlat (1075)
|
|
91
|
+
*/
|
|
92
|
+
export declare function makeSimpleFlat(group: Edge[], et: number): void;
|
|
93
|
+
/**
|
|
94
|
+
* Dispatch an adjacent no-port flat edge group (C's `make_flat_adj_edges`
|
|
95
|
+
* no-port branch): a group with any label routes via makeSimpleFlatLabels, a
|
|
96
|
+
* group with none via makeSimpleFlat. Both route the whole parallel group at
|
|
97
|
+
* once. Declines only when `e` is not a no-port adjacent flat.
|
|
98
|
+
* @see lib/dotgen/dotsplines.c:make_flat_adj_edges 1156-1166
|
|
99
|
+
*/
|
|
100
|
+
export declare function makeAdjFlatNoPortEdge(g: Graph, e: Edge): boolean;
|
|
101
|
+
//# sourceMappingURL=splines-flat-labeled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-flat-labeled.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-flat-labeled.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;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,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAetD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAKlD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,CAMvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,CAa1E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,CAa/F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAgC9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAgBnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAS7D;AAcD,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAOnD;AA4FD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAyBpE;AAiBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAa9D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAWhE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Faithful cnt>=2 non-adjacent flat multi-edge routing.
|
|
3
|
+
*
|
|
4
|
+
* C make_flat_edge (top branch, dotsplines.c:1502) and make_flat_bottom_edges
|
|
5
|
+
* (bottom branch, 1418) group every non-labeled, identical-port, non-adjacent
|
|
6
|
+
* flat edge between a same-rank node pair into ONE call and NEST their splines:
|
|
7
|
+
* `stepx = Multisep/(cnt+1)`, `stepy = vspace/(cnt+1)`; ONE shared makeFlatEnd
|
|
8
|
+
* tail+head; then edge `i` is offset by `(i+1)*step` on the two END boxes while
|
|
9
|
+
* the MIDDLE box keeps plain `stepy`. cnt=1 reduces to routeFlatEdgeFaithful
|
|
10
|
+
* (`Multisep/2 = nodesep/2`, `(0+1)*step = step`) — identical (AD-1).
|
|
11
|
+
*
|
|
12
|
+
* The port routes each non-adjacent flat independently at `nodesep/2`, so cnt>=2
|
|
13
|
+
* edges come out identical/overlapping; this module restores the nesting.
|
|
14
|
+
*
|
|
15
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge, make_flat_bottom_edges, dot_splines_
|
|
16
|
+
*/
|
|
17
|
+
import type { Graph } from '../../model/graph.js';
|
|
18
|
+
import type { Edge } from '../../model/edge.js';
|
|
19
|
+
/**
|
|
20
|
+
* Collect all unrouted non-adjacent same-rank side-port flat edges between e's
|
|
21
|
+
* endpoints that share e's tail/head ports (C portcmp), ordered so group[0].tail
|
|
22
|
+
* is the lower-order (left) node, ties by seq (AD-3). Mirrors edge-route.ts:
|
|
23
|
+
* collectAdjacentFlatGroup with the non-adjacent + identical-port group key.
|
|
24
|
+
* @see lib/dotgen/dotsplines.c:dot_splines_ (portcmp 370-373), make_flat_edge
|
|
25
|
+
*/
|
|
26
|
+
export declare function collectNonAdjacentFlatGroup(e: Edge, g: Graph): Edge[];
|
|
27
|
+
/**
|
|
28
|
+
* Faithful make_flat_edge / make_flat_bottom_edges cnt-loop: ONE shared
|
|
29
|
+
* makeFlatEnd tail+head; for i in 0..cnt-1 route edge i nested by (i+1)*step.
|
|
30
|
+
* Installs spl on every edges[i]; returns true iff all installed. cnt=1 reduces
|
|
31
|
+
* to routeFlatEdgeFaithful (AD-1). `edges` must be group-ordered (collect...).
|
|
32
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge, make_flat_bottom_edges
|
|
33
|
+
*/
|
|
34
|
+
export declare function routeFlatEdgeGroupFaithful(g: Graph, edges: Edge[], cnt: number): boolean;
|
|
35
|
+
//# sourceMappingURL=splines-flat-multi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-flat-multi.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-flat-multi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAgEhD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,CAcrE;AAyCD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAkCxF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* make_flat_edge, make_flat_adj_edges and helpers — flat edge spline routing.
|
|
3
|
+
*
|
|
4
|
+
* Flat edges connect nodes on the same rank. The adjacent-node case
|
|
5
|
+
* (make_flat_adj_edges) recursively invokes the full dot pipeline on a
|
|
6
|
+
* cloned subgraph. Full pathplan routing is deferred until pathplan.ts
|
|
7
|
+
* is ported.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge, make_flat_adj_edges
|
|
10
|
+
*/
|
|
11
|
+
import { Graph } from '../../model/graph.js';
|
|
12
|
+
import type { Edge } from '../../model/edge.js';
|
|
13
|
+
import type { Node } from '../../model/node.js';
|
|
14
|
+
import type { Box, Point } from '../../model/geom.js';
|
|
15
|
+
import type { Path, PathendT } from '../../common/types.js';
|
|
16
|
+
import type { SplineInfo } from './splines-route.js';
|
|
17
|
+
import { type BboxCtx } from './edge-route-faithful.js';
|
|
18
|
+
/** Bundled args for makeFlatEndBox (keeps params <= 5). Declared here (not
|
|
19
|
+
* between functions) so lizard's TS parser doesn't fold it into a neighbor. */
|
|
20
|
+
export interface FlatEndParts {
|
|
21
|
+
ctx: BboxCtx;
|
|
22
|
+
P: Path;
|
|
23
|
+
e: Edge;
|
|
24
|
+
n: Node;
|
|
25
|
+
side: number;
|
|
26
|
+
ranksep: number;
|
|
27
|
+
isBegin: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a minimal clone of g for flat-adj routing.
|
|
31
|
+
* @see lib/dotgen/dotsplines.c:cloneGraph
|
|
32
|
+
*/
|
|
33
|
+
export declare function cloneGraph(g: Graph): Graph;
|
|
34
|
+
/** Run rank, mincross, position on auxg; return non-zero on failure. */
|
|
35
|
+
export declare function runAuxPipeline(auxg: Graph): number;
|
|
36
|
+
/** Run sameports + splines (no normalize) on auxg; return non-zero on failure. */
|
|
37
|
+
export declare function runAuxSplines(auxg: Graph): number;
|
|
38
|
+
/**
|
|
39
|
+
* Route adjacent flat edges (with ports) via a rotated auxiliary layout, then
|
|
40
|
+
* transform the resulting splines back onto the original edges. Installs splines
|
|
41
|
+
* directly on the originals (returns 0 on success). Records and the no-port
|
|
42
|
+
* makeSimpleFlat branch are out of scope (callers gate on a side port).
|
|
43
|
+
* @see lib/dotgen/dotsplines.c:make_flat_adj_edges
|
|
44
|
+
*/
|
|
45
|
+
export declare function makeFlatAdjEdges(g: Graph, edges: Edge[], cnt: number, _et: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* True when a same-rank edge's endpoints are adjacent in rank order (no NORMAL
|
|
48
|
+
* or labeled-virtual node between them) — the make_flat_adj_edges case.
|
|
49
|
+
* @see lib/dotgen/flat.c:checkFlatAdjacent
|
|
50
|
+
*/
|
|
51
|
+
export declare function isFlatAdjacent(g: Graph, e: Edge): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Route a group of flat (same-rank) edges.
|
|
54
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge
|
|
55
|
+
*/
|
|
56
|
+
export declare function makeFlatEdge(g: Graph, _sp: SplineInfo, edges: Edge[], cnt: number, et: number): number;
|
|
57
|
+
/**
|
|
58
|
+
* makeFlatEnd (side=TOP) / makeBottomFlatEnd (side=BOTTOM): seed the endpoint
|
|
59
|
+
* box from maximal_bbox, set the side mask, run begin/endpath (FLATEDGE feeds
|
|
60
|
+
* BeginFlatSide/EndFlatSide), then append the makeregularend box up to (TOP) or
|
|
61
|
+
* down from (BOTTOM) the node's rank extent.
|
|
62
|
+
* @see lib/dotgen/dotsplines.c:makeFlatEnd, makeBottomFlatEnd
|
|
63
|
+
*/
|
|
64
|
+
export declare function makeFlatEndBox(parts: FlatEndParts): PathendT;
|
|
65
|
+
/**
|
|
66
|
+
* The three connecting boxes for the top-routing branch (loop over the top).
|
|
67
|
+
* END boxes offset by `endStepX`/`endStepY` (C `(i+1)·step`); MIDDLE box keeps
|
|
68
|
+
* height `midStepY` (C plain `stepy`). cnt=1 ⇒ all three = step (original).
|
|
69
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge (boxes[], loop body)
|
|
70
|
+
*/
|
|
71
|
+
export declare function topBoxes(tlast: Box, hlast: Box, endStepX: number, endStepY: number, midStepY: number): Box[];
|
|
72
|
+
/**
|
|
73
|
+
* The three connecting boxes for the bottom-routing branch (loop under).
|
|
74
|
+
* END/MIDDLE step semantics mirror `topBoxes`; cnt=1 ⇒ all = step (original).
|
|
75
|
+
* @see lib/dotgen/dotsplines.c:make_flat_bottom_edges (boxes[], loop body)
|
|
76
|
+
*/
|
|
77
|
+
export declare function bottomBoxes(tlast: Box, hlast: Box, endStepX: number, endStepY: number, midStepY: number): Box[];
|
|
78
|
+
/**
|
|
79
|
+
* Vertical space available for the loop. Top routing reads the rank above;
|
|
80
|
+
* bottom routing reads the rank below; either way a node at the graph
|
|
81
|
+
* boundary falls back to ranksep.
|
|
82
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge / make_flat_bottom_edges (vspace)
|
|
83
|
+
*/
|
|
84
|
+
export declare function flatVspace(g: Graph, tn: Node, top: boolean): number;
|
|
85
|
+
/** A fresh empty path for begin/route/end assembly. */
|
|
86
|
+
export declare function freshFlatPath(): Path;
|
|
87
|
+
/** Per-caller spline_info bounds (C builds its own `sd` per orchestrator).
|
|
88
|
+
* Splinesep = GD_nodesep(g) / 4 with INTEGER division (C's GD_nodesep is an
|
|
89
|
+
* `int`, types.h:334; dotsplines.c:267 builds one sd shared by regular + flat
|
|
90
|
+
* routing). A float divide here (nodesep/2 = 9) over-widens the VIRTUAL-
|
|
91
|
+
* neighbor gap in maximal_bbox; truncate to nodesep/4 to mirror C. */
|
|
92
|
+
export declare function flatBboxCtx(g: Graph): BboxCtx;
|
|
93
|
+
/**
|
|
94
|
+
* Routing-side decision: bottom routing fires when a BOTTOM port faces away
|
|
95
|
+
* from a non-TOP opposite end, exactly as C's
|
|
96
|
+
* `(tside==BOTTOM && hside!=TOP) || (hside==BOTTOM && tside!=TOP)`.
|
|
97
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge (tside/hside test)
|
|
98
|
+
*/
|
|
99
|
+
export declare function flatSide(e: Edge): {
|
|
100
|
+
bottom: boolean;
|
|
101
|
+
side: number;
|
|
102
|
+
};
|
|
103
|
+
/** Concatenate tail boxes (fwd), the 3 connecting boxes, head boxes (rev). */
|
|
104
|
+
export declare function assembleFlatPath(P: Path, tend: PathendT, hend: PathendT, mid: Box[]): void;
|
|
105
|
+
/**
|
|
106
|
+
* Route a single same-rank (flat) edge carrying a side-mask port through the
|
|
107
|
+
* faithful `beginPath → routeSplines → endPath → clipAndInstall` pipeline.
|
|
108
|
+
* Returns spline control points in graphviz-internal (y-up) coordinates, or
|
|
109
|
+
* null when the edge is not a same-rank edge. Does NOT clip or install — the
|
|
110
|
+
* caller (routeOneEdge) does that via clipAndInstall, mirroring how SR3 wires
|
|
111
|
+
* the regular faithful path.
|
|
112
|
+
*
|
|
113
|
+
* @see lib/dotgen/dotsplines.c:make_flat_edge (cnt=1, non-adjacent spline)
|
|
114
|
+
*/
|
|
115
|
+
export declare function routeFlatEdgeFaithful(g: Graph, e: Edge): Point[] | null;
|
|
116
|
+
//# sourceMappingURL=splines-flat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-flat.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-flat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge-group formation and dispatch for the dot_splines_ routing loop —
|
|
3
|
+
* C's inner group loop (groupSize) and the per-group router selection.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/dotgen/dotsplines.c:dot_splines_ (343-419)
|
|
6
|
+
*/
|
|
7
|
+
import type { Graph } from '../../model/graph.js';
|
|
8
|
+
import type { Edge } from '../../model/edge.js';
|
|
9
|
+
/** Per-loop routing context: separations, edge type, per-run orig record. */
|
|
10
|
+
export interface GroupRouteCtx {
|
|
11
|
+
multisep: number;
|
|
12
|
+
et: number;
|
|
13
|
+
/** Originals that received per-run bezier appends (normalized post-loop). */
|
|
14
|
+
runOrigs: Set<Edge>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Collapse a main-edge group to one representative per distinct original edge.
|
|
18
|
+
* The opposing `a->b`/`b->a` case collects three entries but two distinct
|
|
19
|
+
* originals; dedup by `resolveOrigEdge` yields one per original (parallels
|
|
20
|
+
* untouched). Pushes the RESOLVED original `o`, not the raw group member `e`:
|
|
21
|
+
* a raw member can be a swapped internal proxy (e.g. a same-rank flat edge
|
|
22
|
+
* whose canonical orientation is tail/head-swapped) whose endpoints don't
|
|
23
|
+
* match the edge actually rendered — routing against the proxy leaves the
|
|
24
|
+
* real edge's geometry unset. C's `edges` list carries no such proxy object
|
|
25
|
+
* (its group members are already the real/virtual edges), so this recovers
|
|
26
|
+
* C's outcome for the TS-specific proxy representation. Distinct originals
|
|
27
|
+
* (genuine parallels, or a multi-rank edge's own per-hop virtual segments)
|
|
28
|
+
* each resolve to their OWN root, so this dedup never merges or renames them.
|
|
29
|
+
* @see dotsplines.c:make_regular_edge (one clip_and_install per orig)
|
|
30
|
+
*/
|
|
31
|
+
export declare function dedupByOrig(group: Edge[]): Edge[];
|
|
32
|
+
/**
|
|
33
|
+
* Run the whole group-routing loop over the sorted edge list; returns the set
|
|
34
|
+
* of originals that received per-run bezier appends, for the caller's
|
|
35
|
+
* post-loop normalize pass. @see lib/dotgen/dotsplines.c:dot_splines_ (343-419)
|
|
36
|
+
*/
|
|
37
|
+
export declare function routeEdgeGroups(g: Graph, edges: Edge[], multisep: number, et: number): Set<Edge>;
|
|
38
|
+
//# sourceMappingURL=splines-groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-groups.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-groups.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAahD,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACrB;AAqCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAUjD;AAyFD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAIhG"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Label placement for edge virtual nodes and port labels.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/dotgen/dotsplines.c:place_vnlabel, setEdgeLabelPos
|
|
5
|
+
* @see lib/common/splines.c:place_portlabel (lines 1316-1360)
|
|
6
|
+
* @see lib/dotgen/dotsplines.c:440-458 (port-label placement loop)
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
import type { Node } from '../../model/node.js';
|
|
10
|
+
import type { Edge } from '../../model/edge.js';
|
|
11
|
+
import type { TextlabelT } from '../../common/types.js';
|
|
12
|
+
/** Minimal label shape sufficient for placement. */
|
|
13
|
+
export interface TextLabel {
|
|
14
|
+
pos: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
};
|
|
18
|
+
dimen: {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
set: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Cast an unknown label to TextLabel if it has the required shape. */
|
|
25
|
+
export declare function asTextLabel(label: unknown): TextLabel | undefined;
|
|
26
|
+
/** Walk to_orig until edge_type is NORMAL (0). */
|
|
27
|
+
export declare function findNormalOutEdge(first: Edge): Edge | undefined;
|
|
28
|
+
/** Compute label x-position from node coord, dimen, and flip flag. */
|
|
29
|
+
export declare function labelXPos(n: Node, l: TextLabel): number;
|
|
30
|
+
/**
|
|
31
|
+
* Assign position of an edge label from its virtual node.
|
|
32
|
+
* @see lib/dotgen/dotsplines.c:place_vnlabel
|
|
33
|
+
*/
|
|
34
|
+
export declare function placeVnlabel(n: Node): void;
|
|
35
|
+
/** Set label pos from posAlg edge for virtual label nodes. */
|
|
36
|
+
export declare function setAlgLabelPos(n: Node): void;
|
|
37
|
+
/**
|
|
38
|
+
* Set edge label position information for regular and non-adjacent flat edges.
|
|
39
|
+
* @see lib/dotgen/dotsplines.c:setEdgeLabelPos
|
|
40
|
+
*/
|
|
41
|
+
export declare function setEdgeLabelPos(g: Graph): void;
|
|
42
|
+
/** Default port-label distance in points. @see lib/common/const.h:PORT_LABEL_DISTANCE */
|
|
43
|
+
export declare const PORT_LABEL_DISTANCE = 10;
|
|
44
|
+
/** Default port-label angle in degrees (CW negative). @see lib/common/const.h:PORT_LABEL_ANGLE */
|
|
45
|
+
export declare const PORT_LABEL_ANGLE = -25;
|
|
46
|
+
/**
|
|
47
|
+
* Place the head or tail port label for edge e.
|
|
48
|
+
*
|
|
49
|
+
* Returns true on success, false when:
|
|
50
|
+
* - edge_type is IGNORED, or
|
|
51
|
+
* - neither labelangle nor labeldistance attrs are set (labels are then
|
|
52
|
+
* treated as external xlabel-style labels, not placed here), or
|
|
53
|
+
* - the spline is not yet computed.
|
|
54
|
+
*
|
|
55
|
+
* NOTE: The C code only places port labels when at least one of
|
|
56
|
+
* E_labelangle / E_labeldistance has a non-empty value. When both are
|
|
57
|
+
* absent (the common case), it returns 0 and the labels remain unpositioned.
|
|
58
|
+
* In the C pipeline the renderer then falls back to xlabel-style placement.
|
|
59
|
+
* For the quarantine reference, the labels *are* placed — meaning one of
|
|
60
|
+
* the two attrs has an implicit value in the C attr-symbol table. We
|
|
61
|
+
* replicate the C condition faithfully: check whether the edge's own
|
|
62
|
+
* attrs contain a non-empty value for either key.
|
|
63
|
+
*
|
|
64
|
+
* @see lib/common/splines.c:place_portlabel
|
|
65
|
+
*/
|
|
66
|
+
export declare function placePortlabel(e: Edge, headP: boolean): boolean;
|
|
67
|
+
/** Expand g.info.bb to include the label's bounding box. */
|
|
68
|
+
export declare function updateBB(g: Graph, l: TextlabelT): void;
|
|
69
|
+
/**
|
|
70
|
+
* After edge routing completes, place regular edge labels from virtual nodes
|
|
71
|
+
* and expand the graph bounding box to include each label.
|
|
72
|
+
*
|
|
73
|
+
* Called once per graph after the parallel-edge routing loop and before
|
|
74
|
+
* edge_normalize. Mirrors the C post-routing place_vnlabel + updateBB loop
|
|
75
|
+
* at dotsplines.c:422-430. Flat-edge virtual nodes (in.size == 0) are
|
|
76
|
+
* skipped inside placeVnlabel as in C.
|
|
77
|
+
*
|
|
78
|
+
* @see lib/dotgen/dotsplines.c:422-430
|
|
79
|
+
*/
|
|
80
|
+
export declare function placeRegularEdgeLabels(g: Graph): void;
|
|
81
|
+
/**
|
|
82
|
+
* Walk all nodes and edges; call placePortlabel for head/tail labels.
|
|
83
|
+
*
|
|
84
|
+
* C's gates are on the attribute DECLARATIONS, not on `GD_has_labels`:
|
|
85
|
+
*
|
|
86
|
+
* if ((E_headlabel || E_taillabel) && (E_labelangle || E_labeldistance)) {
|
|
87
|
+
* for (n = agfstnode(g); ...) {
|
|
88
|
+
* if (E_headlabel) { ...place_portlabel(e, true)... }
|
|
89
|
+
* if (E_taillabel) { ...place_portlabel(e, false)... }
|
|
90
|
+
* }
|
|
91
|
+
* }
|
|
92
|
+
*
|
|
93
|
+
* The port previously gated the two inner branches on
|
|
94
|
+
* `GD_has_labels & HEAD_LABEL/TAIL_LABEL`. That is NOT C, and it broke under
|
|
95
|
+
* `pack`: `has_labels` is OR'd onto the true cgraph root (`common_init_edge`,
|
|
96
|
+
* utils.c:521), so a projected component's own flag is 0 and BOTH branches were
|
|
97
|
+
* skipped — the head/tail labels kept their unplaced default position instead
|
|
98
|
+
* of being offset by labelangle/labeldistance. The per-edge
|
|
99
|
+
* `ED_head_label == NULL` checks inside the loops already do the real filtering,
|
|
100
|
+
* exactly as in C.
|
|
101
|
+
*
|
|
102
|
+
* @see lib/dotgen/dotsplines.c:440-458
|
|
103
|
+
*/
|
|
104
|
+
export declare function placePortLabels(g: Graph): void;
|
|
105
|
+
//# sourceMappingURL=splines-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-label.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-label.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAUxD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,GAAG,EAAE,OAAO,CAAC;CACd;AAMD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAMjE;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAI/D;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAIvD;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAW1C;AAOD,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAO5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAe9C;AAOD,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,MAAM,CAAC;AA8EpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAM/D;AAyED,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CActD;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAQrD;AAiCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAK9C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge-type dispatch for regular (cross-rank) edge routing.
|
|
3
|
+
*
|
|
4
|
+
* `make_regular_edge` routes the box corridor through `routesplines` for
|
|
5
|
+
* `EDGETYPE_SPLINE` and `routepolylines` otherwise; for `EDGETYPE_LINE` it
|
|
6
|
+
* additionally straightens a polyline of more than 4 points down to a 4-point
|
|
7
|
+
* line (first/last control points only). This module is the single home for
|
|
8
|
+
* that dispatch + straighten, called by every box-corridor emit point.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/dotgen/dotsplines.c:make_regular_edge (1799-1808, 1849-1861)
|
|
11
|
+
*/
|
|
12
|
+
import type { Point } from '../../model/geom.js';
|
|
13
|
+
import type { Path } from '../../common/types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Route the box corridor in `P` according to the edge type `et`.
|
|
16
|
+
*
|
|
17
|
+
* - `EDGETYPE_SPLINE` → `routeSplines` (the default; identical to before).
|
|
18
|
+
* - any other type → `routePolylines`.
|
|
19
|
+
* - `EDGETYPE_LINE` with a result of more than 4 points → straighten to the
|
|
20
|
+
* 4-point line `[p0, p0, pLast, pLast]`.
|
|
21
|
+
*
|
|
22
|
+
* Returns the control points, or `null`/empty exactly as the underlying
|
|
23
|
+
* `routeSplines`/`routePolylines` do (the caller treats that as a decline).
|
|
24
|
+
*
|
|
25
|
+
* @see lib/dotgen/dotsplines.c:make_regular_edge
|
|
26
|
+
*/
|
|
27
|
+
export declare function routeRegularByType(P: Path, et: number): Point[] | null;
|
|
28
|
+
//# sourceMappingURL=splines-route-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-route-type.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-route-type.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,CAWtE"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* make_regular_edge and helpers — regular (non-flat) edge spline routing.
|
|
3
|
+
*
|
|
4
|
+
* Full pathplan routing is deferred until pathplan.ts is ported.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/dotgen/dotsplines.c:make_regular_edge
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
import type { Node } from '../../model/node.js';
|
|
10
|
+
import type { Edge } from '../../model/edge.js';
|
|
11
|
+
import type { Box, Point } from '../../model/geom.js';
|
|
12
|
+
import { splineMerge } from './splines.js';
|
|
13
|
+
/**
|
|
14
|
+
* Per-call spline routing state (mirrors spline_info_t in C).
|
|
15
|
+
* @see lib/dotgen/dotsplines.c:spline_info_t
|
|
16
|
+
*/
|
|
17
|
+
export interface SplineInfo {
|
|
18
|
+
leftBound: number;
|
|
19
|
+
rightBound: number;
|
|
20
|
+
splinesep: number;
|
|
21
|
+
multisep: number;
|
|
22
|
+
rankBox: Box[];
|
|
23
|
+
}
|
|
24
|
+
export declare function nodeOutSize(n: Node): number;
|
|
25
|
+
export declare function nodeInSize(n: Node): number;
|
|
26
|
+
export declare function nodeType(n: Node): number;
|
|
27
|
+
/** @see lib/dotgen/dotsplines.c:top_bound */
|
|
28
|
+
export declare function topBound(e: Edge, side: number): Edge | undefined;
|
|
29
|
+
/** @see lib/dotgen/dotsplines.c:bot_bound */
|
|
30
|
+
export declare function botBound(e: Edge, side: number): Edge | undefined;
|
|
31
|
+
/** True if v can continue a straight run from anchor n. */
|
|
32
|
+
export declare function isStraightContinuation(v: Node, n: Node): boolean;
|
|
33
|
+
/** Advance one step along the straight chain; return undefined if done. */
|
|
34
|
+
export declare function straightNext(v: Node): Node | undefined;
|
|
35
|
+
/** @see lib/dotgen/dotsplines.c:straight_len */
|
|
36
|
+
export declare function straightLen(n: Node): number;
|
|
37
|
+
/**
|
|
38
|
+
* Advance `cnt` head-out hops along the straight run from `e`, then append two
|
|
39
|
+
* copies of `pts`'s last point — emitting the straight middle of a smode
|
|
40
|
+
* segment as a degenerate (collinear) bezier piece. Mutates `pts` (+2 entries,
|
|
41
|
+
* each a value-copy of the prior last point, matching C's pointf-by-value
|
|
42
|
+
* appends); returns the edge `cnt` hops downstream.
|
|
43
|
+
* @see lib/dotgen/dotsplines.c:straight_path
|
|
44
|
+
*/
|
|
45
|
+
export declare function straightPath(e: Edge, cnt: number, pts: Point[]): Edge;
|
|
46
|
+
/** @see lib/dotgen/dotsplines.c:resize_vn */
|
|
47
|
+
export declare function resizeVn(vn: Node, lx: number, cx: number, rx: number): void;
|
|
48
|
+
/** True if na/nb ordering contradicts expected crossing order. */
|
|
49
|
+
export declare function orderContradicts(na: Node, nb: Node, order: boolean): boolean;
|
|
50
|
+
/** Advance one step along out-edges of na and nb simultaneously. */
|
|
51
|
+
export declare function advanceOutPair(e0: Edge | undefined, ef: Edge | undefined): [Edge | undefined, Edge | undefined];
|
|
52
|
+
/** Advance one step along in-edges of na and nb simultaneously. */
|
|
53
|
+
export declare function advanceInPair(e0: Edge | undefined, ef: Edge | undefined): [Edge | undefined, Edge | undefined];
|
|
54
|
+
/** Check one out-step for a crossing. Returns true if crossing found. */
|
|
55
|
+
export declare function outStepCrosses(e0: Edge, ef: Edge, order: boolean): boolean;
|
|
56
|
+
/** Check one in-step for a crossing. Returns true if crossing found. */
|
|
57
|
+
export declare function inStepCrosses(e0: Edge, ef: Edge, order: boolean): boolean;
|
|
58
|
+
/** @see lib/dotgen/dotsplines.c:pathscross (out direction) */
|
|
59
|
+
export declare function checkOutCross(n0: Node, order: boolean, e1: Edge | undefined): boolean;
|
|
60
|
+
/** @see lib/dotgen/dotsplines.c:pathscross (in direction) */
|
|
61
|
+
export declare function checkInCross(n0: Node, order: boolean, e1: Edge | undefined): boolean;
|
|
62
|
+
/** @see lib/dotgen/dotsplines.c:pathscross */
|
|
63
|
+
export declare function pathscross(n0: Node, n1: Node, ie1: Edge | undefined, oe1: Edge | undefined): boolean;
|
|
64
|
+
/** True if n should be returned as a neighbor candidate. */
|
|
65
|
+
export declare function isNeighborCandidate(n: Node): boolean;
|
|
66
|
+
/** @see lib/dotgen/dotsplines.c:neighbor */
|
|
67
|
+
export declare function neighbor(g: Graph, vn: Node, ie: Edge | undefined, oe: Edge | undefined, dir: number): Node | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Apply x-offset to interior control points of a bezier (any length).
|
|
70
|
+
* C shifts only k=1..size-2 (interior control points).
|
|
71
|
+
* Endpoints (index 0 and index length-1) are fixed.
|
|
72
|
+
*
|
|
73
|
+
* @see lib/dotgen/dotsplines.c:make_regular_edge (pointfs interior shift)
|
|
74
|
+
*/
|
|
75
|
+
export declare function shiftInteriorPts(pts: Point[], dx: number): Point[];
|
|
76
|
+
/**
|
|
77
|
+
* Route a group of cnt >= 1 parallel regular edges with C-faithful x-offsets.
|
|
78
|
+
*
|
|
79
|
+
* Algorithm (mirrors make_regular_edge cnt > 1 section in dotsplines.c):
|
|
80
|
+
* 1. Route one base path via rank-corridor spline.
|
|
81
|
+
* 2. dx = Multisep * (cnt - 1) / 2
|
|
82
|
+
* 3. edge[0]: interior points shifted left by dx
|
|
83
|
+
* 4. edge[j] (j=1..cnt-1): shift right by Multisep per step
|
|
84
|
+
* Each shifted path is clipped to node boundaries independently.
|
|
85
|
+
*
|
|
86
|
+
* @see lib/dotgen/dotsplines.c:make_regular_edge
|
|
87
|
+
*/
|
|
88
|
+
export declare function routeParallelEdgeGroup(g: Graph, edges: Edge[], multisep: number): void;
|
|
89
|
+
export { splineMerge };
|
|
90
|
+
/**
|
|
91
|
+
* Direct tail→head line for a multi-rank `EDGETYPE_LINE` edge: a 4-point line
|
|
92
|
+
* (or 7-point through the edge label). Returns null to decline — `delr === 1`,
|
|
93
|
+
* or `delr === 2` when the graph carries edge labels — so the box-corridor path
|
|
94
|
+
* (which straightens its polyline) handles those cases instead.
|
|
95
|
+
*
|
|
96
|
+
* @see lib/dotgen/dotsplines.c:makeLineEdge (1636)
|
|
97
|
+
*/
|
|
98
|
+
export declare function makeLineEdge(g: Graph, fe: Edge): Point[] | null;
|
|
99
|
+
//# sourceMappingURL=splines-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splines-route.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-route.ts"],"names":[],"mappings":"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"}
|