@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 @@
|
|
|
1
|
+
{"version":3,"file":"arrows-miter.d.ts","sourceRoot":"","sources":["../../src/common/arrows-miter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;CAAE,CAAC;AAwC3E;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,KAAK,EACf,CAAC,EAAE,KAAK,EACR,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,MAAM,GACf,QAAQ,CAeV"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complex arrowhead shape/length generators (crow/vee, tee, gap, curve) ported
|
|
3
|
+
* from lib/common/arrows.c. Split from {@link arrows-shapes} to keep each
|
|
4
|
+
* module under the size/complexity bar. Pure geometry; no layout/render deps.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/common/arrows.c
|
|
7
|
+
*/
|
|
8
|
+
import type { Point } from '../model/geom.js';
|
|
9
|
+
import type { GenResult } from './arrows-shapes-util.js';
|
|
10
|
+
/** @see lib/common/arrows.c:arrow_type_crow (always filled; OPEN has no effect) */
|
|
11
|
+
export declare function genCrow(p: Point, u: Point, arrowsize: number, penwidth: number, flag: number): GenResult;
|
|
12
|
+
/** @see lib/common/arrows.c:arrow_length_crow */
|
|
13
|
+
export declare function arrowLengthCrow(lenfact: number, arrowsize: number, penwidth: number, flag: number): number;
|
|
14
|
+
/** @see lib/common/arrows.c:arrow_type_gap */
|
|
15
|
+
export declare function genGap(p0: Point, u: Point, _arrowsize: number, _penwidth: number, _flag: number): GenResult;
|
|
16
|
+
/** @see lib/common/arrows.c:arrow_type_tee */
|
|
17
|
+
export declare function genTee(p0: Point, u: Point, _arrowsize: number, penwidth: number, flag: number): GenResult;
|
|
18
|
+
/** @see lib/common/arrows.c:arrow_length_tee (preserves the C `_at_start` reuse) */
|
|
19
|
+
export declare function arrowLengthTee(lenfact: number, arrowsize: number, penwidth: number): number;
|
|
20
|
+
/** @see lib/common/arrows.c:arrow_type_curve */
|
|
21
|
+
export declare function genCurve(p0: Point, u: Point, _arrowsize: number, penwidth: number, flag: number): GenResult;
|
|
22
|
+
/** @see lib/common/arrows.c:arrow_length_curve */
|
|
23
|
+
export declare const arrowLengthCurve: (lenfact: number, arrowsize: number, penwidth: number) => number;
|
|
24
|
+
//# sourceMappingURL=arrows-shapes-poly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrows-shapes-poly.d.ts","sourceRoot":"","sources":["../../src/common/arrows-shapes-poly.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAkGzD,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAOxG;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAa1G;AAOD,8CAA8C;AAC9C,wBAAgB,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAG3G;AAOD,8CAA8C;AAC9C,wBAAgB,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAyBzG;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ3F;AA8BD,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAiB3G;AAED,kDAAkD;AAClD,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,KAAG,MACrC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared geometry primitives for the arrowhead shape/length generators
|
|
3
|
+
* ({@link arrows-shapes} closed shapes + {@link arrows-shapes-poly} complex
|
|
4
|
+
* shapes). Pure helpers ported from lib/common/arrows.c + geomprocs.h.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/common/arrows.c
|
|
7
|
+
*/
|
|
8
|
+
import type { Point } from '../model/geom.js';
|
|
9
|
+
import type { ArrowDrawOp, ResolvedArrow } from './arrows-types.js';
|
|
10
|
+
export declare const vsub: (p: Point, q: Point) => Point;
|
|
11
|
+
export declare const vadd: (p: Point, q: Point) => Point;
|
|
12
|
+
export declare const vscale: (c: number, p: Point) => Point;
|
|
13
|
+
/** A vector of length `dist` pointing along `-u` (zero for degenerate `u`). */
|
|
14
|
+
export declare const negUnit: (u: Point, dist: number) => Point;
|
|
15
|
+
/**
|
|
16
|
+
* The `penwidth/2` shift along `-u` that box/dot/curve/gap apply to pull the
|
|
17
|
+
* arrow off the node boundary (`delta` in those generators).
|
|
18
|
+
*
|
|
19
|
+
* @see lib/common/arrows.c:arrow_type_box / arrow_type_dot (delta computation)
|
|
20
|
+
*/
|
|
21
|
+
export declare const backwardDelta: (u: Point, penwidth: number) => Point;
|
|
22
|
+
/**
|
|
23
|
+
* Project the segment `from`→`to` onto the arrow axis defined by `phiSrc`,
|
|
24
|
+
* returning a vector of the projected length (× `sign`) along that axis. This
|
|
25
|
+
* is the `delta_tip`/`delta_base` miter projection shared by normal0/crow0.
|
|
26
|
+
*
|
|
27
|
+
* @see lib/common/arrows.c:arrow_type_normal0 / arrow_type_crow0 (delta math)
|
|
28
|
+
*/
|
|
29
|
+
export declare function axialProjection(phiSrc: Point, from: Point, to: Point, sign: number): Point;
|
|
30
|
+
/**
|
|
31
|
+
* Shaft vector for one component, reproducing `arrow_gen`'s normalization of the
|
|
32
|
+
* RAW shaft vector exactly: `s = ARROW_LENGTH / (hypot(u) + EPSILON)`, then nudge
|
|
33
|
+
* each component by `±EPSILON`, then `arrow_gen_type` scales by `lenfact *
|
|
34
|
+
* arrowsize`. `dir` MUST be the raw (un-normalized) tip→base vector — its
|
|
35
|
+
* magnitude is load-bearing because the EPSILON terms are relative to it.
|
|
36
|
+
* Pre-normalizing `dir` to a unit vector shifts the result by ~one ULP at the
|
|
37
|
+
* 2-decimal output and breaks byte parity on arrowhead polygons.
|
|
38
|
+
*
|
|
39
|
+
* @see lib/common/arrows.c:arrow_gen, arrow_gen_type (EPSILON .0001)
|
|
40
|
+
*/
|
|
41
|
+
export declare const componentU: (dir: Point, lenfact: number, arrowsize: number) => Point;
|
|
42
|
+
/**
|
|
43
|
+
* Reconstruct the C arrow flag word (type code + INV + open/side modifiers)
|
|
44
|
+
* from a resolved component. `type` already carries the type code and INV bit.
|
|
45
|
+
*/
|
|
46
|
+
export declare const arrowFlag: (r: ResolvedArrow) => number;
|
|
47
|
+
/** Result of one shape generator: its draw ops + the next tip (base point). */
|
|
48
|
+
export interface GenResult {
|
|
49
|
+
readonly ops: ArrowDrawOp[];
|
|
50
|
+
readonly q: Point;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Map every point of an arrow draw-op through `fn` (and the ellipse center).
|
|
54
|
+
* Used to translate/rotate stored ops in postproc and flat-edge copy. rx/ry are
|
|
55
|
+
* left unchanged — arrow ellipses are circles (dot/odot), so a 90° rankdir
|
|
56
|
+
* rotation that would swap them is a no-op.
|
|
57
|
+
*/
|
|
58
|
+
export declare function mapArrowOpPoints(op: ArrowDrawOp, fn: (p: Point) => Point): ArrowDrawOp;
|
|
59
|
+
/** Signature shared by every per-type shape generator. */
|
|
60
|
+
export type ArrowGen = (p: Point, u: Point, arrowsize: number, penwidth: number, flag: number) => GenResult;
|
|
61
|
+
/** Unit direction + signed angle of a segment `from`→`to` (miter_shape arm). */
|
|
62
|
+
export interface Arm {
|
|
63
|
+
cos: number;
|
|
64
|
+
sin: number;
|
|
65
|
+
angle: number;
|
|
66
|
+
}
|
|
67
|
+
export declare function arm(from: Point, to: Point): Arm;
|
|
68
|
+
/**
|
|
69
|
+
* Line-join shape (3-point triangle [apex, P1, P2]) at vertex `P` between the
|
|
70
|
+
* `base_left`→P and P→`base_right` segments, for a stroke of width `penwidth`.
|
|
71
|
+
* P1/P2 are the penwidth/2 perpendicular offsets of P along each arm.
|
|
72
|
+
*
|
|
73
|
+
* @see lib/common/arrows.c:miter_shape
|
|
74
|
+
* @see https://www.w3.org/TR/SVG2/painting.html#TermLineJoinShape
|
|
75
|
+
*/
|
|
76
|
+
export declare function miterShape(baseLeft: Point, P: Point, baseRight: Point, penwidth: number): Point[];
|
|
77
|
+
//# sourceMappingURL=arrows-shapes-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrows-shapes-util.d.ts","sourceRoot":"","sources":["../../src/common/arrows-shapes-util.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAapE,eAAO,MAAM,IAAI,GAAI,GAAG,KAAK,EAAE,GAAG,KAAK,KAAG,KAAyC,CAAC;AACpF,eAAO,MAAM,IAAI,GAAI,GAAG,KAAK,EAAE,GAAG,KAAK,KAAG,KAAyC,CAAC;AACpF,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,KAAK,KAAG,KAAqC,CAAC;AAEnF,+EAA+E;AAC/E,eAAO,MAAM,OAAO,GAAI,GAAG,KAAK,EAAE,MAAM,MAAM,KAAG,KAIhD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,KAAK,EAAE,UAAU,MAAM,KAAG,KAAmC,CAAC;AAE/F;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAY1F;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,KAAK,EAAE,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,KAK3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,aAAa,KAAG,MAId,CAAC;AAEhC,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,WAAW,CAOtF;AAED,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,CACrB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAClE,SAAS,CAAC;AASf,gFAAgF;AAChF,MAAM,WAAW,GAAG;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChE,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,GAAG,CAO/C;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CAiBjG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arrowhead geometry — pure port of the closed-shape (normal/box/diamond/dot)
|
|
3
|
+
* generators and the length/dispatch layer of lib/common/arrows.c. Complex
|
|
4
|
+
* shapes (crow/vee/tee/gap/curve) live in {@link arrows-shapes-poly}; shared
|
|
5
|
+
* primitives in {@link arrows-shapes-util}. Produces {@link ArrowDrawOp}s and
|
|
6
|
+
* clip lengths from a resolved arrow type, a tip point, and a shaft direction.
|
|
7
|
+
*
|
|
8
|
+
* Convention (from `arrow_gen`/`arrow_gen_type`): `u` is the shaft vector from
|
|
9
|
+
* the tip toward the base, length `ARROW_LENGTH * lenfact * arrowsize` per
|
|
10
|
+
* component. Each generator returns the visual start point `q` (the base),
|
|
11
|
+
* which becomes the tip of the next stacked component (compound stacking).
|
|
12
|
+
*
|
|
13
|
+
* @see lib/common/arrows.c
|
|
14
|
+
* @see plans/arrowhead-geometry/decisions.md ADR-2
|
|
15
|
+
*/
|
|
16
|
+
import type { Point } from '../model/geom.js';
|
|
17
|
+
import type { ArrowDrawOp, ResolvedArrow } from './arrows-types.js';
|
|
18
|
+
import { type GenResult } from './arrows-shapes-util.js';
|
|
19
|
+
/**
|
|
20
|
+
* Length of one resolved component (the per-type length function), matching the
|
|
21
|
+
* `Arrowtypes[].len` dispatch. gap/none use `arrow_length_generic`.
|
|
22
|
+
*
|
|
23
|
+
* @see lib/common/arrows.c:arrow_length (per-type dispatch)
|
|
24
|
+
*/
|
|
25
|
+
export declare function arrowLengthOne(r: ResolvedArrow, arrowsize: number, penwidth: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* Total clip length over a parsed compound arrow (sum of component lengths).
|
|
28
|
+
* Returns 0 when arrowsize is 0, matching `arrow_length`.
|
|
29
|
+
*
|
|
30
|
+
* @see lib/common/arrows.c:arrow_length (:253)
|
|
31
|
+
*/
|
|
32
|
+
export declare function arrowLength(comps: ResolvedArrow[], arrowsize: number, penwidth: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* Generate draw ops for ONE resolved component at `tip`, with shaft direction
|
|
35
|
+
* `dir` (tip → base). Dispatches across all eight arrow types.
|
|
36
|
+
*
|
|
37
|
+
* @see lib/common/arrows.c:arrow_gen_type
|
|
38
|
+
*/
|
|
39
|
+
export declare function dispatchSimple(r: ResolvedArrow, tip: Point, dir: Point, arrowsize: number, penwidth: number): GenResult;
|
|
40
|
+
/**
|
|
41
|
+
* Generate all draw ops for a parsed compound arrow (up to 4 stacked
|
|
42
|
+
* components). Each component is drawn at the running tip and advances the tip
|
|
43
|
+
* to its base, matching `arrow_gen`'s loop. Stops at the first NONE component.
|
|
44
|
+
*
|
|
45
|
+
* @see lib/common/arrows.c:arrow_gen
|
|
46
|
+
*/
|
|
47
|
+
export declare function arrowDrawOps(comps: ResolvedArrow[], tip: Point, dir: Point, arrowsize: number, penwidth: number): ArrowDrawOp[];
|
|
48
|
+
//# sourceMappingURL=arrows-shapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrows-shapes.d.ts","sourceRoot":"","sources":["../../src/common/arrows-shapes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAEkB,KAAK,SAAS,EACtC,MAAM,yBAAyB,CAAC;AA2PjC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/F;AAOD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAC5E,SAAS,CAeX;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAClF,WAAW,EAAE,CAYf"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed arrow draw-op union and the resolved-arrow descriptor.
|
|
3
|
+
*
|
|
4
|
+
* graphviz C emits arrowheads at render time as a sequence of primitive draw
|
|
5
|
+
* calls (`gvrender_polygon` / `gvrender_ellipse` / `gvrender_polyline`). A
|
|
6
|
+
* single `Point[]` cannot represent an `<ellipse>` (dot/odot) nor a compound
|
|
7
|
+
* arrow that stacks several primitives, so this port models each emitted
|
|
8
|
+
* primitive as a discriminated-union op (ADR-1).
|
|
9
|
+
*
|
|
10
|
+
* @see lib/common/arrows.c:arrow_gen / arrow_gencode (emit sequence)
|
|
11
|
+
* @see plans/arrowhead-geometry/decisions.md ADR-1
|
|
12
|
+
*/
|
|
13
|
+
import type { Point } from '../model/geom.js';
|
|
14
|
+
/**
|
|
15
|
+
* One primitive draw operation produced for an arrowhead. Geometry is in
|
|
16
|
+
* graphviz (y-up) space; the SVG y-flip happens later in the renderer.
|
|
17
|
+
*/
|
|
18
|
+
export type ArrowDrawOp = {
|
|
19
|
+
readonly kind: 'polygon';
|
|
20
|
+
readonly points: Point[];
|
|
21
|
+
readonly filled: boolean;
|
|
22
|
+
} | {
|
|
23
|
+
readonly kind: 'ellipse';
|
|
24
|
+
readonly center: Point;
|
|
25
|
+
readonly rx: number;
|
|
26
|
+
readonly ry: number;
|
|
27
|
+
readonly filled: boolean;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: 'polyline';
|
|
30
|
+
readonly points: Point[];
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: 'bezier';
|
|
33
|
+
readonly points: Point[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* A single parsed arrow component resolved to its dispatch info: the
|
|
37
|
+
* `ARR_TYPE_*` code (with `ARR_MOD_INV` OR'd in for inv/vee/icurve), the
|
|
38
|
+
* open/side modifiers, and the type's length factor.
|
|
39
|
+
*
|
|
40
|
+
* `type` carries the type code in its low `BITS_PER_ARROW_TYPE` bits plus the
|
|
41
|
+
* `ARR_MOD_INV` bit when the name implies inversion; `open`/`left`/`right`
|
|
42
|
+
* mirror the user-supplied `o`/`l`/`r` prefix modifiers from the parsed
|
|
43
|
+
* component.
|
|
44
|
+
*
|
|
45
|
+
* @see lib/common/arrows.c:Arrowtypes
|
|
46
|
+
*/
|
|
47
|
+
export interface ResolvedArrow {
|
|
48
|
+
/** ARR_TYPE_* code, optionally OR'd with ARR_MOD_INV. */
|
|
49
|
+
readonly type: number;
|
|
50
|
+
/** Open/outline-only (`o`/`e` prefix, or `empty`/`invempty`). */
|
|
51
|
+
readonly open: boolean;
|
|
52
|
+
/** Left half only (`l`/`half` prefix). */
|
|
53
|
+
readonly left: boolean;
|
|
54
|
+
/** Right half only (`r` prefix). */
|
|
55
|
+
readonly right: boolean;
|
|
56
|
+
/** Ratio of this type's length to the standard ARROW_LENGTH. */
|
|
57
|
+
readonly lenfact: number;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=arrows-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrows-types.d.ts","sourceRoot":"","sources":["../../src/common/arrows-types.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAChF;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,GAGvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arrow type definitions, compound arrow parsing, and rendering stubs.
|
|
3
|
+
* Ported from lib/common/arrows.c and lib/common/arrows.h.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/common/arrows.c
|
|
6
|
+
* @see lib/common/arrows.h
|
|
7
|
+
*/
|
|
8
|
+
import type { Point } from '../model/geom.js';
|
|
9
|
+
import type { ResolvedArrow } from './arrows-types.js';
|
|
10
|
+
/** One component in a parsed compound arrow string. */
|
|
11
|
+
export interface ArrowComponent {
|
|
12
|
+
name: string;
|
|
13
|
+
open: boolean;
|
|
14
|
+
left: boolean;
|
|
15
|
+
right: boolean;
|
|
16
|
+
}
|
|
17
|
+
/** Stub edge type; replaced by real EdgeInfo in T24+. */
|
|
18
|
+
export interface ArrowEdgeStub {
|
|
19
|
+
attr?: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
/** Stub port type; replaced by real Port in T24+. */
|
|
22
|
+
export interface ArrowPortStub {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}
|
|
26
|
+
/** Stub render job; replaced by real RenderJob in T24+. */
|
|
27
|
+
export interface ArrowJobStub {
|
|
28
|
+
}
|
|
29
|
+
/** Bundled clip arguments — keeps arrowEndClip/arrowStartClip under 5 params. */
|
|
30
|
+
export interface ArrowClipArgs {
|
|
31
|
+
e: ArrowEdgeStub;
|
|
32
|
+
psflag: number;
|
|
33
|
+
eflag: number;
|
|
34
|
+
sp: ArrowPortStub;
|
|
35
|
+
ep: ArrowPortStub;
|
|
36
|
+
}
|
|
37
|
+
/** All valid user-facing arrow type names from arrows.c. */
|
|
38
|
+
export declare const ARROW_NAMES: readonly string[];
|
|
39
|
+
/**
|
|
40
|
+
* Parse a compound arrow type string into its components.
|
|
41
|
+
* E.g. "odot" → [{name:'dot', open:true, left:false, right:false}]
|
|
42
|
+
*
|
|
43
|
+
* @see lib/common/arrows.c:arrow_type
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseArrow(str: string): ArrowComponent[];
|
|
46
|
+
/**
|
|
47
|
+
* Resolve a parsed arrow component to its dispatch info: ARR_TYPE_* code (with
|
|
48
|
+
* ARR_MOD_INV OR'd in for inv/vee/icurve), the open/side modifiers, and the
|
|
49
|
+
* type's length factor. An unknown name resolves to ARR_TYPE_NORM, matching the
|
|
50
|
+
* C default when no name fragment matches.
|
|
51
|
+
*
|
|
52
|
+
* @see lib/common/arrows.c:Arrowtypes (lenfact column)
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveArrowType(comp: ArrowComponent): ResolvedArrow;
|
|
55
|
+
/**
|
|
56
|
+
* Clip edge spline at arrowhead end and emit drawing calls.
|
|
57
|
+
* Stub implementation; fully ported in T24.
|
|
58
|
+
*
|
|
59
|
+
* @see lib/common/arrows.c:arrowEndClip
|
|
60
|
+
*/
|
|
61
|
+
export declare function arrowEndClip(_args: ArrowClipArgs, _ps: Point[], _job: ArrowJobStub): void;
|
|
62
|
+
/**
|
|
63
|
+
* Clip edge spline at arrowtail start and emit drawing calls.
|
|
64
|
+
* Stub implementation; fully ported in T24.
|
|
65
|
+
*
|
|
66
|
+
* @see lib/common/arrows.c:arrowStartClip
|
|
67
|
+
*/
|
|
68
|
+
export declare function arrowStartClip(_args: ArrowClipArgs, _ps: Point[], _job: ArrowJobStub): void;
|
|
69
|
+
//# sourceMappingURL=arrows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrows.d.ts","sourceRoot":"","sources":["../../src/common/arrows.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAavD,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;AAEhE,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,YAAY;CAAG;AAEhC,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,aAAa,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,aAAa,CAAC;IAClB,EAAE,EAAE,aAAa,CAAC;CACnB;AAQD,4DAA4D;AAC5D,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAGxC,CAAC;AA2DF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAWxD;AAkCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAWpE;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAG;AAE7F;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAG"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color translation utilities ported from lib/common/colxlate.c.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/common/colxlate.c
|
|
5
|
+
*/
|
|
6
|
+
export type GVColor = {
|
|
7
|
+
type: 'rgba';
|
|
8
|
+
r: number;
|
|
9
|
+
g: number;
|
|
10
|
+
b: number;
|
|
11
|
+
a: number;
|
|
12
|
+
} | {
|
|
13
|
+
type: 'hsva';
|
|
14
|
+
h: number;
|
|
15
|
+
s: number;
|
|
16
|
+
v: number;
|
|
17
|
+
a: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'string';
|
|
20
|
+
s: string;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'none';
|
|
23
|
+
};
|
|
24
|
+
export type ColorType = 'rgba' | 'hsva' | 'string';
|
|
25
|
+
/** @see lib/common/colxlate.c colorxlate return values */
|
|
26
|
+
export declare const enum ColorxlateResult {
|
|
27
|
+
ColorOk = 0,
|
|
28
|
+
ColorUnknown = 1,
|
|
29
|
+
ColorError = 2
|
|
30
|
+
}
|
|
31
|
+
/** @see lib/common/colxlate.c:setColorScheme */
|
|
32
|
+
export declare function setColorScheme(scheme: string): void;
|
|
33
|
+
/** Returns the active color scheme (empty string means X11 default). */
|
|
34
|
+
export declare function getColorScheme(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Convert HSV (all in [0,1]) to RGB (all in [0,1]).
|
|
37
|
+
* Exact algorithm from colxlate.c:hsv2rgb.
|
|
38
|
+
*
|
|
39
|
+
* @see lib/common/colxlate.c:hsv2rgb
|
|
40
|
+
*/
|
|
41
|
+
export declare function hsv2rgb(h: number, s: number, v: number): {
|
|
42
|
+
r: number;
|
|
43
|
+
g: number;
|
|
44
|
+
b: number;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Convert RGB (all in [0,1]) to HSV (all in [0,1]).
|
|
48
|
+
* Exact algorithm from colxlate.c:rgb2hsv.
|
|
49
|
+
*
|
|
50
|
+
* @see lib/common/colxlate.c:rgb2hsv
|
|
51
|
+
*/
|
|
52
|
+
export declare function rgb2hsv(r: number, g: number, b: number): {
|
|
53
|
+
h: number;
|
|
54
|
+
s: number;
|
|
55
|
+
v: number;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Translate a color string into a GVColor of the requested target type.
|
|
59
|
+
* Mutates `color` in place (matching C's output-pointer convention).
|
|
60
|
+
* Returns ColorxlateResult.ColorOk on success, ColorxlateResult.ColorUnknown
|
|
61
|
+
* when the name is not found.
|
|
62
|
+
*
|
|
63
|
+
* @see lib/common/colxlate.c:colorxlate
|
|
64
|
+
*/
|
|
65
|
+
export declare function colorxlate(str: string, color: GVColor, targetType: ColorType): ColorxlateResult;
|
|
66
|
+
//# sourceMappingURL=color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/common/color.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,0DAA0D;AAC1D,0BAAkB,gBAAgB;IAChC,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,UAAU,IAAI;CACf;AAaD,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAwBD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAUrC;AAuBD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAWrC;AA4KD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,SAAS,GACpB,gBAAgB,CAmBlB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static color lookup table generated from Graphviz color definitions.
|
|
3
|
+
* Format: [name, h, s, v, r, g, b, a] - numeric values 0-255.
|
|
4
|
+
* Sorted case-insensitively by name.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/common/colxlate.c
|
|
7
|
+
* @see lib/common/make_colortbl.py
|
|
8
|
+
*/
|
|
9
|
+
export declare const COLOR_LIB: readonly [string, number, number, number, number, number, number, number][];
|
|
10
|
+
//# sourceMappingURL=colorData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorData.d.ts","sourceRoot":"","sources":["../../src/common/colorData.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EA6PhG,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port of compassPort and poly_port from lib/common/shapes.c.
|
|
3
|
+
*
|
|
4
|
+
* compassPort maps a compass string to a Port (p, theta, side, clip, dyna,
|
|
5
|
+
* defined, constrained, order). poly_port is the portfn for all polygon
|
|
6
|
+
* shapes — it delegates to compassPort after checking the HTML label branch
|
|
7
|
+
* (the HTML branch calls htmlPort, which is not ported until T7; the stub
|
|
8
|
+
* returns null and yields a zero/default port).
|
|
9
|
+
*
|
|
10
|
+
* @see lib/common/shapes.c:compassPort (line 2698)
|
|
11
|
+
* @see lib/common/shapes.c:poly_port (line 2880)
|
|
12
|
+
*/
|
|
13
|
+
import type { Box } from '../model/geom.js';
|
|
14
|
+
import type { Port } from '../model/geom.js';
|
|
15
|
+
import type { Node } from '../model/node.js';
|
|
16
|
+
/**
|
|
17
|
+
* Arguments to compassPort, bundled to satisfy the ≤4 param limit.
|
|
18
|
+
* Mirrors C `compassPort(n, bp, pp, compass, sides, ictxt)` where ictxt=null (AD2).
|
|
19
|
+
* @see lib/common/shapes.c:compassPort (line 2698)
|
|
20
|
+
*/
|
|
21
|
+
export type CompassArgs = {
|
|
22
|
+
/** Subfield bbox (record/HTML cell), or null to use node dims. */
|
|
23
|
+
bp: Box | null;
|
|
24
|
+
/** Compass direction: 'n','ne','e','se','s','sw','w','nw','c','_',''. */
|
|
25
|
+
compass: string;
|
|
26
|
+
/** Exposed sides bitmask (BOTTOM|RIGHT|TOP|LEFT). @see lib/common/const.h */
|
|
27
|
+
sides: number;
|
|
28
|
+
};
|
|
29
|
+
/** Attach compass point to pp. Returns 1 if compass unrecognized. @see lib/common/shapes.c:compassPort (line 2698) */
|
|
30
|
+
export declare function compassPort(n: Node, args: CompassArgs, pp: Port): number;
|
|
31
|
+
/**
|
|
32
|
+
* portfn for all polygon shapes. @see lib/common/shapes.c:poly_port (line 2880)
|
|
33
|
+
*
|
|
34
|
+
* Empty portname → makePort() (byte-stability: unported edges must be unchanged).
|
|
35
|
+
* Compass '' → '_' (C: `if (compass == NULL) compass = "_"`).
|
|
36
|
+
* HTML branch: stub always null (T7). Non-HTML: portname IS the compass string.
|
|
37
|
+
*/
|
|
38
|
+
export declare function polyPort(n: Node, portname: string, compass: string): Port;
|
|
39
|
+
//# sourceMappingURL=compass-port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compass-port.d.ts","sourceRoot":"","sources":["../../src/common/compass-port.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAS,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAiO7C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,kEAAkE;IAClE,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC;IACf,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA+DF,sHAAsH;AACtH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,CAYxE;AA4BD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAkBzE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The C library rand() stream used by sfdp, ported bit-exactly.
|
|
3
|
+
*
|
|
4
|
+
* macOS libc rand() is the Park–Miller minstd LCG:
|
|
5
|
+
* seed = seed · 16807 mod (2³¹ − 1), RAND_MAX = 2³¹ − 1
|
|
6
|
+
* (verified empirically on the reference machine:
|
|
7
|
+
* srand(123) → 2067261, 384717275, 2017463455, 888985702, …).
|
|
8
|
+
* The product never exceeds 16807·2³¹ < 2⁴⁶, so plain double
|
|
9
|
+
* arithmetic is exact.
|
|
10
|
+
*
|
|
11
|
+
* ALL sfdp randomness flows through this ONE stream: drand() position
|
|
12
|
+
* jitter (sparse/general.c:24) and the Fisher–Yates permutation used
|
|
13
|
+
* by multilevel coarsening (util/random.c) — the latter draws BEFORE
|
|
14
|
+
* srand() is called in the embedding, so the stream is global mutable
|
|
15
|
+
* state exactly as in C (unseeded state = srand(1)).
|
|
16
|
+
*
|
|
17
|
+
* @see Apple Libc rand(3) (Park–Miller minstd)
|
|
18
|
+
* @see lib/sparse/general.c:drand (15.0.0)
|
|
19
|
+
* @see lib/util/random.c:gv_random / gv_permutation (15.0.0)
|
|
20
|
+
*/
|
|
21
|
+
/** RAND_MAX on the reference platform. */
|
|
22
|
+
export declare const C_RAND_MAX = 2147483647;
|
|
23
|
+
/** srand(3). */
|
|
24
|
+
export declare function csrand(seed: number): void;
|
|
25
|
+
/** rand(3): minstd step. @see Apple Libc rand */
|
|
26
|
+
export declare function crand(): number;
|
|
27
|
+
/** drand: uniform in [0,1]. @see lib/sparse/general.c:drand */
|
|
28
|
+
export declare function cdrand(): number;
|
|
29
|
+
/**
|
|
30
|
+
* Uniform integer in [0, bound) with the discard-threshold rejection
|
|
31
|
+
* of the C helper (bound ≤ RAND_MAX assumed — random_big is not
|
|
32
|
+
* ported; no caller exceeds 2³¹−1).
|
|
33
|
+
* @see lib/util/random.c:random_small / gv_random
|
|
34
|
+
*/
|
|
35
|
+
export declare function gvRandom(bound: number): number;
|
|
36
|
+
/**
|
|
37
|
+
* Random permutation of [0, bound) by Fisher–Yates, drawing from the
|
|
38
|
+
* global stream.
|
|
39
|
+
* @see lib/util/random.c:gv_permutation
|
|
40
|
+
*/
|
|
41
|
+
export declare function gvPermutation(bound: number): number[];
|
|
42
|
+
//# sourceMappingURL=crand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crand.d.ts","sourceRoot":"","sources":["../../src/common/crand.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,0CAA0C;AAC1C,eAAO,MAAM,UAAU,aAAa,CAAC;AAKrC,gBAAgB;AAChB,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,iDAAiD;AACjD,wBAAgB,KAAK,IAAI,MAAM,CAG9B;AAED,+DAA+D;AAC/D,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAWrD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Head/tail edge-label creation: port of the initFontLabelEdgeAttr +
|
|
3
|
+
* head/tail-label blocks inside common_init_edge (lib/common/utils.c:533-545).
|
|
4
|
+
*
|
|
5
|
+
* Called from dotInitNodeEdge after the regular edge-weight fields are set,
|
|
6
|
+
* mirroring the C call order in dot_init_node_edge → common_init_edge.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/common/utils.c:common_init_edge
|
|
9
|
+
* @see lib/common/utils.c:initFontEdgeAttr
|
|
10
|
+
* @see lib/common/utils.c:initFontLabelEdgeAttr
|
|
11
|
+
*/
|
|
12
|
+
import type { Edge } from '../model/edge.js';
|
|
13
|
+
import type { Graph } from '../model/graph.js';
|
|
14
|
+
import type { TextMeasurer } from './textmeasure.js';
|
|
15
|
+
/** Default fontsize for head/tail labels. @see lib/common/const.h:DEFAULT_LABEL_FONTSIZE */
|
|
16
|
+
export declare const DEFAULT_LABEL_FONTSIZE = 11;
|
|
17
|
+
/** Minimum fontsize (shared across all label types). @see lib/common/const.h:MIN_FONTSIZE */
|
|
18
|
+
export declare const MIN_FONTSIZE = 1;
|
|
19
|
+
interface FontInfo {
|
|
20
|
+
fontsize: number;
|
|
21
|
+
fontname: string;
|
|
22
|
+
fontcolor: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Reads the per-edge font attrs (fontname/fontsize/fontcolor) with fallback
|
|
26
|
+
* to the global defaults. Mirrors initFontEdgeAttr in utils.c.
|
|
27
|
+
*
|
|
28
|
+
* @see lib/common/utils.c:initFontEdgeAttr
|
|
29
|
+
*/
|
|
30
|
+
export declare function initFontEdgeAttr(e: Edge): FontInfo;
|
|
31
|
+
/**
|
|
32
|
+
* Reads labelfontname / labelfontsize / labelfontcolor with fallback to fi
|
|
33
|
+
* (the regular edge font attrs). Mirrors initFontLabelEdgeAttr in utils.c.
|
|
34
|
+
*
|
|
35
|
+
* The fallback chain for each attribute:
|
|
36
|
+
* labelfontsize → fi.fontsize → DEFAULT_FONTSIZE
|
|
37
|
+
* labelfontname → fi.fontname → DEFAULT_FONTNAME
|
|
38
|
+
* labelfontcolor → fi.fontcolor → DEFAULT_COLOR
|
|
39
|
+
*
|
|
40
|
+
* @see lib/common/utils.c:initFontLabelEdgeAttr
|
|
41
|
+
*/
|
|
42
|
+
export declare function initFontLabelEdgeAttr(e: Edge, fi: FontInfo): FontInfo;
|
|
43
|
+
/**
|
|
44
|
+
* Port block of common_init_edge: populate tail_port/head_port from the
|
|
45
|
+
* tailport/headport attrs (DOT syntax or explicit), honoring tail/headclip.
|
|
46
|
+
* @see lib/common/utils.c:548-566
|
|
47
|
+
*/
|
|
48
|
+
export declare function initEdgePorts(e: Edge): void;
|
|
49
|
+
export declare function initEdgeLabels(e: Edge, g: Graph, measurer: TextMeasurer): void;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=edge-label-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-label-init.d.ts","sourceRoot":"","sources":["../../src/common/edge-label-init.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUrD,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,KAAO,CAAC;AAE3C,6FAA6F;AAC7F,eAAO,MAAM,YAAY,IAAM,CAAC;AAMhC,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAuBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAMlD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAMrE;AAyLD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAS3C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAO9E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Perpendicular-offset geometry for parallel multi-color edge rendering.
|
|
3
|
+
*
|
|
4
|
+
* Ports computeoffset_p and computeoffset_qr from lib/common/emit.c.
|
|
5
|
+
* Pure data-in / data-out; no rendering or ObjState mutation.
|
|
6
|
+
* Consumed by the M1 parallel-bezier branch in src/gvc/device.ts.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/common/emit.c:1836 computeoffset_p
|
|
9
|
+
* @see lib/common/emit.c:1849 computeoffset_qr
|
|
10
|
+
* @see lib/common/emit.c:55 #define EPSILON 0.0001
|
|
11
|
+
* @see lib/common/emit.c:2364 #define SEP 2.0
|
|
12
|
+
*/
|
|
13
|
+
import type { Point } from '../model/geom.js';
|
|
14
|
+
/**
|
|
15
|
+
* Epsilon guard used in the offset vector computation to keep the result
|
|
16
|
+
* finite as the line-segment length approaches zero.
|
|
17
|
+
* @see lib/common/emit.c:55
|
|
18
|
+
*/
|
|
19
|
+
export declare const OFFSET_EPSILON = 0.0001;
|
|
20
|
+
/**
|
|
21
|
+
* Perpendicular separation between parallel color curves (in graph units).
|
|
22
|
+
* @see lib/common/emit.c:2364
|
|
23
|
+
*/
|
|
24
|
+
export declare const PARALLEL_SEP = 2;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate an offset vector, length d, perpendicular to line p→q.
|
|
27
|
+
* The result vector points 90° counter-clockwise from the direction p→q.
|
|
28
|
+
* Formula: res = { (p.y-q.y)*d/len, -(p.x-q.x)*d/len }
|
|
29
|
+
*
|
|
30
|
+
* @see lib/common/emit.c:1836 computeoffset_p
|
|
31
|
+
*/
|
|
32
|
+
export declare function computeOffsetP(p: Point, q: Point, d: number): Point;
|
|
33
|
+
/**
|
|
34
|
+
* Calculate an offset vector, length d, perpendicular to spline p,q,r,s
|
|
35
|
+
* at the middle control points q and r. When q and r coincide (len < ε),
|
|
36
|
+
* falls back to the p→s direction.
|
|
37
|
+
*
|
|
38
|
+
* @see lib/common/emit.c:1849 computeoffset_qr
|
|
39
|
+
*/
|
|
40
|
+
export declare function computeOffsetQR(p: Point, q: Point, r: Point, s: Point, d: number): Point;
|
|
41
|
+
/**
|
|
42
|
+
* One parallel-offset bezier: a clone of the bezier's control-point array
|
|
43
|
+
* with every point offset by offVec × d (in-place via the tmp array).
|
|
44
|
+
*
|
|
45
|
+
* Returns { offlist, tmplist } for a SINGLE bezier segment with `size`
|
|
46
|
+
* control points (must be 4k+1 for k cubic segments).
|
|
47
|
+
*
|
|
48
|
+
* Algorithm:
|
|
49
|
+
* - offlist[j] = computeOffsetP(pf[j-1 or pf2_prev], pf[j+1], SEP) at j=0 or next segment start
|
|
50
|
+
* - offlist[j+1/2] = computeOffsetQR(pf0,pf1,pf2,pf3, SEP) for the two middle CPs
|
|
51
|
+
* - offlist[last] = computeOffsetP(pf2, pf3, SEP)
|
|
52
|
+
* - tmplist[j] = pf[j] - numc2 * offlist[j] (outermost lane)
|
|
53
|
+
*
|
|
54
|
+
* @see lib/common/emit.c:2449-2480
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildOffsetLists(pts: Point[], numc2: number): {
|
|
57
|
+
offlist: Point[];
|
|
58
|
+
tmplist: Point[];
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Advance every tmp point by one offset step (add offlist[i] to tmplist[i]).
|
|
62
|
+
* Called once per color before drawing that color's curve.
|
|
63
|
+
* @see lib/common/emit.c:2501-2504
|
|
64
|
+
*/
|
|
65
|
+
export declare function advanceTmpList(tmplist: Point[], offlist: Point[]): void;
|
|
66
|
+
//# sourceMappingURL=edge-offset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-offset.d.ts","sourceRoot":"","sources":["../../src/common/edge-offset.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAM9C;;;;GAIG;AACH,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,YAAY,IAAM,CAAC;AAMhC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAMnE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAcxF;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,KAAK,EAAE,EACZ,KAAK,EAAE,MAAM,GACZ;IAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,EAAE,CAAA;CAAE,CA8BxC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAIvE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Point } from '../model/geom.js';
|
|
2
|
+
/**
|
|
3
|
+
* Return a cubic-Bézier control-point list for an elliptical wedge, center
|
|
4
|
+
* `ctr`, x/y semi-axes `xsemi`/`ysemi`, start angle `angle0`, end angle
|
|
5
|
+
* `angle1`. Includes the beginning and ending line segments to the center.
|
|
6
|
+
* Point order and count match C's `Ppolyline_t.ps` / `pn`.
|
|
7
|
+
* @see lib/common/ellipse.c:ellipticWedge
|
|
8
|
+
*/
|
|
9
|
+
export declare function ellipticWedge(ctr: Point, xsemi: number, ysemi: number, angle0: number, angle1: number): Point[];
|
|
10
|
+
//# sourceMappingURL=ellipse-wedge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipse-wedge.d.ts","sourceRoot":"","sources":["../../src/common/ellipse-wedge.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAmK9C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GACvE,KAAK,EAAE,CAGT"}
|