@antv/layout 0.3.12 → 1.0.0-alpha.1
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/README.md +45 -32
- package/dist/3a54d760230d1933f953.worker.js +2 -0
- package/dist/3a54d760230d1933f953.worker.js.map +1 -0
- package/dist/index.min.js +2 -0
- package/dist/index.min.js.map +1 -0
- package/lib/Circular.d.ts +40 -0
- package/lib/Supervisor.d.ts +65 -0
- package/lib/index.d.ts +4 -3
- package/lib/registry.d.ts +3 -0
- package/lib/types.d.ts +128 -0
- package/lib/util/gpu.d.ts +22 -22
- package/lib/util/index.d.ts +6 -6
- package/lib/util/math.d.ts +3 -3
- package/lib/worker.d.ts +3 -0
- package/package.json +21 -95
- package/dist/layout.min.js +0 -3
- package/dist/layout.min.js.LICENSE.txt +0 -1
- package/dist/layout.min.js.map +0 -1
- package/es/index.d.ts +0 -3
- package/es/index.js +0 -6
- package/es/index.js.map +0 -1
- package/es/layout/base.d.ts +0 -22
- package/es/layout/base.js +0 -51
- package/es/layout/base.js.map +0 -1
- package/es/layout/circular.d.ts +0 -80
- package/es/layout/circular.js +0 -314
- package/es/layout/circular.js.map +0 -1
- package/es/layout/comboCombined.d.ts +0 -54
- package/es/layout/comboCombined.js +0 -354
- package/es/layout/comboCombined.js.map +0 -1
- package/es/layout/comboForce.d.ts +0 -134
- package/es/layout/comboForce.js +0 -801
- package/es/layout/comboForce.js.map +0 -1
- package/es/layout/concentric.d.ts +0 -67
- package/es/layout/concentric.js +0 -219
- package/es/layout/concentric.js.map +0 -1
- package/es/layout/constants.d.ts +0 -12
- package/es/layout/constants.js +0 -22
- package/es/layout/constants.js.map +0 -1
- package/es/layout/dagre/graph.d.ts +0 -91
- package/es/layout/dagre/graph.js +0 -4
- package/es/layout/dagre/graph.js.map +0 -1
- package/es/layout/dagre/index.d.ts +0 -8
- package/es/layout/dagre/index.js +0 -31
- package/es/layout/dagre/index.js.map +0 -1
- package/es/layout/dagre/src/acyclic.d.ts +0 -6
- package/es/layout/dagre/src/acyclic.js +0 -52
- package/es/layout/dagre/src/acyclic.js.map +0 -1
- package/es/layout/dagre/src/add-border-segments.d.ts +0 -3
- package/es/layout/dagre/src/add-border-segments.js +0 -32
- package/es/layout/dagre/src/add-border-segments.js.map +0 -1
- package/es/layout/dagre/src/coordinate-system.d.ts +0 -6
- package/es/layout/dagre/src/coordinate-system.js +0 -69
- package/es/layout/dagre/src/coordinate-system.js.map +0 -1
- package/es/layout/dagre/src/data/list.d.ts +0 -12
- package/es/layout/dagre/src/data/list.js +0 -48
- package/es/layout/dagre/src/data/list.js.map +0 -1
- package/es/layout/dagre/src/debug.d.ts +0 -3
- package/es/layout/dagre/src/debug.js +0 -24
- package/es/layout/dagre/src/debug.js.map +0 -1
- package/es/layout/dagre/src/greedy-fas.d.ts +0 -3
- package/es/layout/dagre/src/greedy-fas.js +0 -114
- package/es/layout/dagre/src/greedy-fas.js.map +0 -1
- package/es/layout/dagre/src/layout.d.ts +0 -3
- package/es/layout/dagre/src/layout.js +0 -518
- package/es/layout/dagre/src/layout.js.map +0 -1
- package/es/layout/dagre/src/nesting-graph.d.ts +0 -6
- package/es/layout/dagre/src/nesting-graph.js +0 -117
- package/es/layout/dagre/src/nesting-graph.js.map +0 -1
- package/es/layout/dagre/src/normalize.d.ts +0 -6
- package/es/layout/dagre/src/normalize.js +0 -89
- package/es/layout/dagre/src/normalize.js.map +0 -1
- package/es/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
- package/es/layout/dagre/src/order/add-subgraph-constraints.js +0 -27
- package/es/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
- package/es/layout/dagre/src/order/barycenter.d.ts +0 -11
- package/es/layout/dagre/src/order/barycenter.js +0 -24
- package/es/layout/dagre/src/order/barycenter.js.map +0 -1
- package/es/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
- package/es/layout/dagre/src/order/build-layer-graph.js +0 -71
- package/es/layout/dagre/src/order/build-layer-graph.js.map +0 -1
- package/es/layout/dagre/src/order/cross-count.d.ts +0 -3
- package/es/layout/dagre/src/order/cross-count.js +0 -65
- package/es/layout/dagre/src/order/cross-count.js.map +0 -1
- package/es/layout/dagre/src/order/index.d.ts +0 -3
- package/es/layout/dagre/src/order/index.js +0 -91
- package/es/layout/dagre/src/order/index.js.map +0 -1
- package/es/layout/dagre/src/order/init-data-order.d.ts +0 -6
- package/es/layout/dagre/src/order/init-data-order.js +0 -25
- package/es/layout/dagre/src/order/init-data-order.js.map +0 -1
- package/es/layout/dagre/src/order/init-order.d.ts +0 -3
- package/es/layout/dagre/src/order/init-order.js +0 -52
- package/es/layout/dagre/src/order/init-order.js.map +0 -1
- package/es/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
- package/es/layout/dagre/src/order/resolve-conflicts.js +0 -93
- package/es/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
- package/es/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
- package/es/layout/dagre/src/order/sort-subgraph.js +0 -85
- package/es/layout/dagre/src/order/sort-subgraph.js.map +0 -1
- package/es/layout/dagre/src/order/sort.d.ts +0 -7
- package/es/layout/dagre/src/order/sort.js +0 -68
- package/es/layout/dagre/src/order/sort.js.map +0 -1
- package/es/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
- package/es/layout/dagre/src/parent-dummy-chains.js +0 -81
- package/es/layout/dagre/src/parent-dummy-chains.js.map +0 -1
- package/es/layout/dagre/src/position/bk.d.ts +0 -23
- package/es/layout/dagre/src/position/bk.js +0 -370
- package/es/layout/dagre/src/position/bk.js.map +0 -1
- package/es/layout/dagre/src/position/index.d.ts +0 -3
- package/es/layout/dagre/src/position/index.js +0 -51
- package/es/layout/dagre/src/position/index.js.map +0 -1
- package/es/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
- package/es/layout/dagre/src/rank/feasible-tree.js +0 -148
- package/es/layout/dagre/src/rank/feasible-tree.js.map +0 -1
- package/es/layout/dagre/src/rank/index.d.ts +0 -3
- package/es/layout/dagre/src/rank/index.js +0 -53
- package/es/layout/dagre/src/rank/index.js.map +0 -1
- package/es/layout/dagre/src/rank/network-simplex.d.ts +0 -9
- package/es/layout/dagre/src/rank/network-simplex.js +0 -195
- package/es/layout/dagre/src/rank/network-simplex.js.map +0 -1
- package/es/layout/dagre/src/rank/util.d.ts +0 -11
- package/es/layout/dagre/src/rank/util.js +0 -141
- package/es/layout/dagre/src/rank/util.js.map +0 -1
- package/es/layout/dagre/src/util.d.ts +0 -31
- package/es/layout/dagre/src/util.js +0 -261
- package/es/layout/dagre/src/util.js.map +0 -1
- package/es/layout/dagre.d.ts +0 -71
- package/es/layout/dagre.js +0 -433
- package/es/layout/dagre.js.map +0 -1
- package/es/layout/dagreCompound.d.ts +0 -121
- package/es/layout/dagreCompound.js +0 -391
- package/es/layout/dagreCompound.js.map +0 -1
- package/es/layout/er/core.d.ts +0 -1
- package/es/layout/er/core.js +0 -107
- package/es/layout/er/core.js.map +0 -1
- package/es/layout/er/forceGrid.d.ts +0 -8
- package/es/layout/er/forceGrid.js +0 -88
- package/es/layout/er/forceGrid.js.map +0 -1
- package/es/layout/er/grid.d.ts +0 -26
- package/es/layout/er/grid.js +0 -162
- package/es/layout/er/grid.js.map +0 -1
- package/es/layout/er/index.d.ts +0 -29
- package/es/layout/er/index.js +0 -54
- package/es/layout/er/index.js.map +0 -1
- package/es/layout/er/mysqlWorkbench.d.ts +0 -6
- package/es/layout/er/mysqlWorkbench.js +0 -324
- package/es/layout/er/mysqlWorkbench.js.map +0 -1
- package/es/layout/er/type.d.ts +0 -35
- package/es/layout/er/type.js +0 -2
- package/es/layout/er/type.js.map +0 -1
- package/es/layout/force/force-in-a-box.d.ts +0 -28
- package/es/layout/force/force-in-a-box.js +0 -330
- package/es/layout/force/force-in-a-box.js.map +0 -1
- package/es/layout/force/force.d.ts +0 -100
- package/es/layout/force/force.js +0 -340
- package/es/layout/force/force.js.map +0 -1
- package/es/layout/force/index.d.ts +0 -1
- package/es/layout/force/index.js +0 -2
- package/es/layout/force/index.js.map +0 -1
- package/es/layout/force2/ForceNBody.d.ts +0 -7
- package/es/layout/force2/ForceNBody.js +0 -94
- package/es/layout/force2/ForceNBody.js.map +0 -1
- package/es/layout/force2/index.d.ts +0 -119
- package/es/layout/force2/index.js +0 -608
- package/es/layout/force2/index.js.map +0 -1
- package/es/layout/forceAtlas2/body.d.ts +0 -33
- package/es/layout/forceAtlas2/body.js +0 -89
- package/es/layout/forceAtlas2/body.js.map +0 -1
- package/es/layout/forceAtlas2/index.d.ts +0 -115
- package/es/layout/forceAtlas2/index.js +0 -484
- package/es/layout/forceAtlas2/index.js.map +0 -1
- package/es/layout/forceAtlas2/quad.d.ts +0 -27
- package/es/layout/forceAtlas2/quad.js +0 -96
- package/es/layout/forceAtlas2/quad.js.map +0 -1
- package/es/layout/forceAtlas2/quadTree.d.ts +0 -20
- package/es/layout/forceAtlas2/quadTree.js +0 -103
- package/es/layout/forceAtlas2/quadTree.js.map +0 -1
- package/es/layout/fruchterman.d.ts +0 -73
- package/es/layout/fruchterman.js +0 -296
- package/es/layout/fruchterman.js.map +0 -1
- package/es/layout/gForce.d.ts +0 -96
- package/es/layout/gForce.js +0 -399
- package/es/layout/gForce.js.map +0 -1
- package/es/layout/gpu/fruchterman.d.ts +0 -57
- package/es/layout/gpu/fruchterman.js +0 -267
- package/es/layout/gpu/fruchterman.js.map +0 -1
- package/es/layout/gpu/fruchtermanShader.d.ts +0 -4
- package/es/layout/gpu/fruchtermanShader.js +0 -201
- package/es/layout/gpu/fruchtermanShader.js.map +0 -1
- package/es/layout/gpu/gForce.d.ts +0 -68
- package/es/layout/gpu/gForce.js +0 -330
- package/es/layout/gpu/gForce.js.map +0 -1
- package/es/layout/gpu/gForceShader.d.ts +0 -4
- package/es/layout/gpu/gForceShader.js +0 -218
- package/es/layout/gpu/gForceShader.js.map +0 -1
- package/es/layout/grid.d.ts +0 -83
- package/es/layout/grid.js +0 -317
- package/es/layout/grid.js.map +0 -1
- package/es/layout/index.d.ts +0 -22
- package/es/layout/index.js +0 -25
- package/es/layout/index.js.map +0 -1
- package/es/layout/layout.d.ts +0 -26
- package/es/layout/layout.js +0 -97
- package/es/layout/layout.js.map +0 -1
- package/es/layout/mds.d.ts +0 -39
- package/es/layout/mds.js +0 -122
- package/es/layout/mds.js.map +0 -1
- package/es/layout/radial/index.d.ts +0 -1
- package/es/layout/radial/index.js +0 -2
- package/es/layout/radial/index.js.map +0 -1
- package/es/layout/radial/mds.d.ts +0 -15
- package/es/layout/radial/mds.js +0 -38
- package/es/layout/radial/mds.js.map +0 -1
- package/es/layout/radial/radial.d.ts +0 -74
- package/es/layout/radial/radial.js +0 -420
- package/es/layout/radial/radial.js.map +0 -1
- package/es/layout/radial/radialNonoverlapForce.d.ts +0 -50
- package/es/layout/radial/radialNonoverlapForce.js +0 -123
- package/es/layout/radial/radialNonoverlapForce.js.map +0 -1
- package/es/layout/random.d.ts +0 -35
- package/es/layout/random.js +0 -62
- package/es/layout/random.js.map +0 -1
- package/es/layout/types.d.ts +0 -432
- package/es/layout/types.js +0 -2
- package/es/layout/types.js.map +0 -1
- package/es/registy/index.d.ts +0 -3
- package/es/registy/index.js +0 -41
- package/es/registy/index.js.map +0 -1
- package/es/util/array.d.ts +0 -1
- package/es/util/array.js +0 -2
- package/es/util/array.js.map +0 -1
- package/es/util/function.d.ts +0 -6
- package/es/util/function.js +0 -56
- package/es/util/function.js.map +0 -1
- package/es/util/gpu.d.ts +0 -52
- package/es/util/gpu.js +0 -239
- package/es/util/gpu.js.map +0 -1
- package/es/util/index.d.ts +0 -6
- package/es/util/index.js +0 -7
- package/es/util/index.js.map +0 -1
- package/es/util/math.d.ts +0 -48
- package/es/util/math.js +0 -276
- package/es/util/math.js.map +0 -1
- package/es/util/number.d.ts +0 -3
- package/es/util/number.js +0 -7
- package/es/util/number.js.map +0 -1
- package/es/util/object.d.ts +0 -2
- package/es/util/object.js +0 -25
- package/es/util/object.js.map +0 -1
- package/es/util/string.d.ts +0 -2
- package/es/util/string.js +0 -16
- package/es/util/string.js.map +0 -1
- package/lib/index.js +0 -24
- package/lib/index.js.map +0 -1
- package/lib/layout/base.d.ts +0 -22
- package/lib/layout/base.js +0 -56
- package/lib/layout/base.js.map +0 -1
- package/lib/layout/circular.d.ts +0 -80
- package/lib/layout/circular.js +0 -337
- package/lib/layout/circular.js.map +0 -1
- package/lib/layout/comboCombined.d.ts +0 -54
- package/lib/layout/comboCombined.js +0 -390
- package/lib/layout/comboCombined.js.map +0 -1
- package/lib/layout/comboForce.d.ts +0 -134
- package/lib/layout/comboForce.js +0 -826
- package/lib/layout/comboForce.js.map +0 -1
- package/lib/layout/concentric.d.ts +0 -67
- package/lib/layout/concentric.js +0 -243
- package/lib/layout/concentric.js.map +0 -1
- package/lib/layout/constants.d.ts +0 -12
- package/lib/layout/constants.js +0 -25
- package/lib/layout/constants.js.map +0 -1
- package/lib/layout/dagre/graph.d.ts +0 -91
- package/lib/layout/dagre/graph.js +0 -28
- package/lib/layout/dagre/graph.js.map +0 -1
- package/lib/layout/dagre/index.d.ts +0 -8
- package/lib/layout/dagre/index.js +0 -36
- package/lib/layout/dagre/index.js.map +0 -1
- package/lib/layout/dagre/src/acyclic.d.ts +0 -6
- package/lib/layout/dagre/src/acyclic.js +0 -57
- package/lib/layout/dagre/src/acyclic.js.map +0 -1
- package/lib/layout/dagre/src/add-border-segments.d.ts +0 -3
- package/lib/layout/dagre/src/add-border-segments.js +0 -34
- package/lib/layout/dagre/src/add-border-segments.js.map +0 -1
- package/lib/layout/dagre/src/coordinate-system.d.ts +0 -6
- package/lib/layout/dagre/src/coordinate-system.js +0 -71
- package/lib/layout/dagre/src/coordinate-system.js.map +0 -1
- package/lib/layout/dagre/src/data/list.d.ts +0 -12
- package/lib/layout/dagre/src/data/list.js +0 -52
- package/lib/layout/dagre/src/data/list.js.map +0 -1
- package/lib/layout/dagre/src/debug.d.ts +0 -3
- package/lib/layout/dagre/src/debug.js +0 -26
- package/lib/layout/dagre/src/debug.js.map +0 -1
- package/lib/layout/dagre/src/greedy-fas.d.ts +0 -3
- package/lib/layout/dagre/src/greedy-fas.js +0 -144
- package/lib/layout/dagre/src/greedy-fas.js.map +0 -1
- package/lib/layout/dagre/src/layout.d.ts +0 -3
- package/lib/layout/dagre/src/layout.js +0 -535
- package/lib/layout/dagre/src/layout.js.map +0 -1
- package/lib/layout/dagre/src/nesting-graph.d.ts +0 -6
- package/lib/layout/dagre/src/nesting-graph.js +0 -119
- package/lib/layout/dagre/src/nesting-graph.js.map +0 -1
- package/lib/layout/dagre/src/normalize.d.ts +0 -6
- package/lib/layout/dagre/src/normalize.js +0 -91
- package/lib/layout/dagre/src/normalize.js.map +0 -1
- package/lib/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
- package/lib/layout/dagre/src/order/add-subgraph-constraints.js +0 -29
- package/lib/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
- package/lib/layout/dagre/src/order/barycenter.d.ts +0 -11
- package/lib/layout/dagre/src/order/barycenter.js +0 -26
- package/lib/layout/dagre/src/order/barycenter.js.map +0 -1
- package/lib/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
- package/lib/layout/dagre/src/order/build-layer-graph.js +0 -73
- package/lib/layout/dagre/src/order/build-layer-graph.js.map +0 -1
- package/lib/layout/dagre/src/order/cross-count.d.ts +0 -3
- package/lib/layout/dagre/src/order/cross-count.js +0 -67
- package/lib/layout/dagre/src/order/cross-count.js.map +0 -1
- package/lib/layout/dagre/src/order/index.d.ts +0 -3
- package/lib/layout/dagre/src/order/index.js +0 -96
- package/lib/layout/dagre/src/order/index.js.map +0 -1
- package/lib/layout/dagre/src/order/init-data-order.d.ts +0 -6
- package/lib/layout/dagre/src/order/init-data-order.js +0 -27
- package/lib/layout/dagre/src/order/init-data-order.js.map +0 -1
- package/lib/layout/dagre/src/order/init-order.d.ts +0 -3
- package/lib/layout/dagre/src/order/init-order.js +0 -54
- package/lib/layout/dagre/src/order/init-order.js.map +0 -1
- package/lib/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
- package/lib/layout/dagre/src/order/resolve-conflicts.js +0 -98
- package/lib/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
- package/lib/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
- package/lib/layout/dagre/src/order/sort-subgraph.js +0 -90
- package/lib/layout/dagre/src/order/sort-subgraph.js.map +0 -1
- package/lib/layout/dagre/src/order/sort.d.ts +0 -7
- package/lib/layout/dagre/src/order/sort.js +0 -70
- package/lib/layout/dagre/src/order/sort.js.map +0 -1
- package/lib/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
- package/lib/layout/dagre/src/parent-dummy-chains.js +0 -83
- package/lib/layout/dagre/src/parent-dummy-chains.js.map +0 -1
- package/lib/layout/dagre/src/position/bk.d.ts +0 -23
- package/lib/layout/dagre/src/position/bk.js +0 -409
- package/lib/layout/dagre/src/position/bk.js.map +0 -1
- package/lib/layout/dagre/src/position/index.d.ts +0 -3
- package/lib/layout/dagre/src/position/index.js +0 -64
- package/lib/layout/dagre/src/position/index.js.map +0 -1
- package/lib/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
- package/lib/layout/dagre/src/rank/feasible-tree.js +0 -152
- package/lib/layout/dagre/src/rank/feasible-tree.js.map +0 -1
- package/lib/layout/dagre/src/rank/index.d.ts +0 -3
- package/lib/layout/dagre/src/rank/index.js +0 -58
- package/lib/layout/dagre/src/rank/index.js.map +0 -1
- package/lib/layout/dagre/src/rank/network-simplex.d.ts +0 -9
- package/lib/layout/dagre/src/rank/network-simplex.js +0 -205
- package/lib/layout/dagre/src/rank/network-simplex.js.map +0 -1
- package/lib/layout/dagre/src/rank/util.d.ts +0 -11
- package/lib/layout/dagre/src/rank/util.js +0 -146
- package/lib/layout/dagre/src/rank/util.js.map +0 -1
- package/lib/layout/dagre/src/util.d.ts +0 -31
- package/lib/layout/dagre/src/util.js +0 -280
- package/lib/layout/dagre/src/util.js.map +0 -1
- package/lib/layout/dagre.d.ts +0 -71
- package/lib/layout/dagre.js +0 -462
- package/lib/layout/dagre.js.map +0 -1
- package/lib/layout/dagreCompound.d.ts +0 -121
- package/lib/layout/dagreCompound.js +0 -429
- package/lib/layout/dagreCompound.js.map +0 -1
- package/lib/layout/er/core.d.ts +0 -1
- package/lib/layout/er/core.js +0 -147
- package/lib/layout/er/core.js.map +0 -1
- package/lib/layout/er/forceGrid.d.ts +0 -8
- package/lib/layout/er/forceGrid.js +0 -97
- package/lib/layout/er/forceGrid.js.map +0 -1
- package/lib/layout/er/grid.d.ts +0 -26
- package/lib/layout/er/grid.js +0 -177
- package/lib/layout/er/grid.js.map +0 -1
- package/lib/layout/er/index.d.ts +0 -29
- package/lib/layout/er/index.js +0 -80
- package/lib/layout/er/index.js.map +0 -1
- package/lib/layout/er/mysqlWorkbench.d.ts +0 -6
- package/lib/layout/er/mysqlWorkbench.js +0 -326
- package/lib/layout/er/mysqlWorkbench.js.map +0 -1
- package/lib/layout/er/type.d.ts +0 -35
- package/lib/layout/er/type.js +0 -3
- package/lib/layout/er/type.js.map +0 -1
- package/lib/layout/force/force-in-a-box.d.ts +0 -28
- package/lib/layout/force/force-in-a-box.js +0 -357
- package/lib/layout/force/force-in-a-box.js.map +0 -1
- package/lib/layout/force/force.d.ts +0 -100
- package/lib/layout/force/force.js +0 -388
- package/lib/layout/force/force.js.map +0 -1
- package/lib/layout/force/index.d.ts +0 -1
- package/lib/layout/force/index.js +0 -18
- package/lib/layout/force/index.js.map +0 -1
- package/lib/layout/force2/ForceNBody.d.ts +0 -7
- package/lib/layout/force2/ForceNBody.js +0 -98
- package/lib/layout/force2/ForceNBody.js.map +0 -1
- package/lib/layout/force2/index.d.ts +0 -119
- package/lib/layout/force2/index.js +0 -643
- package/lib/layout/force2/index.js.map +0 -1
- package/lib/layout/forceAtlas2/body.d.ts +0 -33
- package/lib/layout/forceAtlas2/body.js +0 -93
- package/lib/layout/forceAtlas2/body.js.map +0 -1
- package/lib/layout/forceAtlas2/index.d.ts +0 -115
- package/lib/layout/forceAtlas2/index.js +0 -509
- package/lib/layout/forceAtlas2/index.js.map +0 -1
- package/lib/layout/forceAtlas2/quad.d.ts +0 -27
- package/lib/layout/forceAtlas2/quad.js +0 -100
- package/lib/layout/forceAtlas2/quad.js.map +0 -1
- package/lib/layout/forceAtlas2/quadTree.d.ts +0 -20
- package/lib/layout/forceAtlas2/quadTree.js +0 -107
- package/lib/layout/forceAtlas2/quadTree.js.map +0 -1
- package/lib/layout/fruchterman.d.ts +0 -73
- package/lib/layout/fruchterman.js +0 -320
- package/lib/layout/fruchterman.js.map +0 -1
- package/lib/layout/gForce.d.ts +0 -96
- package/lib/layout/gForce.js +0 -421
- package/lib/layout/gForce.js.map +0 -1
- package/lib/layout/gpu/fruchterman.d.ts +0 -57
- package/lib/layout/gpu/fruchterman.js +0 -361
- package/lib/layout/gpu/fruchterman.js.map +0 -1
- package/lib/layout/gpu/fruchtermanShader.d.ts +0 -4
- package/lib/layout/gpu/fruchtermanShader.js +0 -8
- package/lib/layout/gpu/fruchtermanShader.js.map +0 -1
- package/lib/layout/gpu/gForce.d.ts +0 -68
- package/lib/layout/gpu/gForce.js +0 -415
- package/lib/layout/gpu/gForce.js.map +0 -1
- package/lib/layout/gpu/gForceShader.d.ts +0 -4
- package/lib/layout/gpu/gForceShader.js +0 -8
- package/lib/layout/gpu/gForceShader.js.map +0 -1
- package/lib/layout/grid.d.ts +0 -83
- package/lib/layout/grid.js +0 -339
- package/lib/layout/grid.js.map +0 -1
- package/lib/layout/index.d.ts +0 -22
- package/lib/layout/index.js +0 -59
- package/lib/layout/index.js.map +0 -1
- package/lib/layout/layout.d.ts +0 -26
- package/lib/layout/layout.js +0 -102
- package/lib/layout/layout.js.map +0 -1
- package/lib/layout/mds.d.ts +0 -39
- package/lib/layout/mds.js +0 -144
- package/lib/layout/mds.js.map +0 -1
- package/lib/layout/radial/index.d.ts +0 -1
- package/lib/layout/radial/index.js +0 -18
- package/lib/layout/radial/index.js.map +0 -1
- package/lib/layout/radial/mds.d.ts +0 -15
- package/lib/layout/radial/mds.js +0 -42
- package/lib/layout/radial/mds.js.map +0 -1
- package/lib/layout/radial/radial.d.ts +0 -74
- package/lib/layout/radial/radial.js +0 -445
- package/lib/layout/radial/radial.js.map +0 -1
- package/lib/layout/radial/radialNonoverlapForce.d.ts +0 -50
- package/lib/layout/radial/radialNonoverlapForce.js +0 -127
- package/lib/layout/radial/radialNonoverlapForce.js.map +0 -1
- package/lib/layout/random.d.ts +0 -35
- package/lib/layout/random.js +0 -84
- package/lib/layout/random.js.map +0 -1
- package/lib/layout/types.d.ts +0 -432
- package/lib/layout/types.js +0 -3
- package/lib/layout/types.js.map +0 -1
- package/lib/registy/index.d.ts +0 -3
- package/lib/registy/index.js +0 -65
- package/lib/registy/index.js.map +0 -1
- package/lib/util/array.js +0 -5
- package/lib/util/array.js.map +0 -1
- package/lib/util/function.js +0 -65
- package/lib/util/function.js.map +0 -1
- package/lib/util/gpu.js +0 -250
- package/lib/util/gpu.js.map +0 -1
- package/lib/util/index.js +0 -23
- package/lib/util/index.js.map +0 -1
- package/lib/util/math.js +0 -289
- package/lib/util/math.js.map +0 -1
- package/lib/util/number.js +0 -13
- package/lib/util/number.js.map +0 -1
- package/lib/util/object.js +0 -43
- package/lib/util/object.js.map +0 -1
- package/lib/util/string.js +0 -20
- package/lib/util/string.js.map +0 -1
- package/src/index.ts +0 -7
- package/src/layout/base.ts +0 -57
- package/src/layout/circular.ts +0 -370
- package/src/layout/comboCombined.ts +0 -397
- package/src/layout/comboForce.ts +0 -873
- package/src/layout/concentric.ts +0 -289
- package/src/layout/constants.ts +0 -22
- package/src/layout/dagre/graph.ts +0 -104
- package/src/layout/dagre/index.ts +0 -31
- package/src/layout/dagre/src/acyclic.ts +0 -58
- package/src/layout/dagre/src/add-border-segments.ts +0 -47
- package/src/layout/dagre/src/coordinate-system.ts +0 -77
- package/src/layout/dagre/src/data/list.ts +0 -60
- package/src/layout/dagre/src/debug.ts +0 -30
- package/src/layout/dagre/src/greedy-fas.ts +0 -144
- package/src/layout/dagre/src/layout.ts +0 -579
- package/src/layout/dagre/src/nesting-graph.ts +0 -143
- package/src/layout/dagre/src/normalize.ts +0 -96
- package/src/layout/dagre/src/order/add-subgraph-constraints.ts +0 -29
- package/src/layout/dagre/src/order/barycenter.ts +0 -26
- package/src/layout/dagre/src/order/build-layer-graph.ts +0 -82
- package/src/layout/dagre/src/order/cross-count.ts +0 -77
- package/src/layout/dagre/src/order/index.ts +0 -105
- package/src/layout/dagre/src/order/init-data-order.ts +0 -27
- package/src/layout/dagre/src/order/init-order.ts +0 -56
- package/src/layout/dagre/src/order/resolve-conflicts.ts +0 -152
- package/src/layout/dagre/src/order/sort-subgraph.ts +0 -105
- package/src/layout/dagre/src/order/sort.ts +0 -76
- package/src/layout/dagre/src/parent-dummy-chains.ts +0 -102
- package/src/layout/dagre/src/position/bk.ts +0 -493
- package/src/layout/dagre/src/position/index.ts +0 -82
- package/src/layout/dagre/src/rank/feasible-tree.ts +0 -165
- package/src/layout/dagre/src/rank/index.ts +0 -54
- package/src/layout/dagre/src/rank/network-simplex.ts +0 -225
- package/src/layout/dagre/src/rank/util.ts +0 -166
- package/src/layout/dagre/src/util.ts +0 -309
- package/src/layout/dagre.ts +0 -460
- package/src/layout/dagreCompound.ts +0 -518
- package/src/layout/er/core.ts +0 -117
- package/src/layout/er/forceGrid.ts +0 -95
- package/src/layout/er/grid.ts +0 -185
- package/src/layout/er/index.ts +0 -68
- package/src/layout/er/mysqlWorkbench.ts +0 -345
- package/src/layout/er/type.ts +0 -39
- package/src/layout/force/force-in-a-box.ts +0 -400
- package/src/layout/force/force.ts +0 -391
- package/src/layout/force/index.ts +0 -1
- package/src/layout/force2/ForceNBody.ts +0 -128
- package/src/layout/force2/index.ts +0 -741
- package/src/layout/forceAtlas2/body.ts +0 -115
- package/src/layout/forceAtlas2/index.ts +0 -556
- package/src/layout/forceAtlas2/quad.ts +0 -115
- package/src/layout/forceAtlas2/quadTree.ts +0 -107
- package/src/layout/fruchterman.ts +0 -361
- package/src/layout/gForce.ts +0 -488
- package/src/layout/gpu/fruchterman.ts +0 -314
- package/src/layout/gpu/fruchtermanShader.ts +0 -203
- package/src/layout/gpu/gForce.ts +0 -407
- package/src/layout/gpu/gForceShader.ts +0 -220
- package/src/layout/grid.ts +0 -404
- package/src/layout/index.ts +0 -47
- package/src/layout/layout.ts +0 -110
- package/src/layout/mds.ts +0 -140
- package/src/layout/radial/index.ts +0 -1
- package/src/layout/radial/mds.ts +0 -51
- package/src/layout/radial/radial.ts +0 -500
- package/src/layout/radial/radialNonoverlapForce.ts +0 -189
- package/src/layout/random.ts +0 -75
- package/src/layout/types.ts +0 -496
- package/src/registy/index.ts +0 -43
- package/src/util/array.ts +0 -1
- package/src/util/function.ts +0 -64
- package/src/util/gpu.ts +0 -256
- package/src/util/index.ts +0 -6
- package/src/util/math.ts +0 -294
- package/src/util/number.ts +0 -8
- package/src/util/object.ts +0 -28
- package/src/util/string.ts +0 -18
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nesting-graph.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/nesting-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { addDummyNode } from "./util";
|
|
2
|
-
/*
|
|
3
|
-
* Breaks any long edges in the graph into short segments that span 1 layer
|
|
4
|
-
* each. This operation is undoable with the denormalize function.
|
|
5
|
-
*
|
|
6
|
-
* Pre-conditions:
|
|
7
|
-
*
|
|
8
|
-
* 1. The input graph is a DAG.
|
|
9
|
-
* 2. Each node in the graph has a "rank" property.
|
|
10
|
-
*
|
|
11
|
-
* Post-condition:
|
|
12
|
-
*
|
|
13
|
-
* 1. All edges in the graph have a length of 1.
|
|
14
|
-
* 2. Dummy nodes are added where edges have been split into segments.
|
|
15
|
-
* 3. The graph is augmented with a "dummyChains" attribute which contains
|
|
16
|
-
* the first dummy in each chain of dummy nodes produced.
|
|
17
|
-
*/
|
|
18
|
-
const run = (g) => {
|
|
19
|
-
g.graph().dummyChains = [];
|
|
20
|
-
g.edges().forEach((edge) => normalizeEdge(g, edge));
|
|
21
|
-
};
|
|
22
|
-
const normalizeEdge = (g, e) => {
|
|
23
|
-
let v = e.v;
|
|
24
|
-
let vRank = g.node(v).rank;
|
|
25
|
-
const w = e.w;
|
|
26
|
-
const wRank = g.node(w).rank;
|
|
27
|
-
const name = e.name;
|
|
28
|
-
const edgeLabel = g.edge(e);
|
|
29
|
-
const labelRank = edgeLabel.labelRank;
|
|
30
|
-
if (wRank === vRank + 1)
|
|
31
|
-
return;
|
|
32
|
-
g.removeEdgeObj(e);
|
|
33
|
-
const graph = g.graph();
|
|
34
|
-
let dummy;
|
|
35
|
-
let attrs;
|
|
36
|
-
let i;
|
|
37
|
-
for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) {
|
|
38
|
-
edgeLabel.points = [];
|
|
39
|
-
attrs = {
|
|
40
|
-
edgeLabel,
|
|
41
|
-
width: 0,
|
|
42
|
-
height: 0,
|
|
43
|
-
edgeObj: e,
|
|
44
|
-
rank: vRank,
|
|
45
|
-
};
|
|
46
|
-
dummy = addDummyNode(g, "edge", attrs, "_d");
|
|
47
|
-
if (vRank === labelRank) {
|
|
48
|
-
attrs.width = edgeLabel.width;
|
|
49
|
-
attrs.height = edgeLabel.height;
|
|
50
|
-
attrs.dummy = "edge-label";
|
|
51
|
-
attrs.labelpos = edgeLabel.labelpos;
|
|
52
|
-
}
|
|
53
|
-
g.setEdge(v, dummy, { weight: edgeLabel.weight }, name);
|
|
54
|
-
if (i === 0) {
|
|
55
|
-
if (!graph.dummyChains)
|
|
56
|
-
graph.dummyChains = [];
|
|
57
|
-
graph.dummyChains.push(dummy);
|
|
58
|
-
}
|
|
59
|
-
v = dummy;
|
|
60
|
-
}
|
|
61
|
-
g.setEdge(v, w, { weight: edgeLabel.weight }, name);
|
|
62
|
-
};
|
|
63
|
-
const undo = (g) => {
|
|
64
|
-
var _a;
|
|
65
|
-
(_a = g.graph().dummyChains) === null || _a === void 0 ? void 0 : _a.forEach((v) => {
|
|
66
|
-
let node = g.node(v);
|
|
67
|
-
const origLabel = node.edgeLabel;
|
|
68
|
-
let w;
|
|
69
|
-
if (node.edgeObj) {
|
|
70
|
-
g.setEdgeObj(node.edgeObj, origLabel);
|
|
71
|
-
}
|
|
72
|
-
let currentV = v;
|
|
73
|
-
while (node.dummy) {
|
|
74
|
-
w = g.successors(currentV)[0];
|
|
75
|
-
g.removeNode(currentV);
|
|
76
|
-
origLabel.points.push({ x: node.x, y: node.y });
|
|
77
|
-
if (node.dummy === "edge-label") {
|
|
78
|
-
origLabel.x = node.x;
|
|
79
|
-
origLabel.y = node.y;
|
|
80
|
-
origLabel.width = node.width;
|
|
81
|
-
origLabel.height = node.height;
|
|
82
|
-
}
|
|
83
|
-
currentV = w;
|
|
84
|
-
node = g.node(currentV);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
export default { run, undo };
|
|
89
|
-
//# sourceMappingURL=normalize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const addSubgraphConstraints = (g, cg, vs) => {
|
|
2
|
-
const prev = {};
|
|
3
|
-
let rootPrev;
|
|
4
|
-
vs === null || vs === void 0 ? void 0 : vs.forEach((v) => {
|
|
5
|
-
let child = g.parent(v);
|
|
6
|
-
let parent;
|
|
7
|
-
let prevChild;
|
|
8
|
-
while (child) {
|
|
9
|
-
parent = g.parent(child);
|
|
10
|
-
if (parent) {
|
|
11
|
-
prevChild = prev[parent];
|
|
12
|
-
prev[parent] = child;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
prevChild = rootPrev;
|
|
16
|
-
rootPrev = child;
|
|
17
|
-
}
|
|
18
|
-
if (prevChild && prevChild !== child) {
|
|
19
|
-
cg.setEdge(prevChild, child);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
child = parent;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
export default addSubgraphConstraints;
|
|
27
|
-
//# sourceMappingURL=add-subgraph-constraints.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-subgraph-constraints.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/add-subgraph-constraints.ts"],"names":[],"mappings":"AAEA,MAAM,sBAAsB,GAAG,CAAC,CAAQ,EAAE,EAAS,EAAE,EAAY,EAAE,EAAE;IACnE,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,QAAgB,CAAC;IAErB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC;QACX,IAAI,SAAS,CAAC;QACd,OAAO,KAAK,EAAE;YACZ,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,MAAM,EAAE;gBACV,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;aACtB;iBAAM;gBACL,SAAS,GAAG,QAAQ,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC;aAClB;YACD,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,EAAE;gBACpC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC7B,OAAO;aACR;YACD,KAAK,GAAG,MAAM,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Graph } from "../../graph";
|
|
2
|
-
declare const barycenter: (g: Graph, movable: string[]) => ({
|
|
3
|
-
v: string;
|
|
4
|
-
barycenter?: undefined;
|
|
5
|
-
weight?: undefined;
|
|
6
|
-
} | {
|
|
7
|
-
v: string;
|
|
8
|
-
barycenter: number;
|
|
9
|
-
weight: number;
|
|
10
|
-
})[];
|
|
11
|
-
export default barycenter;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const barycenter = (g, movable) => {
|
|
2
|
-
return movable.map((v) => {
|
|
3
|
-
const inV = g.inEdges(v);
|
|
4
|
-
if (!(inV === null || inV === void 0 ? void 0 : inV.length)) {
|
|
5
|
-
return { v };
|
|
6
|
-
}
|
|
7
|
-
{
|
|
8
|
-
const result = { sum: 0, weight: 0 };
|
|
9
|
-
inV === null || inV === void 0 ? void 0 : inV.forEach((e) => {
|
|
10
|
-
const edge = g.edge(e);
|
|
11
|
-
const nodeU = g.node(e.v);
|
|
12
|
-
result.sum += (edge.weight * nodeU.order);
|
|
13
|
-
result.weight += edge.weight;
|
|
14
|
-
});
|
|
15
|
-
return {
|
|
16
|
-
v,
|
|
17
|
-
barycenter: result.sum / result.weight,
|
|
18
|
-
weight: result.weight
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
export default barycenter;
|
|
24
|
-
//# sourceMappingURL=barycenter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"barycenter.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/barycenter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAC,CAAQ,EAAE,OAAiB,EAAE,EAAE;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,EAAE;YAChB,OAAO,EAAE,CAAC,EAAE,CAAC;SACd;QAAE;YACD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACrC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAO,GAAI,KAAK,CAAC,KAAgB,CAAC,CAAC;gBACvD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,CAAC;gBACD,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM;gBACtC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Graph } from "../../graph";
|
|
2
|
-
/*
|
|
3
|
-
* Constructs a graph that can be used to sort a layer of nodes. The graph will
|
|
4
|
-
* contain all base and subgraph nodes from the request layer in their original
|
|
5
|
-
* hierarchy and any edges that are incident on these nodes and are of the type
|
|
6
|
-
* requested by the "relationship" parameter.
|
|
7
|
-
*
|
|
8
|
-
* Nodes from the requested rank that do not have parents are assigned a root
|
|
9
|
-
* node in the output graph, which is set in the root graph attribute. This
|
|
10
|
-
* makes it easy to walk the hierarchy of movable nodes during ordering.
|
|
11
|
-
*
|
|
12
|
-
* Pre-conditions:
|
|
13
|
-
*
|
|
14
|
-
* 1. Input graph is a DAG
|
|
15
|
-
* 2. Base nodes in the input graph have a rank attribute
|
|
16
|
-
* 3. Subgraph nodes in the input graph has minRank and maxRank attributes
|
|
17
|
-
* 4. Edges have an assigned weight
|
|
18
|
-
*
|
|
19
|
-
* Post-conditions:
|
|
20
|
-
*
|
|
21
|
-
* 1. Output graph has all nodes in the movable rank with preserved
|
|
22
|
-
* hierarchy.
|
|
23
|
-
* 2. Root nodes in the movable layer are made children of the node
|
|
24
|
-
* indicated by the root attribute of the graph.
|
|
25
|
-
* 3. Non-movable nodes incident on movable nodes, selected by the
|
|
26
|
-
* relationship parameter, are included in the graph (without hierarchy).
|
|
27
|
-
* 4. Edges incident on movable nodes, selected by the relationship
|
|
28
|
-
* parameter, are added to the output graph.
|
|
29
|
-
* 5. The weights for copied edges are aggregated as need, since the output
|
|
30
|
-
* graph is not a multi-graph.
|
|
31
|
-
*/
|
|
32
|
-
const buildLayerGraph = (g, rank, relationship) => {
|
|
33
|
-
const root = createRootNode(g);
|
|
34
|
-
const result = new Graph({ compound: true })
|
|
35
|
-
.setGraph({ root })
|
|
36
|
-
.setDefaultNodeLabel((v) => {
|
|
37
|
-
return g.node(v);
|
|
38
|
-
});
|
|
39
|
-
g.nodes().forEach((v) => {
|
|
40
|
-
var _a;
|
|
41
|
-
const node = g.node(v);
|
|
42
|
-
const parent = g.parent(v);
|
|
43
|
-
if (node.rank === rank ||
|
|
44
|
-
(node.minRank <= rank && rank <= node.maxRank)) {
|
|
45
|
-
result.setNode(v);
|
|
46
|
-
result.setParent(v, parent || root);
|
|
47
|
-
// This assumes we have only short edges!
|
|
48
|
-
(_a = g[relationship](v)) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
|
|
49
|
-
const u = e.v === v ? e.w : e.v;
|
|
50
|
-
const edge = result.edgeFromArgs(u, v);
|
|
51
|
-
const weight = edge !== undefined ? edge.weight : 0;
|
|
52
|
-
result.setEdge(u, v, { weight: g.edge(e).weight + weight });
|
|
53
|
-
});
|
|
54
|
-
if (node.hasOwnProperty("minRank")) {
|
|
55
|
-
result.setNode(v, {
|
|
56
|
-
borderLeft: node.borderLeft[rank],
|
|
57
|
-
borderRight: node.borderRight[rank],
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return result;
|
|
63
|
-
};
|
|
64
|
-
const createRootNode = (g) => {
|
|
65
|
-
let v;
|
|
66
|
-
while (g.hasNode((v = `_root${Math.random()}`)))
|
|
67
|
-
;
|
|
68
|
-
return v;
|
|
69
|
-
};
|
|
70
|
-
export default buildLayerGraph;
|
|
71
|
-
//# sourceMappingURL=build-layer-graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-layer-graph.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/build-layer-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,eAAe,GAAG,CACtB,CAAQ,EACR,IAAY,EACZ,YAAoC,EACpC,EAAE;IACF,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;SAClB,mBAAmB,CAAC,CAAC,CAAS,EAAE,EAAE;QACjC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,IACE,IAAI,CAAC,IAAI,KAAK,IAAI;YAClB,CAAE,IAAI,CAAC,OAAkB,IAAI,IAAI,IAAI,IAAI,IAAK,IAAI,CAAC,OAAkB,CAAC,EACtE;YACA,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;YAEpC,yCAAyC;YACzC,MAAA,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAO,GAAG,MAAO,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;gBAClC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;oBAChB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;iBACpC,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;IAClC,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* A function that takes a layering (an array of layers, each with an array of
|
|
3
|
-
* ordererd nodes) and a graph and returns a weighted crossing count.
|
|
4
|
-
*
|
|
5
|
-
* Pre-conditions:
|
|
6
|
-
*
|
|
7
|
-
* 1. Input graph must be simple (not a multigraph), directed, and include
|
|
8
|
-
* only simple edges.
|
|
9
|
-
* 2. Edges in the input graph must have assigned weights.
|
|
10
|
-
*
|
|
11
|
-
* Post-conditions:
|
|
12
|
-
*
|
|
13
|
-
* 1. The graph and layering matrix are left unchanged.
|
|
14
|
-
*
|
|
15
|
-
* This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
|
|
16
|
-
*/
|
|
17
|
-
import { zipObject } from "../util";
|
|
18
|
-
const twoLayerCrossCount = (g, northLayer, southLayer) => {
|
|
19
|
-
// Sort all of the edges between the north and south layers by their position
|
|
20
|
-
// in the north layer and then the south. Map these edges to the position of
|
|
21
|
-
// their head in the south layer.
|
|
22
|
-
const southPos = zipObject(southLayer, southLayer.map((v, i) => i));
|
|
23
|
-
const unflat = northLayer.map((v) => {
|
|
24
|
-
var _a;
|
|
25
|
-
const unsort = (_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.map((e) => {
|
|
26
|
-
return { pos: southPos[e.w] || 0, weight: g.edge(e).weight };
|
|
27
|
-
});
|
|
28
|
-
return unsort === null || unsort === void 0 ? void 0 : unsort.sort((a, b) => a.pos - b.pos);
|
|
29
|
-
});
|
|
30
|
-
const southEntries = unflat.flat().filter((entry) => entry !== undefined);
|
|
31
|
-
// Build the accumulator tree
|
|
32
|
-
let firstIndex = 1;
|
|
33
|
-
while (firstIndex < southLayer.length)
|
|
34
|
-
firstIndex <<= 1;
|
|
35
|
-
const treeSize = 2 * firstIndex - 1;
|
|
36
|
-
firstIndex -= 1;
|
|
37
|
-
const tree = Array(treeSize).fill(0, 0, treeSize);
|
|
38
|
-
// Calculate the weighted crossings
|
|
39
|
-
let cc = 0;
|
|
40
|
-
southEntries === null || southEntries === void 0 ? void 0 : southEntries.forEach((entry) => {
|
|
41
|
-
if (entry) {
|
|
42
|
-
let index = entry.pos + firstIndex;
|
|
43
|
-
tree[index] += entry.weight;
|
|
44
|
-
let weightSum = 0;
|
|
45
|
-
while (index > 0) {
|
|
46
|
-
if (index % 2) {
|
|
47
|
-
weightSum += tree[index + 1];
|
|
48
|
-
}
|
|
49
|
-
index = (index - 1) >> 1;
|
|
50
|
-
tree[index] += entry.weight;
|
|
51
|
-
}
|
|
52
|
-
cc += entry.weight * weightSum;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return cc;
|
|
56
|
-
};
|
|
57
|
-
const crossCount = (g, layering) => {
|
|
58
|
-
let cc = 0;
|
|
59
|
-
for (let i = 1; i < (layering === null || layering === void 0 ? void 0 : layering.length); i += 1) {
|
|
60
|
-
cc += twoLayerCrossCount(g, layering[i - 1], layering[i]);
|
|
61
|
-
}
|
|
62
|
-
return cc;
|
|
63
|
-
};
|
|
64
|
-
export default crossCount;
|
|
65
|
-
//# sourceMappingURL=cross-count.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cross-count.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/cross-count.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import initOrder from "./init-order";
|
|
2
|
-
import crossCount from "./cross-count";
|
|
3
|
-
import buildLayerGraph from "./build-layer-graph";
|
|
4
|
-
import addSubgraphConstraints from "./add-subgraph-constraints";
|
|
5
|
-
import sortSubgraph from "./sort-subgraph";
|
|
6
|
-
import { clone } from "../../../../util";
|
|
7
|
-
import { Graph } from "../../graph";
|
|
8
|
-
import { buildLayerMatrix, maxRank } from "../util";
|
|
9
|
-
/*
|
|
10
|
-
* Applies heuristics to minimize edge crossings in the graph and sets the best
|
|
11
|
-
* order solution as an order attribute on each node.
|
|
12
|
-
*
|
|
13
|
-
* Pre-conditions:
|
|
14
|
-
*
|
|
15
|
-
* 1. Graph must be DAG
|
|
16
|
-
* 2. Graph nodes must be objects with a "rank" attribute
|
|
17
|
-
* 3. Graph edges must have the "weight" attribute
|
|
18
|
-
*
|
|
19
|
-
* Post-conditions:
|
|
20
|
-
*
|
|
21
|
-
* 1. Graph nodes will have an "order" attribute based on the results of the
|
|
22
|
-
* algorithm.
|
|
23
|
-
*/
|
|
24
|
-
const order = (g) => {
|
|
25
|
-
const mxRank = maxRank(g);
|
|
26
|
-
const range1 = [];
|
|
27
|
-
const range2 = [];
|
|
28
|
-
for (let i = 1; i < mxRank + 1; i++)
|
|
29
|
-
range1.push(i);
|
|
30
|
-
for (let i = mxRank - 1; i > -1; i--)
|
|
31
|
-
range2.push(i);
|
|
32
|
-
const downLayerGraphs = buildLayerGraphs(g, range1, "inEdges");
|
|
33
|
-
const upLayerGraphs = buildLayerGraphs(g, range2, "outEdges");
|
|
34
|
-
let layering = initOrder(g);
|
|
35
|
-
assignOrder(g, layering);
|
|
36
|
-
let bestCC = Number.POSITIVE_INFINITY;
|
|
37
|
-
let best;
|
|
38
|
-
for (let i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {
|
|
39
|
-
sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2);
|
|
40
|
-
layering = buildLayerMatrix(g);
|
|
41
|
-
const cc = crossCount(g, layering);
|
|
42
|
-
if (cc < bestCC) {
|
|
43
|
-
lastBest = 0;
|
|
44
|
-
best = clone(layering);
|
|
45
|
-
bestCC = cc;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// consider use previous result, maybe somewhat reduendant
|
|
49
|
-
layering = initOrder(g);
|
|
50
|
-
assignOrder(g, layering);
|
|
51
|
-
for (let i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {
|
|
52
|
-
sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2, true);
|
|
53
|
-
layering = buildLayerMatrix(g);
|
|
54
|
-
const cc = crossCount(g, layering);
|
|
55
|
-
if (cc < bestCC) {
|
|
56
|
-
lastBest = 0;
|
|
57
|
-
best = clone(layering);
|
|
58
|
-
bestCC = cc;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
assignOrder(g, best);
|
|
62
|
-
};
|
|
63
|
-
const buildLayerGraphs = (g, ranks, relationship) => {
|
|
64
|
-
return ranks.map((rank) => {
|
|
65
|
-
return buildLayerGraph(g, rank, relationship);
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
const sweepLayerGraphs = (layerGraphs, biasRight, usePrev) => {
|
|
69
|
-
const cg = new Graph();
|
|
70
|
-
layerGraphs === null || layerGraphs === void 0 ? void 0 : layerGraphs.forEach((lg) => {
|
|
71
|
-
var _a;
|
|
72
|
-
const root = lg.graph().root;
|
|
73
|
-
const sorted = sortSubgraph(lg, root, cg, biasRight, usePrev);
|
|
74
|
-
for (let i = 0; i < ((_a = sorted.vs) === null || _a === void 0 ? void 0 : _a.length) || 0; i++) {
|
|
75
|
-
const lnode = lg.node(sorted.vs[i]);
|
|
76
|
-
if (lnode) {
|
|
77
|
-
lnode.order = i;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
addSubgraphConstraints(lg, cg, sorted.vs);
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
const assignOrder = (g, layering) => {
|
|
84
|
-
layering === null || layering === void 0 ? void 0 : layering.forEach((layer) => {
|
|
85
|
-
layer === null || layer === void 0 ? void 0 : layer.forEach((v, i) => {
|
|
86
|
-
g.node(v).order = i;
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
export default order;
|
|
91
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 按照数据中的结果设置fixorder
|
|
3
|
-
*/
|
|
4
|
-
const initDataOrder = (g, nodeOrder) => {
|
|
5
|
-
const simpleNodes = g.nodes().filter((v) => {
|
|
6
|
-
var _a;
|
|
7
|
-
return !((_a = g.children(v)) === null || _a === void 0 ? void 0 : _a.length);
|
|
8
|
-
});
|
|
9
|
-
const ranks = simpleNodes.map((v) => g.node(v).rank);
|
|
10
|
-
const maxRank = Math.max(...ranks);
|
|
11
|
-
const layers = Array(maxRank + 1).fill([]);
|
|
12
|
-
nodeOrder === null || nodeOrder === void 0 ? void 0 : nodeOrder.forEach((n) => {
|
|
13
|
-
const node = g.node(n);
|
|
14
|
-
// 只考虑原有节点,dummy节点需要按照后续算法排出
|
|
15
|
-
if (!node || (node === null || node === void 0 ? void 0 : node.dummy)) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (!isNaN(node.rank)) {
|
|
19
|
-
node.fixorder = layers[node.rank].length; // 设置fixorder为当层的顺序
|
|
20
|
-
layers[node.rank].push(n);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
export default initDataOrder;
|
|
25
|
-
//# sourceMappingURL=init-data-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init-data-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-data-order.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,CAAQ,EAAE,SAAmB,EAAE,EAAE;IACtD,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;QACzC,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAA,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAe,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,4BAA4B;QAC5B,IAAI,CAAC,IAAI,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB;YACvE,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Assigns an initial order value for each node by performing a DFS search
|
|
3
|
-
* starting from nodes in the first rank. Nodes are assigned an order in their
|
|
4
|
-
* rank as they are first visited.
|
|
5
|
-
*
|
|
6
|
-
* This approach comes from Gansner, et al., "A Technique for Drawing Directed
|
|
7
|
-
* Graphs."
|
|
8
|
-
*
|
|
9
|
-
* Returns a layering matrix with an array per layer and each layer sorted by
|
|
10
|
-
* the order of its nodes.
|
|
11
|
-
*/
|
|
12
|
-
const initOrder = (g) => {
|
|
13
|
-
const visited = {};
|
|
14
|
-
const simpleNodes = g.nodes().filter((v) => {
|
|
15
|
-
var _a;
|
|
16
|
-
return !((_a = g.children(v)) === null || _a === void 0 ? void 0 : _a.length);
|
|
17
|
-
});
|
|
18
|
-
const nodeRanks = simpleNodes.map((v) => g.node(v).rank);
|
|
19
|
-
const maxRank = Math.max(...nodeRanks);
|
|
20
|
-
const layers = [];
|
|
21
|
-
for (let i = 0; i < maxRank + 1; i++) {
|
|
22
|
-
layers.push([]);
|
|
23
|
-
}
|
|
24
|
-
const dfs = (v) => {
|
|
25
|
-
var _a;
|
|
26
|
-
if (visited.hasOwnProperty(v))
|
|
27
|
-
return;
|
|
28
|
-
visited[v] = true;
|
|
29
|
-
const node = g.node(v);
|
|
30
|
-
if (!isNaN(node.rank)) {
|
|
31
|
-
layers[node.rank].push(v);
|
|
32
|
-
}
|
|
33
|
-
(_a = g.successors(v)) === null || _a === void 0 ? void 0 : _a.forEach((child) => dfs(child));
|
|
34
|
-
};
|
|
35
|
-
const orderedVs = simpleNodes.sort((a, b) => g.node(a).rank - g.node(b).rank);
|
|
36
|
-
// const orderedVs = _.sortBy(simpleNodes, function(v) { return g.node(v)!.rank; });
|
|
37
|
-
// 有fixOrder的,直接排序好放进去
|
|
38
|
-
const beforeSort = orderedVs.filter((n) => {
|
|
39
|
-
return g.node(n).fixorder !== undefined;
|
|
40
|
-
});
|
|
41
|
-
const fixOrderNodes = beforeSort.sort((a, b) => g.node(a).fixorder - g.node(b).fixorder);
|
|
42
|
-
fixOrderNodes === null || fixOrderNodes === void 0 ? void 0 : fixOrderNodes.forEach((n) => {
|
|
43
|
-
if (!isNaN(g.node(n).rank)) {
|
|
44
|
-
layers[g.node(n).rank].push(n);
|
|
45
|
-
}
|
|
46
|
-
visited[n] = true;
|
|
47
|
-
});
|
|
48
|
-
orderedVs === null || orderedVs === void 0 ? void 0 : orderedVs.forEach(dfs);
|
|
49
|
-
return layers;
|
|
50
|
-
};
|
|
51
|
-
export default initOrder;
|
|
52
|
-
//# sourceMappingURL=init-order.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-order.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG,CAAC,CAAQ,EAAE,EAAE;IAC7B,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;QACzC,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAA,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;;QACxB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO;QACtC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,MAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,CAAC,CAAC;IACxG,oFAAoF;IAEpF,sBAAsB;IACtB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,CAAC,CAAC;IACnH,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,EAAE;YACrC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Graph } from "../../graph";
|
|
2
|
-
export type ConflictEntry = {
|
|
3
|
-
i: number;
|
|
4
|
-
indegree?: number;
|
|
5
|
-
in?: ConflictEntry[];
|
|
6
|
-
out?: ConflictEntry[];
|
|
7
|
-
vs: string[];
|
|
8
|
-
barycenter?: number;
|
|
9
|
-
weight?: number;
|
|
10
|
-
merged?: boolean;
|
|
11
|
-
fixorder?: number;
|
|
12
|
-
order?: number;
|
|
13
|
-
};
|
|
14
|
-
declare const resolveConflicts: (entries: {
|
|
15
|
-
v: string;
|
|
16
|
-
barycenter?: number;
|
|
17
|
-
weight?: number;
|
|
18
|
-
}[], cg: Graph) => ConflictEntry[];
|
|
19
|
-
export default resolveConflicts;
|