Attributions¶
The people, projects and published algorithms whose work shaped MoonLight. We study their thinking with respect and write our own code against our architecture. A module's @attribution names an entry by any of its names, a person and their company or handle written as one entry, and the module's help links it there. A picture is a Wikimedia Commons file, named after the link as File:<name>, and an entry linking GitHub shows its avatar. A name not listed yet is still allowed: it shows as written until it is added here. The modules that name an entry are read from their headers when the site is built. Any other source file's @attribution line counts too, so code that is no module credits where its idea lives. The deck filters by kind: ๐ง a person, ๐ข a company or shop, ๐งฐ a project or library, ๐ a standard or protocol, ๐งฎ an algorithm, ๐จ an art form or culture.
| Name | Kind | Known for | Attributed by |
|---|---|---|---|
| 4wheeljive |
๐ง | Jeff Holman: flow fields, from a Petrick concept. | ColorTrails, Trails |
| Adafruit | ๐ข | The LCD_CAM discovery behind the S3 driver. | Hub75, I80Peripheral.h, ParallelSlots.h |
| After Dark | ๐จ | Berkeley Systems' screensavers, the Flying Toasters and the aquarium among them. | FishTank, FlyingToasters |
| Aircoookie |
๐ง | Christian Schwinne, creator of WLED. | Tetrix |
| Andrew Tuline / atuline |
๐ง | The WLED-SR audio-reactive effects. | AudioSpectrum, Blurz, BouncingBalls, FreqMatrix, GEQ, Lissajous, NoiseMeter, Tetrix |
| Art-Net | ๐ | The lighting-network protocol for DMX over IP. | NetworkReceive, NetworkSend |
| Bill Reeves / Particle system |
๐ง๐งฎ | Particle systems, as a technique. | Fireworks, Particles, particles.h |
| blazoncek |
๐ง | Blaลพ Kristan: WLED effects, and their ports. | DistortionWaves, Tetrix |
| Boustrophedon |
๐งฎ | Alternate lines running in reverse, the serpentine wiring of a snaked strip. | Cube, Grid, GridBlacks, Panel, Panels |
| Brandon502 / WildCats08 |
๐ง | Modifiers, particles, and Game of Life. | Checkerboard, GameOfLife, Particles, Pinwheel, Rotate, RubiksCube, StarField |
| Breakout | ๐จ | Atari's 1976 arcade game. | Breakout |
| Bresenham |
๐งฎ | Lines and circles on integer grids. | draw.h |
| Chebyshev distance |
๐งฎ | The grid metric max(|dx|, |dy|). | Block |
| Christophe Gagnier / Moustachauve |
๐ง | Author of the native WLED-Android and WLED-iOS apps, whose source let MoonLight devices appear in them. | HttpServer, WledPacket.h |
| Conical spiral |
๐งฎ | A spiral wound up the surface of a cone. | Spiral |
| Damian Schneider / DedeHai |
๐ง | Author of the WLED Particle System, whose shape our particle kernel follows in fixed point. | Ballpit, Fireworks, particles.h |
| Daniel Shiffman / Coding Train / Nature of Code | ๐ง | The Coding Train's starfield, and The Nature of Code's cellular automata. | GameOfLife, StarField |
| David Jupijn / Rising Step |
๐ง | The contributor the ๐ฆ tag credits on the effects he shaped. | Fire, LavaLamp, Metaballs, Particles, Plasma, Rings, Ripples, Spiral |
| DDP | ๐ | The Distributed Display Protocol, pixel data over UDP. | NetworkReceive, NetworkSend |
| Delphium | ๐ง | HUB75, OSC, HLS, RTSP, NDI, and Windows. | Hls, Hub75, Ndi, Rtsp |
| Demoscene | ๐จ | The real-time art scene of the home-computer era, its water, vector balls and plasma among the tricks. | VectorBalls |
| DougHaber |
๐ง | Doug Haber: nlife-color, Conway's Game of Life with color. | GameOfLife |
| E1.31 / sACN | ๐ | Streaming ACN, DMX over IP as ANSI standardizes it. | NetworkReceive, NetworkSend |
| Eric Marciniak | ๐ง | The car-lights fixture. | CarLights |
| ESPHome | ๐งฐ | Home Assistant discovery, and HUB75. | Hub75, Hub75Slots.h |
| Euclidean distance |
๐งฎ | The straight-line metric. | Circle |
| ewowi |
๐ง | MoonLight, StarLight, WLED 2D, LED preview. | GameOfLife |
| FastLED |
๐งฐ | The canonical LED-effects library whose names and models MoonLight carries forward (scale8, sin8, the gradient-palette model, the beatsin8 family) so a contributor recognizes them on sight. The implementations are our own, integer-only and hot-path-tuned. Color maths and the basic power functions. |
DemoReel, Plasma, RmtLed, I80Peripheral.h, ParallelSlots.h, ParlioPeripheral.h, math8.h |
| FFmpeg | ๐งฐ | The open video toolkit the desktop HLS and RTSP drivers encode through. | Hls |
| Fisher-Yates shuffle |
๐งฎ | A uniform random permutation in one pass. | RandomMap |
| FPP / Falcon Player |
๐งฐ | The show player that prompted PanelCardDriver: if a Linux host can feed a wall of HUB75 panels, so can the board already rendering them. Its receiving-card protocols, and its FSEQ format is what a show file is. | FseqPlayer, PanelCard |
| Frank / softhack007 |
๐ง | Main author of the WLED-MM audio-reactive usermod. The ideas behind AudioService, including the adaptive noise gate analyzed with his permission, descend from years of collaboration, as do the AI principles and the care for code quality. | Audio, Blurz, GEQ |
| GLSL | ๐ | The OpenGL shading language, whose built-in function names the shader kernel keeps. | shader.h |
| Gomez | ๐ง | The demoscene water effect, 2000. | BeatRipples |
| Harald Kubota | ๐ง | An independent write-up of the ColorLight 5A-75B wire format. | PanelCard |
| HLS | ๐ | HTTP Live Streaming, RFC 8216: video as a playlist of short segments. | Hls |
| Hugo Elias | ๐ง | The water surface algorithm. | WaterRipple |
| hzeller |
๐ง | Henner Zeller: the HUB75 lineage on the Pi. | Hub75, Hub75Slots.h |
| IEC 60268-17 |
๐ | VU meter ballistics, to the millisecond. | Spectrum, VuMeters |
| Improv Wi-Fi |
๐ | The open serial provisioning standard the web installer uses. | ImprovProvisioning |
| Iรฑigo Quilez | ๐ง | Distance functions and their operators, smooth minimum, cosine palettes. | PolarNoise, Raymarch, SdfShapes, Tunnel, raymarch.h, shader.h |
| John Hart / Sphere tracing |
๐ง๐งฎ | Sphere tracing, the basis of raymarching. | Raymarch, raymarch.h |
| Jos Stam / Stable Fluids |
๐ง๐งฎ | Stable Fluids, the solver behind the fluid effect. | Fluid, Trails |
| Ken Perlin / Perlin noise |
๐ง๐งฎ | Gradient noise, the field behind fire and clouds. | NoiseMeter |
| ldirko |
๐ง | The Distortion Waves effect. | DistortionWaves |
| Limpkin |
๐ง | The SE16 and LightCrafter boards, RGBW tuning. | FixedRectangle, SingleColumn, SingleRow, StarSky |
| Mark Kriegsman |
๐ง | FastLED's Fire2012, DemoReel100, noise field and rainbow. | DemoReel, Fire, Noise, Rainbow, math8.h |
| Meshtastic | ๐งฐ | The off-grid text mesh whose channel chat gives Talk its shape. | MoonTalk |
| MONSOONO / Flavourdynamics |
๐ง | The Praxis effect. | Praxis |
| mplayer-colorlight | ๐งฐ | The original reverse engineering of the ColorLight receiving cards. | PanelCard |
| MQTT | ๐ | The OASIS publish-subscribe protocol, 3.1.1, that home automation speaks. | MqttPacket.h |
| mrcodetastic |
๐ง | ESP32 HUB75 DMA. | Hub75, Hub75Slots.h |
| MycilaSafeBoot |
๐งฐ | Mathieu Carbou's safeboot, with Tasmota's the pattern behind MoonBase. | moonbase_main.cpp |
| NDI | ๐ | NewTek and Vizrt's video-over-network protocol. | Ndi |
| NEC | ๐ | The infrared protocol consumer remotes speak. | Infrared |
| NetMindz |
๐ง | Will Tatam: WLED audio sync, and the statistics work. | Audio, WLEDAudioSyncPacket.h |
| ObjectFLED |
๐งฐ | Parallel WS2812 output on the Teensy 4 by DMA to a GPIO port. | ParallelLed, GpioDmaPeripheral.h |
| OctoWS2811 | ๐งฐ | Paul Stoffregen's parallel WS2812 library for the Teensy, timer-driven DMA. | ParallelLed, GpioDmaPeripheral.h |
| Pac-Man | ๐จ | Namco's 1980 arcade game. | Pacman |
| Philips Hue | ๐ข | The smart-light bridge and its local REST API. | Hue |
| Piper |
๐งฐ | OHF-Voice's offline text-to-speech that narrates the documentation clips, the voice you hear, with voice models from rhasspy. GPL, and used as a tool rather than linked: MoonTube calls it to render an audio track. | mtvoiceover.py |
| Polar coordinates |
๐งฎ | A point as an angle and a radius. | CarLights, Pinwheel, PolarNoise, Ring, Rings241, Wheel |
| Pong |
๐จ | Atari's 1972 arcade game. | Pong |
| Quindor / QuinLED | ๐ง๐ข | The devices much of this runs on. | |
| raster-fonts |
๐งฐ | The public bitmap console fonts the text effects draw with. | fonts.h |
| rhasspy | ๐งฐ | The piper-voices models Piper speaks with. | mtvoiceover.py |
| Robert Bridson / Curl noise | ๐ง๐งฎ | Curl noise, SIGGRAPH 2007. | Nebula |
| RobWomp / wompslab |
๐ง | HUB75 drivers, and Linux on NanoPi and Pi 5. | Hub75 |
| Rotation matrix |
๐งฎ | A rotation as a matrix product. | Rotate |
| RTP | ๐ | The RTP payload format for H.264, RFC 6184: how a frame is cut into packets. | Rtsp |
| RTSP | ๐ | The Real Time Streaming Protocol, RFC 2326: a player pulls a live stream. | Rtsp |
| Semi-implicit Euler | ๐งฎ | The integration the particle kernel runs on: velocity from the forces, then position from the new velocity. | particles.h |
| Space Invaders | ๐จ | Taito's 1978 arcade game. | SpaceInvaders |
| Stefan Petrick |
๐ง | The shader vocabulary of the LED world. Its generative fields come from Animartrix, FunkyNoise and ColorTrails. Aurora, PolarNoise, Tunnel and Trails sit in that tradition, written on the published algorithms underneath. | Aurora, ColorTrails, Nebula, PolarNoise, Trails, Tunnel |
| Sutaburosu |
๐ง | The fixed-point canvas demos. | FixedPoint |
| Sรฉbastien Truchet / Truchet tiles |
๐ง๐งฎ | The tiling, revived by Cyril Smith in 1987. | Truchet |
| Sรถren / LostHope |
๐ง | The MoonHub75 board, and the web installer. | Hub75 |
| Tasmota |
๐งฐ | With MycilaSafeBoot, the safeboot pattern behind MoonBase, our from-scratch minimal take on it. | moonbase_main.cpp |
| toggledbits |
๐ง | Patrick Rigney: MatrixFireFast, the 2D fire the Fire effect adapts. | Fire |
| Transpose |
๐งฎ | Rows becoming columns. | Transpose |
| troyhacks |
๐ง | Reworked the WLED-MM audio DSP onto Espressif's esp-dsp FFT, the same choice AudioService makes, and WLED-MM's Art-Net, WLED effects, and P4 tuning. | Audio, FlyingToasters, GEQ3D, HumanSizedCube, NetworkReceive, NetworkSend, PaintBrush, ParallelLed, RippleXZ, TorontoBarGourds |
| Waveshare | ๐ข | The ESP32-S3 RGB Matrix board and its HUB75 pin map. | Hub75 |
| wladi / myhome-control | ๐ง๐ข | Designer of the MHC-WLED ESP32-P4 shield, and the source of the pinout details that got its line-in audio working. | Audio |
| WLED |
๐งฐ | MoonLight is born out of WLED and takes the usermod idea further, where everything is a module. A MoonLight device also acts as a WLED device and talks to WLED devices. | Plasma, RmtLed, Spectrum, WledPacket.h |
| WLED-MM |
๐งฐ | The MoonModules fork of WLED, which MoonLight is born out of with WLED. | |
| WS2812 / WS2811 / SK6812 | ๐ | The LED timing specs, from the datasheets. | LedDriverConfig.h |
| Xiaolin Wu |
๐งฎ | Anti-aliased lines. | draw.h |
| Yves Bazin / hpwit |
๐ง | The clockless I2S, RMT and Parlio driver techniques, the virtual driver and its expander board, and the ESPLiveScript engine behind MoonLive. | MoonLive, ParallelLed, RmtLed, I80Peripheral.h, MoonI80Peripheral.h, ParallelSlots.h, ParlioPeripheral.h |