SRGB Interactive Effect Builder Declarative Engine Reference

This document provides a complete reference for all configurable properties. The engine is designed to be fully declarative, allowing you to build complex, animated effects by defining <meta> properties in an HTML file's head, with no JavaScript required.

Global Settings

These properties control the entire effect's behavior and are defined without an object prefix (e.g., obj1_).

PropertyLabelTypeDescription & Values
enableAnimationEnable AnimationbooleanA global toggle for all time-based animations, including gradients, rotations, and shape movements.
enableSoundEnable Sound ReactivitybooleanA global toggle for all audio-reactive properties on all objects.
Global Color Palette
enablePaletteEnable Global Color PalettebooleanIf true, overrides the individual Color 1 and Color 2 settings for all objects with the global palette colors defined below.
paletteColor1Palette Color 1colorThe global color to be used for all Color 1 properties when the palette is enabled.
paletteColor2Palette Color 2colorThe global color to be used for all Color 2 properties when the palette is enabled.

Core Object Properties

These are the fundamental properties required to define an object's position, size, and basic appearance on the canvas.

PropertyLabelTypeDescription & Values
shapeShapecomboboxDefines the fundamental geometry or behavior of the object, which determines which shape-specific properties are available.
xX PositionnumberThe horizontal coordinate of the object's top-left corner in the canvas coordinate system (0 is the left edge).
yY PositionnumberThe vertical coordinate of the object's top-left corner in the canvas coordinate system (0 is the top edge).
widthWidthnumberThe total width of the object's bounding box in pixels.
heightHeightnumberThe total height of the object's bounding box in pixels.
rotationStatic RotationnumberThe base rotation of the object in degrees, where 0 is no rotation. This is overridden by rotationSpeed.

Fill, Gradient, & Animation

Controls the object's color, fill style, and how its appearance changes over time.

PropertyLabelTypeDescription & Values
gradTypeFill Typecombobox Determines the fill style.
  • solid: A single, solid color using gradColor1.
  • linear: A linear gradient between gradColor1 and gradColor2.
  • radial: A circular gradient between gradColor1 and gradColor2.
  • alternating: For multi-part objects, alternates between gradColor1 and gradColor2.
  • random: For multi-part objects, randomly assigns either gradColor1 or gradColor2.
  • rainbow / rainbow-radial: An animated, cycling rainbow gradient.
gradColor1Color 1colorThe primary color for solid fills or the starting color for gradients. Can be overridden by the Global Color Palette.
gradColor2Color 2colorThe secondary color used as the end point for gradients. Can be overridden by the Global Color Palette.
cycleColorsCycle ColorsbooleanIf true, smoothly animates gradColor1 and gradColor2 through the entire color spectrum (hue wheel).
cycleSpeedColor Cycle SpeednumberControls the speed of hue animation. Only has an effect when cycleColors is set to true.
animationSpeedAnimation SpeednumberA master speed control for the object's primary animation, such as gradient scrolling or fire particle movement.
rotationSpeedRotation SpeednumberThe speed at which the object continuously rotates. A positive value is clockwise; a negative value is counter-clockwise. Overrides static rotation.
animationModeAnimation Modecombobox Determines the behavior of scrolling animations.
  • loop: The animation repeats seamlessly in one direction.
  • bounce: The animation moves back and forth.
  • bounce-reversed: The animation for each part of a grid moves in the opposite direction.
  • bounce-random: The animation for each part of a grid moves back and forth in a random order.
scrollDirScroll DirectioncomboboxSpecifies the direction for linear gradients.
useSharpGradientUse Sharp GradientbooleanIf true, creates a hard line between colors in a gradient instead of a smooth blend.
gradientStopGradient Stop %numberFor smooth gradients, the midpoint of the blend. For sharp gradients, the width of the gradColor1 band. A percentage from 0 to 100.
phaseOffsetPhase OffsetnumberFor multi-part objects (grids, rings, etc.), this staggers the start time of each part's animation, creating a delay or wave effect.

Stroke (Outline)

Defines an optional border for an object. Most shapes support strokes.

PropertyLabelTypeDescription & Values
enableStrokeEnable StrokebooleanA master switch to render the object's outline.
strokeWidthStroke WidthnumberThe thickness of the outline in pixels.
strokeGradTypeStroke TypecomboboxThe fill style for the stroke. Supports all the same gradient and animation types as the main object fill.
strokeGradColor1Stroke Color 1colorThe primary color for the stroke. Can be overridden by the Global Color Palette.
strokeGradColor2Stroke Color 2colorThe secondary color for stroke gradients. Can be overridden by the Global Color Palette.
strokeCycleColorsCycle Stroke ColorsbooleanIf true, the stroke colors will animate through the hue spectrum, independent of the main fill.
strokeAnimationSpeedStroke Animation SpeednumberControls the scroll speed of the stroke gradient animation.
strokeScrollDirStroke Scroll DirectioncomboboxThe direction for animated linear stroke gradients.
  • right, left, up, down: Standard directions for most shapes.
  • along-path: For Polylines only. The gradient animates from the start of the path to the end.
  • along-path-reversed: For Polylines only. The gradient animates from the end of the path to the start.

Audio Reactivity

Allows objects to react dynamically to system audio. The global enableSound property must be enabled.

PropertyLabelTypeDescription & Values
enableAudioReactivityEnable Sound ReactivitybooleanToggles audio reactivity on or off for this specific object.
audioTargetReactive PropertycomboboxThe visual property that will be affected by the audio. For example, Size will make the object grow and shrink with the beat. Not all targets work with all shapes.
audioMetricAudio MetriccomboboxThe audio frequency range the object will listen to (e.g., bass, volume).
audioSensitivitySensitivitynumberMultiplies the intensity of the audio reaction.
beatThresholdBeat ThresholdnumberAdjusts the sensitivity of the beat detection algorithm. Higher values require a more pronounced "beat" to trigger a reaction.
audioSmoothingSmoothingnumberSmooths the visual response to audio, reducing flickering. Only affects the Volume Meter target.

Sensor Reactivity

Allows objects to visualize real-time system sensor data (e.g., CPU Load, Temperature).

PropertyLabelTypeDescription & Values
enableSensorReactivityEnable Sensor ReactivitybooleanToggles sensor reactivity on or off for this object.
sensorTargetReactive PropertycomboboxThe method used to visualize the sensor data. Sensor Meter creates a fill bar, while Time Plot creates a historical line graph.
userSensorSensorsensorA dropdown list of available system sensors to monitor.
sensorValueSourceSensor ValuecomboboxThe specific data point to use from the sensor (its current value, historical min, or historical max).
timePlotLineThicknessLine ThicknessnumberFor Time Plot, defines the thickness of the graph line.
timePlotFillAreaFill AreabooleanFor Time Plot, if true, fills the area beneath the graph line with the object's selected fill style.
sensorMeterShowValueShow ValuebooleanFor Sensor Meter, displays the current sensor value as text.
timePlotAxesStyleAxes StylecomboboxFor Time Plot, controls the visibility of the X and Y axes.
timePlotTimeScaleTime Scale (Seconds)numberFor Time Plot, sets the duration displayed across the graph.

Shape Properties

This section provides a complete, all-in-one reference for each shape. Each table lists all applicable general properties followed by the shape's unique properties.

Rectangle

A standard rectangle that can be subdivided into a grid for creating complex, phased animations.

PropertyLabelTypeDescription & Values
numberOfRowsNumber of RowsnumberDivides the rectangle into a specified number of horizontal rows. Range: 1 to 100.
numberOfColumnsNumber of ColumnsnumberDivides the rectangle into a specified number of vertical columns. Range: 1 to 100.

Star

PropertyLabelTypeDescription & Values
pointsStar PointsnumberThe number of points on the star. Range: 3 to 50.
starInnerRadiusStar Inner Radius %numberDefines the radius of the inner vertices as a percentage of the outer radius, controlling how sharp the points are. Range: 1 to 99.

Polygon

PropertyLabelTypeDescription & Values
sidesPolygon SidesnumberThe number of equal sides for the polygon (e.g., 3 for a triangle, 8 for an octagon). Range: 3 to 50.

Ring

A circular shape composed of individual, animatable segments.

PropertyLabelTypeDescription & Values
innerDiameterInner DiameternumberThe diameter of the empty space inside the ring, creating the doughnut shape. Range: 1 to width-2.
numberOfSegmentsNumber of SegmentsnumberThe total number of individual segments that compose the ring. Range: 1 to 50.
angularWidthSegment AnglenumberThe arc length of each individual segment, measured in degrees. Range: 1 to 360.

Text

Renders text using a built-in pixelated font.

Applicable General Properties: Core, Fill & Animation, Audio Reactivity
PropertyLabelTypeDescription & Values
textDisplay TexttextfieldThe string of text to be rendered.
fontSizeFont SizenumberControls the scale of the pixel font. Range: 2 to 100.
pixelFontFont StylecomboboxSelects between the available small (3x4) or large (5x5) pixel fonts.
textAlignText AligncomboboxHorizontal alignment of the text within its bounding box (left, center, right).
textAnimationText AnimationcomboboxApplies an animation effect to the text (marquee, wave, typewriter).
textAnimationSpeedText Animation SpeednumberControls the speed of the selected text animation. Range: 1 to 100.
showTimeShow System TimebooleanIf true, overrides the text property to display the current system time.
showDateShow System DatebooleanIf true, overrides the text property to display the current system date.
autoWidthAuto-WidthbooleanIf true, the object's width property is automatically adjusted to fit the text content.

Fire & Fire-Radial

A particle-based effect that simulates fire. The base shape defines the emission area for the particles.

Applicable General Properties: Core, Fill & Animation, Audio Reactivity
PropertyLabelTypeDescription & Values
fireSpreadFire Spread %numberFor the fire-radial shape only. Controls how far particles travel from the center, as a percentage of the shape's radius. Range: 1 to 100.

Oscilloscope

Generates a continuous, animated waveform.

Applicable General Properties: Core, Fill & Animation, Stroke, Audio Reactivity
PropertyLabelTypeDescription & Values
lineWidthLine WidthnumberThe thickness of the drawn waveform. Range: 1 to 20.
waveTypeWave TypecomboboxThe mathematical shape of the wave (e.g., sine, square).
frequencyFrequencynumberControls the number of peaks and troughs visible within the shape's bounds. Range: 1 to 50.
pulseDepthPulse Depth %numberControls the amplitude (height) of the wave. Range: 0 to 100.
oscDisplayModeDisplay ModecomboboxThe layout of the animation (linear, radial, seismic).
fillShapeFill ShapebooleanIf true, fills the area under/inside the wave.
enableWaveAnimationEnable Wave AnimationbooleanToggles the movement of the wave.
oscAnimationSpeedWave Animation SpeednumberControls the speed of the wave's movement, independent of the fill animation speed. Range: 0 to 100.
waveStyleSeismic Wave StylecomboboxFor seismic mode, the style of the expanding rings.
waveCountSeismic Wave CountnumberFor seismic mode, the number of concentric rings to display. Range: 1 to 20.

Audio Visualizer

A powerful shape that visualizes audio frequencies as a bar, line, or area graph.

Applicable General Properties: Core, Fill & Animation
PropertyLabelTypeDescription & Values
vizLayoutLayoutcomboboxThe overall arrangement: Linear or Circular.
vizDrawStyleDraw StylecomboboxHow frequencies are rendered: Bars, Line, or Area.
vizBarCountBar CountnumberThe number of frequency bands to display. Range: 2 to 200.
vizBarSpacingBar SpacingnumberThe space between each bar. Range: 0 to 20.
vizStyleBar OrigincomboboxFor Linear layout, determines if bars grow from the bottom, top, or expand from the center.
vizSmoothingSmoothingnumberApplies smoothing to the bar height changes for less jittery movement. Range: 0 to 99.
vizInnerRadiusInner Radius %numberFor Circular layout, defines the size of the empty central hole. Range: 0 to 95.
vizLineWidthLine WidthnumberFor Line and Area styles, defines the thickness of the graph line. Range: 1 to 20.
vizAutoScaleAuto-Scale HeightbooleanIf true, the loudest frequency always reaches the maximum height.
vizMaxBarHeightMax Bar Height %numberWhen vizAutoScale is false, this sets a hard limit on bar height. Range: 5 to 100.
vizUseSegmentsUse LED SegmentsbooleanIf true, renders bars as discrete, stacked segments.
vizSegmentCountSegment CountnumberThe number of segments to divide each bar into. Range: 2 to 64.
vizSegmentSpacingSegment SpacingnumberThe spacing between each segment in a bar. Range: 0 to 10.

Tetris

An animation that simulates falling blocks stacking up within the shape's bounds.

Applicable General Properties: Core, Fill & Animation, Audio Reactivity
PropertyLabelTypeDescription & Values
tetrisBlockCountBlock CountnumberThe number of blocks to drop in a single animation cycle. Range: 1 to 50.
tetrisAnimationDrop PhysicscomboboxThe physics governing block movement. Values: linear, gravity, gravity-fade, fade-in-stack, fade-in-out.
tetrisSpeedDrop/Fade-in SpeednumberControls the speed of the animation. Range: 1 to 100.
tetrisBounceBounce Factor %numberHow much blocks bounce on impact. Range: 0 to 90. Only affects `gravity` physics.
tetrisHoldTimeHold TimenumberFor the fade-in-out animation, this sets how long the fully stacked blocks remain visible before fading out.

Pixel Art

Renders a static image based on a 2D array of alpha values provided as a JSON string.

Applicable General Properties: Core, Fill & Animation, Audio Reactivity, Sensor Reactivity
PropertyLabelTypeDescription & Values
pixelArtDataPixel Art DatatextareaA JSON string representing a 2D array. Each number from 0 (transparent) to 1 (opaque) corresponds to a pixel's alpha value. Example: [[1, 0, 1], [0, 1, 0], [1, 0, 1]].

Strimer

A specialized shape that simulates the animated lighting effects of PC cable strimers, featuring multiple columns of moving light blocks.

Applicable General Properties: Core, Fill & Animation
PropertyLabelTypeDescription & Values
General & Layout
strimerColumnsColumnsnumberThe number of vertical columns. Range: 1 to 50.
strimerBlockCountBlock CountnumberThe number of animated blocks per column. Range: 1 to 100.
strimerBlockSizeBlock SizenumberThe height of each individual light block.
strimerBlockSpacingBlock SpacingnumberFor Cascade animation, this sets the vertical distance between blocks.
Animation & Movement
strimerAnimationAnimationcomboboxThe primary animation style for the blocks. Values: Bounce, Loop, Cascade, Audio Meter, Snake.
strimerAnimationSpeedAnimation SpeednumberControls the speed of the block movement, independent of the fill animation speed. Range: 0 to 100.
strimerDirectionDirectioncomboboxThe initial movement direction for blocks in Bounce and Loop modes. Values: Up, Down, Random.
strimerEasingEasingcomboboxControls the acceleration curve of the block movement for more dynamic motion.
strimerSnakeDirectionSnake DirectioncomboboxFor Snake animation, sets the path to be vertical (along columns) or horizontal (across rows).
Effects & Modifiers
strimerPulseSpeedPulse SpeednumberA modifier that creates a "breathing" effect by fading blocks in and out. This is layered on top of the primary animation. Set to 0 to disable.
strimerPulseSyncSync ColumnsbooleanIf true, all columns pulse together. If false, they pulse sequentially for a wave-like effect.
strimerGlitchFrequencyGlitch FrequencynumberMakes blocks occasionally stutter or disappear for a high-tech look. Set to 0 to disable.
Audio Meter Controls
strimerAudioSensitivityAudio SensitivitynumberA general multiplier for the height of the audio bars.
strimerAudioSmoothingAudio SmoothingnumberSmooths out the bar movement to prevent flickering.
strimerBassLevelBass LevelnumberMultiplier for the bass column(s). 100 is normal.
strimerTrebleBoostTreble BoostnumberMultiplier for the treble/volume columns.

Spawner

A powerful particle emitter that generates and animates a stream of other shapes. The Spawner's own fill/stroke properties are applied to each particle it creates.

Applicable General Properties: Core, Fill & Animation, Stroke, Audio Reactivity
PropertyLabelTypeDescription & Values
Emitter Properties
spawn_animationEmitter StylecomboboxThe behavior and direction of particle emission. Values: explode, fountain, rain, flow.
spawn_countMax ParticlesnumberThe maximum number of particles on screen at once.
spawn_spawnRateSpawn RatenumberHow many new particles are created per second.
spawn_lifetimeLifetime (s)numberHow long each particle lasts, in seconds.
spawn_speedInitial SpeednumberThe starting speed of newly created particles.
spawn_speedVarianceInitial Speed Variance (±)numberAdds randomness to each particle's starting speed.
spawn_gravityGravitynumberA constant downward (or upward, if negative) force applied to particles.
spawn_spreadSpread AnglenumberThe angle (in degrees) for Explode or Fountain emitters.
Particle Appearance Properties
spawn_shapeTypeParticle ShapecomboboxThe geometric shape of the emitted particles. Values: rectangle, circle, polygon, star, sparkle, custom, matrix, random.
spawn_sizeParticle SizenumberThe base size of each particle in pixels.
spawn_size_randomnessSize Randomness %numberHow much to vary each particle's size from the base size. Range: 0 to 100.
spawn_rotationSpeedParticle Rotation SpeednumberThe average rotational speed of each individual particle.
spawn_rotationVarianceRotation Variance (±deg/s)numberAdds randomness to each particle's rotation speed.
spawn_initialRotation_randomRandom Initial RotationbooleanIf true, each particle starts at a random angle.
spawn_svg_pathCustom SVG PathtextareaThe SVG d attribute path data for the custom particle shape. The path should be centered on the (0,0) origin for proper rotation.
Matrix Particle Properties
spawn_matrixCharSetMatrix Character SetcomboboxThe set of characters to use for the matrix particle type.
spawn_matrixTrailLengthMatrix Trail LengthnumberThe number of characters in each falling matrix trail.
spawn_matrixEnableGlowEnable Character GlowbooleanAdds a glow effect to the matrix characters.
spawn_matrixGlowSizeCharacter Glow SizenumberThe size and intensity of the glow effect.
Generic Trail Properties
spawn_enableTrailEnable TrailbooleanEnables a fading trail behind each particle (any shape except matrix).
spawn_trailLengthTrail LengthnumberThe number of segments in each particle's trail.
spawn_leaderColorLeader ColorcolorThe color of the lead particle. The trail fades to the spawner's main fill color.
Audio Reactivity
spawn_audioTargetSpawner: Reactive TargetcomboboxWhich property of the spawner will react to sound. Affects Spawn Rate, Initial Speed, Particle Size, etc.