This is an old revision of the document!
Table of Contents
Spline Toolkit (S-Tk) Roadmap
Base Stage (completed)
A new Primitive Type1) will be developed, called “db&w Spline”.
Initially this will host a Bezier Spline2) which can be open or closed. When selected, it can be edited using a Gizmo3).
Internally, the splines will be managed using a global plugin4) to allow other plugins to discover and use the splines.
To make the spline useful, we'll add a motion plugin as well as an evaluation node that can be used for motion node graphs.
The spline will be static - the control points can not be animated at this stage.
Due to the complexity of getting the architecture right, The Base Stage will be a two months project on Patreon.
Following the base stage, the following modules may be added but some may depend on others.
Module 1 - Animatable splines
Allows for the whole spline shape to be animated using a single envelope.
Might adds envelopes to the spline controls points and handles and updates the gizmo to allow for keyframing the points and handles.
Allows knots and control points to follow other items.
Module 2 - More Spline types
This adds CSplines (the ones used by default for LightWave envelopes) as well as B-Splines. Splines can be converted, but only the control points are translated. The shape of the curves will change.
Module 3 - Editor Plus
Add more functionality to the spline editing tool.
Module 4 - Deform
Adds a node and a deformer plugin to deform a mesh along a spline.
Requires splines to be animatable.
Module 5 - Proximity Node
A node that computes the closest distance to a spline, this can be used for shading.
Module 6 - Renderable Splines
Allows for splines to be rendered. http://www.pbr-book.org/3ed-2018/Shapes/Curves.html
Requests
- Constraining the spline editor to “background” geometry.
- Convert Nulls to Splines and vice versa - could be tricky given that the spline types aren't compatible and the LW native splines are more limited.
- Instancing along splines
- Distance based controls when attaching to a spline (needs a pre-computation for the spline).
- Spline Presets: Helix (with start/end radius and start/end height), Circle, Arc etc.
- Spline as Instancer source
- Spline with Sweep modifier for parametric tubes, ropes (with ability to use as textured object)
- Spline Extrude with profile for parametric rails
- Spline with Loft modifier (maybe not that useful to setup in Layout)
- Spline convert to polygon
- Spline Jitter / Jolt / Overshoot
- Spline Textured / Noise Displacement
- Spline Dynamics (also combined with the Sweep modifier) for dynamic ropes