Restyle is an comprehensive overhaul of Graph Editor elements such like Nodes, Pins, Input, Pin Connections.
General
- New SVG icons
- New widgets
- Almost everything is configurable with styles (Colors, Spacings, Sizes, Brushes, Buttons...)
Nodes
- 3 States (Normal, Selected, Invalid)
- New title style
- Ability to disable "Target Is"
Variable Nodes
- Ability to hide "GET" title [Optional]
Compact Nodes
- New title style with ability to apply it if title length exceeds <n>
- Background icons for Function and Macro
Reroute
- Shows "drag" boundaries on hover
Comments
- New resizing method (which prevents cursor slide off comment)
- Opacity level is set by default (For normal, selected states)
Comment Bubbles (Its not bubble)
- Buttons shows only if widget is hovered
Node Reports (error/warning etc.) and State (development/disabled)
- Title is configurable
Pin Connections
- New style for wires, featuring 45° & 90° alignment
- Prioritizing in context of input/output pins for line length and/or position
(Works for left->right & right->left transitions, also exec<->reroute have their own prioritization)
- Squared, rounded corners
- Radius (up to 0.5 of length, visually shortens the path)
- Optimized for backward routing (has snap points)
Pins
- Custom colors [Optional]
- Custom pin-constructors (Vector4 is only available atm)
- Vector that is Rotator may use new labels (RPY) [Optional]
- Custom text for "Add Pin" [Optional]
Zoom [Optional]
- Ability to set or even generate zoom behavior
Public github repository is used for product management.
There you will know everything what happens about Restyle.
Got issues? Write it to repo. It'll be fixed as soon as possible.
Also it's completely fine to get files there first and test to ensure you would use this.
And if you do, make sure to come back here! :)
How it's made?
Plugin registers Visual(Node|Pin|PinConnection) factories in FEdGraphUtilities at index 0 which override widget/connection implementations for specific classes. If any other existing factories want to register a widget, Restyle will allow it. But as the classes contain design implementation, having you registering your own version of widget will not bring new design to it. You may leave that behavior as it is or integrate restyle.
(Integration isn't yet properly discussed nor properly implemented)
Code Modules: Restyle [Editor], RestyleShaders [DeveloperTool]
Number of classes: 72
Number of graphics assets: 36 [svg]