@knowvah/dot-engine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +277 -0
- package/README.md +292 -0
- package/dist/api/builder.d.ts +78 -0
- package/dist/api/builder.d.ts.map +1 -0
- package/dist/api/edge-ops.d.ts +45 -0
- package/dist/api/edge-ops.d.ts.map +1 -0
- package/dist/api/geometry.d.ts +159 -0
- package/dist/api/geometry.d.ts.map +1 -0
- package/dist/api/index.d.ts +24 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api.js +719 -0
- package/dist/api.js.map +7 -0
- package/dist/bundle.js +101 -0
- package/dist/cdt/bag.d.ts +58 -0
- package/dist/cdt/bag.d.ts.map +1 -0
- package/dist/cdt/hash-core.d.ts +40 -0
- package/dist/cdt/hash-core.d.ts.map +1 -0
- package/dist/cdt/hash.d.ts +74 -0
- package/dist/cdt/hash.d.ts.map +1 -0
- package/dist/cdt/index.d.ts +16 -0
- package/dist/cdt/index.d.ts.map +1 -0
- package/dist/cdt/splay-core.d.ts +78 -0
- package/dist/cdt/splay-core.d.ts.map +1 -0
- package/dist/cdt/splay.d.ts +63 -0
- package/dist/cdt/splay.d.ts.map +1 -0
- package/dist/cdt/strhash.d.ts +26 -0
- package/dist/cdt/strhash.d.ts.map +1 -0
- package/dist/cdt/types.d.ts +11 -0
- package/dist/cdt/types.d.ts.map +1 -0
- package/dist/common/arith.d.ts +35 -0
- package/dist/common/arith.d.ts.map +1 -0
- package/dist/common/arm-pow-data.d.ts +17 -0
- package/dist/common/arm-pow-data.d.ts.map +1 -0
- package/dist/common/arm-pow.d.ts +12 -0
- package/dist/common/arm-pow.d.ts.map +1 -0
- package/dist/common/arrows-constants.d.ts +97 -0
- package/dist/common/arrows-constants.d.ts.map +1 -0
- package/dist/common/arrows-geometry.d.ts +24 -0
- package/dist/common/arrows-geometry.d.ts.map +1 -0
- package/dist/common/arrows-miter.d.ts +24 -0
- package/dist/common/arrows-miter.d.ts.map +1 -0
- package/dist/common/arrows-shapes-poly.d.ts +24 -0
- package/dist/common/arrows-shapes-poly.d.ts.map +1 -0
- package/dist/common/arrows-shapes-util.d.ts +77 -0
- package/dist/common/arrows-shapes-util.d.ts.map +1 -0
- package/dist/common/arrows-shapes.d.ts +48 -0
- package/dist/common/arrows-shapes.d.ts.map +1 -0
- package/dist/common/arrows-types.d.ts +59 -0
- package/dist/common/arrows-types.d.ts.map +1 -0
- package/dist/common/arrows.d.ts +69 -0
- package/dist/common/arrows.d.ts.map +1 -0
- package/dist/common/color.d.ts +66 -0
- package/dist/common/color.d.ts.map +1 -0
- package/dist/common/colorData.d.ts +10 -0
- package/dist/common/colorData.d.ts.map +1 -0
- package/dist/common/compass-port.d.ts +39 -0
- package/dist/common/compass-port.d.ts.map +1 -0
- package/dist/common/crand.d.ts +42 -0
- package/dist/common/crand.d.ts.map +1 -0
- package/dist/common/edge-label-init.d.ts +51 -0
- package/dist/common/edge-label-init.d.ts.map +1 -0
- package/dist/common/edge-offset.d.ts +66 -0
- package/dist/common/edge-offset.d.ts.map +1 -0
- package/dist/common/ellipse-wedge.d.ts +10 -0
- package/dist/common/ellipse-wedge.d.ts.map +1 -0
- package/dist/common/emit-types.d.ts +255 -0
- package/dist/common/emit-types.d.ts.map +1 -0
- package/dist/common/fma.d.ts +10 -0
- package/dist/common/fma.d.ts.map +1 -0
- package/dist/common/graph-init.d.ts +61 -0
- package/dist/common/graph-init.d.ts.map +1 -0
- package/dist/common/html-entities.d.ts +17 -0
- package/dist/common/html-entities.d.ts.map +1 -0
- package/dist/common/html-string.d.ts +14 -0
- package/dist/common/html-string.d.ts.map +1 -0
- package/dist/common/htmltable-emit-fill.d.ts +84 -0
- package/dist/common/htmltable-emit-fill.d.ts.map +1 -0
- package/dist/common/htmltable-emit-rules.d.ts +79 -0
- package/dist/common/htmltable-emit-rules.d.ts.map +1 -0
- package/dist/common/htmltable-emit.d.ts +63 -0
- package/dist/common/htmltable-emit.d.ts.map +1 -0
- package/dist/common/htmltable-lex.d.ts +16 -0
- package/dist/common/htmltable-lex.d.ts.map +1 -0
- package/dist/common/htmltable-parse.d.ts +37 -0
- package/dist/common/htmltable-parse.d.ts.map +1 -0
- package/dist/common/htmltable-port.d.ts +15 -0
- package/dist/common/htmltable-port.d.ts.map +1 -0
- package/dist/common/htmltable-pos-runs.d.ts +88 -0
- package/dist/common/htmltable-pos-runs.d.ts.map +1 -0
- package/dist/common/htmltable-pos.d.ts +192 -0
- package/dist/common/htmltable-pos.d.ts.map +1 -0
- package/dist/common/htmltable-types.d.ts +237 -0
- package/dist/common/htmltable-types.d.ts.map +1 -0
- package/dist/common/htmltable.d.ts +74 -0
- package/dist/common/htmltable.d.ts.map +1 -0
- package/dist/common/layers.d.ts +20 -0
- package/dist/common/layers.d.ts.map +1 -0
- package/dist/common/make-label.d.ts +60 -0
- package/dist/common/make-label.d.ts.map +1 -0
- package/dist/common/multicolor.d.ts +46 -0
- package/dist/common/multicolor.d.ts.map +1 -0
- package/dist/common/nodeinit.d.ts +45 -0
- package/dist/common/nodeinit.d.ts.map +1 -0
- package/dist/common/poly-gencode.d.ts +40 -0
- package/dist/common/poly-gencode.d.ts.map +1 -0
- package/dist/common/poly-init.d.ts +51 -0
- package/dist/common/poly-init.d.ts.map +1 -0
- package/dist/common/poly-inside.d.ts +37 -0
- package/dist/common/poly-inside.d.ts.map +1 -0
- package/dist/common/poly-shapes-cases.d.ts +31 -0
- package/dist/common/poly-shapes-cases.d.ts.map +1 -0
- package/dist/common/poly-shapes-cases2.d.ts +25 -0
- package/dist/common/poly-shapes-cases2.d.ts.map +1 -0
- package/dist/common/poly-shapes-util.d.ts +42 -0
- package/dist/common/poly-shapes-util.d.ts.map +1 -0
- package/dist/common/poly-shapes.d.ts +39 -0
- package/dist/common/poly-shapes.d.ts.map +1 -0
- package/dist/common/poly-sizing.d.ts +189 -0
- package/dist/common/poly-sizing.d.ts.map +1 -0
- package/dist/common/poly-vertices.d.ts +42 -0
- package/dist/common/poly-vertices.d.ts.map +1 -0
- package/dist/common/postproc.d.ts +49 -0
- package/dist/common/postproc.d.ts.map +1 -0
- package/dist/common/ps-fontalias.d.ts +36 -0
- package/dist/common/ps-fontalias.d.ts.map +1 -0
- package/dist/common/random.d.ts +8 -0
- package/dist/common/random.d.ts.map +1 -0
- package/dist/common/record-port.d.ts +34 -0
- package/dist/common/record-port.d.ts.map +1 -0
- package/dist/common/record.d.ts +105 -0
- package/dist/common/record.d.ts.map +1 -0
- package/dist/common/shapeData.d.ts +186 -0
- package/dist/common/shapeData.d.ts.map +1 -0
- package/dist/common/shapes.d.ts +36 -0
- package/dist/common/shapes.d.ts.map +1 -0
- package/dist/common/spline-midpoint.d.ts +31 -0
- package/dist/common/spline-midpoint.d.ts.map +1 -0
- package/dist/common/splines-clip.d.ts +21 -0
- package/dist/common/splines-clip.d.ts.map +1 -0
- package/dist/common/splines-constants.d.ts +42 -0
- package/dist/common/splines-constants.d.ts.map +1 -0
- package/dist/common/splines-geom.d.ts +51 -0
- package/dist/common/splines-geom.d.ts.map +1 -0
- package/dist/common/splines-path-begin.d.ts +17 -0
- package/dist/common/splines-path-begin.d.ts.map +1 -0
- package/dist/common/splines-path-end.d.ts +17 -0
- package/dist/common/splines-path-end.d.ts.map +1 -0
- package/dist/common/splines-path-shared.d.ts +53 -0
- package/dist/common/splines-path-shared.d.ts.map +1 -0
- package/dist/common/splines-routespl.d.ts +40 -0
- package/dist/common/splines-routespl.d.ts.map +1 -0
- package/dist/common/splines-selfedge.d.ts +21 -0
- package/dist/common/splines-selfedge.d.ts.map +1 -0
- package/dist/common/splines.d.ts +18 -0
- package/dist/common/splines.d.ts.map +1 -0
- package/dist/common/style-resolve.d.ts +197 -0
- package/dist/common/style-resolve.d.ts.map +1 -0
- package/dist/common/subst.d.ts +31 -0
- package/dist/common/subst.d.ts.map +1 -0
- package/dist/common/taper.d.ts +23 -0
- package/dist/common/taper.d.ts.map +1 -0
- package/dist/common/textmeasure-factory.d.ts +33 -0
- package/dist/common/textmeasure-factory.d.ts.map +1 -0
- package/dist/common/textmeasure-lookup.d.ts +17 -0
- package/dist/common/textmeasure-lookup.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-a.d.ts +13 -0
- package/dist/common/textmeasure-lut-data-a.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-b.d.ts +12 -0
- package/dist/common/textmeasure-lut-data-b.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data-c.d.ts +13 -0
- package/dist/common/textmeasure-lut-data-c.d.ts.map +1 -0
- package/dist/common/textmeasure-lut-data.d.ts +27 -0
- package/dist/common/textmeasure-lut-data.d.ts.map +1 -0
- package/dist/common/textmeasure.d.ts +120 -0
- package/dist/common/textmeasure.d.ts.map +1 -0
- package/dist/common/types.d.ts +316 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/xlabels-place.d.ts +125 -0
- package/dist/common/xlabels-place.d.ts.map +1 -0
- package/dist/debug.d.ts +58 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/errors.d.ts +63 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/gvc/anchor.d.ts +86 -0
- package/dist/gvc/anchor.d.ts.map +1 -0
- package/dist/gvc/context.d.ts +177 -0
- package/dist/gvc/context.d.ts.map +1 -0
- package/dist/gvc/default-context.d.ts +20 -0
- package/dist/gvc/default-context.d.ts.map +1 -0
- package/dist/gvc/device-cluster.d.ts +25 -0
- package/dist/gvc/device-cluster.d.ts.map +1 -0
- package/dist/gvc/device.d.ts +99 -0
- package/dist/gvc/device.d.ts.map +1 -0
- package/dist/gvc/edge-labels.d.ts +10 -0
- package/dist/gvc/edge-labels.d.ts.map +1 -0
- package/dist/gvc/emit-walk.d.ts +22 -0
- package/dist/gvc/emit-walk.d.ts.map +1 -0
- package/dist/gvc/image-resolver.d.ts +44 -0
- package/dist/gvc/image-resolver.d.ts.map +1 -0
- package/dist/gvc/job.d.ts +234 -0
- package/dist/gvc/job.d.ts.map +1 -0
- package/dist/gvc/textlayout.d.ts +33 -0
- package/dist/gvc/textlayout.d.ts.map +1 -0
- package/dist/gvc/textspan-emit.d.ts +41 -0
- package/dist/gvc/textspan-emit.d.ts.map +1 -0
- package/dist/gvc/usershape.d.ts +25 -0
- package/dist/gvc/usershape.d.ts.map +1 -0
- package/dist/gvc/viewport.d.ts +71 -0
- package/dist/gvc/viewport.d.ts.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52862 -0
- package/dist/index.js.map +7 -0
- package/dist/label/index.d.ts +74 -0
- package/dist/label/index.d.ts.map +1 -0
- package/dist/label/node.d.ts +108 -0
- package/dist/label/node.d.ts.map +1 -0
- package/dist/label/rectangle.d.ts +60 -0
- package/dist/label/rectangle.d.ts.map +1 -0
- package/dist/label/split-q.d.ts +13 -0
- package/dist/label/split-q.d.ts.map +1 -0
- package/dist/label/xlabels-geom.d.ts +46 -0
- package/dist/label/xlabels-geom.d.ts.map +1 -0
- package/dist/label/xlabels-intersect.d.ts +79 -0
- package/dist/label/xlabels-intersect.d.ts.map +1 -0
- package/dist/label/xlabels.d.ts +67 -0
- package/dist/label/xlabels.d.ts.map +1 -0
- package/dist/layout/circo/blockpath.d.ts +120 -0
- package/dist/layout/circo/blockpath.d.ts.map +1 -0
- package/dist/layout/circo/blocks.d.ts +135 -0
- package/dist/layout/circo/blocks.d.ts.map +1 -0
- package/dist/layout/circo/blocktree.d.ts +51 -0
- package/dist/layout/circo/blocktree.d.ts.map +1 -0
- package/dist/layout/circo/circular.d.ts +59 -0
- package/dist/layout/circo/circular.d.ts.map +1 -0
- package/dist/layout/circo/index.d.ts +35 -0
- package/dist/layout/circo/index.d.ts.map +1 -0
- package/dist/layout/circo/init.d.ts +50 -0
- package/dist/layout/circo/init.d.ts.map +1 -0
- package/dist/layout/circo/position-helpers.d.ts +33 -0
- package/dist/layout/circo/position-helpers.d.ts.map +1 -0
- package/dist/layout/circo/position.d.ts +66 -0
- package/dist/layout/circo/position.d.ts.map +1 -0
- package/dist/layout/dot/acyclic.d.ts +8 -0
- package/dist/layout/dot/acyclic.d.ts.map +1 -0
- package/dist/layout/dot/aspect.d.ts +17 -0
- package/dist/layout/dot/aspect.d.ts.map +1 -0
- package/dist/layout/dot/classify.d.ts +52 -0
- package/dist/layout/dot/classify.d.ts.map +1 -0
- package/dist/layout/dot/cluster-path.d.ts +38 -0
- package/dist/layout/dot/cluster-path.d.ts.map +1 -0
- package/dist/layout/dot/cluster.d.ts +102 -0
- package/dist/layout/dot/cluster.d.ts.map +1 -0
- package/dist/layout/dot/compound-clip.d.ts +69 -0
- package/dist/layout/dot/compound-clip.d.ts.map +1 -0
- package/dist/layout/dot/compound-geom.d.ts +115 -0
- package/dist/layout/dot/compound-geom.d.ts.map +1 -0
- package/dist/layout/dot/compound.d.ts +56 -0
- package/dist/layout/dot/compound.d.ts.map +1 -0
- package/dist/layout/dot/conc.d.ts +88 -0
- package/dist/layout/dot/conc.d.ts.map +1 -0
- package/dist/layout/dot/decomp.d.ts +66 -0
- package/dist/layout/dot/decomp.d.ts.map +1 -0
- package/dist/layout/dot/edge-order.d.ts +27 -0
- package/dist/layout/dot/edge-order.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-arrow.d.ts +46 -0
- package/dist/layout/dot/edge-route-arrow.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-boxes.d.ts +75 -0
- package/dist/layout/dot/edge-route-boxes.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-chain.d.ts +67 -0
- package/dist/layout/dot/edge-route-chain.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-clip.d.ts +88 -0
- package/dist/layout/dot/edge-route-clip.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-faithful.d.ts +94 -0
- package/dist/layout/dot/edge-route-faithful.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-geom.d.ts +43 -0
- package/dist/layout/dot/edge-route-geom.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-helpers.d.ts +50 -0
- package/dist/layout/dot/edge-route-helpers.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-poly.d.ts +48 -0
- package/dist/layout/dot/edge-route-poly.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-rank.d.ts +57 -0
- package/dist/layout/dot/edge-route-rank.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-routing.d.ts +99 -0
- package/dist/layout/dot/edge-route-routing.d.ts.map +1 -0
- package/dist/layout/dot/edge-route.d.ts +57 -0
- package/dist/layout/dot/edge-route.d.ts.map +1 -0
- package/dist/layout/dot/fastgr.d.ts +147 -0
- package/dist/layout/dot/fastgr.d.ts.map +1 -0
- package/dist/layout/dot/flat-utils.d.ts +21 -0
- package/dist/layout/dot/flat-utils.d.ts.map +1 -0
- package/dist/layout/dot/flat.d.ts +152 -0
- package/dist/layout/dot/flat.d.ts.map +1 -0
- package/dist/layout/dot/graph-label.d.ts +18 -0
- package/dist/layout/dot/graph-label.d.ts.map +1 -0
- package/dist/layout/dot/index.d.ts +128 -0
- package/dist/layout/dot/index.d.ts.map +1 -0
- package/dist/layout/dot/init.d.ts +93 -0
- package/dist/layout/dot/init.d.ts.map +1 -0
- package/dist/layout/dot/label-order.d.ts +45 -0
- package/dist/layout/dot/label-order.d.ts.map +1 -0
- package/dist/layout/dot/mincross-build.d.ts +52 -0
- package/dist/layout/dot/mincross-build.d.ts.map +1 -0
- package/dist/layout/dot/mincross-cross.d.ts +80 -0
- package/dist/layout/dot/mincross-cross.d.ts.map +1 -0
- package/dist/layout/dot/mincross-flat.d.ts +27 -0
- package/dist/layout/dot/mincross-flat.d.ts.map +1 -0
- package/dist/layout/dot/mincross-order.d.ts +89 -0
- package/dist/layout/dot/mincross-order.d.ts.map +1 -0
- package/dist/layout/dot/mincross-utils.d.ts +60 -0
- package/dist/layout/dot/mincross-utils.d.ts.map +1 -0
- package/dist/layout/dot/mincross.d.ts +75 -0
- package/dist/layout/dot/mincross.d.ts.map +1 -0
- package/dist/layout/dot/ns-core.d.ts +37 -0
- package/dist/layout/dot/ns-core.d.ts.map +1 -0
- package/dist/layout/dot/ns-range.d.ts +17 -0
- package/dist/layout/dot/ns-range.d.ts.map +1 -0
- package/dist/layout/dot/ns-subtree.d.ts +78 -0
- package/dist/layout/dot/ns-subtree.d.ts.map +1 -0
- package/dist/layout/dot/ns.d.ts +86 -0
- package/dist/layout/dot/ns.d.ts.map +1 -0
- package/dist/layout/dot/ortho-adapter.d.ts +19 -0
- package/dist/layout/dot/ortho-adapter.d.ts.map +1 -0
- package/dist/layout/dot/pack-components.d.ts +100 -0
- package/dist/layout/dot/pack-components.d.ts.map +1 -0
- package/dist/layout/dot/position-aux.d.ts +110 -0
- package/dist/layout/dot/position-aux.d.ts.map +1 -0
- package/dist/layout/dot/position-bbox.d.ts +57 -0
- package/dist/layout/dot/position-bbox.d.ts.map +1 -0
- package/dist/layout/dot/position-cluster.d.ts +48 -0
- package/dist/layout/dot/position-cluster.d.ts.map +1 -0
- package/dist/layout/dot/position-ycoords.d.ts +42 -0
- package/dist/layout/dot/position-ycoords.d.ts.map +1 -0
- package/dist/layout/dot/position.d.ts +47 -0
- package/dist/layout/dot/position.d.ts.map +1 -0
- package/dist/layout/dot/rank-dot2.d.ts +114 -0
- package/dist/layout/dot/rank-dot2.d.ts.map +1 -0
- package/dist/layout/dot/rank.d.ts +119 -0
- package/dist/layout/dot/rank.d.ts.map +1 -0
- package/dist/layout/dot/sameport.d.ts +70 -0
- package/dist/layout/dot/sameport.d.ts.map +1 -0
- package/dist/layout/dot/self-loop.d.ts +54 -0
- package/dist/layout/dot/self-loop.d.ts.map +1 -0
- package/dist/layout/dot/splines-clone.d.ts +33 -0
- package/dist/layout/dot/splines-clone.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat-labeled.d.ts +101 -0
- package/dist/layout/dot/splines-flat-labeled.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat-multi.d.ts +35 -0
- package/dist/layout/dot/splines-flat-multi.d.ts.map +1 -0
- package/dist/layout/dot/splines-flat.d.ts +116 -0
- package/dist/layout/dot/splines-flat.d.ts.map +1 -0
- package/dist/layout/dot/splines-groups.d.ts +38 -0
- package/dist/layout/dot/splines-groups.d.ts.map +1 -0
- package/dist/layout/dot/splines-label.d.ts +105 -0
- package/dist/layout/dot/splines-label.d.ts.map +1 -0
- package/dist/layout/dot/splines-route-type.d.ts +28 -0
- package/dist/layout/dot/splines-route-type.d.ts.map +1 -0
- package/dist/layout/dot/splines-route.d.ts +99 -0
- package/dist/layout/dot/splines-route.d.ts.map +1 -0
- package/dist/layout/dot/splines.d.ts +157 -0
- package/dist/layout/dot/splines.d.ts.map +1 -0
- package/dist/layout/dot/straight-edges.d.ts +39 -0
- package/dist/layout/dot/straight-edges.d.ts.map +1 -0
- package/dist/layout/fdp/cluster-edges.d.ts +31 -0
- package/dist/layout/fdp/cluster-edges.d.ts.map +1 -0
- package/dist/layout/fdp/comp.d.ts +29 -0
- package/dist/layout/fdp/comp.d.ts.map +1 -0
- package/dist/layout/fdp/derive.d.ts +39 -0
- package/dist/layout/fdp/derive.d.ts.map +1 -0
- package/dist/layout/fdp/fdp-model.d.ts +101 -0
- package/dist/layout/fdp/fdp-model.d.ts.map +1 -0
- package/dist/layout/fdp/grid.d.ts +49 -0
- package/dist/layout/fdp/grid.d.ts.map +1 -0
- package/dist/layout/fdp/index.d.ts +36 -0
- package/dist/layout/fdp/index.d.ts.map +1 -0
- package/dist/layout/fdp/init.d.ts +26 -0
- package/dist/layout/fdp/init.d.ts.map +1 -0
- package/dist/layout/fdp/layout.d.ts +57 -0
- package/dist/layout/fdp/layout.d.ts.map +1 -0
- package/dist/layout/fdp/normalize.d.ts +18 -0
- package/dist/layout/fdp/normalize.d.ts.map +1 -0
- package/dist/layout/fdp/ports.d.ts +41 -0
- package/dist/layout/fdp/ports.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout-init.d.ts +21 -0
- package/dist/layout/fdp/tlayout-init.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout-parms.d.ts +98 -0
- package/dist/layout/fdp/tlayout-parms.d.ts.map +1 -0
- package/dist/layout/fdp/tlayout.d.ts +43 -0
- package/dist/layout/fdp/tlayout.d.ts.map +1 -0
- package/dist/layout/fdp/xlayout.d.ts +26 -0
- package/dist/layout/fdp/xlayout.d.ts.map +1 -0
- package/dist/layout/neato/bfs.d.ts +43 -0
- package/dist/layout/neato/bfs.d.ts.map +1 -0
- package/dist/layout/neato/cdt-surface.d.ts +16 -0
- package/dist/layout/neato/cdt-surface.d.ts.map +1 -0
- package/dist/layout/neato/conjgrad.d.ts +61 -0
- package/dist/layout/neato/conjgrad.d.ts.map +1 -0
- package/dist/layout/neato/delaunay.d.ts +28 -0
- package/dist/layout/neato/delaunay.d.ts.map +1 -0
- package/dist/layout/neato/dijkstra.d.ts +80 -0
- package/dist/layout/neato/dijkstra.d.ts.map +1 -0
- package/dist/layout/neato/fdp-adjust.d.ts +31 -0
- package/dist/layout/neato/fdp-adjust.d.ts.map +1 -0
- package/dist/layout/neato/index.d.ts +58 -0
- package/dist/layout/neato/index.d.ts.map +1 -0
- package/dist/layout/neato/init.d.ts +207 -0
- package/dist/layout/neato/init.d.ts.map +1 -0
- package/dist/layout/neato/legal.d.ts +7 -0
- package/dist/layout/neato/legal.d.ts.map +1 -0
- package/dist/layout/neato/matrix-ops.d.ts +28 -0
- package/dist/layout/neato/matrix-ops.d.ts.map +1 -0
- package/dist/layout/neato/multispline-router.d.ts +80 -0
- package/dist/layout/neato/multispline-router.d.ts.map +1 -0
- package/dist/layout/neato/multispline.d.ts +24 -0
- package/dist/layout/neato/multispline.d.ts.map +1 -0
- package/dist/layout/neato/overlap-prism.d.ts +26 -0
- package/dist/layout/neato/overlap-prism.d.ts.map +1 -0
- package/dist/layout/neato/overlap.d.ts +85 -0
- package/dist/layout/neato/overlap.d.ts.map +1 -0
- package/dist/layout/neato/sc-adjust.d.ts +33 -0
- package/dist/layout/neato/sc-adjust.d.ts.map +1 -0
- package/dist/layout/neato/sep-factor.d.ts +41 -0
- package/dist/layout/neato/sep-factor.d.ts.map +1 -0
- package/dist/layout/neato/set-aspect.d.ts +33 -0
- package/dist/layout/neato/set-aspect.d.ts.map +1 -0
- package/dist/layout/neato/sgd.d.ts +166 -0
- package/dist/layout/neato/sgd.d.ts.map +1 -0
- package/dist/layout/neato/splines.d.ts +153 -0
- package/dist/layout/neato/splines.d.ts.map +1 -0
- package/dist/layout/neato/stress-kernel.d.ts +53 -0
- package/dist/layout/neato/stress-kernel.d.ts.map +1 -0
- package/dist/layout/neato/stress.d.ts +158 -0
- package/dist/layout/neato/stress.d.ts.map +1 -0
- package/dist/layout/osage/index.d.ts +158 -0
- package/dist/layout/osage/index.d.ts.map +1 -0
- package/dist/layout/osage/layout.d.ts +49 -0
- package/dist/layout/osage/layout.d.ts.map +1 -0
- package/dist/layout/osage/types.d.ts +28 -0
- package/dist/layout/osage/types.d.ts.map +1 -0
- package/dist/layout/pack/array-pack.d.ts +114 -0
- package/dist/layout/pack/array-pack.d.ts.map +1 -0
- package/dist/layout/pack/index.d.ts +157 -0
- package/dist/layout/pack/index.d.ts.map +1 -0
- package/dist/layout/pack/poly-pack.d.ts +126 -0
- package/dist/layout/pack/poly-pack.d.ts.map +1 -0
- package/dist/layout/pack/poly-place.d.ts +27 -0
- package/dist/layout/pack/poly-place.d.ts.map +1 -0
- package/dist/layout/pack/spiral-search.d.ts +18 -0
- package/dist/layout/pack/spiral-search.d.ts.map +1 -0
- package/dist/layout/pack/test-helpers.d.ts +7 -0
- package/dist/layout/pack/test-helpers.d.ts.map +1 -0
- package/dist/layout/pack/types.d.ts +74 -0
- package/dist/layout/pack/types.d.ts.map +1 -0
- package/dist/layout/patchwork/index.d.ts +136 -0
- package/dist/layout/patchwork/index.d.ts.map +1 -0
- package/dist/layout/patchwork/tree-map.d.ts +32 -0
- package/dist/layout/patchwork/tree-map.d.ts.map +1 -0
- package/dist/layout/patchwork/tree-node.d.ts +46 -0
- package/dist/layout/patchwork/tree-node.d.ts.map +1 -0
- package/dist/layout/sfdp/index.d.ts +39 -0
- package/dist/layout/sfdp/index.d.ts.map +1 -0
- package/dist/layout/sfdp/init.d.ts +61 -0
- package/dist/layout/sfdp/init.d.ts.map +1 -0
- package/dist/layout/sfdp/multilevel.d.ts +23 -0
- package/dist/layout/sfdp/multilevel.d.ts.map +1 -0
- package/dist/layout/sfdp/quadtree.d.ts +45 -0
- package/dist/layout/sfdp/quadtree.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-matrix-multiply.d.ts +34 -0
- package/dist/layout/sfdp/sparse-matrix-multiply.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-matrix.d.ts +101 -0
- package/dist/layout/sfdp/sparse-matrix.d.ts.map +1 -0
- package/dist/layout/sfdp/sparse-solve.d.ts +14 -0
- package/dist/layout/sfdp/sparse-solve.d.ts.map +1 -0
- package/dist/layout/sfdp/spring-driver.d.ts +18 -0
- package/dist/layout/sfdp/spring-driver.d.ts.map +1 -0
- package/dist/layout/sfdp/spring-electrical.d.ts +61 -0
- package/dist/layout/sfdp/spring-electrical.d.ts.map +1 -0
- package/dist/layout/twopi/circle.d.ts +83 -0
- package/dist/layout/twopi/circle.d.ts.map +1 -0
- package/dist/layout/twopi/index.d.ts +24 -0
- package/dist/layout/twopi/index.d.ts.map +1 -0
- package/dist/layout/twopi/init.d.ts +85 -0
- package/dist/layout/twopi/init.d.ts.map +1 -0
- package/dist/layout/twopi/pipeline.d.ts +37 -0
- package/dist/layout/twopi/pipeline.d.ts.map +1 -0
- package/dist/layout/twopi/twopi-test-helpers.d.ts +12 -0
- package/dist/layout/twopi/twopi-test-helpers.d.ts.map +1 -0
- package/dist/model/algData.d.ts +175 -0
- package/dist/model/algData.d.ts.map +1 -0
- package/dist/model/cgraph-ops.d.ts +86 -0
- package/dist/model/cgraph-ops.d.ts.map +1 -0
- package/dist/model/edge.d.ts +80 -0
- package/dist/model/edge.d.ts.map +1 -0
- package/dist/model/edgeInfo.d.ts +299 -0
- package/dist/model/edgeInfo.d.ts.map +1 -0
- package/dist/model/geom.d.ts +149 -0
- package/dist/model/geom.d.ts.map +1 -0
- package/dist/model/graph.d.ts +135 -0
- package/dist/model/graph.d.ts.map +1 -0
- package/dist/model/graphInfo.d.ts +418 -0
- package/dist/model/graphInfo.d.ts.map +1 -0
- package/dist/model/index.d.ts +10 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/layoutParams.d.ts +85 -0
- package/dist/model/layoutParams.d.ts.map +1 -0
- package/dist/model/node.d.ts +101 -0
- package/dist/model/node.d.ts.map +1 -0
- package/dist/model/nodeInfo.d.ts +278 -0
- package/dist/model/nodeInfo.d.ts.map +1 -0
- package/dist/model/rankEntry.d.ts +80 -0
- package/dist/model/rankEntry.d.ts.map +1 -0
- package/dist/ortho/chan-dict.d.ts +82 -0
- package/dist/ortho/chan-dict.d.ts.map +1 -0
- package/dist/ortho/fpq.d.ts +54 -0
- package/dist/ortho/fpq.d.ts.map +1 -0
- package/dist/ortho/index.d.ts +35 -0
- package/dist/ortho/index.d.ts.map +1 -0
- package/dist/ortho/maze-channels.d.ts +47 -0
- package/dist/ortho/maze-channels.d.ts.map +1 -0
- package/dist/ortho/maze.d.ts +27 -0
- package/dist/ortho/maze.d.ts.map +1 -0
- package/dist/ortho/ortho-parallel.d.ts +26 -0
- package/dist/ortho/ortho-parallel.d.ts.map +1 -0
- package/dist/ortho/ortho-route.d.ts +31 -0
- package/dist/ortho/ortho-route.d.ts.map +1 -0
- package/dist/ortho/partition.d.ts +34 -0
- package/dist/ortho/partition.d.ts.map +1 -0
- package/dist/ortho/rawgraph.d.ts +41 -0
- package/dist/ortho/rawgraph.d.ts.map +1 -0
- package/dist/ortho/sgraph.d.ts +74 -0
- package/dist/ortho/sgraph.d.ts.map +1 -0
- package/dist/ortho/trap-query.d.ts +32 -0
- package/dist/ortho/trap-query.d.ts.map +1 -0
- package/dist/ortho/trap-segment.d.ts +23 -0
- package/dist/ortho/trap-segment.d.ts.map +1 -0
- package/dist/ortho/trap-types.d.ts +91 -0
- package/dist/ortho/trap-types.d.ts.map +1 -0
- package/dist/ortho/trap-update.d.ts +12 -0
- package/dist/ortho/trap-update.d.ts.map +1 -0
- package/dist/ortho/trapezoid.d.ts +18 -0
- package/dist/ortho/trapezoid.d.ts.map +1 -0
- package/dist/ortho/types.d.ts +241 -0
- package/dist/ortho/types.d.ts.map +1 -0
- package/dist/parser/ast.d.ts +49 -0
- package/dist/parser/ast.d.ts.map +1 -0
- package/dist/parser/builder.d.ts +75 -0
- package/dist/parser/builder.d.ts.map +1 -0
- package/dist/parser/index.d.ts +97 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/pathplan/index.d.ts +8 -0
- package/dist/pathplan/index.d.ts.map +1 -0
- package/dist/pathplan/route.d.ts +9 -0
- package/dist/pathplan/route.d.ts.map +1 -0
- package/dist/pathplan/shortest.d.ts +5 -0
- package/dist/pathplan/shortest.d.ts.map +1 -0
- package/dist/pathplan/solvers.d.ts +5 -0
- package/dist/pathplan/solvers.d.ts.map +1 -0
- package/dist/pathplan/triang.d.ts +25 -0
- package/dist/pathplan/triang.d.ts.map +1 -0
- package/dist/pathplan/types.d.ts +22 -0
- package/dist/pathplan/types.d.ts.map +1 -0
- package/dist/pathplan/visibility.d.ts +13 -0
- package/dist/pathplan/visibility.d.ts.map +1 -0
- package/dist/pathplan/vispath.d.ts +9 -0
- package/dist/pathplan/vispath.d.ts.map +1 -0
- package/dist/rbtree/index.d.ts +127 -0
- package/dist/rbtree/index.d.ts.map +1 -0
- package/dist/render/color-resolve.d.ts +38 -0
- package/dist/render/color-resolve.d.ts.map +1 -0
- package/dist/render/dot.d.ts +379 -0
- package/dist/render/dot.d.ts.map +1 -0
- package/dist/render/index.d.ts +24 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/json.d.ts +89 -0
- package/dist/render/json.d.ts.map +1 -0
- package/dist/render/map-test-helpers.d.ts +13 -0
- package/dist/render/map-test-helpers.d.ts.map +1 -0
- package/dist/render/map.d.ts +197 -0
- package/dist/render/map.d.ts.map +1 -0
- package/dist/render/public.d.ts +64 -0
- package/dist/render/public.d.ts.map +1 -0
- package/dist/render/svg-arrow-ops.d.ts +10 -0
- package/dist/render/svg-arrow-ops.d.ts.map +1 -0
- package/dist/render/svg-cluster.d.ts +9 -0
- package/dist/render/svg-cluster.d.ts.map +1 -0
- package/dist/render/svg-edge-ortho-radius.d.ts +31 -0
- package/dist/render/svg-edge-ortho-radius.d.ts.map +1 -0
- package/dist/render/svg-edge-split.d.ts +48 -0
- package/dist/render/svg-edge-split.d.ts.map +1 -0
- package/dist/render/svg-gradient.d.ts +46 -0
- package/dist/render/svg-gradient.d.ts.map +1 -0
- package/dist/render/svg-graph.d.ts +97 -0
- package/dist/render/svg-graph.d.ts.map +1 -0
- package/dist/render/svg-helpers.d.ts +122 -0
- package/dist/render/svg-helpers.d.ts.map +1 -0
- package/dist/render/svg-id.d.ts +28 -0
- package/dist/render/svg-id.d.ts.map +1 -0
- package/dist/render/svg-multicolor.d.ts +60 -0
- package/dist/render/svg-multicolor.d.ts.map +1 -0
- package/dist/render/svg-parallel-edge.d.ts +28 -0
- package/dist/render/svg-parallel-edge.d.ts.map +1 -0
- package/dist/render/svg-tapered-edge.d.ts +18 -0
- package/dist/render/svg-tapered-edge.d.ts.map +1 -0
- package/dist/render/svg.d.ts +104 -0
- package/dist/render/svg.d.ts.map +1 -0
- package/dist/render/xdot-public.d.ts +95 -0
- package/dist/render/xdot-public.d.ts.map +1 -0
- package/dist/render/xml-escape.d.ts +21 -0
- package/dist/render/xml-escape.d.ts.map +1 -0
- package/dist/render.js +52556 -0
- package/dist/render.js.map +7 -0
- package/dist/util/agxbuf.d.ts +72 -0
- package/dist/util/agxbuf.d.ts.map +1 -0
- package/dist/util/bsd-qsort.d.ts +22 -0
- package/dist/util/bsd-qsort.d.ts.map +1 -0
- package/dist/util/index.d.ts +11 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/list.d.ts +47 -0
- package/dist/util/list.d.ts.map +1 -0
- package/dist/util/math.d.ts +54 -0
- package/dist/util/math.d.ts.map +1 -0
- package/dist/util/mt19937.d.ts +40 -0
- package/dist/util/mt19937.d.ts.map +1 -0
- package/dist/util/printf-round.d.ts +45 -0
- package/dist/util/printf-round.d.ts.map +1 -0
- package/dist/util/xml.d.ts +24 -0
- package/dist/util/xml.d.ts.map +1 -0
- package/dist/vpsc/Block.d.ts +116 -0
- package/dist/vpsc/Block.d.ts.map +1 -0
- package/dist/vpsc/Blocks.d.ts +66 -0
- package/dist/vpsc/Blocks.d.ts.map +1 -0
- package/dist/vpsc/Constraint.d.ts +51 -0
- package/dist/vpsc/Constraint.d.ts.map +1 -0
- package/dist/vpsc/HeapUtils.d.ts +37 -0
- package/dist/vpsc/HeapUtils.d.ts.map +1 -0
- package/dist/vpsc/Solver.d.ts +107 -0
- package/dist/vpsc/Solver.d.ts.map +1 -0
- package/dist/vpsc/SweepLine.d.ts +38 -0
- package/dist/vpsc/SweepLine.d.ts.map +1 -0
- package/dist/vpsc/Variable.d.ts +38 -0
- package/dist/vpsc/Variable.d.ts.map +1 -0
- package/dist/vpsc/index.d.ts +54 -0
- package/dist/vpsc/index.d.ts.map +1 -0
- package/dist/vpsc/sweepTypes.d.ts +29 -0
- package/dist/vpsc/sweepTypes.d.ts.map +1 -0
- package/dist/xdot/index.d.ts +6 -0
- package/dist/xdot/index.d.ts.map +1 -0
- package/dist/xdot/lex.d.ts +22 -0
- package/dist/xdot/lex.d.ts.map +1 -0
- package/dist/xdot/misc.d.ts +13 -0
- package/dist/xdot/misc.d.ts.map +1 -0
- package/dist/xdot/parse.d.ts +21 -0
- package/dist/xdot/parse.d.ts.map +1 -0
- package/dist/xdot/types.d.ts +152 -0
- package/dist/xdot/types.d.ts.map +1 -0
- package/package.json +113 -0
- package/src/api/builder.ts +277 -0
- package/src/api/edge-ops.ts +113 -0
- package/src/api/geometry.ts +307 -0
- package/src/api/index.ts +46 -0
- package/src/cdt/bag.ts +196 -0
- package/src/cdt/hash-core.ts +84 -0
- package/src/cdt/hash.ts +207 -0
- package/src/cdt/index.ts +17 -0
- package/src/cdt/splay-core.ts +301 -0
- package/src/cdt/splay.ts +191 -0
- package/src/cdt/strhash.ts +52 -0
- package/src/cdt/types.ts +13 -0
- package/src/common/arith.ts +39 -0
- package/src/common/arm-pow-data.ts +201 -0
- package/src/common/arm-pow.ts +296 -0
- package/src/common/arrows-constants.ts +175 -0
- package/src/common/arrows-geometry.ts +62 -0
- package/src/common/arrows-miter.ts +84 -0
- package/src/common/arrows-shapes-poly.ts +241 -0
- package/src/common/arrows-shapes-util.ts +162 -0
- package/src/common/arrows-shapes.ts +360 -0
- package/src/common/arrows-types.ts +59 -0
- package/src/common/arrows.ts +209 -0
- package/src/common/color.ts +340 -0
- package/src/common/colorData.ts +264 -0
- package/src/common/compass-port.ts +384 -0
- package/src/common/crand.ts +79 -0
- package/src/common/edge-label-init.ts +310 -0
- package/src/common/edge-offset.ts +140 -0
- package/src/common/ellipse-wedge.ts +189 -0
- package/src/common/emit-types.ts +332 -0
- package/src/common/fma.ts +52 -0
- package/src/common/graph-init.ts +359 -0
- package/src/common/html-entities.ts +299 -0
- package/src/common/html-string.ts +22 -0
- package/src/common/htmltable-emit-fill.ts +367 -0
- package/src/common/htmltable-emit-rules.ts +293 -0
- package/src/common/htmltable-emit.ts +345 -0
- package/src/common/htmltable-lex.ts +138 -0
- package/src/common/htmltable-parse.ts +539 -0
- package/src/common/htmltable-port.ts +32 -0
- package/src/common/htmltable-pos-runs.ts +313 -0
- package/src/common/htmltable-pos.ts +601 -0
- package/src/common/htmltable-types.ts +262 -0
- package/src/common/htmltable.ts +477 -0
- package/src/common/layers.ts +113 -0
- package/src/common/make-label.ts +192 -0
- package/src/common/multicolor.ts +167 -0
- package/src/common/nodeinit.ts +339 -0
- package/src/common/poly-gencode.ts +475 -0
- package/src/common/poly-init.ts +133 -0
- package/src/common/poly-inside.ts +202 -0
- package/src/common/poly-shapes-cases.ts +253 -0
- package/src/common/poly-shapes-cases2.ts +170 -0
- package/src/common/poly-shapes-util.ts +124 -0
- package/src/common/poly-shapes.ts +181 -0
- package/src/common/poly-sizing.ts +639 -0
- package/src/common/poly-vertices.ts +237 -0
- package/src/common/postproc.ts +436 -0
- package/src/common/ps-fontalias.ts +112 -0
- package/src/common/random.ts +37 -0
- package/src/common/record-port.ts +89 -0
- package/src/common/record.ts +523 -0
- package/src/common/shapeData.ts +502 -0
- package/src/common/shapes.ts +187 -0
- package/src/common/spline-midpoint.ts +105 -0
- package/src/common/splines-clip.ts +449 -0
- package/src/common/splines-constants.ts +53 -0
- package/src/common/splines-geom.ts +194 -0
- package/src/common/splines-path-begin.ts +243 -0
- package/src/common/splines-path-end.ts +231 -0
- package/src/common/splines-path-shared.ts +258 -0
- package/src/common/splines-routespl.ts +444 -0
- package/src/common/splines-selfedge.ts +403 -0
- package/src/common/splines.ts +33 -0
- package/src/common/style-resolve.ts +481 -0
- package/src/common/subst.ts +126 -0
- package/src/common/taper.ts +219 -0
- package/src/common/textmeasure-factory.ts +86 -0
- package/src/common/textmeasure-lookup.ts +50 -0
- package/src/common/textmeasure-lut-data-a.ts +182 -0
- package/src/common/textmeasure-lut-data-b.ts +140 -0
- package/src/common/textmeasure-lut-data-c.ts +221 -0
- package/src/common/textmeasure-lut-data.ts +78 -0
- package/src/common/textmeasure.ts +321 -0
- package/src/common/types.ts +425 -0
- package/src/common/xlabels-place.ts +475 -0
- package/src/debug.ts +38 -0
- package/src/errors.ts +95 -0
- package/src/gvc/anchor.ts +530 -0
- package/src/gvc/context.ts +260 -0
- package/src/gvc/default-context.ts +70 -0
- package/src/gvc/device-cluster.ts +114 -0
- package/src/gvc/device.ts +598 -0
- package/src/gvc/edge-labels.ts +116 -0
- package/src/gvc/emit-walk.ts +98 -0
- package/src/gvc/image-resolver.ts +137 -0
- package/src/gvc/job.ts +401 -0
- package/src/gvc/textlayout.ts +44 -0
- package/src/gvc/textspan-emit.ts +100 -0
- package/src/gvc/usershape.ts +33 -0
- package/src/gvc/viewport.ts +203 -0
- package/src/index.ts +165 -0
- package/src/label/index.ts +302 -0
- package/src/label/node.ts +278 -0
- package/src/label/rectangle.ts +123 -0
- package/src/label/split-q.ts +237 -0
- package/src/label/xlabels-geom.ts +132 -0
- package/src/label/xlabels-intersect.ts +421 -0
- package/src/label/xlabels.ts +212 -0
- package/src/layout/circo/blockpath.ts +560 -0
- package/src/layout/circo/blocks.ts +234 -0
- package/src/layout/circo/blocktree.ts +246 -0
- package/src/layout/circo/circular.ts +227 -0
- package/src/layout/circo/index.ts +90 -0
- package/src/layout/circo/init.ts +84 -0
- package/src/layout/circo/position-helpers.ts +104 -0
- package/src/layout/circo/position.ts +196 -0
- package/src/layout/dot/__fixtures__/xcoord-pivot-divergence.gv +79 -0
- package/src/layout/dot/acyclic.ts +60 -0
- package/src/layout/dot/aspect.ts +22 -0
- package/src/layout/dot/classify.ts +462 -0
- package/src/layout/dot/cluster-path.ts +200 -0
- package/src/layout/dot/cluster.ts +480 -0
- package/src/layout/dot/compound-clip.ts +224 -0
- package/src/layout/dot/compound-geom.ts +282 -0
- package/src/layout/dot/compound.ts +294 -0
- package/src/layout/dot/conc.ts +433 -0
- package/src/layout/dot/decomp.ts +165 -0
- package/src/layout/dot/edge-order.ts +62 -0
- package/src/layout/dot/edge-route-arrow.ts +87 -0
- package/src/layout/dot/edge-route-boxes.ts +99 -0
- package/src/layout/dot/edge-route-chain.ts +420 -0
- package/src/layout/dot/edge-route-clip.ts +253 -0
- package/src/layout/dot/edge-route-faithful.ts +404 -0
- package/src/layout/dot/edge-route-geom.ts +90 -0
- package/src/layout/dot/edge-route-helpers.ts +170 -0
- package/src/layout/dot/edge-route-poly.ts +174 -0
- package/src/layout/dot/edge-route-rank.ts +136 -0
- package/src/layout/dot/edge-route-routing.ts +219 -0
- package/src/layout/dot/edge-route.ts +490 -0
- package/src/layout/dot/fastgr.ts +377 -0
- package/src/layout/dot/flat-utils.ts +52 -0
- package/src/layout/dot/flat.ts +518 -0
- package/src/layout/dot/graph-label.ts +114 -0
- package/src/layout/dot/index.ts +302 -0
- package/src/layout/dot/init.ts +300 -0
- package/src/layout/dot/label-order.ts +161 -0
- package/src/layout/dot/mincross-build.ts +373 -0
- package/src/layout/dot/mincross-cross.ts +409 -0
- package/src/layout/dot/mincross-flat.ts +213 -0
- package/src/layout/dot/mincross-order.ts +401 -0
- package/src/layout/dot/mincross-utils.ts +170 -0
- package/src/layout/dot/mincross.ts +386 -0
- package/src/layout/dot/ns-core.ts +122 -0
- package/src/layout/dot/ns-range.ts +228 -0
- package/src/layout/dot/ns-subtree.ts +347 -0
- package/src/layout/dot/ns.ts +506 -0
- package/src/layout/dot/ortho-adapter.ts +133 -0
- package/src/layout/dot/pack-components.ts +433 -0
- package/src/layout/dot/position-aux.ts +382 -0
- package/src/layout/dot/position-bbox.ts +221 -0
- package/src/layout/dot/position-cluster.ts +286 -0
- package/src/layout/dot/position-ycoords.ts +287 -0
- package/src/layout/dot/position.ts +194 -0
- package/src/layout/dot/rank-dot2.ts +528 -0
- package/src/layout/dot/rank.ts +547 -0
- package/src/layout/dot/sameport.ts +278 -0
- package/src/layout/dot/self-loop.ts +147 -0
- package/src/layout/dot/splines-clone.ts +121 -0
- package/src/layout/dot/splines-flat-labeled.ts +408 -0
- package/src/layout/dot/splines-flat-multi.ts +188 -0
- package/src/layout/dot/splines-flat.ts +598 -0
- package/src/layout/dot/splines-groups.ts +190 -0
- package/src/layout/dot/splines-label.ts +432 -0
- package/src/layout/dot/splines-route-type.ts +44 -0
- package/src/layout/dot/splines-route.ts +478 -0
- package/src/layout/dot/splines.ts +538 -0
- package/src/layout/dot/straight-edges.ts +332 -0
- package/src/layout/fdp/cluster-edges.ts +0 -0
- package/src/layout/fdp/comp.ts +160 -0
- package/src/layout/fdp/derive.ts +272 -0
- package/src/layout/fdp/fdp-model.ts +238 -0
- package/src/layout/fdp/grid.ts +77 -0
- package/src/layout/fdp/index.ts +113 -0
- package/src/layout/fdp/init.ts +116 -0
- package/src/layout/fdp/layout.ts +485 -0
- package/src/layout/fdp/normalize.ts +100 -0
- package/src/layout/fdp/ports.ts +161 -0
- package/src/layout/fdp/tlayout-init.ts +230 -0
- package/src/layout/fdp/tlayout-parms.ts +234 -0
- package/src/layout/fdp/tlayout.ts +317 -0
- package/src/layout/fdp/xlayout.ts +350 -0
- package/src/layout/neato/bfs.ts +131 -0
- package/src/layout/neato/cdt-surface.ts +693 -0
- package/src/layout/neato/conjgrad.ts +159 -0
- package/src/layout/neato/delaunay.ts +259 -0
- package/src/layout/neato/dijkstra.ts +296 -0
- package/src/layout/neato/fdp-adjust.ts +124 -0
- package/src/layout/neato/index.ts +310 -0
- package/src/layout/neato/init.ts +505 -0
- package/src/layout/neato/legal.ts +316 -0
- package/src/layout/neato/matrix-ops.ts +112 -0
- package/src/layout/neato/multispline-router.ts +417 -0
- package/src/layout/neato/multispline.ts +427 -0
- package/src/layout/neato/overlap-prism.ts +503 -0
- package/src/layout/neato/overlap.ts +158 -0
- package/src/layout/neato/sc-adjust.ts +206 -0
- package/src/layout/neato/sep-factor.ts +118 -0
- package/src/layout/neato/set-aspect.ts +178 -0
- package/src/layout/neato/sgd.ts +461 -0
- package/src/layout/neato/splines.ts +1014 -0
- package/src/layout/neato/stress-kernel.ts +362 -0
- package/src/layout/neato/stress.ts +420 -0
- package/src/layout/osage/index.ts +548 -0
- package/src/layout/osage/layout.ts +254 -0
- package/src/layout/osage/types.ts +31 -0
- package/src/layout/pack/array-pack.ts +254 -0
- package/src/layout/pack/index.ts +570 -0
- package/src/layout/pack/poly-pack.ts +266 -0
- package/src/layout/pack/poly-place.ts +426 -0
- package/src/layout/pack/spiral-search.ts +106 -0
- package/src/layout/pack/test-helpers.ts +46 -0
- package/src/layout/pack/types.ts +85 -0
- package/src/layout/patchwork/index.ts +441 -0
- package/src/layout/patchwork/tree-map.ts +183 -0
- package/src/layout/patchwork/tree-node.ts +120 -0
- package/src/layout/sfdp/index.ts +231 -0
- package/src/layout/sfdp/init.ts +224 -0
- package/src/layout/sfdp/multilevel.ts +262 -0
- package/src/layout/sfdp/quadtree.ts +267 -0
- package/src/layout/sfdp/sparse-matrix-multiply.ts +160 -0
- package/src/layout/sfdp/sparse-matrix.ts +367 -0
- package/src/layout/sfdp/sparse-solve.ts +122 -0
- package/src/layout/sfdp/spring-driver.ts +209 -0
- package/src/layout/sfdp/spring-electrical.ts +431 -0
- package/src/layout/twopi/circle.ts +339 -0
- package/src/layout/twopi/index.ts +78 -0
- package/src/layout/twopi/init.ts +174 -0
- package/src/layout/twopi/pipeline.ts +98 -0
- package/src/layout/twopi/twopi-test-helpers.ts +44 -0
- package/src/model/algData.ts +194 -0
- package/src/model/cgraph-ops.ts +175 -0
- package/src/model/edge.ts +104 -0
- package/src/model/edgeInfo.ts +431 -0
- package/src/model/geom.ts +204 -0
- package/src/model/graph.ts +172 -0
- package/src/model/graphInfo.ts +528 -0
- package/src/model/index.ts +10 -0
- package/src/model/layoutParams.ts +127 -0
- package/src/model/node.ts +138 -0
- package/src/model/nodeInfo.ts +424 -0
- package/src/model/rankEntry.ts +95 -0
- package/src/ortho/chan-dict.ts +236 -0
- package/src/ortho/fpq.ts +149 -0
- package/src/ortho/index.ts +206 -0
- package/src/ortho/maze-channels.ts +196 -0
- package/src/ortho/maze.ts +311 -0
- package/src/ortho/ortho-parallel.ts +254 -0
- package/src/ortho/ortho-route.ts +349 -0
- package/src/ortho/partition.ts +303 -0
- package/src/ortho/rawgraph.ts +119 -0
- package/src/ortho/sgraph.ts +283 -0
- package/src/ortho/trap-query.ts +174 -0
- package/src/ortho/trap-segment.ts +303 -0
- package/src/ortho/trap-types.ts +171 -0
- package/src/ortho/trap-update.ts +89 -0
- package/src/ortho/trapezoid.ts +120 -0
- package/src/ortho/types.ts +286 -0
- package/src/parser/__fixtures__/directed.dot +10 -0
- package/src/parser/__fixtures__/simple.dot +7 -0
- package/src/parser/__fixtures__/subgraph.dot +17 -0
- package/src/parser/ast.ts +64 -0
- package/src/parser/builder.ts +401 -0
- package/src/parser/dot.d.ts +208 -0
- package/src/parser/dot.js +3321 -0
- package/src/parser/dot.pegjs +263 -0
- package/src/parser/index.ts +353 -0
- package/src/pathplan/index.ts +9 -0
- package/src/pathplan/route.ts +284 -0
- package/src/pathplan/shortest.ts +268 -0
- package/src/pathplan/solvers.ts +65 -0
- package/src/pathplan/triang.ts +221 -0
- package/src/pathplan/types.ts +16 -0
- package/src/pathplan/visibility.ts +170 -0
- package/src/pathplan/vispath.ts +118 -0
- package/src/rbtree/index.ts +418 -0
- package/src/render/color-resolve.ts +171 -0
- package/src/render/dot.ts +1514 -0
- package/src/render/index.ts +29 -0
- package/src/render/json.ts +734 -0
- package/src/render/map-test-helpers.ts +61 -0
- package/src/render/map.ts +528 -0
- package/src/render/public.ts +131 -0
- package/src/render/svg-arrow-ops.ts +113 -0
- package/src/render/svg-cluster.ts +24 -0
- package/src/render/svg-edge-ortho-radius.ts +228 -0
- package/src/render/svg-edge-split.ts +180 -0
- package/src/render/svg-gradient.ts +185 -0
- package/src/render/svg-graph.ts +415 -0
- package/src/render/svg-helpers.ts +623 -0
- package/src/render/svg-id.ts +76 -0
- package/src/render/svg-multicolor.ts +313 -0
- package/src/render/svg-parallel-edge.ts +123 -0
- package/src/render/svg-tapered-edge.ts +56 -0
- package/src/render/svg.ts +307 -0
- package/src/render/xdot-public.ts +164 -0
- package/src/render/xml-escape.ts +56 -0
- package/src/util/agxbuf.ts +138 -0
- package/src/util/bsd-qsort.ts +251 -0
- package/src/util/index.ts +25 -0
- package/src/util/list.ts +122 -0
- package/src/util/math.ts +104 -0
- package/src/util/mt19937.ts +143 -0
- package/src/util/printf-round.ts +163 -0
- package/src/util/xml.ts +184 -0
- package/src/vpsc/Block.ts +375 -0
- package/src/vpsc/Blocks.ts +164 -0
- package/src/vpsc/Constraint.ts +94 -0
- package/src/vpsc/HeapUtils.ts +88 -0
- package/src/vpsc/Solver.ts +274 -0
- package/src/vpsc/SweepLine.ts +214 -0
- package/src/vpsc/Variable.ts +54 -0
- package/src/vpsc/index.ts +122 -0
- package/src/vpsc/sweepTypes.ts +31 -0
- package/src/xdot/index.ts +7 -0
- package/src/xdot/lex.ts +151 -0
- package/src/xdot/misc.ts +226 -0
- package/src/xdot/parse.ts +349 -0
- package/src/xdot/types.ts +158 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript port of Agnode_t from lib/cgraph/cgraph.h.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/cgraph/cgraph.h:Agnode_s
|
|
5
|
+
*/
|
|
6
|
+
import type { Edge } from './edge.js';
|
|
7
|
+
import type { Graph } from './graph.js';
|
|
8
|
+
import { type NodeInfo } from './nodeInfo.js';
|
|
9
|
+
/**
|
|
10
|
+
* Represents an Agnode_t — a graph node.
|
|
11
|
+
*
|
|
12
|
+
* In the C implementation, Agnode_t embeds Agobj_t (tag + data), holds a
|
|
13
|
+
* pointer to its root graph, and contains an embedded Agsubnode_t for the
|
|
14
|
+
* main graph. Per-graph membership is tracked via Agsubnode_t records in
|
|
15
|
+
* libcdt dicts. Here node identity is object identity (pointer comparison
|
|
16
|
+
* in C maps to reference equality in TypeScript).
|
|
17
|
+
*
|
|
18
|
+
* The `info` field replaces the agbindrec / ND_* mechanism (AD-1).
|
|
19
|
+
*
|
|
20
|
+
* @see lib/cgraph/cgraph.h:Agnode_s
|
|
21
|
+
* @see lib/cgraph/cgraph.h:Agsubnode_s
|
|
22
|
+
*/
|
|
23
|
+
export declare class Node {
|
|
24
|
+
/**
|
|
25
|
+
* Unique integer ID per root graph; maps to AGID in the C implementation.
|
|
26
|
+
* @see lib/cgraph/cgraph.h:AGID
|
|
27
|
+
*/
|
|
28
|
+
readonly id: number;
|
|
29
|
+
/** Node name; agnameof equivalent. @see lib/cgraph/cgraph.h:agnameof */
|
|
30
|
+
readonly name: string;
|
|
31
|
+
/**
|
|
32
|
+
* String attributes (agget/agset equivalents).
|
|
33
|
+
* @see lib/cgraph/cgraph.h:Agattr_s
|
|
34
|
+
*/
|
|
35
|
+
attrs: Map<string, string>;
|
|
36
|
+
/**
|
|
37
|
+
* Layout-engine info; replaces ND_* macros via agbindrec (AD-1).
|
|
38
|
+
* @see lib/cgraph/cgraph.h:agbindrec
|
|
39
|
+
*/
|
|
40
|
+
info: NodeInfo;
|
|
41
|
+
/**
|
|
42
|
+
* Root graph that owns this node.
|
|
43
|
+
* @see lib/cgraph/cgraph.h:Agnode_s
|
|
44
|
+
*/
|
|
45
|
+
readonly root: Graph;
|
|
46
|
+
/**
|
|
47
|
+
* Frozen snapshot of the node-attribute defaults (`node [...]`) in effect —
|
|
48
|
+
* from the declaring subgraph up through its ancestors — at the moment this
|
|
49
|
+
* node was first created. Captured at creation (not read live at render) so
|
|
50
|
+
* that a `node [...]` declared *after* this node in the same or an ancestor
|
|
51
|
+
* scope does not retroactively apply, matching DOT semantics. Present on
|
|
52
|
+
* parser-built nodes (even when empty); undefined on programmatically created
|
|
53
|
+
* nodes, which fall back to live graph defaults in `nodeAttr`.
|
|
54
|
+
*/
|
|
55
|
+
nodeDefaultsSnapshot?: Map<string, string>;
|
|
56
|
+
/** @see lib/cgraph/node.c:agnode */
|
|
57
|
+
constructor(id: number, name: string, root: Graph);
|
|
58
|
+
/**
|
|
59
|
+
* Returns out-edges of this node in graph g (where this node is the tail).
|
|
60
|
+
*
|
|
61
|
+
* ORDER: cgraph's per-node out-edge dict sorts by the SEQ of the edge's
|
|
62
|
+
* out-half node — the HEAD — then by edge seq (edge.c:agedgeseqcmpf,
|
|
63
|
+
* Ag_mainedge_seq_disc). Iteration is therefore by (head creation order,
|
|
64
|
+
* edge creation order), NOT by plain edge insertion order. This ordering
|
|
65
|
+
* is load-bearing for emission order and for force-accumulation order in
|
|
66
|
+
* the iterative engines.
|
|
67
|
+
*
|
|
68
|
+
* INVARIANT: In the C cgraph library, the adjacency list for a node begins
|
|
69
|
+
* with the node's own self-loop (index 0), and neighbor traversal MUST start
|
|
70
|
+
* at index 1. This convention originates from lib/cgraph/edge.c and
|
|
71
|
+
* agfstedge/agnxtedge. In this TypeScript implementation, self-loops are
|
|
72
|
+
* included in outEdges() but are excluded from inEdges() — matching the
|
|
73
|
+
* agnxtedge behavior that skips self-loops as in-edges. Callers iterating
|
|
74
|
+
* over neighbors must account for self-loop edges appearing in outEdges().
|
|
75
|
+
*
|
|
76
|
+
* @see lib/cgraph/edge.c:agfstout
|
|
77
|
+
* @see lib/cgraph/edge.c:agnxtout
|
|
78
|
+
* @see lib/cgraph/edge.c:agedgeseqcmpf
|
|
79
|
+
*/
|
|
80
|
+
outEdges(g: Graph): Edge[];
|
|
81
|
+
/**
|
|
82
|
+
* Returns in-edges of this node in graph g (where this node is the head).
|
|
83
|
+
* Self-loops are excluded per C agnxtedge semantics. Ordered by the SEQ
|
|
84
|
+
* of the in-half node — the TAIL — then edge seq (agedgeseqcmpf).
|
|
85
|
+
*
|
|
86
|
+
* @see lib/cgraph/edge.c:agfstin
|
|
87
|
+
* @see lib/cgraph/edge.c:agnxtin
|
|
88
|
+
* @see lib/cgraph/edge.c:agnxtedge (skips self-loops as in-edges)
|
|
89
|
+
* @see lib/cgraph/edge.c:agedgeseqcmpf
|
|
90
|
+
*/
|
|
91
|
+
inEdges(g: Graph): Edge[];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Build a tail→out-edges index for graph `g`. Each list is identical to
|
|
95
|
+
* `node.outEdges(g)` (tail === node, self-loops included, sorted by head.id then
|
|
96
|
+
* seq), but the whole index is O(E log E) instead of O(N·E log E) from calling
|
|
97
|
+
* outEdges once per node. Use at sites that loop every node's out-edges and do
|
|
98
|
+
* not mutate `g.edges` during the loop. @see Node.outEdges
|
|
99
|
+
*/
|
|
100
|
+
export declare function buildOutEdgeIndex(g: Graph): Map<Node, Edge[]>;
|
|
101
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,IAAI;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAErB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,oCAAoC;gBACxB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;IAQjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE;IAM1B;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE;CAK1B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAW7D"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript port of Agnodeinfo_t from lib/common/types.h.
|
|
3
|
+
*
|
|
4
|
+
* All ND_* macros in the C source expand into this struct via AGDATA().
|
|
5
|
+
* In TypeScript, ND_* accesses become direct property reads/writes on NodeInfo.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/common/types.h:Agnodeinfo_t
|
|
8
|
+
* @see lib/common/types.h:ND_* macros
|
|
9
|
+
*/
|
|
10
|
+
import type { Point, Box } from './geom.js';
|
|
11
|
+
import type { Edge } from './edge.js';
|
|
12
|
+
import type { Graph } from './graph.js';
|
|
13
|
+
import type { Node } from './node.js';
|
|
14
|
+
import type { NodeAlgData } from './algData.js';
|
|
15
|
+
export type { DotAlgData, NeatoAlgData, FdpAlgData, FdpDndata, CircoNData, CircoCData, TwopiAlgData, OsageAlgData, PatchworkAlgData, NodeAlgData, } from './algData.js';
|
|
16
|
+
export { THETA_UNSET } from './algData.js';
|
|
17
|
+
/**
|
|
18
|
+
* Dynamic edge list, ported from the C `elist` struct.
|
|
19
|
+
*
|
|
20
|
+
* @see lib/common/types.h: typedef struct elist { edge_t **list; size_t size; }
|
|
21
|
+
*/
|
|
22
|
+
export interface EdgeList {
|
|
23
|
+
list: Edge[];
|
|
24
|
+
size: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Node-level layout info record, ported from Agnodeinfo_t in lib/common/types.h.
|
|
28
|
+
*
|
|
29
|
+
* This interface replaces all ND_* macro accesses in the C source. Required
|
|
30
|
+
* (always-present) fields mirror the non-pointer, non-conditional fields of
|
|
31
|
+
* Agnodeinfo_t. Optional fields correspond to pointer fields and to fields
|
|
32
|
+
* gated by #ifndef DOT_ONLY / #ifndef NEATO_ONLY.
|
|
33
|
+
*
|
|
34
|
+
* @see lib/common/types.h:Agnodeinfo_t
|
|
35
|
+
* @see lib/common/types.h:ND_* macros
|
|
36
|
+
*/
|
|
37
|
+
export interface NodeInfo {
|
|
38
|
+
/** Final layout coordinate (node center). @see lib/common/types.h:ND_coord */
|
|
39
|
+
coord: Point;
|
|
40
|
+
/** Node width in inches. @see lib/common/types.h:ND_width */
|
|
41
|
+
width: number;
|
|
42
|
+
/** Node height in inches. @see lib/common/types.h:ND_height */
|
|
43
|
+
height: number;
|
|
44
|
+
/** Bounding box. @see lib/common/types.h:ND_bb */
|
|
45
|
+
bb: Box;
|
|
46
|
+
/** Total height in points. @see lib/common/types.h:ND_ht */
|
|
47
|
+
ht: number;
|
|
48
|
+
/** Left half-width in points. @see lib/common/types.h:ND_lw */
|
|
49
|
+
lw: number;
|
|
50
|
+
/** Right half-width in points. @see lib/common/types.h:ND_rw */
|
|
51
|
+
rw: number;
|
|
52
|
+
/**
|
|
53
|
+
* Width in points with penwidth taken into account.
|
|
54
|
+
* @see lib/common/types.h:ND_outline_width
|
|
55
|
+
*/
|
|
56
|
+
outline_width: number;
|
|
57
|
+
/**
|
|
58
|
+
* Height in points with penwidth taken into account.
|
|
59
|
+
* @see lib/common/types.h:ND_outline_height
|
|
60
|
+
*/
|
|
61
|
+
outline_height: number;
|
|
62
|
+
/**
|
|
63
|
+
* Pre-periphery-growth node width in inches: the box the innermost
|
|
64
|
+
* vertex ring is scaled to before peripheries step outward. Only set
|
|
65
|
+
* by the measurer sizing path; consumed by multi-periphery vertex
|
|
66
|
+
* generation. (C keeps the equivalent implicitly — poly_init builds
|
|
67
|
+
* vertices and bb in one pass.)
|
|
68
|
+
* @see lib/common/shapes.c:poly_init
|
|
69
|
+
*/
|
|
70
|
+
base_width?: number;
|
|
71
|
+
/** Pre-periphery-growth node height in inches. @see base_width */
|
|
72
|
+
base_height?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Layout state (char in C). @see lib/common/types.h:ND_state
|
|
75
|
+
*/
|
|
76
|
+
state: number;
|
|
77
|
+
/**
|
|
78
|
+
* Node state for GUI ops (unsigned char in C).
|
|
79
|
+
* Bitfield values: GUI_STATE_ACTIVE, GUI_STATE_SELECTED,
|
|
80
|
+
* GUI_STATE_VISITED, GUI_STATE_DELETED.
|
|
81
|
+
* @see lib/common/types.h:ND_gui_state
|
|
82
|
+
*/
|
|
83
|
+
gui_state: number;
|
|
84
|
+
/** True if node represents a cluster. @see lib/common/types.h:ND_clustnode */
|
|
85
|
+
clustnode: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Main node label (textlabel_t* in C).
|
|
88
|
+
* Typed as unknown until textlabel_t is ported in Batch 5b.
|
|
89
|
+
* @see lib/common/types.h:ND_label
|
|
90
|
+
*/
|
|
91
|
+
label?: unknown;
|
|
92
|
+
/**
|
|
93
|
+
* External node label (textlabel_t* in C).
|
|
94
|
+
* Typed as unknown until textlabel_t is ported in Batch 5b.
|
|
95
|
+
* @see lib/common/types.h:ND_xlabel
|
|
96
|
+
*/
|
|
97
|
+
xlabel?: unknown;
|
|
98
|
+
/**
|
|
99
|
+
* Node shape descriptor (shape_desc* in C).
|
|
100
|
+
* Typed as unknown until shape_desc is ported.
|
|
101
|
+
* @see lib/common/types.h:ND_shape
|
|
102
|
+
*/
|
|
103
|
+
shape?: unknown;
|
|
104
|
+
/**
|
|
105
|
+
* Shape-specific data (polygon_t*, field_t*, or engine struct in C).
|
|
106
|
+
* Typed as unknown until the concrete shape types are ported.
|
|
107
|
+
* @see lib/common/types.h:ND_shape_info
|
|
108
|
+
*/
|
|
109
|
+
shape_info?: unknown;
|
|
110
|
+
/**
|
|
111
|
+
* During the dot rank-assignment phase this field holds the assigned rank
|
|
112
|
+
* (integer row in the layered graph).
|
|
113
|
+
*
|
|
114
|
+
* DUAL-USE WARNING: During the dot position phase (x-coordinate assignment),
|
|
115
|
+
* `rank` is REPURPOSED as the x-coordinate by network simplex. Do not read
|
|
116
|
+
* this field as a rank value while the position phase is active. The field
|
|
117
|
+
* is restored to its rank value by `set_xcoords` at the end of the position
|
|
118
|
+
* phase. See lib/dotgen/position.c and AD-8.
|
|
119
|
+
*
|
|
120
|
+
* @see lib/common/types.h:ND_rank
|
|
121
|
+
*/
|
|
122
|
+
rank?: number;
|
|
123
|
+
/**
|
|
124
|
+
* Initial order for ordered edges; also used in crossing-minimization.
|
|
125
|
+
* @see lib/common/types.h:ND_order
|
|
126
|
+
*/
|
|
127
|
+
order?: number;
|
|
128
|
+
/**
|
|
129
|
+
* AD-8: True while the position phase is active and `rank` holds an
|
|
130
|
+
* x-coordinate instead of a rank index. Set before rank(g,2,…) is called;
|
|
131
|
+
* cleared by setXcoords after ND_coord.x is populated.
|
|
132
|
+
* @see lib/dotgen/position.c:set_xcoords
|
|
133
|
+
*/
|
|
134
|
+
rankIsXCoord?: boolean;
|
|
135
|
+
/** @see lib/common/types.h:ND_mval */
|
|
136
|
+
mval?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Fast-graph / spanning-tree node type (char in C).
|
|
139
|
+
* @see lib/common/types.h:ND_node_type
|
|
140
|
+
*/
|
|
141
|
+
node_type?: number;
|
|
142
|
+
/**
|
|
143
|
+
* Rank type classification (char in C).
|
|
144
|
+
* @see lib/common/types.h:ND_ranktype
|
|
145
|
+
*/
|
|
146
|
+
ranktype?: number;
|
|
147
|
+
/**
|
|
148
|
+
* Weight class (char in C).
|
|
149
|
+
* @see lib/common/types.h:ND_weight_class
|
|
150
|
+
*/
|
|
151
|
+
weight_class?: number;
|
|
152
|
+
/**
|
|
153
|
+
* Visited / traversal mark (size_t in C).
|
|
154
|
+
* @see lib/common/types.h:ND_mark
|
|
155
|
+
*/
|
|
156
|
+
mark?: number;
|
|
157
|
+
/**
|
|
158
|
+
* On-stack flag for DFS (char in C).
|
|
159
|
+
* @see lib/common/types.h:ND_onstack
|
|
160
|
+
*/
|
|
161
|
+
onstack?: number;
|
|
162
|
+
/**
|
|
163
|
+
* True if edge has port info. @see lib/common/types.h:ND_has_port
|
|
164
|
+
*/
|
|
165
|
+
has_port?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Showboxes flag (unsigned char in C).
|
|
168
|
+
* @see lib/common/types.h:ND_showboxes
|
|
169
|
+
*/
|
|
170
|
+
showboxes?: number;
|
|
171
|
+
/** In-edges. @see lib/common/types.h:ND_in */
|
|
172
|
+
in?: EdgeList;
|
|
173
|
+
/** Out-edges. @see lib/common/types.h:ND_out */
|
|
174
|
+
out?: EdgeList;
|
|
175
|
+
/** Flat in-edges (same-rank). @see lib/common/types.h:ND_flat_in */
|
|
176
|
+
flat_in?: EdgeList;
|
|
177
|
+
/** Flat out-edges (same-rank). @see lib/common/types.h:ND_flat_out */
|
|
178
|
+
flat_out?: EdgeList;
|
|
179
|
+
/** Other (non-tree, non-flat) edges. @see lib/common/types.h:ND_other */
|
|
180
|
+
other?: EdgeList;
|
|
181
|
+
/** Saved in-edges (for virtual node removal). @see lib/common/types.h:ND_save_in */
|
|
182
|
+
save_in?: EdgeList;
|
|
183
|
+
/** Saved out-edges (for virtual node removal). @see lib/common/types.h:ND_save_out */
|
|
184
|
+
save_out?: EdgeList;
|
|
185
|
+
/** Network-simplex tree in-edges. @see lib/common/types.h:ND_tree_in */
|
|
186
|
+
tree_in?: EdgeList;
|
|
187
|
+
/** Network-simplex tree out-edges. @see lib/common/types.h:ND_tree_out */
|
|
188
|
+
tree_out?: EdgeList;
|
|
189
|
+
/** Next node in doubly-linked fast-graph list. @see lib/common/types.h:ND_next */
|
|
190
|
+
next?: Node;
|
|
191
|
+
/** Previous node in doubly-linked fast-graph list. @see lib/common/types.h:ND_prev */
|
|
192
|
+
prev?: Node;
|
|
193
|
+
/**
|
|
194
|
+
* Network-simplex spanning-tree parent edge.
|
|
195
|
+
* @see lib/common/types.h:ND_par
|
|
196
|
+
*/
|
|
197
|
+
par?: Edge;
|
|
198
|
+
/** Low limit for network simplex. @see lib/common/types.h:ND_low */
|
|
199
|
+
low?: number;
|
|
200
|
+
/** Limit for network simplex subtree. @see lib/common/types.h:ND_lim */
|
|
201
|
+
lim?: number;
|
|
202
|
+
/** Priority for network simplex edge selection. @see lib/common/types.h:ND_priority */
|
|
203
|
+
priority?: number;
|
|
204
|
+
/** Union-find tree size. @see lib/common/types.h:ND_UF_size */
|
|
205
|
+
UF_size?: number;
|
|
206
|
+
/** Union-find parent node. @see lib/common/types.h:ND_UF_parent */
|
|
207
|
+
UF_parent?: Node;
|
|
208
|
+
/** Representative node for a collapsed set. @see lib/common/types.h:ND_rep */
|
|
209
|
+
rep?: Node;
|
|
210
|
+
/** Set leader for min/max rank. @see lib/common/types.h:ND_set */
|
|
211
|
+
set?: Node;
|
|
212
|
+
/** Cluster subgraph that this node belongs to. @see lib/common/types.h:ND_clust */
|
|
213
|
+
clust?: Graph;
|
|
214
|
+
/**
|
|
215
|
+
* Flat-edge label constraint edge stored in ND_alg during dot position phase.
|
|
216
|
+
* Set by flat.c when a virtual node hosts a flat-edge label; read by
|
|
217
|
+
* make_LR_constraints and dotsplines.c.
|
|
218
|
+
* @see lib/dotgen/flat.c:ND_alg (flat edge label usage)
|
|
219
|
+
*/
|
|
220
|
+
posAlg?: Edge;
|
|
221
|
+
/**
|
|
222
|
+
* True if the node's position is pinned (pos attribute with !).
|
|
223
|
+
* @see lib/common/types.h:ND_pinned
|
|
224
|
+
*/
|
|
225
|
+
pinned?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* True if the node has a user-supplied `pos=` (C's ND_pinned >= P_SET, i.e.
|
|
228
|
+
* hasPos). Distinct from {@link pinned} (P_PIN, isFixed): a plain `pos=`
|
|
229
|
+
* seeds the initial layout without fixing the node. neato uses it to start
|
|
230
|
+
* majorization from the input positions (user_pos + hasPos).
|
|
231
|
+
* @see lib/neatogen/neatoinit.c:user_pos; lib/common/macros.h:hasPos
|
|
232
|
+
*/
|
|
233
|
+
posSet?: boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Internal integer node ID used by neato/fdp.
|
|
236
|
+
* @see lib/common/types.h:ND_id
|
|
237
|
+
*/
|
|
238
|
+
id?: number;
|
|
239
|
+
/**
|
|
240
|
+
* Index into the priority queue heap (neato/fdp).
|
|
241
|
+
* @see lib/common/types.h:ND_heapindex
|
|
242
|
+
*/
|
|
243
|
+
heapindex?: number;
|
|
244
|
+
/**
|
|
245
|
+
* BFS hop count from the starting node (neato/fdp).
|
|
246
|
+
* @see lib/common/types.h:ND_hops
|
|
247
|
+
*/
|
|
248
|
+
hops?: number;
|
|
249
|
+
/**
|
|
250
|
+
* N-dimensional position vector (length = ndim).
|
|
251
|
+
* @see lib/common/types.h:ND_pos
|
|
252
|
+
*/
|
|
253
|
+
pos?: number[];
|
|
254
|
+
/**
|
|
255
|
+
* Distance value used by neato stress majorization.
|
|
256
|
+
* @see lib/common/types.h:ND_dist
|
|
257
|
+
*/
|
|
258
|
+
dist?: number;
|
|
259
|
+
/**
|
|
260
|
+
* Per-engine algorithm data. Each layout engine stores a different struct
|
|
261
|
+
* in ND_alg; the `kind` discriminant identifies which engine's data is
|
|
262
|
+
* active without unsafe casting (AD-7).
|
|
263
|
+
*
|
|
264
|
+
* @see lib/common/types.h:ND_alg
|
|
265
|
+
*/
|
|
266
|
+
alg?: NodeAlgData;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Constructs a zero-valued NodeInfo with all required fields set to their
|
|
270
|
+
* zero/false initial state and all optional fields absent (undefined).
|
|
271
|
+
*
|
|
272
|
+
* Mirrors the effect of calloc-initializing an Agnodeinfo_t in C.
|
|
273
|
+
*
|
|
274
|
+
* @see lib/common/types.h:Agnodeinfo_t
|
|
275
|
+
* @see lib/cgraph/node.c:agnode (initial record allocation via agbindrec)
|
|
276
|
+
*/
|
|
277
|
+
export declare function makeNodeInfo(): NodeInfo;
|
|
278
|
+
//# sourceMappingURL=nodeInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeInfo.d.ts","sourceRoot":"","sources":["../../src/model/nodeInfo.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,YAAY,EACV,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EACvE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,GAC1D,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IAKvB,8EAA8E;IAC9E,KAAK,EAAE,KAAK,CAAC;IAEb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IAEd,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,EAAE,EAAE,GAAG,CAAC;IAER,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IAEX,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IAEX,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IAMnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,8CAA8C;IAC9C,EAAE,CAAC,EAAE,QAAQ,CAAC;IAEd,gDAAgD;IAChD,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf,oEAAoE;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,yEAAyE;IACzE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB,oFAAoF;IACpF,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAIpB,kFAAkF;IAClF,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,sFAAsF;IACtF,IAAI,CAAC,EAAE,IAAI,CAAC;IAIZ;;;OAGG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX,kEAAkE;IAClE,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX,mFAAmF;IACnF,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IAMd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAMd;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,QAAQ,CAqCvC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RankEntry and RankTable — one rank in a dot-layout ranked graph.
|
|
3
|
+
* Ported from lib/common/types.h:rank_t.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/common/types.h:rank_t
|
|
6
|
+
*/
|
|
7
|
+
import type { Node } from './node.js';
|
|
8
|
+
/**
|
|
9
|
+
* Bit-packed flat-edge adjacency matrix for one rank.
|
|
10
|
+
* Bit (r,c) = data[(r*ncols+c)>>3] >> ((r*ncols+c)&7) & 1.
|
|
11
|
+
* Dynamically expands on matrixSet.
|
|
12
|
+
* @see lib/dotgen/mincross.c:adjmatrix_t
|
|
13
|
+
*/
|
|
14
|
+
export interface AdjMatrix {
|
|
15
|
+
nrows: number;
|
|
16
|
+
ncols: number;
|
|
17
|
+
data: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* One rank in a dot-layout ranked graph.
|
|
21
|
+
*
|
|
22
|
+
* @see lib/common/types.h:rank_t
|
|
23
|
+
*/
|
|
24
|
+
export interface RankEntry {
|
|
25
|
+
/** Number of nodes in this rank. @see lib/common/types.h:rank_t.n */
|
|
26
|
+
n: number;
|
|
27
|
+
/** Ordered list of nodes in rank. @see lib/common/types.h:rank_t.v */
|
|
28
|
+
v: Node[];
|
|
29
|
+
/**
|
|
30
|
+
* Globally allocated number of nodes.
|
|
31
|
+
* @see lib/common/types.h:rank_t.an
|
|
32
|
+
*/
|
|
33
|
+
an: number;
|
|
34
|
+
/** Allocated list of nodes in rank. @see lib/common/types.h:rank_t.av */
|
|
35
|
+
av: Node[];
|
|
36
|
+
/** Height below centerline. @see lib/common/types.h:rank_t.ht1 */
|
|
37
|
+
ht1: number;
|
|
38
|
+
/** Height above centerline. @see lib/common/types.h:rank_t.ht2 */
|
|
39
|
+
ht2: number;
|
|
40
|
+
/**
|
|
41
|
+
* Height below centerline (primitive nodes only).
|
|
42
|
+
* @see lib/common/types.h:rank_t.pht1
|
|
43
|
+
*/
|
|
44
|
+
pht1: number;
|
|
45
|
+
/**
|
|
46
|
+
* Height above centerline (primitive nodes only).
|
|
47
|
+
* @see lib/common/types.h:rank_t.pht2
|
|
48
|
+
*/
|
|
49
|
+
pht2: number;
|
|
50
|
+
/** For transpose(). @see lib/common/types.h:rank_t.candidate */
|
|
51
|
+
candidate: boolean;
|
|
52
|
+
/** Whether rank is valid. @see lib/common/types.h:rank_t.valid */
|
|
53
|
+
valid: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Cached crossing count.
|
|
56
|
+
* C type is int64_t; JS number is safe up to 2^53.
|
|
57
|
+
* @see lib/common/types.h:rank_t.cache_nc
|
|
58
|
+
*/
|
|
59
|
+
cache_nc: number;
|
|
60
|
+
/**
|
|
61
|
+
* Flat-edge adjacency matrix for cycle-breaking. Allocated per-rank by
|
|
62
|
+
* flatBreakcycles when any flat edges exist; freed in cleanup2.
|
|
63
|
+
* @see lib/dotgen/mincross.c:GD_rank(g)[r].flat
|
|
64
|
+
*/
|
|
65
|
+
flat?: AdjMatrix;
|
|
66
|
+
/**
|
|
67
|
+
* Offset into av[] for the current connected component's slice.
|
|
68
|
+
* Simulates C pointer arithmetic: C's `rank[r].v = rank[r].av + offset`
|
|
69
|
+
* becomes TypeScript's `vStart`.
|
|
70
|
+
* @see lib/dotgen/mincross.c:init_mccomp
|
|
71
|
+
*/
|
|
72
|
+
vStart?: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Array of rank entries for a ranked (dot) graph layout.
|
|
76
|
+
*
|
|
77
|
+
* @see lib/common/types.h:rank_t
|
|
78
|
+
*/
|
|
79
|
+
export type RankTable = RankEntry[];
|
|
80
|
+
//# sourceMappingURL=rankEntry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rankEntry.d.ts","sourceRoot":"","sources":["../../src/model/rankEntry.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMtC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB;AAMD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,CAAC,EAAE,MAAM,CAAC;IACV,sEAAsE;IACtE,CAAC,EAAE,IAAI,EAAE,CAAC;IACV;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,EAAE,EAAE,IAAI,EAAE,CAAC;IACX,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C-exact cdt Dtoset for the ortho channel dictionaries.
|
|
3
|
+
*
|
|
4
|
+
* The ortho maze keeps its channels in two-level cdt Dtoset splay trees and
|
|
5
|
+
* walks them with `dtflatten` + `dtlink` (following raw `->right` pointers).
|
|
6
|
+
* Crucially, `add_p_edges` calls `chanSearch` (a `dtmatch`) WHILE walking the
|
|
7
|
+
* flattened dicts: the first search UNFLATTENs the dict (the sorted right-
|
|
8
|
+
* spine chain simply becomes the tree again) and every search top-down-splays
|
|
9
|
+
* the tree, rewriting the very `->right` pointers the walker is following.
|
|
10
|
+
* The walk therefore silently skips every channel that a splay rotation moves
|
|
11
|
+
* into a left subtree — under 1447_1/osage C visits only 157 of 294 channels
|
|
12
|
+
* in the parallel pass. This behavior is deterministic and LOAD-BEARING: the
|
|
13
|
+
* final precedence graphs (and thus track assignments) depend on exactly
|
|
14
|
+
* which channels the corrupted walk reaches.
|
|
15
|
+
*
|
|
16
|
+
* The repo's generic DtSplay deliberately deviates from dttree.c in the
|
|
17
|
+
* not-found reassembly and insert attachment (documented in splay-core.ts),
|
|
18
|
+
* which changes tree SHAPE — harmless for its users, fatal here where shape
|
|
19
|
+
* drives the walk. Hence this separate byte-faithful implementation.
|
|
20
|
+
*
|
|
21
|
+
* Ports exactly:
|
|
22
|
+
* - dttree.c do_search loop + found (has_root) and not-found (no_root)
|
|
23
|
+
* reassembly, DT_MATCH and DT_INSERT flavours (DT_OSET only).
|
|
24
|
+
* - dtflatten.c right-linearisation (RROTATE loop) + DT_FLATTEN flag.
|
|
25
|
+
* - dthdr.h UNFLATTEN: any tree op clears the flag; for DT_OSET the
|
|
26
|
+
* flattened chain IS a valid (degenerate) tree, so no restructuring.
|
|
27
|
+
*
|
|
28
|
+
* @see lib/cdt/dttree.c:dttree
|
|
29
|
+
* @see lib/cdt/dtflatten.c:dtflatten
|
|
30
|
+
* @see lib/cdt/dtrestore.c:dtrestore
|
|
31
|
+
* @see lib/ortho/ortho.c:chanSearch, assignTracks (dtflatten walks)
|
|
32
|
+
*/
|
|
33
|
+
/** Dtlink_t analogue. Walkers follow `.right` live, exactly like dtlink(). */
|
|
34
|
+
export interface CdtNode<T> {
|
|
35
|
+
left: CdtNode<T> | null;
|
|
36
|
+
right: CdtNode<T> | null;
|
|
37
|
+
obj: T;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Ordered set (DT_OSET) with C-exact splay + flatten semantics.
|
|
41
|
+
* K is the search-key type; the comparator receives (searchKey, nodeKey).
|
|
42
|
+
*/
|
|
43
|
+
export declare class CdtOset<T, K> {
|
|
44
|
+
private readonly keyOf;
|
|
45
|
+
private readonly cmp;
|
|
46
|
+
/** dt->data.here — current root (or flattened-list head). */
|
|
47
|
+
here: CdtNode<T> | null;
|
|
48
|
+
/** DT_FLATTEN flag. */
|
|
49
|
+
private flattened;
|
|
50
|
+
constructor(keyOf: (obj: T) => K, cmp: (a: K, b: K) => number);
|
|
51
|
+
/** UNFLATTEN(dt): clear the flag. For DT_OSET dtrestore leaves `here`
|
|
52
|
+
* pointing at the chain head — the right-spine chain IS the tree. */
|
|
53
|
+
private unflatten;
|
|
54
|
+
/**
|
|
55
|
+
* The dttree.c do_search loop. Returns the stopped-at node (`root` in C,
|
|
56
|
+
* null when the key fell off the tree) plus the partition state.
|
|
57
|
+
* link.right = LEFT partition head, link.left = RIGHT partition head
|
|
58
|
+
* (names inverted in C — preserved). l/r are the partition tails.
|
|
59
|
+
* @see lib/cdt/dttree.c:dttree (do_search)
|
|
60
|
+
*/
|
|
61
|
+
private search;
|
|
62
|
+
/**
|
|
63
|
+
* dtmatch: search by key, splaying. Returns the object or null.
|
|
64
|
+
* Found: has_root reassembly. Not found: no_root reassembly.
|
|
65
|
+
* @see lib/cdt/dttree.c:dttree (DT_MATCH)
|
|
66
|
+
*/
|
|
67
|
+
match(key: K): T | null;
|
|
68
|
+
/**
|
|
69
|
+
* dtinsert (DT_OSET): if an equal object exists, splay it to root and
|
|
70
|
+
* return IT (the caller must discard its own copy — C frees it). Otherwise
|
|
71
|
+
* the new node becomes root with the raw partitions as its subtrees.
|
|
72
|
+
* @see lib/cdt/dttree.c:dttree (DT_INSERT)
|
|
73
|
+
*/
|
|
74
|
+
insert(obj: T): T;
|
|
75
|
+
/**
|
|
76
|
+
* dtflatten: right-linearise the tree into a sorted chain (returns head).
|
|
77
|
+
* Early-returns the existing chain when already flattened.
|
|
78
|
+
* @see lib/cdt/dtflatten.c:dtflatten
|
|
79
|
+
*/
|
|
80
|
+
flatten(): CdtNode<T> | null;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=chan-dict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chan-dict.d.ts","sourceRoot":"","sources":["../../src/ortho/chan-dict.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,8EAA8E;AAC9E,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC;CACR;AAcD;;;GAGG;AACH,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC;IAOrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAC/B,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAS;gBAGP,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM;IAG9C;0EACsE;IACtE,OAAO,CAAC,SAAS;IAIjB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAmEd;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAuBvB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAyBjB;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;CAuB7B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Max-heap priority queue for Dijkstra shortest path.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/fPQ.c.
|
|
5
|
+
* Values stored NEGATED — larger negative = lower priority.
|
|
6
|
+
* The guard node at index 0 has nVal = 0, so upheap stops at root.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/ortho/fPQ.c
|
|
9
|
+
* @see lib/ortho/fPQ.h
|
|
10
|
+
*/
|
|
11
|
+
import type { SNode } from "./types.js";
|
|
12
|
+
/**
|
|
13
|
+
* Priority queue state.
|
|
14
|
+
* @see lib/ortho/fPQ.c:struct pq
|
|
15
|
+
*/
|
|
16
|
+
export interface Pq {
|
|
17
|
+
pq: (SNode | null)[];
|
|
18
|
+
cnt: number;
|
|
19
|
+
guard: SNode;
|
|
20
|
+
size: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Allocate a priority queue for up to sz nodes.
|
|
24
|
+
* @see lib/ortho/fPQ.c:PQgen
|
|
25
|
+
*/
|
|
26
|
+
export declare function pqGen(sz: number): Pq;
|
|
27
|
+
/**
|
|
28
|
+
* Free the priority queue. (No-op in TS.)
|
|
29
|
+
* @see lib/ortho/fPQ.c:PQfree
|
|
30
|
+
*/
|
|
31
|
+
export declare function pqFree(_pq: Pq): void;
|
|
32
|
+
/**
|
|
33
|
+
* Reset the priority queue to empty.
|
|
34
|
+
* @see lib/ortho/fPQ.c:PQinit
|
|
35
|
+
*/
|
|
36
|
+
export declare function pqInit(pq: Pq): void;
|
|
37
|
+
/**
|
|
38
|
+
* Insert node np into the queue.
|
|
39
|
+
* Returns 1 on overflow, 0 on success.
|
|
40
|
+
* @see lib/ortho/fPQ.c:PQ_insert
|
|
41
|
+
*/
|
|
42
|
+
export declare function pqInsert(pq: Pq, np: SNode): number;
|
|
43
|
+
/**
|
|
44
|
+
* Remove and return the node with the highest nVal (most-negative distance).
|
|
45
|
+
* Returns null when queue is empty.
|
|
46
|
+
* @see lib/ortho/fPQ.c:PQremove
|
|
47
|
+
*/
|
|
48
|
+
export declare function pqRemove(pq: Pq): SNode | null;
|
|
49
|
+
/**
|
|
50
|
+
* Update the priority of node n to d and restore heap.
|
|
51
|
+
* @see lib/ortho/fPQ.c:PQupdate
|
|
52
|
+
*/
|
|
53
|
+
export declare function pqUpdate(pq: Pq, n: SNode, d: number): void;
|
|
54
|
+
//# sourceMappingURL=fpq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fpq.d.ts","sourceRoot":"","sources":["../../src/ortho/fpq.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,EAAE;IACjB,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,CAkBpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAEnC;AAoBD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAQlD;AA2BD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,IAAI,CAW7C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entry point for orthogonal edge routing.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/ortho.c:orthoEdges.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/ortho/ortho.c:orthoEdges
|
|
7
|
+
*/
|
|
8
|
+
import type { OrthoGraph, OrthoEdge, OrthoNode, OrthoPoint } from "./types.js";
|
|
9
|
+
import type { ClipAndInstallFn } from "./types.js";
|
|
10
|
+
export type { OrthoGraph, OrthoEdge, OrthoNode, OrthoPoint, ClipAndInstallFn };
|
|
11
|
+
export { SEED } from "./partition.js";
|
|
12
|
+
/**
|
|
13
|
+
* Squared distance between the two endpoints' CENTERS — used only to order
|
|
14
|
+
* edges for routing. C uses `DIST2(ND_coord(tail), ND_coord(head))`, i.e. the
|
|
15
|
+
* node centres, NOT the bb corners: for nodes of differing width the corner-to-
|
|
16
|
+
* corner length reorders near-equal-length edges, and routing order drives maze
|
|
17
|
+
* channel occupancy (and thus corridor selection). Squared vs sqrt is immaterial
|
|
18
|
+
* to the ordering but kept squared to match C exactly.
|
|
19
|
+
*
|
|
20
|
+
* Read `coord` directly when the caller plumbed it (same fallback pattern as
|
|
21
|
+
* mkMaze's gcell derivation, maze.ts:267-268) rather than re-deriving the
|
|
22
|
+
* centre from `bb` — the bb round-trip ((c-lw)+(c+rw))/2 loses low bits versus
|
|
23
|
+
* C's raw ND_coord read and can flip a qsort tie-order on other graphs. Falls
|
|
24
|
+
* back to the bb centre only for port-less callers that don't model coord.
|
|
25
|
+
* @see lib/ortho/ortho.c:1124 (edgeLen)
|
|
26
|
+
*/
|
|
27
|
+
export declare function edgeLen(e: OrthoEdge): number;
|
|
28
|
+
/**
|
|
29
|
+
* For edges without position information, construct an orthogonal routing.
|
|
30
|
+
* If useLbls is true, issues a warning and sets useLbls=false.
|
|
31
|
+
*
|
|
32
|
+
* @see lib/ortho/ortho.c:orthoEdges
|
|
33
|
+
*/
|
|
34
|
+
export declare function orthoEdges(g: OrthoGraph, useLbls: boolean, clipAndInstall?: ClipAndInstallFn): void;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ortho/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAE7C,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAQ5C;AAgED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EACb,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,gBAAgB,GAChC,IAAI,CA2EN"}
|