Nubu
  • Features
  • How it works
  • Pricing
  • Integrations
  • FAQ
  • Contact
  • Docs
  • Blog
  • Log in
  • Log inSign up
    Nubu

    Creative automation for teams that ship campaigns, not busywork.

    Try for free
    Product
    FeaturesNubu MotionHow it worksPricingIntegrationsFAQ
    Company
    AboutContactDocsBlogLog in
    Legal
    Privacy policyTerms of serviceData deletion
    © 2026 Bear Studios · Nubu
    Introduction
    Templates overviewInstalling Nubu BuilderAdding template compsAdding propertiesAdding footageSetting defaultsExporting your templateUploading a template
    Flows overviewAvailable nodesAdding a nodeConnecting nodesWorking with dataTemplates and outputsUsing AI nodesBuilding a creative
    CampaignsTemplatesAssetsGlossariesRendersSettings
    Connecting Meta AdsConnecting Google AdsConnecting OpenAIConnecting Gemini AI StudioConnecting Anthropic
    AI Assistant overviewPrompt examplesAssistant settings and controls
    Nubu Motion scripts: the reference
    OverviewQuick startDifferences from After EffectsDeterminism
    JavaScript supportReferences and idsProject scriptsState and timeBudgets and errorsFormatting values
    GlobalTime conversionInterpolationVector mathsRandom and noiseColour conversionOther maths
    LayerCompPropertyKeyframePathGeometryProjectComponentConsoleComponentControlExpressionControl
    The property vocabularyAnimators propertiesAudio propertiesContent propertiesContents propertiesEffects propertiesExpression controls propertiesFills propertiesInstance controls propertiesLayer propertiesLayout propertiesMasks propertiesStrokes propertiesText style propertiesTransform propertiesTrim path properties
    Error codesBudgets
    Changelog
    All docs
    Motion Scripting
    / Properties

    Effects properties

    Every effect parameter a script can reach, from blurs and glows to the physics family and the particle system.

    Every effect parameter, addressed by effect id and member name - blurs, shadows, colour tools, noise, distortion, glows, cloners and effectors, the loop's clock-remap members, the physics family (rigid bodies, colliders, deformables, forces and local gravity) and the particle system alike.

    Every pattern below is readable from scripts through prop() and layer.prop(); ids in a pattern (like <effect_id>) stand for the entity's real id. Patterns marked drive set are the ones scripts may WRITE (every animatable pattern); the rest are statics that change through commands, and a write to one refuses with the typed type_mismatch ("the property is static").

    PatternWire kindUnitsReadsWrites
    effects.<effect_id>.affect_opacitybooleanbooleanyesdrive set
    effects.<effect_id>.affect_positionbooleanbooleanyesdrive set
    effects.<effect_id>.affect_rotationbooleanbooleanyesdrive set
    effects.<effect_id>.affect_scalebooleanbooleanyesdrive set
    effects.<effect_id>.affectsenumenumyes-
    effects.<effect_id>.alignbooleanbooleanyesdrive set
    effects.<effect_id>.align_to_motionbooleanbooleanyesdrive set
    effects.<effect_id>.alpha_channelenumenumyesdrive set
    effects.<effect_id>.alpha_gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.alpha_input_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.alpha_input_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.alpha_output_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.alpha_output_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.amountscalarpercent (0..100)yesdrive set
    effects.<effect_id>.anglescalardegreesyesdrive set
    effects.<effect_id>.angular_dampingscalarfraction (0..1)yesdrive set
    effects.<effect_id>.antialiasingbooleanbooleanyesdrive set
    effects.<effect_id>.aspectscalarratio (0.1..10)yes-
    effects.<effect_id>.behaviorenumenumyesdrive set
    effects.<effect_id>.bendinessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.blacksscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.blend_modeenumenumyesdrive set
    effects.<effect_id>.blend_with_originalscalarpercent (0..100)yesdrive set
    effects.<effect_id>.blue_bluescalarpercent (-200..200)yesdrive set
    effects.<effect_id>.blue_constscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.blue_exposurescalarf-stops (-20..20)yesdrive set
    effects.<effect_id>.blue_gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.blue_greenscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.blue_input_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.blue_input_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.blue_offsetscalarlinear offset (-0.5..0.5)yesdrive set
    effects.<effect_id>.blue_output_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.blue_output_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.blue_redscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.bluesscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.blues_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.blues_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.blues_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.borderscalarpx (0..2000)yesdrive set
    effects.<effect_id>.bounce_variancescalarfraction (0..1)yesdrive set
    effects.<effect_id>.bouncinessscalarcoefficient (0..1)yesdrive set
    effects.<effect_id>.break_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.break_forcescalarimpulse (0..1000000)yesdrive set
    effects.<effect_id>.break_torquescalarimpulse (0..1000000)yesdrive set
    effects.<effect_id>.brightnessscalarnumber (-150..150)yesdrive set
    effects.<effect_id>.burst_countintegerparticles (0..1000000)yesdrive set
    effects.<effect_id>.bypass_linearbooleanbooleanyesdrive set
    effects.<effect_id>.cell_sizepoint2px pointyesdrive set
    effects.<effect_id>.center_subscalebooleanbooleanyesdrive set
    effects.<effect_id>.channelenumenumyesdrive set
    effects.<effect_id>.channelsenumenum name (string)yesdrive set
    effects.<effect_id>.clip_blackbooleanbooleanyesdrive set
    effects.<effect_id>.clip_hdrbooleanbooleanyesdrive set
    effects.<effect_id>.clip_whitebooleanbooleanyesdrive set
    effects.<effect_id>.collide_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.collide_withenumenumyes-
    effects.<effect_id>.collision_detailscalarfraction (0..1)yes-
    effects.<effect_id>.collision_eventenumenumyes-
    effects.<effect_id>.colorizebooleanbooleanyesdrive set
    effects.<effect_id>.colorize_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.colorize_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.colorize_saturationscalarnumber (0..100)yesdrive set
    effects.<effect_id>.colourcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.colour_map_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.colour_over_lifegradient_stopsgradient stops (over life)yesdrive set
    effects.<effect_id>.colour_variancescalarfraction (0..1)yesdrive set
    effects.<effect_id>.colourise_strengthscalarfraction (0..1)yesdrive set
    effects.<effect_id>.complexityscalaroctaves (1..10)yesdrive set
    effects.<effect_id>.connected_anchorpoint2pxyesdrive set
    effects.<effect_id>.connected_bodylayer_reflayer idyesdrive set
    effects.<effect_id>.connector_dampingscalarfraction (0..1)yesdrive set
    effects.<effect_id>.connector_kindenumenumyes-
    effects.<effect_id>.connector_stiffnessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.contrastscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.countscalarclones (1..1000000)yesdrive set
    effects.<effect_id>.count_xscalarclones (1..1000000)yesdrive set
    effects.<effect_id>.count_yscalarclones (1..1000000)yesdrive set
    effects.<effect_id>.creative_lookasset_refasset idyesdrive set
    effects.<effect_id>.curve_alphacurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.curve_bluecurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.curve_greencurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.curve_redcurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.curve_rgbcurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.cyansscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.cyans_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.cyans_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.cyans_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.cyclescalarrevolutions (1..30)yesdrive set
    effects.<effect_id>.cycle_evolutionbooleanbooleanyesdrive set
    effects.<effect_id>.delay_modeenumenumyesdrive set
    effects.<effect_id>.delay_strengthscalarpercent (0..100)yesdrive set
    effects.<effect_id>.densityscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.depth_fadescalarfraction (0..1)yesdrive set
    effects.<effect_id>.depth_rangescalarpx (0..2000)yesdrive set
    effects.<effect_id>.depth_scalescalarfraction (0..1)yesdrive set
    effects.<effect_id>.depth_speedscalarpx/s (-2000..2000)yesdrive set
    effects.<effect_id>.detailscalarfraction (0..1)yes-
    effects.<effect_id>.dimensionsenumenumyesdrive set
    effects.<effect_id>.directionenumenumyesdrive set
    effects.<effect_id>.displace_amountscalarpx (0..1000)yesdrive set
    effects.<effect_id>.displace_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.displace_map_amountscalarpx (0..1000)yesdrive set
    effects.<effect_id>.displace_sizescalarpx (2..1000)yesdrive set
    effects.<effect_id>.displacementenumenumyesdrive set
    effects.<effect_id>.distancescalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.distributeenumenumyesdrive set
    effects.<effect_id>.dragscalarcoefficient (0..1)yesdrive set
    effects.<effect_id>.drag_variancescalarfraction (0..1)yesdrive set
    effects.<effect_id>.driftpoint2px/s pair (-10000..10000)yesdrive set
    effects.<effect_id>.edge_cell_sizescalarpx (1..4096)yesdrive set
    effects.<effect_id>.edge_colourcolourcolouryesdrive set
    effects.<effect_id>.edge_definitionscalarpercent (0..100)yesdrive set
    effects.<effect_id>.edge_sharpnessscalarsharpness (0..10)yesdrive set
    effects.<effect_id>.edge_typeenumenumyesdrive set
    effects.<effect_id>.emission_map_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.emission_over_parent_lifecurve_pointscurve (0..1 over parent life)yesdrive set
    effects.<effect_id>.emission_ratescalarparticles/s (0..1000000)yesdrive set
    effects.<effect_id>.emit_directionscalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.emit_fromenumenumyes-
    effects.<effect_id>.emit_probabilityscalarfraction (0..1)yesdrive set
    effects.<effect_id>.emit_spreadscalardegrees (0..360)yesdrive set
    effects.<effect_id>.emitter_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.emitter_offsetpoint2px pair (-8192..8192)yesdrive set
    effects.<effect_id>.emitter_sizepoint2px pair (0..8192)yesdrive set
    effects.<effect_id>.emitter_typeenumenumyes-
    effects.<effect_id>.enabledbooleanbooleanyesdrive set
    effects.<effect_id>.end_anglescalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.evolutionscalardegrees (progressive revolutions)yesdrive set
    effects.<effect_id>.expand_outputbooleanbooleanyesdrive set
    effects.<effect_id>.exposurescalarf-stops (-20..20)yesdrive set
    effects.<effect_id>.exposure_offsetscalarlinear offset (-0.5..0.5)yesdrive set
    effects.<effect_id>.fade_in_timescalars (0..30)yesdrive set
    effects.<effect_id>.falloffscalarnumber (0..400)yesdrive set
    effects.<effect_id>.falloff_curveenumenumyesdrive set
    effects.<effect_id>.falloff_featherscalarfraction (0..1)yesdrive set
    effects.<effect_id>.falloff_radiusscalarpx (0..16384)yesdrive set
    effects.<effect_id>.field_anglescalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.field_shapeenumenumyesdrive set
    effects.<effect_id>.field_sizepoint2px pointyesdrive set
    effects.<effect_id>.fillscalarpercent (0..100)yesdrive set
    effects.<effect_id>.flow_falloffscalarpercent (0..100)yesdrive set
    effects.<effect_id>.flow_softnessscalarpercent (0..100)yesdrive set
    effects.<effect_id>.follow_strengthscalarfraction (0..1)yesdrive set
    effects.<effect_id>.footage_typeenumenumyesdrive set
    effects.<effect_id>.force_falloffenumenumyes-
    effects.<effect_id>.force_kindenumenumyes-
    effects.<effect_id>.force_strengthscalarper-kind units (-10000..10000)yesdrive set
    effects.<effect_id>.formenumenumyesdrive set
    effects.<effect_id>.fractal_influencescalarfraction (0..1)yesdrive set
    effects.<effect_id>.fractal_typeenumenumyesdrive set
    effects.<effect_id>.frame_ratescalarfps (0.1..120)yesdrive set
    effects.<effect_id>.frictionscalarcoefficient (0..2)yesdrive set
    effects.<effect_id>.friction_variancescalarfraction (0..2)yesdrive set
    effects.<effect_id>.gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.get_phase_fromenumenumyesdrive set
    effects.<effect_id>.glow_amountscalarpercent (0..1000)yesdrive set
    effects.<effect_id>.glow_colorizescalarnumber (0..100)yesdrive set
    effects.<effect_id>.glow_onlyscalarpercent (0..100)yesdrive set
    effects.<effect_id>.glow_vibrancescalarnumber (0..100)yesdrive set
    effects.<effect_id>.grain_aspectscalarratio (0.25..4)yesdrive set
    effects.<effect_id>.grain_blendenumenumyesdrive set
    effects.<effect_id>.grain_highlightsscalargain (0..2)yesdrive set
    effects.<effect_id>.grain_intensityscalarnumber (0..10)yesdrive set
    effects.<effect_id>.grain_midpointscalarfraction (0..1)yesdrive set
    effects.<effect_id>.grain_midtonesscalargain (0..2)yesdrive set
    effects.<effect_id>.grain_saturationscalarnumber (0..2)yesdrive set
    effects.<effect_id>.grain_shadowsscalargain (0..2)yesdrive set
    effects.<effect_id>.grain_sizescalarnumber (0.1..10)yesdrive set
    effects.<effect_id>.grain_softnessscalarnumber (0..4)yesdrive set
    effects.<effect_id>.grain_speedscalarnumber (0..10)yesdrive set
    effects.<effect_id>.gravity_densityscalardensity (0.01..100)yesdrive set
    effects.<effect_id>.gravity_fixedbooleanbooleanyesdrive set
    effects.<effect_id>.gravity_scalescalarfactor (-10..10)yesdrive set
    effects.<effect_id>.gravity_softnessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.green_bluescalarpercent (-200..200)yesdrive set
    effects.<effect_id>.green_constscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.green_exposurescalarf-stops (-20..20)yesdrive set
    effects.<effect_id>.green_gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.green_greenscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.green_input_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.green_input_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.green_offsetscalarlinear offset (-0.5..0.5)yesdrive set
    effects.<effect_id>.green_output_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.green_output_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.green_redscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.greensscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.greens_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.greens_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.greens_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.grid_sizepoint2px pointyesdrive set
    effects.<effect_id>.highlight_bluescalarpercent (-100..100)yesdrive set
    effects.<effect_id>.highlight_greenscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.highlight_redscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.highlight_rolloffscalarnumber (0..100)yesdrive set
    effects.<effect_id>.highlightsscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.highlights_onlyscalarpercent (0..1000)yesdrive set
    effects.<effect_id>.host_drawenumenumyes-
    effects.<effect_id>.hsl_exposurescalarstops (-10..10)yesdrive set
    effects.<effect_id>.hsl_hue_centrescalardegrees (0..360)yesdrive set
    effects.<effect_id>.hsl_hue_widthscalardegrees (0..360)yesdrive set
    effects.<effect_id>.hsl_luma_maxscalarpercent (0..100)yesdrive set
    effects.<effect_id>.hsl_luma_minscalarpercent (0..100)yesdrive set
    effects.<effect_id>.hsl_sat_maxscalarpercent (0..100)yesdrive set
    effects.<effect_id>.hsl_sat_minscalarpercent (0..100)yesdrive set
    effects.<effect_id>.hsl_saturationscalarpercent (0..300)yesdrive set
    effects.<effect_id>.hsl_softnessscalarpercent (0..100)yesdrive set
    effects.<effect_id>.hsl_temperaturescalarnumber (-100..100)yesdrive set
    effects.<effect_id>.hsl_tintscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.ignore_collisionsbooleanbooleanyes-
    effects.<effect_id>.inflation_timescalarseconds (0..10)yesdrive set
    effects.<effect_id>.inherit_emitter_velocityscalarfraction (0..2)yesdrive set
    effects.<effect_id>.inherit_velocitybooleanbooleanyes-
    effects.<effect_id>.inner_tintcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.input_lutasset_refasset idyesdrive set
    effects.<effect_id>.input_noiseenumenumyesdrive set
    effects.<effect_id>.intensity_bluescalarnumber (0..4)yesdrive set
    effects.<effect_id>.intensity_greenscalarnumber (0..4)yesdrive set
    effects.<effect_id>.intensity_redscalarnumber (0..4)yesdrive set
    effects.<effect_id>.interpolate_palettebooleanbooleanyesdrive set
    effects.<effect_id>.invertbooleanbooleanyesdrive set
    effects.<effect_id>.invert_mapbooleanbooleanyesdrive set
    effects.<effect_id>.iteration_scalescalarpercent per iteration (100 = steady)yesdrive set
    effects.<effect_id>.iteration_speedscalarpercent per iteration (100 = steady)yesdrive set
    effects.<effect_id>.iterationsscalarcount (1..1000)yesdrive set
    effects.<effect_id>.kaleidospace_axesenumenumyes-
    effects.<effect_id>.kaleidospace_centrepoint2px pair (-8192..8192)yesdrive set
    effects.<effect_id>.kaleidospace_modeenumenumyes-
    effects.<effect_id>.kill_below_speedscalarpx/s (0..10000)yesdrive set
    effects.<effect_id>.lifescalars (0.01..300)yesdrive set
    effects.<effect_id>.life_variancescalars (0..150)yesdrive set
    effects.<effect_id>.liftscalarcoefficient (0..1)yesdrive set
    effects.<effect_id>.lighting_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.limit_bouncescalarfraction (0..1)yesdrive set
    effects.<effect_id>.limit_lowerscalardegrees (-360..360)yesdrive set
    effects.<effect_id>.limit_upperscalardegrees (-360..360)yesdrive set
    effects.<effect_id>.limits_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.line_offsetscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.linear_dampingscalarfraction (0..1)yesdrive set
    effects.<effect_id>.linear_limit_lowerscalarpx (-16384..16384)yesdrive set
    effects.<effect_id>.linear_limit_lower_yscalarpx (-16384..16384)yesdrive set
    effects.<effect_id>.linear_limit_upperscalarpx (-16384..16384)yesdrive set
    effects.<effect_id>.linear_limit_upper_yscalarpx (-16384..16384)yesdrive set
    effects.<effect_id>.linear_limits_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.local_anglescalardegrees (-360..360)yesdrive set
    effects.<effect_id>.local_modeenumenumyes-
    effects.<effect_id>.local_strengthscalarpx/s^2 (0..100000)yesdrive set
    effects.<effect_id>.loopbooleanbooleanyesdrive set
    effects.<effect_id>.loop_startscalarlayer framesyesdrive set
    effects.<effect_id>.lumetri_curve_bluecurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.lumetri_curve_greencurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.lumetri_curve_hue_huecurve_pointscurve point list ({x, y} 0..1; x = hue, cyclic; y 0.5 = no shift)yesdrive set
    effects.<effect_id>.lumetri_curve_hue_lumacurve_pointscurve point list ({x, y} 0..1; x = hue, cyclic; y 0.5 = x1)yesdrive set
    effects.<effect_id>.lumetri_curve_hue_satcurve_pointscurve point list ({x, y} 0..1; x = hue, cyclic; y 0.5 = x1)yesdrive set
    effects.<effect_id>.lumetri_curve_luma_satcurve_pointscurve point list ({x, y} 0..1; x = luma; y 0.5 = x1)yesdrive set
    effects.<effect_id>.lumetri_curve_redcurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.lumetri_curve_rgbcurve_pointscurve point list ({x, y} 0..1)yesdrive set
    effects.<effect_id>.lumetri_curve_sat_satcurve_pointscurve point list ({x, y} 0..1; x = saturation; y 0.5 = x1)yesdrive set
    effects.<effect_id>.lumetri_exposurescalarstops (-10..10)yesdrive set
    effects.<effect_id>.lumetri_saturationscalarpercent (0..300)yesdrive set
    effects.<effect_id>.magentasscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.magentas_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.magentas_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.magentas_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.map_blackcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.map_channelenumenumyes-
    effects.<effect_id>.map_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.map_tapenumenumyesdrive set
    effects.<effect_id>.map_whitecolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.maps_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.massscalarkg (0.001..100000)yesdrive set
    effects.<effect_id>.mass_modeenumenumyes-
    effects.<effect_id>.mass_variancescalarkg (0..1000)yesdrive set
    effects.<effect_id>.master_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.master_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.master_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.max_horizontalscalarpx (-4096..4096)yesdrive set
    effects.<effect_id>.max_verticalscalarpx (-4096..4096)yesdrive set
    effects.<effect_id>.maximumscalarpercent (-400..400)yesdrive set
    effects.<effect_id>.midtone_bluescalarpercent (-100..100)yesdrive set
    effects.<effect_id>.midtone_greenscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.midtone_redscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.minimax_radiusscalarpx (0..127)yesdrive set
    effects.<effect_id>.minimumscalarpercent (-400..400)yesdrive set
    effects.<effect_id>.modeenumenumyesdrive set
    effects.<effect_id>.monochromaticbooleanbooleanyesdrive set
    effects.<effect_id>.monochromebooleanbooleanyesdrive set
    effects.<effect_id>.noise_brightnessscalarnumber (-150..150)yesdrive set
    effects.<effect_id>.noise_contrastscalarpercent (0..400)yesdrive set
    effects.<effect_id>.noise_directionscalardegreesyesdrive set
    effects.<effect_id>.noise_opacityscalarpercent (0..100)yesdrive set
    effects.<effect_id>.noise_speedscalarpercent (0..100)yesdrive set
    effects.<effect_id>.noise_typeenumenumyesdrive set
    effects.<effect_id>.offsetpoint2[x, y] pxyesdrive set
    effects.<effect_id>.offset_directionenumenumyesdrive set
    effects.<effect_id>.offset_turbulencepoint2pxyesdrive set
    effects.<effect_id>.offset_variationscalarpercent (0..100)yesdrive set
    effects.<effect_id>.one_wayenumenumyes-
    effects.<effect_id>.opacityscalarpercent (0..100)yesdrive set
    effects.<effect_id>.opacity_deltascalarpercent (-100..100)yesdrive set
    effects.<effect_id>.opacity_over_lifecurve_pointscurve (fraction over life)yesdrive set
    effects.<effect_id>.opacity_stepscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.operationenumenumyesdrive set
    effects.<effect_id>.outer_tintcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.output_channelenumenumyesdrive set
    effects.<effect_id>.output_cyclegradient_stopsgradient stop listyesdrive set
    effects.<effect_id>.overflowenumenumyesdrive set
    effects.<effect_id>.own_anchorpoint2pxyesdrive set
    effects.<effect_id>.parent_rate_percentscalarpercent (0..1000)yesdrive set
    effects.<effect_id>.parent_systemeffect_refeffect idyes-
    effects.<effect_id>.parent_triggerenumenumyes-
    effects.<effect_id>.particle_blendenumenumyes-
    effects.<effect_id>.particle_colourcolourcolouryesdrive set
    effects.<effect_id>.particle_dragscalarfraction (0..1)yesdrive set
    effects.<effect_id>.particle_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.particle_massscalarkg (0.1..1000)yesdrive set
    effects.<effect_id>.particle_opacityscalarpercent (0..100)yesdrive set
    effects.<effect_id>.particle_rotationscalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.particle_seedintegerseed (0..1000000)yes-
    effects.<effect_id>.path_endscalarpercent (0..100)yesdrive set
    effects.<effect_id>.path_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.path_offsetscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.path_reversebooleanbooleanyesdrive set
    effects.<effect_id>.path_sideenumenumyesdrive set
    effects.<effect_id>.path_sourceenumenumyesdrive set
    effects.<effect_id>.path_startscalarpercent (0..100)yesdrive set
    effects.<effect_id>.path_stepscalarpx (1..16384)yesdrive set
    effects.<effect_id>.perpendicular_variationscalarpercent (0..100)yesdrive set
    effects.<effect_id>.perspective_offsetbooleanbooleanyesdrive set
    effects.<effect_id>.phase_shiftscalardegreesyesdrive set
    effects.<effect_id>.physics_enabledbooleanbooleanyesdrive set
    effects.<effect_id>.pin_edgeenumenumyes-
    effects.<effect_id>.pinningenumenumyesdrive set
    effects.<effect_id>.position_deltapoint2px pointyesdrive set
    effects.<effect_id>.position_relative_to_parentbooleanbooleanyesdrive set
    effects.<effect_id>.pre_runscalars (0..300)yes-
    effects.<effect_id>.preserve_luminositybooleanbooleanyesdrive set
    effects.<effect_id>.pressurescalarfactor (-2..5)yesdrive set
    effects.<effect_id>.pulsescalarfactor (0.5..2)yesdrive set
    effects.<effect_id>.push_bodiesbooleanbooleanyesdrive set
    effects.<effect_id>.qualityenumenumyesdrive set
    effects.<effect_id>.radial_offsetscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.radial_radiusscalarpx (0..8192)yesdrive set
    effects.<effect_id>.radiatescalarnumber (0..100)yesdrive set
    effects.<effect_id>.radiate_centerpoint2px pointyesdrive set
    effects.<effect_id>.radiuspoint2[x, y] pxyesdrive set
    effects.<effect_id>.radius_xscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.radius_yscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.ratescalarpercent per second (-1000..1000)yesdrive set
    effects.<effect_id>.rate_modeenumenumyes-
    effects.<effect_id>.rate_per_pxscalarparticles/px (0..1000)yesdrive set
    effects.<effect_id>.rate_variationscalarpercent (0..100)yesdrive set
    effects.<effect_id>.red_bluescalarpercent (-200..200)yesdrive set
    effects.<effect_id>.red_constscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.red_exposurescalarf-stops (-20..20)yesdrive set
    effects.<effect_id>.red_gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.red_greenscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.red_input_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.red_input_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.red_offsetscalarlinear offset (-0.5..0.5)yesdrive set
    effects.<effect_id>.red_output_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.red_output_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.red_redscalarpercent (-200..200)yesdrive set
    effects.<effect_id>.redsscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.reds_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.reds_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.reds_saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.render_typeenumenumyesdrive set
    effects.<effect_id>.resize_layerbooleanbooleanyesdrive set
    effects.<effect_id>.respect_massbooleanbooleanyesdrive set
    effects.<effect_id>.rest_lengthscalarpx (0..16384)yesdrive set
    effects.<effect_id>.rest_length_autobooleanbooleanyes-
    effects.<effect_id>.rgb_gammascalargamma (0.1..10)yesdrive set
    effects.<effect_id>.rgb_input_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.rgb_input_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.rgb_output_blackscalarfraction (0..1)yesdrive set
    effects.<effect_id>.rgb_output_whitescalarfraction (0..1)yesdrive set
    effects.<effect_id>.rotationscalardegreesyesdrive set
    effects.<effect_id>.rotation_deltascalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.rotation_lockedbooleanbooleanyesdrive set
    effects.<effect_id>.rotation_variancescalardegrees (0..360)yesdrive set
    effects.<effect_id>.row_offsetscalarpercent (0..100)yesdrive set
    effects.<effect_id>.row_offset_variationscalarpercent (0..100)yesdrive set
    effects.<effect_id>.sample_countintegerinteger (3..24)yesdrive set
    effects.<effect_id>.sample_modeenumenumyesdrive set
    effects.<effect_id>.sample_radiusscalarpx (0..200)yesdrive set
    effects.<effect_id>.saturationscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.scalescalarpercent (10..10000)yesdrive set
    effects.<effect_id>.scale_deltascalarpercent (-400..400)yesdrive set
    effects.<effect_id>.scale_heightscalarpercent (10..10000)yesdrive set
    effects.<effect_id>.scale_widthscalarpercent (10..10000)yesdrive set
    effects.<effect_id>.seedintegerinteger (0..1000000)yesdrive set
    effects.<effect_id>.self_collidebooleanbooleanyesdrive set
    effects.<effect_id>.self_collisionbooleanbooleanyesdrive set
    effects.<effect_id>.shadow_anglescalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.shadow_bluescalarpercent (-100..100)yesdrive set
    effects.<effect_id>.shadow_colourcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.shadow_distancescalarpx (0..16384)yesdrive set
    effects.<effect_id>.shadow_greenscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.shadow_opacityscalarpercent (0..100)yesdrive set
    effects.<effect_id>.shadow_redscalarpercent (-100..100)yesdrive set
    effects.<effect_id>.shadow_softnessscalarpx (0..512)yesdrive set
    effects.<effect_id>.shadow_spreadscalarpx (-512..512)yesdrive set
    effects.<effect_id>.shadowlet_anglescalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.shadowlet_colourcolourcolouryesdrive set
    effects.<effect_id>.shadowlet_distancescalarpx (0..16384)yesdrive set
    effects.<effect_id>.shadowlet_opacityscalarpercent (0..100)yesdrive set
    effects.<effect_id>.shadowlet_scalescalarfactor (0..10)yesdrive set
    effects.<effect_id>.shadowlet_softnessscalarpx (0..512)yesdrive set
    effects.<effect_id>.shadowsscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.shape_retentionscalarfraction (0..1)yesdrive set
    effects.<effect_id>.sizescalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_affects_dragbooleanbooleanyesdrive set
    effects.<effect_id>.size_affects_massbooleanbooleanyesdrive set
    effects.<effect_id>.size_affects_weightbooleanbooleanyesdrive set
    effects.<effect_id>.size_bluescalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_by_channelbooleanbooleanyesdrive set
    effects.<effect_id>.size_greenscalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_map_amountscalarfraction (0..1)yesdrive set
    effects.<effect_id>.size_over_lifecurve_pointscurve (fraction over life)yesdrive set
    effects.<effect_id>.size_redscalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_variancescalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_xscalarpx (0..4096)yesdrive set
    effects.<effect_id>.size_yscalarpx (0..4096)yesdrive set
    effects.<effect_id>.slider_axis_anglescalardegrees (-360..360)yes-
    effects.<effect_id>.smoothnessscalarpercent (0..100)yesdrive set
    effects.<effect_id>.softnessscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.source_1_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.source_1_takeenumenumyesdrive set
    effects.<effect_id>.source_1_tapenumenumyesdrive set
    effects.<effect_id>.source_2_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.source_2_takeenumenumyesdrive set
    effects.<effect_id>.source_2_tapenumenumyesdrive set
    effects.<effect_id>.source_3_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.source_3_takeenumenumyesdrive set
    effects.<effect_id>.source_3_tapenumenumyesdrive set
    effects.<effect_id>.source_4_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.source_4_takeenumenumyesdrive set
    effects.<effect_id>.source_4_tapenumenumyesdrive set
    effects.<effect_id>.source_endscalarlayer framesyesdrive set
    effects.<effect_id>.source_startscalarlayer framesyesdrive set
    effects.<effect_id>.speedscalarpx/s (0..20000)yesdrive set
    effects.<effect_id>.speed_variancescalarpx/s (0..20000)yesdrive set
    effects.<effect_id>.spherical_centrepoint2px pair (-8192..8192)yesdrive set
    effects.<effect_id>.spherical_featherscalarpx (0..8192)yesdrive set
    effects.<effect_id>.spherical_radiusscalarpx (0..8192)yesdrive set
    effects.<effect_id>.spherical_strengthscalarpx (-1000..1000)yesdrive set
    effects.<effect_id>.spinscalardeg/s (-36000..36000)yesdrive set
    effects.<effect_id>.spin_variancescalardeg/s (0..36000)yesdrive set
    effects.<effect_id>.spreadscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.sprite_assetasset_refasset idyesdrive set
    effects.<effect_id>.sprite_compcomp_refcomp idyesdrive set
    effects.<effect_id>.sprite_sourceenumenumyesdrive set
    effects.<effect_id>.sprite_timeenumenumyes-
    effects.<effect_id>.start_anglescalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.start_spinscalardeg/s (-36000..36000)yes-
    effects.<effect_id>.start_velocity_anglescalardegrees (-360..360)yes-
    effects.<effect_id>.start_velocity_enabledbooleanbooleanyes-
    effects.<effect_id>.start_velocity_speedscalarpx/s (0..20000)yes-
    effects.<effect_id>.step_amountscalarpercent (0..200)yesdrive set
    effects.<effect_id>.step_modeenumenumyesdrive set
    effects.<effect_id>.step_positionpoint2px pointyesdrive set
    effects.<effect_id>.step_rotationscalardegrees (-3600..3600)yesdrive set
    effects.<effect_id>.step_scalescalarpercent (-400..400)yesdrive set
    effects.<effect_id>.stiffnessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.streak_countintegersamples (1..64)yesdrive set
    effects.<effect_id>.streak_sizescalarfraction (0..1)yesdrive set
    effects.<effect_id>.streak_spacingscalars (0..0.5)yesdrive set
    effects.<effect_id>.strengthscalarpercent (-400..400)yesdrive set
    effects.<effect_id>.stretchscalarfactor (-10..10)yesdrive set
    effects.<effect_id>.stretch_to_fitbooleanbooleanyesdrive set
    effects.<effect_id>.stretchinessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.stroke_jitterscalarfraction (0..1)yesdrive set
    effects.<effect_id>.sub_influencescalarpercent (0..100)yesdrive set
    effects.<effect_id>.sub_offsetpoint2pxyesdrive set
    effects.<effect_id>.sub_rotationscalardegreesyesdrive set
    effects.<effect_id>.sub_scalingscalarpercent (10..100)yesdrive set
    effects.<effect_id>.suspension_axis_anglescalardegrees (-360..360)yes-
    effects.<effect_id>.suspension_dampingscalarfraction (0..1)yesdrive set
    effects.<effect_id>.suspension_restscalarpx (-16384..16384)yesdrive set
    effects.<effect_id>.suspension_stiffnessscalarfraction (0..1)yesdrive set
    effects.<effect_id>.swirlscalardegrees (-360..360)yesdrive set
    effects.<effect_id>.take_alphaenumenumyesdrive set
    effects.<effect_id>.take_blueenumenumyesdrive set
    effects.<effect_id>.take_greenenumenumyesdrive set
    effects.<effect_id>.take_redenumenumyesdrive set
    effects.<effect_id>.target_layerlayer_reflayer idyesdrive set
    effects.<effect_id>.targets.<target_id>.layerlayer_reflayer idyesdrive set
    effects.<effect_id>.targets.<target_id>.modeenumenum (add | subtract | multiply | divide)yesdrive set
    effects.<effect_id>.temperaturescalarnumber (-100..100)yesdrive set
    effects.<effect_id>.thicknessscalarpx (0.5..50)yesdrive set
    effects.<effect_id>.time_deltascalarframes (-120..120)yesdrive set
    effects.<effect_id>.time_factorscalarfactor (-10..10)yesdrive set
    effects.<effect_id>.time_offsetscalarframes (-120..120)yesdrive set
    effects.<effect_id>.time_offset_variationscalarpercent (0..100)yesdrive set
    effects.<effect_id>.time_ratescalarpercent per second (-400..400)yesdrive set
    effects.<effect_id>.tintbooleanbooleanyesdrive set
    effects.<effect_id>.tint_amountscalarpercent (0..100)yesdrive set
    effects.<effect_id>.tint_blendenumenumyesdrive set
    effects.<effect_id>.tint_colourcolour[r, g, b, a] 0..1yesdrive set
    effects.<effect_id>.transform_modeenumenumyesdrive set
    effects.<effect_id>.triggerenumenumyesdrive set
    effects.<effect_id>.trim_endscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.trim_offsetscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.trim_startscalarnumber (wire units of the key)yesdrive set
    effects.<effect_id>.turbulence_affectenumenumyes-
    effects.<effect_id>.turbulence_amountscalarpx (0..1000)yesdrive set
    effects.<effect_id>.turbulence_evolutionscalarHz (0..10)yesdrive set
    effects.<effect_id>.turbulence_frequencyscalarHz (0..10)yesdrive set
    effects.<effect_id>.turbulence_map_amountscalarfraction (0..1)yesdrive set
    effects.<effect_id>.turbulence_octavesintegeroctaves (1..4)yes-
    effects.<effect_id>.turbulence_scalescalarpx (1..2000)yesdrive set
    effects.<effect_id>.turbulence_speedscalarnumber (0..500)yesdrive set
    effects.<effect_id>.uniform_scalingbooleanbooleanyesdrive set
    effects.<effect_id>.uniform_sizebooleanbooleanyesdrive set
    effects.<effect_id>.use_horizontalenumenumyesdrive set
    effects.<effect_id>.use_verticalenumenumyesdrive set
    effects.<effect_id>.vertical_biasscalarpercent (0..100)yesdrive set
    effects.<effect_id>.vibrancescalarnumber (-100..100)yesdrive set
    effects.<effect_id>.vignette_amountscalarnumber (-5..5)yesdrive set
    effects.<effect_id>.vignette_featherscalarnumber (0..100)yesdrive set
    effects.<effect_id>.vignette_midpointscalarnumber (0..100)yesdrive set
    effects.<effect_id>.vignette_roundnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.visibility_thresholdscalarpercent (0..100)yesdrive set
    effects.<effect_id>.vortex_centrepoint2px pair (-8192..8192)yesdrive set
    effects.<effect_id>.vortex_falloffscalarpx (1..8192)yesdrive set
    effects.<effect_id>.vortex_strengthscalardeg/s (-3600..3600)yesdrive set
    effects.<effect_id>.wb_tintscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.weightscalarfactor (0..10)yesdrive set
    effects.<effect_id>.weight_variancescalarfactor (0..10)yesdrive set
    effects.<effect_id>.wheel_highlightscolourcolouryesdrive set
    effects.<effect_id>.wheel_hingebooleanbooleanyesdrive set
    effects.<effect_id>.wheel_midtonescolourcolouryesdrive set
    effects.<effect_id>.wheel_shadowscolourcolouryesdrive set
    effects.<effect_id>.whitesscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.windpoint2px/s^2 pair (-10000..10000)yesdrive set
    effects.<effect_id>.wobble_amountscalarpx (0..200)yesdrive set
    effects.<effect_id>.wobble_scalescalarpx (8..2000)yesdrive set
    effects.<effect_id>.wrap_pixelsbooleanbooleanyesdrive set
    effects.<effect_id>.yellowsscalarpercent (-200..300)yesdrive set
    effects.<effect_id>.yellows_huescalardegrees (-180..180)yesdrive set
    effects.<effect_id>.yellows_lightnessscalarnumber (-100..100)yesdrive set
    effects.<effect_id>.yellows_saturationscalarnumber (-100..100)yesdrive set

    Worked examples#

    An effect member's address is the owning layer's id, a colon, then effects.<effect_id>.<member> - the id comes from the effect's own row (hover it in the timeline), the member names come from the table above. Scalars, points, colours and booleans in the drive set all take per-frame writes; the enum and seed statics (kind pickers, emitter shapes, collision events) change through the panel instead, and a write to one refuses with the typed type_mismatch.

    Driving a PHYSICS member feeds the simulation itself: the fold samples the driven value at every substep, so a scripted force ramps exactly as smoothly as a keyframed one. Driving a LOOP member re-shapes the layer's local clock, which every keyframed track on that layer then reads through - the three examples below walk one of each.

    Worked example: A gust of scripted wind#

    The scene. A physics yard: a crate drops onto a floor collider while a fan at the left edge waits to blow, its wind force authored at strength zero so a script owns the gust.

    • The comp Yard: 640 by 360 at 25 fps, 100 frames (4 seconds), with gravity switched on.
    • Crate: a solid layer, at [160, 120], 48 by 48, filled #2ec4b6.
      • The effect gravity rigid body (effects.effect_1 in scripts): a gravity rigid body effect, at its defaults.
    • Floor: a solid layer, at [320, 336], 640 by 24, filled #3a4048.
      • The effect gravity collider (effects.effect_2 in scripts): a gravity collider effect, at its defaults.
    • Fan: a solid layer, at [24, 288], 20 by 72, filled #ffd166.
      • The effect Wind machine (effects.effect_3 in scripts): a gravity force effect, at its defaults.

    The script. Add a project script named Gust and paste:

    export const outputs = ["layer_3:effects.effect_3.force_strength"];
    
    export function frame({ frame: now }) {
      return linear(now, 20, 40, 0, 4000);
    }
    

    Line by line:

    • Line 1: The output addresses the fan's wind force by effect member: the Fan layer's id, then effects.effect_3.force_strength - the same key its timeline row carries. The force is authored at strength 0, so the script owns the gust entirely.
    • Line 3: The clock arrives destructured because a function named frame shadows the frame global inside its own body.
    • Line 4: linear() clamps at both ends: strength holds at 0 until frame 20 (the crate falls and lands in calm air), ramps to 4000 by frame 40, then holds. The simulation samples the driven strength every substep, so the shove builds as smoothly as any keyframe.

    What you see. The crate drops, lands square on the floor and rests; from frame 20 the fan's gust rises and shoves it skidding right, tumbling out of frame.

    The crate drops, lands square on the floor and rests; from frame 20 the fan's gust rises and shoves it skidding right, tumbling out of frame.

    Worked example: Sparks on a throttle#

    The scene. A small amber nozzle near the bottom of a dark stage carrying a particle system named Sparks, its emitter pointing straight up at the family defaults.

    • The comp Night: 640 by 360 at 25 fps, 100 frames (4 seconds), with gravity switched on.
    • Nozzle: a solid layer, at [320, 300], 16 by 16, filled #ffd166.
      • The effect Sparks (effects.effect_1 in scripts): a gravity particles effect, set to size 6, particle_colour #ffd166.

    The script. Add a project script named Throttle and paste:

    export const outputs = ["layer_1:effects.effect_1.emission_rate"];
    
    export function frame({ frame: now }) {
      return linear(now, 0, 64, 20, 340);
    }
    

    Line by line:

    • Line 1: One declared output: the particle system's emission rate, addressed as effects.effect_1.emission_rate on the Nozzle layer that carries it.
    • Lines 3-4: The rate opens the comp at 20 particles per second and climbs to 340 by frame 64 - a throttle, not a switch. Particle birth is an integral of the rate over time, so a driven ramp thickens the plume smoothly, and the seeded particle streams stay identical on every scrub and every render.

    What you see. A thin amber sparkle from the nozzle thickens into a dense fountain as the scripted emission rate climbs from 20 to 340 particles per second.

    A thin amber sparkle from the nozzle thickens into a dense fountain as the scripted emission rate climbs from 20 to 340 particles per second.

    Worked example: Re-cut a loop from a slider#

    The scene. A coral square keyframed to sweep the stage left to right over 20 frames, wrapped in a Loop effect whose window a Beat frames slider will re-cut.

    • The comp Metronome: 640 by 360 at 25 fps, 100 frames (4 seconds).
    • Square: a solid layer, at [80, 180], 40 by 40, filled #ff5d73.
      • The effect loop (effects.effect_1 in scripts): a loop effect, set to source_start 0, source_end 20, iterations 1000.
      • Keyframe transform.position at frame 0: [80, 180] (linear).
      • Keyframe transform.position at frame 20: [560, 180] (linear).
      • An expression control: Beat frames, a slider (4 to 20, step 1), set to 10.

    The script. Add a project script named Recut and paste:

    export const outputs = ["layer_1:effects.effect_1.source_end"];
    
    export function frame() {
      return control("Beat frames").value;
    }
    

    Line by line:

    • Line 1: The output is a loop member: effects.effect_1.source_end on the Square layer, in layer frames - the authored window replays frames 0 to 20 of the sweep.
    • Lines 3-4: The script simply hands the Beat frames slider through, so the loop's window is whatever the slider says - 10 by default. Scrub the slider and the beat re-cuts live: a driven loop member re-shapes the layer's local clock, and every keyframed track on the layer reads through the re-shaped clock.

    What you see. Instead of one 20-frame sweep repeating, the square snaps back every 10 frames - twice the tempo - and dragging the Beat frames slider re-times the loop live.

    Instead of one 20-frame sweep repeating, the square snaps back every 10 frames - twice the tempo - and dragging the Beat frames slider re-times the loop live.