From 9036de536ba25469e9b0518ef62b02e06cf480be Mon Sep 17 00:00:00 2001 From: ferricles Date: Wed, 15 Jun 2022 22:03:20 -0700 Subject: [PATCH] modified atree graphics, added full assassin ability tree --- css/sq2bs.css | 6 +- js/atree_constants.js | 1148 ++++++++++++++++++++++++++++++++- js/sq2bs.js | 2 + media/atree/connect-3.png | Bin 7142 -> 0 bytes media/atree/connect_angle.png | Bin 1066 -> 1081 bytes media/atree/connect_line.png | Bin 1184 -> 1270 bytes media/atree/connect_t.png | Bin 718 -> 694 bytes media/atree/node-blocked.png | Bin 0 -> 2416 bytes media/atree/node-selected.png | Bin 0 -> 2418 bytes media/atree/node.png | Bin 5645 -> 2806 bytes 10 files changed, 1150 insertions(+), 6 deletions(-) delete mode 100644 media/atree/connect-3.png create mode 100644 media/atree/node-blocked.png create mode 100644 media/atree/node-selected.png diff --git a/css/sq2bs.css b/css/sq2bs.css index 27fb6dd..0532fc0 100644 --- a/css/sq2bs.css +++ b/css/sq2bs.css @@ -474,11 +474,7 @@ a:hover { transform: rotate(270deg); } -/* atree hover */ -.atree-selected { - border: 5px solid blue; - border-radius: 50%; -} + .hide-scroll { -ms-overflow-style: none; /* Internet Explorer 10+ */ diff --git a/js/atree_constants.js b/js/atree_constants.js index 94dea24..8ed02d6 100644 --- a/js/atree_constants.js +++ b/js/atree_constants.js @@ -88,7 +88,7 @@ const atrees = "image": "../media/atree/connect_line.png", "connector": true, "rotate": 90, - "row": 5, + "row": 6, "col": 5 }, { @@ -99,6 +99,1152 @@ const atrees = "row": 6, "col": 6 }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 7, + "col": 2 + }, + { + "title": "Smoke Bomb", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 8, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 7, + "col": 6 + }, + { + "title": "Multihit", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 8, + "col": 6 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 8, + "col": 3 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 8, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 8, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 8, + "col": 1 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 8, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 9, + "col": 0 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 10, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 9, + "col": 2 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 10, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 9, + "col": 6 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 10, + "col": 6 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 8, + "col": 7 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 8, + "col": 8 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 9, + "col": 8 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 10, + "col": 8 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 10, + "col": 1 + }, + { + "title": "Backstab", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 11, + "col": 1 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 9, + "col": 4 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 90, + "row": 10, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 10, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 11, + "col": 4 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 10, + "col": 7 + }, + { + "title": "Fatality", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 11, + "col": 7 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 11, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 12, + "col": 0 + }, + { + "title": "Violent Vortex", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 13, + "col": 0 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 11, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 12, + "col": 2 + }, + { + "title": "Vanish", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 13, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 12, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 13, + "col": 3 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 13, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 13, + "col": 6 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 14, + "col": 2 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 15, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 14, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 15, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 12, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 13, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 14, + "col": 7 + }, + { + "title": "Lacerate", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 15, + "col": 7 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 15, + "col": 1 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 16, + "col": 1 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 15, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 16, + "col": 5 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 15, + "col": 8 + }, + { + "title": "Wall of Smoke", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 16, + "col": 8 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 16, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 17, + "col": 0 + }, + { + "title": "Silent Killer", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 18, + "col": 0 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 16, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 17, + "col": 2 + }, + { + "title": "Shadow Travel", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 18, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 17, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 18, + "col": 5 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 17, + "col": 8 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 18, + "col": 8 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 18, + "col": 4 + }, + { + "title": "Exploding Clones", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 19, + "col": 4 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 18, + "col": 3 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 19, + "col": 0 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 20, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 19, + "col": 3 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 20, + "col": 3 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 18, + "col": 6 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 18, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 19, + "col": 7 + }, + { + "title": "Weightless", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 20, + "col": 7 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 20, + "col": 1 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 20, + "col": 2 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 21, + "col": 1 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 20, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 21, + "col": 4 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 20, + "col": 6 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 21, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 21, + "col": 6 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 20, + "col": 8 + }, + { + "title": "Dancing Blade", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 21, + "col": 8 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 21, + "col": 0 + }, + { + "title": "Spin Attack Damage", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 22, + "col": 0 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 21, + "col": 3 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 22, + "col": 3 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 22, + "col": 1 + }, + { + "title": "Marked", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 23, + "col": 1 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 22, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 23, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 23, + "col": 5 + }, + { + "title": "Shurikens", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 23, + "col": 6 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 23, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 22, + "col": 8 + }, + { + "title": "Far Reach", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 23, + "col": 8 + }, + { + "title": "Stronger Multihit", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 24, + "col": 5 + }, + { + "title": "Psithurism", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 24, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 24, + "col": 1 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 25, + "col": 1 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 25, + "col": 3 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 24, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 25, + "col": 4 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 25, + "col": 5 + }, + { + "title": "Choke Bomb", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 25, + "col": 6 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 25, + "col": 7 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 25, + "col": 8 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 26, + "col": 5 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 25, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 26, + "col": 0 + }, + { + "title": "Death Magnet", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 27, + "col": 0 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 25, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 26, + "col": 2 + }, + { + "title": "Cheaper Multihit", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 27, + "col": 2 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 26, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 27, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 26, + "col": 7 + }, + { + "title": "Parry", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 27, + "col": 7 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 27, + "col": 1 + }, + { + "title": "Fatal Spin", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 28, + "col": 1 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 27, + "col": 3 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 28, + "col": 3 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 27, + "col": 6 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 28, + "col": 6 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 27, + "col": 8 + }, + { + "title": "Wall Jump", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 28, + "col": 8 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 28, + "col": 0 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 29, + "col": 0 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 29, + "col": 1 + }, + { + "title": "Harvester", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 30, + "col": 1 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 28, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 29, + "col": 4 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 30, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 28, + "col": 7 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 29, + "col": 7 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 30, + "col": 7 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 30, + "col": 2 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 31, + "col": 2 + }, + { + "image": "../media/atree/connect_t.png", + "connector": true, + "rotate": 180, + "row": 30, + "col": 5 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 90, + "row": 30, + "col": 6 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 31, + "col": 5 + }, + { + "title": "Ricochet", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 31, + "col": 8 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 31, + "col": 1 + }, + { + "title": "Satsujin", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 32, + "col": 1 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 31, + "col": 4 + }, + { + "title": "Forbidden Art", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 32, + "col": 4 + }, + { + "image": "../media/atree/connect_line.png", + "connector": true, + "rotate": 0, + "row": 31, + "col": 7 + }, + { + "title": "Jasmine Bloom", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 32, + "col": 7 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 180, + "row": 32, + "col": 0 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 33, + "col": 0 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 32, + "col": 2 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 33, + "col": 2 + }, + { + "image": "../media/atree/connect_angle.png", + "connector": true, + "rotate": 270, + "row": 32, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 33, + "col": 5 + }, + { + "title": "Text", + "desc": "desc", + "image": "../media/atree/node.png", + "connector": false, + "row": 33, + "col": 8 + }, ], "Warrior": [], "Mage": [], diff --git a/js/sq2bs.js b/js/sq2bs.js index 67bbef3..a1de216 100644 --- a/js/sq2bs.js +++ b/js/sq2bs.js @@ -621,10 +621,12 @@ function construct_AT(elem, tree) { if (tooltip.style.display == "block") { tooltip.style.display = "none"; this.classList.remove("atree-selected"); + this.style.backgroundImage = 'url("../media/atree/node.png")'; } else { tooltip.style.display = "block"; this.classList.add("atree-selected"); + this.style.backgroundImage = 'url("../media/atree/node-selected.png")'; } }); }; diff --git a/media/atree/connect-3.png b/media/atree/connect-3.png deleted file mode 100644 index 736036614e8594d8f6ea71c1300c387407a62b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7142 zcmeHMc{J2*`yXqvL?MI97?N$w3IQI;$v z(I$FQM2m>Dh-OevDV5)M)YEd__x+vIbAIpduVy)Of3M|pUDxNn?)%*LnRItIM;S>K zNeBcYOlW&PaiRf`{wE+TTSO*Got3( z^{#krfg3bEJ3mqodc17paQNJbQ;dt{f5mNk|74EW+Ok!=ZYgb0Eq}+G=D~L{9pSAb zyXoS(PdGh%wZ6J@WfszG7X{ZN@lsgvPt)(`jBKlPuDUL40ewPm^g+w9tE z^uWC$E6Vnd#n68F_M6c5%*H)@sI1uGIBtfFlJc(xSPxHO{O2g};%{ zZO@dd*JmobJo^>LaK~z@G7>|#k#!sB!?JJL-k%La+Os>q0F~3XxQjqC|!g|;7~TQ10!r>s8^KX1#RHlvS+Mv zU42uTu%N>p6NrZ@@E*Cc`qx9PDYaDXm`>J6V-C(ZoVtcxz&P zC`Wvc1t;IbF%RY;XQe5%K1Y}KVX^K_W9qZc+HPDCH&mrqYxT_={&k@(hojp*Onedw z{cMfUKkBl#x^l$eH6XzlNs=~#EZ;I?eNaYN4hN-dp4Jhw{S);tG~U-eK9^jWZhARB z=z!(k4^q(vlW8iA((%b&dD_mHx`#^HOTBqzQ;?Z^dZ{kV7+TEskM*t z`-`o5R5;=}t3qbt(>Lxr*gmE1tG(EFoVZtbTp43RbMrssTwhmNsAyJ~uKh4r_3h?7 z~ekizb$qz-O>qX?JVkk)mVI^Ns-MklP&6Fv4uvo>~arQ(w68+ZH^KOs3~C;kej9+Y@h3 z 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 TO{u6v2>5cgce6XaHi-K_$P=Ah diff --git a/media/atree/connect_angle.png b/media/atree/connect_angle.png index 3ea2c1650b9085635c3fd31d4868c18582e7df5f..46c5e81aa19b176dafaba4aa04be9b0359cc4982 100644 GIT binary patch delta 562 zcmZ3*v6ExNX2yD^0#6smkcv5PZ*1gsG8AAvX#DH%_8cyTMvn~%=}zwYQFHgS#c!0C z`*!%UVfNbP=kMP;n4Y(so#8nLLklP6sGf2oC^Dg*8lE801+m7P{reft6)-x?V5kRT z5W2B-yS>ATB9IWx(T!O%YpYo5v**ek$mY^x;1GtO$s3uICm&#D6K^PgcP5cbcWP+v QJO&`}boFyt=akR{0C4?~VE_OC delta 550 zcmdnVv5I5EX2yC3wj^(N7l!{JxM1({$qWn(oCO|{#S9F3${@^GvDCf{D9B#o>Fdh= zjE#p~P~SvC;5AT4vcxr_#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`Pn>~)iOJK& zF{I+w+iM4T8x#aw5B4wQSiRX|^g zE}peR2rGbfdS zL1SX=L|c!;4l+mMgSRS)vRijpq-4z1>FBcZ675b{xJ5Lo)L`cq?pY=(ntFXr*#{5y zA6?bly?Gtqx+aAmjE`PCS@J?j^`E}xmX41PcF4bfXZ!9RqtoI;A)B*h0!&YP98FF# z+pfhHcd=RF&kRSGq-FCw^wS<#?tAy}@$1+r>6P<;7k|;NoXlu9v7+x~o9iA&o4uJY z=X~#UUZbLU?N9FJ%3Rg6rL&Yfk~uk56rJ37Q$rFIy;i$*b&9+_Zu94GpS`Ev z%$QVzBAo?XqLUu8|8Ks3cUJ33PIFBO=3VhQzm=I-${N$|Zrk6VyStL<$NWa^wQtv( zHQe;S^g36!hJ`1GS^Rpg?>%O{@`i=#u|_KHpDv4Vu|D|Qvrm(q=N?mSc3%G4+BtR% zlCQFUvRPQLxOGq2`|jhrd*|-`v%UQ4J^RYoqP;J+FVkaSVAl0?aSW-L^Y+R@!3GBb z7RSCn#dS;!%@4b08@dqXV?!=X_$8UiCQ1oT|4 WvN7~ca0~>NXAGXMelF{r5}E+Vf})lH literal 1184 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$5xX)7d$|)7e>}peR2rGbfdS zL1SX=L|c!;4l+mMgSRS)vRijpq-4z1>FBcZ675b{xJ5Lo)L`cq?pY=(ntFXr*#{5y zA6?bly?Gtqx+aAmjE`PCS@J?j^`E}xmX41PcF4bfXZ!9RqtoI;A)B*h0!&YP98FF# z+pfhHcd=RF&kRSGq-FCw^wS<#?tAy}@$1+r>6P<;7k|;NoXlu9v7+x~o9iA&o4uJY z=X~#UUZbLU?N9FJ%3Rg6rL&Yfk~uk56rJ37Q$rFIy;i$*b&9+_Zu94GpS`Ev z%$QVzBAo?XqLUu8|8Ks3cUJ33PIFBO=3VhQzm=I-${N$|Zrk6VyStL<$NWa^wQtv( zHQe;S^g36!hJ`1GS^Rpg?>%O{@`i=#u|_KHpDv4Vu|D|Qvrm(q=N?mSc3%G4+BtR% zlCQFUvRPQLxOGq2`|jhrd*|-`v%UQ4J^RYoqP;J+FVh1?3tN)6y9>jA5L~c#`DCC7 zXMsm#F$061G6*wPEVVBK3bL1Y`ns||W8+~LwAg-nst!;{vcxr_#5q4VH#M(>!MP|k zu_QG`p**uBL&4qCHz2%`Pn>~)slwC6F{I+w+iMqj83cG797UaHoGVzinbrBn#T~O3 zWIlBj*>r<5oiDvQdMlFv!vp8DTtc&7&y92|=eK8Y0Hqxk1_4qT?mj0a*K_z@Z2X*f@bh^^>bP0l+XkK2ay&| diff --git a/media/atree/connect_t.png b/media/atree/connect_t.png index 8aa4f12c0fc15a07c8cc5e033756bc830c956e71..14d3c16b69250a233cd1de4ca7f2a0b44f98b040 100644 GIT binary patch literal 694 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;3=B*Ko-U3d z6?5L+Fyv!0Y`KQ`W_}XlrNx5dCd*WBNtI?6u1u`@cU}owr<^ z;hZ1?hwvyOJp^{2KV!F-rT+BoUqyOIx}&S}bP0l+XkKd~%Vu diff --git a/media/atree/node-blocked.png b/media/atree/node-blocked.png new file mode 100644 index 0000000000000000000000000000000000000000..42892b60f352bc10fd6c924985cdbaf9472d12ba GIT binary patch literal 2416 zcmZ`*dpy(YAAi2Hu`$f0QYoB%E~BhYC0cEB8AWWltU?+^Ds_s~(%6PbDRmNEu=)wd zWvE}mDV7FzSkvc0DjyfThIeaUr~*^eV*JC@xpVw0!4ABv zW&2KElCOV!=`4GOP`0Mj6MC{`r_}aB&iGVGn}IZ)=FrRYT0c98q(?sIF$AmGS;K>+ z2)V>?`fLTVjD$2z`gggCF3&(ze@WNh`0)6QmX0(%|L_*mCvgj`%7%?zS!Av1x#lAq z3v~K|fG5XUI-1#cUxZ5%j+DwEU)5f~444p5MiJF>?hq}qcyODQlK$f_Ay5byq1_iy zN@1W`f4oz2)PyT{UwT?CXfj3(tl&sW%MDF3)$%LEmFNUCI$yZo;dl|KP)i;?{BMff z-P*byk#57yiyQ0z7qY_nT33V#_pL=iz+qkIuUK(M(%SRiR3Ub&q)x8uNZv5`@ga9r2q-6GhhMLUho1PUJ>m}wVYq%Yz~DqTU&k|P&~8;Y zy~GB_YldQM`WL|-b5l;DblZiM(H%}I3eK!|*t9wbv~tY)?qb9W!=uDoJ41k3|Hlm? z2E2-9&LEk}bdvdtvNhnjJhqIpz#ZxPfM>p60M`A4pqTd;&qqRLnsD4%o0)nO?u12a zq#n4hbQ*F1=$J5&G`I;nyf@7k;BFweEcMOlMF3ehN7Q`QgkwYYI6)MqE{J%E#{=}( zs-HB?@^{}JMR3KY09gzyD=UEIS`^^H;ID5TpnhGk4;Pn?0f>O#)&6At$=Cr=EIVdq z*)b|FW{eF$!!<1ZPt<>cKG!1@U)!>R+n_+^A2}Z6{RT&d)BN9Op?RJGK46h2ZUD>k zyDm2T9T_H_@Lhnn;e9&{6Y#j!2RVmK{_0=ni&uq!0xj{Kx(6|T_Y`pIlonMaMN1qQ z>21K?{>$q8P`yC?0Bq6Wx_*99`Ny`~>M@!i=tpgeY&z;467a?xK>(Nxw=VCuna_Tw zH!x(O-5Q|>cq{BdFNp5FIzcWPLsaW?o8V8yOxF`TfuB#FRMJKhVGXg^?ui}$wZ2N)COK&yw;?tX`owHf1_-3p=DN6Nu+jqKL zZ*PGbzk-dv5jTwmKX1r?A-hhwjTi{G-lfT|Y{W({<2vPaMod_se@%prXAvI+MJ%dc z#JzoerAnl@%9K=f=&>>otTVVe1idwXkNrl-4q`E`rpxPqq`F~A_iMt?8B6rJzNvxl zDkqUl2QXv*IJy@>Nht{4@FigrUjXtZpO0{QZS!^_j!UjdX{FB=i@$>CwtUn8L9Yp- zRjKj61j4_aCP`hm3&l)dCKai!b+J|ghr{Q{)&woLpxP2?iLRIdE}uEDnKS2_F97T^ zmpQWfTvRrY*5cIJ%M!GiM2e{(m0YwLRh{s?H@Ca?RMva;!_E!?#k)=`bJSN+e&GIe z!&Ek~sxecS?PGaj*48kZ_o*&+*+FSNv5MQy+@;oHdaxnK`;z(dOk*Z`E3B4gaKIBI zsSSI^_usFxz7RR$PlGqmq;+d2;$%_1yrgHu^_3m;Sh8Oca9AOZV)$5EQz?m!Y2>0- z!((vgy@F=GzmAS`Au_u4vZ&_`weGQV`%-I4d?74;+2CZlfu}RNcYj_YgzF(uj9a*5cyxOWbZpMHqm>0!q>6$&ug4OW>0>#OFmLrF^v}_SQ>{Ajern^owRX(c84MdAV z(aI$=6Wbj_U2-i}Q}L+?9_>YANa{sa);F}9UiefuxK;({=_QDMCAicEV^Jwj2T6?? zdh-=tVVtLhmdCI&4&xo^LP`7?_m`r+i;ILKW9J##gQ4E#!UVnu3kc` literal 0 HcmV?d00001 diff --git a/media/atree/node-selected.png b/media/atree/node-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..f67fef90e09f0bb730dde7b5736b9d7587c9beb0 GIT binary patch literal 2418 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 Y>09jeIpAbuf8TfS@80izznOF9oZXyZ z;~gAAT)*AZEg-4%w-?le*WO037{7vYD6g`tclgOwDV2x6(le+KlS(YL-!VUKo)qqopbc;5`<;BLuyH1wYL>G5J0xIf`gg;B$fEE*e z8JEfpgadei|F*L{v(Q{KJfeF>QY15WlWSEI=1y}y-0yTiQ=jj{A4t?yJcMcHUh?28 zD~&h?BKLxosh@F0d6C=nGJCsameIq9{b$yh%)hQ%c&Fcr_x|z=k+k5Hm*XgrNGtTT zP0RO8IBhadz-|IP{{%-U_jDfIkr6Kn_ z_M0#y`JFBoZMtom!$z2=GI*|CV1of;k}1*)7aW0B5HB5HWw#r=RA`m8 zEjWr~WOD1zX%#s<@o8!cv`1U`mRyEVsjdWCfM0@b92@GTJX86&3(q*s+qvNODkmt_ zS9wkY;K4hs466?|ykWEQz_*5J`{8dBRSSth2z$)#W~}K8r;$Yuj|Nwr&9~vkg)Wx; zR*l95kNtc2@VoWcG$h#!o;91}5_%b$Gr%M?kHtV39?~E6VL#@9REEb+rz9=6O8O%P z$@sKeU;E-hVAfKO$g~*bs>Ll;pEkohMZNFzk>xHp&IH|vtSi566rz(HY8Lh^cl&=U zgO2-PfXT)6;GyE{ws0e!!c6nl;RJ+=Gf^K1Z2`J{O#cpuC;SDLY~yyZUPg}KL7FuJ zPD%OE;W#?0RxmxFGV5-<6uA=MuLAR{r57Nc*!6;vMv7fO_)kFCiIKFyt0&q3@&~#_ z5YIfUU0+@g9^eV_MZnw<#^nBF{lO3#0Q_wZf1u|l1m7KnnPW93{WmJ|m)ieg|An|V zym79&`KNeb_=l5S4d?&)br|wCX}GP%rhPU1s^RZWp%*cGS3kz!hm0`o%v*Jlqs#FD zvK(utKSOQAlLE(U^>!tH9>VsrUfokm<|j_etY+^YxOLYG@p}pYXqXRaVk%L5_=WTrL_N`!i?}L6&IIBy&ZVa@U9`Rb5|; zy36+2Y{XgNl7jMczzizX~6C&gC!0+A{_Ik%KAkBph(qRRTcK$=d79#C@&5q ztpT<%Su_g=4fnw2nu!{1VGuZfGGYs|;8s=-I5#K@G*wnq0hnmkRTZpC)?`uX2KAY= z>Md|%GID{z`?2|W-ZRdf{=RxTqeUb4jSpHIacl1WYynu?WTLtep5#q*YzpcMSDqcP z!etL7pe37mpIQia1(OlRxz!JI^;v|im|XTJ5#B^`b66+e?~s;L6<+4Y#1e=!ig!cb zRNs}?49VPnu)?*8525}ss4yyMhq;9p9Z7A^rd4;7k77r!ly~v{w6r!?;o05i1w(^g zEp3~7KeeDAtHRXJfAUS#9lW0(e(dlSOzYnw`y$Px@7W^t(@8gMtfQM^Q2)26@bFi} zdyo40F9(lhx4EM5Ab8|SKo}aO!t`ifpZA*i!fZ-DHoNuiAZ2T%Z7ddZ%`o&`w2b z?{!YD9V0qerMnSTt_PSLH$9TOJdcRrqK+5R8D}asT5^AFNTIb7j_kyj=`I}!&1F)g z(ZyFI1_OeuWq`_Gh4_c;3? z4m8fpv{m|%hPpZHdal|070^%F=x&pdS~oWkFKTFQDhwddLJ3R89~Il}Ln(!3c3#$* zP#W`bdr0Qlq`Y;^%iF9o-LYC3T&j~Sc;!H84h$y286B^ee>xWHwuK=bRpv)YA8n`l za_)(bo%DDj7&~itPxjlXAkC?EP0o-juQ#DzeOdWy6FScJrU~qoW`QL|Sro<&1;C!| MUcR0U?yU6x0PlfHm;e9( delta 5259 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