Ian Gulliver
|
04ec47e393
|
Rip out all the graphviz stuff
|
2019-07-10 20:34:44 +00:00 |
|
Ian Gulliver
|
bc990c48d9
|
Always move key events back to the editor
|
2019-07-10 20:21:46 +00:00 |
|
Ian Gulliver
|
78436cd98c
|
Link labels
|
2019-07-10 20:03:05 +00:00 |
|
Ian Gulliver
|
245bbb86f4
|
Plumb link labels through to layout
|
2019-07-10 17:17:17 +00:00 |
|
Ian Gulliver
|
75bc85919c
|
Don't avoid drawing lines over groups that we're coming to or from.
|
2019-07-10 08:27:07 +00:00 |
|
Ian Gulliver
|
01542d67f6
|
Working label as an editor entry type
|
2019-07-10 08:14:53 +00:00 |
|
Ian Gulliver
|
56ff0d1201
|
Add EditorLabel
|
2019-07-10 04:09:54 +00:00 |
|
Ian Gulliver
|
9202ab2001
|
Get initial focus to input for link and gruop
|
2019-07-09 20:44:22 +00:00 |
|
Ian Gulliver
|
b0bc1e5f3b
|
Fix overlapping groups
|
2019-07-09 20:34:36 +00:00 |
|
Ian Gulliver
|
b7d51417d6
|
Clean up initial positioning code
|
2019-07-09 18:45:48 +00:00 |
|
Ian Gulliver
|
15c55d0b8d
|
More compact editor layout using symbols
|
2019-07-09 17:57:35 +00:00 |
|
Ian Gulliver
|
25545e51ab
|
Clean up group boundaries
|
2019-07-09 17:42:15 +00:00 |
|
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 |
|