#8
Post
by intelligent machine » Tue Feb 19, 2019 2:37 pm
After Chad's comment this seems like an appropriate time to introduce what I've already started working on and see if there is any interest in it whatsoever and any potential collaborators here.
I've been pondering the creation of a complete series of simple fuses that would live in a special "math" subfolder. The idea is to string out long equations in a series of nodes so that constants and variables can be piped into multiple places and the final 'result' nodes could be referenced in expressions or tunneled somehow through he comp until they are called by channel id.
The custom tool is great for all this but the tabs bug me and it's difficult to visualize the whole equation.
I've already started work on "math.Constant" and "math.RangeMapper" tools.
The Constant tool has a dropdown to select the type (Boole, Integer, Real, Vector2D, Vector3D, Matrix2D, Matrix3D, String, Color, and a few others). After selecting a type, the appropriate field for that type is displayed and all others are hidden away. What to do with the resulting value is a work in progress.
The RangeMapper has up to 5 inputs. The main input to be twiddled with along with optional inputs for constants (still need to figure out how to disable a field when it is overridden by an input). This tool will simply take the defined input low/high values and remap them to the output low/high values proportionally. Additional options may include tick boxes for clamping the lows or highs, modulo function, and a spline curve and/or gradient input for the remap. Right now it's meant to work with a single channel/value so for color work the channels would be split using a vec2reals adapter with one input and 3
or 4 outputs... which could be piped into separate operations. and combined/mixed back together later in the flow...a stripped down channel boolean tool in a way.
A time node that just passes along the time.
It would be nice to give the nodes their own look. (default color and text color to start, also size)
Such as operator nodes that are slightly larger than pipe routers. Is that possible? In the flow these tools would just contain a symbol or function name as the node name or image. In the tool panel, a dropdown to select the operator (+,-,*,/,sin, cos, tan, atan, floor, ceil, etc.)