@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,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure style-resolution functions: parse style strings and resolve
|
|
3
|
+
* pen/fill properties from node attributes. Data-in / data-out only —
|
|
4
|
+
* no rendering, no ObjState mutation (AD2).
|
|
5
|
+
*
|
|
6
|
+
* Exports: parseStyleFlags, resolvePenType, resolvePenWidth,
|
|
7
|
+
* resolveNodeFill, resolveNodeFillEx, resolvePenColor,
|
|
8
|
+
* resolveClusterFill, resolveClusterFillEx, findStopColor.
|
|
9
|
+
* Types: PolyStyleFlags, NodeAttrs, ClusterAttrs, ClusterFill, ResolvedFill.
|
|
10
|
+
*
|
|
11
|
+
* @see lib/common/types.h:graphviz_polygon_style_t
|
|
12
|
+
* @see lib/common/shapes.c:checkStyle
|
|
13
|
+
* @see lib/common/shapes.c:stylenode
|
|
14
|
+
* @see lib/common/shapes.c:penColor
|
|
15
|
+
* @see lib/common/shapes.c:findFill
|
|
16
|
+
* @see lib/common/emit.c:isFilled
|
|
17
|
+
* @see lib/common/emit.c:4010 parse_style
|
|
18
|
+
* @see lib/gvc/gvrender.c:481 gvrender_set_style
|
|
19
|
+
* @see lib/common/const.h (DEFAULT_COLOR="black", DEFAULT_FILL="lightgrey")
|
|
20
|
+
*/
|
|
21
|
+
import { PenType } from '../gvc/context.js';
|
|
22
|
+
/** @see lib/common/types.h:graphviz_polygon_style_t */
|
|
23
|
+
export interface PolyStyleFlags {
|
|
24
|
+
filled: boolean;
|
|
25
|
+
dashed: boolean;
|
|
26
|
+
dotted: boolean;
|
|
27
|
+
bold: boolean;
|
|
28
|
+
invis: boolean;
|
|
29
|
+
diagonals: boolean;
|
|
30
|
+
rounded: boolean;
|
|
31
|
+
radial: boolean;
|
|
32
|
+
striped: boolean;
|
|
33
|
+
wedged: boolean;
|
|
34
|
+
underline: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Pen width from a `setlinewidth(N)` style token, or null when absent.
|
|
37
|
+
* @see lib/gvc/gvrender.c:501 gvrender_set_style (atof of paren argument)
|
|
38
|
+
*/
|
|
39
|
+
setLineWidth: number | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Minimal node attribute bag consumed by resolveNodeFill / resolveNodeFillEx.
|
|
43
|
+
* Mirrors the subset of node attrs read by findFill / isFilled in C.
|
|
44
|
+
*/
|
|
45
|
+
export interface NodeAttrs {
|
|
46
|
+
style?: string | undefined;
|
|
47
|
+
fillcolor?: string | undefined;
|
|
48
|
+
color?: string | undefined;
|
|
49
|
+
/** @see lib/common/emit.c gradientangle attr */
|
|
50
|
+
gradientangle?: string | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Minimal cluster attribute bag consumed by resolveClusterFill /
|
|
54
|
+
* resolveClusterFillEx.
|
|
55
|
+
* Mirrors the attrs read in emit_clusters (lib/common/emit.c:3805-3853).
|
|
56
|
+
*/
|
|
57
|
+
export interface ClusterAttrs {
|
|
58
|
+
style?: string | undefined;
|
|
59
|
+
color?: string | undefined;
|
|
60
|
+
pencolor?: string | undefined;
|
|
61
|
+
fillcolor?: string | undefined;
|
|
62
|
+
bgcolor?: string | undefined;
|
|
63
|
+
penwidth?: string | undefined;
|
|
64
|
+
/** @see lib/common/emit.c gradientangle attr */
|
|
65
|
+
gradientangle?: string | undefined;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolved fill and pen colors for a cluster boundary polygon.
|
|
69
|
+
* @see lib/common/emit.c:emit_clusters:3805-3853
|
|
70
|
+
*/
|
|
71
|
+
export interface ClusterFill {
|
|
72
|
+
/** Whether the cluster interior should be painted. */
|
|
73
|
+
filled: boolean;
|
|
74
|
+
/** Fill color to use when filled=true. */
|
|
75
|
+
fillColor: string;
|
|
76
|
+
/** Pen (stroke) color. */
|
|
77
|
+
penColor: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Discriminated fill result (AD4, AD6).
|
|
81
|
+
* 'none' = not filled; 'solid' = single color;
|
|
82
|
+
* 'linear'/'radial' = gradient from findStopColor.
|
|
83
|
+
* @see lib/common/emit.c:4335 findStopColor
|
|
84
|
+
*/
|
|
85
|
+
export type ResolvedFill = {
|
|
86
|
+
kind: 'none';
|
|
87
|
+
} | {
|
|
88
|
+
kind: 'solid';
|
|
89
|
+
color: string;
|
|
90
|
+
} | {
|
|
91
|
+
kind: 'linear' | 'radial';
|
|
92
|
+
fillColor: string;
|
|
93
|
+
stopColor: string;
|
|
94
|
+
frac: number;
|
|
95
|
+
angle: number;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* The raw style tokens C's parse_style produces (comma-separated, trimmed,
|
|
99
|
+
* non-empty), truncated to empty past FUNLIMIT. These are what xdot's
|
|
100
|
+
* `xdot_style` re-emits as `S` ops (it skips filled/bold/setlinewidth). The
|
|
101
|
+
* port resolves style into a PenType for SVG; xdot needs the original tokens.
|
|
102
|
+
* @see lib/common/emit.c:4010 parse_style · gvrender_core_dot.c:161 xdot_style
|
|
103
|
+
*/
|
|
104
|
+
export declare function styleTokens(style: string | undefined): string[];
|
|
105
|
+
/**
|
|
106
|
+
* Parse a graphviz style attribute string into a flag set.
|
|
107
|
+
*
|
|
108
|
+
* Splits on commas and trims. A `setlinewidth(N)` token captures its pen-width
|
|
109
|
+
* argument; other tokens containing '(' are ignored. When the non-empty token
|
|
110
|
+
* count reaches FUNLIMIT (64), C's parse_style returns early before building
|
|
111
|
+
* the style list — the observable effect is an empty style list (no flags
|
|
112
|
+
* applied), which we reproduce by returning zeroFlags().
|
|
113
|
+
*
|
|
114
|
+
* @see lib/common/emit.c:4010 parse_style (FUNLIMIT truncation)
|
|
115
|
+
* @see lib/gvc/gvrender.c:481 gvrender_set_style (setlinewidth → penwidth)
|
|
116
|
+
*/
|
|
117
|
+
export declare function parseStyleFlags(style: string | undefined): PolyStyleFlags;
|
|
118
|
+
/**
|
|
119
|
+
* Resolve PenType from parsed style flags.
|
|
120
|
+
* Dashed is checked before dotted (lib/gvc/gvrender.c:493-495).
|
|
121
|
+
* @see lib/gvc/gvrender.c:493
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* True when a style string contains the "invisible" pen alias.
|
|
125
|
+
*
|
|
126
|
+
* `gvrender_set_style` maps BOTH "invis" and "invisible" to PEN_NONE
|
|
127
|
+
* (`streq(line,"invis") || streq(line,"invisible")`), suppressing the object's
|
|
128
|
+
* draw. The exact "invis" token additionally drives emit_node/emit_edge's early
|
|
129
|
+
* return and the point shape's `{invis,filled}` whitelist (checkStyle uses exact
|
|
130
|
+
* "invis"), so it is tracked separately as `flags.invis`. This helper reports the
|
|
131
|
+
* "invisible"-only alias, which suppresses drawing for shapes that pass their raw
|
|
132
|
+
* style through gvrender_set_style (poly/record/edge) but NOT for the point shape.
|
|
133
|
+
* Tokenization mirrors parseStyleFlags (comma split, FUNLIMIT truncation).
|
|
134
|
+
* @see lib/gvc/gvrender.c:497 gvrender_set_style
|
|
135
|
+
* @see lib/common/shapes.c:point_gencode (point_style whitelist)
|
|
136
|
+
*/
|
|
137
|
+
export declare function styleHasInvisibleAlias(style: string | undefined): boolean;
|
|
138
|
+
export declare function resolvePenType(flags: PolyStyleFlags): PenType;
|
|
139
|
+
/**
|
|
140
|
+
* Resolve pen width from flags and the raw penwidth attribute string.
|
|
141
|
+
* Precedence: explicit `penwidth` attr → `setlinewidth(N)` style →
|
|
142
|
+
* `bold` flag (2.0) → default (1.0). The explicit attr wins because stylenode
|
|
143
|
+
* applies N_penwidth after gvrender_set_style. (When both `bold` and
|
|
144
|
+
* `setlinewidth` appear in one style string, C is order-dependent; that rare
|
|
145
|
+
* combination is not modelled here — setlinewidth wins.)
|
|
146
|
+
* @see lib/common/shapes.c:539 stylenode
|
|
147
|
+
* @see lib/gvc/gvrender.c:500 gvrender_set_style (bold/setlinewidth)
|
|
148
|
+
* @see lib/gvc/gvcjob.h:41 PENWIDTH_BOLD = 2.0
|
|
149
|
+
*/
|
|
150
|
+
export declare function resolvePenWidth(flags: PolyStyleFlags, penwidthAttr: string | undefined): number;
|
|
151
|
+
/**
|
|
152
|
+
* Resolve fill state and fill color for a node.
|
|
153
|
+
* Precedence: fillcolor → color → DEFAULT_FILL ("lightgrey").
|
|
154
|
+
* Gradient specs return the first solid color (AD3).
|
|
155
|
+
* @see lib/common/shapes.c:401 findFillDflt
|
|
156
|
+
* @see lib/common/emit.c:705 isFilled
|
|
157
|
+
* @see lib/common/const.h:69 DEFAULT_FILL = "lightgrey"
|
|
158
|
+
*/
|
|
159
|
+
export declare function resolveNodeFill(attrs: NodeAttrs): {
|
|
160
|
+
filled: boolean;
|
|
161
|
+
color: string;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Resolve pen (stroke) color. Returns first solid color from colorList,
|
|
165
|
+
* or DEFAULT_COLOR ("black") when attr is absent.
|
|
166
|
+
* @see lib/common/shapes.c:389 penColor
|
|
167
|
+
* @see lib/common/const.h:48 DEFAULT_COLOR = "black"
|
|
168
|
+
*/
|
|
169
|
+
export declare function resolvePenColor(colorAttr: string | undefined): string;
|
|
170
|
+
/**
|
|
171
|
+
* Resolve cluster fill: filled flag, fill color, and pen color.
|
|
172
|
+
* Ports emit_clusters (lib/common/emit.c:3805-3853). GUI state branches
|
|
173
|
+
* are not ported (browser-only; states managed externally).
|
|
174
|
+
* @see lib/common/emit.c:emit_clusters:3805-3853
|
|
175
|
+
*/
|
|
176
|
+
export declare function resolveClusterFill(attrs: ClusterAttrs): ClusterFill;
|
|
177
|
+
/** @see lib/common/emit.c:4335 findStopColor */
|
|
178
|
+
export declare function findStopColor(colorlist: string): {
|
|
179
|
+
fillColor: string;
|
|
180
|
+
stopColor: string;
|
|
181
|
+
frac: number;
|
|
182
|
+
} | null;
|
|
183
|
+
/**
|
|
184
|
+
* Discriminated fill for a node (AD4, AD6). New Ex variant — original
|
|
185
|
+
* resolveNodeFill shape unchanged for G3 compatibility.
|
|
186
|
+
* @see lib/common/emit.c:4335 findStopColor
|
|
187
|
+
* @see lib/common/shapes.c:findFill
|
|
188
|
+
*/
|
|
189
|
+
export declare function resolveNodeFillEx(attrs: NodeAttrs): ResolvedFill;
|
|
190
|
+
/**
|
|
191
|
+
* Discriminated fill for a cluster (AD4, AD6). New Ex variant — original
|
|
192
|
+
* resolveClusterFill shape unchanged for G4 compatibility.
|
|
193
|
+
* @see lib/common/emit.c:emit_clusters:3805-3853
|
|
194
|
+
* @see lib/common/emit.c:4335 findStopColor
|
|
195
|
+
*/
|
|
196
|
+
export declare function resolveClusterFillEx(attrs: ClusterAttrs): ResolvedFill;
|
|
197
|
+
//# sourceMappingURL=style-resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-resolve.d.ts","sourceRoot":"","sources":["../../src/common/style-resolve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA4DrG;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAY/D;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAgBzE;AAED;;;;GAIG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAWzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAO7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAQR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAKA;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGrE;AAsCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAWnE;AACD,gDAAgD;AAChD,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAChB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa/D;AAqBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAOhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAOtE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph-object escape substitution: \G \N \E \T \H \L resolved against
|
|
3
|
+
* a node, edge, or graph. Used by plain-label creation (escBackslash
|
|
4
|
+
* false — \\ left for the formatting pass) and by anchor/map data
|
|
5
|
+
* (escBackslash true — \\ collapses to \).
|
|
6
|
+
*
|
|
7
|
+
* @see lib/common/labels.c:strdup_and_subst_obj0
|
|
8
|
+
* @see lib/common/labels.c:strdup_and_subst_obj
|
|
9
|
+
*/
|
|
10
|
+
import { Node } from '../model/node.js';
|
|
11
|
+
import { Edge } from '../model/edge.js';
|
|
12
|
+
import { Graph } from '../model/graph.js';
|
|
13
|
+
export type GraphObj = Node | Edge | Graph;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve graph-object escapes in str. Other escape sequences
|
|
16
|
+
* (\n, \l, \r, …) pass through unmodified; \\ collapses to \ only
|
|
17
|
+
* when escBackslash is set, mirroring C exactly.
|
|
18
|
+
* @see lib/common/labels.c:strdup_and_subst_obj0 (assembly loop)
|
|
19
|
+
*/
|
|
20
|
+
export declare function substObj(str: string, obj: GraphObj, escBackslash: boolean): string;
|
|
21
|
+
/** The escBackslash=true form used for anchor/map data. @see strdup_and_subst_obj */
|
|
22
|
+
export declare function substObjAnchor(str: string, obj: GraphObj): string;
|
|
23
|
+
/**
|
|
24
|
+
* Tooltip newline mapping: \n and \l become newline, \r carriage
|
|
25
|
+
* return, and the backslash is dropped from any other escape. C runs
|
|
26
|
+
* this BEFORE object substitution (preprocessTooltip), which is why
|
|
27
|
+
* \N in a tooltip renders as a literal "N".
|
|
28
|
+
* @see lib/common/emit.c:interpretCRNL
|
|
29
|
+
*/
|
|
30
|
+
export declare function interpretCRNL(str: string): string;
|
|
31
|
+
//# sourceMappingURL=subst.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subst.d.ts","sourceRoot":"","sources":["../../src/common/subst.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AA2D3C;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAalF;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBjD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Point, Bezier } from '../model/geom.js';
|
|
2
|
+
/** Half-width function along the curve. @see taper.c:radfunc_t */
|
|
3
|
+
export type RadFunc = (curlen: number, totallen: number, initwid: number) => number;
|
|
4
|
+
/** Taper from initwid/2 at the start to 0 at the end. @see taper.c:forfunc */
|
|
5
|
+
export declare const forfunc: RadFunc;
|
|
6
|
+
/** Taper from 0 to initwid/2. @see taper.c:revfunc */
|
|
7
|
+
export declare const revfunc: RadFunc;
|
|
8
|
+
/** Constant half-width. @see taper.c:nonefunc */
|
|
9
|
+
export declare const nonefunc: RadFunc;
|
|
10
|
+
/** Widen to the midpoint then taper. @see taper.c:bothfunc */
|
|
11
|
+
export declare const bothfunc: RadFunc;
|
|
12
|
+
/**
|
|
13
|
+
* Select the taper radius function from the edge's `dir`. Undirected graphs
|
|
14
|
+
* default to `none`, directed to `forward`. @see taper.c:taperfun
|
|
15
|
+
*/
|
|
16
|
+
export declare function taperfun(dir: string | undefined, directed: boolean): RadFunc;
|
|
17
|
+
/**
|
|
18
|
+
* Given a Bézier `bez`, return a polygon representing the spline as a tapered
|
|
19
|
+
* edge of starting width `initwid`; `radfunc` sets the half-width along the
|
|
20
|
+
* curve. @see taper.c:taper
|
|
21
|
+
*/
|
|
22
|
+
export declare function taper(bez: Bezier, radfunc: RadFunc, initwid: number): Point[];
|
|
23
|
+
//# sourceMappingURL=taper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taper.d.ts","sourceRoot":"","sources":["../../src/common/taper.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAStD,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpF,8EAA8E;AAC9E,eAAO,MAAM,OAAO,EAAE,OAAgE,CAAC;AACvF,sDAAsD;AACtD,eAAO,MAAM,OAAO,EAAE,OAA4D,CAAC;AACnF,iDAAiD;AACjD,eAAO,MAAM,QAAQ,EAAE,OAA4C,CAAC;AACpE,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,EAAE,OAGtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAM5E;AAoKD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAK7E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text-measurer selection.
|
|
3
|
+
*
|
|
4
|
+
* Resolution order (when no explicit override is set):
|
|
5
|
+
* 1. explicit override via setTextMeasurer (tests, host-faithful Node opt-in)
|
|
6
|
+
* 2. GV_TEXT_MEASURER=estimate|lut — test/CI hook to force a specific measurer
|
|
7
|
+
* 3. browser (document present) — CanvasTextMeasurer over the page canvas
|
|
8
|
+
* (host-faithful: the same font the browser renders the SVG with)
|
|
9
|
+
* 4. Node default — EstimateTextMeasurer (deterministic; matches
|
|
10
|
+
* graphviz's own headless estimate_textspan_size)
|
|
11
|
+
*
|
|
12
|
+
* Host-faithful Node measurement (node-canvas) is intentionally NOT auto-loaded:
|
|
13
|
+
* the library has ZERO runtime deps and ships a single browser+Node bundle, so
|
|
14
|
+
* `canvas` must never be imported from src. Node consumers opt in explicitly:
|
|
15
|
+
* `setTextMeasurer(new CanvasTextMeasurer(createCanvas(0,0).getContext('2d')))`
|
|
16
|
+
*
|
|
17
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
18
|
+
* @see plans/fix-xcoord-position/DESIGN.md
|
|
19
|
+
*/
|
|
20
|
+
import { type TextMeasurer } from './textmeasure.js';
|
|
21
|
+
/**
|
|
22
|
+
* Install a process-wide text measurer, overriding auto-resolution. Pass
|
|
23
|
+
* `undefined` to clear and restore auto-resolution. Takes effect on the next
|
|
24
|
+
* render (renderSvg resolves the measurer per call). Use for deterministic
|
|
25
|
+
* tests or to wire a host-faithful Node measurer (e.g. node-canvas) — see the
|
|
26
|
+
* resolution note above.
|
|
27
|
+
*/
|
|
28
|
+
export declare function setTextMeasurer(m: TextMeasurer | undefined): void;
|
|
29
|
+
/** The current explicit override, or undefined when auto-resolving. */
|
|
30
|
+
export declare function getTextMeasurer(): TextMeasurer | undefined;
|
|
31
|
+
/** Resolve the text measurer for this render (see resolution order above). */
|
|
32
|
+
export declare function createMeasurer(): TextMeasurer;
|
|
33
|
+
//# sourceMappingURL=textmeasure-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-factory.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-factory.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACsD,KAAK,YAAY,EAC7E,MAAM,kBAAkB,CAAC;AAI1B;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAEjE;AAED,uEAAuE;AACvE,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAE1D;AA2BD,8EAA8E;AAC9E,wBAAgB,cAAc,IAAI,YAAY,CAgB7C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Font-family lookup helpers for the text measurement LUT.
|
|
3
|
+
* @see lib/common/textspan_lut.c:get_metrics_for_font_family
|
|
4
|
+
*/
|
|
5
|
+
import { type FontFamilyData } from "./textmeasure-lut-data.js";
|
|
6
|
+
/** Times is always present; used as the fallback family. */
|
|
7
|
+
export declare const TIMES_FALLBACK: FontFamilyData;
|
|
8
|
+
/**
|
|
9
|
+
* Normalize a font name for permissive matching.
|
|
10
|
+
* Lowercases and strips all non-ASCII-letter characters.
|
|
11
|
+
* "Times New Roman" → "timesnewroman", "Times-Roman" → "timesroman".
|
|
12
|
+
* @see lib/common/textspan_lut.c:font_name_equal_permissive
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeFontName(name: string): string;
|
|
15
|
+
/** @see lib/common/textspan_lut.c:get_metrics_for_font_family */
|
|
16
|
+
export declare function getFamilyMetrics(fontName: string): FontFamilyData;
|
|
17
|
+
//# sourceMappingURL=textmeasure-lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-lookup.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-lookup.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AAEnC,4DAA4D;AAC5D,eAAO,MAAM,cAAc,EAAE,cAAqC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUtD;AAKD,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAajE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw width tables for Times, Arial/Helvetica, Courier, and Nunito.
|
|
3
|
+
* Ported from lib/common/textspan_lut.c (all_font_metrics[0..3]).
|
|
4
|
+
*
|
|
5
|
+
* Widths are in (unitsPerEm × 1) pt. A value of -1 means unknown.
|
|
6
|
+
* @see lib/common/textspan_lut.c:all_font_metrics
|
|
7
|
+
*/
|
|
8
|
+
import type { FontFamilyData } from "./textmeasure-lut-data.js";
|
|
9
|
+
export declare const TIMES_FAMILY: FontFamilyData;
|
|
10
|
+
export declare const ARIAL_FAMILY: FontFamilyData;
|
|
11
|
+
export declare const COURIER_FAMILY: FontFamilyData;
|
|
12
|
+
export declare const NUNITO_FAMILY: FontFamilyData;
|
|
13
|
+
//# sourceMappingURL=textmeasure-lut-data-a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-lut-data-a.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-lut-data-a.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAiDhE,eAAO,MAAM,YAAY,EAAE,cAO1B,CAAC;AA4BF,eAAO,MAAM,YAAY,EAAE,cAQ1B,CAAC;AAkBF,eAAO,MAAM,cAAc,EAAE,cAO5B,CAAC;AAmDF,eAAO,MAAM,aAAa,EAAE,cAI3B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw width tables for DejaVu Sans, Consolas, and Trebuchet MS.
|
|
3
|
+
* Ported from lib/common/textspan_lut.c (all_font_metrics[4..6]).
|
|
4
|
+
*
|
|
5
|
+
* Widths are in (unitsPerEm × 1) pt. A value of -1 means unknown.
|
|
6
|
+
* @see lib/common/textspan_lut.c:all_font_metrics
|
|
7
|
+
*/
|
|
8
|
+
import type { FontFamilyData } from "./textmeasure-lut-data.js";
|
|
9
|
+
export declare const DEJAVU_FAMILY: FontFamilyData;
|
|
10
|
+
export declare const CONSOLAS_FAMILY: FontFamilyData;
|
|
11
|
+
export declare const TREBUCHET_FAMILY: FontFamilyData;
|
|
12
|
+
//# sourceMappingURL=textmeasure-lut-data-b.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-lut-data-b.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-lut-data-b.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAwChE,eAAO,MAAM,aAAa,EAAE,cAI3B,CAAC;AA8BF,eAAO,MAAM,eAAe,EAAE,cAI7B,CAAC;AAgDF,eAAO,MAAM,gBAAgB,EAAE,cAI9B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw width tables for Verdana, Open Sans, Georgia, and Calibri.
|
|
3
|
+
* Ported from lib/common/textspan_lut.c (all_font_metrics[7..10]).
|
|
4
|
+
*
|
|
5
|
+
* Widths are in (unitsPerEm × 1) pt. A value of -1 means unknown.
|
|
6
|
+
* @see lib/common/textspan_lut.c:all_font_metrics
|
|
7
|
+
*/
|
|
8
|
+
import type { FontFamilyData } from "./textmeasure-lut-data.js";
|
|
9
|
+
export declare const VERDANA_FAMILY: FontFamilyData;
|
|
10
|
+
export declare const OPENSANS_FAMILY: FontFamilyData;
|
|
11
|
+
export declare const GEORGIA_FAMILY: FontFamilyData;
|
|
12
|
+
export declare const CALIBRI_FAMILY: FontFamilyData;
|
|
13
|
+
//# sourceMappingURL=textmeasure-lut-data-c.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-lut-data-c.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-lut-data-c.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAkDhE,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC;AAiDF,eAAO,MAAM,eAAe,EAAE,cAI7B,CAAC;AAgDF,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC;AAgDF,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aggregated font-family metrics LUT.
|
|
3
|
+
* Individual per-family data lives in textmeasure-lut-data-{a,b,c}.ts.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/common/textspan_lut.c:all_font_metrics
|
|
6
|
+
*/
|
|
7
|
+
/** Per-family glyph width data, ported from FontFamilyMetrics in textspan_lut.c. */
|
|
8
|
+
export interface FontFamilyData {
|
|
9
|
+
/** Normalized (letters-only, lowercase) font names for this family. */
|
|
10
|
+
readonly names: readonly string[];
|
|
11
|
+
/** TrueType units per em (denominator for width scaling). */
|
|
12
|
+
readonly unitsPerEm: number;
|
|
13
|
+
/** Per-character widths in (unitsPerEm × 1) pt; -1 = unknown. */
|
|
14
|
+
readonly regular: readonly number[];
|
|
15
|
+
readonly bold: readonly number[];
|
|
16
|
+
readonly italic: readonly number[];
|
|
17
|
+
readonly boldItalic: readonly number[];
|
|
18
|
+
}
|
|
19
|
+
export { TIMES_FAMILY, ARIAL_FAMILY, COURIER_FAMILY, NUNITO_FAMILY, } from "./textmeasure-lut-data-a.js";
|
|
20
|
+
export { DEJAVU_FAMILY, CONSOLAS_FAMILY, TREBUCHET_FAMILY, } from "./textmeasure-lut-data-b.js";
|
|
21
|
+
export { VERDANA_FAMILY, OPENSANS_FAMILY, GEORGIA_FAMILY, CALIBRI_FAMILY, } from "./textmeasure-lut-data-c.js";
|
|
22
|
+
/**
|
|
23
|
+
* All font family metrics in the same order as the C source.
|
|
24
|
+
* @see lib/common/textspan_lut.c:all_font_metrics
|
|
25
|
+
*/
|
|
26
|
+
export declare const ALL_FONT_METRICS: readonly FontFamilyData[];
|
|
27
|
+
//# sourceMappingURL=textmeasure-lut-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure-lut-data.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure-lut-data.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAsBrC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAYrD,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text measurement utilities: LUT-based and Canvas-based.
|
|
3
|
+
* Ported from lib/common/textspan_lut.c and lib/common/textspan.c.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/common/textspan_lut.c
|
|
6
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
7
|
+
*/
|
|
8
|
+
/** Number of hard-coded font families in the LUT. */
|
|
9
|
+
export declare const LUT_FAMILY_COUNT = 11;
|
|
10
|
+
/** Estimated size of a text string in points. */
|
|
11
|
+
export interface TextSize {
|
|
12
|
+
w: number;
|
|
13
|
+
h: number;
|
|
14
|
+
/**
|
|
15
|
+
* Baseline→centerline offset in points (C textspan_t.yoffset_centerline). The
|
|
16
|
+
* vertical metric is part of the measurement model: native graphviz's estimate
|
|
17
|
+
* uses 0.1·fontsize, while the font-plugin (pango) path is ≈0.05·fontsize. When
|
|
18
|
+
* omitted, callers default to the 0.05·fontsize (pango-calibrated) value.
|
|
19
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
20
|
+
*/
|
|
21
|
+
yoffsetCenterline?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Baseline→top (ascent) in points (C textspan_t.yoffset_layout). Native
|
|
24
|
+
* estimate uses `fontsize`; the freetype/pango path uses the font ascent
|
|
25
|
+
* (~0.89·fontsize). When omitted, callers fall back to the freetype ascent.
|
|
26
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
27
|
+
*/
|
|
28
|
+
yoffsetLayout?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Font variant flags (bold / italic) for text measurement.
|
|
32
|
+
* Mirrors textfont_t.flags in the C source.
|
|
33
|
+
* @see lib/common/textspan_lut.c:estimate_textspan_size (AD2)
|
|
34
|
+
*/
|
|
35
|
+
export interface TextVariantFlags {
|
|
36
|
+
readonly bold?: boolean;
|
|
37
|
+
readonly italic?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Abstraction over text measurement strategies. */
|
|
40
|
+
export interface TextMeasurer {
|
|
41
|
+
measure(text: string, fontname: string, fontsize: number, flags?: TextVariantFlags): TextSize;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Estimates the width of text at 1 pt for the given font/variant.
|
|
45
|
+
* Multiply by fontsize to get width at N pt.
|
|
46
|
+
* @see lib/common/textspan_lut.c:estimate_text_width_1pt
|
|
47
|
+
*/
|
|
48
|
+
export declare function estimate_text_width_1pt(fontName: string, text: string, bold: boolean, italic: boolean): number;
|
|
49
|
+
/**
|
|
50
|
+
* FreeType line-spacing ratio measured from graphviz 15.0.0 reference SVGs.
|
|
51
|
+
* 14pt Times-Roman label height = 16.5pt → ratio = 16.5/14.
|
|
52
|
+
* C's LINESPACING=1.20 is a fallback estimate; actual FreeType gives ~1.17857.
|
|
53
|
+
* Kept for callers that want the 14pt-calibrated linear approximation;
|
|
54
|
+
* the measurer itself uses the exact hinted model (freetypeLineHeight).
|
|
55
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
56
|
+
*/
|
|
57
|
+
export declare const FREETYPE_LINE_SPACING: number;
|
|
58
|
+
/**
|
|
59
|
+
* Per-character FreeType-hinted text width in points: each glyph advance is
|
|
60
|
+
* rounded to the 96 dpi pixel grid before summing.
|
|
61
|
+
* @see lib/common/textspan_lut.c:estimate_textspan_size
|
|
62
|
+
*/
|
|
63
|
+
export declare function freetypeHintedWidth(fontName: string, text: string, fontsize: number, bold?: boolean, italic?: boolean): number;
|
|
64
|
+
/**
|
|
65
|
+
* Times-Roman ascender ratio (TrueType hhea ascender 1825/2048em).
|
|
66
|
+
* Hinted to the 96 dpi grid: 14pt → 17px → 12.75pt, matching the baseline
|
|
67
|
+
* positions in graphviz reference SVGs.
|
|
68
|
+
*/
|
|
69
|
+
export declare const FREETYPE_ASCENT_RATIO: number;
|
|
70
|
+
/** Times-Roman descender ratio (hhea descender 443/2048em). */
|
|
71
|
+
export declare const FREETYPE_DESCENT_RATIO: number;
|
|
72
|
+
/**
|
|
73
|
+
* FreeType-hinted font ascent in points (baseline distance from line
|
|
74
|
+
* top). FreeType rounds the ascender UP to the pixel grid
|
|
75
|
+
* (FT_PIX_CEIL); at 14pt ceil and round coincide (16.63 → 17px).
|
|
76
|
+
* Font-aware: Helvetica's ascender differs from Times' (default when
|
|
77
|
+
* `fontname` is omitted or is not a known Helvetica-metric face).
|
|
78
|
+
*/
|
|
79
|
+
export declare function freetypeAscent(fontsize: number, fontname?: string): number;
|
|
80
|
+
/**
|
|
81
|
+
* FreeType-hinted line height in points: ceil-hinted ascender plus
|
|
82
|
+
* ceil-hinted descender magnitude (FT_PIX_CEIL / FT_PIX_FLOOR on the
|
|
83
|
+
* negative descender). Verified against graphviz 15.0.0 two-line
|
|
84
|
+
* baseline deltas for fontsizes 6-48 (e.g. Times 14pt → 17+5 px = 16.5pt;
|
|
85
|
+
* Helvetica 36pt → 33+16 px = 36.75pt). Font-aware: defaults to Times when
|
|
86
|
+
* `fontname` is omitted or is not a known Helvetica-metric face.
|
|
87
|
+
*/
|
|
88
|
+
export declare function freetypeLineHeight(fontsize: number, fontname?: string): number;
|
|
89
|
+
/**
|
|
90
|
+
* LUT-based TextMeasurer. Width from LUT quantised to FreeType's 96 dpi
|
|
91
|
+
* pixel grid; height matches FreeType Times-Roman.
|
|
92
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
93
|
+
*/
|
|
94
|
+
export declare class LutTextMeasurer implements TextMeasurer {
|
|
95
|
+
measure(text: string, fontname: string, fontsize: number, flags?: TextVariantFlags): TextSize;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Canvas-based TextMeasurer via CanvasRenderingContext2D.
|
|
99
|
+
* Height is fontsize (matches C behavior).
|
|
100
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
101
|
+
*/
|
|
102
|
+
export declare class CanvasTextMeasurer implements TextMeasurer {
|
|
103
|
+
private readonly ctx;
|
|
104
|
+
constructor(ctx: CanvasRenderingContext2D);
|
|
105
|
+
measure(text: string, fontname: string, fontsize: number, flags?: TextVariantFlags): TextSize;
|
|
106
|
+
}
|
|
107
|
+
/** graphviz estimate_textspan_size line spacing. @see lib/common/const.h:70 */
|
|
108
|
+
export declare const LINESPACING = 1.2;
|
|
109
|
+
/**
|
|
110
|
+
* Raw textspan_lut.c estimate: un-hinted per-char widths summed once, no kerning,
|
|
111
|
+
* height = fontsize * LINESPACING. Reproduces graphviz's HEADLESS measurement
|
|
112
|
+
* (no textlayout plugin → estimate_textspan_size) exactly, making it the
|
|
113
|
+
* deterministic, font-stack-independent reference for layout-rules validation.
|
|
114
|
+
* Unlike LutTextMeasurer this does NOT apply per-char FreeType px hinting.
|
|
115
|
+
* @see lib/common/textspan.c:estimate_textspan_size
|
|
116
|
+
*/
|
|
117
|
+
export declare class EstimateTextMeasurer implements TextMeasurer {
|
|
118
|
+
measure(text: string, fontname: string, fontsize: number, flags?: TextVariantFlags): TextSize;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=textmeasure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmeasure.d.ts","sourceRoot":"","sources":["../../src/common/textmeasure.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAKH,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,iDAAiD;AACjD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,gBAAgB,GACvB,QAAQ,CAAC;CACb;AA8CD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,GACd,MAAM,CASR;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAW/C;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,UAAQ,EACZ,MAAM,UAAQ,GACb,MAAM,CAWR;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAc,CAAC;AAEjD,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAgDjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,gBAAgB,GACvB,QAAQ;CAMZ;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,wBAAwB;IAE1D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,gBAAgB,GACvB,QAAQ;CAWZ;AAED,+EAA+E;AAC/E,eAAO,MAAM,WAAW,MAAO,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,gBAAgB,GACvB,QAAQ;CAWZ"}
|