@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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel extraction and search for the ortho maze.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/ortho/ortho.c:extractHChans, extractVChans, chanSearch
|
|
5
|
+
*/
|
|
6
|
+
import type { Maze, Channel, ChanDict } from "./types.js";
|
|
7
|
+
import { makeGraph } from "./rawgraph.js";
|
|
8
|
+
export { makeGraph };
|
|
9
|
+
/** New empty two-level channel dict (outer Dtoset keyed by v). */
|
|
10
|
+
export declare function newChanDict(): ChanDict;
|
|
11
|
+
/**
|
|
12
|
+
* Extract horizontal channels from the maze.
|
|
13
|
+
* @see lib/ortho/ortho.c:extractHChans
|
|
14
|
+
*/
|
|
15
|
+
export declare function extractHChans(mp: Maze): ChanDict;
|
|
16
|
+
/**
|
|
17
|
+
* Extract vertical channels from the maze.
|
|
18
|
+
* @see lib/ortho/ortho.c:extractVChans
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractVChans(mp: Maze): ChanDict;
|
|
21
|
+
/**
|
|
22
|
+
* Walk channels exactly as C's assignTracks-family loops do:
|
|
23
|
+
* for (l1 = dtflatten(chans); l1; l1 = dtlink(chans,l1))
|
|
24
|
+
* for (l2 = dtflatten(lp); l2; l2 = dtlink(lp,l2))
|
|
25
|
+
* dtflatten right-linearises the splay tree into a sorted chain, and dtlink
|
|
26
|
+
* follows raw `.right` pointers LIVE. When the loop body performs a
|
|
27
|
+
* chanSearch (dtmatch), the dict is unflattened and re-splayed mid-walk, so
|
|
28
|
+
* the `.right` chain the walker follows is rewritten under it — C then
|
|
29
|
+
* silently SKIPS every channel a rotation moved into a left subtree. This
|
|
30
|
+
* corrupted-walk behavior is deterministic and load-bearing for the
|
|
31
|
+
* parallel-edge pass (corpus 1447_1/osage: C visits 157 of 294 channels).
|
|
32
|
+
* The generator reads `.right` lazily at each resume, reproducing it.
|
|
33
|
+
* @see lib/ortho/ortho.c:assignTracks, add_p_edges (dtflatten walks)
|
|
34
|
+
* @see src/ortho/chan-dict.ts (flatten/unflatten mechanics)
|
|
35
|
+
*/
|
|
36
|
+
export declare function chansInOrder(chans: ChanDict): Generator<[number, Channel]>;
|
|
37
|
+
/**
|
|
38
|
+
* Find the channel whose interval nests with the segment (chancmpid == 0).
|
|
39
|
+
* Both lookups are C dtmatch calls: they SPLAY the dicts, which is what
|
|
40
|
+
* corrupts any dtflatten walk in progress (see chansInOrder).
|
|
41
|
+
* @see lib/ortho/ortho.c:chanSearch
|
|
42
|
+
*/
|
|
43
|
+
export declare function chanSearch(chans: ChanDict, commCoord: number, p: {
|
|
44
|
+
p1: number;
|
|
45
|
+
p2: number;
|
|
46
|
+
}): Channel | null;
|
|
47
|
+
//# sourceMappingURL=maze-channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maze-channels.d.ts","sourceRoot":"","sources":["../../src/ortho/maze-channels.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,KAAK,EAAQ,IAAI,EAAE,OAAO,EAAY,QAAQ,EAAS,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,CAAC;AAarB,kEAAkE;AAClE,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAsED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,IAAI,GAAG,QAAQ,CAahD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,IAAI,GAAG,QAAQ,CAahD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAiB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAO3E;AAuBD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,GAAG,IAAI,CAIhB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maze construction — mkMaze, updateWts, markSmall, createSEdges.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/maze.c.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/ortho/maze.c
|
|
7
|
+
* @see lib/ortho/maze.h
|
|
8
|
+
*/
|
|
9
|
+
import type { OrthoGraph, Cell, SEdge, SGraph, Maze } from "./types.js";
|
|
10
|
+
/** @see lib/ortho/maze.c:#define MARGIN 36 */
|
|
11
|
+
export declare const MARGIN = 36;
|
|
12
|
+
/** @see lib/ortho/maze.c:#define BIG 16384 */
|
|
13
|
+
export declare const BIG = 16384;
|
|
14
|
+
/**
|
|
15
|
+
* `w` and the macro result are `double` in C (both call sites declare `hsz`/
|
|
16
|
+
* `vsz` as `double`) — the expansion is real division, not integer
|
|
17
|
+
* truncation. Do not add `Math.floor`/`Math.trunc` here.
|
|
18
|
+
* @see lib/ortho/maze.c:142 #define CHANSZ(w) (((w)-3)/2)
|
|
19
|
+
*/
|
|
20
|
+
export declare function chanSz(w: number): number;
|
|
21
|
+
/** @see lib/ortho/maze.c:updateWts */
|
|
22
|
+
export declare function updateWts(g: SGraph, cp: Cell, ep: SEdge): void;
|
|
23
|
+
/** @see lib/ortho/maze.c:mkMaze */
|
|
24
|
+
export declare function mkMaze(g: OrthoGraph): Maze;
|
|
25
|
+
/** @see lib/ortho/maze.c:freeMaze */
|
|
26
|
+
export declare function freeMaze(_mp: Maze): void;
|
|
27
|
+
//# sourceMappingURL=maze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maze.d.ts","sourceRoot":"","sources":["../../src/ortho/maze.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACA,UAAU,EACpB,IAAI,EAAS,KAAK,EAAE,MAAM,EAAE,IAAI,EACjC,MAAM,YAAY,CAAC;AAapB,8CAA8C;AAC9C,eAAO,MAAM,MAAM,KAAK,CAAC;AAKzB,8CAA8C;AAC9C,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAgBD,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAe9D;AAqMD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAkC1C;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAqB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel-segment precedence edges for orthogonal track assignment.
|
|
3
|
+
*
|
|
4
|
+
* When two segments occupy the exact same channel position (`is_parallel`),
|
|
5
|
+
* `top_sort`'s default ordering is unconstrained — C resolves the tie by
|
|
6
|
+
* walking outward along each segment's route until the two chains diverge,
|
|
7
|
+
* then propagating the divergent pair's `seg_cmp` precedence back along the
|
|
8
|
+
* parallel run as explicit graph edges. Skipping this (as an earlier port
|
|
9
|
+
* revision did — see corpus 1447_1) leaves parallel tracks in whatever order
|
|
10
|
+
* `top_sort` picks by construction, which does not match the C oracle.
|
|
11
|
+
*
|
|
12
|
+
* Faithful port of `lib/ortho/ortho.c:780-1010`.
|
|
13
|
+
*
|
|
14
|
+
* @see lib/ortho/ortho.c:next_seg
|
|
15
|
+
* @see lib/ortho/ortho.c:is_parallel
|
|
16
|
+
* @see lib/ortho/ortho.c:propagate_prec
|
|
17
|
+
* @see lib/ortho/ortho.c:decide_point
|
|
18
|
+
* @see lib/ortho/ortho.c:set_parallel_edges
|
|
19
|
+
* @see lib/ortho/ortho.c:removeEdge
|
|
20
|
+
* @see lib/ortho/ortho.c:addPEdges
|
|
21
|
+
* @see lib/ortho/ortho.c:add_p_edges
|
|
22
|
+
*/
|
|
23
|
+
import type { ChanDict, Maze } from "./types.js";
|
|
24
|
+
/** @see lib/ortho/ortho.c:add_p_edges */
|
|
25
|
+
export declare function addPEdgesAll(chans: ChanDict, mp: Maze): number;
|
|
26
|
+
//# sourceMappingURL=ortho-parallel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ortho-parallel.d.ts","sourceRoot":"","sources":["../../src/ortho/ortho-parallel.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAyB,QAAQ,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA4NxE,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,CAQ9D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orthogonal edge routing pipeline — track assignment, segment comparison,
|
|
3
|
+
* and route conversion.
|
|
4
|
+
*
|
|
5
|
+
* Faithful port of the non-trivial helpers in lib/ortho/ortho.c.
|
|
6
|
+
*
|
|
7
|
+
* @see lib/ortho/ortho.c
|
|
8
|
+
*/
|
|
9
|
+
import type { OrthoSegment, Route, SGraph, SNode, Maze } from "./types.js";
|
|
10
|
+
import { Bend } from "./types.js";
|
|
11
|
+
import { insertEdge, edgeExists, removeRedge } from "./rawgraph.js";
|
|
12
|
+
export declare const BIG = 16384;
|
|
13
|
+
/** @see lib/ortho/ortho.c:setSeg */
|
|
14
|
+
export declare function setSeg(dir: boolean, fix: number, b1: number, b2: number, l1: Bend, l2: Bend): OrthoSegment;
|
|
15
|
+
/**
|
|
16
|
+
* Convert a shortest-path result to a sequence of routing segments.
|
|
17
|
+
* @see lib/ortho/ortho.c:convertSPtoRoute
|
|
18
|
+
*/
|
|
19
|
+
export declare function convertSPtoRoute(g: SGraph, fst: SNode, lst: SNode): Route;
|
|
20
|
+
/** @see lib/ortho/ortho.c:assignSegs */
|
|
21
|
+
export declare function assignSegs(routes: Route[], mp: Maze): void;
|
|
22
|
+
/** @see lib/ortho/ortho.c:vtrack */
|
|
23
|
+
export declare function vtrack(seg: OrthoSegment, mp: Maze): number;
|
|
24
|
+
/** @see lib/ortho/ortho.c:htrack */
|
|
25
|
+
export declare function htrack(seg: OrthoSegment, mp: Maze): number;
|
|
26
|
+
/** @see lib/ortho/ortho.c:seg_cmp */
|
|
27
|
+
export declare function segCmp(s1: OrthoSegment, s2: OrthoSegment): number;
|
|
28
|
+
/** @see lib/ortho/ortho.c:assignTracks */
|
|
29
|
+
export declare function assignTracks(mp: Maze): number;
|
|
30
|
+
export { insertEdge, edgeExists, removeRedge };
|
|
31
|
+
//# sourceMappingURL=ortho-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ortho-route.d.ts","sourceRoot":"","sources":["../../src/ortho/ortho-route.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAAE,KAAK,EAAQ,MAAM,EAAE,KAAK,EACrB,IAAI,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAoC,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,eAAe,CAAC;AAS7E,eAAO,MAAM,GAAG,QAAQ,CAAC;AAIzB,oCAAoC;AACpC,wBAAgB,MAAM,CACpB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,IAAI,EACR,EAAE,EAAE,IAAI,GACP,YAAY,CASd;AAiCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,KAAK,GACT,KAAK,CAuCP;AAgDD,wCAAwC;AACxC,wBAAgB,UAAU,CACxB,MAAM,EAAE,KAAK,EAAE,EACf,EAAE,EAAE,IAAI,GACP,IAAI,CAQN;AAID,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,CAK1D;AAED,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,CAa1D;AA0ED,qCAAqC;AACrC,wBAAgB,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,MAAM,CAKjE;AA0CD,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAU7C;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Partition free space around nodes into rectangular tiles.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/partition.c.
|
|
5
|
+
* Runs Seidel trapezoidation TWICE: once normal, once with x/y swapped
|
|
6
|
+
* (via perp()). Intersection of the two decompositions yields cells
|
|
7
|
+
* bounded on all four sides.
|
|
8
|
+
*
|
|
9
|
+
* SEED is fixed at 173 — matches lib/ortho/partition.c:srand48(173).
|
|
10
|
+
*
|
|
11
|
+
* @see lib/ortho/partition.c
|
|
12
|
+
*/
|
|
13
|
+
import type { OrthoBox, Cell } from "./types.js";
|
|
14
|
+
import type { SegmentT, TrapT } from "./trapezoid.js";
|
|
15
|
+
/** Fixed RNG seed — matches lib/ortho/partition.c:srand48(173) */
|
|
16
|
+
declare const SEED = 173;
|
|
17
|
+
export { SEED };
|
|
18
|
+
/** @see lib/ortho/partition.c:#define TR_FROM_UP/TR_FROM_DN */
|
|
19
|
+
declare const TR_FROM_UP = 1;
|
|
20
|
+
declare const TR_FROM_DN = 2;
|
|
21
|
+
/**
|
|
22
|
+
* Partition free space around cells into rectangular tiles.
|
|
23
|
+
* @see lib/ortho/partition.c:partition
|
|
24
|
+
*/
|
|
25
|
+
export declare function partition(cells: Cell[], bb: OrthoBox): OrthoBox[];
|
|
26
|
+
/**
|
|
27
|
+
* Test-only accessor for `PartitionHelper.childOrder` — exposes the
|
|
28
|
+
* traverse_polygon branch-table transcription for direct unit testing
|
|
29
|
+
* without requiring a full trapezoidation pipeline to exercise each branch.
|
|
30
|
+
* @see PartitionHelper.childOrder
|
|
31
|
+
*/
|
|
32
|
+
export declare function traverseChildOrderForTest(t: TrapT, seg: SegmentT[], from: number, dir: number): [number, number][];
|
|
33
|
+
export { TR_FROM_UP, TR_FROM_DN };
|
|
34
|
+
//# sourceMappingURL=partition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../../src/ortho/partition.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7D,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEtD,kEAAkE;AAClE,QAAA,MAAM,IAAI,MAAM,CAAC;AAEjB,OAAO,EAAE,IAAI,EAAE,CAAC;AAIhB,+DAA+D;AAC/D,QAAA,MAAM,UAAU,IAAI,CAAC;AACrB,QAAA,MAAM,UAAU,IAAI,CAAC;AAoOrB;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CA0BjE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAEpB;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directed graph with DFS-based topological sort.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/rawgraph.c.
|
|
5
|
+
* @see lib/ortho/rawgraph.c
|
|
6
|
+
* @see lib/ortho/rawgraph.h
|
|
7
|
+
*/
|
|
8
|
+
import type { RawGraph } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Allocate a graph with n vertices and no edges.
|
|
11
|
+
* @see lib/ortho/rawgraph.c:make_graph
|
|
12
|
+
*/
|
|
13
|
+
export declare function makeGraph(n: number): RawGraph;
|
|
14
|
+
/**
|
|
15
|
+
* Release all memory associated with the graph.
|
|
16
|
+
* (No-op in TS — GC handles it; retained for API symmetry.)
|
|
17
|
+
* @see lib/ortho/rawgraph.c:free_graph
|
|
18
|
+
*/
|
|
19
|
+
export declare function freeGraph(_g: RawGraph): void;
|
|
20
|
+
/**
|
|
21
|
+
* Insert a directed edge from v1 to v2 (if it doesn't exist yet).
|
|
22
|
+
* @see lib/ortho/rawgraph.c:insert_edge
|
|
23
|
+
*/
|
|
24
|
+
export declare function insertEdge(g: RawGraph, v1: number, v2: number): void;
|
|
25
|
+
/**
|
|
26
|
+
* Remove any edge between v1 and v2 (either direction).
|
|
27
|
+
* @see lib/ortho/rawgraph.c:remove_redge
|
|
28
|
+
*/
|
|
29
|
+
export declare function removeRedge(g: RawGraph, v1: number, v2: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Test if there is a directed edge FROM v1 TO v2.
|
|
32
|
+
* @see lib/ortho/rawgraph.c:edge_exists
|
|
33
|
+
*/
|
|
34
|
+
export declare function edgeExists(g: RawGraph, v1: number, v2: number): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Topologically sort the directed graph.
|
|
37
|
+
* After this call, each vertex has topsortOrder set.
|
|
38
|
+
* @see lib/ortho/rawgraph.c:top_sort
|
|
39
|
+
*/
|
|
40
|
+
export declare function topSort(g: RawGraph): void;
|
|
41
|
+
//# sourceMappingURL=rawgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawgraph.d.ts","sourceRoot":"","sources":["../../src/ortho/rawgraph.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAMtD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAM7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvE;AA4BD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAwBzC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search graph and Dijkstra shortest path for ortho edge routing.
|
|
3
|
+
*
|
|
4
|
+
* Faithful port of lib/ortho/sgraph.c.
|
|
5
|
+
* Distance values stored NEGATED in nVal while in the priority queue.
|
|
6
|
+
* When a node is finalized (popped), nVal is flipped positive.
|
|
7
|
+
* UNSEEN = Number.MIN_SAFE_INTEGER (mirrors C INT_MIN).
|
|
8
|
+
*
|
|
9
|
+
* @see lib/ortho/sgraph.c
|
|
10
|
+
* @see lib/ortho/sgraph.h
|
|
11
|
+
*/
|
|
12
|
+
import type { SGraph, SNode, SEdge, Cell } from "./types.js";
|
|
13
|
+
import { pqFree } from "./fpq.js";
|
|
14
|
+
import type { Pq } from "./fpq.js";
|
|
15
|
+
/** Sentinel value for unseen nodes. @see lib/ortho/sgraph.c:UNSEEN */
|
|
16
|
+
export declare const UNSEEN: number;
|
|
17
|
+
/**
|
|
18
|
+
* Allocate a search graph with capacity for nnodes nodes (+2 dummy slots).
|
|
19
|
+
* @see lib/ortho/sgraph.c:createSGraph
|
|
20
|
+
*/
|
|
21
|
+
export declare function createSGraph(nnodes: number): SGraph;
|
|
22
|
+
/**
|
|
23
|
+
* Free the graph. (No-op in TS — GC handles it.)
|
|
24
|
+
* @see lib/ortho/sgraph.c:freeSGraph
|
|
25
|
+
*/
|
|
26
|
+
export declare function freeSGraph(_g: SGraph): void;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize per-node adjacency list storage.
|
|
29
|
+
* Regular nodes get 6 slots; the two dummy nodes get maxdeg slots each.
|
|
30
|
+
* @see lib/ortho/sgraph.c:initSEdges
|
|
31
|
+
*/
|
|
32
|
+
export declare function initSEdges(g: SGraph, maxdeg: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* Append a new node to the graph and return it.
|
|
35
|
+
* @see lib/ortho/sgraph.c:createSNode
|
|
36
|
+
*/
|
|
37
|
+
export declare function createSNode(g: SGraph): SNode;
|
|
38
|
+
/**
|
|
39
|
+
* Create an edge between v1 and v2 with the given weight.
|
|
40
|
+
* @see lib/ortho/sgraph.c:createSEdge
|
|
41
|
+
*/
|
|
42
|
+
export declare function createSEdge(g: SGraph, v1: SNode, v2: SNode, wt: number): SEdge;
|
|
43
|
+
/**
|
|
44
|
+
* Save the current graph state (node/edge counts + adjacency counts).
|
|
45
|
+
* @see lib/ortho/sgraph.c:gsave
|
|
46
|
+
*/
|
|
47
|
+
export declare function gsave(g: SGraph): void;
|
|
48
|
+
/**
|
|
49
|
+
* Restore the graph to the last saved state and clear the two dummy nodes.
|
|
50
|
+
* @see lib/ortho/sgraph.c:reset
|
|
51
|
+
*/
|
|
52
|
+
export declare function reset(g: SGraph): void;
|
|
53
|
+
/** Dijkstra shortest path from `from` to `to`; 0 on success, 1 on PQ overflow.
|
|
54
|
+
* Distances stored NEGATED while pending, flipped positive when finalized.
|
|
55
|
+
* @see lib/ortho/sgraph.c:shortPath */
|
|
56
|
+
export declare function shortPath(pq: Pq, g: SGraph, from: SNode, to: SNode): number;
|
|
57
|
+
/**
|
|
58
|
+
* Generate a fresh priority queue sized for the search graph.
|
|
59
|
+
* @see lib/ortho/sgraph.c shortPath preamble
|
|
60
|
+
*/
|
|
61
|
+
export declare function pqGenForGraph(g: SGraph): Pq;
|
|
62
|
+
export { pqFree };
|
|
63
|
+
/**
|
|
64
|
+
* Add temporary edges from a node cell to the search graph.
|
|
65
|
+
* Used to attach source/dest nodes before each Dijkstra call.
|
|
66
|
+
* @see lib/ortho/ortho.c:addNodeEdges
|
|
67
|
+
*/
|
|
68
|
+
export declare function addNodeEdges(sg: SGraph, cp: Cell, np: SNode): void;
|
|
69
|
+
/**
|
|
70
|
+
* Add temporary loop edges (self-loop at a single cell).
|
|
71
|
+
* @see lib/ortho/ortho.c:addLoop
|
|
72
|
+
*/
|
|
73
|
+
export declare function addLoop(sg: SGraph, cp: Cell, dp: SNode, sp: SNode): void;
|
|
74
|
+
//# sourceMappingURL=sgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgraph.d.ts","sourceRoot":"","sources":["../../src/ortho/sgraph.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAS,MAAM,EAAwC,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,sEAAsE;AACtE,eAAO,MAAM,MAAM,QAA0B,CAAC;AAI9C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAanD;AAoBD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyB1D;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAK5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,MAAM,GACT,KAAK,CAcP;AAID;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAYrC;AAqCD;;uCAEuC;AACvC,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAkB3E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,CAE3C;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAIlB;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,IAAI,EACR,EAAE,EAAE,KAAK,GACR,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,IAAI,EACR,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,KAAK,GACR,IAAI,CAaN"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query-structure operations for Seidel trapezoidation:
|
|
3
|
+
* locate_endpoint, is_left_of, inserted.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/ortho/trapezoid.c
|
|
6
|
+
*/
|
|
7
|
+
import { isValidTrap, TRAP_MAX } from "./trap-types.js";
|
|
8
|
+
import type { SegPoint, SegmentT, TrapT, QNode } from "./trap-types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Test whether point v is to the left of segment segnum.
|
|
11
|
+
* @see lib/ortho/trapezoid.c:is_left_of
|
|
12
|
+
*/
|
|
13
|
+
export declare function isLeftOf(segnum: number, seg: SegmentT[], v: SegPoint): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the given endpoint of segnum is already inserted.
|
|
16
|
+
* @see lib/ortho/trapezoid.c:inserted
|
|
17
|
+
*/
|
|
18
|
+
export declare function inserted(segnum: number, seg: SegmentT[], whichpt: number): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Which trapezoid contains point v?
|
|
21
|
+
* @see lib/ortho/trapezoid.c:locate_endpoint
|
|
22
|
+
*/
|
|
23
|
+
export declare function locateEndpoint(v: SegPoint, vo: SegPoint, r: number, seg: SegmentT[], qs: QNode[]): number;
|
|
24
|
+
/**
|
|
25
|
+
* Merge trapezoids sharing common segments on one side.
|
|
26
|
+
* @see lib/ortho/trapezoid.c:merge_trapezoids
|
|
27
|
+
*/
|
|
28
|
+
export declare function mergeTrapezoids(segnum: number, tfirst: number, tlast: number, side: number, tr: TrapT[], qs: QNode[]): void;
|
|
29
|
+
import { greaterThanOrEq } from "./trap-types.js";
|
|
30
|
+
export { greaterThanOrEq };
|
|
31
|
+
export { TRAP_MAX, isValidTrap };
|
|
32
|
+
//# sourceMappingURL=trap-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trap-query.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-query.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAG0B,WAAW,EACnC,QAAQ,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,CAAC,EAAE,QAAQ,GACV,OAAO,CAaT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAGT;AAyBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,QAAQ,EACX,EAAE,EAAE,QAAQ,EACZ,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,GACV,MAAM,CAeR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CAgBN;AAyCD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* add_segment and its helpers for Seidel trapezoidation.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/ortho/trapezoid.c:add_segment
|
|
5
|
+
*/
|
|
6
|
+
import type { SegmentT, TrapT, QNode } from "./trap-types.js";
|
|
7
|
+
export declare function insertV0(s: SegmentT, seg: SegmentT[], tr: TrapT[], qs: QNode[], segnum: number): number;
|
|
8
|
+
export declare function insertV1(s: SegmentT, seg: SegmentT[], tr: TrapT[], qs: QNode[], segnum: number): number;
|
|
9
|
+
export declare function handleD0Only(s: SegmentT, seg: SegmentT[], tr: TrapT[], t: number, tn: number, tlast: number, segnum: number, isSwapped: boolean, tribot: boolean): void;
|
|
10
|
+
export declare function handleD1Only(s: SegmentT, seg: SegmentT[], tr: TrapT[], t: number, tn: number, tlast: number, segnum: number, isSwapped: boolean, tribot: boolean): void;
|
|
11
|
+
export declare function handleBothD(s: SegmentT, seg: SegmentT[], tr: TrapT[], t: number, tn: number, tlast: number, tribot: boolean): number;
|
|
12
|
+
export declare function swapSegEndpoints(s: SegmentT): void;
|
|
13
|
+
/**
|
|
14
|
+
* Insert one segment into the trapezoidation.
|
|
15
|
+
* @see lib/ortho/trapezoid.c:add_segment
|
|
16
|
+
*/
|
|
17
|
+
export declare function addSegment(segnum: number, seg: SegmentT[], tr: TrapT[], qs: QNode[]): void;
|
|
18
|
+
/**
|
|
19
|
+
* Update root pointers for each segment endpoint after a batch of insertions.
|
|
20
|
+
* @see lib/ortho/trapezoid.c:find_new_roots
|
|
21
|
+
*/
|
|
22
|
+
export declare function findNewRoots(segnum: number, seg: SegmentT[], tr: TrapT[], qs: QNode[]): void;
|
|
23
|
+
//# sourceMappingURL=trap-segment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trap-segment.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-segment.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH,OAAO,KAAK,EAAY,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMxE,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA2BD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA8BD,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAgBD,wBAAgB,WAAW,CACzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GACpD,MAAM,CAIR;AAiCD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAGlD;AAID;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CA2BN;AAsDD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CAKN"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trapezoid types and floating-point helpers for Seidel trapezoidation.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/ortho/trap.h
|
|
5
|
+
*/
|
|
6
|
+
/** Tolerance for floating-point equality. @see lib/ortho/trap.h:C_EPS */
|
|
7
|
+
export declare const C_EPS = 1e-7;
|
|
8
|
+
/** Sentinel for unset trap indices — mirrors C SIZE_MAX. */
|
|
9
|
+
export declare const TRAP_MAX: number;
|
|
10
|
+
/** Sentinel for invalid/absent trap — mirrors C 0. */
|
|
11
|
+
export declare const INVALID_TRAP = 0;
|
|
12
|
+
export declare const S_LEFT = 1;
|
|
13
|
+
export declare const S_RIGHT = 2;
|
|
14
|
+
export declare const T_X = 1;
|
|
15
|
+
export declare const T_Y = 2;
|
|
16
|
+
export declare const T_SINK = 3;
|
|
17
|
+
export declare const FIRSTPT = 1;
|
|
18
|
+
export declare const LASTPT = 2;
|
|
19
|
+
export interface SegPoint {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A polygon boundary segment.
|
|
25
|
+
* @see lib/ortho/trap.h:segment_t
|
|
26
|
+
*/
|
|
27
|
+
export interface SegmentT {
|
|
28
|
+
v0: SegPoint;
|
|
29
|
+
v1: SegPoint;
|
|
30
|
+
isInserted: boolean;
|
|
31
|
+
root0: number;
|
|
32
|
+
root1: number;
|
|
33
|
+
next: number;
|
|
34
|
+
prev: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A trapezoid in the decomposition.
|
|
38
|
+
* @see lib/ortho/trap.h:trap_t
|
|
39
|
+
*/
|
|
40
|
+
export interface TrapT {
|
|
41
|
+
lseg: number;
|
|
42
|
+
rseg: number;
|
|
43
|
+
hi: SegPoint;
|
|
44
|
+
lo: SegPoint;
|
|
45
|
+
u0: number;
|
|
46
|
+
u1: number;
|
|
47
|
+
d0: number;
|
|
48
|
+
d1: number;
|
|
49
|
+
sink: number;
|
|
50
|
+
usave: number;
|
|
51
|
+
uside: number;
|
|
52
|
+
isValid: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** Query-tree node. */
|
|
55
|
+
export interface QNode {
|
|
56
|
+
nodetype: number;
|
|
57
|
+
segnum: number;
|
|
58
|
+
yval: SegPoint;
|
|
59
|
+
trnum: number;
|
|
60
|
+
parent: number;
|
|
61
|
+
left: number;
|
|
62
|
+
right: number;
|
|
63
|
+
}
|
|
64
|
+
/** @see lib/ortho/trap.h:is_valid_trap */
|
|
65
|
+
export declare function isValidTrap(index: number): boolean;
|
|
66
|
+
/** @see lib/ortho/trap.h:fp_equal */
|
|
67
|
+
export declare function fpEqual(s: number, t: number): boolean;
|
|
68
|
+
/** @see lib/ortho/trap.h:dfp_cmp */
|
|
69
|
+
export declare function dfpCmp(f1: number, f2: number): number;
|
|
70
|
+
/** @see lib/ortho/trap.h:equal_to */
|
|
71
|
+
export declare function equalTo(v0: SegPoint, v1: SegPoint): boolean;
|
|
72
|
+
/** @see lib/ortho/trap.h:greater_than */
|
|
73
|
+
export declare function greaterThan(v0: SegPoint, v1: SegPoint): boolean;
|
|
74
|
+
export declare function greaterThanOrEq(v0: SegPoint, v1: SegPoint): boolean;
|
|
75
|
+
export declare function lessThan(v0: SegPoint, v1: SegPoint): boolean;
|
|
76
|
+
export declare function maxPt(v0: SegPoint, v1: SegPoint): SegPoint;
|
|
77
|
+
export declare function minPt(v0: SegPoint, v1: SegPoint): SegPoint;
|
|
78
|
+
export declare function cross(v0: SegPoint, v1: SegPoint, v2: SegPoint): number;
|
|
79
|
+
export declare function newQNode(qs: QNode[]): number;
|
|
80
|
+
export declare function newTrap(tr: TrapT[]): number;
|
|
81
|
+
/**
|
|
82
|
+
* Number of times log₂ must be applied before result < 1.
|
|
83
|
+
* @see lib/ortho/trapezoid.c:math_logstar_n
|
|
84
|
+
*/
|
|
85
|
+
export declare function mathLogstarN(n: number): number;
|
|
86
|
+
/**
|
|
87
|
+
* ceil(n / log^(h)(n))
|
|
88
|
+
* @see lib/ortho/trapezoid.c:math_N
|
|
89
|
+
*/
|
|
90
|
+
export declare function mathN(n: number, h: number): number;
|
|
91
|
+
//# sourceMappingURL=trap-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trap-types.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-types.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,yEAAyE;AACzE,eAAO,MAAM,KAAK,OAAO,CAAC;AAE1B,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,QAA0B,CAAC;AAChD,sDAAsD;AACtD,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,eAAO,MAAM,GAAG,IAAI,CAAC;AACrB,eAAO,MAAM,GAAG,IAAI,CAAC;AACrB,eAAO,MAAM,MAAM,IAAI,CAAC;AAExB,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,MAAM,IAAI,CAAC;AAIxB,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,uBAAuB;AACvB,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAID,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAID,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAE3D;AAED,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAM/D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEnE;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAE5D;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAI1D;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAI1D;AAID,wBAAgB,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEtE;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAG5C;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAG3C;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trapezoid update logic — updateTrapezoid and its helpers.
|
|
3
|
+
*
|
|
4
|
+
* @see lib/ortho/trapezoid.c:update_trapezoid
|
|
5
|
+
*/
|
|
6
|
+
import type { SegmentT, TrapT } from "./trap-types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Update upper-neighbour pointers when threading a segment through t and tn.
|
|
9
|
+
* @see lib/ortho/trapezoid.c:update_trapezoid
|
|
10
|
+
*/
|
|
11
|
+
export declare function updateTrapezoid(s: SegmentT, seg: SegmentT[], tr: TrapT[], t: number, tn: number): void;
|
|
12
|
+
//# sourceMappingURL=trap-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trap-update.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-update.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,GACT,IAAI,CAMN"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* construct_trapezoids — main entry point for Seidel trapezoidation.
|
|
3
|
+
* Also re-exports the public surface used by partition.ts.
|
|
4
|
+
*
|
|
5
|
+
* @see lib/ortho/trapezoid.c:construct_trapezoids
|
|
6
|
+
*/
|
|
7
|
+
import { mathLogstarN, mathN, isValidTrap } from "./trap-types.js";
|
|
8
|
+
import type { SegmentT, TrapT, QNode } from "./trap-types.js";
|
|
9
|
+
export type { SegmentT, TrapT };
|
|
10
|
+
export { isValidTrap, mathLogstarN, mathN };
|
|
11
|
+
export type { QNode };
|
|
12
|
+
export { fpEqual, equalTo, greaterThan, dfpCmp, C_EPS, } from "./trap-types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Build the trapezoidal decomposition of the polygon defined by seg[1..nseg].
|
|
15
|
+
* @see lib/ortho/trapezoid.c:construct_trapezoids
|
|
16
|
+
*/
|
|
17
|
+
export declare function constructTrapezoids(nseg: number, seg: SegmentT[], permute: number[]): TrapT[];
|
|
18
|
+
//# sourceMappingURL=trapezoid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trapezoid.d.ts","sourceRoot":"","sources":["../../src/ortho/trapezoid.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EAAE,KAAK,EAAW,WAAW,EAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG9D,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,CAAC;AAGtB,OAAO,EACL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,GAC7C,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,QAAQ,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,GAChB,KAAK,EAAE,CAqCT"}
|