User:Mint Shock/Flow Sequencer

From Resonite Wiki

Flow Sequencer [FS] is a Work in progress keyframe based sequencer for dynamically changing a Value or Reference. It is currently being developed by Mint Shock. It utilizes Spatial variables to read and write data do discrete Keyframes.

Main Features

  1. Easy to use ui inspired by traditional linear animation tools like Blenders Timeline.
  2. Leverage Spatial variables to read values and references in a performant way.
    1. This also means that FS supports all types that are supported by Spatial variables.
  3. Support for System Standard to expand its capabilities.
    1. More Value Types and Interpolations.
    2. Special Keyframes types that can trigger custom behavior when read.
    3. Custom displays for a keyframes values.
  4. Easily grab a reference to a field or reference from an inspector and drop it onto the tracks output.
  5. Easily drive the readhead position with any float value even ones being driven by other tracks.
  6. Tool for editing the values that are contained in a keyframe.

Structure

FS is split into discrete levels. Each level has a specific responsability. The heaviest elements will be contained on the upper levels to minimize code and asset duplication.

1. Systems

This is the System Standard Systems/Root slot. All Systems will be installed into here.

1.1 Standard Systems

FS comes with some preinstalled Systems. Some of these should not be removed by the enduser and will have the System/Core variable set to true.

1.1.1 FS Manager

Contains all common assets, settings, and ProtoFlux.

1.1.1 FS Templates

Contains all templates that are used by FS

  1. Track
  2. Keyframe
  3. Readhead
  4. Value preview
  5. Edit Ui
Category Specifity Note Included Templates
Track
  • Universal
Used to generate a track. /
Keyframe
  • Type
  • Interpolation
Used to spawn a keyframe of a specific type and interpolation on a track of matching type.
  • ColorX [constant]
  • ColorX [linear]
  • Float [constant]
  • Float [linear]
  • Float3 [constant]
  • Float3 [linear]
Keyframe Visual
  • Type
  • Interpolation
  • User selection
Used to spawn a visualization for a given Keyframe while respecting the interpolation mode.
  • ColorX [constant]
  • ColorX [linear]
  • Float [constant]
  • Float [linear]
  • Float3 [constant]
  • Float3 [linear]
Readhead
  • Type
Used to generate a Readhead that can read the specified type on a track.
  • ColorX
  • Float
  • Float3
Value preview
  • Type
Used for both the left side Ui (the small readout) next to the track name labled "output" and the readhead preview. The value can be grabbed from the left side ui and then be sourced or value copied elswhere.
  • ColorX
  • Float
  • Float3
Edit Ui
  • Type
  • Interpolation
  • User selection
Used to generate the floating edit ui for keyframes. Similar Types (like float, float2, float3, floatQ...) can share one Template. The floating ui knows what parts of the template should be enabled for the current keyframe. so for example for a linear float2 keyframe it would show the folowing:
Value 1 Float Float
Value 1 Float Float
  • FloatN

2. Systems