@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,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON and JSON0 renderer plugins.
|
|
3
|
+
*
|
|
4
|
+
* Ports plugin/core/gvrender_core_json.c — FORMAT_JSON and FORMAT_JSON0.
|
|
5
|
+
* FORMAT_DOT_JSON and FORMAT_XDOT_JSON are out of scope (AD-12).
|
|
6
|
+
*
|
|
7
|
+
* ## Draw-op / layout-attr sourcing (mirrors C's json_begin_graph)
|
|
8
|
+
*
|
|
9
|
+
* C's `json_begin_graph` (FORMAT_JSON) clones the GVC and runs a full
|
|
10
|
+
* `gvRender(gvc, g, "xdot", NULL)` over the already-laid-out graph. That xdot
|
|
11
|
+
* pass attaches every draw string (`_draw_`, `_ldraw_`, ...) plus the layout
|
|
12
|
+
* attributes (`pos`, `width`, `height`, `bb`, `xdotversion`) to the graph
|
|
13
|
+
* objects as cgraph string attributes; `json_end_graph` then serializes them,
|
|
14
|
+
* re-parsing each xdot draw string into an array of typed op objects
|
|
15
|
+
* (`write_xdot`). This port mirrors that literally: it re-renders the laid-out
|
|
16
|
+
* graph to xdot text via a fresh context and parses the text back (the same
|
|
17
|
+
* technique as `getDrawOps`/`layoutAndRenderXdot`), then looks each object's
|
|
18
|
+
* draw + layout attributes up by identity. Structure (subgraph tree, node/edge
|
|
19
|
+
* membership) and user/inherited attributes come from the ORIGINAL laid-out
|
|
20
|
+
* graph — the same object C's `json_end_graph` walks — because the port's xdot
|
|
21
|
+
* writer omits user attributes (color/label/shape) and filters "irrelevant"
|
|
22
|
+
* subgraphs, so the xdot re-parse alone is not a faithful source of structure.
|
|
23
|
+
*
|
|
24
|
+
* Output is emitted as a semantically-equivalent JSON value tree
|
|
25
|
+
* (`JSON.stringify`); byte-for-byte formatting is not required — the
|
|
26
|
+
* conformance bar is the semantic `compare-json` comparator (±0.01, colors /
|
|
27
|
+
* fonts canonicalized). `stoj`/`ind` are retained as the C-faithful string
|
|
28
|
+
* helpers referenced by the unit tests.
|
|
29
|
+
*
|
|
30
|
+
* @see plugin/core/gvrender_core_json.c
|
|
31
|
+
*/
|
|
32
|
+
import type { Graph } from '../model/graph.js';
|
|
33
|
+
import type { Node } from '../model/node.js';
|
|
34
|
+
import type { Edge } from '../model/edge.js';
|
|
35
|
+
import type { Point } from '../model/geom.js';
|
|
36
|
+
import type { TextSpan } from '../common/emit-types.js';
|
|
37
|
+
import type { RendererPlugin } from '../gvc/context.js';
|
|
38
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
39
|
+
/** Convert a dot string to a JSON-embedded string (with surrounding quotes). */
|
|
40
|
+
export declare function stoj(s: string): string;
|
|
41
|
+
export declare function ind(level: number): string;
|
|
42
|
+
export declare function buildJson(g: Graph, doXDot: boolean): string;
|
|
43
|
+
/**
|
|
44
|
+
* JSON0 renderer — position data only, no xdot draw operations.
|
|
45
|
+
*
|
|
46
|
+
* @see plugin/core/gvrender_core_json.c FORMAT_JSON0
|
|
47
|
+
*/
|
|
48
|
+
export declare class Json0Renderer implements RendererPlugin {
|
|
49
|
+
readonly type = "json0";
|
|
50
|
+
/** @see plugin/core/gvplugin_core.c registration table */
|
|
51
|
+
readonly quality = 0;
|
|
52
|
+
beginGraph(_g: Graph, _job: RenderJob): void;
|
|
53
|
+
endGraph(g: Graph, job: RenderJob): void;
|
|
54
|
+
beginNode(_n: Node, _job: RenderJob): void;
|
|
55
|
+
endNode(_n: Node, _job: RenderJob): void;
|
|
56
|
+
beginEdge(_e: Edge, _job: RenderJob): void;
|
|
57
|
+
endEdge(_e: Edge, _job: RenderJob): void;
|
|
58
|
+
textspan(_pos: Point, _span: TextSpan, _job: RenderJob): void;
|
|
59
|
+
ellipse(_c: Point, _rx: number, _ry: number, _f: boolean, _j: RenderJob): void;
|
|
60
|
+
polygon(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
61
|
+
bezier(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
62
|
+
polyline(_pts: Point[], _job: RenderJob): void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* JSON renderer — position data plus _draw_ arrays.
|
|
66
|
+
*
|
|
67
|
+
* @see plugin/core/gvrender_core_json.c FORMAT_JSON
|
|
68
|
+
*/
|
|
69
|
+
export declare class JsonRenderer implements RendererPlugin {
|
|
70
|
+
readonly type = "json";
|
|
71
|
+
/** @see plugin/core/gvplugin_core.c registration table */
|
|
72
|
+
readonly quality = 0;
|
|
73
|
+
beginGraph(_g: Graph, _job: RenderJob): void;
|
|
74
|
+
endGraph(g: Graph, job: RenderJob): void;
|
|
75
|
+
beginNode(_n: Node, _job: RenderJob): void;
|
|
76
|
+
endNode(_n: Node, _job: RenderJob): void;
|
|
77
|
+
beginEdge(_e: Edge, _job: RenderJob): void;
|
|
78
|
+
endEdge(_e: Edge, _job: RenderJob): void;
|
|
79
|
+
textspan(_pos: Point, _span: TextSpan, _job: RenderJob): void;
|
|
80
|
+
ellipse(_c: Point, _rx: number, _ry: number, _f: boolean, _j: RenderJob): void;
|
|
81
|
+
polygon(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
82
|
+
bezier(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
83
|
+
polyline(_pts: Point[], _job: RenderJob): void;
|
|
84
|
+
}
|
|
85
|
+
/** @see plugin/core/gvrender_core_json.c FORMAT_JSON0 */
|
|
86
|
+
export declare function createJson0Renderer(): RendererPlugin;
|
|
87
|
+
/** @see plugin/core/gvrender_core_json.c FORMAT_JSON */
|
|
88
|
+
export declare function createJsonRenderer(): RendererPlugin;
|
|
89
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/render/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test stubs for map.test.ts and map-renderers.test.ts.
|
|
3
|
+
* No describe/it calls — safe to import from any test file.
|
|
4
|
+
*/
|
|
5
|
+
import { RenderJob } from '../gvc/job.js';
|
|
6
|
+
import type { ObjState } from '../gvc/job.js';
|
|
7
|
+
import { Graph } from '../model/graph.js';
|
|
8
|
+
import { Node } from '../model/node.js';
|
|
9
|
+
export declare function makeJob(): RenderJob;
|
|
10
|
+
export declare function makeObjState(): ObjState;
|
|
11
|
+
export declare function makeGraph(): Graph;
|
|
12
|
+
export declare function makeNode(g: Graph, name?: string): Node;
|
|
13
|
+
//# sourceMappingURL=map-test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-test-helpers.d.ts","sourceRoot":"","sources":["../../src/render/map-test-helpers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgC,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKxC,wBAAgB,OAAO,IAAI,SAAS,CAInC;AAED,wBAAgB,YAAY,IAAI,QAAQ,CAuBvC;AAED,wBAAgB,SAAS,IAAI,KAAK,CAIjC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAM,GAAG,IAAI,CAOnD"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain, IMAP, and CMAPX renderer plugins.
|
|
3
|
+
*
|
|
4
|
+
* Plain: ports lib/common/output.c:write_plain.
|
|
5
|
+
* IMAP/CMAPX: ports plugin/core/gvrender_core_map.c.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/common/output.c:write_plain
|
|
8
|
+
* @see plugin/core/gvrender_core_map.c
|
|
9
|
+
*/
|
|
10
|
+
import type { Graph } from '../model/graph.js';
|
|
11
|
+
import type { Node } from '../model/node.js';
|
|
12
|
+
import type { Edge } from '../model/edge.js';
|
|
13
|
+
import type { Point, Box } from '../model/geom.js';
|
|
14
|
+
import type { TextSpan } from '../common/emit-types.js';
|
|
15
|
+
import type { RendererPlugin } from '../gvc/context.js';
|
|
16
|
+
import type { ObjState, RenderJob } from '../gvc/job.js';
|
|
17
|
+
import { MapShape } from '../gvc/job.js';
|
|
18
|
+
import { type MapCtx } from '../gvc/anchor.js';
|
|
19
|
+
/** Node style attributes for plain format. */
|
|
20
|
+
export interface PlainNodeAttrs {
|
|
21
|
+
label: string;
|
|
22
|
+
style: string;
|
|
23
|
+
shape: string;
|
|
24
|
+
color: string;
|
|
25
|
+
fill: string;
|
|
26
|
+
}
|
|
27
|
+
/** Anchor attributes bundled to avoid >5-param functions. */
|
|
28
|
+
export interface AnchorCtx {
|
|
29
|
+
url: string;
|
|
30
|
+
tooltip: string;
|
|
31
|
+
target: string;
|
|
32
|
+
id: string;
|
|
33
|
+
}
|
|
34
|
+
/** Format with 5 significant figures, trailing zeros stripped. */
|
|
35
|
+
export declare function printG5(v: number): string;
|
|
36
|
+
/** Convert points → inches (PS2INCH = 1/72) and format as %.5g. */
|
|
37
|
+
export declare function plainCoord(v: number): string;
|
|
38
|
+
/** Resolve fill color: fillcolor attr, then color attr, then lightgrey. */
|
|
39
|
+
export declare function plainNodeFill(n: Node): string;
|
|
40
|
+
/** Read the five style attrs needed for a plain node line. */
|
|
41
|
+
export declare function plainNodeAttrs(n: Node): PlainNodeAttrs;
|
|
42
|
+
/** Write one node line: `node name x y w h label style shape color fill\n` */
|
|
43
|
+
export declare function writePlainNode(n: Node, out: string[]): void;
|
|
44
|
+
/** Flatten all Bezier curves in an edge spline into a point array. */
|
|
45
|
+
export declare function collectSplinePts(e: Edge): Point[];
|
|
46
|
+
/** Return `:name` suffix when a port name is present, else empty string. */
|
|
47
|
+
export declare function portSuffix(name: string | null): string;
|
|
48
|
+
/** Write the `edge tail head n pt...` prefix when spline data exists. */
|
|
49
|
+
export declare function writePlainEdgeHead(e: Edge, tport: string, hport: string, pts: Point[], out: string[]): void;
|
|
50
|
+
/** Write one edge — spline prefix if available, always appends `style color\n`. */
|
|
51
|
+
export declare function writePlainEdge(e: Edge, extend: boolean, out: string[]): void;
|
|
52
|
+
/** Write the full plain output: graph header, nodes, edges, stop. */
|
|
53
|
+
export declare function writePlain(g: Graph, job: RenderJob, extend: boolean): void;
|
|
54
|
+
/** Build AnchorCtx from an ObjState, defaulting nulls to empty string. */
|
|
55
|
+
export declare function cmapxObjAnchor(obj: ObjState): AnchorCtx;
|
|
56
|
+
/** Write graph-level CMAPX shape if the obj has map points. */
|
|
57
|
+
export declare function writeCmapxGraphShape(job: RenderJob, out: string[]): void;
|
|
58
|
+
/** Map MapShape enum to CMAPX shape attribute string. */
|
|
59
|
+
export declare function cmapxShape(shape: MapShape): string;
|
|
60
|
+
/** CMAPX coords for a rectangle (UL→LR in Y-down space). */
|
|
61
|
+
export declare function cmapxCoordsRect(pts: Point[]): string;
|
|
62
|
+
/** CMAPX coords for a circle: `cx,cy,r`. */
|
|
63
|
+
export declare function cmapxCoordsCircle(pts: Point[]): string;
|
|
64
|
+
/** CMAPX coords for a polygon: `x0,y0,x1,y1,...`. */
|
|
65
|
+
export declare function cmapxCoordsPoly(pts: Point[]): string;
|
|
66
|
+
/** Dispatch to the correct CMAPX coordinate formatter. */
|
|
67
|
+
export declare function cmapxCoords(shape: MapShape, pts: Point[]): string;
|
|
68
|
+
/** Append optional id/href/target/title attributes to out. */
|
|
69
|
+
export declare function mapCmapxAttrs(a: AnchorCtx, out: string[]): void;
|
|
70
|
+
/** Write one `<area>` element: CMAPX (isXml=true → `/>`) or CMAP (`>`). */
|
|
71
|
+
export declare function mapOutputCmapx(shape: MapShape, pts: Point[], a: AnchorCtx, isXml: boolean, out: string[]): void;
|
|
72
|
+
/** Write one IMAP shape line; skipped when url is empty. */
|
|
73
|
+
export declare function mapOutputImap(shape: MapShape, pts: Point[], url: string, out: string[]): void;
|
|
74
|
+
/** @see plugin/core/gvrender_core_dot.c FORMAT_PLAIN */
|
|
75
|
+
export declare class PlainRenderer implements RendererPlugin {
|
|
76
|
+
readonly type = "plain";
|
|
77
|
+
readonly quality = 0;
|
|
78
|
+
beginGraph(_g: Graph, _job: RenderJob): void;
|
|
79
|
+
endGraph(g: Graph, job: RenderJob): void;
|
|
80
|
+
beginNode(_n: Node, _job: RenderJob): void;
|
|
81
|
+
endNode(_n: Node, _job: RenderJob): void;
|
|
82
|
+
beginEdge(_e: Edge, _job: RenderJob): void;
|
|
83
|
+
endEdge(_e: Edge, _job: RenderJob): void;
|
|
84
|
+
textspan(_pos: Point, _span: TextSpan, _job: RenderJob): void;
|
|
85
|
+
ellipse(_c: Point, _rx: number, _ry: number, _f: boolean, _j: RenderJob): void;
|
|
86
|
+
polygon(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
87
|
+
bezier(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
88
|
+
polyline(_pts: Point[], _job: RenderJob): void;
|
|
89
|
+
}
|
|
90
|
+
/** @see plugin/core/gvrender_core_dot.c FORMAT_PLAIN_EXT */
|
|
91
|
+
export declare class PlainExtRenderer implements RendererPlugin {
|
|
92
|
+
readonly type = "plain-ext";
|
|
93
|
+
readonly quality = 0;
|
|
94
|
+
beginGraph(_g: Graph, _job: RenderJob): void;
|
|
95
|
+
endGraph(g: Graph, job: RenderJob): void;
|
|
96
|
+
beginNode(_n: Node, _job: RenderJob): void;
|
|
97
|
+
endNode(_n: Node, _job: RenderJob): void;
|
|
98
|
+
beginEdge(_e: Edge, _job: RenderJob): void;
|
|
99
|
+
endEdge(_e: Edge, _job: RenderJob): void;
|
|
100
|
+
textspan(_pos: Point, _span: TextSpan, _job: RenderJob): void;
|
|
101
|
+
ellipse(_c: Point, _rx: number, _ry: number, _f: boolean, _j: RenderJob): void;
|
|
102
|
+
polygon(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
103
|
+
bezier(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
104
|
+
polyline(_pts: Point[], _job: RenderJob): void;
|
|
105
|
+
}
|
|
106
|
+
/** Graph name as `agnameof` returns it: the DOT name, or `%1` for an anonymous
|
|
107
|
+
* root (cgraph's first anonymous id). The port stores `''` for an anonymous
|
|
108
|
+
* root (dot/xdot re-serialization must not print a `%`-name — see dot.ts), so
|
|
109
|
+
* the imagemap layer restores the internal name only here.
|
|
110
|
+
* @see lib/cgraph/id.c:agnameof ; lib/cgraph/id.c:idmap (anon → `%1`) */
|
|
111
|
+
export declare function mapGraphName(g: Graph): string;
|
|
112
|
+
/** Root graph URL (href, then URL) with \-substitution, for the imap `default`
|
|
113
|
+
* line. Resolved from attrs because obj.url is populated after beginGraph.
|
|
114
|
+
* @see lib/common/emit.c:initObjMapData ; gvrender_core_map.c:map_begin_page */
|
|
115
|
+
export declare function graphMapUrl(g: Graph): string | null;
|
|
116
|
+
/** Build the imagemap coordinate context. The map device's default dpi is 96
|
|
117
|
+
* (dpi/resolution attrs override); zoom fits the drawing into `size=` exactly
|
|
118
|
+
* as the SVG path (initJobViewportZoom). @see gvrender_core_map.c device_features_map */
|
|
119
|
+
export declare function buildMapCtx(g: Graph, job: RenderJob, mapPolygon: boolean): MapCtx;
|
|
120
|
+
/**
|
|
121
|
+
* Shared imagemap renderer. Ports plugin/core/gvrender_core_map.c: the
|
|
122
|
+
* `url_map_p` geometry (src/gvc/anchor.ts) is populated in the begin hooks and
|
|
123
|
+
* emitted as `<area>` (cmapx) or `keyword url coords` (imap) lines in traversal
|
|
124
|
+
* order. The `_np` subclasses disable polygon/circle shapes
|
|
125
|
+
* (device_features_map_nopoly).
|
|
126
|
+
* @see plugin/core/gvrender_core_map.c
|
|
127
|
+
*/
|
|
128
|
+
declare abstract class MapRendererBase implements RendererPlugin {
|
|
129
|
+
abstract readonly type: string;
|
|
130
|
+
readonly quality = 0;
|
|
131
|
+
protected abstract readonly isCmapx: boolean;
|
|
132
|
+
protected abstract readonly mapPolygon: boolean;
|
|
133
|
+
private mapCtx;
|
|
134
|
+
beginGraph(g: Graph, job: RenderJob): void;
|
|
135
|
+
endGraph(_g: Graph, job: RenderJob): void;
|
|
136
|
+
beginNode(n: Node, job: RenderJob): void;
|
|
137
|
+
beginCluster(sg: Graph, job: RenderJob): void;
|
|
138
|
+
endEdge(e: Edge, job: RenderJob): void;
|
|
139
|
+
/** C emit_map_rect: record the HTML table/cell box as the pending hot spot,
|
|
140
|
+
* so the following beginAnchor emits its <area>. @see emit.c:640 */
|
|
141
|
+
emitMapRect(box: Box, job: RenderJob): void;
|
|
142
|
+
beginAnchor(url: string, tip: string, target: string, id: string, job: RenderJob): void;
|
|
143
|
+
endNode(_n: Node, _job: RenderJob): void;
|
|
144
|
+
beginEdge(_e: Edge, _job: RenderJob): void;
|
|
145
|
+
endCluster(_sg: Graph, _job: RenderJob): void;
|
|
146
|
+
textspan(_pos: Point, _span: TextSpan, _job: RenderJob): void;
|
|
147
|
+
ellipse(_c: Point, _rx: number, _ry: number, _f: boolean, _j: RenderJob): void;
|
|
148
|
+
polygon(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
149
|
+
bezier(_pts: Point[], _filled: boolean, _job: RenderJob): void;
|
|
150
|
+
polyline(_pts: Point[], _job: RenderJob): void;
|
|
151
|
+
/** Emit one hot spot: `<area>` (cmapx) or a plain `keyword url coords` line. */
|
|
152
|
+
private emitShape;
|
|
153
|
+
/** Whole-edge spline outline(s) then center/head/tail label hot spots.
|
|
154
|
+
* @see lib/common/emit.c:emit_begin_edge (2851-2872) / emit_end_edge */
|
|
155
|
+
private emitEdge;
|
|
156
|
+
/** One edge label hot spot (map_label rect), if placed and url/explicit-tip.
|
|
157
|
+
* @see lib/common/emit.c:emit_edge_label */
|
|
158
|
+
private emitEdgeLabel;
|
|
159
|
+
}
|
|
160
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_IMAP */
|
|
161
|
+
export declare class ImapRenderer extends MapRendererBase {
|
|
162
|
+
readonly type = "imap";
|
|
163
|
+
protected readonly isCmapx = false;
|
|
164
|
+
protected readonly mapPolygon = true;
|
|
165
|
+
}
|
|
166
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_IMAP (no-polygon device) */
|
|
167
|
+
export declare class ImapNpRenderer extends MapRendererBase {
|
|
168
|
+
readonly type = "imap-np";
|
|
169
|
+
protected readonly isCmapx = false;
|
|
170
|
+
protected readonly mapPolygon = false;
|
|
171
|
+
}
|
|
172
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_CMAPX */
|
|
173
|
+
export declare class CmapxRenderer extends MapRendererBase {
|
|
174
|
+
readonly type = "cmapx";
|
|
175
|
+
protected readonly isCmapx = true;
|
|
176
|
+
protected readonly mapPolygon = true;
|
|
177
|
+
}
|
|
178
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_CMAPX (no-polygon device) */
|
|
179
|
+
export declare class CmapxNpRenderer extends MapRendererBase {
|
|
180
|
+
readonly type = "cmapx-np";
|
|
181
|
+
protected readonly isCmapx = true;
|
|
182
|
+
protected readonly mapPolygon = false;
|
|
183
|
+
}
|
|
184
|
+
/** @see plugin/core/gvrender_core_dot.c FORMAT_PLAIN */
|
|
185
|
+
export declare function createPlainRenderer(): RendererPlugin;
|
|
186
|
+
/** @see plugin/core/gvrender_core_dot.c FORMAT_PLAIN_EXT */
|
|
187
|
+
export declare function createPlainExtRenderer(): RendererPlugin;
|
|
188
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_IMAP */
|
|
189
|
+
export declare function createImapRenderer(): RendererPlugin;
|
|
190
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_IMAP (no polygon) */
|
|
191
|
+
export declare function createImapNpRenderer(): RendererPlugin;
|
|
192
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_CMAPX */
|
|
193
|
+
export declare function createCmapxRenderer(): RendererPlugin;
|
|
194
|
+
/** @see plugin/core/gvrender_core_map.c FORMAT_CMAPX (no polygon) */
|
|
195
|
+
export declare function createCmapxNpRenderer(): RendererPlugin;
|
|
196
|
+
export {};
|
|
197
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/render/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-format public render entry point.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the low-level `gvc/device.ts:render` with context lifecycle
|
|
5
|
+
* management (layout → render → freeLayout) and structured-error handling,
|
|
6
|
+
* mirroring `src/index.ts:renderSvg` exactly.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/gvc/gvc.c:gvRender
|
|
9
|
+
*/
|
|
10
|
+
import type { Graph } from '../model/graph.js';
|
|
11
|
+
import type { EngineName } from '../gvc/context.js';
|
|
12
|
+
/**
|
|
13
|
+
* Supported output formats. Closed string union matching the built-in
|
|
14
|
+
* renderers registered by `createDefaultContext`.
|
|
15
|
+
*/
|
|
16
|
+
export type OutputFormat = 'svg' | 'dot' | 'xdot' | 'json' | 'plain' | 'plain-ext' | 'imap' | 'cmapx';
|
|
17
|
+
/**
|
|
18
|
+
* Options for {@link render}.
|
|
19
|
+
*/
|
|
20
|
+
export interface RenderOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Layout engine to use. Defaults to `'dot'`.
|
|
23
|
+
*
|
|
24
|
+
* yAxis is intentionally absent: coordinate orientation is a `getLayout`
|
|
25
|
+
* concern (ADR-5). The raw format strings produced here carry native
|
|
26
|
+
* y-up coordinates; callers that need y-down must flip in post-processing.
|
|
27
|
+
*/
|
|
28
|
+
engine?: EngineName;
|
|
29
|
+
/**
|
|
30
|
+
* Inline external images as `data:` URIs (AD-1, additive). Defaults to
|
|
31
|
+
* `false` — unset reproduces the pre-AD-1 raw `xlink:href="src"`
|
|
32
|
+
* passthrough byte-for-byte. When `true`, the SVG emitter consults the
|
|
33
|
+
* process-global resolver registered via `setImageResolver` (from
|
|
34
|
+
* `graphviz-ts`) for each `image=`/HTML `<IMG>` source; a hit is inlined
|
|
35
|
+
* as `data:<mime>;base64,<...>`, a miss (or no resolver registered) falls
|
|
36
|
+
* back to the raw src passthrough. Has no effect on non-SVG formats.
|
|
37
|
+
*/
|
|
38
|
+
inlineImages?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Render a (parsed or built) graph to the requested format string.
|
|
42
|
+
*
|
|
43
|
+
* Lifecycle: createDefaultContext → layout → deviceRender → freeLayout.
|
|
44
|
+
* Error handling mirrors `renderSvg`: GvError-like throws re-surface
|
|
45
|
+
* unchanged; unknown throws become `RenderError('RENDER_ERROR')`.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Security: for the markup formats (`svg`, `cmapx`, `imap`), treat the output
|
|
49
|
+
* as attacker-controlled when the source graph came from untrusted DOT.
|
|
50
|
+
* Attribute values are XML-escaped, but URL schemes and resource origins
|
|
51
|
+
* (`href`/`URL`/`image`/`stylesheet`) are passed through unfiltered, matching
|
|
52
|
+
* native Graphviz. Apply a Content-Security-Policy or sanitize before embedding
|
|
53
|
+
* — see the README "Security" section.
|
|
54
|
+
*
|
|
55
|
+
* @param g - graph produced by `parse(...)` or the builder API
|
|
56
|
+
* @param format - target output format
|
|
57
|
+
* @param opts - optional engine override (default: `'dot'`)
|
|
58
|
+
* @returns rendered string in the requested format
|
|
59
|
+
* @throws RenderError on layout or render failure
|
|
60
|
+
*
|
|
61
|
+
* @see lib/gvc/gvc.c:gvRender
|
|
62
|
+
*/
|
|
63
|
+
export declare function render(g: Graph, format: OutputFormat, opts?: RenderOptions): string;
|
|
64
|
+
//# sourceMappingURL=public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/render/public.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,KAAK,EACR,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB,MAAM,CAcR"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
2
|
+
import type { ArrowDrawOp } from '../common/arrows-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emit one edge end's arrowhead draw-ops, in order, with the given pen color.
|
|
5
|
+
* `opacity` is the stringified alpha (`colorOpacity`) or null when the pen color
|
|
6
|
+
* is opaque; it drives the SVG fill/stroke-opacity attributes (e.g. an edge
|
|
7
|
+
* color="#rrggbbaa"). @see lib/common/arrows.c:arrow_gen
|
|
8
|
+
*/
|
|
9
|
+
export declare function emitArrowOps(ops: ArrowDrawOp[], penColor: string, job: RenderJob, pw: number, opacity?: string | null): void;
|
|
10
|
+
//# sourceMappingURL=svg-arrow-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-arrow-ops.d.ts","sourceRoot":"","sources":["../../src/render/svg-arrow-ops.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAiF7D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CASlI"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG cluster group helpers.
|
|
3
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_cluster / svg_end_cluster
|
|
4
|
+
*/
|
|
5
|
+
import type { Graph } from '../model/graph.js';
|
|
6
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
7
|
+
export declare function svgBeginCluster(sg: Graph, job: RenderJob): void;
|
|
8
|
+
export declare function svgEndCluster(job: RenderJob): void;
|
|
9
|
+
//# sourceMappingURL=svg-cluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-cluster.d.ts","sourceRoot":"","sources":["../../src/render/svg-cluster.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAO/D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAElD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Point } from '../model/geom.js';
|
|
2
|
+
/** Per-corner geometry, mirroring emit.c:corner_info_t. */
|
|
3
|
+
export interface CornerInfo {
|
|
4
|
+
/** Index of the corner point in the spline list. */
|
|
5
|
+
idx: number;
|
|
6
|
+
/** Truncation point toward the previous segment (curr − dir1·radius). */
|
|
7
|
+
truncPrev: Point;
|
|
8
|
+
/** Truncation point toward the next segment (curr + dir2·radius). */
|
|
9
|
+
truncNext: Point;
|
|
10
|
+
/** Center of the arc wedge. */
|
|
11
|
+
wedgeCenter: Point;
|
|
12
|
+
/** Arc start/end angles. */
|
|
13
|
+
angle1: number;
|
|
14
|
+
angle2: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Find every orthogonal corner in the spline point list and compute its
|
|
18
|
+
* truncation + wedge parameters. A corner is a horizontal→vertical or
|
|
19
|
+
* vertical→horizontal bend (TOL 0.1). @see lib/common/emit.c:find_ortho_corners
|
|
20
|
+
*/
|
|
21
|
+
export declare function findOrthoCorners(pts: Point[], radius: number): CornerInfo[];
|
|
22
|
+
/**
|
|
23
|
+
* The full list of `<polyline>` point-arrays native emits for an ortho edge with
|
|
24
|
+
* rounded corners: straight segments between truncated corners first, then one
|
|
25
|
+
* arc polyline per corner — matching emit.c's order (segment loop, then
|
|
26
|
+
* draw_ortho_corner_markers). Returns `[]` when no orthogonal corner is found,
|
|
27
|
+
* so the caller falls back to the bezier `<path>`.
|
|
28
|
+
* @see lib/common/emit.c:2583-2662
|
|
29
|
+
*/
|
|
30
|
+
export declare function orthoRoundedPolylines(pts: Point[], radius: number): Point[][];
|
|
31
|
+
//# sourceMappingURL=svg-edge-ortho-radius.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-edge-ortho-radius.d.ts","sourceRoot":"","sources":["../../src/render/svg-edge-ortho-radius.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,SAAS,EAAE,KAAK,CAAC;IACjB,qEAAqE;IACrE,SAAS,EAAE,KAAK,CAAC;IACjB,+BAA+B;IAC/B,WAAW,EAAE,KAAK,CAAC;IACnB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAyFD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA4B3E;AAkED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAI7E"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split-along-length multi-color edges: a `color="c1;f1:c2;f2"` (semicolon)
|
|
3
|
+
* spec draws each routed spline split along its ARC LENGTH, one sub-curve per
|
|
4
|
+
* color segment. This is C's `multicolor()` path, reached when the color has
|
|
5
|
+
* both ';' and ':' (numsemi && numc); the plain ':' syntax is the parallel
|
|
6
|
+
* branch (svg-parallel-edge.ts).
|
|
7
|
+
*
|
|
8
|
+
* Arrow rule (note: inverse of the parallel branch): tail arrow = FIRST color,
|
|
9
|
+
* head arrow = endcolor (LAST drawn color).
|
|
10
|
+
*
|
|
11
|
+
* @see lib/common/emit.c:1975 multicolor
|
|
12
|
+
* @see lib/common/emit.c:1921 splitBSpline
|
|
13
|
+
* @see lib/common/emit.c:1908 approxLen
|
|
14
|
+
* @see lib/common/utils.c:175 Bezier (de Casteljau split)
|
|
15
|
+
*/
|
|
16
|
+
import type { Edge } from '../model/edge.js';
|
|
17
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
18
|
+
import type { Point } from '../model/geom.js';
|
|
19
|
+
interface ColorSeg {
|
|
20
|
+
color: string | null;
|
|
21
|
+
t: number;
|
|
22
|
+
}
|
|
23
|
+
/** One color segment of a split spline: the sub-curve control points + its color. */
|
|
24
|
+
export interface ColoredSubCurve {
|
|
25
|
+
color: string;
|
|
26
|
+
points: Point[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Split one routed spline along its arc length into colored sub-curves per the
|
|
30
|
+
* color segments (C's multicolor() walk), returning the sub-curves and the end
|
|
31
|
+
* color. Pure geometry — no emission — so both the SVG and xdot renderers can
|
|
32
|
+
* share it. @see lib/common/emit.c:1975 multicolor
|
|
33
|
+
*/
|
|
34
|
+
export declare function splitSplineByColor(list: Point[], segs: ColorSeg[]): {
|
|
35
|
+
curves: ColoredSubCurve[];
|
|
36
|
+
endColor: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Emit a split-along-length multi-color edge. Returns the first and end colors
|
|
40
|
+
* for arrow drawing (tail = first, head = end).
|
|
41
|
+
* @see lib/common/emit.c:1975 multicolor
|
|
42
|
+
*/
|
|
43
|
+
export declare function emitSplitEdgePaths(e: Edge, job: RenderJob, colorList: string): {
|
|
44
|
+
firstColor: string;
|
|
45
|
+
endColor: string;
|
|
46
|
+
};
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=svg-edge-split.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-edge-split.d.ts","sourceRoot":"","sources":["../../src/render/svg-edge-split.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAU,MAAM,kBAAkB,CAAC;AAkFtD,UAAU,QAAQ;IAAG,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE;AAEvD,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAC;CAAE;AA2BpE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,QAAQ,EAAE,GACf;IAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQjD;AASD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,IAAI,EACP,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,GAChB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAY1C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG gradient emitters — ports svg_print_stop, svg_gradstyle, svg_rgradstyle
|
|
3
|
+
* and get_gradient_points. Separate module to keep svg-helpers.ts < 500 lines (AD5).
|
|
4
|
+
* @see plugin/core/gvrender_core_svg.c:553 (svg_print_stop)
|
|
5
|
+
* @see plugin/core/gvrender_core_svg.c:572 (svg_gradstyle)
|
|
6
|
+
* @see plugin/core/gvrender_core_svg.c:608 (svg_rgradstyle)
|
|
7
|
+
* @see lib/common/utils.c:1446 (get_gradient_points)
|
|
8
|
+
*/
|
|
9
|
+
import type { Point } from '../model/geom.js';
|
|
10
|
+
import type { GVColor } from '../common/color.js';
|
|
11
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
12
|
+
interface GradientPoints {
|
|
13
|
+
g0: Point;
|
|
14
|
+
g1: Point;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Compute gradient endpoints. `isRHS` mirrors C's `flags & 2`: true yields
|
|
18
|
+
* native y-up (Graphviz) coordinates for the xdot/json device path, false
|
|
19
|
+
* yields the SVG y-down convention (the default, used by the SVG renderer,
|
|
20
|
+
* whose top-level `<g transform>` supplies the flip). Linear: g0/g1 =
|
|
21
|
+
* endpoints. Radial: g0=(cx,±cy), g1=(inner_r,outer_r).
|
|
22
|
+
* @see lib/common/utils.c:1446 get_gradient_points
|
|
23
|
+
*/
|
|
24
|
+
export declare function getGradientPoints(A: Point[], angle: number, radial: boolean, isRHS?: boolean): GradientPoints;
|
|
25
|
+
/**
|
|
26
|
+
* Emit one gradient stop. offset: near-0→"0", near-1→"1", else "%.03f".
|
|
27
|
+
* @see plugin/core/gvrender_core_svg.c:553 svg_print_stop
|
|
28
|
+
*/
|
|
29
|
+
export declare function emitStop(job: RenderJob, offset: number, color: GVColor): void;
|
|
30
|
+
/**
|
|
31
|
+
* Gradient element id: [escapeXml(objId)+'_'] + kind+'_'+n.
|
|
32
|
+
* @see plugin/core/gvrender_core_svg.c:572 svg_gradstyle (id block)
|
|
33
|
+
*/
|
|
34
|
+
export declare function gradientId(objId: string | null, kind: 'l' | 'r', n: number): string;
|
|
35
|
+
/**
|
|
36
|
+
* Emit `<defs><linearGradient>` + two stops + `</linearGradient></defs>`.
|
|
37
|
+
* pts in y-up (Graphviz) space. @see plugin/core/gvrender_core_svg.c:572 svg_gradstyle
|
|
38
|
+
*/
|
|
39
|
+
export declare function emitLinearGradient(job: RenderJob, pts: Point[], id: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Emit `<defs><radialGradient>` + two stops + `</radialGradient></defs>`.
|
|
42
|
+
* @see plugin/core/gvrender_core_svg.c:608 svg_rgradstyle
|
|
43
|
+
*/
|
|
44
|
+
export declare function emitRadialGradient(job: RenderJob, id: string): void;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=svg-gradient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-gradient.d.ts","sourceRoot":"","sources":["../../src/render/svg-gradient.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,UAAU,cAAc;IAAG,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;CAAE;AAqDlD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,UAAQ,GACxD,cAAc,CAMhB;AAyBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAY7E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnF;AAcD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAQjF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAgBnE"}
|