The two new context menu options will let the user inspect the source code
of the node. For the haxe source the existing operator was used (ArmOpenNodeSource),
but it was modified because I thought it made more sense to guess the version the user has based on their last commit instead of master.
for python __module__ was used to obtain the relative path.
The options were appended to the existing menu instead of being its own class because I couldn't find how to implement it that way without redrawing.
- Added a way to obtain the last commit in utils without git cli
- changed the way custom node sockets are handled at several places
- updated the `replaceAll` and `replace` functions used to perform node replacements
- renamed and improved the NodeReplacement [new name] class, which represents a replacement task
- added an arm_version property to all logic nodes, as well as a `get_replacement_node` method (to be overridden for each node)
- added an option to declare a node as obselete in add_node() (useful in order to have the node defined, but out of the menu)
- added classes for UI popups linked to node updates, as well as an operator dedicated to said node update
Thanks to MoritzBrueckner for part of the ground work!
Logic node categories are now created dynamically. This allows nodes
be added to any arbitrarily named categories without having to maintain
a global category list. This is useful because it allows custom logic
nodes to be added to custom categories.