Trivial Working Structure

#include "angular/structs.glsl"

#define coordinateRotation 0.

#define fragmentAngle 8.

#define visualiserMode 1

#define visualiserDirections 2

void init()
{
}

void audioFetch(inout float fetchedAudio, float n, float lastN)
{
    // fetchedAudio = the value of the fetched audio sample
    // n = the current audio sample index being processed
    // lastN = the last audio sample index being processed
}

void setOffsets(float direction, inout vec2 particleOffset, inout vec2 barOffset, inout vec2 barSizeOffset, vec2 barAudio, vec2 particleAudio, float xCoordinate, float n, float lastN)
{
    // direction = 0 for top Particles, 1 for bottom Particles
    // particleOffset = the offset that will be applied to the particle's position
    // barOffset = the offset that will be applied to the bar's position
    // barSizeOffset = the size offset that will be applied to the bar's size (Upward / Downward height)
    // barAudio = the audio value for the current bar being processed
    // particleAudio = the audio value for the current particle being processed
    // xCoordinate = the x coordinate of the current fragment being processed
    // n = the current bar / particle index
    // lastN = the last bar / particle index
}

void setProps()
{
}

void setParticleDownProps()
{
}

void modifySDFs()
{
}

PropertyDescription
coordinateRotationThe relative angle of the Orthogonal Coordinate System used to draw the Shaders , from the center of the Window View. This is different from a simple Rotation about the Z-Axis, as this is a Coordinate-Basis Transform
fragmentAngleThe angle of each Fragment , that stores a Primitive
visualiserDirectionsThe number of "sides" for the Primitives . 0 is only Up, 1 is only Down, 2 is both Up and Down.
visualiserModeDecides the type of Primitives to draw. 0 is Particles , 1 is Bars , 2 is both Particles and Bars .