@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,431 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EPL-2.0
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TypeScript port of Agedgeinfo_t from lib/common/types.h.
|
|
5
|
+
*
|
|
6
|
+
* All ED_* accessor macros in the C source expand to typed reads/writes into
|
|
7
|
+
* this struct. In TypeScript the macro indirection is unnecessary — consumers
|
|
8
|
+
* access fields directly on the EdgeInfo object attached to each Edge.
|
|
9
|
+
*
|
|
10
|
+
* @see lib/common/types.h:Agedgeinfo_t
|
|
11
|
+
* @see lib/common/types.h:ED_* macros
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { Port, Spline } from './geom.js';
|
|
15
|
+
import type { Edge } from './edge.js';
|
|
16
|
+
import type { TextlabelT } from '../common/types.js';
|
|
17
|
+
import type { ArrowDrawOp } from '../common/arrows-types.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Edge layout and rendering info record; replaces the ED_* macro family.
|
|
21
|
+
*
|
|
22
|
+
* Required fields are always initialized when an edge is created (matching C
|
|
23
|
+
* zero-init of the port struct in common_init_edge). All other fields are
|
|
24
|
+
* optional; they are populated by specific phases of the layout pipeline.
|
|
25
|
+
*
|
|
26
|
+
* @see lib/common/types.h:Agedgeinfo_t
|
|
27
|
+
* @see lib/common/utils.c:common_init_edge
|
|
28
|
+
*/
|
|
29
|
+
export interface EdgeInfo {
|
|
30
|
+
/**
|
|
31
|
+
* Tail-end port specification. Always initialized on edge creation.
|
|
32
|
+
* @see lib/common/types.h:Agedgeinfo_t.tail_port
|
|
33
|
+
* @see lib/common/types.h:ED_tail_port
|
|
34
|
+
*/
|
|
35
|
+
tail_port: Port;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Head-end port specification. Always initialized on edge creation.
|
|
39
|
+
* @see lib/common/types.h:Agedgeinfo_t.head_port
|
|
40
|
+
* @see lib/common/types.h:ED_head_port
|
|
41
|
+
*/
|
|
42
|
+
head_port: Port;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Rendered spline geometry. Undefined before the spline routing phase.
|
|
46
|
+
* Set by clip_and_install() in lib/common/splines.c. Do not read before
|
|
47
|
+
* the layout engine's spline pass has completed.
|
|
48
|
+
*
|
|
49
|
+
* @see lib/common/types.h:Agedgeinfo_t.spl
|
|
50
|
+
* @see lib/common/types.h:ED_spl
|
|
51
|
+
* @see lib/common/splines.c:clip_and_install
|
|
52
|
+
*/
|
|
53
|
+
spl?: Spline;
|
|
54
|
+
|
|
55
|
+
// -------------------------------------------------------------------------
|
|
56
|
+
// Labels — AD6: typed as TextlabelT (was unknown until TextLabel was ported).
|
|
57
|
+
// -------------------------------------------------------------------------
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Center edge label.
|
|
61
|
+
* @see lib/common/types.h:Agedgeinfo_t.label
|
|
62
|
+
* @see lib/common/types.h:ED_label
|
|
63
|
+
*/
|
|
64
|
+
label?: TextlabelT;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Head-end label (arrowhead side).
|
|
68
|
+
* @see lib/common/types.h:Agedgeinfo_t.head_label
|
|
69
|
+
* @see lib/common/types.h:ED_head_label
|
|
70
|
+
*/
|
|
71
|
+
head_label?: TextlabelT;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Tail-end label (arrowtail side).
|
|
75
|
+
* @see lib/common/types.h:Agedgeinfo_t.tail_label
|
|
76
|
+
* @see lib/common/types.h:ED_tail_label
|
|
77
|
+
*/
|
|
78
|
+
tail_label?: TextlabelT;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* External label (placed outside the edge spline).
|
|
82
|
+
* @see lib/common/types.h:Agedgeinfo_t.xlabel
|
|
83
|
+
* @see lib/common/types.h:ED_xlabel
|
|
84
|
+
*/
|
|
85
|
+
xlabel?: TextlabelT;
|
|
86
|
+
|
|
87
|
+
// -------------------------------------------------------------------------
|
|
88
|
+
// Arrowhead draw-ops (ADR-1). The C port regenerates arrowheads at render
|
|
89
|
+
// time from the rotated spline endpoint; this TS port precomputes the typed
|
|
90
|
+
// primitive list during routing (per arrowhead/arrowtail type) and rotates
|
|
91
|
+
// it in postproc. Replaces the loose `_arrowPts`/`_tailArrowPts` Point[].
|
|
92
|
+
// -------------------------------------------------------------------------
|
|
93
|
+
|
|
94
|
+
/** Head-end arrow primitives (arrowhead). @see lib/common/arrows.c:arrow_gen */
|
|
95
|
+
headArrowOps?: ArrowDrawOp[];
|
|
96
|
+
|
|
97
|
+
/** Tail-end arrow primitives (arrowtail). @see lib/common/arrows.c:arrow_gen */
|
|
98
|
+
tailArrowOps?: ArrowDrawOp[];
|
|
99
|
+
|
|
100
|
+
// -------------------------------------------------------------------------
|
|
101
|
+
// Edge metadata
|
|
102
|
+
// -------------------------------------------------------------------------
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Whether this edge participates in rank constraints.
|
|
106
|
+
* Corresponds to the `constraint` edge attribute (default: true).
|
|
107
|
+
* When false, the edge does not constrain rank assignment.
|
|
108
|
+
* @see lib/dotgen/class1.c:nonconstraint_edge
|
|
109
|
+
*/
|
|
110
|
+
constraint?: boolean;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Edge type code: REGULAREDGE / FLATEDGE / SELFEDGE.
|
|
114
|
+
* Stored as char in C; mapped to number here.
|
|
115
|
+
* @see lib/common/types.h:Agedgeinfo_t.edge_type
|
|
116
|
+
* @see lib/common/types.h:ED_edge_type
|
|
117
|
+
*/
|
|
118
|
+
edge_type?: number;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* True for compound edges (cross-cluster).
|
|
122
|
+
* Stored as char in C.
|
|
123
|
+
* @see lib/common/types.h:Agedgeinfo_t.compound
|
|
124
|
+
* @see lib/common/types.h:ED_compound
|
|
125
|
+
*/
|
|
126
|
+
compound?: number;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* True for flat edges whose tail and head are adjacent in rank.
|
|
130
|
+
* Stored as char in C.
|
|
131
|
+
* @see lib/common/types.h:Agedgeinfo_t.adjacent
|
|
132
|
+
* @see lib/common/types.h:ED_adjacent
|
|
133
|
+
*/
|
|
134
|
+
adjacent?: number;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Whether the edge label is placed above (on top of) the spline.
|
|
138
|
+
* Stored as char in C.
|
|
139
|
+
* @see lib/common/types.h:Agedgeinfo_t.label_ontop
|
|
140
|
+
* @see lib/common/types.h:ED_label_ontop
|
|
141
|
+
*/
|
|
142
|
+
label_ontop?: number;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* GUI state flags (bitwise OR of GUI_STATE_* constants).
|
|
146
|
+
* Stored as unsigned char in C.
|
|
147
|
+
* @see lib/common/types.h:Agedgeinfo_t.gui_state
|
|
148
|
+
* @see lib/common/types.h:ED_gui_state
|
|
149
|
+
* @see lib/common/types.h:GUI_STATE_ACTIVE / GUI_STATE_SELECTED / GUI_STATE_VISITED / GUI_STATE_DELETED
|
|
150
|
+
*/
|
|
151
|
+
gui_state?: number;
|
|
152
|
+
|
|
153
|
+
// -------------------------------------------------------------------------
|
|
154
|
+
// Virtual edge back-pointers (dot layout)
|
|
155
|
+
// -------------------------------------------------------------------------
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Back-pointer to the original (non-virtual) edge; set on virtual edges
|
|
159
|
+
* created during dot layout for long-range connections.
|
|
160
|
+
* @see lib/common/types.h:Agedgeinfo_t.to_orig
|
|
161
|
+
* @see lib/common/types.h:ED_to_orig
|
|
162
|
+
* @see lib/common/shapes.c
|
|
163
|
+
*/
|
|
164
|
+
to_orig?: Edge;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Back-pointer to the virtual edge that represents this edge in the
|
|
168
|
+
* rank-spanning chain; set on real edges when a virtual chain exists.
|
|
169
|
+
* @see lib/common/types.h:Agedgeinfo_t.to_virt
|
|
170
|
+
* @see lib/common/types.h:ED_to_virt
|
|
171
|
+
*/
|
|
172
|
+
to_virt?: Edge;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Routing attempted and routesplines failed: the edge is LOST exactly as in
|
|
176
|
+
* C (no spline installed, map_edge warns, emit skips). Port-only bookkeeping
|
|
177
|
+
* so the routeDotEdges backstop does not re-attempt an edge C routes once.
|
|
178
|
+
* @see lib/common/routespl.c:routesplines (NULL), lib/common/postproc.c:map_edge
|
|
179
|
+
*/
|
|
180
|
+
lost?: boolean;
|
|
181
|
+
|
|
182
|
+
// -------------------------------------------------------------------------
|
|
183
|
+
// Engine scratch
|
|
184
|
+
// -------------------------------------------------------------------------
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Layout-engine algorithm scratch pointer. Engine-specific; not typed here.
|
|
188
|
+
* @see lib/common/types.h:Agedgeinfo_t.alg
|
|
189
|
+
* @see lib/common/types.h:ED_alg
|
|
190
|
+
*/
|
|
191
|
+
alg?: unknown;
|
|
192
|
+
|
|
193
|
+
// -------------------------------------------------------------------------
|
|
194
|
+
// dot-specific fields (#ifndef NEATO_ONLY in C)
|
|
195
|
+
// -------------------------------------------------------------------------
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Edge weight for network simplex. Higher weight means the edge length is
|
|
199
|
+
* penalized more, biasing ranks toward short edges.
|
|
200
|
+
* int in C.
|
|
201
|
+
* @see lib/common/types.h:Agedgeinfo_t.weight
|
|
202
|
+
* @see lib/common/types.h:ED_weight
|
|
203
|
+
*/
|
|
204
|
+
weight?: number;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Minimum rank separation required between tail and head nodes.
|
|
208
|
+
* int in C.
|
|
209
|
+
* @see lib/common/types.h:Agedgeinfo_t.minlen
|
|
210
|
+
* @see lib/common/types.h:ED_minlen
|
|
211
|
+
*/
|
|
212
|
+
minlen?: number;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Network-simplex cut value; used during feasible-tree construction.
|
|
216
|
+
* @see lib/common/types.h:Agedgeinfo_t.cutvalue
|
|
217
|
+
* @see lib/common/types.h:ED_cutvalue
|
|
218
|
+
*/
|
|
219
|
+
cutvalue?: number;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Index into the network-simplex spanning tree edge list.
|
|
223
|
+
* @see lib/common/types.h:Agedgeinfo_t.tree_index
|
|
224
|
+
* @see lib/common/types.h:ED_tree_index
|
|
225
|
+
*/
|
|
226
|
+
tree_index?: number;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Crossing penalty multiplier for this edge.
|
|
230
|
+
* short in C.
|
|
231
|
+
* @see lib/common/types.h:Agedgeinfo_t.xpenalty
|
|
232
|
+
* @see lib/common/types.h:ED_xpenalty
|
|
233
|
+
*/
|
|
234
|
+
xpenalty?: number;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Multiplicity count — number of parallel edges merged into this one
|
|
238
|
+
* during concentration.
|
|
239
|
+
* short in C.
|
|
240
|
+
* @see lib/common/types.h:Agedgeinfo_t.count
|
|
241
|
+
* @see lib/common/types.h:ED_count
|
|
242
|
+
*/
|
|
243
|
+
count?: number;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Concentrated-opposite flag; set when merging parallel edges from
|
|
247
|
+
* opposing directions.
|
|
248
|
+
* @see lib/common/types.h:Agedgeinfo_t.conc_opp_flag
|
|
249
|
+
* @see lib/common/types.h:ED_conc_opp_flag
|
|
250
|
+
*/
|
|
251
|
+
conc_opp_flag?: boolean;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Debug: render intermediate routing boxes.
|
|
255
|
+
* unsigned char in C.
|
|
256
|
+
* @see lib/common/types.h:Agedgeinfo_t.showboxes
|
|
257
|
+
* @see lib/common/types.h:ED_showboxes
|
|
258
|
+
*/
|
|
259
|
+
showboxes?: number;
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* True for edges created inside the flat-adjacent auxiliary clone graph
|
|
263
|
+
* (make_flat_adj_edges). Models C's setState window: cloneGraph re-declares
|
|
264
|
+
* the aux attribute dictionary via agnxtattr (NAME-sorted), so aux ids are
|
|
265
|
+
* alphabetical ranks while the global symbols E_arrowsz/E_penwidth — which
|
|
266
|
+
* setState does NOT remap — keep main-graph declaration-order ids. Inside
|
|
267
|
+
* the aux, arrow_length's agxget(e, E_arrowsz) therefore mis-indexes into
|
|
268
|
+
* an unrelated attribute (e.g. #1949: id 1 = `color` → "black"/"blue"),
|
|
269
|
+
* strtod fails, and late_double falls back to 1.0 for both arrowsize and
|
|
270
|
+
* penwidth. The arrow POLYGON is unaffected (C regenerates it at emit time
|
|
271
|
+
* from the original edge). Load-bearing C quirk; consumed by the arrow
|
|
272
|
+
* clip-length computation only.
|
|
273
|
+
* @see lib/dotgen/dotsplines.c:setState (E_arrowsz/E_penwidth not remapped)
|
|
274
|
+
* @see lib/common/arrows.c:arrow_length (late_double(e, E_arrowsz, 1.0, 0.0))
|
|
275
|
+
*/
|
|
276
|
+
stale_arrow_attrs?: boolean;
|
|
277
|
+
|
|
278
|
+
// -------------------------------------------------------------------------
|
|
279
|
+
// neato/fdp-specific fields (#ifndef DOT_ONLY in C)
|
|
280
|
+
// -------------------------------------------------------------------------
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Spring factor (ideal edge length multiplier) for spring-model layout.
|
|
284
|
+
* double in C.
|
|
285
|
+
* @see lib/common/types.h:Agedgeinfo_t.factor
|
|
286
|
+
* @see lib/common/types.h:ED_factor
|
|
287
|
+
*/
|
|
288
|
+
factor?: number;
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Ideal edge length for neato/fdp stress-model layout.
|
|
292
|
+
* double in C.
|
|
293
|
+
* @see lib/common/types.h:Agedgeinfo_t.dist
|
|
294
|
+
* @see lib/common/types.h:ED_dist
|
|
295
|
+
*/
|
|
296
|
+
dist?: number;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Path used during spline routing (Ppolyline_t in C).
|
|
300
|
+
* Typed in Batch 4 when pathplan types are ported.
|
|
301
|
+
* @see lib/common/types.h:Agedgeinfo_t.path
|
|
302
|
+
* @see lib/common/types.h:ED_path
|
|
303
|
+
*/
|
|
304
|
+
path?: unknown; // ED_path — Ppolyline_t in C
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
// -------------------------------------------------------------------------
|
|
308
|
+
// samehead / sametail — group id for port merging (sameport.c)
|
|
309
|
+
// -------------------------------------------------------------------------
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Group id for samehead port merging. Edges sharing this value at the same
|
|
313
|
+
* head node will be merged onto a single port by dot_sameports().
|
|
314
|
+
* Corresponds to agxget(e, E_samehead) in the C source.
|
|
315
|
+
* @see lib/dotgen/sameport.c:dot_sameports
|
|
316
|
+
*/
|
|
317
|
+
samehead?: string;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Group id for sametail port merging. Edges sharing this value at the same
|
|
321
|
+
* tail node will be merged onto a single port by dot_sameports().
|
|
322
|
+
* Corresponds to agxget(e, E_sametail) in the C source.
|
|
323
|
+
* @see lib/dotgen/sameport.c:dot_sameports
|
|
324
|
+
*/
|
|
325
|
+
sametail?: string;
|
|
326
|
+
|
|
327
|
+
// -------------------------------------------------------------------------
|
|
328
|
+
// Compound edge cluster clipping (dot layout)
|
|
329
|
+
// -------------------------------------------------------------------------
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Name of the cluster subgraph to clip the head of this edge against.
|
|
333
|
+
* When set, the spline endpoint at the head is clipped to the cluster's
|
|
334
|
+
* bounding box by dot_compoundEdges(). Corresponds to agget(e, "lhead").
|
|
335
|
+
* @see lib/dotgen/compound.c:makeCompoundEdge
|
|
336
|
+
*/
|
|
337
|
+
lhead?: string;
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Name of the cluster subgraph to clip the tail of this edge against.
|
|
341
|
+
* When set, the spline start at the tail is clipped to the cluster's
|
|
342
|
+
* bounding box by dot_compoundEdges(). Corresponds to agget(e, "ltail").
|
|
343
|
+
* @see lib/dotgen/compound.c:makeCompoundEdge
|
|
344
|
+
*/
|
|
345
|
+
ltail?: string;
|
|
346
|
+
|
|
347
|
+
// -------------------------------------------------------------------------
|
|
348
|
+
// dot layout tracking (TypeScript-only, no C equivalent field)
|
|
349
|
+
// -------------------------------------------------------------------------
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* True if this edge was reversed by acyclic() during cycle-breaking.
|
|
353
|
+
* Set by reverseEdge() in src/layout/dot/fastgr.ts. Used by dot_splines
|
|
354
|
+
* to swap bezier control-point order back to tail→head orientation.
|
|
355
|
+
*
|
|
356
|
+
* There is no corresponding C field; C detects reversal via rank comparison
|
|
357
|
+
* in swap_ends_p() (lib/dotgen/dotsplines.c). The TypeScript port adds this
|
|
358
|
+
* field for explicit tracking.
|
|
359
|
+
*
|
|
360
|
+
* @see lib/dotgen/dotsplines.c:swap_ends_p
|
|
361
|
+
*/
|
|
362
|
+
reversed?: boolean;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// ---------------------------------------------------------------------------
|
|
366
|
+
// Factory functions
|
|
367
|
+
// ---------------------------------------------------------------------------
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Returns a zero-initialized Port matching C's zero-init of the port struct
|
|
371
|
+
* in common_init_edge.
|
|
372
|
+
*
|
|
373
|
+
* @see lib/common/types.h:struct port
|
|
374
|
+
* @see lib/common/utils.c:common_init_edge
|
|
375
|
+
*/
|
|
376
|
+
export function makePort(): Port {
|
|
377
|
+
return {
|
|
378
|
+
p: { x: 0, y: 0 },
|
|
379
|
+
theta: 0,
|
|
380
|
+
bp: null,
|
|
381
|
+
defined: false,
|
|
382
|
+
constrained: false,
|
|
383
|
+
// C's default Center port has clip = true; edges clip to the node
|
|
384
|
+
// boundary unless head/tailclip disables it.
|
|
385
|
+
// @see lib/common/shapes.c:Center
|
|
386
|
+
clip: true,
|
|
387
|
+
dyna: false,
|
|
388
|
+
order: 0,
|
|
389
|
+
side: 0,
|
|
390
|
+
name: null,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Constructs a minimal EdgeInfo with required port fields initialized.
|
|
396
|
+
*
|
|
397
|
+
* Both ports are required — tail_port and head_port are always initialized
|
|
398
|
+
* when an edge is created (never null in the C model).
|
|
399
|
+
*
|
|
400
|
+
* @see lib/common/types.h:Agedgeinfo_t
|
|
401
|
+
* @see lib/common/utils.c:common_init_edge
|
|
402
|
+
*/
|
|
403
|
+
export function makeEdgeInfo(tailPort: Port, headPort: Port): EdgeInfo {
|
|
404
|
+
// C agbindrec calloc-zeroes the WHOLE Agedgeinfo_t struct, so every ED_*
|
|
405
|
+
// field exists from creation at a fixed offset. Mirror that (same treatment
|
|
406
|
+
// as makeNodeInfo): pre-declare EVERY optional field as value-preserving
|
|
407
|
+
// `undefined` to pin a single V8 hidden class for all EdgeInfo objects.
|
|
408
|
+
// Without this, fields added lazily during layout (weight/minlen/cutvalue/
|
|
409
|
+
// tree_index/edge_type/to_virt/...) drove EdgeInfo into dictionary (slow)
|
|
410
|
+
// mode — the dominant per-op cost of the network-simplex enter-edge scan
|
|
411
|
+
// (dfsEnterInedge ~52% of 2371's profile), which reads tree_index, cutvalue
|
|
412
|
+
// and minlen per candidate edge. No code reads edge.info via `in`/
|
|
413
|
+
// Object.keys/for-in; the `{...e.info}` spreads copy identical key sets, so
|
|
414
|
+
// adding the keys is behavior-free. Keep in sync with EdgeInfo.
|
|
415
|
+
return {
|
|
416
|
+
tail_port: tailPort,
|
|
417
|
+
head_port: headPort,
|
|
418
|
+
// --- lazily-assigned fields, pre-declared to lock the hidden class ---
|
|
419
|
+
spl: undefined, label: undefined, head_label: undefined, tail_label: undefined,
|
|
420
|
+
xlabel: undefined, headArrowOps: undefined, tailArrowOps: undefined,
|
|
421
|
+
constraint: undefined, edge_type: undefined, compound: undefined,
|
|
422
|
+
adjacent: undefined, label_ontop: undefined, gui_state: undefined,
|
|
423
|
+
to_orig: undefined, to_virt: undefined, lost: undefined, alg: undefined,
|
|
424
|
+
weight: undefined, minlen: undefined, cutvalue: undefined, tree_index: undefined,
|
|
425
|
+
xpenalty: undefined, count: undefined, conc_opp_flag: undefined,
|
|
426
|
+
showboxes: undefined, stale_arrow_attrs: undefined,
|
|
427
|
+
factor: undefined, dist: undefined, path: undefined,
|
|
428
|
+
samehead: undefined, sametail: undefined, lhead: undefined, ltail: undefined,
|
|
429
|
+
reversed: undefined,
|
|
430
|
+
};
|
|
431
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EPL-2.0
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Geometric primitive types ported from lib/common/geom.h and lib/common/types.h.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/common/geom.h
|
|
7
|
+
* @see lib/common/types.h
|
|
8
|
+
* @see lib/common/const.h
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Points
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Floating-point 2-D point.
|
|
17
|
+
*
|
|
18
|
+
* @see lib/common/geom.h: struct pointf_s { double x, y; }
|
|
19
|
+
*/
|
|
20
|
+
export type Point = { x: number; y: number };
|
|
21
|
+
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Boxes
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Floating-point axis-aligned bounding box, defined by lower-left and
|
|
28
|
+
* upper-right corners.
|
|
29
|
+
*
|
|
30
|
+
* C uses uppercase `LL`/`UR`; TypeScript uses `ll`/`ur` per camelCase
|
|
31
|
+
* convention documented in the port mapping table.
|
|
32
|
+
*
|
|
33
|
+
* @see lib/common/geom.h: typedef struct { pointf LL, UR; } boxf
|
|
34
|
+
*/
|
|
35
|
+
export type Box = { ll: Point; ur: Point };
|
|
36
|
+
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Bezier curves and splines
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A single Bezier curve segment used in edge spline rendering.
|
|
43
|
+
*
|
|
44
|
+
* @see lib/common/types.h: typedef struct bezier
|
|
45
|
+
*/
|
|
46
|
+
export type Bezier = {
|
|
47
|
+
/** @see lib/common/types.h: pointf *list */
|
|
48
|
+
list: Point[];
|
|
49
|
+
/** @see lib/common/types.h: size_t size */
|
|
50
|
+
size: number;
|
|
51
|
+
/** @see lib/common/types.h: uint32_t sflag */
|
|
52
|
+
sflag: number;
|
|
53
|
+
/** @see lib/common/types.h: uint32_t eflag */
|
|
54
|
+
eflag: number;
|
|
55
|
+
/** @see lib/common/types.h: pointf sp */
|
|
56
|
+
sp: Point;
|
|
57
|
+
/** @see lib/common/types.h: pointf ep */
|
|
58
|
+
ep: Point;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* A collection of Bezier curves that form an edge spline, together with
|
|
63
|
+
* its bounding box.
|
|
64
|
+
*
|
|
65
|
+
* @see lib/common/types.h: typedef struct splines
|
|
66
|
+
*/
|
|
67
|
+
export type Spline = {
|
|
68
|
+
/** @see lib/common/types.h: bezier *list */
|
|
69
|
+
list: Bezier[];
|
|
70
|
+
/** @see lib/common/types.h: size_t size */
|
|
71
|
+
size: number;
|
|
72
|
+
/** @see lib/common/types.h: boxf bb */
|
|
73
|
+
bb: Box;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Port
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Internal edge endpoint specification.
|
|
82
|
+
*
|
|
83
|
+
* @see lib/common/types.h: typedef struct port
|
|
84
|
+
*/
|
|
85
|
+
export type Port = {
|
|
86
|
+
/** Aiming point relative to node center. @see lib/common/types.h: pointf p */
|
|
87
|
+
p: Point;
|
|
88
|
+
/** Slope in radians. @see lib/common/types.h: double theta */
|
|
89
|
+
theta: number;
|
|
90
|
+
/**
|
|
91
|
+
* When non-null, points to the bounding box of the rectangular port target.
|
|
92
|
+
* @see lib/common/types.h: boxf *bp
|
|
93
|
+
*/
|
|
94
|
+
bp: Box | null;
|
|
95
|
+
/** If true, edge has port info at this end. @see lib/common/types.h: bool defined */
|
|
96
|
+
defined: boolean;
|
|
97
|
+
/** If true, constraints such as theta are set. @see lib/common/types.h: bool constrained */
|
|
98
|
+
constrained: boolean;
|
|
99
|
+
/** If true, clip end to node/port shape. @see lib/common/types.h: bool clip */
|
|
100
|
+
clip: boolean;
|
|
101
|
+
/** If true, assign compass point dynamically. @see lib/common/types.h: bool dyna */
|
|
102
|
+
dyna: boolean;
|
|
103
|
+
/** For mincross. @see lib/common/types.h: unsigned char order */
|
|
104
|
+
order: number;
|
|
105
|
+
/**
|
|
106
|
+
* If port is on perimeter of node, contains the bitwise OR of the sides
|
|
107
|
+
* (TOP, BOTTOM, etc.) it is on.
|
|
108
|
+
* @see lib/common/types.h: unsigned char side
|
|
109
|
+
*/
|
|
110
|
+
side: number;
|
|
111
|
+
/**
|
|
112
|
+
* Port name if explicitly given, otherwise null.
|
|
113
|
+
* @see lib/common/types.h: char *name
|
|
114
|
+
*/
|
|
115
|
+
name: string | null;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
// Utility functions
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
// Rotation helpers
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Counter-clockwise rotate point p by ccwrot degrees (0, 90, 180, or 270).
|
|
128
|
+
*
|
|
129
|
+
* Matches the four-case switch in lib/common/geom.c:ccwrotatepf exactly:
|
|
130
|
+
* 0 → identity
|
|
131
|
+
* 90 → perp(p) = { x: -p.y, y: p.x }
|
|
132
|
+
* 180 → { x: p.x, y: -p.y } (note: keep x, negate y — matches geom.c:180 case)
|
|
133
|
+
* 270 → exch_xyf(p) = { x: p.y, y: p.x }
|
|
134
|
+
*
|
|
135
|
+
* @see lib/common/geom.c:ccwrotatepf
|
|
136
|
+
*/
|
|
137
|
+
export function ccwrotatepf(p: Point, ccwrot: number): Point {
|
|
138
|
+
switch (ccwrot) {
|
|
139
|
+
case 0: return p;
|
|
140
|
+
case 90: return { x: -p.y, y: p.x };
|
|
141
|
+
case 180: return { x: p.x, y: -p.y };
|
|
142
|
+
case 270: return { x: p.y, y: p.x };
|
|
143
|
+
default: return p;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Returns true if box `b0` completely contains box `b1`.
|
|
149
|
+
*
|
|
150
|
+
* Matches the C `CONTAINS` macro exactly:
|
|
151
|
+
* ```c
|
|
152
|
+
* #define CONTAINS(b0,b1) \
|
|
153
|
+
* (((b0).UR.x >= (b1).UR.x) && ((b0).UR.y >= (b1).UR.y) && \
|
|
154
|
+
* ((b0).LL.x <= (b1).LL.x) && ((b0).LL.y <= (b1).LL.y))
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @see lib/common/geom.h: CONTAINS macro
|
|
158
|
+
*/
|
|
159
|
+
export function boxContains(b0: Box, b1: Box): boolean {
|
|
160
|
+
return (
|
|
161
|
+
b0.ur.x >= b1.ur.x &&
|
|
162
|
+
b0.ur.y >= b1.ur.y &&
|
|
163
|
+
b0.ll.x <= b1.ll.x &&
|
|
164
|
+
b0.ll.y <= b1.ll.y
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Returns true if boxes `b0` and `b1` intersect (touching edges count).
|
|
170
|
+
*
|
|
171
|
+
* Matches the C `OVERLAP` macro exactly:
|
|
172
|
+
* ```c
|
|
173
|
+
* #define OVERLAP(b0,b1) (((b0).UR.x >= (b1).LL.x) && ((b1).UR.x >= (b0).LL.x) \
|
|
174
|
+
* && ((b0).UR.y >= (b1).LL.y) && ((b1).UR.y >= (b0).LL.y))
|
|
175
|
+
* ```
|
|
176
|
+
*
|
|
177
|
+
* @see lib/common/geom.h: OVERLAP macro
|
|
178
|
+
*/
|
|
179
|
+
export function boxOverlap(b0: Box, b1: Box): boolean {
|
|
180
|
+
return (
|
|
181
|
+
b0.ur.x >= b1.ll.x &&
|
|
182
|
+
b1.ur.x >= b0.ll.x &&
|
|
183
|
+
b0.ur.y >= b1.ll.y &&
|
|
184
|
+
b1.ur.y >= b0.ll.y
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// ---------------------------------------------------------------------------
|
|
189
|
+
// Constants
|
|
190
|
+
// ---------------------------------------------------------------------------
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Points per inch — used throughout Graphviz for unit conversion.
|
|
194
|
+
*
|
|
195
|
+
* @see lib/common/geom.h: #define POINTS_PER_INCH 72
|
|
196
|
+
*/
|
|
197
|
+
export const POINTS_PER_INCH = 72;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Default line spacing multiplier for multi-line labels.
|
|
201
|
+
*
|
|
202
|
+
* @see lib/common/const.h: #define LINESPACING 1.20
|
|
203
|
+
*/
|
|
204
|
+
export const LINESPACING = 1.20;
|