PHPackages                             scrapyard-io/lux - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. scrapyard-io/lux

ActiveLibrary

scrapyard-io/lux
================

The ScrapyardIO LED Visualization package.

0.6.x-dev(yesterday)00MITPHPPHP ^8.4|^8.5|^8.6

Since Jul 31Pushed yesterdayCompare

[ Source](https://github.com/ScrapyardIO/lux)[ Packagist](https://packagist.org/packages/scrapyard-io/lux)[ Docs](https://scrapyard-io.projectsaturnstudios.com)[ RSS](/packages/scrapyard-io-lux/feed)WikiDiscussions 0.6.x Synced today

READMEChangelogDependencies (6)Versions (2)Used By (0)

ScrapyardIO Lux
===============

[](#scrapyardio-lux)

[![Latest Version on Packagist](https://camo.githubusercontent.com/a18d170e2d6d55c88dd37fcf11f14a75167f4b3259e698a3be4d54f90e2aad2f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7363726170796172642d696f2f6c75782e737667)](https://packagist.org/packages/scrapyard-io/lux)[![License](https://camo.githubusercontent.com/4af477fc5c8b04f093e8bef55777fee32d5e23bf16a3018bf6c13dade40f90e9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7363726170796172642d696f2f6c75782e737667)](LICENSE)

Lux is the ScrapyardIO LED visualization library. It ships 36 animations that drive any `LEDShape` (via the `NeoPixel` actuator) through a registry and the `Visualization` magic alias.

Requirements
------------

[](#requirements)

- PHP 8.4+
- `scrapyard-io/framework` / `fabricate/*` 0.6.x
- `scrapyard-io/waveforms` 0.6.x

Installation
------------

[](#installation)

In the ScrapyardIO monorepo skeleton, require the path package:

```
composer require scrapyard-io/lux:^0.6.0
php workshop package:discover
```

Publish the config if you want to toggle entries:

```
php workshop vendor:publish --provider="ScrapyardIO\Lux\LuxServiceProvider"
```

Quick start
-----------

[](#quick-start)

```
use ScrapyardIO\Waveforms\Light\NeoPixel;

$neopixel = NeoPixel::circuit('w281x-strip');

// Blocking — paced at the visualization's target FPS (default 40)
Visualization::play('fire', $neopixel);

// Cooperative — for use inside a Sketch loop()
$player = Visualization::open('rainbow-cycle', $neopixel);

public function loop(): SketchLoopResult
{
    return $player->tick();
}
```

Interactive visualizations take additional inputs after the NeoPixel:

```
Visualization::play('vu-meter', $neopixel, $potentiometer);
Visualization::play('gamepad-paint', $neopixel, $gameController);
```

API
---

[](#api)

MethodBehavior`Visualization::play($name, $neopixel, ...$inputs)`Blocking paced loop with SIGINT/SIGTERM shutdown`Visualization::open($name, $neopixel, ...$inputs)`Returns a `VisualizationPlayer` for one-frame `tick()``Visualization::listVisualizations()``name => class-string` map`Visualization::addVisualization($name, $class)`Register a custom visualization`Visualization::hasVisualization($name)`Existence checkCreate your own with Workshop:

```
php workshop make:visualization MyEffect
```

Visualizations
--------------

[](#visualizations)

Default target FPS is **40** unless noted. All run on any `LEDShape`. Entries marked **2D** take a richer path when handed an `LEDGrid`.

### Ambient

[](#ambient)

NameAppearanceInputs`solid`Solid fill—`gradient`Static palette gradient—`rainbow`Full-spectrum spread—`rainbow-cycle`Cycling rainbow—`color-waves`Soft palette waves—`breathe`Whole-strip breathe pulse—`plasma`Plasma field— (2D)### Motion

[](#motion)

NameAppearanceInputs`color-wipe`Wipe on / wipe off—`theater-chase`Every-third-pixel chase—`theater-chase-rainbow`Rainbow theater chase—`running-lights`Soft sine running lights—`comet`Head + fading trail—`larson-scanner`Cylon / Knight Rider bounce—`bounce`Multiple bouncing dots—`meteor-rain`Meteor streaks—`sinelon`Weaving trail dot—`juggle`Multi-dot weave—### Sparkle

[](#sparkle)

NameAppearanceInputs`twinkle`Random stars—`twinkle-fade`Fading twinkles—`sparkle`Single sparkle on base—`glitter`Rainbow + white speckles—`confetti`Colored fading speckles—`ripple`Expanding ripple rings—### Natural

[](#natural)

NameAppearanceInputs`fire`Rising fire (Fire2012-style)—`lava`Molten noise—`candle`Warm flicker—`pacifica`Layered ocean—`noise`Evolving noise field— (2D)`rain`Falling rain— (2D)### Utility

[](#utility)

NameAppearanceInputs`strobe`Hard flash—`police`Red/blue flashers—`heartbeat`Double-pulse throb—`bpm`Musical BPM stripes—### Interactive

[](#interactive)

NameAppearanceRequired inputs`vu-meter`Level bar`Potentiometer``slider-track`Thumb highlight`Potentiometer``gamepad-paint`Stick painting`GameController` (2D)Configuration
-------------

[](#configuration)

[`config/lux.php`](config/lux.php) maps kebab-case names to classes with an `enabled` flag. Disabled entries are not registered at boot.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE) and [ATTRIBUTION.md](ATTRIBUTION.md).

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10563160?v=4)[Angel Gonzalez](/maintainers/projectsaturnstudios)[@projectsaturnstudios](https://github.com/projectsaturnstudios)

---

Top Contributors

[![projectsaturnstudios](https://avatars.githubusercontent.com/u/10563160?v=4)](https://github.com/projectsaturnstudios "projectsaturnstudios (2 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/scrapyard-io-lux/health.svg)

```
[![Health](https://phpackages.com/badges/scrapyard-io-lux/health.svg)](https://phpackages.com/packages/scrapyard-io-lux)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
