Skip to content

BouncingBallsEffect

Source: BouncingBallsEffect.h

Ball

struct Ball
src/light/effects/BouncingBallsEffect.h:125

Public Attributes

float impactVelocity = 0.0f

uint32_t lastBounceTime = 0

BouncingBallsEffect

class BouncingBallsEffect
src/light/effects/BouncingBallsEffect.h:23

Inherits: EffectBase

Physics effect: gravity-bounced balls trailing along the layer.

Public Attributes

uint8_t grav = 128

uint8_t numBalls = 8

Public Methods

virtual inline constchar * tags() const override : Curated emoji tags for the module picker's chip filter — extras beyond the role chip (which the UI derives from role() on its own).

virtual inline Dim dimensions() const override : Which axes the effect iterates — a claim, not a guarantee about the layer.

virtual inline void defineControls() override : defineControls MUST be idempotent and pure: only controls_.clear() + controls_.addX().

virtual inline void prepare() override : Tier-3 of the control-change split (see onControlChanged above): the module (re)allocates / recomputes whatever derived state it owns — an effect's heap, a Layer's mapping LUT, the Drivers output buffer.

virtual inline void tick() override

Public Static Attributes

constexpruint8_t maxNumBalls = 16