@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,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @see lib/util/agxbuf.h
|
|
3
|
+
* @see lib/util/agxbuf.c (agxbuf_trim_zeros)
|
|
4
|
+
*
|
|
5
|
+
* Dynamically expanding string buffer. SSO threshold need not be
|
|
6
|
+
* replicated — only the observable contract matters.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Extensible string buffer, analogous to C's agxbuf.
|
|
10
|
+
*
|
|
11
|
+
* @see cgraph/agxbuf.h:agxbuf
|
|
12
|
+
*/
|
|
13
|
+
export declare class AgBuffer {
|
|
14
|
+
private _data;
|
|
15
|
+
/** @see cgraph/agxbuf.h:agxbput */
|
|
16
|
+
append(s: string): this;
|
|
17
|
+
/** @see cgraph/agxbuf.h:agxbputc */
|
|
18
|
+
appendChar(c: string): this;
|
|
19
|
+
/**
|
|
20
|
+
* Append first n characters of s.
|
|
21
|
+
* @see cgraph/agxbuf.h:agxbput_n
|
|
22
|
+
*/
|
|
23
|
+
appendN(s: string, n: number): this;
|
|
24
|
+
/** @see cgraph/agxbuf.h:agxbclear */
|
|
25
|
+
clear(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Matches agxbuse semantics: resets the buffer and returns the content.
|
|
28
|
+
* The returned string is valid only until the next write.
|
|
29
|
+
* @see cgraph/agxbuf.h:agxbuse
|
|
30
|
+
*/
|
|
31
|
+
str(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Caller takes ownership; buffer is reset.
|
|
34
|
+
* @see cgraph/agxbuf.h:agxbdisown
|
|
35
|
+
*/
|
|
36
|
+
disown(): string;
|
|
37
|
+
/** @see cgraph/agxbuf.h:agxblen */
|
|
38
|
+
length(): number;
|
|
39
|
+
/**
|
|
40
|
+
* Removes and returns the last character (UTF-16 charCodeAt semantics
|
|
41
|
+
* matching C char-pop), or null if empty.
|
|
42
|
+
* @see cgraph/agxbuf.h:agxbpop
|
|
43
|
+
*/
|
|
44
|
+
pop(): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Trim trailing fractional zeros from a printed floating-point value.
|
|
47
|
+
*
|
|
48
|
+
* Examples:
|
|
49
|
+
* "42.00" → "42"
|
|
50
|
+
* "42.01" → "42.01"
|
|
51
|
+
* "42.10" → "42.1"
|
|
52
|
+
* "-0.0" → "0"
|
|
53
|
+
*
|
|
54
|
+
* @see cgraph/agxbuf.h:agxbuf_trim_zeros
|
|
55
|
+
*/
|
|
56
|
+
trimZeros(): void;
|
|
57
|
+
/** Return index of last '.' in _data, or -1 if none. */
|
|
58
|
+
private _lastPeriodIndex;
|
|
59
|
+
/**
|
|
60
|
+
* Walk backwards from end; trim trailing '0' digits then the '.' if all
|
|
61
|
+
* fractional digits were zero. Returns the trimmed string, or null when
|
|
62
|
+
* no trimming is needed.
|
|
63
|
+
* @see cgraph/agxbuf.h:agxbuf_trim_zeros (truncate loop)
|
|
64
|
+
*/
|
|
65
|
+
private _trimFractional;
|
|
66
|
+
/**
|
|
67
|
+
* Replace trailing "-0" with "0".
|
|
68
|
+
* @see cgraph/agxbuf.h:agxbuf_trim_zeros (-0 fix)
|
|
69
|
+
*/
|
|
70
|
+
private static _fixNegativeZero;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=agxbuf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agxbuf.d.ts","sourceRoot":"","sources":["../../src/util/agxbuf.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAc;IAE3B,mCAAmC;IACnC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKvB,oCAAoC;IACpC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKnC,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,GAAG,IAAI,MAAM;IAMb;;;OAGG;IACH,MAAM,IAAI,MAAM;IAIhB,mCAAmC;IACnC,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;IACH,GAAG,IAAI,MAAM,GAAG,IAAI;IASpB;;;;;;;;;;OAUG;IACH,SAAS,IAAI,IAAI;IAOjB,wDAAwD;IACxD,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOhC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BSD heapsort — the fallback Apple libc `_qsort` dispatches to when
|
|
3
|
+
* introsort's recursion-depth budget (`2*(fls(n)-1)`) is exhausted, guarding
|
|
4
|
+
* against adversarial inputs that defeat median-of-3 pivot selection. Not
|
|
5
|
+
* observed to trigger on this corpus (all inputs stay within budget), but
|
|
6
|
+
* CLAUDE.md requires porting every branch a faithful port can reach.
|
|
7
|
+
*
|
|
8
|
+
* @see apple-oss-distributions/Libc stdlib/FreeBSD/heapsort.c:heapsort
|
|
9
|
+
*/
|
|
10
|
+
export declare function heapSort<T>(arr: T[], lo: number, n: number, cmp: (a: T, b: T) => number): void;
|
|
11
|
+
/**
|
|
12
|
+
* Sort `arr` in place, reproducing libc `qsort`'s permutation of
|
|
13
|
+
* comparator-equal elements (Bentley–McIlroy quicksort). Use this instead of
|
|
14
|
+
* `Array.prototype.sort` only where the C oracle's `qsort` tie ordering is
|
|
15
|
+
* load-bearing; elsewhere the stable native sort is preferred.
|
|
16
|
+
*
|
|
17
|
+
* @param arr Array sorted in place (also returned for convenience).
|
|
18
|
+
* @param cmp Comparator returning <0, 0, or >0 — matching the C comparator's
|
|
19
|
+
* sign, including 0 for elements the C comparator treats as equal.
|
|
20
|
+
*/
|
|
21
|
+
export declare function gvQsort<T>(arr: T[], cmp: (a: T, b: T) => number): T[];
|
|
22
|
+
//# sourceMappingURL=bsd-qsort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bsd-qsort.d.ts","sourceRoot":"","sources":["../../src/util/bsd-qsort.ts"],"names":[],"mappings":"AA+KA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAQ9F;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAOrE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public re-exports for src/util.
|
|
3
|
+
*/
|
|
4
|
+
export { AgBuffer } from "./agxbuf.js";
|
|
5
|
+
export { List } from "./list.js";
|
|
6
|
+
export { gvXmlEscape } from "./xml.js";
|
|
7
|
+
export type { XmlFlags } from "./xml.js";
|
|
8
|
+
export { isExactlyZero, isExactlyEqual, fcmp, imax, imin, d2i, d2f, gvStrtod, } from "./math.js";
|
|
9
|
+
export { rkNewState, rkSeed, rkRandom, rkInterval, } from "./mt19937.js";
|
|
10
|
+
export type { RkState } from "./mt19937.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,aAAa,EACb,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic doubly-linked list, replacing the C LIST macro.
|
|
3
|
+
*
|
|
4
|
+
* The C LIST macro is a type-generic ring-buffer backed dynamic array.
|
|
5
|
+
* For the TypeScript port we expose the same logical API using a simple
|
|
6
|
+
* doubly-linked node structure. The ring-buffer internals need not be
|
|
7
|
+
* replicated; only the observable contract matters.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/util/list.h
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Type-generic doubly-linked list.
|
|
13
|
+
*
|
|
14
|
+
* Matches the observable behaviour of the C LIST macro:
|
|
15
|
+
* push / pop — operate on the back (LIST_APPEND / LIST_POP_BACK)
|
|
16
|
+
* unshift / shift — operate on the front (LIST_PREPEND / LIST_POP_FRONT)
|
|
17
|
+
* remove — linear scan by identity (LIST_REMOVE)
|
|
18
|
+
* Symbol.iterator — logical order, front to back
|
|
19
|
+
*/
|
|
20
|
+
export declare class List<T> {
|
|
21
|
+
private _head;
|
|
22
|
+
private _tail;
|
|
23
|
+
private _size;
|
|
24
|
+
/** Append item to back. @see lib/util/list.h:LIST_APPEND */
|
|
25
|
+
push(item: T): void;
|
|
26
|
+
/** Remove and return the last item, or undefined if empty.
|
|
27
|
+
* @see lib/util/list.h:LIST_POP_BACK */
|
|
28
|
+
pop(): T | undefined;
|
|
29
|
+
/** Remove and return the first item, or undefined if empty.
|
|
30
|
+
* @see lib/util/list.h:LIST_POP_FRONT */
|
|
31
|
+
shift(): T | undefined;
|
|
32
|
+
/** Prepend item to front. @see lib/util/list.h:LIST_PREPEND */
|
|
33
|
+
unshift(item: T): void;
|
|
34
|
+
/**
|
|
35
|
+
* Remove the first occurrence of item (by reference equality).
|
|
36
|
+
* Returns true if found and removed.
|
|
37
|
+
* @see lib/util/list.h:LIST_REMOVE
|
|
38
|
+
*/
|
|
39
|
+
remove(item: T): boolean;
|
|
40
|
+
/** Iterate items in logical order (front to back). */
|
|
41
|
+
[Symbol.iterator](): Iterator<T>;
|
|
42
|
+
/** Number of items in the list. @see lib/util/list.h:LIST_SIZE */
|
|
43
|
+
get size(): number;
|
|
44
|
+
/** Detach a node from the list. */
|
|
45
|
+
private _unlink;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/util/list.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAQH;;;;;;;;GAQG;AACH,qBAAa,IAAI,CAAC,CAAC;IACjB,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAAa;IAE1B,4DAA4D;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB;6CACyC;IACzC,GAAG,IAAI,CAAC,GAAG,SAAS;IAOpB;8CAC0C;IAC1C,KAAK,IAAI,CAAC,GAAG,SAAS;IAOtB,+DAA+D;IAC/D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWtB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAUxB,sDAAsD;IACtD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAYhC,kEAAkE;IAClE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,mCAAmC;IACnC,OAAO,CAAC,OAAO;CAahB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arithmetic helper functions.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/util/gv_math.h
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Bit-exact zero check via DataView (mirrors C memcmp against 0).
|
|
8
|
+
* -0.0 returns false; +0.0 returns true.
|
|
9
|
+
*
|
|
10
|
+
* CRITICAL (AD-9): must use bit-level comparison, NOT === 0.
|
|
11
|
+
* @see lib/util/gv_math.h:is_exactly_zero
|
|
12
|
+
*/
|
|
13
|
+
export declare function isExactlyZero(v: number): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Bit-exact equality via DataView (mirrors C memcmp).
|
|
16
|
+
* Distinguishes +0.0 from -0.0.
|
|
17
|
+
*
|
|
18
|
+
* CRITICAL (AD-9): must use bit-level comparison, NOT ===.
|
|
19
|
+
* @see lib/util/gv_math.h:is_exactly_equal
|
|
20
|
+
*/
|
|
21
|
+
export declare function isExactlyEqual(a: number, b: number): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Three-way double comparator.
|
|
24
|
+
* Returns -1 if a<b, 0 if a==b, 1 if a>b (numerical, not bit-exact).
|
|
25
|
+
* @see lib/util/gv_math.h:fcmp
|
|
26
|
+
*/
|
|
27
|
+
export declare function fcmp(a: number, b: number): -1 | 0 | 1;
|
|
28
|
+
/**
|
|
29
|
+
* Integer maximum.
|
|
30
|
+
* @see lib/util/gv_math.h:imax
|
|
31
|
+
*/
|
|
32
|
+
export declare function imax(a: number, b: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* Integer minimum.
|
|
35
|
+
* @see lib/util/gv_math.h:imin
|
|
36
|
+
*/
|
|
37
|
+
export declare function imin(a: number, b: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Convert double to int32, clamping to [INT_MIN, INT_MAX].
|
|
40
|
+
* @see lib/util/gv_math.h:d2i
|
|
41
|
+
*/
|
|
42
|
+
export declare function d2i(v: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Round-trip through Float32Array to get float32 precision,
|
|
45
|
+
* clamping to [-FLT_MAX, FLT_MAX].
|
|
46
|
+
* @see lib/util/gv_math.h:d2f
|
|
47
|
+
*/
|
|
48
|
+
export declare function d2f(v: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* Parse a string to a number. Returns NaN for non-numeric strings.
|
|
51
|
+
* Wraps parseFloat, matching C strtod behaviour for well-formed input.
|
|
52
|
+
*/
|
|
53
|
+
export declare function gvStrtod(s: string): number;
|
|
54
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAU5D;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAIrD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrC;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MT19937 Mersenne Twister — port of Random Kit 1.3.
|
|
3
|
+
*
|
|
4
|
+
* Must produce bit-identical output to the C reference for any seed.
|
|
5
|
+
* All arithmetic is kept in 32-bit unsigned space via >>> 0.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/neatogen/randomkit.c
|
|
8
|
+
* @see lib/neatogen/randomkit.h
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Mersenne Twister state.
|
|
12
|
+
* @see randomkit.h:rk_state_
|
|
13
|
+
*/
|
|
14
|
+
export interface RkState {
|
|
15
|
+
/** 624-element state array (uint32). */
|
|
16
|
+
mt: Uint32Array;
|
|
17
|
+
/** Current position in the state array; RK_STATE_LEN means "needs twist". */
|
|
18
|
+
mti: number;
|
|
19
|
+
}
|
|
20
|
+
/** Allocate a fresh, uninitialised state. */
|
|
21
|
+
export declare function rkNewState(): RkState;
|
|
22
|
+
/**
|
|
23
|
+
* Seed the RNG with a 32-bit unsigned integer.
|
|
24
|
+
* @see randomkit.c:rk_seed
|
|
25
|
+
*/
|
|
26
|
+
export declare function rkSeed(seed: number, state: RkState): void;
|
|
27
|
+
/**
|
|
28
|
+
* Generate the next 32-bit pseudo-random value.
|
|
29
|
+
* @see randomkit.c:rk_random
|
|
30
|
+
*/
|
|
31
|
+
export declare function rkRandom(state: RkState): number;
|
|
32
|
+
/**
|
|
33
|
+
* Return a random value in [0, max] inclusive.
|
|
34
|
+
* Uses rejection sampling to avoid modulo bias.
|
|
35
|
+
* On this platform ULONG_MAX == 0xffffffff (32-bit path).
|
|
36
|
+
*
|
|
37
|
+
* @see randomkit.c:rk_interval
|
|
38
|
+
*/
|
|
39
|
+
export declare function rkInterval(max: number, state: RkState): number;
|
|
40
|
+
//# sourceMappingURL=mt19937.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mt19937.d.ts","sourceRoot":"","sources":["../../src/util/mt19937.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAeH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,EAAE,EAAE,WAAW,CAAC;IAChB,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOzD;AAeD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/C;AAmCD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAS9D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C-printf-compatible decimal rounding.
|
|
3
|
+
*
|
|
4
|
+
* `Number.prototype.toFixed` and `Number.prototype.toPrecision` round exact
|
|
5
|
+
* binary-decimal ties (e.g. 1399.25 at 5 significant digits, 34.125 at 2
|
|
6
|
+
* fixed decimals — both exactly representable in float64) half-away-from-
|
|
7
|
+
* zero. C's snprintf ("%.Nf", "%.Ng") rounds exact ties half-to-even under
|
|
8
|
+
* the default FE_TONEAREST rounding mode, so a value that lands exactly on
|
|
9
|
+
* a tie diverges from native dot's DOT/xdot attribute output.
|
|
10
|
+
*
|
|
11
|
+
* Every finite float64 has an EXACT, finite decimal expansion (its
|
|
12
|
+
* denominator is a power of two, which always divides some power of ten).
|
|
13
|
+
* These functions decompose the IEEE-754 bit pattern into an exact integer
|
|
14
|
+
* mantissa and binary exponent, convert to an exact decimal digit string via
|
|
15
|
+
* BigInt scaling (multiply by 5^k to trade a factor of 2^k for 10^k), and
|
|
16
|
+
* round that EXACT digit string half-to-even at the target position. This
|
|
17
|
+
* never approximates with epsilon-based tie detection — the tie predicate
|
|
18
|
+
* (`remainder === half`) is computed on exact integers.
|
|
19
|
+
*
|
|
20
|
+
* @see lib/gvc/gvdevice.c:gvprintdouble (%.2f) · lib/common/output.c
|
|
21
|
+
* (agxbprint "%.5g")
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Format `v` as C's `%.<decimals>f` would (fixed decimal places, rounded
|
|
25
|
+
* half-to-even on exact ties). Mirrors `Number.prototype.toFixed(decimals)`
|
|
26
|
+
* byte-for-byte on every non-tie input; only exact-tie inputs differ.
|
|
27
|
+
*
|
|
28
|
+
* @see lib/gvc/gvdevice.c:gvprintdouble
|
|
29
|
+
*/
|
|
30
|
+
export declare function printfFixed(v: number, decimals: number): string;
|
|
31
|
+
/**
|
|
32
|
+
* Format `v` with `sig` significant digits, using the same notational
|
|
33
|
+
* contract as `Number.prototype.toPrecision(sig)` — fixed form when the
|
|
34
|
+
* decimal exponent `e` (0-indexed power of ten of the leading digit)
|
|
35
|
+
* satisfies `-6 <= e < sig`, otherwise exponential form
|
|
36
|
+
* `d.ddd...e±N` (unpadded exponent, sign always present). Exact ties round
|
|
37
|
+
* half-to-even; every other input is byte-identical to `toPrecision(sig)`.
|
|
38
|
+
* Callers that need C's `%g` exponent threshold (`e < -4 || e >= precision`)
|
|
39
|
+
* or trailing-zero trimming apply that on top of this — unchanged from the
|
|
40
|
+
* pre-existing `toPrecision`-based behavior.
|
|
41
|
+
*
|
|
42
|
+
* @see lib/common/output.c:71 (agxbprint "%.5g")
|
|
43
|
+
*/
|
|
44
|
+
export declare function printfSig(v: number, sig: number): string;
|
|
45
|
+
//# sourceMappingURL=printf-round.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printf-round.d.ts","sourceRoot":"","sources":["../../src/util/printf-round.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA4DH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAqCxD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML/SVG escaping.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/util/xml.h
|
|
5
|
+
* @see lib/util/xml.c
|
|
6
|
+
*/
|
|
7
|
+
/** Options to tweak the behaviour of XML escaping. @see lib/util/xml.h:xml_flags_t */
|
|
8
|
+
export interface XmlFlags {
|
|
9
|
+
/** Escape & unconditionally; also escape \n and \r. */
|
|
10
|
+
raw: boolean;
|
|
11
|
+
/** Escape '-' as -. */
|
|
12
|
+
dash: boolean;
|
|
13
|
+
/** Convert 2nd+ consecutive space to  . */
|
|
14
|
+
nbsp: boolean;
|
|
15
|
+
/** Encode non-ASCII as &#xNNNN;. */
|
|
16
|
+
utf8: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* XML-escape a string.
|
|
20
|
+
*
|
|
21
|
+
* @see lib/util/xml.c:gv_xml_escape
|
|
22
|
+
*/
|
|
23
|
+
export declare function gvXmlEscape(s: string, flags: XmlFlags): string;
|
|
24
|
+
//# sourceMappingURL=xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/util/xml.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,sFAAsF;AACtF,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAE9D"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block: a group of variables that must be moved together to satisfy active
|
|
3
|
+
* constraints. Variables in a block are spanned by a tree of active constraints.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/vpsc/block.h
|
|
6
|
+
* @see lib/vpsc/block.cpp
|
|
7
|
+
*/
|
|
8
|
+
import { Variable } from "./Variable.js";
|
|
9
|
+
import { Constraint } from "./Constraint.js";
|
|
10
|
+
export declare class Block {
|
|
11
|
+
vars: Variable[];
|
|
12
|
+
posn: number;
|
|
13
|
+
weight: number;
|
|
14
|
+
wposn: number;
|
|
15
|
+
deleted: boolean;
|
|
16
|
+
timeStamp: number;
|
|
17
|
+
/** In-constraint min-heap: external constraints arriving at this block. */
|
|
18
|
+
in: Constraint[];
|
|
19
|
+
/** Out-constraint min-heap: external constraints leaving this block. */
|
|
20
|
+
out: Constraint[];
|
|
21
|
+
/** Shared reference to the owning Blocks instance's blockTimeCtr. */
|
|
22
|
+
readonly timeCtr: {
|
|
23
|
+
value: number;
|
|
24
|
+
};
|
|
25
|
+
/** @see lib/vpsc/block.cpp: Block::Block(Variable *v) */
|
|
26
|
+
constructor(timeCtr: {
|
|
27
|
+
value: number;
|
|
28
|
+
}, v?: Variable);
|
|
29
|
+
/** @see lib/vpsc/block.cpp: Block::addVariable */
|
|
30
|
+
addVariable(v: Variable): void;
|
|
31
|
+
/** @see lib/vpsc/block.cpp: Block::desiredWeightedPosition */
|
|
32
|
+
desiredWeightedPosition(): number;
|
|
33
|
+
/** @see lib/vpsc/block.cpp: Block::setUpInConstraints */
|
|
34
|
+
setUpInConstraints(): void;
|
|
35
|
+
/** @see lib/vpsc/block.cpp: Block::setUpOutConstraints */
|
|
36
|
+
setUpOutConstraints(): void;
|
|
37
|
+
/** @see lib/vpsc/block.cpp: Block::setUpConstraintHeap */
|
|
38
|
+
private setupHeap;
|
|
39
|
+
/**
|
|
40
|
+
* Two-arg merge: pick orientation then call three-arg.
|
|
41
|
+
* @see lib/vpsc/block.cpp: Block::merge(Block* b, Constraint* c)
|
|
42
|
+
*/
|
|
43
|
+
mergeTwoArg(b: Block, c: Constraint): void;
|
|
44
|
+
/**
|
|
45
|
+
* Merge block b into this across constraint c by dist.
|
|
46
|
+
* @see lib/vpsc/block.cpp: Block::merge(Block *b, Constraint *c, double dist)
|
|
47
|
+
*/
|
|
48
|
+
mergeInto(b: Block, c: Constraint, dist: number): void;
|
|
49
|
+
/** @see lib/vpsc/block.cpp: Block::mergeIn */
|
|
50
|
+
mergeIn(b: Block): void;
|
|
51
|
+
/** @see lib/vpsc/block.cpp: Block::mergeOut */
|
|
52
|
+
mergeOut(b: Block): void;
|
|
53
|
+
/** @see lib/vpsc/block.cpp: Block::findMinInConstraint */
|
|
54
|
+
findMinInConstraint(): Constraint | null;
|
|
55
|
+
/** @see lib/vpsc/block.cpp: Block::findMinOutConstraint */
|
|
56
|
+
findMinOutConstraint(): Constraint | null;
|
|
57
|
+
/** @see lib/vpsc/block.cpp: Block::deleteMinInConstraint */
|
|
58
|
+
deleteMinInConstraint(): void;
|
|
59
|
+
/** @see lib/vpsc/block.cpp: Block::deleteMinOutConstraint */
|
|
60
|
+
deleteMinOutConstraint(): void;
|
|
61
|
+
private canFollowLeft;
|
|
62
|
+
private canFollowRight;
|
|
63
|
+
/**
|
|
64
|
+
* Resets LMs for all active constraints to 0 starting from v.
|
|
65
|
+
* @see lib/vpsc/block.cpp: Block::reset_active_lm
|
|
66
|
+
*/
|
|
67
|
+
private resetActiveLm;
|
|
68
|
+
/**
|
|
69
|
+
* Computes dfdv and Lagrange multipliers; records min-LM constraint.
|
|
70
|
+
* @see lib/vpsc/block.cpp: Block::compute_dfdv
|
|
71
|
+
*/
|
|
72
|
+
private computeDfdv;
|
|
73
|
+
/**
|
|
74
|
+
* Process one in-constraint during computeDfdvBetween.
|
|
75
|
+
* Returns [dfdv contribution, updated r, updated m].
|
|
76
|
+
*/
|
|
77
|
+
private processBetweenIn;
|
|
78
|
+
/**
|
|
79
|
+
* Process one out-constraint during computeDfdvBetween.
|
|
80
|
+
* Returns [dfdv contribution, updated r, updated m].
|
|
81
|
+
*/
|
|
82
|
+
private processBetweenOut;
|
|
83
|
+
/**
|
|
84
|
+
* Computes dfdv between two variables and finds the min-LM constraint.
|
|
85
|
+
* @see lib/vpsc/block.cpp: Block::compute_dfdv_between
|
|
86
|
+
*/
|
|
87
|
+
private computeDfdvBetween;
|
|
88
|
+
/**
|
|
89
|
+
* Finds the constraint with the minimum Lagrange multiplier.
|
|
90
|
+
* @see lib/vpsc/block.cpp: Block::findMinLM
|
|
91
|
+
*/
|
|
92
|
+
findMinLM(): Constraint | null;
|
|
93
|
+
/** @see lib/vpsc/block.cpp: Block::findMinLMBetween */
|
|
94
|
+
findMinLMBetween(lv: Variable, rv: Variable): Constraint | null;
|
|
95
|
+
/**
|
|
96
|
+
* Populates block b by traversing the active constraint tree from v.
|
|
97
|
+
* @see lib/vpsc/block.cpp: Block::populateSplitBlock
|
|
98
|
+
*/
|
|
99
|
+
private populateSplit;
|
|
100
|
+
/**
|
|
101
|
+
* Creates two new blocks l and r, splitting this block across constraint c.
|
|
102
|
+
* @see lib/vpsc/block.cpp: Block::split(Block* &l, Block* &r, Constraint* c)
|
|
103
|
+
*/
|
|
104
|
+
splitInto(c: Constraint): [Block, Block];
|
|
105
|
+
/**
|
|
106
|
+
* Finds the split constraint between vl and vr and splits.
|
|
107
|
+
* @see lib/vpsc/block.cpp: Block::splitBetween
|
|
108
|
+
*/
|
|
109
|
+
splitBetween(vl: Variable, vr: Variable): [Constraint, Block, Block];
|
|
110
|
+
/**
|
|
111
|
+
* Squared euclidean distance of variables from their desired positions.
|
|
112
|
+
* @see lib/vpsc/block.cpp: Block::cost
|
|
113
|
+
*/
|
|
114
|
+
cost(): number;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=Block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../src/vpsc/Block.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,qBAAa,KAAK;IAChB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,EAAE,EAAE,UAAU,EAAE,CAAC;IACjB,wEAAwE;IACxE,GAAG,EAAE,UAAU,EAAE,CAAC;IAElB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,yDAAyD;gBAC7C,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAgBpD,kDAAkD;IAClD,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI;IAQ9B,8DAA8D;IAC9D,uBAAuB,IAAI,MAAM;IAQjC,yDAAyD;IACzD,kBAAkB,IAAI,IAAI;IAI1B,0DAA0D;IAC1D,mBAAmB,IAAI,IAAI;IAI3B,0DAA0D;IAC1D,OAAO,CAAC,SAAS;IAgBjB;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI;IAW1C;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAatD,8CAA8C;IAC9C,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAMvB,+CAA+C;IAC/C,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAMxB,0DAA0D;IAC1D,mBAAmB,IAAI,UAAU,GAAG,IAAI;IAsBxC,2DAA2D;IAC3D,oBAAoB,IAAI,UAAU,GAAG,IAAI;IAWzC,4DAA4D;IAC5D,qBAAqB,IAAI,IAAI;IAE7B,6DAA6D;IAC7D,sBAAsB,IAAI,IAAI;IAE9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAuBnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,IAAI;IAO9B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;IAM/D;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IASxC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;IAOpE;;;OAGG;IACH,IAAI,IAAI,MAAM;CAQf"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blocks: the block structure defined over the set of variables.
|
|
3
|
+
*
|
|
4
|
+
* Each block contains 1 or more variables. All constraints inside a block are
|
|
5
|
+
* satisfied by keeping the variables fixed relative to one another.
|
|
6
|
+
*
|
|
7
|
+
* In C++ Blocks extends std::set<Block*>; here we use a Set<Block>.
|
|
8
|
+
*
|
|
9
|
+
* @see lib/vpsc/blocks.h
|
|
10
|
+
* @see lib/vpsc/blocks.cpp
|
|
11
|
+
*/
|
|
12
|
+
import { Variable } from "./Variable.js";
|
|
13
|
+
import { Constraint } from "./Constraint.js";
|
|
14
|
+
import { Block } from "./Block.js";
|
|
15
|
+
export declare class Blocks {
|
|
16
|
+
private _blocks;
|
|
17
|
+
private _vs;
|
|
18
|
+
/**
|
|
19
|
+
* blockTimeCtr: private instance field on Blocks, NOT a module-level global.
|
|
20
|
+
* Exposed as a readonly ref so Block instances can read and increment it.
|
|
21
|
+
* @see lib/vpsc/blocks.cpp: long blockTimeCtr; (was global; moved here per AD-4)
|
|
22
|
+
*/
|
|
23
|
+
readonly timeCtr: {
|
|
24
|
+
value: number;
|
|
25
|
+
};
|
|
26
|
+
/** @see lib/vpsc/blocks.cpp: Blocks::Blocks(const int n, Variable *vs_[]) */
|
|
27
|
+
constructor(vs: Variable[]);
|
|
28
|
+
/** Iterate over all blocks (including deleted ones not yet cleaned up). */
|
|
29
|
+
[Symbol.iterator](): IterableIterator<Block>;
|
|
30
|
+
/** Add a block to the set. */
|
|
31
|
+
insert(b: Block): void;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a topologically sorted list of variables determined by the
|
|
34
|
+
* constraint DAG.
|
|
35
|
+
* @see lib/vpsc/blocks.cpp: Blocks::totalOrder
|
|
36
|
+
*/
|
|
37
|
+
totalOrder(): Variable[];
|
|
38
|
+
/** @see lib/vpsc/blocks.cpp: Blocks::dfsVisit */
|
|
39
|
+
private dfsVisit;
|
|
40
|
+
/**
|
|
41
|
+
* Processes incoming constraints most-violated first, merging with the left
|
|
42
|
+
* neighbouring block until no more violated constraints exist.
|
|
43
|
+
* @see lib/vpsc/blocks.cpp: Blocks::mergeLeft
|
|
44
|
+
*/
|
|
45
|
+
mergeLeft(r: Block): void;
|
|
46
|
+
/**
|
|
47
|
+
* Symmetrical to mergeLeft.
|
|
48
|
+
* @see lib/vpsc/blocks.cpp: Blocks::mergeRight
|
|
49
|
+
*/
|
|
50
|
+
mergeRight(l: Block): void;
|
|
51
|
+
/** @see lib/vpsc/blocks.cpp: Blocks::removeBlock */
|
|
52
|
+
private removeBlock;
|
|
53
|
+
/** @see lib/vpsc/blocks.cpp: Blocks::cleanup */
|
|
54
|
+
cleanup(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Splits block b across constraint c into two new blocks.
|
|
57
|
+
* @see lib/vpsc/blocks.cpp: Blocks::split
|
|
58
|
+
*/
|
|
59
|
+
split(b: Block, c: Constraint): [Block, Block];
|
|
60
|
+
/**
|
|
61
|
+
* Total squared distance of all variables from their desired positions.
|
|
62
|
+
* @see lib/vpsc/blocks.cpp: Blocks::cost
|
|
63
|
+
*/
|
|
64
|
+
cost(): number;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=Blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/vpsc/Blocks.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,GAAG,CAAa;IAExB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,6EAA6E;gBACjE,EAAE,EAAE,QAAQ,EAAE;IAS1B,2EAA2E;IAC3E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;IAI5C,8BAA8B;IAC9B,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAItB;;;;OAIG;IACH,UAAU,IAAI,QAAQ,EAAE;IASxB,iDAAiD;IACjD,OAAO,CAAC,QAAQ;IAQhB;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAsBzB;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAmB1B,oDAAoD;IACpD,OAAO,CAAC,WAAW;IAInB,gDAAgD;IAChD,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IAgB9C;;;OAGG;IACH,IAAI,IAAI,MAAM;CAKf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A constraint determines a minimum spacing required between two variables:
|
|
3
|
+
* right.position() - left.position() >= gap
|
|
4
|
+
*
|
|
5
|
+
* @see lib/vpsc/constraint.h
|
|
6
|
+
* @see lib/vpsc/constraint.cpp
|
|
7
|
+
*/
|
|
8
|
+
import type { Block } from "./Solver.js";
|
|
9
|
+
import { Variable } from "./Variable.js";
|
|
10
|
+
/**
|
|
11
|
+
* Compare two constraints for ordering in a min-heap.
|
|
12
|
+
* Ports the `compareConstraints` inline from constraint.h.
|
|
13
|
+
*
|
|
14
|
+
* @see lib/vpsc/constraint.h: static inline bool compareConstraints(...)
|
|
15
|
+
*/
|
|
16
|
+
export declare function compareConstraints(l: Constraint, r: Constraint): boolean;
|
|
17
|
+
export declare class Constraint {
|
|
18
|
+
left: Variable;
|
|
19
|
+
right: Variable;
|
|
20
|
+
gap: number;
|
|
21
|
+
/** Lagrange multiplier. @see lib/vpsc/constraint.h */
|
|
22
|
+
lm: number;
|
|
23
|
+
/** Timestamp for block membership staleness detection. @see lib/vpsc/constraint.h */
|
|
24
|
+
timeStamp: number;
|
|
25
|
+
/** Whether this constraint is currently active (part of a block's spanning tree). */
|
|
26
|
+
active: boolean;
|
|
27
|
+
/** Visited flag used during DFS traversals. */
|
|
28
|
+
visited: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Construct a constraint and register it on both variables.
|
|
31
|
+
* @see lib/vpsc/constraint.cpp: Constraint::Constraint(...)
|
|
32
|
+
*/
|
|
33
|
+
constructor(left: Variable, right: Variable, gap: number);
|
|
34
|
+
/**
|
|
35
|
+
* Compute slack: how much room exists above the minimum separation.
|
|
36
|
+
* @see lib/vpsc/constraint.h: double slack() const { return right->position() - gap - left->position(); }
|
|
37
|
+
*/
|
|
38
|
+
slack(): number;
|
|
39
|
+
/**
|
|
40
|
+
* Unregister this constraint from both variables' in/out lists.
|
|
41
|
+
* Replaces the C++ destructor logic.
|
|
42
|
+
* @see lib/vpsc/constraint.cpp: Constraint::~Constraint()
|
|
43
|
+
*/
|
|
44
|
+
destroy(): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Re-export Block type used in compareConstraints so callers don't have a
|
|
48
|
+
* circular dependency when they only need the type.
|
|
49
|
+
*/
|
|
50
|
+
export type { Block };
|
|
51
|
+
//# sourceMappingURL=Constraint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../src/vpsc/Constraint.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAiBxE;AAED,qBAAa,UAAU;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;gBACS,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;IAaxD;;;OAGG;IACH,KAAK,IAAI,MAAM;IAIf;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAMhB;AAED;;;GAGG;AACH,YAAY,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Min-heap helpers over Constraint arrays.
|
|
3
|
+
*
|
|
4
|
+
* The C++ code uses std::make_heap / std::push_heap / std::pop_heap with a
|
|
5
|
+
* `gt` comparator that flips compareConstraints, producing a min-heap.
|
|
6
|
+
* We replicate that with a standard binary heap stored in an array.
|
|
7
|
+
*
|
|
8
|
+
* @see lib/vpsc/block.cpp: make_heap, insert, deleteMin, findMin, merge_heaps, gt
|
|
9
|
+
*/
|
|
10
|
+
import { Constraint } from "./Constraint.js";
|
|
11
|
+
/**
|
|
12
|
+
* Greater-than comparator: flips compareConstraints to turn a max-heap into
|
|
13
|
+
* a min-heap (matching the C++ `gt` lambda).
|
|
14
|
+
* @see lib/vpsc/block.cpp: static bool gt(...)
|
|
15
|
+
*/
|
|
16
|
+
export declare function heapGt(l: Constraint, r: Constraint): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Bubble element at index i upward until the heap property is restored.
|
|
19
|
+
* @see lib/vpsc/block.cpp: std::push_heap internals
|
|
20
|
+
*/
|
|
21
|
+
export declare function heapSiftUp(h: Constraint[], i: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Push element at index i downward until the heap property is restored.
|
|
24
|
+
* @see lib/vpsc/block.cpp: std::pop_heap internals
|
|
25
|
+
*/
|
|
26
|
+
export declare function heapSiftDown(h: Constraint[], i: number): void;
|
|
27
|
+
/** @see lib/vpsc/block.cpp: static void make_heap(...) */
|
|
28
|
+
export declare function makeHeap(h: Constraint[]): void;
|
|
29
|
+
/** @see lib/vpsc/block.cpp: static Constraint *findMin(...) */
|
|
30
|
+
export declare function heapFindMin(h: Constraint[]): Constraint;
|
|
31
|
+
/** @see lib/vpsc/block.cpp: static void deleteMin(...) */
|
|
32
|
+
export declare function heapDeleteMin(h: Constraint[]): void;
|
|
33
|
+
/** @see lib/vpsc/block.cpp: static void insert(...) */
|
|
34
|
+
export declare function heapInsert(h: Constraint[], c: Constraint): void;
|
|
35
|
+
/** @see lib/vpsc/block.cpp: static void merge_heaps(...) */
|
|
36
|
+
export declare function mergeHeaps(heap1: Constraint[], heap2: Constraint[]): void;
|
|
37
|
+
//# sourceMappingURL=HeapUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeapUtils.d.ts","sourceRoot":"","sources":["../../src/vpsc/HeapUtils.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAI9C;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAEvD;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAInD;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAG/D;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAGzE"}
|