@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,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounding box computation, aspect ratio scaling, and set_aspect for dot.
|
|
3
|
+
* @see lib/dotgen/position.c:dot_compute_bb, rec_bb, scale_bb, set_aspect
|
|
4
|
+
*/
|
|
5
|
+
import type { Graph } from '../../model/graph.js';
|
|
6
|
+
import type { Node } from '../../model/node.js';
|
|
7
|
+
import { dotRoot } from './mincross-utils.js';
|
|
8
|
+
/** @internal — first NORMAL node in rank, scanning left to right */
|
|
9
|
+
export declare function firstNormalNode(rk: {
|
|
10
|
+
v: Node[];
|
|
11
|
+
n: number;
|
|
12
|
+
}): Node | undefined;
|
|
13
|
+
/** @internal — last NORMAL node in rank, scanning right to left */
|
|
14
|
+
export declare function lastNormalNode(rk: {
|
|
15
|
+
v: Node[];
|
|
16
|
+
n: number;
|
|
17
|
+
}): Node | undefined;
|
|
18
|
+
/** @internal — find x range of NORMAL nodes in one rank */
|
|
19
|
+
export declare function rankNormalXRange(rk: {
|
|
20
|
+
v: Node[];
|
|
21
|
+
n: number;
|
|
22
|
+
}): [number, number];
|
|
23
|
+
/** @see lib/dotgen/position.c:dot_compute_bb (root x-range scan) */
|
|
24
|
+
export declare function computeBbRootX(g: Graph): [number, number];
|
|
25
|
+
/** @see lib/dotgen/position.c:dot_compute_bb */
|
|
26
|
+
export declare function dotComputeBb(g: Graph, root: Graph): void;
|
|
27
|
+
/** @see lib/dotgen/position.c:rec_bb */
|
|
28
|
+
export declare function recBb(g: Graph, root: Graph): void;
|
|
29
|
+
/** @see lib/dotgen/position.c:scale_bb */
|
|
30
|
+
export declare function scaleBb(g: Graph, xf: number, yf: number): void;
|
|
31
|
+
type SzPoint = {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
};
|
|
35
|
+
type DrawingPartial = {
|
|
36
|
+
size: SzPoint;
|
|
37
|
+
ratioKind: string;
|
|
38
|
+
ratio?: number;
|
|
39
|
+
};
|
|
40
|
+
/** @internal — fill ratio scale factors */
|
|
41
|
+
export declare function aspectFillScale(d: DrawingPartial, sz: SzPoint): [number, number] | null;
|
|
42
|
+
/** @internal — expand ratio scale factors */
|
|
43
|
+
export declare function aspectExpandScale(d: DrawingPartial, g: Graph): [number, number] | null;
|
|
44
|
+
/** @internal — fixed ratio scale factors */
|
|
45
|
+
export declare function aspectValueScale(d: DrawingPartial, sz: SzPoint): [number, number];
|
|
46
|
+
/** @see lib/dotgen/position.c:set_aspect (choose scale factors for ratio mode) */
|
|
47
|
+
export declare function aspectScaleFactors(g: Graph, sz: SzPoint): [number, number] | null;
|
|
48
|
+
/** @see lib/dotgen/position.c:set_aspect */
|
|
49
|
+
export declare function setAspect(g: Graph): void;
|
|
50
|
+
/**
|
|
51
|
+
* Set cluster label positions after bounding boxes are computed.
|
|
52
|
+
* @see lib/common/postproc.c:place_graph_label
|
|
53
|
+
*/
|
|
54
|
+
export declare function placeGraphLabel(g: Graph): void;
|
|
55
|
+
/** @internal — get dot root for use in bbox computations */
|
|
56
|
+
export { dotRoot };
|
|
57
|
+
//# sourceMappingURL=position-bbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-bbox.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/position-bbox.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAa9C,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,EAAE,EAAE;IAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAK9E;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAK7E;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,EAAE,EAAE;IAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAO/E;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBzD;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAcxD;AAED,wCAAwC;AACxC,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAIjD;AAED,0CAA0C;AAC1C,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAM9D;AAMD,KAAK,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxC,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQvF;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAOtF;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAKjF;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAOjF;AAED,4CAA4C;AAC5C,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAkBxC;AAkCD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAU9C;AAED,4DAA4D;AAC5D,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cluster containment and separation constraints for the dot position phase.
|
|
3
|
+
* @see lib/dotgen/position.c:contain_nodes, contain_clustnodes,
|
|
4
|
+
* keepout_othernodes, contain_subclust, separate_subclust, pos_clusters
|
|
5
|
+
*/
|
|
6
|
+
import type { Graph } from '../../model/graph.js';
|
|
7
|
+
import type { Node } from '../../model/node.js';
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function graphMargin(g: Graph): number;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function graphMinrank(g: Graph): number;
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare function graphMaxrank(g: Graph): number;
|
|
14
|
+
/** @internal */
|
|
15
|
+
export declare function borderLeft(g: Graph): number;
|
|
16
|
+
/** @internal */
|
|
17
|
+
export declare function borderRight(g: Graph): number;
|
|
18
|
+
/** @internal */
|
|
19
|
+
export declare function borderBottom(g: Graph): number;
|
|
20
|
+
/** @internal */
|
|
21
|
+
export declare function borderTop(g: Graph): number;
|
|
22
|
+
/** @see lib/dotgen/position.c:make_lrvn */
|
|
23
|
+
export declare function makeLrvn(g: Graph): void;
|
|
24
|
+
/** @see lib/dotgen/position.c:contain_nodes (per-rank) */
|
|
25
|
+
export declare function containNodesRank(g: Graph, r: number, ln: Node, rn: Node): void;
|
|
26
|
+
/** @see lib/dotgen/position.c:contain_nodes */
|
|
27
|
+
export declare function containNodes(g: Graph): void;
|
|
28
|
+
/** @see lib/dotgen/position.c:contain_clustnodes */
|
|
29
|
+
export declare function containClustnodes(g: Graph): void;
|
|
30
|
+
/** @see lib/dotgen/position.c:vnode_not_related_to */
|
|
31
|
+
export declare function vnodeNotRelatedTo(g: Graph, v: Node): boolean;
|
|
32
|
+
/** @see lib/dotgen/position.c:keepout_othernodes (left-side scan for one rank) */
|
|
33
|
+
export declare function keepoutLeft(root: Graph, g: Graph, r: number, margin: number): void;
|
|
34
|
+
/** @see lib/dotgen/position.c:keepout_othernodes (right-side scan for one rank) */
|
|
35
|
+
export declare function keepoutRight(root: Graph, g: Graph, r: number, margin: number): void;
|
|
36
|
+
/** @see lib/dotgen/position.c:keepout_othernodes */
|
|
37
|
+
export declare function keepoutOthernodes(g: Graph): void;
|
|
38
|
+
/** @see lib/dotgen/position.c:contain_subclust */
|
|
39
|
+
export declare function containSubclust(g: Graph): void;
|
|
40
|
+
/** @see lib/dotgen/position.c:separate_subclust (check overlap and assign left/right) */
|
|
41
|
+
export declare function separateClustPair(low: Graph, high: Graph, margin: number): void;
|
|
42
|
+
/** @see lib/dotgen/position.c:separate_subclust */
|
|
43
|
+
export declare function separateSubclust(g: Graph): void;
|
|
44
|
+
/** @see lib/dotgen/position.c:pos_clusters */
|
|
45
|
+
export declare function posClusters(g: Graph): void;
|
|
46
|
+
/** @see lib/dotgen/position.c:compress_graph */
|
|
47
|
+
export declare function compressGraph(g: Graph): void;
|
|
48
|
+
//# sourceMappingURL=position-cluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-cluster.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/position-cluster.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAehD,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE5C;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAgC;AAE9E,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAgC;AAE9E,gBAAgB;AAChB,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE3C;AAED,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE5C;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE7C;AAED,gBAAgB;AAChB,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE1C;AAMD,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAavC;AAMD,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,CAc9E;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO3C;AAMD,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAchD;AAMD,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAQ5D;AAMD,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAelF;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAenF;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAUhD;AAMD,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAW9C;AAMD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsB/E;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAe/C;AAMD,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAM1C;AAMD,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO5C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Y-coordinate assignment, cluster height computation, and rank adjustment
|
|
3
|
+
* for the dot position phase.
|
|
4
|
+
* @see lib/dotgen/position.c:set_ycoords, clust_ht, adjustRanks, adjustSimple
|
|
5
|
+
*/
|
|
6
|
+
import type { Graph } from '../../model/graph.js';
|
|
7
|
+
import type { Node } from '../../model/node.js';
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function graphMarginY(g: Graph): number;
|
|
10
|
+
/** @internal — largest self-edge label half-height for a node */
|
|
11
|
+
export declare function selfEdgeLabelHt(n: Node): number;
|
|
12
|
+
/** @see lib/dotgen/position.c:clust_ht (single node scan, returns ht2) */
|
|
13
|
+
export declare function clustHtScanNode(g: Graph, n: Node, r: number): number;
|
|
14
|
+
/** @see lib/dotgen/position.c:clust_ht (update nearest enclosing cluster ht) */
|
|
15
|
+
export declare function updateClustNodeHt(g: Graph, n: Node, ht2: number): void;
|
|
16
|
+
/** @see lib/dotgen/position.c:clust_ht (per-rank node scan) */
|
|
17
|
+
export declare function clustHtRankScan(g: Graph): void;
|
|
18
|
+
/** @see lib/dotgen/position.c:clust_ht (sub-cluster ht accumulation) */
|
|
19
|
+
export declare function clustHtSubclusters(g: Graph, margin: number, ht1In: number, ht2In: number): [number, number, boolean];
|
|
20
|
+
/** @see lib/dotgen/position.c:clust_ht (label height adjustment) */
|
|
21
|
+
export declare function clustHtLabel(g: Graph, ht1In: number, ht2In: number): [number, number, boolean];
|
|
22
|
+
/** @see lib/dotgen/position.c:clust_ht */
|
|
23
|
+
export declare function clustHt(g: Graph): boolean;
|
|
24
|
+
/** @internal — recompute maxht after adjustRanks (exact_ranksep path) */
|
|
25
|
+
export declare function recomputeMaxht(g: Graph): number;
|
|
26
|
+
/** @internal — re-assign y if ranks are equally spaced */
|
|
27
|
+
export declare function equalSpaceRanks(g: Graph, maxht: number): void;
|
|
28
|
+
/** @see lib/dotgen/position.c:set_ycoords (initial y assignment loop) */
|
|
29
|
+
export declare function setYcoordsInitial(g: Graph, lbl: boolean): void;
|
|
30
|
+
/** @see lib/dotgen/position.c:set_ycoords (copy y from rank leader to all nodes) */
|
|
31
|
+
export declare function setYcoordsCopy(g: Graph): void;
|
|
32
|
+
/** @see lib/dotgen/position.c:set_ycoords */
|
|
33
|
+
export declare function setYcoords(g: Graph): void;
|
|
34
|
+
/** @internal — shift ranks above minr by deltop */
|
|
35
|
+
export declare function shiftRanksAbove(root: Graph, minr: number, deltop: number): void;
|
|
36
|
+
/** @see lib/dotgen/position.c:adjustSimple */
|
|
37
|
+
export declare function adjustSimple(g: Graph, delta: number, marginTotal: number): void;
|
|
38
|
+
/** @see lib/dotgen/position.c:adjustRanks (label height delta application) */
|
|
39
|
+
export declare function adjustRanksLabel(g: Graph, root: Graph, marginTotal: number): void;
|
|
40
|
+
/** @see lib/dotgen/position.c:adjustRanks */
|
|
41
|
+
export declare function adjustRanks(g: Graph, marginTotal: number): void;
|
|
42
|
+
//# sourceMappingURL=position-ycoords.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-ycoords.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/position-ycoords.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAahD,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE7C;AAMD,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAY/C;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOtE;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAU9C;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,KAAK,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAY3B;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAO9F;AAED,0CAA0C;AAC1C,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAmBzC;AAMD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAW/C;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO7D;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA2B9D;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAK7C;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAKzC;AAMD,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAK/E;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAmB/E;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAgBjF;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4B/D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dot position phase entry point: x-coordinate assignment, graph connectivity,
|
|
3
|
+
* leaf expansion stubs, and the main dot_position function.
|
|
4
|
+
* @see lib/dotgen/position.c
|
|
5
|
+
*/
|
|
6
|
+
import type { Graph } from '../../model/graph.js';
|
|
7
|
+
import type { Node } from '../../model/node.js';
|
|
8
|
+
import type { Edge } from '../../model/edge.js';
|
|
9
|
+
/**
|
|
10
|
+
* Reads ND_rank (set to x-coordinate by network simplex), writes to
|
|
11
|
+
* ND_coord.x, then RESTORES ND_rank = i (actual rank index).
|
|
12
|
+
*
|
|
13
|
+
* AD-8: This is the critical dual-use restoration point.
|
|
14
|
+
* After this function, ND_rank is valid again as a rank index.
|
|
15
|
+
*
|
|
16
|
+
* @see lib/dotgen/position.c:set_xcoords
|
|
17
|
+
*/
|
|
18
|
+
/** @see lib/dotgen/position.c:set_xcoords (rank→coord copy + rank restore) */
|
|
19
|
+
export declare function setXcoordsFromRank(g: Graph): void;
|
|
20
|
+
/** @see lib/dotgen/position.c:set_xcoords */
|
|
21
|
+
export declare function setXcoords(g: Graph): void;
|
|
22
|
+
/** @see lib/dotgen/position.c:connectGraph (check edge list for cross-rank edge) */
|
|
23
|
+
export declare function edgeListCrossesRank(el: {
|
|
24
|
+
list: Edge[];
|
|
25
|
+
size: number;
|
|
26
|
+
} | undefined, r: number): boolean;
|
|
27
|
+
/** @see lib/dotgen/position.c:connectGraph (find node with cross-rank edge in rank) */
|
|
28
|
+
export declare function rankHasCrossEdge(rk: {
|
|
29
|
+
v: Node[];
|
|
30
|
+
n: number;
|
|
31
|
+
}, r: number): boolean;
|
|
32
|
+
/** @see lib/dotgen/position.c:connectGraph */
|
|
33
|
+
export declare function connectGraph(g: Graph): void;
|
|
34
|
+
/** @see lib/dotgen/position.c:nsiter2 — nslimit attribute not yet ported */
|
|
35
|
+
export declare function nsiter2(_g: Graph): number;
|
|
36
|
+
/** @internal — expand rank slot array for leaf nodes */
|
|
37
|
+
export declare function expandRankSlots(rk: {
|
|
38
|
+
v: Node[];
|
|
39
|
+
n: number;
|
|
40
|
+
}, newN: number): void;
|
|
41
|
+
/** @see lib/dotgen/position.c:make_leafslots */
|
|
42
|
+
export declare function makeLeafslots(g: Graph): void;
|
|
43
|
+
/** @see lib/dotgen/position.c:1015 expand_leaves */
|
|
44
|
+
export declare function expandLeaves(g: Graph): void;
|
|
45
|
+
/** @see lib/dotgen/position.c:dot_position */
|
|
46
|
+
export declare function dotPosition(g: Graph): number;
|
|
47
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/position.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAmBhD;;;;;;;;GAQG;AACH,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAUjD;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAGzC;AAMD,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAC9C,CAAC,EAAE,MAAM,GACR,OAAO,CAOT;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE;IAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAOjF;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAc3C;AAMD,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAAuB;AAMjE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,EAAE,EAAE;IAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQhF;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAY5C;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAY3C;AAUD,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CA+B5C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/** @see lib/dotgen/rank.c — dot2_rank pipeline */
|
|
2
|
+
import type { Node } from '../../model/node.js';
|
|
3
|
+
import type { Edge } from '../../model/edge.js';
|
|
4
|
+
import { Graph } from '../../model/graph.js';
|
|
5
|
+
/** Mutable state replacing C statics Last_node and id in weak(). */
|
|
6
|
+
export interface XgState {
|
|
7
|
+
lastNode: Node | undefined;
|
|
8
|
+
weakId: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function eMinlen(e: Edge): number;
|
|
11
|
+
export declare function eWeight(e: Edge): number;
|
|
12
|
+
export declare function nRankOrZero(n: Node): number;
|
|
13
|
+
export declare function gMaxrankOrNeg(g: Graph): number;
|
|
14
|
+
export declare function gMinrankOrMax(g: Graph): number;
|
|
15
|
+
export declare function gHasParent(g: Graph): boolean;
|
|
16
|
+
export declare function gLevel(g: Graph): number;
|
|
17
|
+
export declare function gParentOrSelf(g: Graph): Graph;
|
|
18
|
+
/** @see lib/dotgen/rank.c:find */
|
|
19
|
+
export declare function d2find(n: Node): Node;
|
|
20
|
+
/** @see lib/dotgen/rank.c:union_one */
|
|
21
|
+
export declare function d2unionOne(leader: Node, n: Node | undefined): Node;
|
|
22
|
+
/** @see lib/dotgen/rank.c:union_all */
|
|
23
|
+
export declare function d2unionAll(g: Graph): Node | undefined;
|
|
24
|
+
/** @see lib/dotgen/rank.c:makeXnode — C's `agnode(G, name, 1)` returns the
|
|
25
|
+
* existing node when one with `name` is present, so the fixed-name helper nodes
|
|
26
|
+
* TOP/BOT are a single shared node across all strong clusters (compile_clusters
|
|
27
|
+
* calls makeXnode(Xg, TOPNODE) once per cluster). Creating a fresh node per call
|
|
28
|
+
* gives each cluster its own TOP/BOT, splitting the STRONG_CLUSTER_WEIGHT
|
|
29
|
+
* constraint and derailing the rank solve. Real/weak node names are unique, so
|
|
30
|
+
* this dedup only affects TOP/BOT/ROOT — exactly as in C. */
|
|
31
|
+
export declare function makeXnode(Xg: Graph, name: string, st: XgState): Node;
|
|
32
|
+
export declare function xgFindEdge(Xg: Graph, t: Node, h: Node): Edge | undefined;
|
|
33
|
+
/** Xg edges are calloc'd in C: minlen/weight are 0, not the user-edge default 1
|
|
34
|
+
* (dot_init_edge, dotinit.c:85). merge() relies on it — MAX(0,minlen) keeps a
|
|
35
|
+
* minlen of 0, and += weight accumulates from 0. */
|
|
36
|
+
export declare function xgAddEdge(Xg: Graph, t: Node, h: Node): Edge;
|
|
37
|
+
export declare function xgDeleteEdge(Xg: Graph, e: Edge): void;
|
|
38
|
+
/** @see lib/dotgen/rank.c:merge */
|
|
39
|
+
export declare function xgMerge(e: Edge, minlen: number, weight: number): void;
|
|
40
|
+
/** @see lib/dotgen/rank.c:rankset_kind */
|
|
41
|
+
export declare function csRanksetKind(g: Graph): number;
|
|
42
|
+
/** @see lib/dotgen/rank.c:set_parent + cluster setup in compile_samerank */
|
|
43
|
+
export declare function csSetupCluster(g: Graph, parentClust: Graph | undefined): Graph | undefined;
|
|
44
|
+
export declare function csProcessClusterNodes(g: Graph): void;
|
|
45
|
+
export declare function csProcessRankset(g: Graph, clust: Graph | undefined): void;
|
|
46
|
+
export declare function csCheckDegenerate(g: Graph): void;
|
|
47
|
+
/** @see lib/dotgen/rank.c:compile_samerank */
|
|
48
|
+
export declare function compileSamerank(g: Graph, parentClust: Graph | undefined): void;
|
|
49
|
+
/** @see lib/dotgen/rank.c:compile_nodes */
|
|
50
|
+
export declare function compileNodes(g: Graph, Xg: Graph, st: XgState): void;
|
|
51
|
+
/** @see lib/dotgen/rank.c:strong */
|
|
52
|
+
export declare function xgStrong(Xg: Graph, t: Node, h: Node, orig: Edge): void;
|
|
53
|
+
/** @see lib/dotgen/rank.c:weak — find existing weak diamond v→t, v→h */
|
|
54
|
+
export declare function xgWeakExists(Xg: Graph, t: Node, h: Node): boolean;
|
|
55
|
+
export declare function xgWeakSetWeights(e: Edge, f: Edge, origW: number, origML: number): void;
|
|
56
|
+
/** @see lib/dotgen/rank.c:weak */
|
|
57
|
+
export declare function xgWeak(Xg: Graph, t: Node, h: Node, orig: Edge, st: XgState): void;
|
|
58
|
+
/** @see lib/dotgen/rank.c:is_nonconstraint */
|
|
59
|
+
export declare function isNonConstraint(e: Edge): boolean;
|
|
60
|
+
/** @see lib/dotgen/rank.c:is_a_strong_cluster */
|
|
61
|
+
export declare function isAStrongCluster(g: Graph): boolean;
|
|
62
|
+
/** @see lib/dotgen/rank.c:dot_lca */
|
|
63
|
+
export declare function dotLca(c0: Graph, c1: Graph): Graph;
|
|
64
|
+
/** @see lib/dotgen/rank.c:is_internal_to_cluster */
|
|
65
|
+
export declare function isInternalToCluster(e: Edge): boolean;
|
|
66
|
+
/** Returns true if edge direction should be swapped for internal cluster. */
|
|
67
|
+
export declare function ceShouldSwap(e: Edge, tc: Graph | undefined, hc: Graph | undefined): boolean;
|
|
68
|
+
export declare function ceInternal(Xg: Graph, e: Edge, Xt: Node, Xh: Node): void;
|
|
69
|
+
/** @see lib/dotgen/rank.c:compile_edges inner body */
|
|
70
|
+
export declare function compileEdgeItem(Xg: Graph, e: Edge, Xt: Node, st: XgState): void;
|
|
71
|
+
/** @see lib/dotgen/rank.c:compile_edges */
|
|
72
|
+
export declare function compileEdges(g: Graph, Xg: Graph, st: XgState): void;
|
|
73
|
+
interface ClusterBounds {
|
|
74
|
+
top: Node | undefined;
|
|
75
|
+
bot: Node | undefined;
|
|
76
|
+
}
|
|
77
|
+
export declare function ccProcessNode(g: Graph, Xg: Graph, st: XgState, n: Node, b: ClusterBounds): void;
|
|
78
|
+
export declare function ccStrongCluster(g: Graph, Xg: Graph, st: XgState, top: Node | undefined, bot: Node | undefined): ClusterBounds;
|
|
79
|
+
/** @see lib/dotgen/rank.c:compile_clusters */
|
|
80
|
+
export declare function compileClusters(g: Graph, Xg: Graph, st: XgState, top: Node | undefined, bot: Node | undefined): void;
|
|
81
|
+
export declare function reverseEdge2(Xg: Graph, e: Edge): void;
|
|
82
|
+
interface DfsFrame {
|
|
83
|
+
v: Node;
|
|
84
|
+
edges: Edge[];
|
|
85
|
+
i: number;
|
|
86
|
+
}
|
|
87
|
+
export declare function dfsNode(Xg: Graph, v: Node, frames: DfsFrame[]): void;
|
|
88
|
+
export declare function dfsStep(Xg: Graph, frames: DfsFrame[]): void;
|
|
89
|
+
/** @see lib/dotgen/rank.c:break_cycles */
|
|
90
|
+
export declare function breakCycles(Xg: Graph): void;
|
|
91
|
+
/** @see lib/dotgen/rank.c:dfscc (iterative) */
|
|
92
|
+
export declare function dfsccNode(Xg: Graph, start: Node, cc: number): void;
|
|
93
|
+
/** @see lib/dotgen/rank.c:connect_components */
|
|
94
|
+
export declare function connectComponents(Xg: Graph, st: XgState): number;
|
|
95
|
+
/** @see lib/dotgen/rank.c:add_fast_edges */
|
|
96
|
+
export declare function addFastEdges(Xg: Graph): void;
|
|
97
|
+
export declare function setMinMax2Clusters(g: Graph): void;
|
|
98
|
+
export declare function setMinMax2ScanNode(g: Graph, n: Node, ref: {
|
|
99
|
+
v: Node | undefined;
|
|
100
|
+
}): void;
|
|
101
|
+
/** @see lib/dotgen/rank.c:setMinMax */
|
|
102
|
+
export declare function setMinMax2(g: Graph, doRoot: boolean): void;
|
|
103
|
+
export declare function readoutCopyRank(g: Graph, n: Node): void;
|
|
104
|
+
export declare function readoutUpdateMinrk(n: Node, xn: Node, minrk: number[]): void;
|
|
105
|
+
export declare function readoutApplyMinrk(g: Graph, minrk: number[]): void;
|
|
106
|
+
export declare function readoutShiftAll(g: Graph, delta: number): void;
|
|
107
|
+
export declare function readoutScanNodes(g: Graph, minrk: number[] | undefined): void;
|
|
108
|
+
export declare function readoutNormalize(g: Graph, minrk: number[] | undefined): boolean;
|
|
109
|
+
/** @see lib/dotgen/rank.c:readout_levels */
|
|
110
|
+
export declare function readoutLevels(g: Graph, Xg: Graph, ncc: number): void;
|
|
111
|
+
/** @see lib/dotgen/rank.c:dot2_rank */
|
|
112
|
+
export declare function dot2Rank(g: Graph): void;
|
|
113
|
+
export {};
|
|
114
|
+
//# sourceMappingURL=rank-dot2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rank-dot2.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/rank-dot2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/** @see lib/dotgen/rank.c — dot1_rank pipeline (dot2_rank in rank-dot2.ts) */
|
|
2
|
+
import type { Node } from '../../model/node.js';
|
|
3
|
+
import type { Edge } from '../../model/edge.js';
|
|
4
|
+
import type { Graph } from '../../model/graph.js';
|
|
5
|
+
import { class1 } from './classify.js';
|
|
6
|
+
export declare const SAMERANK = 1;
|
|
7
|
+
export declare const MINRANK = 2;
|
|
8
|
+
export declare const SOURCERANK = 3;
|
|
9
|
+
export declare const MAXRANK = 4;
|
|
10
|
+
export declare const SINKRANK = 5;
|
|
11
|
+
export declare const LEAFSET = 6;
|
|
12
|
+
export declare const CLUSTER = 7;
|
|
13
|
+
export declare const SLACKNODE = 2;
|
|
14
|
+
export declare const EDGE_LABEL = 1;
|
|
15
|
+
/** @see lib/common/const.h:HEAD_LABEL */
|
|
16
|
+
export declare const HEAD_LABEL: number;
|
|
17
|
+
/** @see lib/common/const.h:TAIL_LABEL */
|
|
18
|
+
export declare const TAIL_LABEL: number;
|
|
19
|
+
/** @see lib/common/const.h:NODE_XLABEL */
|
|
20
|
+
export declare const NODE_XLABEL: number;
|
|
21
|
+
/** @see lib/common/const.h:EDGE_XLABEL */
|
|
22
|
+
export declare const EDGE_XLABEL: number;
|
|
23
|
+
export declare const NEW_RANK: number;
|
|
24
|
+
export declare const LOCAL = 100;
|
|
25
|
+
export declare const GLOBAL = 101;
|
|
26
|
+
export declare const NOCLUST = 102;
|
|
27
|
+
/**
|
|
28
|
+
* Back-edge penalty multiplier for cluster constraints.
|
|
29
|
+
* @see lib/dotgen/class1.c:CL_BACK
|
|
30
|
+
*/
|
|
31
|
+
export declare const CL_BACK = 10;
|
|
32
|
+
/**
|
|
33
|
+
* Edge type: edge is ignored during layout (concentrated / back-edge suppressed).
|
|
34
|
+
* @see lib/dotgen/class2.c:IGNORED
|
|
35
|
+
*/
|
|
36
|
+
export declare const IGNORED = 6;
|
|
37
|
+
/** Global cluster layout type. @see lib/common/globals.h:CL_type */
|
|
38
|
+
export declare let clType: number;
|
|
39
|
+
export declare function setClType(t: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* @see lib/common/utils.c:mapBool — mapbool(p) === mapBool(p, false).
|
|
42
|
+
* Only a leading-digit value is parsed numerically (`gv_isdigit(*p)` →
|
|
43
|
+
* `atoi(p) != 0`); any other unrecognized string (e.g. "none") returns the
|
|
44
|
+
* default `false`. The previous `parseInt(s) !== 0` returned `true` for such
|
|
45
|
+
* strings because `NaN !== 0` is true — so `constraint=none` was treated as a
|
|
46
|
+
* rank constraint, mis-ranking clusters joined only by constraint=none edges.
|
|
47
|
+
*/
|
|
48
|
+
export declare function mapbool(s: string | undefined): boolean;
|
|
49
|
+
/** @see lib/util/gv_math.h:scale_clamp */
|
|
50
|
+
export declare function scaleClamp(nnodes: number, scale: number): number;
|
|
51
|
+
/** @see lib/common/utils.c:is_a_cluster */
|
|
52
|
+
export declare function isACluster(g: Graph): boolean;
|
|
53
|
+
export { class1 };
|
|
54
|
+
export declare function cleanup1ClearNode(n: Node): void;
|
|
55
|
+
export declare function cleanup1CompSlot(g: Graph, comp: Node[], ci: number): void;
|
|
56
|
+
export declare function cleanup1VirtA(g: Graph): void;
|
|
57
|
+
export declare function cleanup1VirtB(g: Graph): void;
|
|
58
|
+
/** @see lib/dotgen/rank.c:cleanup1 */
|
|
59
|
+
export declare function cleanup1(g: Graph): void;
|
|
60
|
+
/** @see lib/dotgen/rank.c:edgelabel_ranks */
|
|
61
|
+
export declare function edgelabelRanks(g: Graph): void;
|
|
62
|
+
/** @see lib/dotgen/rank.c:rank_set_class */
|
|
63
|
+
export declare function rankSetClass(g: Graph): number;
|
|
64
|
+
export declare function collapseRanksetMinMax(g: Graph, kind: number, u: Node): void;
|
|
65
|
+
/** @see lib/dotgen/rank.c:collapse_rankset */
|
|
66
|
+
export declare function collapseRankset(g: Graph, subg: Graph, kind: number): void;
|
|
67
|
+
/** @see lib/dotgen/rank.c:make_new_cluster */
|
|
68
|
+
export declare function makeNewCluster(g: Graph, subg: Graph): void;
|
|
69
|
+
/** @see lib/dotgen/rank.c:node_induce */
|
|
70
|
+
export declare function nodeInduce(par: Graph, clust: Graph): void;
|
|
71
|
+
/** @see lib/dotgen/rank.c:dot_scan_ranks */
|
|
72
|
+
export declare function dotScanRanks(g: Graph): void;
|
|
73
|
+
export declare function clusterLeaderScan(g: Graph): [Node | undefined, number];
|
|
74
|
+
/** @see lib/dotgen/rank.c:cluster_leader */
|
|
75
|
+
export declare function clusterLeader(clust: Graph): void;
|
|
76
|
+
/** @see lib/dotgen/rank.c:collapse_cluster */
|
|
77
|
+
export declare function collapseCluster(g: Graph, subg: Graph): void;
|
|
78
|
+
/** @see lib/dotgen/rank.c:collapse_sets */
|
|
79
|
+
export declare function collapseSets(rg: Graph, g: Graph): void;
|
|
80
|
+
/** @see lib/dotgen/rank.c:find_clusters */
|
|
81
|
+
export declare function findClusters(g: Graph): void;
|
|
82
|
+
/** @see lib/dotgen/rank.c:set_minmax */
|
|
83
|
+
export declare function gLeaderRank(g: Graph): number;
|
|
84
|
+
export declare function gMinrankVal(g: Graph): number;
|
|
85
|
+
export declare function gMaxrankVal(g: Graph): number;
|
|
86
|
+
export declare function gNCluster(g: Graph): number;
|
|
87
|
+
export declare function gClust(g: Graph): Graph[];
|
|
88
|
+
/** Used by expandNode and setMinMax2 in rank-dot2.ts */
|
|
89
|
+
export declare function nRank(n: Node): number;
|
|
90
|
+
export declare function nRanktype(n: Node): number;
|
|
91
|
+
export declare function gMaxrankDef(g: Graph): number;
|
|
92
|
+
export declare function gMinrankDef(g: Graph): number;
|
|
93
|
+
/** @see lib/dotgen/rank.c:set_minmax */
|
|
94
|
+
export declare function setMinmax(g: Graph): void;
|
|
95
|
+
export declare function minmaxEdgesReverse(n: Node, isOut: boolean): number;
|
|
96
|
+
/** @see lib/dotgen/rank.c:minmax_edges — returns [slenX, slenY] */
|
|
97
|
+
export declare function minmaxEdges(g: Graph): [number, number];
|
|
98
|
+
export declare function nOutEdge0(n: Node): Edge | undefined;
|
|
99
|
+
export declare function nInEdge0(n: Node): Edge | undefined;
|
|
100
|
+
export declare function mmEdges2CheckMax(g: Graph, n: Node, slen1: number): boolean;
|
|
101
|
+
export declare function mmEdges2CheckMin(g: Graph, n: Node, slen0: number): boolean;
|
|
102
|
+
/** @see lib/dotgen/rank.c:minmax_edges2 */
|
|
103
|
+
export declare function minmaxEdges2(g: Graph, slen: [number, number]): boolean;
|
|
104
|
+
/** @see lib/dotgen/rank.c:rank1 */
|
|
105
|
+
export declare function rank1(g: Graph): void;
|
|
106
|
+
/** @see lib/dotgen/rank.c:expand_ranksets (inner loop helper) */
|
|
107
|
+
export declare function expandNode(g: Graph, n: Node): void;
|
|
108
|
+
export declare function expandRankPostprocess(g: Graph): void;
|
|
109
|
+
/** @see lib/dotgen/rank.c:expand_ranksets */
|
|
110
|
+
export declare function expandRanksets(g: Graph): void;
|
|
111
|
+
/** @see lib/dotgen/rank.c:dot1_rank */
|
|
112
|
+
export declare function dot1Rank(g: Graph): void;
|
|
113
|
+
/**
|
|
114
|
+
* Assign integer ranks to all nodes in g.
|
|
115
|
+
* Dispatches to dot1Rank or dot2Rank based on GD_flags & NEW_RANK.
|
|
116
|
+
* @see lib/dotgen/rank.c:dot_rank
|
|
117
|
+
*/
|
|
118
|
+
export declare function dotRank(g: Graph): void;
|
|
119
|
+
//# sourceMappingURL=rank.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rank.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/rank.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript port of lib/dotgen/sameport.c — dot_sameports.
|
|
3
|
+
*
|
|
4
|
+
* Merges edges with specified samehead/sametail attributes onto the same port.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/dotgen/sameport.c
|
|
7
|
+
*/
|
|
8
|
+
import type { Graph } from '../../model/graph.js';
|
|
9
|
+
import type { Node } from '../../model/node.js';
|
|
10
|
+
import type { Edge } from '../../model/edge.js';
|
|
11
|
+
import type { Point, Port } from '../../model/geom.js';
|
|
12
|
+
/** @see lib/common/const.h:ARR_LEN (approximate — actual value depends on arrow rendering) */
|
|
13
|
+
export declare const ARR_LEN = 10;
|
|
14
|
+
/** A group of edges sharing the same samehead/sametail id at a node. */
|
|
15
|
+
export interface SameGroup {
|
|
16
|
+
id: string;
|
|
17
|
+
edges: Edge[];
|
|
18
|
+
}
|
|
19
|
+
/** @see lib/dotgen/sameport.c:sameedge */
|
|
20
|
+
export declare function sameedge(same: SameGroup[], e: Edge, id: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Move curve[0] to node u's shape boundary along the Bézier, exactly as C's
|
|
23
|
+
* shape_clip: build the node's shape inside-function (ellipse vs polygon, pen-
|
|
24
|
+
* width aware) and bezier-clip with left_inside = insidefn(curve[0]). curve[0]
|
|
25
|
+
* is the node center, which is always inside, so left_inside is true.
|
|
26
|
+
*
|
|
27
|
+
* Replaces an earlier rectangle approximation, which was wrong for ellipse
|
|
28
|
+
* nodes (every honda head is an ellipse) and shifted the shared port ~17px.
|
|
29
|
+
*
|
|
30
|
+
* @see lib/common/splines.c:shape_clip / shape_clip0
|
|
31
|
+
*/
|
|
32
|
+
export declare function shapeClip(u: Node, curve: Point[]): void;
|
|
33
|
+
/** Compute (x1,y1) offset to node boundary for average direction. */
|
|
34
|
+
export declare function computeBoundaryOffset(u: Node, x: number, y: number, ranksep: number): {
|
|
35
|
+
x1: number;
|
|
36
|
+
y1: number;
|
|
37
|
+
};
|
|
38
|
+
/** Compute the average direction unit vector from u toward each edge's other end. */
|
|
39
|
+
export declare function averageDirection(u: Node, edges: Edge[]): {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
};
|
|
43
|
+
/** Build the shared port object for this group at node u. */
|
|
44
|
+
export declare function buildSharedPort(u: Node, edges: Edge[], ranksep: number): Port;
|
|
45
|
+
/** Assign prt to edge f at whichever end matches u. */
|
|
46
|
+
export declare function assignHeadIfMatch(f: Edge, u: Node, prt: Port): void;
|
|
47
|
+
/** Walk the forward virtual chain (via head.out) assigning ports. */
|
|
48
|
+
export declare function assignPortForwardChain(e: Edge, u: Node, prt: Port): void;
|
|
49
|
+
/** Walk the backward virtual chain (via tail.in) assigning ports. */
|
|
50
|
+
export declare function assignPortBackwardChain(e: Edge, u: Node, prt: Port): void;
|
|
51
|
+
/** Assign prt to all virtual edges of e that touch u. */
|
|
52
|
+
export declare function assignPortToAllVirts(e: Edge, u: Node, prt: Port): void;
|
|
53
|
+
/** @see lib/dotgen/sameport.c:sameport */
|
|
54
|
+
export declare function sameport(u: Node, edges: Edge[], ranksep: number): void;
|
|
55
|
+
/** True if any edge in g has a samehead attribute set. */
|
|
56
|
+
export declare function graphHasSamehead(g: Graph): boolean;
|
|
57
|
+
/** True if any edge in g has a sametail attribute set. */
|
|
58
|
+
export declare function graphHasSametail(g: Graph): boolean;
|
|
59
|
+
/** Collect samehead groups for node n. */
|
|
60
|
+
export declare function collectSamehead(n: Node): SameGroup[];
|
|
61
|
+
/** Collect sametail groups for node n. */
|
|
62
|
+
export declare function collectSametail(n: Node): SameGroup[];
|
|
63
|
+
/** Apply sameport merging for all multi-edge groups at node n. */
|
|
64
|
+
export declare function applyGroupsToNode(n: Node, groups: SameGroup[], ranksep: number): void;
|
|
65
|
+
/**
|
|
66
|
+
* Merge edge ports in g for edges sharing samehead/sametail attributes.
|
|
67
|
+
* @see lib/dotgen/sameport.c:dot_sameports
|
|
68
|
+
*/
|
|
69
|
+
export declare function dotSameports(g: Graph): void;
|
|
70
|
+
//# sourceMappingURL=sameport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sameport.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/sameport.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAavD,8FAA8F;AAC9F,eAAO,MAAM,OAAO,KAAK,CAAC;AAO1B,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAOD,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAKrE;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAIvD;AAOD,qEAAqE;AACrE,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAC7C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAkB5B;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAWjF;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuB7E;AAOD,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAGnE;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAYxE;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAYzE;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAKtE;AAOD,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKtE;AAMD,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAKlD;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAKlD;AAOD,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,CAQpD;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,CAQpD;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrF;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAS3C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-loop routing for the dot engine.
|
|
3
|
+
*
|
|
4
|
+
* Ports the self-edge branch of dot_splines_ in lib/dotgen/dotsplines.c:305-409.
|
|
5
|
+
* Self-loops are stored in ND_other (node.info.other) by class2OneEdge.
|
|
6
|
+
* This module: collects them, computes sizey from the rank table, and calls
|
|
7
|
+
* the shared makeSelfEdge dispatcher.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/dotgen/dotsplines.c:305-409
|
|
10
|
+
* @see lib/common/splines.c:makeSelfEdge
|
|
11
|
+
*/
|
|
12
|
+
import type { Graph } from '../../model/graph.js';
|
|
13
|
+
import type { Node } from '../../model/node.js';
|
|
14
|
+
import type { Edge } from '../../model/edge.js';
|
|
15
|
+
import type { SplineInfo } from '../../common/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Build the dot-engine SplineInfo (sinfo).
|
|
18
|
+
* @see lib/dotgen/dotsplines.c:125-126
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildDotSinfo(): SplineInfo;
|
|
21
|
+
/**
|
|
22
|
+
* Collect node.info.other edges into `edges`, restoring rw from mval first.
|
|
23
|
+
*
|
|
24
|
+
* In position(), each NORMAL node that has self-loops has its rw increased to
|
|
25
|
+
* accommodate the loop geometry and the original value saved in mval.
|
|
26
|
+
* We restore the original rw here before routing.
|
|
27
|
+
*
|
|
28
|
+
* @see lib/dotgen/dotsplines.c:305-318
|
|
29
|
+
*/
|
|
30
|
+
export declare function collectOtherEdges(n: Node, edges: Edge[]): void;
|
|
31
|
+
/**
|
|
32
|
+
* Compute the vertical sizing parameter for self-loops on node n.
|
|
33
|
+
*
|
|
34
|
+
* Mirrors the C branch exactly:
|
|
35
|
+
* if r == maxrank: sizey = rank[r-1].v[0].y - n.y (or ht if r==0)
|
|
36
|
+
* elif r == minrank: sizey = n.y - rank[r+1].v[0].y
|
|
37
|
+
* else: sizey = min(rank[r-1].v[0].y - n.y, n.y - rank[r+1].v[0].y)
|
|
38
|
+
*
|
|
39
|
+
* @see lib/dotgen/dotsplines.c:389-403
|
|
40
|
+
*/
|
|
41
|
+
export declare function computeSizey(g: Graph, n: Node): number;
|
|
42
|
+
/**
|
|
43
|
+
* Route a contiguous group of cnt parallel self-loops via makeSelfEdge.
|
|
44
|
+
*
|
|
45
|
+
* @param g - the graph (provides rank table for sizey)
|
|
46
|
+
* @param edges - slice of the sorted edge list starting at the group
|
|
47
|
+
* @param cnt - number of parallel self-loops in this group
|
|
48
|
+
* @param multisep - sd.Multisep (= nodesep)
|
|
49
|
+
* @param sinfo - dot SplineInfo callbacks
|
|
50
|
+
*
|
|
51
|
+
* @see lib/dotgen/dotsplines.c:388-409
|
|
52
|
+
*/
|
|
53
|
+
export declare function routeSelfEdgeGroup(g: Graph, edges: Edge[], cnt: number, multisep: number, sinfo: SplineInfo): void;
|
|
54
|
+
//# sourceMappingURL=self-loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-loop.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/self-loop.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAWxD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAO1C;AAOD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAc9D;AA+BD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAOtD;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,KAAK,EACR,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAChB,IAAI,CAKN"}
|