Ian Gulliver
|
d07f631f10
|
Don't force apart nodes with the same label, even if not connected
|
2019-07-09 17:34:54 +00:00 |
|
Ian Gulliver
|
b44a9d40a7
|
Improve intersecting group behavior
|
2019-07-09 17:30:09 +00:00 |
|
Ian Gulliver
|
6e82a8a78b
|
Group background
|
2019-07-09 16:51:26 +00:00 |
|
Ian Gulliver
|
236585f3fb
|
Lines from different pairs running together is really bad
|
2019-07-09 16:44:07 +00:00 |
|
Ian Gulliver
|
042fa66a1d
|
Avoid group label text with lines
|
2019-07-09 16:43:33 +00:00 |
|
Ian Gulliver
|
130a208bfc
|
Swap light and dark backgrounds to add offset by preserve contrast
|
2019-07-09 16:30:42 +00:00 |
|
Ian Gulliver
|
898e234171
|
Slight background color for nodes
|
2019-07-09 06:08:50 +00:00 |
|
Ian Gulliver
|
97ada9c2ff
|
Fix diagonal cost
|
2019-07-09 06:01:10 +00:00 |
|
Ian Gulliver
|
3f015a3540
|
Encourage link merging
|
2019-07-09 05:55:04 +00:00 |
|
Ian Gulliver
|
cda3cad6f9
|
Try to preserve pagerank left-to-right flow
|
2019-07-09 05:36:32 +00:00 |
|
Ian Gulliver
|
d4f90eb91d
|
Allow lines to cross but not travel together
|
2019-07-09 05:24:11 +00:00 |
|
Ian Gulliver
|
91afac2ecc
|
Allow lines to or from the same node to overlap
|
2019-07-09 04:57:52 +00:00 |
|
Ian Gulliver
|
81540590ef
|
Remove some cruft weights that aren't providing value
|
2019-07-09 04:29:02 +00:00 |
|
Ian Gulliver
|
a68471d1da
|
Draw directional arrows
|
2019-07-09 04:19:09 +00:00 |
|
Ian Gulliver
|
311c32b2c5
|
Try to stack like nodes
|
2019-07-08 03:00:31 +00:00 |
|
Ian Gulliver
|
83ce35c2dd
|
Nevermind, helper function
|
2019-07-08 02:41:27 +00:00 |
|
Ian Gulliver
|
df811ec7fa
|
Pass vector to distanceToWeight, remove some useless affinities
|
2019-07-08 02:40:43 +00:00 |
|
Ian Gulliver
|
bb45fba08f
|
Minimum graph size, center smaller graph
|
2019-07-08 02:35:40 +00:00 |
|
Ian Gulliver
|
d2ec4d45a2
|
Add TODO
|
2019-07-08 02:24:23 +00:00 |
|
Ian Gulliver
|
abc4b2ce0d
|
Plan shortest links first
|
2019-07-07 23:49:42 +00:00 |
|
Ian Gulliver
|
d3374af802
|
Add cost to diagonals, actually count cost for the midpoint
|
2019-07-07 23:39:29 +00:00 |
|
Ian Gulliver
|
119f879479
|
Very fast bidirectional search for links
|
2019-07-07 22:47:23 +00:00 |
|
Ian Gulliver
|
6790bf06fd
|
Just stop when we reach the goal, since we always find a min-cost path
|
2019-07-07 22:32:35 +00:00 |
|
Ian Gulliver
|
d0856de6ef
|
Remove getDirect()
|
2019-07-07 22:30:49 +00:00 |
|
Ian Gulliver
|
975f40b1c4
|
Switch from sorted array to minheap
|
2019-07-07 22:28:38 +00:00 |
|
Ian Gulliver
|
39a3d20e73
|
Util cleanup
|
2019-07-07 21:47:16 +00:00 |
|
Ian Gulliver
|
7a2ac17344
|
Simulated minheap
|
2019-07-07 21:45:15 +00:00 |
|
Ian Gulliver
|
9d84177b78
|
Fix todo
|
2019-07-07 21:36:39 +00:00 |
|
Ian Gulliver
|
f6dba7bfa7
|
include lines when finding total size
|
2019-07-07 21:31:59 +00:00 |
|
Ian Gulliver
|
ab28ef5909
|
Penalize link lines crossing over each other
|
2019-07-07 21:27:55 +00:00 |
|
Ian Gulliver
|
d53e3260a8
|
Add LayoutLink, start with BFS for line drawing
|
2019-07-06 20:59:27 +00:00 |
|
Ian Gulliver
|
70b0e88f0d
|
Short-circuit layout evaluation
|
2019-07-05 16:41:12 +00:00 |
|
Ian Gulliver
|
8857a7dfe5
|
Simplify nodesByPos fixup
|
2019-07-05 16:23:05 +00:00 |
|
Ian Gulliver
|
29babaf1e0
|
Create StringMap
|
2019-07-05 16:18:22 +00:00 |
|
Ian Gulliver
|
396436aa01
|
Make LayoutGroup.moveBy() linear time
|
2019-07-05 06:10:41 +00:00 |
|
Ian Gulliver
|
9331f7b101
|
Don't build an unused map
|
2019-07-05 05:51:45 +00:00 |
|
Ian Gulliver
|
37002541d6
|
Avoid nodesByPos corruption during LayoutGroup.restorePos() due to ordering
|
2019-07-05 05:50:03 +00:00 |
|
Ian Gulliver
|
e26463047a
|
Working, basic line drawing
|
2019-07-05 04:59:04 +00:00 |
|
Ian Gulliver
|
6543e36378
|
Contained, auto-resize group labels
|
2019-07-05 04:09:24 +00:00 |
|
Ian Gulliver
|
b4a072c8da
|
Disable some useless interactions
|
2019-07-04 07:02:05 +00:00 |
|
Ian Gulliver
|
94f28f00cd
|
Tweaks to group border margin
|
2019-07-04 06:48:43 +00:00 |
|
Ian Gulliver
|
b86994093b
|
Draw group borders
|
2019-07-04 06:42:05 +00:00 |
|
Ian Gulliver
|
9a4e90de51
|
Drawing protocol for line and group
|
2019-07-04 06:15:39 +00:00 |
|
Ian Gulliver
|
db86cb83d5
|
Switch to CSS variables for line color
|
2019-07-04 05:46:00 +00:00 |
|
Ian Gulliver
|
353a209ea1
|
Fix addLine()
|
2019-07-04 04:40:46 +00:00 |
|
Ian Gulliver
|
22960e57b0
|
Remove broken graphviz export
|
2019-07-03 22:27:40 +00:00 |
|
Ian Gulliver
|
5591ec6f54
|
Worker pool instead of a single worker
|
2019-07-03 22:23:41 +00:00 |
|
Ian Gulliver
|
3d0d0d5fd0
|
render in worker thread
|
2019-07-03 22:10:36 +00:00 |
|
Ian Gulliver
|
27411817b1
|
Optimize setTension() CPU usage
|
2019-07-03 20:00:05 +00:00 |
|
Ian Gulliver
|
b066001423
|
Fix node drops during LayoutGroup movement
|
2019-07-03 19:33:10 +00:00 |
|
Ian Gulliver
|
0f73c595f4
|
Avoid useless layout on blur
|
2019-07-03 18:38:08 +00:00 |
|
Ian Gulliver
|
b4316a1eb5
|
Actually draw!
|
2019-07-03 18:35:24 +00:00 |
|
Ian Gulliver
|
dcc8981693
|
Refactor checkin: drawing (but not iterating?)
|
2019-07-03 18:27:32 +00:00 |
|
Ian Gulliver
|
b91b92eef3
|
Broken, but checkpoint editor/graph/layout split
|
2019-07-03 18:13:11 +00:00 |
|
Ian Gulliver
|
4cc0b09d9b
|
Layout checkout, fix TODO in Collection
|
2019-07-03 03:36:48 +00:00 |
|
Ian Gulliver
|
ccfec376ce
|
Pull out the temporary render hook
|
2019-07-03 03:24:15 +00:00 |
|
Ian Gulliver
|
4855cdb626
|
Split classes out of Graph.js
|
2019-07-03 03:22:42 +00:00 |
|
Ian Gulliver
|
df432eeeba
|
Move (copy, so far) all the digraph code in Graph
|
2019-07-03 03:19:23 +00:00 |
|
Ian Gulliver
|
0daf666fee
|
Redraw graph on all changes
|
2019-07-03 01:51:13 +00:00 |
|
Ian Gulliver
|
5824f516b0
|
Split into file-per-class
|
2019-07-03 01:42:17 +00:00 |
|
Ian Gulliver
|
275c64c00b
|
Add SVG-based line drawing
|
2019-07-02 07:05:22 +00:00 |
|
Ian Gulliver
|
fbbe368d6b
|
Allow subgraphs to move as a unit
|
2019-07-02 03:21:26 +00:00 |
|
Ian Gulliver
|
cafdad54ef
|
Allow moving full groups
|
2019-07-02 02:52:06 +00:00 |
|
Ian Gulliver
|
4b559a72fc
|
Make iterate() work entirely in terms of offsets
|
2019-07-02 00:50:29 +00:00 |
|
Ian Gulliver
|
8ad5ad7a5b
|
Start moving functions into Node
|
2019-07-02 00:23:06 +00:00 |
|
Ian Gulliver
|
e685b85b18
|
Only iterate/reorigin on structure changes
|
2019-07-01 23:02:45 +00:00 |
|
Ian Gulliver
|
067b9c39fe
|
Add at least one grid space for each link
|
2019-07-01 22:53:03 +00:00 |
|
Ian Gulliver
|
c9c5355b58
|
Switch to absolute total tension, rather than sum of vectors.
|
2019-07-01 22:47:23 +00:00 |
|
Ian Gulliver
|
8b29a656bc
|
Larger node font size
|
2019-07-01 21:35:22 +00:00 |
|
Ian Gulliver
|
42a024da01
|
Center grid
|
2019-07-01 21:25:38 +00:00 |
|
Ian Gulliver
|
21dc0b17be
|
Fix initial positions for groups
|
2019-07-01 21:18:26 +00:00 |
|
Ian Gulliver
|
1dd861b5f7
|
Only recompute the graph on real structure changes
|
2019-07-01 21:09:27 +00:00 |
|
Ian Gulliver
|
e1b654e16c
|
Fix resize, centering
|
2019-07-01 20:57:22 +00:00 |
|
Ian Gulliver
|
207a9f7f8f
|
Draw boxes, set font size
|
2019-07-01 20:53:20 +00:00 |
|
Ian Gulliver
|
ae771b554b
|
vi keys, link moves to "i"
|
2019-07-01 20:29:34 +00:00 |
|
Ian Gulliver
|
a0bfb28106
|
Visual overhaul, dark mode only
|
2019-07-01 20:27:51 +00:00 |
|
Ian Gulliver
|
efdf06c2fc
|
Initial positions consider subgraphs, link weighting is directional
|
2019-07-01 17:16:29 +00:00 |
|
Ian Gulliver
|
d448fa47ac
|
Revert "Switch back to local weighting, so we can do direction weights"
This reverts commit e284b76718.
|
2019-07-01 16:24:46 +00:00 |
|
Ian Gulliver
|
e284b76718
|
Switch back to local weighting, so we can do direction weights
|
2019-07-01 16:11:04 +00:00 |
|
Ian Gulliver
|
9f71a996cf
|
Separate subgraphs. Be more aggressive with offsets to try.
|
2019-07-01 05:24:40 +00:00 |
|
Ian Gulliver
|
ee6ad975bd
|
Bucket by subgraph
|
2019-07-01 05:10:34 +00:00 |
|
Ian Gulliver
|
8ab4b35de8
|
Make affinity directional again, balance test graph perfectly with constant
twiddling
|
2019-07-01 04:37:32 +00:00 |
|
Ian Gulliver
|
bb3e2ab577
|
Use total system tension, fix calculation of distance to weight
|
2019-07-01 03:57:48 +00:00 |
|
Ian Gulliver
|
2fb473e396
|
Groups repel non-members
|
2019-07-01 00:45:40 +00:00 |
|
Ian Gulliver
|
c23aa378a0
|
Make distance -> weight conversion modular
|
2019-06-30 04:36:00 +00:00 |
|
Ian Gulliver
|
8c785a3c7a
|
Working iterative spring model
|
2019-06-30 02:17:02 +00:00 |
|
Ian Gulliver
|
40d3dddaae
|
Bit more modularization
|
2019-06-28 17:12:44 +00:00 |
|
Ian Gulliver
|
8463ab0287
|
Affinity setup and force vector calculation
|
2019-06-27 04:37:54 +00:00 |
|
Ian Gulliver
|
6c3f2aa09c
|
Fix typo
|
2019-06-26 19:39:32 +00:00 |
|
Ian Gulliver
|
c8cf54350d
|
Draw nodes on the grid
|
2019-06-26 18:27:52 +00:00 |
|
Ian Gulliver
|
8a458cc4ba
|
Build a grid with proper rows/columns and some aspect ratio sanity
|
2019-06-26 18:18:21 +00:00 |
|
Ian Gulliver
|
43310a1357
|
Clean up use of "targets"
|
2019-06-26 16:50:03 +00:00 |
|
Ian Gulliver
|
f6085d0131
|
Make scroll behavior way more idiomatic
|
2019-06-26 16:46:01 +00:00 |
|
Ian Gulliver
|
d6e34a9506
|
Move graph to [0,0] origin
|
2019-06-26 16:44:12 +00:00 |
|
Ian Gulliver
|
d1cac0f3af
|
Set initial node positions
|
2019-06-26 04:44:23 +00:00 |
|
Ian Gulliver
|
64d60ac5c8
|
Less padding, less width, more outline
|
2019-06-26 04:25:49 +00:00 |
|
Ian Gulliver
|
f063d527e2
|
Page rank for nodes, to be used for main-axis layout.
|
2019-06-25 23:34:18 +00:00 |
|
Ian Gulliver
|
c1c0473e6a
|
Working graphviz export as a handy reference
|
2019-06-25 20:23:41 +00:00 |
|
Ian Gulliver
|
59ffc10f5b
|
Start of graphviz export
|
2019-06-25 19:43:32 +00:00 |
|
Ian Gulliver
|
112a493d14
|
Don't draw focus based on missing group/link labels.
|
2019-06-25 19:06:00 +00:00 |
|