-
Notifications
You must be signed in to change notification settings - Fork 1
/
todos and changes.txt
207 lines (137 loc) · 12 KB
/
todos and changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
- [x] implement ability to select edges
- [x] implement edge selection causes a popup delete edge button to appear
- [x] implement edge deletion
- [ ] add helpful readme to build and run project
- [ ] add how to contribute doc for open source contributions
- [ ] add help modal that explains what you can do with each mode, how to add, move, delete nodes & edges, rename nodes, change icons, etc.
- [ ] feat upload of imgs from the user for custom icons
- [ ] feat offline mode
- [x] publish to GitHub Pages
- [x] set up CI/CD pipeline
- [ ] make a search engine which focuses in on and/or highlights nodes that match the search text
- [ ] make selected icons glow
- [ ] make icons and edges glow and/or change color on hover/mouseover
- [x] make border thinner
- [x] make node text smaller
- [x] change node text font to Old English Text MT
- [x] remove connect button and delete buttons in player mode
- [x] add padding to text input for skill tree title
- [x] prevent keyboard deletions of nodes and edges in player mode
- [x] add arrows back to edges for now to show directionality
- [x] rewrite checking of skill tree validity function to ensure that all nodes that have zero pre-reqs are either activated or available by default, rather than what is currently the case which is to ensure that simply at least 1 node of a component cluster of nodes is available/activated. this is to prevent skill trees from being create that have nodes that are impossible to activate
- [ ] experiment with adding animated alpha masks using an alpha texture and CSS transitions to make the edges
- [ ] fix bug where double-clicking an icon node, waiting a second, and then single clicking the same node does not change buttons back to state selection buttons
- [x] fix bug where initial node creation does not correctly initialize flourishes of hidden nodes as hidden
- [x] fix bug where edges are selectable in player mode which makes the delete button show (but it shouldn't)
- [x] implement multiple prereq nodes, such that, for nodes A and B that both point to node C, that node C will not become available until both nodes A and B are activated
- [ ] fix bug where loading of a skill tree from JSON does not respect which mode the app is currently in (idea: switch to the mode that the skill tree was saved in)
- [x] explicitly test for and handle cases where unknown image icons are referenced in a loaded skill tree
- [ ] implement 1 action undo, such as undo delete, undo add, undo rename, etc. by preserving the previous/last state of the graph and restoring it
- [ ] feat addition of 'Add Node' button to double click button menu to enable menu click free node adding
- [ ] feat double click on background to summon 'Add Node' button and 'Recenter' buttons to enable menu free skill tree interactions
- [ ] feat font toggle that allows switching between Old English Text MT and other choices that are easier to read
- [x] feat more descriptive error message for when skill tree is in an invalid format for switching from builder mode into player mode, such as "Invalid skill tree state: Please make that, of the following nodes, there is at least one node that is available or activated."
- [x] feat check to prevent invalid root node states (i.e. root nodes must not have an initial state of 'hidden') so as to prevent skill trees from becoming "locked out" and unable to "complete" their skill tree
- [ ] Question: How else might skills get unlocked besides proximity to other unlocked/activated/available skill nodes?
- [x] fix bug where new flourishes are not automatically hidden upon new node creation
- [x] feat show hidden node icon instead of actually hiding nodes
- [x] fix remove flourish and text from hidden nodes
- [ ] feat dotted line for edges that are connected to hidden nodes
- [ ] troubleshoot and fix built-in demo which appears to load in an inconsistent/broken state
- [x] add design flourish above each node's text
- [ ] add node icons
- [ ] A-Z in Old English Text MT font
- [x] egg
- [x] tree
- [ ] pill
- [ ] bird
- [x] dragon
- [ ] bird & egg
- [ ] dragon & egg
- [x] mushroom
- [x] move text to above node
- [x] put image inside of 1 node
- useful reference for rendering images inside of nodes: https://stackoverflow.com/questions/47801961/cytoscape-js-how-define-node-with-background-image-from-a-json-data-file?rq=3
- ~~put SVG inside of 1 node w/o render glitching~~
- ~~put SVG icon inside each node~~
- [x] fix bug where upon deselecting 1 of 2 selected edges that the button for the remaining selected egde is not put in the correct location
- [x] feat hiding of hidden nodes only in player mode
- [x] feat storing of player node state data as tempState in builder mode
- [x] feat skill tree node info paragraph text
- [x] feat text input for a given node upon click of new 'Edit Info' btn in builder mode
- [x] feat show more info about a node upon single click in player mode
- [x] show display with 'Unknown' label instead of actual node information when in player mode and the currently selected node is hidden
- [ ] brainstorm how else to show info, where it might be annoying to have a single click bring up the info modal/panel, and what alternatives could there be instead? (button, toggle, etc.)... one idea is to summon a button in the bottom right corner of the window which is the "open info panel/modal" button when only a single node is selected
- [ ] create custom favicon
- [ ] install custom favicon to replace current placeholder favicon
- [x] find and resolve bug where connect button sometimes does not appear when it should
- Found it: It happens just immediately after changing an icon
- [x] find and resolve bug where rename button sometimes does not disappear when it should
- [x] fix bug where initial demo does not render correctly immediately after load upon entering player mode
- [x] fix bug where single tap on two nodes one after the other doesn't correctly show initial state toggle buttons on second node in builder mode
- [x] fix bug where clicking on two nodes shows initial state toggle buttons for 2nd node when there should be only 1 button showing max which is the connect button inbetween two unconnected nodes
- [x] fix bug where edges can be deleted by the delete key but not by clicking on the delete button
- [x] feat hidden nodes showing with "hidden" icon, no text label, and no flourish
- [x] add confirmation step to 'Clear Skill Tree' action so as to prevent accidental skill tree deletions
- [x] make top of screen UI smaller and less obstructive
- [x] implement ability to select icon for a given node from a list of icons
- [x] add change icon btn upon double click of a node
- [x] add sidebar with visual icon list displayed
- [x] implement selecting of a new node icon to close sidebar and update icon w/ new icon selection
- [x] make sidebar close upon clicking on a node, edge, or bg
- [x] make sidebar a horizontal carousel in the bottom right of the screen
- [x] display name text of each icon alongside it
- [x] fix bug where text is not select and copy-able from info modal in player mode
- [x] feat detection of cycles upon switching into player mode
- [x] disallow cycles in skill trees
- [ ] replace all alerts with an alert modal in the current style
- [ ] replace all yes/no prompts with a yes/no prompt modal in the current style
- [x] fix prevent single click of flourish nodes from triggering the info modal popup
- [ ] feat custom background images behind the skill tree
- [ ] figure out how to incorporate background images in a way that doesn't deeply negatively impact readability
- [ ] visualize the user's progress through the skill tree with progress bars or completion percentages
- [ ] brainstorm options for activating/summoning the info modal for a given node, would you prefer single click, long press, double click, or something else entirely? would you prefer to click to make another button, or directly open up the info modal itself on the designated gesture? keep in mind that single click and double-click can be differented with a timer, and 375ms is an acceptable threshold for differentiating
- [x] make sure that when loading a skill tree it conforms correctly to the mode that the user of the app is currently in, regardless of whatever mode the skill tree was saved in
- [ ] prevent entering of player mode when there is no skill tree ( not sure yet if this is ideal or not, will think on it some more...)
- [x] update rm edge selection in player mode
- [ ] add celebration modal/popup/thingie when the skill tree is fully activated in player mode
- ~~fix bug where refreshing page while in player mode messes up node state (this appears to not be reproducable anymore, it may have been fixed already)~~
- [ ] fix bug where refreshing page resets the zoom back to full view of the skill tree
- [x] fix async font loading issue so that the correct font is loaded consistently before the graph loads
- [ ] decide how to handle selection of 1 node and 1 edge: should the buttons for the node show, for the edge show, neither, or both?
- [x] feat newly created nodes in builder mode are set to hidden by default
- [x] feat toggling of nodes in builder mode between 'activated', 'available', and 'hidden'
- [x] feat locking of nodes in place upon switching to player mode
- [ ] feat optional locking of nodes in place in builder mode w/ lock icon buttons
- [x] feat no node deletion allowed in player mode
- [x] add keydown handler to delete selected nodes and edges via the delete key
- [x] feat multi-node deletion via keyboard
- [x] feat multi-edge deletion via keyboard and mouse
- [x] feat correct multi-edge selection
- [x] feat deselect of nodes and edges with the escape key
- [x] feat quit of icon select menu with the escape key
- [x] add keydown handler to escape from node edit mode via escape key
- [x] fix connect node button so that it appears centered vertically as well as horizontally between the two nodes that it is to connect
- [x] fix bug where loading a tree saved in player mode directly into builder mode does not reset state and tempState for all nodes: this can be resolved by toggling the state and tempState for all nodes prior to saving and/or by checking upon loading, as well as by saving what mode the skill tree was saved in (though I'd prefer to simply always save in builder mode)
- [x] modify text input so that it is located where the node text is
- [ ] fix button popups so that they always appear visually on the canvas, so, in other words, if the selected node to edit is at the top of the screen, the buttons will appear below it. if the selected node is at the right-most edge of the canvas, then the buttons will be offset to the left so that they are both visible
- [x] prevent flashing edge bug from occurring when canvas is fullscreen height and width
- [x] fix bug where three nodes are selected, and 1 is unselected and the connect button should reappear but currently doesn't
- [ ] prevent text input to rename nodes from being saved as empty string (i.e. make it "required")
- [ ] make the edit modal more beautiful
- [ ] update icons with improved icon border illustration
- [ ] republish icons as their own images without borders
- [ ] fix icons to be layered 2 PNGs, of the icon itself and the border img
- [x] prevent the connect button from appearing when selecting two nodes that are already connected
- [x] make popup buttons move with parent node when dragging a selected node
- [x] fix bug where deleting a node does not yet unregister the node as "selected", which causes an error that, upon deleting a node and then immediately selecting another node triggers the following error:
"""
useGraphHandlers.js:51 Uncaught TypeError: Cannot read properties of undefined (reading 'x')
at useGraphHandlers.js:51:26
at Element2.<anonymous>
"""
the suggested fix is to, upon deleting a node, clear the selected nodes list
- [o] build out shield hero skill tree & save to JSON
- [ ] include shield hero skill tree as hidden bonus content
- [ ] include rage shield skills as hidden bonus content within bonus content
- [x] build out dungeons and developers skill tree & save to JSON