@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,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG document prologue and graph group open/close helpers.
|
|
3
|
+
* Split from svg-helpers.ts to keep that module under the size cap.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: no ${...} template literals here — Lizard bug #2 (see
|
|
6
|
+
* svg-helpers.ts file header).
|
|
7
|
+
*
|
|
8
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_graph
|
|
9
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
10
|
+
*/
|
|
11
|
+
import type { Graph } from '../model/graph.js';
|
|
12
|
+
import type { Box } from '../model/geom.js';
|
|
13
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
14
|
+
/**
|
|
15
|
+
* Emit SVG tag. Group translate absorbs bb.ll + pad + margin/Z offset
|
|
16
|
+
* (svgBeginPage). ViewBox starts at (round(margin.x), round(margin.y)) --
|
|
17
|
+
* (0,0) only in the common no-margin case.
|
|
18
|
+
*/
|
|
19
|
+
export declare function emitSvgTag(job: RenderJob): void;
|
|
20
|
+
/**
|
|
21
|
+
* Emit the graph `<g>` open tag with y-flip transform.
|
|
22
|
+
*
|
|
23
|
+
* translate(PAD, contentH+PAD) maps graphviz origin (0,0) to the
|
|
24
|
+
* bottom-left corner of the padded viewport. Combined with devscale.y=-1,
|
|
25
|
+
* a node at graphviz (x,y) appears at SVG (x+PAD, h-PAD-y).
|
|
26
|
+
*
|
|
27
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
28
|
+
*/
|
|
29
|
+
export declare function emitGraphGroupOpen(graphId: string, classStr: string, tx: number, ty: number, job: RenderJob): void;
|
|
30
|
+
/**
|
|
31
|
+
* Conditionally emit `<title>` for user-visible graph names.
|
|
32
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
33
|
+
*/
|
|
34
|
+
export declare function emitGraphTitle(g: Graph, job: RenderJob): void;
|
|
35
|
+
/**
|
|
36
|
+
* Resolve the graph bgcolor attribute to the color string to use for the
|
|
37
|
+
* background polygon, or the BGCOLOR_TRANSPARENT sentinel to suppress it.
|
|
38
|
+
*
|
|
39
|
+
* Precedence mirrors emit_background (lib/common/emit.c:1476-1530):
|
|
40
|
+
* - absent/empty → "white" (default white paper)
|
|
41
|
+
* - "transparent" → BGCOLOR_TRANSPARENT sentinel (SVG is truecolor)
|
|
42
|
+
* - gradient "c1:c2" → first solid color (AD3)
|
|
43
|
+
* - else → the literal color string
|
|
44
|
+
*
|
|
45
|
+
* @see lib/common/emit.c:emit_background:1476
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveGraphBgcolor(bgcolorAttr: string | undefined): string;
|
|
48
|
+
/**
|
|
49
|
+
* Emit background polygon covering the full padded content area.
|
|
50
|
+
*
|
|
51
|
+
* Omits the polygon entirely when resolvedColor is the transparent sentinel.
|
|
52
|
+
* Coordinates are in the group's local frame (y-flipped via devscale.y=-1):
|
|
53
|
+
* x: [bb.ll.x - PAD, bb.ur.x + PAD]
|
|
54
|
+
* y (flipped): [-(bb.ur.y + PAD), -(bb.ll.y - PAD)]
|
|
55
|
+
*
|
|
56
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
57
|
+
* @see lib/common/emit.c:emit_background:1476
|
|
58
|
+
*/
|
|
59
|
+
export declare function emitGraphBackground(bb: Box, resolvedColor: string, job: RenderJob): void;
|
|
60
|
+
/**
|
|
61
|
+
* Emit SVG prologue, padded `<svg>` tag, graph `<g>` with y-flip transform,
|
|
62
|
+
* and background polygon (color resolved from bgcolor attr).
|
|
63
|
+
*
|
|
64
|
+
* Y-axis: Graphviz y-up vs SVG y-down. devscale.y=-1 negates all y coords
|
|
65
|
+
* before renderer callbacks; the graph `<g>` translate(PAD, contentH+PAD)
|
|
66
|
+
* places the Graphviz origin at the bottom-left of the padded viewport.
|
|
67
|
+
*
|
|
68
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_graph
|
|
69
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
70
|
+
* @see lib/common/emit.c:emit_background:1476
|
|
71
|
+
*/
|
|
72
|
+
export declare function svgBeginGraph(g: Graph, job: RenderJob): void;
|
|
73
|
+
/**
|
|
74
|
+
* Per-page content: the graph group, title, and background — re-emitted per
|
|
75
|
+
* layer. The group id carries the layer prefix (e.g. `pvt_graph0`).
|
|
76
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_page
|
|
77
|
+
*/
|
|
78
|
+
export declare function svgBeginPage(g: Graph, job: RenderJob): void;
|
|
79
|
+
/**
|
|
80
|
+
* Emit the page background polygon. Split out of svg_begin_page so the
|
|
81
|
+
* device-layer page loop can wrap the background (and the graph label) in the
|
|
82
|
+
* graph's `<a>` anchor, matching C where emit_background is separate from
|
|
83
|
+
* gvrender_begin_page.
|
|
84
|
+
* @see lib/common/emit.c:emit_page (emit_background after begin_page)
|
|
85
|
+
*/
|
|
86
|
+
export declare function svgPageBackground(g: Graph, job: RenderJob): void;
|
|
87
|
+
/** Close the graph `<g>` group. @see svg_end_page */
|
|
88
|
+
export declare function svgEndPage(job: RenderJob): void;
|
|
89
|
+
/** `<g id="<layer>" class="layer">` — only emitted when numLayers > 1. */
|
|
90
|
+
export declare function svgBeginLayer(name: string, job: RenderJob): void;
|
|
91
|
+
export declare function svgEndLayer(job: RenderJob): void;
|
|
92
|
+
/**
|
|
93
|
+
* Close the graph `<g>` group and the `<svg>` element.
|
|
94
|
+
* @see plugin/core/gvrender_core_svg.c:svg_end_graph
|
|
95
|
+
*/
|
|
96
|
+
export declare function svgEndGraph(job: RenderJob): void;
|
|
97
|
+
//# sourceMappingURL=svg-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-graph.d.ts","sourceRoot":"","sources":["../../src/render/svg-graph.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAS,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA+C/C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAsC/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,SAAS,GACb,IAAI,CAiBN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAI7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAiBxF;AA2GD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAqB5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CA+B3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAEhE;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAE/C;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAEhE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAEhD"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG renderer helper functions.
|
|
3
|
+
*
|
|
4
|
+
* All shape-emission logic lives here as top-level export functions so
|
|
5
|
+
* Lizard's TypeScript parser tracks function boundaries correctly.
|
|
6
|
+
* Lizard only resets its function-tracking on the export keyword;
|
|
7
|
+
* bare function declarations are silently absorbed into the preceding
|
|
8
|
+
* exported function's body count.
|
|
9
|
+
*
|
|
10
|
+
* Lizard parser bugs (affect this file):
|
|
11
|
+
* 1. Regex literal containing a double-quote char (e.g. /"/g) unbalances
|
|
12
|
+
* its string-quote tracker. Use new RegExp('"', 'g') instead.
|
|
13
|
+
* 2. Template literals containing ${...} interpolations confuse the parser
|
|
14
|
+
* and cause following non-exported functions to be absorbed into the
|
|
15
|
+
* preceding exported function's line-count. Avoid ${...} template
|
|
16
|
+
* literals in exported functions; use string concatenation or
|
|
17
|
+
* job.write/printDouble sequences instead.
|
|
18
|
+
*
|
|
19
|
+
* @see plugin/core/gvrender_core_svg.c
|
|
20
|
+
*/
|
|
21
|
+
import type { Node } from '../model/node.js';
|
|
22
|
+
import type { Edge } from '../model/edge.js';
|
|
23
|
+
import type { Point } from '../model/geom.js';
|
|
24
|
+
import type { TextSpan } from '../common/emit-types.js';
|
|
25
|
+
import type { RenderJob, ObjState } from '../gvc/job.js';
|
|
26
|
+
import { PenType } from '../gvc/context.js';
|
|
27
|
+
/**
|
|
28
|
+
* Padding (in graph units / points) added on all four sides of the bounding
|
|
29
|
+
* box, matching the C plugin descriptor `default_pad = 4.0`.
|
|
30
|
+
* @see plugin/core/gvrender_core_svg.c (gvrender_features_t.default_pad)
|
|
31
|
+
*/
|
|
32
|
+
export declare const SVG_PAD = 4;
|
|
33
|
+
/**
|
|
34
|
+
* Default graph-level margin (in points) when `margin=` is unset, matching
|
|
35
|
+
* the SVG plugin's `device_features_svg.default_margin` ({0,0}) — the
|
|
36
|
+
* `GVRENDER_PLUGIN` branch of `init_job_margin`'s fallback switch.
|
|
37
|
+
* @see plugin/core/gvrender_core_svg.c (device_features_svg.default_margin)
|
|
38
|
+
* @see lib/common/emit.c:3309-3331 init_job_margin
|
|
39
|
+
*/
|
|
40
|
+
export declare const SVG_MARGIN = 0;
|
|
41
|
+
import { escapeXml, escapeXmlText, escapeXmlTitle } from './xml-escape.js';
|
|
42
|
+
export { escapeXml, escapeXmlText, escapeXmlTitle };
|
|
43
|
+
export declare function paintStr(obj: ObjState, useFill: boolean): string;
|
|
44
|
+
export declare function emitDash(job: RenderJob, pen: PenType): void;
|
|
45
|
+
export declare function emitPenWidth(job: RenderJob, pw: number): void;
|
|
46
|
+
/**
|
|
47
|
+
* Emit fill/stroke style attributes in C's exact order: fill, fill-opacity,
|
|
48
|
+
* stroke, stroke-width, stroke-dasharray, stroke-opacity.
|
|
49
|
+
* @see plugin/core/gvrender_core_svg.c:165-213 svg_grstyle
|
|
50
|
+
*/
|
|
51
|
+
export declare function emitStyle(job: RenderJob, filled: boolean, gradFillUrl?: string): void;
|
|
52
|
+
export declare function emitPoints(job: RenderJob, pts: Point[]): void;
|
|
53
|
+
export declare function emitBezierPath(job: RenderJob, pts: Point[]): void;
|
|
54
|
+
export declare function textAnchor(just: 'l' | 'n' | 'r'): string;
|
|
55
|
+
export { emitSvgTag, emitGraphGroupOpen, emitGraphTitle, emitGraphBackground, svgBeginGraph, svgEndGraph, svgBeginPage, svgPageBackground, svgEndPage, svgBeginLayer, svgEndLayer, } from './svg-graph.js';
|
|
56
|
+
export declare function svgBeginNode(n: Node, job: RenderJob): void;
|
|
57
|
+
export declare function svgEndNode(job: RenderJob): void;
|
|
58
|
+
/**
|
|
59
|
+
* Begin an edge group + `<title>`. The title is `tail[:tport]<sep>head[:hport]`
|
|
60
|
+
* built raw, then escaped — mirroring C's `\E` substitution (`labels.c`) fed
|
|
61
|
+
* through `gvputs_xml`. The port string is the resolved port name
|
|
62
|
+
* (`ED_*_port(e).name`): a compass replaces a record field when both are given
|
|
63
|
+
* (`A:f0:n` → `A:n`), and the dash escapes to `-`.
|
|
64
|
+
* @see lib/common/labels.c:strdup_and_subst_obj (case 'E')
|
|
65
|
+
* @see plugin/core/gvrender_core_svg.c:svg_begin_edge
|
|
66
|
+
*/
|
|
67
|
+
export declare function svgBeginEdge(e: Edge, job: RenderJob): void;
|
|
68
|
+
export declare function svgEndEdge(job: RenderJob): void;
|
|
69
|
+
export declare function emitAnchorAttrs(href: string, tooltip: string, target: string, job: RenderJob): void;
|
|
70
|
+
export declare function svgBeginAnchor(href: string, tooltip: string, target: string, id: string, job: RenderJob): void;
|
|
71
|
+
export declare function svgEndAnchor(job: RenderJob): void;
|
|
72
|
+
export declare function svgTextspan(pos: Point, span: TextSpan, job: RenderJob): void;
|
|
73
|
+
/**
|
|
74
|
+
* Emit `<defs>` gradient block for a filled shape; returns the gradient id
|
|
75
|
+
* to use as fill="url(#id)", or undefined for solid/none fills (AD2, AD3).
|
|
76
|
+
* pts must be in y-up (Graphviz) coordinate space.
|
|
77
|
+
* @see plugin/core/gvrender_core_svg.c:647-694 (gradient dispatch)
|
|
78
|
+
*/
|
|
79
|
+
export declare function emitGradientDefs(job: RenderJob, ptsYup: Point[], filled: boolean): string | undefined;
|
|
80
|
+
export declare function svgEllipse(center: Point, rx: number, ry: number, filled: boolean, job: RenderJob): void;
|
|
81
|
+
export declare function svgPolygon(pts: Point[], filled: boolean, job: RenderJob): void;
|
|
82
|
+
export declare function svgBezier(pts: Point[], filled: boolean, job: RenderJob): void;
|
|
83
|
+
export declare function svgPolyline(pts: Point[], job: RenderJob): void;
|
|
84
|
+
export declare function svgComment(text: string, job: RenderJob): void;
|
|
85
|
+
/**
|
|
86
|
+
* Emit Bezier edge path with style from job.obj (AD1: no ad-hoc attr reads).
|
|
87
|
+
* Attribute order: fill="none" stroke="X" [stroke-width] [stroke-dasharray] d="..."
|
|
88
|
+
* @see plugin/core/gvrender_core_svg.c:svg_bzptarray
|
|
89
|
+
* @see lib/common/emit.c:emit_edge_graphics:2368 (late_string color)
|
|
90
|
+
*/
|
|
91
|
+
export declare function svgEdgePath(e: Edge, job: RenderJob): void;
|
|
92
|
+
/**
|
|
93
|
+
* If edge `e` should render with rounded ortho corners, return its corner
|
|
94
|
+
* radius; else null. Mirrors emit.c:2554-2581: graph `splines==ortho`, then
|
|
95
|
+
* `radius>0` (explicit, overrides style) or `style=rounded` → default radius
|
|
96
|
+
* `max(12, penwidth*8)`.
|
|
97
|
+
* @see lib/common/emit.c (is_ortho / want_rounded / radius)
|
|
98
|
+
*/
|
|
99
|
+
export declare function orthoRoundedRadius(e: Edge, job: RenderJob): number | null;
|
|
100
|
+
/**
|
|
101
|
+
* Emit an ortho edge whose corners are rounded (`splines=ortho` and `radius>0`
|
|
102
|
+
* or `style=rounded`): straight `<polyline>` segments between truncated corners
|
|
103
|
+
* plus an arc `<polyline>` per corner. Per-bezier fallback to the bezier `<path>`
|
|
104
|
+
* when a bezier has no orthogonal corner. @see lib/common/emit.c:2583-2666
|
|
105
|
+
*/
|
|
106
|
+
export declare function svgEdgePathOrthoRounded(e: Edge, radius: number, job: RenderJob): void;
|
|
107
|
+
/**
|
|
108
|
+
* Emit one arrowhead polygon with pen color from job.obj and Adobe first-point
|
|
109
|
+
* repetition. Exported so Lizard resets its line counter here (parser note above).
|
|
110
|
+
* @see plugin/core/gvrender_core_svg.c:svg_polygon (arrowhead case)
|
|
111
|
+
*/
|
|
112
|
+
export declare function emitArrowPolygon(rawPts: Point[], penColor: string, job: RenderJob, pw: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Emit arrowhead polygon(s) for a routed edge (tail first, then head).
|
|
115
|
+
* Arrow fill and stroke use the edge pen color from job.obj (AD1).
|
|
116
|
+
* @see plugin/core/gvrender_core_svg.c:svg_polygon (arrowhead case)
|
|
117
|
+
* @see lib/common/arrows.c:arrow_type_normal
|
|
118
|
+
*/
|
|
119
|
+
export declare function svgArrowPolygons(e: Edge, job: RenderJob): void;
|
|
120
|
+
export { emitParallelEdgePaths } from './svg-parallel-edge.js';
|
|
121
|
+
export type { ParallelEdgeResult } from './svg-parallel-edge.js';
|
|
122
|
+
//# sourceMappingURL=svg-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-helpers.d.ts","sourceRoot":"","sources":["../../src/render/svg-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Node } from '../model/node.js';
|
|
2
|
+
import type { Edge } from '../model/edge.js';
|
|
3
|
+
import type { Graph } from '../model/graph.js';
|
|
4
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
5
|
+
/**
|
|
6
|
+
* `class="<kind>"`, with the DOT `class` attribute appended (` <class>`,
|
|
7
|
+
* xml-escaped) when present — mirroring svg_print_id_class.
|
|
8
|
+
* @see plugin/core/gvrender_core_svg.c:svg_print_id_class
|
|
9
|
+
*/
|
|
10
|
+
export declare function svgClass(kind: string, classAttr: string | undefined): string;
|
|
11
|
+
/** SVG id for a node: own DOT `id` attr, else `node<seq>` (with gid prefix). */
|
|
12
|
+
export declare function svgNodeId(n: Node, job: RenderJob): string;
|
|
13
|
+
/** SVG id for an edge: own DOT `id` attr, else `edge<graphSeq>` (gid prefix). */
|
|
14
|
+
export declare function svgEdgeId(e: Edge, job: RenderJob): string;
|
|
15
|
+
/** SVG id for a cluster: own DOT `id` attr, else `clust<AGSEQ seq>` (gid prefix).
|
|
16
|
+
* @see lib/common/emit.c:getObjId */
|
|
17
|
+
export declare function svgClusterId(sg: Graph, job: RenderJob): string;
|
|
18
|
+
/** SVG id for the root graph group: DOT `id` attr, else `graph0` (no prefix). */
|
|
19
|
+
export declare function svgGraphId(g: Graph, job: RenderJob): string;
|
|
20
|
+
/** `class="node[ <class>]"`, reading the inherited DOT `class` attribute. */
|
|
21
|
+
export declare function svgNodeClass(n: Node): string;
|
|
22
|
+
/** `class="edge[ <class>]"`. */
|
|
23
|
+
export declare function svgEdgeClass(e: Edge): string;
|
|
24
|
+
/** `class="cluster[ <class>]"`, reading the inherited cluster `class` attr. */
|
|
25
|
+
export declare function svgClusterClass(sg: Graph): string;
|
|
26
|
+
/** `class="graph[ <class>]"`. */
|
|
27
|
+
export declare function svgGraphClass(g: Graph): string;
|
|
28
|
+
//# sourceMappingURL=svg-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-id.d.ts","sourceRoot":"","sources":["../../src/render/svg-id.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI5E;AAQD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED;qCACqC;AACrC,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAE9D;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAE3D;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAE5C;AAED,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAE5C;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAEjD;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multicolor region fills: stripedBox and wedgedEllipse.
|
|
3
|
+
*
|
|
4
|
+
* Ports the REGION-fill functions from lib/common/emit.c and the
|
|
5
|
+
* arc-to-Bézier machinery from lib/common/ellipse.c. These are called
|
|
6
|
+
* from poly-gencode (S1) for style=striped polygon nodes and style=wedged
|
|
7
|
+
* ellipse nodes when fillcolor is a multi-segment color list.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/common/emit.c:595 stripedBox
|
|
10
|
+
* @see lib/common/emit.c:549 wedgedEllipse
|
|
11
|
+
* @see lib/common/ellipse.c:274 ellipticWedge
|
|
12
|
+
*/
|
|
13
|
+
import type { Point } from '../model/geom.js';
|
|
14
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
15
|
+
import type { RendererPlugin } from '../gvc/context.js';
|
|
16
|
+
/**
|
|
17
|
+
* Thin-line pen width used for multicolor band/wedge outlines.
|
|
18
|
+
* @see lib/common/emit.c:538 #define THIN_LINE 0.5
|
|
19
|
+
*/
|
|
20
|
+
export declare const THIN_LINE = 0.5;
|
|
21
|
+
/** Ellipse geometry parameters. */
|
|
22
|
+
interface EllipseParams {
|
|
23
|
+
cx: number;
|
|
24
|
+
cy: number;
|
|
25
|
+
xsemi: number;
|
|
26
|
+
ysemi: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Return cubic Bézier path points approximating an elliptic wedge sector.
|
|
30
|
+
* Coordinates are in graphviz y-UP space — caller negates y for SVG.
|
|
31
|
+
*
|
|
32
|
+
* @see lib/common/ellipse.c:195 genEllipticPath
|
|
33
|
+
* @see lib/common/ellipse.c:274 ellipticWedge
|
|
34
|
+
*/
|
|
35
|
+
export declare function ellipticWedge(e: EllipseParams, angle0: number, angle1: number): Point[];
|
|
36
|
+
/**
|
|
37
|
+
* Fill an ellipse with multiple pie-wedge sectors, one per color segment.
|
|
38
|
+
*
|
|
39
|
+
* `pf` is a 2-point bounding-box array in SVG y-DOWN device coordinates.
|
|
40
|
+
* Thin pen (THIN_LINE) for each wedge; caller draws boundary unfilled after.
|
|
41
|
+
*
|
|
42
|
+
* Returns 0 → ok; 1 or 2 → parse error.
|
|
43
|
+
*
|
|
44
|
+
* @see lib/common/emit.c:549 wedgedEllipse
|
|
45
|
+
*/
|
|
46
|
+
export declare function wedgedEllipse(job: RenderJob, pf: Point[], clrs: string, renderer: RendererPlugin): number;
|
|
47
|
+
/**
|
|
48
|
+
* Fill a rectangular box with vertical color stripes.
|
|
49
|
+
*
|
|
50
|
+
* `pts` is a 4-point array in SVG y-DOWN device coordinates.
|
|
51
|
+
* `rotate` swaps corner order (true = vertical stripes, C default).
|
|
52
|
+
* Thin pen; caller draws boundary polygon unfilled after.
|
|
53
|
+
*
|
|
54
|
+
* Returns 0 → ok; 1 or 2 → parse error.
|
|
55
|
+
*
|
|
56
|
+
* @see lib/common/emit.c:595 stripedBox
|
|
57
|
+
*/
|
|
58
|
+
export declare function stripedBox(job: RenderJob, pts: Point[], clrs: string, rotate: boolean, renderer: RendererPlugin): number;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=svg-multicolor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-multicolor.d.ts","sourceRoot":"","sources":["../../src/render/svg-multicolor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD;;;GAGG;AACH,eAAO,MAAM,SAAS,MAAM,CAAC;AAiG7B,mCAAmC;AACnC,UAAU,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAuCjF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAC/C,KAAK,EAAE,CAgBT;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAClE,MAAM,CAuBR;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GACxC,MAAM,CAuBR"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel multi-color Bézier edge emission (M1).
|
|
3
|
+
*
|
|
4
|
+
* Ports the `else if (numc)` branch of emit_edge_graphics from
|
|
5
|
+
* lib/common/emit.c:2442-2528. Each color in a "c1:c2:…" color-list
|
|
6
|
+
* produces one Bézier path offset SEP=2.0 graph-units perpendicular to
|
|
7
|
+
* the routed spline. Arrow colors follow C's headcolor/tailcolor rule:
|
|
8
|
+
* headcolor = first color (cnum 0), tailcolor = second color (cnum 1, else
|
|
9
|
+
* same as headcolor).
|
|
10
|
+
*
|
|
11
|
+
* AD1: per-curve pen flows through job.obj (caller sets penColor before
|
|
12
|
+
* each curve; we mutate obj.penColor here so the T4 path emitters see
|
|
13
|
+
* the right color).
|
|
14
|
+
* AD4: caller passes the raw color-list string; numc is computed here.
|
|
15
|
+
*
|
|
16
|
+
* @see lib/common/emit.c:2442 (else if numc branch)
|
|
17
|
+
* @see lib/common/emit.c:2364 (#define SEP 2.0)
|
|
18
|
+
* @see lib/common/emit.c:2481-2496 (headcolor/tailcolor assignment)
|
|
19
|
+
*/
|
|
20
|
+
import type { Edge } from '../model/edge.js';
|
|
21
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
22
|
+
/** Return value carrying the head/tail arrow colors for the caller. */
|
|
23
|
+
export interface ParallelEdgeResult {
|
|
24
|
+
headColor: string;
|
|
25
|
+
tailColor: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function emitParallelEdgePaths(e: Edge, job: RenderJob, colorList: string): ParallelEdgeResult;
|
|
28
|
+
//# sourceMappingURL=svg-parallel-edge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-parallel-edge.d.ts","sourceRoot":"","sources":["../../src/render/svg-parallel-edge.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAY/C,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,IAAI,EACP,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,GAChB,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Edge } from '../model/edge.js';
|
|
2
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
3
|
+
/**
|
|
4
|
+
* True if `style="tapered"` is among the edge's style tokens, mirroring
|
|
5
|
+
* emit_edge_graphics' scan of the parse_style list. Tokens are comma-separated
|
|
6
|
+
* (parse_style), so a bare `tapered` matches. @see lib/common/emit.c:2371
|
|
7
|
+
*/
|
|
8
|
+
export declare function edgeIsTapered(e: Edge): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Emit a tapered edge: the taper polygon followed by the arrowheads. C sets
|
|
11
|
+
* pencolor "transparent" and fillcolor = edge color for the polygon, then
|
|
12
|
+
* restores pencolor = color before the arrows. The port carries pen/fill on
|
|
13
|
+
* job.obj, so we swap them around the polygon and restore for
|
|
14
|
+
* svgArrowPolygons (which paints in obj.penColor).
|
|
15
|
+
* @see lib/common/emit.c:2422
|
|
16
|
+
*/
|
|
17
|
+
export declare function svgTaperedEdge(e: Edge, job: RenderJob): void;
|
|
18
|
+
//# sourceMappingURL=svg-tapered-edge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-tapered-edge.d.ts","sourceRoot":"","sources":["../../src/render/svg-tapered-edge.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAI9C;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAqB5D"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG renderer plugin.
|
|
3
|
+
*
|
|
4
|
+
* Faithful TypeScript port of plugin/core/gvrender_core_svg.c.
|
|
5
|
+
* Implements RendererPlugin to produce SVG 1.1 output.
|
|
6
|
+
*
|
|
7
|
+
* Y-coordinate investigation: The C svg_bzptarray and all shape emitters
|
|
8
|
+
* negate Y with -A[i].y because they receive raw PostScript (Y-up)
|
|
9
|
+
* coordinates and must convert to SVG (Y-down). In this TypeScript port
|
|
10
|
+
* the Y-flip is applied upstream via transformPoint with devscale.y = -1
|
|
11
|
+
* (src/gvc/device.ts). Coordinates received in all renderer callbacks are
|
|
12
|
+
* therefore already in SVG Y-down space; no additional negation is needed.
|
|
13
|
+
*
|
|
14
|
+
* @see plugin/core/gvrender_core_svg.c
|
|
15
|
+
*/
|
|
16
|
+
import type { Graph } from '../model/graph.js';
|
|
17
|
+
import type { Node } from '../model/node.js';
|
|
18
|
+
import type { Edge } from '../model/edge.js';
|
|
19
|
+
import type { Point, Box } from '../model/geom.js';
|
|
20
|
+
import type { TextSpan } from '../common/emit-types.js';
|
|
21
|
+
import type { RendererPlugin, LabelType } from '../gvc/context.js';
|
|
22
|
+
import type { RenderJob } from '../gvc/job.js';
|
|
23
|
+
/**
|
|
24
|
+
* Faithful-to-outcome `edge_in_box`: true when the edge has something to draw.
|
|
25
|
+
* C's gvrender defers the `<g>` until a draw op, so an edge whose content falls
|
|
26
|
+
* entirely outside the clip emits no group (emit.c:edge_in_box tests each piece
|
|
27
|
+
* vs job->clip via boxf_overlap/overlap_label).
|
|
28
|
+
*
|
|
29
|
+
* The only piece that can legitimately fall OUTSIDE the clip on this corpus is a
|
|
30
|
+
* degenerate labeled-flat label: it is spline-less, so map_edge leaves it at its
|
|
31
|
+
* internal (un-normalized) x-frame position while the clip is the final frame.
|
|
32
|
+
* The `overlapLabel` test on the main label reproduces C's draw-iff-overlap for
|
|
33
|
+
* exactly that case — on-canvas (2368) → drawn; off-canvas (2368_1, negative
|
|
34
|
+
* un-normalized x) → suppressed. A present spline always lies within the clip
|
|
35
|
+
* (GD_bb contains it), and head/tail/xlabels are positioned at on-canvas
|
|
36
|
+
* endpoints, so those keep their existing unconditional triggers — adding an
|
|
37
|
+
* overlap test there only risks suppressing legitimately-drawn content (it
|
|
38
|
+
* regressed neato/circo edges whose spl.bb is computed differently). The `set`
|
|
39
|
+
* guard on the main label is kept: the port retains an unplaced (`pos=0,0`,
|
|
40
|
+
* `set=false`) label on merged back-edges where C has none.
|
|
41
|
+
* @see lib/common/emit.c:edge_in_box, lib/common/utils.c:overlap_label
|
|
42
|
+
*/
|
|
43
|
+
export declare function edgeHasDrawableContent(e: Edge, clip: Box): boolean;
|
|
44
|
+
export declare class SvgRenderer implements RendererPlugin {
|
|
45
|
+
readonly type = "svg";
|
|
46
|
+
/** @see plugin/core/gvplugin_core.c registration table */
|
|
47
|
+
readonly quality = 0;
|
|
48
|
+
/** Whether the current edge's <g> group was opened (deferred-emit state). */
|
|
49
|
+
private edgeGroupOpen;
|
|
50
|
+
beginGraph(g: Graph, job: RenderJob): void;
|
|
51
|
+
endGraph(_g: Graph, job: RenderJob): void;
|
|
52
|
+
beginPage(g: Graph, job: RenderJob): void;
|
|
53
|
+
pageBackground(g: Graph, job: RenderJob): void;
|
|
54
|
+
endPage(_g: Graph, job: RenderJob): void;
|
|
55
|
+
beginLayer(name: string, job: RenderJob): void;
|
|
56
|
+
endLayer(job: RenderJob): void;
|
|
57
|
+
beginNode(n: Node, job: RenderJob): void;
|
|
58
|
+
endNode(_n: Node, job: RenderJob): void;
|
|
59
|
+
beginEdge(e: Edge, job: RenderJob): void;
|
|
60
|
+
/**
|
|
61
|
+
* Close the edge group. Edge graphics (path + arrowhead) are emitted here
|
|
62
|
+
* because the full spline is available on e.info.spl only after layout has
|
|
63
|
+
* run routeDotEdges.
|
|
64
|
+
*
|
|
65
|
+
* For multi-color edges (color="c1:c2:…"), emits parallel offset Béziers
|
|
66
|
+
* (one per color, SEP=2.0 apart) then arrows in headcolor/tailcolor.
|
|
67
|
+
* Single-color edges use the T4 path unchanged.
|
|
68
|
+
*
|
|
69
|
+
* @see plugin/core/gvrender_core_svg.c:svg_end_edge
|
|
70
|
+
* @see lib/common/emit.c:2442-2528 (else if numc parallel-bezier branch)
|
|
71
|
+
*/
|
|
72
|
+
endEdge(e: Edge, job: RenderJob): void;
|
|
73
|
+
beginAnchor(href: string, tooltip: string, target: string, id: string, job: RenderJob): void;
|
|
74
|
+
endAnchor(job: RenderJob): void;
|
|
75
|
+
textspan(pos: Point, span: TextSpan, job: RenderJob): void;
|
|
76
|
+
ellipse(center: Point, rx: number, ry: number, filled: boolean, job: RenderJob): void;
|
|
77
|
+
polygon(pts: Point[], filled: boolean, job: RenderJob): void;
|
|
78
|
+
bezier(pts: Point[], filled: boolean, job: RenderJob): void;
|
|
79
|
+
polyline(pts: Point[], job: RenderJob): void;
|
|
80
|
+
attachmentPolyline(pts: Point[], pencolor: string, job: RenderJob): void;
|
|
81
|
+
/**
|
|
82
|
+
* Emit an <image> element. C formats numbers with %g here (not the
|
|
83
|
+
* svg_printdouble used elsewhere); toPrecision(6) reproduces %g.
|
|
84
|
+
* Deviation: C writes us->name raw (gvputs); the port XML-escapes the
|
|
85
|
+
* src so metacharacter paths cannot produce invalid SVG.
|
|
86
|
+
*
|
|
87
|
+
* AD-1 (image-api, additive): when job.inlineImages is set AND the
|
|
88
|
+
* registered image resolver (`setImageResolver`) resolves `src`, emit a
|
|
89
|
+
* self-contained `data:` URI instead of the raw src passthrough. This is
|
|
90
|
+
* not a C behavior — native Graphviz never inlines image bytes. Default
|
|
91
|
+
* off (job.inlineImages unset/false, or no resolver registered, or the
|
|
92
|
+
* resolver misses) reproduces the byte-identical pre-AD-1 output below.
|
|
93
|
+
* @see plugin/core/gvloadimage_core.c:core_loadimage_svg
|
|
94
|
+
* @see src/gvc/image-resolver.ts
|
|
95
|
+
*/
|
|
96
|
+
usershape(src: string, b: Box, job: RenderJob): void;
|
|
97
|
+
comment(text: string, job: RenderJob): void;
|
|
98
|
+
beginLabel(_type: LabelType, _job: RenderJob): void;
|
|
99
|
+
endLabel(_job: RenderJob): void;
|
|
100
|
+
beginCluster(sg: Graph, job: RenderJob): void;
|
|
101
|
+
endCluster(_sg: Graph, job: RenderJob): void;
|
|
102
|
+
}
|
|
103
|
+
export declare function createSvgRenderer(): RendererPlugin;
|
|
104
|
+
//# sourceMappingURL=svg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/render/svg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for structured xdot draw-op access.
|
|
3
|
+
*
|
|
4
|
+
* Lays out a Graph, renders it to the xdot format, parses the xdot
|
|
5
|
+
* attribute strings back into typed XdotOp values, and returns a flat
|
|
6
|
+
* op stream the caller can feed to any drawing backend (canvas, WebGL,
|
|
7
|
+
* PDF, native UI) without touching SVG.
|
|
8
|
+
*
|
|
9
|
+
* This wrapper is a thin, faithful exposure of whatever the xdot renderer
|
|
10
|
+
* emits — it adds no draw ops of its own.
|
|
11
|
+
*
|
|
12
|
+
* KNOWN LIMITATION (xdot renderer, not this wrapper): the underlying xdot
|
|
13
|
+
* renderer (`createXdotRenderer` in `render/dot.ts`) is currently
|
|
14
|
+
* integration-incomplete relative to native `dot -Txdot`:
|
|
15
|
+
* - edges emit no `_draw_` ops (no spline/arrowhead draw ops surface here);
|
|
16
|
+
* - custom node pen/fill colors are not applied to the emitted ops;
|
|
17
|
+
* - node draw-op coordinates can be mismatched between nodes.
|
|
18
|
+
* Node shape ops (ellipse/polygon), text/label ops, and font ops are
|
|
19
|
+
* emitted and surface correctly. The geometry itself is fully computed
|
|
20
|
+
* (the SVG renderer draws the same graph correctly); only the xdot
|
|
21
|
+
* emission path is incomplete. A faithful fix is tracked as a follow-on
|
|
22
|
+
* mission (see plans/expose-library-api/decision-journal.md, 2026-06-21).
|
|
23
|
+
*
|
|
24
|
+
* @see lib/xdot/xdot.h
|
|
25
|
+
* @see plugin/core/gvrender_core_dot.c (FORMAT_XDOT)
|
|
26
|
+
*/
|
|
27
|
+
import type { XdotOp } from '../xdot/types.js';
|
|
28
|
+
import { Graph } from '../model/graph.js';
|
|
29
|
+
import type { EngineName } from '../gvc/context.js';
|
|
30
|
+
/**
|
|
31
|
+
* `Xdot` — the parsed result of one xdot attribute stream: `ops` (the
|
|
32
|
+
* decoded draw-op array) plus `flags` (parse status bits).
|
|
33
|
+
*
|
|
34
|
+
* `XdotOp` — a single decoded xdot drawing operation, discriminated by its
|
|
35
|
+
* `kind` field (e.g. `filled_ellipse`, `filled_polygon`, `filled_bezier`,
|
|
36
|
+
* `polyline`, `text`, `fill_color`, `pen_color`, `grad_fill_color`,
|
|
37
|
+
* `grad_pen_color`, `font`, `style`, `image`, `fontchar`). Each variant
|
|
38
|
+
* carries one payload property named for its shape (`ellipse`, `polygon`,
|
|
39
|
+
* `bezier`, `polyline`, `text`, `color`, `gradColor`, `font`, `style`,
|
|
40
|
+
* `image`, `fontchar`) — narrow on `kind` in a switch to access it safely.
|
|
41
|
+
*
|
|
42
|
+
* `XdotColor` — a resolved xdot fill/pen color: `{ type: 'none', clr }` for
|
|
43
|
+
* a solid color, or a linear/radial gradient (`{ type: 'linear', ling }` /
|
|
44
|
+
* `{ type: 'radial', ring }`).
|
|
45
|
+
*
|
|
46
|
+
* @see lib/xdot/xdot.h:xdot
|
|
47
|
+
* @see lib/xdot/xdot.h:xdot_op (`_xdot_op`)
|
|
48
|
+
* @see lib/xdot/xdot.h:xdot_color
|
|
49
|
+
*/
|
|
50
|
+
export type { Xdot, XdotOp, XdotColor } from '../xdot/index.js';
|
|
51
|
+
/** Options for {@link getDrawOps}. */
|
|
52
|
+
export interface DrawOpsOptions {
|
|
53
|
+
/** Layout engine to use. Defaults to `'dot'`. */
|
|
54
|
+
engine?: EngineName;
|
|
55
|
+
}
|
|
56
|
+
/** Default layout engine used by {@link getDrawOps}. */
|
|
57
|
+
export declare const DEFAULT_DRAW_ENGINE: EngineName;
|
|
58
|
+
/**
|
|
59
|
+
* Lay out `g`, render to xdot, parse every draw-attribute stream, and
|
|
60
|
+
* return all ops as a flat `XdotOp[]` in paint order (graph → node → edge).
|
|
61
|
+
*
|
|
62
|
+
* Consumers discriminate on the `kind` field of the `XdotOp` union —
|
|
63
|
+
* no string parsing required.
|
|
64
|
+
*
|
|
65
|
+
* @param g - A Graph from `parse()` or the builder API.
|
|
66
|
+
* @param opts - Optional: `{ engine }` overrides the default `'dot'`.
|
|
67
|
+
* @returns Flat typed draw-op array covering the full graph.
|
|
68
|
+
* @throws ParseError if the xdot DOT output cannot be re-parsed.
|
|
69
|
+
* @throws RenderError if layout or rendering fails.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* import { parse } from '@knowvah/dot-engine';
|
|
74
|
+
* import { getDrawOps } from 'graphviz-ts/render';
|
|
75
|
+
*
|
|
76
|
+
* const g = parse('digraph { a -> b; }');
|
|
77
|
+
* for (const op of getDrawOps(g)) {
|
|
78
|
+
* switch (op.kind) {
|
|
79
|
+
* case 'filled_ellipse':
|
|
80
|
+
* case 'unfilled_ellipse':
|
|
81
|
+
* drawEllipse(op.ellipse);
|
|
82
|
+
* break;
|
|
83
|
+
* case 'text':
|
|
84
|
+
* drawText(op.text);
|
|
85
|
+
* break;
|
|
86
|
+
* // ...handle the remaining XdotOp kinds
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @see lib/xdot/xdot.h
|
|
92
|
+
* @see lib/gvc/gvc.h:gvRender
|
|
93
|
+
*/
|
|
94
|
+
export declare function getDrawOps(g: Graph, opts?: DrawOpsOptions): XdotOp[];
|
|
95
|
+
//# sourceMappingURL=xdot-public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xdot-public.d.ts","sourceRoot":"","sources":["../../src/render/xdot-public.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,EAAE,UAAkB,CAAC;AAwDrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CAGpE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base XML escape (gv_xml_escape with flags {0}): ids, titles, hrefs.
|
|
3
|
+
* @see lib/util/xml.c gv_xml_escape / xml_core / xml_isentity
|
|
4
|
+
*/
|
|
5
|
+
export declare function escapeXml(s: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Title/id/class XML escape (gv_xml_escape with flags {dash, nbsp} — C's
|
|
8
|
+
* gvputs_xml): base escaping plus '-'→- and 2nd+ consecutive
|
|
9
|
+
* spaces→ , WITHOUT the raw flag (entity-aware '&', no \n/\r
|
|
10
|
+
* escapes). Used for <title> content and id/class attribute values.
|
|
11
|
+
* @see lib/gvc/gvdevice.c:gvputs_xml, lib/util/xml.c:xml_core
|
|
12
|
+
*/
|
|
13
|
+
export declare function escapeXmlTitle(s: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Text/tooltip XML escape (gv_xml_escape with flags {raw, dash, nbsp}):
|
|
16
|
+
* additionally escapes '-'→-, newline/CR→ / , and 2nd+ consecutive
|
|
17
|
+
* spaces→ . Used for textspans and tooltips.
|
|
18
|
+
* @see plugin/core/gvrender_core_svg.c:546 (svg_textspan flags)
|
|
19
|
+
*/
|
|
20
|
+
export declare function escapeXmlText(s: string): string;
|
|
21
|
+
//# sourceMappingURL=xml-escape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml-escape.d.ts","sourceRoot":"","sources":["../../src/render/xml-escape.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/C"}
|