UINumberField palette("Palette", 0, 0, 2)
void spawnMeteor(float intensity=1.0f)
Spawn a BEAT meteor at position 0, traveling toward end of strip.
void setMeteorGradient(CRGB headColor, CRGB midColor, CRGB tailColor)
Set the meteor color gradient: head → mid → tail.
fl::vector< DebrisParticle > mDebrisParticles
void setAmbientTrailIntensity(u8 intensity)
Ambient trail intensity: 0 = no trail, 255 = long persistent trail.
fl::vector< MeteorParticle > mMeteorParticles
void spawnDebrisFromMeteor(MeteorParticle &m, u32 now)
void setAmbientBrightnessDecay(float decay)
Per-frame brightness decay for ambient particles.
DebrisParticle * tryAllocateDebris()
MeteorParticle * tryAllocateMeteor()
void setDebrisBrightnessDecay(float decay)
Per-frame brightness decay for debris particles. Default 0.90.
float mDebrisBrightnessDecay
void noiseCircleDraw(u32 now, fl::span< CRGB > dst)
void renderMeteor(const MeteorParticle &m)
void setDebrisVelocityDecay(float decay)
Per-frame velocity decay for debris particles. Default 0.95.
void draw(DrawContext context) override
static s16x16 mapf(s16x16 x, s16x16 in_min, s16x16 in_max, s16x16 out_min, s16x16 out_max)
s16x16 circleNoiseGen(u32 now, s16x16 theta) const
PerlinParticlePunch(u16 num_leds)
static void writeMax(CRGB &dst, const CRGB &src)
CRGBPalette16 mAmbientPalette
float mDebrisVelocityDecay
CRGBPalette16 mNoisePalette
fl::vector< CRGB > mTrailBuffer
void setNoisePalette(const CRGBPalette16 &palette)
Set palette for Perlin noise background.
void setMinVelocity(float minVel)
Minimum velocity before a particle dies.
~PerlinParticlePunch() FL_NOEXCEPT
void setAmbientPalette(const CRGBPalette16 &palette)
Set palette for ambient particles.
void setDrag(float drag)
Set per-frame drag for ambient particles (0.0 = instant stop, 1.0 = no drag).
float mAmbientBrightnessDecay
AmbientParticle * tryAllocateAmbient()
void setSpeed(float speed)
Set velocity multiplier. Default 1.0.
void renderDebris(const DebrisParticle &d)
u8 mAmbientTrailIntensity
void renderAmbient(const AmbientParticle &p)
void setTimeMultiplier(float mult)
Set time multiplier for noise evolution (1.0 = normal, >1 = warp).
fl::string fxName() const override
void spawnAmbient(float intensity=0.5f)
Spawn an ambient particle at a random position.
void setMeteorTrailIntensity(u8 intensity)
Meteor trail intensity: controls how long meteor/debris trails linger.
fl::vector< AmbientParticle > mAmbientParticles
Utility functions for color fill, palettes, blending, and more.
Base definition for an LED controller.
#define FASTLED_SHARED_PTR(type)
Representation of an 8-bit RGB pixel (Red, Green, Blue)