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 |
|
Ian Gulliver
|
6021c1b5cc
|
Don't proceed to next node on escape
|
2019-06-25 17:57:46 +00:00 |
|
Ian Gulliver
|
dc525cb638
|
Persistence across reloads
|
2019-06-25 17:48:40 +00:00 |
|
Ian Gulliver
|
b9ebe0de16
|
Remove link manifest on nodes
|
2019-06-25 17:12:12 +00:00 |
|
Ian Gulliver
|
7cbe735a2a
|
Don't let groups or links be targets
|
2019-06-23 07:29:48 +00:00 |
|
Ian Gulliver
|
94bdfd88a7
|
Node list sorted by outgoing link count
|
2019-06-23 06:27:46 +00:00 |
|
Ian Gulliver
|
39f6776a9b
|
Track links
|
2019-06-23 06:00:20 +00:00 |
|
Ian Gulliver
|
7e30b3ef1e
|
Automatically move focus to empty next sibling, mostly for Link
|
2019-06-23 05:53:25 +00:00 |
|
Ian Gulliver
|
e539fee975
|
Fix focus after last item is deleted
|
2019-06-23 05:49:57 +00:00 |
|
Ian Gulliver
|
00da4bc550
|
Remove soft nodes from the graph
|
2019-06-23 05:48:46 +00:00 |
|
Ian Gulliver
|
1742071362
|
Autocomplete options based on other target names
|
2019-06-23 05:27:20 +00:00 |
|
Ian Gulliver
|
271d999f0e
|
s/tree/graph/
|
2019-06-22 06:51:07 +00:00 |
|
Ian Gulliver
|
9ce889d6bb
|
Group and Link tree building support
|
2019-06-22 06:46:27 +00:00 |
|
Ian Gulliver
|
adf440a8b7
|
Start of tree construction
|
2019-06-22 06:36:08 +00:00 |
|
Ian Gulliver
|
0b8f6866c8
|
Class tweaks for convenience
|
2019-06-21 20:26:41 +00:00 |
|
Ian Gulliver
|
d35d877a00
|
Remote right/left arrow input field behavior, so it consistently moves between
levels
|
2019-06-21 20:15:18 +00:00 |
|
Ian Gulliver
|
06b246779a
|
Style
|
2019-06-21 19:11:37 +00:00 |
|
Ian Gulliver
|
62383f2aa9
|
Add Link, stop auto-remove when input empty, merge NodeList and Editor
|
2019-06-21 18:15:44 +00:00 |
|
Ian Gulliver
|
055c665178
|
Re-implement delete protection with a nod to future link elements.
|
2019-06-21 00:13:39 +00:00 |
|
Ian Gulliver
|
9575c8a203
|
No empty groups
|
2019-06-21 00:08:18 +00:00 |
|
Ian Gulliver
|
4464abb573
|
Move focus in and out of sublists
|
2019-06-20 23:54:14 +00:00 |
|
Ian Gulliver
|
15711c4208
|
Subtle behavior editing group name
|
2019-06-20 23:36:43 +00:00 |
|
Ian Gulliver
|
e38fcebfba
|
More sensible cursor
|
2019-06-20 23:35:13 +00:00 |
|
Ian Gulliver
|
2b65688277
|
Fix focus hijacking issue in nested List
|
2019-06-20 23:33:07 +00:00 |
|