User:Mint Shock/Flow Sequencer: Difference between revisions

From Resonite Wiki
Initial Site creation
 
Line 6: Line 6:
# Leverage [[Spatial variables]] to read values and references in a performant way.
# Leverage [[Spatial variables]] to read values and references in a performant way.
## This also means that FS supports all types that are supported by [[Spatial variables]].
## This also means that FS supports all types that are supported by [[Spatial variables]].
# Support for [[User:Mint Shock/System Standard]] to expand its capabilities.
# Support for [[User:Mint Shock/System Standard|System Standard]] to expand its capabilities.
## More [[Value Types]] and Interpolations.
## More [[Value Types]] and Interpolations.
## Special Keyframes types that can trigger custom behavior when read.
## Special Keyframes types that can trigger custom behavior when read.
## Custom displays for a keyframes values
## Custom displays for a keyframes values.
# Easily grab a reference to a field or reference from an inspector and drop it onto the tracks output.
# Easily grab a reference to a field or reference from an inspector and drop it onto the tracks output.
# Easily drive the readhead position with any float value even ones being driven by other tracks.
# Easily drive the readhead position with any float value even ones being driven by other tracks.
# Tool for editing the values that are contained in a keyframe.


== Structure ==
== 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.
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 [[User:Mint Shock/System Standard|System Standard]] <code>Systems/Root</code> 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 <code>System/Core</code> 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
# Track
# Keyframe
# Readhead
# Value preview
# Edit Ui
{| class="wikitable"
|+
!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:
{| class="wikitable"
|+
|Value 1
|Float
|Float
|-
|Value 1
|Float
|Float
|}
|
* FloatN
|}
=== 2. Systems ===

Revision as of 22:39, 14 October 2025

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