About
Inspirations and attributions
None of this was built from nothing. This page is everything in these projects that came from somebody else: the SDKs they're built on, the code I derived from other people's work, the projects I checked mine against, and the things they set out to be.
It's generated from the same file that writes the ATTRIBUTIONS.md in every repo, so the page and the repos can't disagree. 217 of the 224 projects listed here have a public repo you can read; the rest are named without a link.
Code I derived from other people's work
Someone else solved this first. These projects wouldn't exist in their current form without the work below, and in several cases the hard part (finding out what a device or a format actually does) was done by somebody else entirely.
network-audio-controller (netaudio-core)
Chris Ritsen
Unlicense
Audinate's Dante ARC control protocol is undocumented. crates/discovery/src/dante_control.rs is a reimplementation rather than a port — no code was copied — but every constant, record layout and test in it is cross-checked against that crate's own known-answer unit tests. The wire format was documented and byte-tested there first, and guessing it from nothing would have been a different project.
Used in Dante BabelBox
libebur128
Jan Kokemüller
MIT
BS.1770 tabulates the K-weighting filter at 48 kHz only. The loudness meter in src-tauri/crates/leqtion-dsp/src/loudness.rs builds it at the actual sample rate instead, from the analogue parameters of each stage — a shelf at 1681.97 Hz, +3.9998 dB, Q 0.7072, and an RLB high-pass at 38.135 Hz, Q 0.5003 — bilinear-transformed. Those parameters, to full precision, and that derivation are libebur128's. No code was copied, and LEQtion adds one correction libebur128 does not make: the high-pass numerator is scaled so its gain above the corner matches the 48 kHz table at every rate.
Used in LEQtion
House scaffolding
Stoatworks animATEM
MIT
Alleycat is electron-vite and React, with the house scaffolding copied from animATEM.
Used in Alleycat
Ruffle
MIT OR Apache-2.0
The plugin embeds Ruffle to play .swf live on a Resolume layer: ruffle_core, ruffle_render and ruffle_render_wgpu at a pinned git revision (ae0ba6d), linked into the bundle through source/amber_core and run in Resolume's process, with the Noto Sans subset (SIL Open Font License 1.1) that Ruffle's default_font feature embeds. The converter is separate: it spawns Ruffle's exporter binary to rasterise SWF timelines and ships no part of it.
Used in Amber
@node-projects/acad-ts
MIT
DWG is AutoCAD's native format and has no public specification — everything known about it is reverse-engineered. acad-ts does that parsing, and src/lib/import/dwg.ts is only the translation from its object model into ours. It was chosen over the more obvious libredwg specifically because libredwg is GPL-3 and bundling it into an MIT browser app would relicense the app. acad-ts is itself an independent TypeScript port of ACadSharp.
Used in ArrayCAD
Beam renderer
Stoatworks vectrix
MIT
source/render/ is vectrix's renderer, copied rather than reimplemented on 2026-09-21: BeamGeometry, ScopeBuffer, GLState, Phosphor, Tube, Shaders and all five GLSL passes (shaders/Prelude.cpp, Trace.cpp, Decay.cpp, Bloom.cpp, Glass.cpp). source/signal/Signal.h (the Sample{x,y,z,dt} contract) and source/signal/Clock.* come with it, as do Diag.* and the About headers; every copied file carries a header saying so. Copying was the right call rather than a shortcut: what is shared is an energy-conserving beam model, where a fixed quantum per sample interval is spread over the distance the beam covered so that 1/v brightness falls out instead of being applied, and a second implementation would have to be kept in step with the first, with the property it exists to guarantee then true of neither by construction. attest --energy is vectrix's own check, run here against the copy. Astable changed two things: two phosphors added at the front of the table (P4, the monochrome television white and this plugin's default, and a P22 white for a colour set), and the namespace.
Used in Astable
FFGL SDK workarounds
Stoatworks tinsel, vectrix, graticule and resolume-scopes
MIT
The SDK defects worked around here (ScopedFBOBinding not restoring the viewport, every ffglex::Scoped* clearing to 0 rather than restoring, FFGLFBO::Release() leaking its colour texture, SetParamInfo clamping a STANDARD default before SetParamRange can widen it, and a display-only TEXT parameter needing a SetTextParameter override or no host can instantiate the plugin) were all found by tinsel, vectrix, graticule and resolume-scopes first. See AGENTS.md.
Used in Astable
Harness shape, --pipe contract and verify
Stoatworks clamp and standards
MIT
The harness shape, the --pipe contract (SIGPIPE ignored so a closed stdout is a failed write), the negative-control pattern, --offline, check-shaders.sh, the verify script and the host clock (with readout's clock-unit voting) are clamp's, by way of standards.
Used in Atrac, Clamp, Databend, Gauge, Rebate, Receipt, Slope, Teletext, Toner, Toolpath, Wetplate
Audio input, onset detection and priming
Stoatworks macroblock, vocoder and regauss
MIT
The FFT buffer parameter, reading it through FindParamInfo, the square root of each bin and the spectral-flux onset detector against its running mean are macroblock's and vocoder's; priming the detector on the first frame is the fleet's lesson from regauss and needle.
Used in Atrac
PassBuffer
Stoatworks tinsel
MIT
The off-screen buffer wrapper is tinsel's, by way of clamp.
Used in Atrac, Clamp, Colourunder, Contour, Databend, Filament, Gate, Instant, Jacquard, Lowband, Pitch, Plumbicon, Rebate, Receipt, Repousse, Slope, Splitflap, Standards, Teletext, Toner, Wetplate
HyperDeck protocol and deck link
Stoatworks livepremier-plus
MIT
Same fleet, copied rather than shared: server/lib/hyperdeck/protocol.js, the Blackmagic HyperDeck Ethernet Protocol's parser and command builders, is copied unchanged from LivePremier Plus (plugins/hyperdeck/protocol.js, 9703ce3), and link.js is copied from the same commit and changed to wait for the deck's greeting before calling it connected and to end commands with LF, because Mitti refuses CRLF. server/rules.js mirrors LivePremier Plus's HyperDeck rules, and the Pulse 4K / Midra 4K driver's object model was read off a live Pulse 4K on 3.3.10 by LivePremier Plus.
Used in automitti
Analog Way mnemonic protocol and its traps
Stoatworks openrcs
MIT
Same fleet, written from rather than copied: server/lib/analogway.js, the LiveCore driver (drivers/switchers/livecore/: Ascender, NeXtage, SmartMatriX Ultra), the Midra driver (drivers/switchers/midra-classic/: Pulse², Eikos², QuickVu and the rest of the range before 4K) and the simulator drivers/switchers/livecore/sim.mjs were written from openRCS's docs/PROTOCOL.md, docs/NOTES.md and crates/openrcs-server/web/app.js, with no code copied verbatim. From there come the TCP 10500 framing; the LiveCore's preset banks, with GCsta naming the bank on air, and its take as a sweep of the T-bar, because the device's own take verbs stall a real NeXtage; the Midra take GCtak with preset-update mode (CTpmu) turned off first, because it is dead while on; the Midra cut as a GCtba move in two steps, which only lands if the bar is seen to travel; the Midra's silent refusal of an input with no signal, which is why a select is read back; and the PDEV and DEV model maps. openRCS found all of it on a real NeXtage 16 and Pulse²; automitti's drivers have run against the simulator only.
Used in automitti
blackmagic-misc
Sylvain "tnt" Munaut
Apache-2.0 (SPDX header in bmd.py; the repo has no LICENSE file, so GitHub does not detect it)
Blackmagic has never published the DaVinci Resolve Speed Editor's HID protocol, and the panel reports nothing until a challenge-response handshake completes. The handshake, the report formats and the jog modes in core/hid/speed-editor.js come from Munaut's reverse engineering in bmd.py, and the authentication tests use vectors produced by running bmd.py itself.
Used in AWJ Surface, LivePremier Plus, openrcs, OpenStage
node-blackmagic-controller
Julian Waller
MIT
The Speed Editor's key and LED tables in core/hid/speed-editor.js follow node-blackmagic-controller, the library Bitfocus Companion drives the panel with.
Used in AWJ Surface, LivePremier Plus, openrcs
Audio analyser, host-clock vote and harness
Stoatworks millpond
MIT
source/Audio.{h,cpp} is millpond's analyser (rosette's, from macroblock's), with its primed first frame; bassalt adds a bass level and a switch that turns the priming off for bstest's negative control. The host-clock vote in UpdateClock is rosette's, unchanged. The harness's shape, --pipe/--film/--script, the negative-control runner, tools/sweep.py and tools/verify.sh are millpond's, adapted.
Used in Bassalt
GL state guard, PassBuffer, Diag and CMake shape
Stoatworks vectrix
MIT
GLState.h (put the host's state back however the frame ends) is vectrix's by way of millpond, now also restoring the pixel-pack buffer. PassBuffer is tinsel's (FFGLFBO with the SDK's colour-texture leak fixed). Diag and the CMake shape come from tinsel.
Used in Bassalt
gosrt
srt.go's SRT output uses this pure-Go SRT implementation (github.com/datarhei/gosrt in go.mod). The PLAY has libsrt only statically linked inside PPApp, so there is nothing to dlopen, and a pure-Go implementation also keeps the cross-compile free of C dependencies. Caller mode only.
Used in bdcam
rkdeveloptool
Rockchip
GNU General Public License v2
The USB protocol in public/rockusb.js and the partition table in public/gpt.js are implemented from rkdeveloptool's source (RKComm.h, RKComm.cpp, RKDevice.cpp, RKScan.cpp, main.cpp, crc.cpp). No code is copied; the constants, the CBW/CSW layout, the maskrom vendor request and the GPT construction all follow it deliberately, because matching the vendor tool's behaviour is the point.
Used in BirdDog PLAY Flasher
atem-connection
MIT
The ATEM protocol client, and the source of the state shapes and availability enums this project's matrix model is built on. Part of the Sofie TV Automation project.
Used in BlackMatrix
Express
MIT
The HTTP server.
Used in BlackMatrix
ws
MIT
The websocket server.
Used in BlackMatrix, Companion — BlackMatrix
Audio analyser and host-clock vote
Stoatworks rosette
MIT
source/Audio.{h,cpp} is millpond's copy of rosette's analyser (itself from macroblock's), with its primed first frame, which brtest --onset checks. The host-clock unit vote in UpdateClock is rosette's.
Used in Boreal, Containment, Crumple, Flyback, Millpond, Radar
Source-plus-Over shape, presets, GL state and harness
Stoatworks downpour
MIT
One core registered as a source and an Over effect is downpour's shape; presets as an override with row 1 the defaults are graticule's; GLState.h is vectrix's (from resolume-scopes); PassBuffer, Diag, the CMake shape, the harness shape, the --pipe/--script format, tools/sweep.py and tools/verify.sh are tinsel's and millpond's.
Used in Boreal
The Stoatworks video plugins' browser demos
Stoatworks Labs
Burrow installs the Stoatworks video plugins and ships each one's browser demo, but contains none of their code. Each plugin carries its own licence and its own attributions in its own repository.
Used in Stoatworks Burrow
Audio analyser and host-clock measurement
Stoatworks macroblock
MIT
source/Audio.{h,cpp} and source/Clock.{h,cpp} are carried over from macroblock: the FFT-buffer analyser and the host-clock unit measurement. Copied rather than shared, because the fleet has no common library and a header shared between two repos by hand is a header that diverges silently.
Used in Cadence
PassBuffer and the frame ring
Stoatworks afterglow
MIT
source/PassBuffer.{h,cpp} (the FFGL FBO wrapper with the SDK's colour-texture leak fixed) and the shape of the ring of recent frames.
Used in Cadence
Build layout, Diag, harness, sweep and release workflow
Stoatworks tinsel
MIT
The CMake MODULE-plus-submodule layout, the Diag logger, the offline harness shape, tools/sweep.py and the release workflow.
Used in Cadence
ArcadeRTFM
The corpus: arcade service manuals, schematics and drawing packages, every one a flat scan. Each page is OCR'd and rebuilt as a searchable HTML document, drawing-package scans are republished under web/pages/, and /pdf/<id> redirects to the original rather than mirroring it. The hand-built board maps and KiCad conversions are read by eye off the component-location drawings and IC parts lists in these scans (Pong from Atari assembly drawing A001433 Rev E). Manuals remain the property of their respective publishers and are presented for preservation and repair reference.
Used in Cathode Ray Tomes
MAME
Machine hardware metadata (CPUs, displays, inputs, DIP switches) derives from MAME, by way of ArcadeRTFM's machines.json. The 1,469 ROM maps in data/rommap/ are built from the board positions MAME records in its romset filenames, and the board maps are checked against MAME. 33 board pages -- Tank's two boards and 31 sound circuits, from Armor Attack and Star Castle to Popeye, Kid Niki, Sega System 16B, 1942 and Dribbling -- take their connectivity from MAME's netlists, converted by tools/mame_netlist.py at mame0289: its simulation stand-ins undone, its hacks dropped and, where the site holds the schematic, checked and corrected against it, with every change logged in boards/<slug>.nets. Only netlists MAME licenses CC0-1.0 or BSD-3-Clause are taken. 26 are CC0-1.0, by Aaron Giles, Colin Douglas Howell, Couriersud, Enzo Lombardi, Ricardo Bittencourt, Ryan Holtz, Vas Crabb and beta-tester. 7 are BSD-3-Clause: Tank, Destroyer and Tank Battalion copyright Ryan Holtz, Popeye and 1942 copyright Couriersud, and Kid Niki copyright Andrew Gardner and Couriersud. Each board page names the file, the commit, its copyright holders and its licence, and links the licence's text under web/licenses/; the board view, netlist, chip and signal lookups and bill of materials made from each carry the same terms.
Used in Cathode Ray Tomes
GamingDoc
All 43 of its documents, 2,772 pages, are on the site: console and handheld service manuals across eleven systems (37 of the 43 carry a text layer and are read from it rather than OCR'd), plus developer manuals, modchip installation guides and the SNK MV2F/MV4F service manual. Each is credited on the document itself. GamingDoc re-hosts other people's manuals and states no licence; its recap lists, credited to Console5, are counted and not taken.
Used in Cathode Ray Tomes
InteractiveHtmlBom
The 138 board viewers under web/boards/ (*-ibom.html) are its generated output from the KiCad conversions and the jtcores, DICE and MAME imports, and each page carries its viewer code together with Split.js, lz-string and PEP.
Used in Cathode Ray Tomes, the Stoatworks Labs website
jtcores
Jose Tejada (jotego) and contributors
GPL-3.0
43 of the board pages are KiCad redraws of arcade boards made for jtcores' FPGA recreations, by Jose Tejada, etriana85, Ulf Skutnabba, cartman135, Fran.R, RafaP, Rafael Paiva, Leo Tejada, rp-jt and Andrea Bogazzi -- Gradius III, the CP System III, Sega System 18, Twin 16 and the rest. Each drawing is in kicad/<slug>/ unchanged, with jtcores' LICENSE and a NOTICE.md naming who drew it and what was added; the board view, netlist, chip and signal lookups and bill of materials made from it (boards/, data/chips/, data/signals/, web/boards/) are GPL-3.0 as well. Pinned to commit e7b11263 and imported by tools/import_jtcores.py; the board page states the licence and the authors. 13 more pages (/chip/<slug>) are jtcores' redraws of the insides of custom chips -- Konami's Twin 16 gate arrays 007779 to 007787 and its 052535, and Capcom's DL-010D-103, DL-020F-108U and DL-050-115V -- by Ulf Skutnabba and Jose Tejada. The drawings' own notes name what six of them were read from: die photos by InfosecDJ (007780, 007781, and DL-010D-103, whose note spells it InfoSecDJ), John McMaster (007782) and Furrtek (DL-020F-108U), and an image by Caius on jammaarcade.net (052535). Each drawing is in kicad/chips/<slug>/ unchanged, with jtcores' LICENSE and a NOTICE.md; the pinout, PDF and page data made from it (data/customchips/, web/chips/, web/data/customchip/) are GPL-3.0 as well. Imported by tools/import_custom_chips.py at the same commit; the chip page states the licence, the authors and what the drawing was read from.
Used in Cathode Ray Tomes
jtkicad
Jose Tejada
GPL-3.0
The schematic symbol library the jtcores drawings are made with; its symbols are embedded in every sheet under kicad/ that came from jtcores.
Used in Cathode Ray Tomes
DICE (dice-libretro)
the DICE Team and Ken Mitton
GPL-3.0
16 board pages -- Pong, Breakout, Space Race, Stunt Cycle, Jet Fighter, Rebound and the other CPU-less games of the Pong era -- take their connectivity from DICE's netlists, converted by tools/import_dice.py: its stand-ins for a wire undone, its analogue models left off the board, and Crash 'n Score's checked against the hand-read map. Each game's source is in kicad/<slug>/ unchanged with DICE's LICENSE.txt and a NOTICE.md, and everything made from it is GPL-3.0.
Used in Cathode Ray Tomes
KiCanvas
Alethea Katherine Flowers
MIT
The interactive schematic viewer on every board page with a KiCad schematic: vendored as one file at web/vendor/kicanvas/kicanvas.js with its LICENSE.md, it reads the KiCad sheets in the browser so a reader can pan, zoom, move between sheets and click a part or a net.
Used in Cathode Ray Tomes
Split.js v1.3.5
MIT
Embedded in each InteractiveHtmlBom page under web/boards/.
Used in Cathode Ray Tomes, the Stoatworks Labs website
lz-string 1.4.4
Pieroxy
WTFPL, Version 2
The LZ-based compression library embedded in each InteractiveHtmlBom page under web/boards/.
Used in Cathode Ray Tomes, the Stoatworks Labs website
PEP v0.4.3 (Pointer Events Polyfill)
Embedded in each InteractiveHtmlBom page under web/boards/. Its header points at http://jquery.org/license for the licence.
Used in Cathode Ray Tomes, the Stoatworks Labs website
Harness, verify script, --pipe contract and the negative-control pattern
Stoatworks toner, slope and clamp
MIT
tools/cctest's CGL plumbing, PNG writer, --list/--names/--out/--pipe with the cue-sheet parser, --offline and the GL-less CI, tools/verify.sh's two-raster shape and tools/sweep.py, adapted from toner's, which came by way of slope from clamp. Nothing of the copier, coder or clamp models is here.
Used in CCU
Host clock
Stoatworks clamp
MIT
source/Clock.{h,cpp}: unit voting on the host's SetTime and an origin plus offset kept in double, unchanged, so the drift only ever sees a dt.
Plugin shape, Diag logger and the About block
Stoatworks plumbicon
MIT
The two-pass effect's shape (source/Ccu.{h,cpp}, PluginEntry.cpp), source/Diag.{h,cpp} (the log-file writer, from orrery by way of plumbicon) and the About parameter headers. Plumbicon is the tube in front of this chain; none of its tube model is here.
Used in CCU
PassBuffer and the fleet's trap list
Stoatworks tinsel
MIT
source/PassBuffer.* (tinsel's FFGLFBO with the colour-texture leak fixed) and the inherited GL traps applied throughout.
Used in CCU
Release notes shape and the provisional About
Stoatworks graticule
MIT
The shape of the release notes and the provisional hand copy of StoatworksAbout.h used before registration.
Used in CCU
A serial recurrence on the GPU
Stoatworks compander
MIT
The idea of computing a serial recurrence on the GPU in parallel and holding it to the serial one is compander's.
Broadcast numbers in one header
Stoatworks old-cathode
MIT
Keeping the broadcast standards' numbers in one header is old-cathode's.
Used in Clamp
Plugin shape, harness, --pipe contract and verify
Stoatworks gate, toner, filament
MIT
The plugin's shape (the OBJECT core, the About block, the Diag logger), the harness shape, the --pipe contract with SIGPIPE ignored and cues that step for options, booleans, integers and events, the software-renderer pass, the verify script, the sweep and the negative-control pattern are gate's, which had them from filament, toner and wetplate, and they from rebate and pitch.
Used in Colourunder, Filament, Gate, Instant, Lowband
The clock and the two raster timings
Stoatworks clamp and standards
MIT
Clock.{h,cpp} is clamp's (standards' before it): the host clock-unit voting (readout's), an origin and an offset in double. The 625/50 and 525/59.94 line, porch, sync and active-line figures, and their sources, are clamp's Model.cpp table.
Used in Colourunder, Lowband
The resize-mid-run guard
Stoatworks photofinish
MIT
The trap that a reallocated buffer is a cleared buffer, and the check that guards it, are photofinish's.
Used in Colourunder, Filament, Gate, Handleman, Instant, Wetplate
Bitfocus Companion
Bitfocus AS
MIT (Part 1 of the project's LICENSE.md; Part 2 is a contributor agreement and Part 3 lists Companion's own bundled dependencies)
This repository holds only build scripts and configuration: nothing third-party is committed, and every artifact is downloaded at build time. A built image ships the official linux-arm64 Companion release unmodified, extracted to /opt/companion, with Companion's full licence text at /usr/share/doc/companion-play/companion-LICENSE.md alongside the rest of these notices. Companion bundles its own Node.js runtimes and native prebuilds, whose licences are covered by Part 3 of that file. companion-play is not a Bitfocus product and is not affiliated with or endorsed by Bitfocus AS; "Companion" and "Bitfocus" are theirs. Support questions about Companion itself belong with Bitfocus, and bugs seen here should be reproduced on a supported platform before being reported to them.
Used in companion-play
Bitfocus Companion offline module bundle
Per module, as each declares it in its manifest (799 MIT, 9 ISC and 3 LGPL-3.0 on the 5.0.3 bundle; the LGPL-3.0 three are not shipped)
A built image includes modules from Bitfocus's official offline module bundle, each separately copyrighted by its own authors and separately licensed. Because an image redistributes them, the build enforces a licence policy: only modules declaring a licence on the allow-list in build/config.sh are included, and build/filter-modules.mjs deletes the rest. The three LGPL-3.0 modules (cleartouch-ippctrl, pnh-opencountdown, pnh-soundr) are perfectly good modules, but weak copyleft carries a source-offer obligation an appliance image is the wrong place to satisfy; install them from a bundle downloaded from your own Companion. Every module in an image is listed with its version and declared licence at /usr/share/doc/companion-play/modules.tsv, generated at build time from the modules actually present and attached to each release.
Used in companion-play
Armbian
Per component, predominantly GPL
The base OS is an unmodified Armbian renegade minimal image, pinned by checksum. Armbian is a Debian derivative whose components carry their own licences. Nothing in this repository modifies Armbian's sources: the build adds packages from Debian's archives and writes configuration.
Used in companion-play
Debian
Per package, their respective licences
Packages installed into the image come from Debian's own archives under their respective licences. The image is a Debian derivative in the ordinary sense and carries Debian's copyright files at their usual locations.
Used in companion-play
GL state guard, pass buffers, diagnostics and harness
Stoatworks vectrix
MIT
GLState.h (put the host's state back however the frame ends) is vectrix's, which took it from resolume-scopes. PassBuffer (FFGLFBO with the SDK's colour-texture leak fixed), Diag, the CMake shape, the harness shape, the --pipe/--film/--script format, tools/sweep.py and tools/verify.sh come from tinsel and millpond; the override preset model is graticule's.
Used in Containment, Millpond
Harness shape, --pipe contract and the host clock
Stoatworks standards
MIT
The harness shape, the --pipe contract, --offline, check-shaders.sh, the host clock (readout's unit voting, kept in double) and the negative-control pattern come from standards, pitch and slowscan.
Used in Contour
Audio declaration and band split
Stoatworks regauss
MIT
The audio declaration and the three-way band split over 64 bins are regauss's.
Used in Contour
Source-plus-Over shape, parameter table, GL state and harness
Stoatworks radar
MIT
One core registered as a source and an Over effect, HostOrder() with the About block last, the host-clock unit vote, GLState.h, Diag, the harness's rig, cue sheets and --pipe, tools/verify.sh, tools/mutate.sh, tools/glslc.sh and tools/sweep.py are radar's (which carries them from boreal, flyback, downpour, tinsel and plotter).
Audio analyser
Stoatworks rosette
MIT
source/Audio.{h,cpp} is radar's copy of millpond's copy of rosette's analyser (itself from macroblock's), with its primed first frame, which cwtest --prime checks.
An integer-format PassBuffer
Stoatworks stencil
MIT
source/PassBuffer.{h,cpp} is stencil's, cut down: a texture and a framebuffer whose upload format follows an integer internal format, which ffglex::FFGLFBO cannot allocate.
Source-plugin template and harness plumbing
Stoatworks needle
MIT
needle is the structural template for a source plugin: the CMake shape, the OBJECT core, SourcePlugin.cpp, the harness's CGL plumbing, PNG writer, --list/--names/--out/--pipe, and source/Clock.* (carried from flipbook) and source/Diag.* (from orrery via gridiron), renamed into this namespace.
Used in Copperlist, Pattern
Replay check
Stoatworks idler
MIT
idler's --replay is the model for this repo's.
Used in Copperlist
Verify, sweep and workflows
Stoatworks wipe
MIT
wipe's tools/verify.sh, tools/sweep.py and workflows are adapted; graticule's and tinsel's trap lists are applied throughout.
Used in Copperlist, Pattern
Stockham FFT, GL state, PassBuffer and harness
Stoatworks millpond
MIT
The Stockham FFT shader, its double-precision twiddle tables and the Transform loop are millpond's, unchanged. millpond checks them against a double-precision DFT, and here --isometry exercises them end to end. Also millpond's GLState.h, PassBuffer (with its wrap modes), Diag, harness plumbing, --pipe/--script, tools/sweep.py and tools/verify.sh, which millpond itself took from tinsel, intaglio and vectrix.
Used in Crumple
A serial recurrence held to a serial reference
Stoatworks compander, clamp and slope
MIT
The idea of computing a recurrence on the GPU and holding it to a serial double-precision one is compander's and clamp's; slope's finding that a windowed restart needs a proof, and its chunked scheduling, shaped the phaser's two-pass form. The window bound is databend's own.
Used in Databend
esptool-js
Apache-2.0
An npm dependency, and what the flasher is built on, as its README says: src/flash.ts drives every flash through its ESPLoader over a Web Serial Transport.
Used in Stoatworks Flasher
CANary firmware images
Stoatworks CANary
public/firmware/canary/ bundles two release builds of the CANary firmware, main-ff4110d (the default) and main-60a871f, each as a Standard and a USB network variant. Like every bundled image, they were imported from an ESP-IDF build directory by scripts/import-firmware.ts and are checked against published SHA-256s before they are shown. They are built from the CANary source and are not covered by this repository's MIT licence, which applies to the flasher itself.
Used in Stoatworks Flasher
nanODE firmware images
Stoatworks Labs
public/firmware/nanode/ bundles the nanODE release build main-622a72a. Its source is private: the images are free to flash and pass on unmodified under the Stoatworks Labs Firmware Licence, not this repository's MIT licence. They contain ESP-IDF and other third-party software, listed with each licence in that repository's THIRD-PARTY-NOTICES.md.
Used in Stoatworks Flasher
Cuckoo firmware images
Stoatworks Labs
public/firmware/cuckoo/ bundles the Cuckoo release build main-4300e74 in two variants, Bring-up and DDC bridge, each an ESP32-C3 image carrying the RP2354A's firmware. Its source is private: the images are free to flash and pass on unmodified under the Stoatworks Labs Firmware Licence, not this repository's MIT licence. They contain ESP-IDF, the Raspberry Pi Pico SDK and other third-party software, listed with each licence in that repository's THIRD-PARTY-NOTICES.md.
Used in Stoatworks Flasher
PAL encoder and decoder
Stoatworks old-cathode
MIT
The PAL encoder and decoder, the 4fsc raster and its three-tap chroma notch, and the resample pass are old-cathode's, adapted to read a received composite from a texture.
Used in Downlink
Host clock-unit voting
Stoatworks readout
MIT
The host clock-unit voting is readout's; the per-row table computed in double and handed over frame-relative is pitch's shape.
PassBuffer, sweep, verify and CI shape
Stoatworks tinsel
MIT
PassBuffer, tools/sweep.py, tools/verify.sh, the --pipe format and the CI shape are tinsel's by way of pitch and slowscan. The --offline split for a runner with no GL is spasis's lesson.
Four public-domain works, via Project Gutenberg
public domain in the United States
The built-in passages are body-only excerpts of Alice's Adventures in Wonderland (Lewis Carroll, 1865), The Republic Book VII (Plato, tr. Benjamin Jowett, 1871), Discourse on the Method Part IV (Rene Descartes, tr. John Veitch, 1850) and Hamlet Act III Scene I (Shakespeare, c. 1600). The Gutenberg header, footer and licence are deliberately never included, and the extractor asserts that no reference to them survives — so the files carry the public-domain work and nothing of Gutenberg's own added matter.
Used in Downpour
lowbias32
Chris Wellons
Public domain
Chris Wellons' 32-bit integer hash, in source/Hash.h.
Used in Escapement, Ramdac
Double-float arithmetic
Dekker's splitting and the two-sum/two-product algorithms, as used by every df64 GLSL implementation.
Used in Escapement
Effect skeleton, harness, --pipe and verify
Stoatworks teletext
MIT
The read-back-then-CPU plugin shape, the harness's session and parameter plumbing, the --pipe contract (SIGPIPE ignored, a closed stdout exits 1), the verify script and the negative-control pattern are teletext's, which had them from rebate and pitch; the host clock-unit voting is readout's by way of both; the software-renderer switch is wipe's by way of repousse.
Used in Fax
5x7 bitmap font
Stoatworks graticule
MIT
The sending machine's header line is printed in graticule's 5x7 font, copied unchanged by way of teletext, each dot four pels wide and half a millimetre of lines tall.
PassBuffer, the sweep and CI
Stoatworks tinsel
MIT
PassBuffer, tools/sweep.py and the shape of the CI workflow are tinsel's.
The harness, the tooling and the effect's shape
Stoatworks schlieren and fiche
MIT
The harness's rig, PNG writer, look card, cue sheets, --pipe/--film (with SIGPIPE ignored and a closed stdout an exit of 1), --negative with its Perturb, --state, --names, --cues and --offline; tools/verify.sh, tools/mutate.sh (with its pipefail fix), tools/glslc.sh, tools/sweep.py, the CI workflow and the idea of placing a beat at the moment inside the frame where it fell (source/Drive.cpp). Schlieren had them from fiche. All adapted.
Used in Ferrofluid
Two plugins from one core, and the control table's shape
Stoatworks honeydew
MIT
CMakeLists.txt's two bundles from one OBJECT library, the release workflow's two-bundle packaging, scripts/release-lib.sh, a host order per plugin with the About block last (source/Controls.cpp), and the harness's rule that an option is set by its name.
Used in Ferrofluid, Sidereal
The audio analyser, the pass buffers and the log
Stoatworks millpond, schlieren and abomerration
MIT
source/Audio.{h,cpp} is schlieren's onset analyser, which is millpond's, which is rosette's, adapted from macroblock's, with its primed first frame; its Low, Mid and High bands are abomerration's split. source/PassBuffer.{h,cpp} and source/Diag.{h,cpp} are millpond's. source/GLState.h is radar's, which is vectrix's, from resolume-scopes.
Used in Ferrofluid, Zoetrope
The effect's shape, the clock, the harness and the tooling
Stoatworks patchwork
MIT
The plugin class's shape, the host-clock unit vote (readout's, by way of pitch), source/GLState.h, source/Hash.h, source/Diag.{h,cpp}, the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues, --offline and --expect, and tools/verify.sh, tools/mutate.sh, tools/glslc.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh are patchwork's (which carries them from pitch, conway and the fleet before them), adapted.
Used in Fiche
Effect skeleton, onset detector and harness
Stoatworks splitflap
MIT
The plugin's skeleton (the copy pass with a mip chain, the sixteen-tap cell mean, the update decision), the primed spectral-flux onset detector, and the harness's shape: the headless session, the cue script, --pipe (SIGPIPE ignored, a closed stdout exits 1), --list, --names, --bench, the negative-control runner, sweep.py, verify.sh, mutate.sh and clips.sh. The driver, the discs and the dither are new here.
Used in Flipdot
Diag logger and host Clock
Stoatworks graticule
MIT
source/Diag.* and source/Clock.* (the clock that settles the unit the host's SetTime arrives in), carried from graticule by way of splitflap.
The software-renderer switch
Stoatworks repousse and stencil
MIT
FDTEST_RENDERER=software asks for Apple's software renderer by id, as repousse's harness first did and stencil's carries.
Used in Flipdot
Source-plus-Over shape and the segment renderer
Stoatworks downpour
MIT
One core registered as a source and an Over effect is downpour's shape. The segment renderer's closed form, a uniform segment convolved with a Gaussian spot, is vectrix's, tightened here for exact conservation. GLState.h and PassBuffer come from millpond, vectrix and tinsel; the override preset model and --defaults/--names from graticule; the harness shape, --script cue sheets, tools/sweep.py and tools/verify.sh from millpond and tinsel.
Used in Flyback
Energy-conserving segment renderer
Stoatworks vectrix
MIT
A fixed quantum of light per sample interval, spread along the distance covered by the exact convolution of a uniform segment with a Gaussian. Carried over from vectrix: the same code lineage, not a third-party component.
The stroked face and its distance-field atlas
Stoatworks jackpot (digits from polyhedral)
MIT
The leader's numerals and PICTURE START are jackpot's built-in stroked face, its exact distance-field builder and its cell layout, copied with the font-file loading left behind. Its digits are polyhedral's.
Used in Gauge
Transport
Stoatworks jackpot
MIT
Resolume's tempo and bar phase, re-aligned to the host whenever it says, is jackpot's Transport with a bar count added.
Used in Gauge
Diagnostics log
Stoatworks tinsel
MIT
source/Diag.* is tinsel's log, renamed into this namespace.
Used in Genlock, Lenticular, Pepper, Relay, Wipe
Build and offline-harness shape
Stoatworks rosette
MIT
The CMake shape, the offline-harness skeleton (the CGL context, the PNG writer, --list/--set), tools/sweep.py and the release-job-locally checks in tools/verify.sh follow rosette's.
Test patterns, Rec. 709 colour maths and the RP 219 layout
Stoatworks test-card
MIT
The pattern definitions, the Rec. 709 colour maths and the SMPTE RP 219 layout are ported from Test Card's TypeScript, and tools/fixtures/rp219-ffmpeg.json is its measurement of ffmpeg's smptehdbars. Graticule is the live version of the same patterns.
Used in Graticule
The projector, the harness and the tooling
Stoatworks gate
MIT
The shutter integrated in closed form over each display frame, the segments' weighted sum, the weave as a stationary AR(1), the scratches in the gate, the dust on the print, the hair, the frame line and the neighbour frames, cos⁴, the plugin's shape (the OBJECT core, the clock-unit voting, the About block, the Diag logger), the harness, --pipe (SIGPIPE ignored, a closed stdout exits 1), --flicker, --weave, tools/sweep.py, tools/verify.sh and the negative-control pattern are gate's, which had most of them from filament, wetplate, toner, readout and tinsel. Gate is the projector at a motor's steady rate; Handleman puts a hand on it and a camera in front of it.
Used in Handleman
Spectral weights from Smits' basis
Stoatworks wetplate
MIT
tools/spectral_weights.py: the orthochromatic stock's exposure through Smits' seven basis spectra, computed offline and summed in the shader, is wetplate's method and wetplate's transcription of the Smits table.
Used in Handleman
A float-format PassBuffer
Stoatworks stencil
MIT
source/PassBuffer.{h,cpp} is stencil's, cut down and given RGBA32F and multiple-render-target variants: a texture and a framebuffer whose upload format follows the internal format.
Used in Honeydew
Flow field: structure tensor, tensor blur and eigen decomposition
Stoatworks nib
MIT
The structure tensor pass, the tensor blur and the eigen decomposition in the flow library are copied from nib, not re-derived. A second eigen decomposition would be a second thing to get wrong, and 'obeys the same flow field as nib' is a claim this plugin makes. nib's own flow measurement is re-run against this repo's copy. Two changes, both marked in the source: flowAt also returns sqrt(l1 - l2), and the ruling is steered by that rather than by nib's scale-free anisotropy; and the gradient is taken at a scale, off a mip chain, so that Detail can move it.
Used in Intaglio
PassBuffer, diagnostics, build and harness shape
Stoatworks tinsel
MIT
Same fleet, copied rather than shared. PassBuffer (FFGLFBO with the SDK's colour-texture leak fixed and three sampling modes), the Diag log, the CMake shape, the offline harness shape, tools/sweep.py and tools/verify.sh come from tinsel, outrun and rosette. rosette's screen-angle and registration checks are the model for measuring a lattice, and the practice of running a raster-sensitive check at more than one raster.
Used in Intaglio
The dice engine, the font atlas and the harness
Stoatworks polyhedral
MIT
The craps dice are polyhedral's, engine and all: source/Geometry.cpp, source/Physics.cpp (with a pyramid-studded wall plane added), Maths.h, and the one idea that a die is drawn as R(t)·S with S the symmetry that puts the wanted face up — here applied to every game, as the pocket shift, the segment shift and the ball permutation. Typeface.cpp's signed-distance atlas and built-in stroked face are polyhedral's, widened from ten digits to the capitals. The source-plus-Over shape, GLState.h, Diag, the host-clock unit vote, the playback time map, the harness's rig, --pipe, --film and cue sheets, tools/verify.sh, tools/sweep.py, tools/mutate.sh, tools/glslc.sh and tools/geodump are polyhedral's (which are boreal's, downpour's and flyback's before it).
Used in Jackpot
Landing on the beat
Stoatworks honeydew
MIT
source/Transport.h — the bar phase kept from Resolume's BPM and re-aligned to the host's bar phase, and the next beat or bar at least a given time away — is honeydew's.
Used in Jackpot
Opening a file by its UTF-8 path on Windows
Stoatworks radar
MIT
source/FileBytes.{h,cpp} is radar's ReadFileBytes and its strict Utf8ToUtf16 (source/SpriteImage.cpp), copied for the Wheel File and Font File; the size cap is now the caller's, and a size-and-date stamp was added so a path set again is re-read only when the file changed.
Used in Jackpot
Ray–primitive intersections
Inigo Quilez
MIT
The capsule, box and capped-cylinder intersections, the five-pointed star's distance, and the sphere's soft shadow and ambient occlusion in source/Shaders.cpp follow Quilez's published functions, rewritten into the house style.
Used in Jackpot
Effect skeleton, the harness and the --pipe contract
Stoatworks teletext
MIT
The plugin skeleton, the About block, the harness's shape (a headless CGL context driving the real plugin class, --list, --set, --dump-shaders), the read-back of a reduced grid to a CPU encoder that is exact in integers and checked against an exhaustive search, the verify script and the negative-control pattern are teletext's, which had them from rebate.
Used in Jacquard
Stepped cues and the software-renderer pass
Stoatworks fax
MIT
Options, booleans, integers and events stepping between --pipe cues instead of ramping, the failed-render exit path, and the JQTEST_RENDERER=software pass (Apple's generic float renderer by id) follow fax's harness.
Used in Jacquard
The harness, the tooling and the GL state
Stoatworks isohypse
MIT
The harness's rig, PNG writer, cue sheets, --pipe, --negative, --state and --offline, and tools/verify.sh, tools/glslc.sh and tools/mutate.sh (slipstream's before it); source/Diag.{h,cpp}, source/GLState.h (radar's, which is vectrix's, from resolume-scopes) and source/Target.{h,cpp}, the fleet's PassBuffer; tools/wincheck.ps1, without the worlds. All adapted.
Used in Knockout
The font scan
Stoatworks polyhedral
MIT
source/Fonts.cpp's walk of the OS font directories reading only each face's name table, its name-record scoring and its collection sort (downpour's before it). Widened here to keep every face with its weight and italic, for CSS-style matching, and to give each family a list value made from its name.
Used in Knockout
Mixer mechanics, two-input harness and pipe
Stoatworks genlock, wipe and relay
MIT
The mixer mechanics of ProcessOpenGL (guard on the input count, guard on each pointer, one MaxUV per input, interleaved scoped bindings), the two-input harness rig, its --mixer check and its two-input --pipe with the cue sheet, the software-renderer pass and the CMake shape are genlock's, wipe's and relay's, adapted.
Used in Lenticular, Pepper
Sweep and verify shape
Stoatworks graticule
MIT
tools/sweep.py and the release-job-locally checks in tools/verify.sh follow genlock's, wipe's, relay's and graticule's.
Used in Lenticular, Relay, Wipe
netaudio (network-audio-controller)
Christopher Ritsen
Unlicense (public domain dedication)
Audinate publishes nothing about Dante's control protocol. The Dante plugin's codec, plugins/dante/protocol.js, is a port of netaudio's reverse engineering, read at commit a3323a3 (2026-10-02): the ARC request and response layouts, the classic and modern channel inventories, the subscription writes, the subscription-status table and the protocol-revision rule, each table naming the netaudio file and function it came from. test/fixtures/dante/netaudio-vectors.json carries netaudio's captured packets — Dante Controller's own requests among them — with netaudio's account of where each came from. The Unlicense asks for nothing; this is the credit it deserves.
Used in LivePremier Plus
ec50-panel
Jayden Nawotka (qubered)
MIT
Barco publishes nothing about how the Event Master Toolset talks to its EC-30, EC-40 and EC-50 panels. The Barco EC panel plugin's protocol — the FT232H's MPSSE setup, the register framing and latches, the framebuffer and its skew, the key queue and the T-bar — is a port of ec50-panel's reverse engineering from USB captures, read at commit ee24708 (2026-09-14), in src/core/ec-panel.js; its key-label font is ec50-panel's glyph table, in src/core/ec-font.js. Both files carry its MIT notice.
Used in LivePremier Plus
VPU mixer model
Stoatworks aquilon-vpu-map
MIT
Same fleet, copied rather than shared: src/vendor/vpu-model.js. Two implementations of one model eventually disagree and both look right, so there is one, and test/vendor.test.js fails if the copy drifts.
Used in LivePremier Plus
Console command language
Stoatworks mynah
MIT
Same fleet, copied rather than shared: src/vendor/mynah-lang.mjs.
Used in LivePremier Plus
Control-surface engine and profiles
Stoatworks awj-surface
MIT
Same fleet, copied rather than shared: src/vendor/surface/, the MIDI and HID control-surface engine and its profiles.
Used in LivePremier Plus
Pitch-compensation engine
Stoatworks aquilon-pitch
MIT
Same fleet, copied rather than shared: src/vendor/pitch-engine.js.
Used in LivePremier Plus
EDID Editor
Stoatworks edid-editor
MIT
Same fleet, copied rather than shared: src/vendor/edid-editor-embed.js is edid-editor's embed build, vendored unchanged. It bundles React, React DOM and Scheduler, credited below.
Used in LivePremier Plus, openrcs
Resolume Arena Advanced Output writer
Stoatworks output-map
MIT
Same fleet, bundled rather than re-derived: src/vendor/output-map/resolume.js is output-map's src/lib/resolume.ts and the geometry it uses, built by tools/sync-output-map.mjs. Every element and parameter it writes was read off files Resolume Arena 7.27 wrote; the Background Slicer's live-input export uses it.
Used in LivePremier Plus
Test pattern engine
Stoatworks Test Card
MIT
Same fleet, bundled rather than re-derived: src/vendor/test-card/engine.js is Test Card's src/engine.ts and the painters, settings and canvas limits behind it, built by tools/sync-test-card.mjs. Its SMPTE RP 219 bars are held to ffmpeg's there; the Test Card plugin draws every card with it.
Used in LivePremier Plus
Client-memory pixel transfers
Stoatworks receipt
MIT
The guard that unbinds a host's pixel buffer objects and row lengths around the read-back and the upload is receipt's.
Used in Lowband
Graticule bitmap font
Stoatworks graticule
MIT
source/Font.{h,cpp} — the 5×7 bitmap font every scale number and legend is drawn from — carried across from graticule unchanged.
Graticule Diag logger
Stoatworks graticule
MIT
The Diag log-file writer, carried across from graticule. It records the build, the GL driver, the solved ballistic constants and whether any audio reached the layer.
Used in Needle
Graticule host Clock
Stoatworks graticule
MIT
The Clock that measures what unit the host's SetTime arrives in, carried across from graticule.
Used in Needle
Graticule offline harness plumbing
Stoatworks graticule
MIT
The shape of the PNG writer and the headless GL plumbing in the ndtest harness follow graticule's. The harness only; nothing of it ships in the plugin.
Used in Needle
fastboot.js (android-fastboot)
Danny Lin
MIT
An npm dependency. Implements the Android fastboot protocol over WebUSB: unlocking, flashing raw and sparse images, splitting images larger than the bootloader's download limit, and flashing AOSP factory-image zips. Every fastboot operation this project performs goes through it.
Used in openflash
ya-webadb (@yume-chan/adb and friends)
Simon Chan
MIT
An npm dependency. Implements the ADB protocol over WebUSB, including the RSA authentication handshake and the key store. Used for reading device properties and for the socket that adb sideload runs over. The sideload command itself is not part of ya-webadb: src/core/sideload.ts is an implementation of the AOSP sideload-host protocol on top of its socket API.
Used in openflash
The LineageOS wiki device database
The LineageOS Project and wiki contributors
CC BY-SA 3.0 for the wiki content
public/data/devices.json is generated from _data/devices/*.yml in that repository by scripts/build-device-db.mjs. Those files are what drive the wiki's own per-device install pages, and the step generator in src/core/plan.ts is a re-expression of the same Liquid templates. This project is not affiliated with or endorsed by the LineageOS project. The wiki is the authority on how to install LineageOS; this is a tool that reads its data.
Used in openflash
Google Fonts
SIL Open Font License 1.1, Apache License 2.0, Ubuntu Font Licence 1.0 — per family, in each family's directory
The catalogue is built from fonts.google.com/metadata/fonts and the repository tree; the font files are fetched from the repository at runtime, mirrored by jsDelivr. Previews use the Google Fonts CSS API.
Used in OpenFont Manager
Fontsource
MIT (the project); fonts carry their own licences, recorded per family
The ~120 families Google Fonts does not carry, served by jsDelivr.
Used in OpenFont Manager
Font install code, name normaliser, installer scripts and substitutes table
Stoatworks pptx-font-manager
MIT
The font-install code (src-tauri/src/fonts.rs), the name normaliser (src/core/names.ts), the installer scripts (src/core/installers.ts) and the substitutes table were carried over from this sibling project.
Used in OpenFont Manager
fflate
MIT
The zip is streamed through fflate's Zip class.
Used in OpenFont Manager
2D signed distance functions
Inigo Quilez
published derivations, used with credit
The shape primitives are the standard analytic forms derived and published by Quilez. The normalisation constants, the motion, and everything else in the plugin are ours — but the distance functions at the centre of it are his derivations and are used as published.
PixelHue Q8 EDID
PixelHue
The base and CTA-861 blocks embedded in src/lib/mosaic.ts come from a PixelHue Q8's EDID, used as the known-good starting point for tiled EDIDs that a Mac will bond.
Used in EDID Editor
Vendor product documentation
Device capability data is quoted, with attribution and a read date, in src/lib/capability/devices.ts and shown in the app. Sources include Analog Way, Barco, PixelHue, Brompton Technology, NovaStar, disguise and Green Hippo product documentation. Product and company names are used nominatively, to state compatibility only; the project is not affiliated with, authorised by or endorsed by any of them.
Used in EDID Editor
The LED-wall effect's shape, the clock and PassBuffer
Stoatworks pitch
MIT
The plugin class's shape, the host-clock unit vote (readout's, carried by pitch), the integer cabinet arithmetic and seeded per-cabinet faults by PCG hash, source/PassBuffer.{h,cpp} (tinsel's FFGLFBO with the colour-texture leak fixed), source/Diag.{h,cpp} and the release workflow and scripts/release-lib.sh are pitch's, adapted.
Used in Patchwork
Harness, GL state and tooling
Stoatworks conway
MIT
source/GLState.h, source/Hash.h, the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues and --offline, and tools/verify.sh, tools/mutate.sh, tools/glslc.sh, tools/sweep.py and the CI workflow are conway's (which carries them from radar, boreal, flyback, downpour, tinsel and plotter).
Used in Patchwork
Graticule Diag logger and host Clock
Stoatworks graticule
MIT
source/Diag.* (the log-file writer, from orrery via graticule) and source/Clock.* (the clock that measures what unit the host's SetTime arrives in, from flipbook via graticule), renamed into this namespace. Clock gained ForceMilliseconds from copperlist.
Used in Pattern
Pipe cue sheet and field arithmetic
Stoatworks copperlist
MIT
The --pipe cue-script format and parser, the two-raster sweep in verify.sh, and the lesson that a floor over a host time needs a 1e-6 allowance because 1/60 is not a double.
Used in Pattern
Two bundles from one core
Stoatworks vectrix
MIT
An OBJECT core library with each plugin's registration in its own entry file, compiled only into its own bundle.
Used in Pepper
Mutation script, glslc extraction and reserved-word check
Stoatworks knockout
MIT
tools/mutate.sh (one copy, one build, one recompiled file per mutant), tools/glslc.sh (assembled shaders through glslc) and the GLSL reserved-word check in tools/verify.sh are knockout's, adapted.
Used in Pepper
Sweep, verify shape and the Windows DLL check
Stoatworks graticule and throw
MIT
tools/sweep.py and the release-job-locally checks in tools/verify.sh follow genlock's, wipe's, relay's, lenticular's and graticule's (https://github.com/stoatworks-labs/graticule). tools/wincheck.ps1 and the two workflows are throw's, adapted for a mixer and two bundles.
Used in Pepper
PassBuffer and Diag
Stoatworks tinsel
MIT
source/PassBuffer.{h,cpp} and source/Diag.{h,cpp} are copied from tinsel with only their header comments changed. They work around two defects in the FFGL SDK — FFGLFBO::Release() leaking the colour texture, and every ffglex::Scoped* binding clearing to 0 on scope exit rather than restoring — which are the same everywhere, so a second implementation would be a second thing to get wrong.
Used in Photofinish
ZX Spectrum palette and attribute model
Stoatworks nesolume
MIT
Same fleet, copied rather than shared: source/Spectrum.cpp takes the two hardware levels (0xD7 basic, 0xFF bright) and the GRB bit order from the ZX Spectrum rows of nesolume's source/Consoles.cpp, and the 8×8 attribute model — one ink, one paper and a BRIGHT bit per character cell — is the one nesolume's quantise stage implements. How the two colours are chosen is not from nesolume: nesolume models attribute clash, while pilot splits each cell at a threshold and takes the mean colour either side, modelling a screen converted before it went on tape.
Used in Pilot
Offline test card
Stoatworks nesolume
MIT
The bands of tools/pttest's default picture — hue × brightness, overlapping discs on grey, a luminance ramp and a fine checkerboard — are the ones nesolume's harness uses, for the same reason: each makes a different kind of wrong answer visible.
Used in Pilot
5×7 bitmap font
Stoatworks graticule
MIT
source/Font.{h,cpp} is graticule's font table, unchanged except for the namespace. It draws one string here: the Spectrum's R Tape loading error, 0:1.
Used in Pilot
Per-row sample-time model and harness shape
Stoatworks readout
MIT
The rolling-shutter model (row r of H integrates from r x Readout / H for one shutter), the host clock-unit voting and the offline-harness shape are readout's, reused with the row window recast in PWM sub-periods.
Used in Pitch
Cabinet and module arithmetic
Stoatworks graticule
MIT
The cabinet-and-module layout arithmetic follows graticule's LED Tiles pattern.
Used in Pitch
Tracer, detect chain, segment renderer, harness shape
Stoatworks galvo
MIT
source/Tracer.{h,cpp} is galvo's tracer copied verbatim (namespace renamed, and the local `far` renamed for MSVC, where it is a macro); the mip copy, Sobel-on-luma-or-alpha and asymmetric temporal filter passes, the energy-conserving segment renderer turned from light into absorbance in source/render/Ink.*, PassBuffer with the FFGLFBO leak fixed, Diag, the nearest-neighbour stroke ordering, the clock-unit voting and the harness shape in tools/pltest are galvo's, adapted.
Used in Plotter
PassBuffer, luma-or-alpha detect, the sweep and verify shapes
Stoatworks tinsel
MIT
The off-screen buffer wrapper, the `a (0.35 + 0.65 luma)` detect mode, the asymmetric temporal filter, tools/sweep.py and the shape of tools/verify.sh, and the lesson that every ffglex::Scoped* binding clears rather than restores.
Used in Plotter
--pipe contract, --dump-shaders, the negative-control pattern
Stoatworks toolpath
MIT
The fleet's raw-RGBA --pipe mode with cue sheets and SIGPIPE ignored, --dump-shaders with check-shaders.sh over the exact strings the plugin compiles, the Perturb-bit negative controls and the "would this hold on another rasteriser" table.
Used in Plotter
Offline harness, control sweep and verify script
Stoatworks galvo
MIT
The shape of pbtest (the real plugin class driven in a headless GL context), tools/sweep.py (no control is silently dead) and tools/verify.sh (the release job's checks run before the tag), and the rule that a tolerance is derived rather than fitted.
Used in Plumbicon
Persistent-buffer plumbing and the Diag logger
Stoatworks afterglow
MIT
The plumbing for state carried across frames in picture-sized buffers, and the log-only diagnostics for a plugin living inside somebody else's process.
Used in Plumbicon
Source-plus-Over shape, GL state and harness
Stoatworks boreal, downpour and flyback
MIT
One core registered as a source and an Over effect is downpour's shape, as boreal carries it. GLState.h, Diag, the host-clock unit vote and the About block are boreal's; the harness's GL plumbing, PNG writer, parameters by name, --pipe and --film with their cue sheets, tools/verify.sh, tools/sweep.py, tools/mutate.sh, tools/glslc.sh and the negative-control pattern are boreal's and flyback's.
Used in Polyhedral, Radar
Font scan, loader and portable font name
Stoatworks downpour
MIT
source/Typeface.cpp's installed-font scan (reading only each file's name table), its loader through stb_truetype, and the idea of keeping the family name beside the dropdown's index so a composition finds its font on another machine, are downpour's. The signed-distance digit atlas, the built-in stroked face and the plain-face-first choice within a family are new here.
Used in Polyhedral
Font scanner and resolver
Stoatworks pptx-font-manager
MIT
Same fleet, copied rather than shared: src/core, src/lib, src/platform and src/data are vendored from pptx-font-manager under vendor/pptx-font-manager via git subtree and imported unchanged through the @fm alias, so the add-in and the web tool cannot disagree about a deck. That brings the scanner, the resolver, the canvas width-probe font check, the metric-compatible substitutes and the Google Fonts, Fontsource and Adobe Fonts catalogues. The ribbon icons are rendered from pptx-font-manager's icon.svg.
Used in Font Manager for PowerPoint
The pumpkin patch
Stoatworks Test Card
MIT
The jack-o'-lantern, its six faces and their expressions (src/patterns/art/halloween.ts), the candle and expression timing, which face goes on which tile and each tile's night (src/patterns/halloween.ts), and the seeded hash and generator (src/patterns/random.ts), ported line for line into source/Lantern.cpp and source/Random.h. pktest --port holds the port to numbers the test card's own TypeScript prints, and pktest --testcard the picture to pictures its own painter draws in Chrome.
Used in Pumpkin
Parameter table, GL state, clock and harness
Stoatworks langton
MIT
HostOrder() with the About block last, the host-clock unit vote, GLState.h, Diag, the harness's context, PNG writer, cue sheets and --pipe, --negative, --bench, tools/verify.sh, tools/mutate.sh, tools/glslc.sh and tools/sweep.py are langton's (which carries them from radar, conway, boreal and tinsel). All adapted.
Used in Pumpkin
The read-back-then-CPU plugin shape
Stoatworks teletext
MIT
A 1-bit device whose decisions are made on the CPU after a read-back of a GPU sample pass is teletext's shape.
Used in Receipt
Mixer mechanics, two-input harness and Timing
Stoatworks genlock and wipe
MIT
The mixer mechanics of ProcessOpenGL (guard on the input count, guard on each pointer, one MaxUV per input, interleaved scoped bindings), the two-input harness rig, its --mixer check and its two-input --pipe, the host-clock Timing.*, the software-renderer pass and the CMake shape are genlock's and wipe's, adapted.
PAL and NTSC raster timing
Stoatworks clamp
MIT
The line period, porches, sync and active-line counts of 625/50 and 525/59.94 in source/Raster.cpp are clamp's numbers, in a smaller struct.
Used in Relay
Harness shape, --pipe contract, the host clock and the negative-control pattern
Stoatworks contour and standards
MIT
The harness shape (a session round the real plugin class in a headless CGL context, a synthetic 60 fps clock, checks read out of the picture), the --pipe contract with SIGPIPE ignored, --offline, check-shaders.sh, the host clock (readout's unit voting, kept in double), the perturb-bit negative controls and the separable blur come from contour, by way of standards, pitch and slowscan.
Used in Repousse
Audio declaration and onset detector
Stoatworks regauss and contour
MIT
The 64-bin FFT declaration, the sqrt-of-bin mean and the bass range are regauss's; the primed baseline-flux detector is contour's SeaDrive, reworked to deliver one kick per hit.
Used in Repousse
Damped oscillator with substepped integration
Stoatworks gaffer
MIT
The shape of the pendulum, kicks as velocity impulses, a fixed substep, the elapsed time clamped rather than the step count, is gaffer's Rattle, with the linear spring replaced by the large-angle pendulum and semi-implicit Euler by classical Runge-Kutta.
Used in Repousse
Diag and the harness shape
Stoatworks tinsel
MIT
source/Diag.{h,cpp} is tinsel's, by way of photofinish, with only its header comment changed; the harness's PNG writer, CGL context and rig, tools/sweep.py and tools/verify.sh follow photofinish's shape where the job is the same.
Used in Residual
Onset detector
Stoatworks macroblock
MIT
source/Onset.cpp is macroblock's spectral-flux design, positive change between raw frames against an adaptive floor, counted in frames instead of seconds and primed on the first frame.
Used in Residual
doomgeneric
GPL
The engine. doomgeneric descends from id Software's own release of the Doom source, which is GPL, and anything linked into this binary inherits it, which is why resodoom is GPL-2.0-only when the rest of the fleet is MIT. It is a pristine submodule pinned by commit; resodoom changes it by force-including source/engine/ResodoomHooks.h and by four patches in patches/ applied to a copy in the build tree: 0001 holds the projection at its 320-wide value so a wider buffer gains angle (true Hor+ widescreen), 0002 keeps a non-320x200 view at size 11, 0003 bounds the end-of-Episode-3 bunny scroll at 320 columns, and 0004 centres the 320-wide 2D layer. Each is an identity at 320x200. Four engines, 320, 384, 426 and 568 wide, are compiled from it, and source/engine/EngineImpl.c implements its callbacks. DOOM is a trademark of id Software LLC; no id Software content ships.
Used in Resodoom
stagehand
Stoatworks stagehand
MIT
The MIT half, consumed as a submodule: loading a private copy of the engine library, paying out its clock against elapsed real time, the letterbox maths, texture presentation and the diagnostics log. It was split out of this repo so the GPL engine could not swallow it; the engine implements stagehand's generic source ABI, so the boundary is compiled and tested, and stagehand's files stay MIT inside the GPL-2.0 binary.
Used in Resodoom
Threading, letterbox maths and the private-copy loader
Stoatworks cartridge
MIT
cartridge, a libretro frontend as an FFGL source, is the same shape, and is where the threading, the letterbox maths and several of the traps AGENTS.md records came from. Staging a uniquely named copy of the engine for each instance is the conclusion cartridge reached about libretro cores, for the same reason.
Used in Resodoom
Diagnostics crate, token encryption and subnet probe
Stoatworks flock
MIT
flock is the fleet control panel rookery is modelled on. crates/diag is vendored from it unchanged, and crates/core/src/crypto.rs and the subnet-probe rules in crates/discovery are adapted from it.
Used in Rookery
roomkit Python generator
Stoatworks roomkit
roomkit-web is a port of a Python/cadquery generator: src/lib/acoustics.ts is a line-for-line port of roomkit's helmholtz.py and diffuser.py (2bd5aed), and src/lib/geometry.ts ports its common.py and the build() halves of both onto replicad in place of cadquery. src/lib/fixtures/python-reference.json holds that code's numbers and the tests pin the port to them; built part volumes were also checked against the cadquery STLs, identical to 0.000%.
Used in roomkit-web
PassBuffer, Diag, audio analyser, preset overrides and verify checks
Stoatworks tinsel, macroblock and graticule
MIT
source/PassBuffer.* and source/Diag.* are tinsel's, renamed into this namespace. The audio analyser is adapted from macroblock's, reduced to the one band this effect needs. The preset-override shape, the About header and the release-job-locally checks in tools/verify.sh follow graticule's, the header as a hand copy at first and generated by sync-about.py since.
Used in Rosette
The effect's shape, the GL state guard, the harness and the tooling
Stoatworks fiche
MIT
The plugin class's shape and its table of controls, source/GLState.h (radar's, which is vectrix's, from resolume-scopes), the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues and --offline, and tools/verify.sh, tools/mutate.sh, tools/glslc.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh are fiche's, adapted. The idea of firing a beat at the moment inside the frame where it fell (source/Air.h) is fiche's lesson.
Used in Schlieren
The audio analyser, the host-clock vote, the pass buffers and the log
Stoatworks millpond
MIT
source/Audio.{h,cpp} is millpond's onset analyser (rosette's, adapted from macroblock's), with its primed first frame; the host-clock unit vote in SchlierenPlugin::UpdateClock is rosette's by way of millpond; source/PassBuffer.{h,cpp} (FFGLFBO with the SDK's colour-texture leak fixed) and source/Diag.{h,cpp} are millpond's. All adapted.
Used in Schlieren
The onset detector
Stoatworks bassalt
MIT
source/Audio.cpp is bassalt's analyser (millpond's, rosette's and macroblock's before it): spectral flux between raw frames against a running mean, a peak-normalised level, the refractory period and the primed first frame. Scrawl splits it into three bands, each with its own detector, and takes an onset's strength from the raw level.
Used in Scrawl
The source-plus-Over shape, the harness and the tools
Stoatworks jackpot
MIT
Two bundles from one OBJECT core, CMakeLists.txt, GLState.h (boreal's, vectrix's and resolume-scopes' before it, with the blend equation and the program added here), Diag, the host-clock unit vote, Transport.h (honeydew's bar phase, turned into eighth notes here), the harness's rig, PNG writer, --pipe, --film and cue sheets, tools/verify.sh, tools/sweep.py, tools/mutate.sh and tools/glslc.sh, the CI and release workflows and scripts/release-lib.sh are jackpot's (polyhedral's, boreal's, downpour's and flyback's before it). The GL state round trip in sctest --state is bassalt's.
Used in Scrawl
openrcs-awj
Stoatworks Labs
MIT
The AWJ wire codec (0x04-terminated get/replace framing) and the T-bar letter rule — which preset letter a LivePremier screen has on program given its transition state — come in as a git dependency from the fleet's own openrcs rather than being written a second time. src-tauri/crates/showbook-aw uses them for every AWJ read and write and for naming the captured program and preview states.
Used in Showbook
Shape primitives
Stoatworks orrery
MIT
Same author, same fleet, but a copy rather than a shared library: the eight distance functions, their normalisation, the shading, the About block and the diagnostics log were written for orrery and carried over here. Named so that a reader of either repo knows which one the primitives are maintained in.
Used in Shunt
The harness, the tooling and the plugin's shape
Stoatworks schlieren
MIT
The harness's rig, PNG writer, look card, cue sheets, --pipe/--film (SIGPIPE ignored, a closed stdout an exit of 1), --negative with its Perturb, --state and --offline; the host-clock unit vote; tools/verify.sh, tools/mutate.sh, tools/glslc.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh. By way of a sibling plugin that is not public yet, which had them from schlieren and fiche. All adapted.
Used in Sidereal
Pass buffers, GL state and the log
Stoatworks millpond
MIT
source/PassBuffer.{h,cpp} and source/Diag.{h,cpp} are millpond's; source/GLState.h is radar's, which is vectrix's, from resolume-scopes.
Used in Sidereal, Slipstream
CPU signal engine feeding a GL renderer, and the seeded generator
Stoatworks vectrix
MIT
The shape of a CPU signal engine at an audio-ish rate feeding a GL renderer, and the seeded xorshift128+ generator with its SplitMix64 seeding (a published construction, Vigna 2014 and Steele et al. 2014), are vectrix's, adapted.
Used in Slowscan
Harness test card
Stoatworks nesolume
MIT
The harness's test card (a hue field, three discs on grey, a grey ramp, a fine checkerboard) is nesolume's.
Used in Slowscan
Library, history, sync and OAuth crates, and the app shell
Stoatworks showbook
MIT
The library, history, sync and OAuth crates and the app shell, which Songbook shares with Showbook.
Used in Songbook
Console file decoders and readers
Stoatworks patchferret
MIT
The MBDF container and MMSXLIT decoders, the CL/QL table offsets, the SQ record signature and the A&H archive findings all came from PatchFerret's research; the readers here are its adapters re-targeted at Songbook's model.
Used in Songbook
Yamaha prminfo dictionaries, from the yamaha-rcp Companion module
MIT
The per-family prminfo dictionaries that src-tauri/crates/songbook-yamaha/dict/ embeds verbatim were captured by the yamaha-rcp 3.5.12 module.
Used in Songbook
Scope buffer, GL state guard, diagnostics, About headers and harness plumbing
Stoatworks resolume-scopes and vectrix
MIT
Written for the Stoatworks fleet and copied rather than shared, because four bundles each link their own copy of everything and a shared library between repos would be a dependency for the sake of a hundred lines. source/render/ScopeBuffer.{h,cpp} and source/render/GLState.h are resolume-scopes', by way of vectrix; source/Diag.{h,cpp} is vectrix's; the PNG writer and CGL context in tools/sptest/Render.cpp are from vectrix's vxtest; source/StoatworksAbout*.h comes from stoatworks-backend/about.
Used in Spasis
Effect template and harness plumbing
Stoatworks tinsel, pattern and asciify
MIT
tinsel is the structural template for an effect: the CMake shape, the OBJECT core, the viewport capture before the passes, the About headers, the synthetic-clock harness with --list/--out/--pipe/--bench and a PNG writer, tools/sweep.py, tools/verify.sh and the two workflows. pattern's harness supplied the --pipe hang-up handling (SIGPIPE ignored, exit 1), the cue script and the two-raster discipline; asciify the cell-as-unit framing. Nothing of any of their effects is here.
Used in Splitflap
Onset detector shape
Stoatworks pattern
MIT
source/Onset.* follows pattern's tracker: spectral flux over root magnitude, a floor that follows over one second and moves only when time has passed, a rising-edge fire with a refractory, and priming on frame one. Here it is one detector over all 64 bins rather than one per band.
Used in Splitflap
Field machinery
Stoatworks cadence
MIT
A field as a slice of time as much as a slice of lines, the top-field-first parity rule, the rule that no pass samples between two rows, the frame-based weave and Bob Linear are cadence's, re-expressed here for two line standards instead of one.
Used in Standards
A ring of timestamped frames
Stoatworks afterglow
MIT
The idea of a ring of timestamped recent frames is afterglow's.
Used in Standards
Harness shape, --pipe contract and negative controls
Stoatworks rebate
MIT
The harness shape, the --pipe contract and the negative-control pattern are pitch's and rebate's; the host clock-unit voting is readout's by way of cadence; --offline and check-shaders.sh are slowscan's.
Used in Standards
The jump flood, PassBuffer and the lattice
Stoatworks toolpath
MIT
The flood's schedule (1+JFA, then a finishing run of halving steps), its squared-integer distances and total-order ties, the working lattice and the integer-format PassBuffer are toolpath's. Stencil's flood carries a different pair of seeds: the nearest sheet texel, and the nearest of another piece.
Used in Stencil
Harness shape, sweep and the trap list
Stoatworks tinsel
MIT
The offline harness's shape, tools/sweep.py, the negative-control pattern and the fleet's trap list are tinsel's.
Used in Stencil
Stepped cues and the verify shape
Stoatworks gate
MIT
The --pipe contract with SIGPIPE ignored and options, booleans and integers stepping between cues, and verify.sh's shape with its software-renderer pass follow gate's; the SNTEST_RENDERER=software switch is repousse's.
Used in Stencil
Field arithmetic
Stoatworks copperlist
MIT
The field index from the host clock, floor( t x rate + 1e-6 ) in double with up to four fields a frame and a longer gap treated as a jump, is copperlist's.
Used in Teletext
The halftone as a spot function
Stoatworks rosette
MIT
The idea of a screen as a spot function whose threshold is chosen so the dot's area is exactly the tone is rosette's; the diamond dot with its closed-form area law is this repo's own.
Used in Toner
Detect On and PassBuffer
Stoatworks tinsel
MIT
The four ways a picture becomes a region (Luma, Alpha, Chroma, Luma or Alpha) and the Luma-or-Alpha trap are tinsel's, as is the idea of PassBuffer, the off-screen buffer that reallocates only when the size changes.
Used in Toolpath
--offline, --allow-no-gl and the CI shape
Stoatworks slowscan
MIT
The --offline selector, the --allow-no-gl loud skip and the two workflows follow slowscan's.
Used in Toolpath
A traced path at a physical rate
Stoatworks galvo
MIT
The idea of a traced path driven at a physical rate is galvo's; colour triples as consecutive red, green and blue parameters are bassalt's.
Used in Toolpath
Single-effect shape, harness, PassBuffer, Diag and tools
Stoatworks clamp
MIT
The plugin's shape (an OBJECT core, the About block last, SetTextParameter accepting its own default), PassBuffer (tinsel's, with the SDK's colour-texture leak fixed), Diag, the harness's GL rig, parameter-by-name and --pipe with cue sheets, tools/verify.sh, tools/check-shaders.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh are adapted from clamp.
Used in Valve
Mutation testing and the GLSL greps
Stoatworks conway
MIT
tools/mutate.sh and the reserved-word and trig greps in tools/verify.sh are conway's.
Used in Valve
PowerPoint slide geometry
Stoatworks aspect-calc
MIT
src/lib/slides.ts is vendored from Aspect Calc. One edit: the Problem import points at this repo's problem.ts.
Used in Wallslide
ZIP writer
Stoatworks test-card
MIT
src/lib/zip.ts and src/lib/__tests__/zip.test.ts are vendored from Test Card, unmodified.
Used in Wallslide
Clock, Diag, PassBuffer and the harness shape
Stoatworks cadence
MIT
source/Clock.{h,cpp}, source/Diag.{h,cpp} and source/PassBuffer.{h,cpp} are carried over from cadence (which had them from macroblock, afterglow and tinsel in turn), as are the shape of the offline harness, tools/sweep.py, tools/verify.sh and the two workflows.
Used in Wheel
Build layout and release workflow
Stoatworks tinsel
MIT
The CMake MODULE-plus-submodule layout, the OBJECT-library core and the release workflow.
Used in Wheel
The effect's shape, the harness and the tooling
Stoatworks schlieren
MIT
The plugin class's shape and its table of controls, the host-clock vote, source/GLState.h, the harness's rig, PNG writer, cue sheets, --pipe/--film (SIGPIPE ignored, a closed stdout exits 1), --negative with its Perturb, --state, --names, --cues and --offline, and tools/verify.sh, tools/mutate.sh (with its pipefail fix), tools/glslc.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh are schlieren's, which are fiche's and tinsel's before it, adapted. Firing a beat at the moment inside the frame where it fell (source/Strobe.cpp) is schlieren's, which is fiche's lesson.
Used in Zoetrope
The held pictures in a texture array
Stoatworks gauge
MIT
source/Cards.{h,cpp} is gauge's HeldFrames, adapted: one layer per station rather than a ring of frames, in linear light, and a reallocation that draws every print into the new array so a resize keeps them.
Used in Zoetrope
Box-filtered composite, clock, harness and the Over's integer clip mapping
Stoatworks conway
MIT
The two-plugin shape, the step clock (Clock.h), the box-filtered composite, the Over's integer pixel mapping, the Seed-before-Reseed button order and most of the harness (its rig, cue sheets, --pipe, --bench, --negative) are conway's, adapted from generations to ant steps.
Used in Langton
Source-plus-Over shape, parameter table, clock, harness and tooling
Stoatworks langton
MIT
One core registered as a source and an Over effect (CMakeLists.txt's two bundles from one OBJECT library), HostOrder() with the About block last, the host-clock unit vote, the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues and --offline; tools/verify.sh, tools/mutate.sh, tools/glslc.sh, tools/sweep.py, the CI and release workflows and scripts/release-lib.sh. All adapted.
Used in Slipstream
The effect's shape, the GL state guard, the pass buffers, the log and the tooling
Stoatworks schlieren
MIT
The plugin class's shape and its table of controls, source/GLState.h (radar's, which is vectrix's, from resolume-scopes), source/PassBuffer.{h,cpp} (FFGLFBO with the SDK's colour-texture leak fixed, millpond's) and source/Diag.{h,cpp} (millpond's); the host-clock unit vote in SlitscanPlugin::UpdateClock (rosette's, by way of millpond); the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues and --offline; and tools/verify.sh, tools/mutate.sh, tools/glslc.sh and tools/sweep.py (fiche's, by way of schlieren). All adapted.
The harness, the tooling, two plugins from one core
Stoatworks slipstream
MIT
CMakeLists.txt's two bundles from one OBJECT library, the plugin class's shape (a host order per plugin with the About block last, the clock that votes on seconds against milliseconds), the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative, --state and --offline, and tools/verify.sh and tools/glslc.sh. All adapted.
Used in Isohypse
The GL state and the log
Stoatworks langton, millpond and radar
MIT
source/Diag.{h,cpp} and source/GLState.h (radar's, which is vectrix's, from resolume-scopes), by way of slipstream. source/Target.{h,cpp} is the fleet's PassBuffer, widened.
Used in Isohypse
Fast third-order texture filtering
C. Sigg and M. Hadwiger, GPU Gems 2, chapter 20 (2005)
The cubic B-spline in four bilinear taps that the map pass reads every height through (bspline in source/Shaders.cpp).
Used in Isohypse
The effect's shape, the GL state guard, the pass buffer, the log and the tooling
Stoatworks slitscan
MIT
The plugin class's shape and its table of controls, source/GLState.h (radar's, which is vectrix's, from resolume-scopes), source/PassBuffer.{h,cpp} (the fleet's, without a depth buffer) and source/Diag.{h,cpp}; the host clock's unit vote and SetBeatInfo; the harness's rig, PNG writer, cue sheets, --pipe/--film, --negative with its Perturb, --state, --names, --cues and --offline; and tools/verify.sh, tools/mutate.sh, tools/glslc.sh and tools/sweep.py (schlieren's and fiche's before it). All adapted.
The card's frame
Stoatworks lenticular
MIT
A convention rather than code: the card stays put while the eye and the lamp move round it, and distances are measured in picture widths. source/Card.cpp is written fresh to it.
Used in Holofoil
Teletext's eight colours
Stoatworks teletext
MIT
Ramdac's Teletext palette is teletext's eight colours in its code order. tools/siblings.py reads teletext's source and checks that the two agree.
Used in Ramdac
The Amiga's 12-bit colour registers
Stoatworks copperlist
MIT
Workbench 1.3 and 2.0 are held as 12-bit $RGB registers and expanded to 8 bits a gun by x17, as copperlist's chip::Expand12 does. tools/siblings.py checks the two agree.
Used in Ramdac
The ZX Spectrum, NES and Game Boy tables
Stoatworks nesolume
MIT
The ZX Spectrum (basic at 0xD7, bright at 0xFF), 16 of the 2C02 NES entries and the DMG Game Boy's four greens are nesolume's values. nesolume's Commodore 64 table is not used (see Pepto's page under the colour values); tools/siblings.py checks the shared tables agree and prints the C64 difference instead of failing on it.
Used in Ramdac
The highlight and the metal table
Stoatworks repousse
MIT
GGX with height-correlated Smith visibility and Schlick's Fresnel, as repousse lights its metal; and tools/f0.py, which computes a metal's F0 from published n,k, here run for zinc and aluminium.
Used in Throw
The file parameter and 16-bit height maps
Stoatworks knockout and isohypse
MIT
How a file path arrives as an FFGL file parameter and is held under a lock until the GL thread reads it (knockout, https://github.com/stoatworks-labs/knockout), and reading PNGs through stb_image at 16 bits a channel so a 16-bit height map keeps its precision (isohypse). source/HeightFile.{h,cpp}.
Used in Throw
What they're built on
The SDKs, frameworks and libraries these projects bundle or link. Ordered by how many projects depend on them.
Resolume FFGL SDK
BSD-3-Clause
FreeFrame
The plugin ABI itself. An FFGL effect or source is defined by this SDK's headers — there is no other way to be loadable by Resolume Arena and Avenue.
Vendored as a git submodule at external/ffgl (third_party/ffgl in oxbow).
121 projects: 5-wire, Abomerration, Afterglow, Amber, Asciify, Astable, Astronaught, Atrac, Bassalt, Bluebook, Boreal, Burin, Cadence, Cartridge, CCU, Clamp, cogwheel, Coinop, Colourunder, Compander, Containment, Contour, Conway, Copperlist, Crumple, Databend, Downlink, Downpour, Escapement, Fax, Ferric, Ferrofluid, Fiche, Filament, Flenser, Flipbook, Flipdot, Flyback, gaffer, galvo, Gate, Gauge, Genlock, Graticule, Gridiron, Handleman, Holofoil, Honeydew, Hyacinth, Idler, Instant, Intaglio, Isohypse, Jackpot, Jacquard, Knockout, Langton, Lenticular, Lowband, Macroblock, Millpond, Needle, NESolume, nib, obs-ffgl, Old Cathode, Orrery, Outrun, oxbow, Patchwork, Pattern, Pepper, Photofinish, Pilot, Pitch, Plotter, Plumbicon, Polyhedral, Porthole, Pumpkin, Radar, Ramdac, readout, Rebate, Receipt, (re)gauss, Relay, Repousse, Residual, Resodoom, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Rosette, Schlieren, Scrawl, Shunt, Sidereal, Slipstream, Slitscan, Slope, Slowscan, Spasis, Splitflap, Standards, Stencil, Teletext, Throw, Tilter, Tinsel, Toner, Toolpath, Valve, Vectrix, Vertigo, Vocoder, WebLinked, Wetplate, Wheel, Wipe, Zoetrope
GLEW — the OpenGL Extension Wrangler Library
BSD-3-Clause (with Mesa 3-D and Khronos components)
Milan Ikits, Marcelo E. Magallon and Lev Povalahev
Resolves OpenGL entry points on Windows, where the system headers stop at OpenGL 1.1.
Arrives inside the FFGL submodule at external/ffgl/deps/glew-2.1.0. Not fetched separately.
120 projects: 5-wire, Abomerration, Afterglow, Amber, Asciify, Astable, Astronaught, Atrac, Bassalt, Bluebook, Boreal, Burin, Cadence, Cartridge, CCU, Clamp, cogwheel, Coinop, Colourunder, Compander, Containment, Contour, Conway, Copperlist, Crumple, Databend, Downlink, Downpour, Escapement, Fax, Ferric, Ferrofluid, Fiche, Filament, Flenser, Flipbook, Flipdot, Flyback, gaffer, galvo, Gate, Gauge, Genlock, Graticule, Gridiron, Handleman, Holofoil, Honeydew, Hyacinth, Idler, Instant, Intaglio, Isohypse, Jackpot, Jacquard, Knockout, Langton, Lenticular, Lowband, Macroblock, Millpond, Needle, NESolume, nib, Old Cathode, Orrery, Outrun, oxbow, Patchwork, Pattern, Pepper, Photofinish, Pilot, Pitch, Plotter, Plumbicon, Polyhedral, Porthole, Pumpkin, Radar, Ramdac, readout, Rebate, Receipt, (re)gauss, Relay, Repousse, Residual, Resodoom, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Rosette, Schlieren, Scrawl, Shunt, Sidereal, Slipstream, Slitscan, Slope, Slowscan, Spasis, Splitflap, Standards, Stencil, Teletext, Throw, Tilter, Tinsel, Toner, Toolpath, Valve, Vectrix, Vertigo, Vocoder, WebLinked, Wetplate, Wheel, Wipe, Zoetrope
libpng
PNG Reference Library License (libpng)
the PNG Reference Library authors
Part of the upstream SDK tree rather than something these plugins call directly — listed because it is present in the checkout.
Arrives inside the FFGL submodule, under the SDK's CustomThumbnail sample.
120 projects: 5-wire, Abomerration, Afterglow, Amber, Asciify, Astable, Astronaught, Atrac, Bassalt, Bluebook, Boreal, Burin, Cadence, Cartridge, CCU, Clamp, cogwheel, Coinop, Colourunder, Compander, Containment, Contour, Conway, Copperlist, Crumple, Databend, Downlink, Downpour, Escapement, Fax, Ferric, Ferrofluid, Fiche, Filament, Flenser, Flipbook, Flipdot, Flyback, gaffer, galvo, Gate, Gauge, Genlock, Graticule, Gridiron, Handleman, Holofoil, Honeydew, Hyacinth, Idler, Instant, Intaglio, Isohypse, Jackpot, Jacquard, Knockout, Langton, Lenticular, Lowband, Macroblock, Millpond, Needle, NESolume, nib, Old Cathode, Orrery, Outrun, oxbow, Patchwork, Pattern, Pepper, Photofinish, Pilot, Pitch, Plotter, Plumbicon, Polyhedral, Porthole, Pumpkin, Radar, Ramdac, readout, Rebate, Receipt, (re)gauss, Relay, Repousse, Residual, Resodoom, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Rosette, Schlieren, Scrawl, Shunt, Sidereal, Slipstream, Slitscan, Slope, Slowscan, Spasis, Splitflap, Standards, Stencil, Teletext, Throw, Tilter, Tinsel, Toner, Toolpath, Valve, Vectrix, Vertigo, Vocoder, WebLinked, Wetplate, Wheel, Wipe, Zoetrope
The npm ecosystem
predominantly MIT
the individual package authors
Build tooling, test runners and the libraries the front ends are assembled from. The exact set and versions for any build are in that repo's lockfile, which is the authoritative list.
npm dependencies, resolved and pinned in the lockfile.
76 projects: ahm-control, Alleycat, animATEM, aquilon-pitch, Aquilon VPU Map, ArrayCAD, Aspect Calc, ATEM Fleet Admin, ATEM Overseer, atem-scopes, automitti, Aux-opsy, av-launcher, AWJ Surface, BirdDog PLAY Flasher, BirdDog PLAY Patcher, BlackMatrix, Blend Calc, broomstick, Stoatworks Burrow, caspar-AV, Cathode Ray Tomes, Companion — animATEM, Companion — Atem Overseer, Companion — BlackMatrix, Companion — caspar-AV, Companion — flock, Companion module: Kestrel, Companion — LivePremier Plus, Companion — Mynah, Companion — openRCS, Companion — PDF Presenter, Companion — Presentation Commander Client, Companion — Presentation Commander Server, Companion — RFutils, Companion — SimpleCue, Companion — srt-router, Companion — WebLinked, Cosplay, Stoatworks Flasher, deadair, EDID Editor, LEQtion, line-calc, LivePremier Plus, MicWizard, Mynah, negative-space, openflash, OpenFont Manager, PDF Presenter, Peephole, Pixel Peeker, Advanced Exporter for PowerPoint, PowerPoint Font Manager, Font Manager for PowerPoint, Presentation Commander — Client, Presentation Commander — Server, Presentation Converter, quickdaw, r1-views, RFutils, roomkit-web, Showbook, simpleRTA, simpleVIS, Songbook, SoundBench, stagewash, Test Card, thumbnail-generator, Wallslide, Will My Show Fit?, latex-wysiwyg, OpenStage, the Stoatworks Labs website
The Rust crate ecosystem
predominantly MIT or Apache-2.0
the individual crate authors
Async runtimes, protocol codecs, serialisation and GUI toolkits. The exact set and versions for any build are in that repo's Cargo.lock, which is the authoritative list.
Cargo dependencies, resolved and pinned in Cargo.lock.
55 projects: Amber, aquilon-pitch, Aquilon VPU Map, ArrayCAD, Aspect Calc, ATEM Fleet Admin, ATEM Overseer, automitti, av-launcher, BirdDog PLAY Flasher, BlackMatrix, Blend Calc, Stoatworks Burrow, caspar-AV, Dante BabelBox, EDID Editor, Flock, frame-ferret, Kestrel, LEQtion, line-calc, LivePremier Plus, Mynah, negative-space, openflash, OpenFont Manager, openrcs, patchferret, Pixel Peeker, PowerPoint Font Manager, quickdaw, Resolume Luma Keyer, Resolume OFX Bridge, RFutils, Rookery, Showbook, Show Mode for Windows, simpleRTA, simpleVIS, Songbook, SoundBench, squawk, SRT Router, stagewash, Test Card, thumbnail-generator, UnMapper, VoiceLevel, Wallslide, Will My Show Fit?, db-remote, openrcs-research, OpenStage, PineMarten, vertige-bridge
React
MIT
Meta Platforms, Inc. and affiliates
The UI layer for the browser tools and the Electron and Tauri front ends.
An npm dependency.
44 projects: ahm-control, Alleycat, animATEM, aquilon-pitch, ArrayCAD, Aspect Calc, ATEM Fleet Admin, ATEM Overseer, atem-scopes, BlackMatrix, Blend Calc, Stoatworks Burrow, caspar-AV, Cosplay, deadair, EDID Editor, LEQtion, line-calc, MicWizard, Mynah, negative-space, OpenFont Manager, PDF Presenter, Peephole, Pixel Peeker, PowerPoint Font Manager, Presentation Commander — Client, Presentation Commander — Server, Presentation Converter, quickdaw, r1-views, RFutils, roomkit-web, Showbook, simpleRTA, simpleVIS, Songbook, SoundBench, stagewash, Test Card, thumbnail-generator, Wallslide, Will My Show Fit?, OpenStage
Tauri
MIT or Apache-2.0
The Tauri Programme within The Commons Conservancy
Wraps a web front end in a native desktop app using the platform's own webview rather than a bundled browser, so the binary stays small.
A Cargo and npm dependency — of the app itself under src-tauri/, or of the desktop launcher under launcher/src-tauri/.
40 projects: aquilon-pitch, Aquilon VPU Map, ArrayCAD, Aspect Calc, ATEM Fleet Admin, ATEM Overseer, automitti, av-launcher, BirdDog PLAY Flasher, BlackMatrix, Blend Calc, Stoatworks Burrow, EDID Editor, Flock, frame-ferret, LEQtion, line-calc, LivePremier Plus, Mynah, negative-space, openflash, OpenFont Manager, openrcs, patchferret, Pixel Peeker, PowerPoint Font Manager, quickdaw, RFutils, Showbook, simpleRTA, simpleVIS, Songbook, SoundBench, SRT Router, stagewash, Test Card, thumbnail-generator, Wallslide, Will My Show Fit?, OpenStage
OpenFX image effect plug-in API
BSD-3-Clause
OpenFX and contributors to the OpenFX project
The plugin ABI for the DaVinci Resolve and Nuke side of the same effects, so one core renders through both hosts.
Vendored at external/openfx — a git submodule in resolume-ofx-bridge, a copy of the headers and Support library elsewhere.
34 projects: Abomerration, Afterglow, Asciify, Burin, CCU, cogwheel, Colourunder, Compander, Downpour, Ferric, Flenser, Flipbook, gaffer, Gate, Idler, Lenticular, Macroblock, NESolume, Old Cathode, Orrery, Pilot, Porthole, readout, Rebate, (re)gauss, Relay, Resolume Luma Keyer, Resolume OFX Bridge, Rosette, Tilter, Tinsel, Vectrix, Vertigo, Wipe
@companion-module/base
MIT
Bitfocus AS
The module API for Bitfocus Companion. A module is defined by this package's contract — actions, feedbacks, variables and presets are its types.
An npm dependency.
16 projects: Companion — animATEM, Companion — Atem Overseer, Companion — BlackMatrix, Companion — caspar-AV, Companion — flock, Companion module: Kestrel, Companion — LivePremier Plus, Companion — Mynah, Companion — openRCS, Companion — PDF Presenter, Companion — Presentation Commander Client, Companion — Presentation Commander Server, Companion — RFutils, Companion — SimpleCue, Companion — srt-router, Companion — WebLinked
NDI SDK
NDI SDK Licence Agreement (proprietary)
Vizrt Group
NDI is the video transport most of this fleet's users already run. Compiling against the headers without shipping the runtime keeps the licence intact and still gives every build the backend.
Headers only, vendored so the backend compiles everywhere. The runtime is never redistributed — it is loaded with dlopen at run time if the user has installed it.
12 projects: BirdDog PLAY Patcher, Flock, frame-ferret, Kestrel, oxbow, Presentation Commander — Server, Rookery, SRT Router, UnMapper, WebLinked, OpenStage, PineMarten
Electron
MIT
OpenJS Foundation and Electron contributors
Ships one desktop app across macOS, Windows and Linux where the UI is the product and a bundled Chromium is an acceptable trade for that reach.
An npm dependency.
9 projects: Alleycat, animATEM, ATEM Fleet Admin, atem-scopes, MicWizard, PDF Presenter, Peephole, Presentation Commander — Client, Presentation Commander — Server
fflate
MIT
Arjun Barrett
Zip and deflate in plain JavaScript, fast enough to use in a browser. Office documents, OpenDocument files and most multi-file downloads are zip packages underneath.
An npm dependency.
9 projects: ArrayCAD, ATEM Fleet Admin, Stoatworks Flasher, Advanced Exporter for PowerPoint, PowerPoint Font Manager, Font Manager for PowerPoint, Presentation Converter, roomkit-web, simpleVIS
stb_image
MIT or Public Domain (dual, at your option)
Sean Barrett
Decodes PNG, JPEG and GIF. A sprite-sheet player has to open whatever the operator exported.
Single-header decoder vendored under external/stb/ and compiled into one translation unit.
7 projects: Flipbook, Gridiron, Isohypse, Polyhedral, Radar, Shunt, Throw
JUCE 8
AGPLv3 or commercial (JUCE 8 licensing terms)
Raw Material Software Limited
The audio plugin and application framework — format wrappers, DSP primitives and the GUI toolkit that make one codebase build as VST3, AU and a standalone app.
Fetched at configure time by CMake FetchContent, pinned to tag 8.0.6. Not vendored in the repo.
6 projects: Contourtonist, MixerReturn, Occluder, Proximate, SimpleCue, Zero EQ
Open Media Transport (libomt)
MIT
Open Media Transport Contributors
The open alternative to NDI, and MIT end to end — so unlike NDI it can be supported without a proprietary licence in the path.
Header vendored alongside the NDI headers; the library is loaded at run time.
5 projects: frame-ferret, oxbow, SRT Router, WebLinked, PineMarten
pdf.js
Apache-2.0
Mozilla Foundation
Mozilla's PDF renderer, the one in Firefox. It draws a PDF's pages to a canvas at whatever size they are wanted, rather than scaling a picture of them.
An npm dependency (pdfjs-dist), bundled into the page with its worker.
5 projects: ArrayCAD, PDF Presenter, Advanced Exporter for PowerPoint, Presentation Commander — Client, RFutils
stb_truetype
MIT or Public Domain (Unlicense), at your choice
Sean Barrett
Reads the font files: outlines, metrics and kerning pairs, and, where a plugin draws from an atlas, rasterises the glyphs into it. A whole font stack would be a large dependency for one job this header already does.
Single header vendored at external/stb/stb_truetype.h.
4 projects: Downpour, Jackpot, Knockout, Polyhedral
Syphon Framework
BSD-3-Clause
Tom Butterworth (bangnoise) and Anton Marini (vade)
The macOS counterpart to Spout — same job, same reason.
Vendored under third_party/syphon/.
3 projects: frame-ferret, oxbow, WebLinked
pdf-lib
MIT
Andrew Dillon
Writes and edits PDF files in plain JavaScript, with no native library and no PDF engine behind it.
An npm dependency, bundled into the page. Where fonts are embedded, so is @pdf-lib/fontkit, the same author's MIT fork of fontkit.
3 projects: Advanced Exporter for PowerPoint, Presentation Converter, Showbook
Astro
MIT
The Astro Technology Company
Builds this site to static HTML, so the pages carry no framework runtime to the reader.
An npm dependency.
2 projects: Aux-opsy, the Stoatworks Labs website
miniaudio
Public Domain (Unlicense) or MIT-0, at your choice
David Reid
In the tree rather than fetched because it is the only thing between the app and a sound card, and a build should not need the network on a locked-down show LAN.
Single header vendored at third_party/miniaudio/miniaudio.h, unmodified.
nanosvg
zlib
Mikko Mononen
Parses and rasterises SVG. It is chosen over more complete renderers because it hands back the SHAPE LIST — every path with its own fill, stroke, width and dash still separate — which is what makes drawing strokes without fills, revealing a path along its own length and staggering one shape against the next possible at all. A renderer that returned a finished bitmap could not be asked any of those questions.
Two single headers vendored, unmodified, at external/nanosvg.
purego
Apache-2.0
The Ebitengine Authors
Calls into a C shared library from Go without cgo, which is how the agent dlopens whatever libndi the device already has instead of linking against a redistributable copy.
A Go module dependency of the on-device agent.
2 projects: bdcam, BirdDog PLAY Patcher
React, React DOM and Scheduler
MIT
Meta Platforms, Inc. and affiliates
The UI layer of the embedded EDID editor. The repo does not depend on React itself; it arrives only inside that one vendored file.
Compiled into the vendored EDID Editor build, edid-editor-embed.js, with each package's MIT header kept in place (React 19.3.0 at the pinned build).
2 projects: LivePremier Plus, openrcs
Spout
BSD-2-Clause
Lynn Jarvis
Shares a GPU texture with other Windows applications without a round trip through system memory.
Vendored under third_party/spout/.
Chromium Embedded Framework
BSD-3-Clause
Marshall A. Greenblatt, with portions copyright Google Inc.
The browser engine. WebLinked's entire premise is rendering a real web page to a video output, which means embedding a real browser.
Binary distribution vendored under third_party/cef/.
1 project: WebLinked
dr_libs
MIT-0 or Public Domain (dual, at your option)
David Reid
Decodes WAV, MP3 and FLAC. A plugin that plays oscilloscope music has to read the files people actually have, and these cost nothing to build.
Single-header decoders vendored under external/dr_libs/ and compiled into one translation unit.
1 project: Vectrix
libogg
BSD-3-Clause
Xiph.Org Foundation
The container Opus streams arrive in. Built from source rather than taken from a package manager because a per-architecture binary cannot produce a universal macOS build.
Git submodule under external/ogg/, built from source by CMake.
1 project: Vectrix
libretro API header
MIT
The RetroArch team
Defines the core ABI, which is what lets an emulator core be loaded and driven as a video source.
Single header vendored at external/libretro.h.
1 project: Cartridge
PortAudio
MIT (PortAudio Portable Real-Time Audio Library licence)
1999-2006 Ross Bencina and Phil Burk
The whole device layer: one callback that reaches CoreAudio, ASIO, WASAPI, WDM-KS, DirectSound, MME and ALSA, and whose duplex form puts the recording on the same frame clock as the signal played.
Vendored under src-tauri/crates/pa-sys/vendor/portaudio as a pinned snapshot of upstream master (a4dbf68c, 2026-09-04), trimmed to sources, headers and CMake files, and built from source by the crate's build.rs.
1 project: SoundBench
OBS Studio (libobs)
GPL-2.0-or-later
Lain Bailey and the OBS Project contributors
The plugin ABI. An OBS filter or source is defined by libobs's headers, and there is no other way to be loadable by OBS. Note the consequence: a binary linking libobs is subject to the GPL, even where the source beside it is MIT.
Headers only, fetched at a pinned tag by scripts/bootstrap.sh rather than vendored. The plugin links the libobs that ships inside the user's own OBS.app; nothing from obs-studio is redistributed.
1 project: obs-ffgl
libvmx
MIT
Open Media Transport Contributors (Copyright (c) 2025)
Open Media Transport's video is VMX, and libvmx is that codec's reference library. The OMT receiver loads it at run time and decodes each frame straight to NV12, the one layout the PLAY's display sink accepts, so the receiver needs no codec of its own.
Not vendored. The repo carries the upstream commit it is pinned to and one patch, which adds a decode straight to NV12 (VMX_DecodeNV12). The build fetches the source at that commit, applies the patch and cross-compiles it for the PLAY, and the resulting libvmx.so is committed and placed inside the package the user downloads, beside the receiver that loads it, with libvmx's LICENSE file next to it as LICENSE.libvmx. That is a binary redistribution of modified code, so the MIT notice travels with it.
1 project: BirdDog PLAY Patcher
Opus
BSD-3-Clause
Xiph.Org Foundation, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry, CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo
Decodes Opus audio. Same reason as libogg for building it from source.
Git submodule under external/opus/, built from source by CMake.
1 project: Vectrix
opusfile
BSD-3-Clause
Xiph.Org Foundation
Turns libogg and libopus into something that can open a .opus file.
Git submodule under external/opusfile/. Its own CMakeLists is not used -- four of its C files are compiled directly, with HTTP support disabled, because upstream's build calls find_package for Ogg and Opus and cannot see in-tree targets.
1 project: Vectrix
pdf.js
Apache-2.0
Mozilla Foundation
The Background Slicer draws each page of a PDF, or each slide of a PowerPoint deck once PowerPoint has exported it to PDF, at the size it is used, rather than scaling a picture of it.
Vendored in src/vendor/pdfjs/ from pdfjs-dist 6.3.289, with MANIFEST.json recording every file's SHA-256 and each licence file kept beside the files it covers. What it bundles carries its own licences: the OpenJPEG decoder (BSD-2-Clause, Universite catholique de Louvain and others), PDFium's JBIG2 decoder (BSD-3-Clause, The PDFium Authors) and qcms colour management (MIT, Mozilla and Marti Maria), each compiled to WebAssembly inside Mozilla's own wrapper; the Foxit standard fonts (BSD-3-Clause, by way of PDFium) and Liberation Sans (GPL-2.0 with Red Hat's font exception); Adobe's CMaps (BSD-3-Clause); and one ICC profile (CC0).
1 project: LivePremier Plus
SIMD Everywhere (simde)
MIT
Evan Nemerson and the SIMDe contributors
Not a choice so much as a consequence: libobs's util/sse-intrin.h reaches for <simde/x86/sse2.h> on any non-x86 target, so on Apple Silicon every libobs header pulls it in. obs-studio's own build does the same.
Headers only, fetched at a pinned tag by scripts/bootstrap.sh rather than vendored.
1 project: obs-ffgl
stb_vorbis
MIT or Public Domain (dual, at your option)
Sean Barrett
Decodes Ogg Vorbis, with no build dependency at all -- the alternative is libvorbis and two more libraries.
Single-file decoder vendored under external/stb/ and compiled into one translation unit.
1 project: Vectrix
Tailscale
BSD-3-Clause
Tailscale Inc. & AUTHORS
It is what puts a device on a tailnet, and the official static build has no library dependencies at all — which is what makes it installable on a locked-down appliance rootfs without touching anything else.
Not vendored and not bundled in the repo. The official static arm64 release tarball is fetched at build time, verified against its published SHA-256, and its tailscaled/tailscale binaries are placed inside the firmware package the user downloads. That is a binary redistribution, so the BSD-3 notice travels with it.
1 project: BirdDog PLAY Patcher
MediaMTX
MIT
aler9 (Copyright (c) 2019) and the MediaMTX contributors
It is the protocol hub the streaming gateway is built on — RTMP, RTSP, HLS, WebRTC, SRT and UDP in and out, remuxing rather than transcoding — so the PLAY gains every one of those endpoints without a streaming stack of its own, and the picture can still go through the device's own decoder over SRT on loopback.
Not vendored and not bundled in the repo. The official static linux/arm64 release tarball of one pinned version is fetched at build time, verified against the checksums.sha256 GitHub publishes beside it, and its mediamtx binary is placed inside the firmware package the user downloads, with the tarball's LICENSE file next to it. That is a binary redistribution, so the MIT notice travels with it.
1 project: BirdDog PLAY Patcher
mediabunny
MPL-2.0
Vanilagy
Demuxes the recording and muxes the rendered MP4 around the browser's own WebCodecs decoders and encoders, so Dead Air can cut a file in the page without shipping ffmpeg.
An npm dependency, bundled into the page.
1 project: deadair
nih-plug
ISC (the framework); GPLv3 (its VST3 bindings, vst3-sys)
Robbert van der Helm
The plugin framework: one Rust crate becomes a VST3 bundle, a CLAP bundle and a standalone app, with the parameter, state and editor plumbing each host expects.
A Cargo git dependency, pinned in Cargo.lock: nih_plug for the plugin wrappers, nih_plug_egui for the editor, nih_plug_xtask for the bundler.
1 project: VoiceLevel
jSquash
Apache-2.0
jamsinclair
WebP and AVIF encoders compiled to WebAssembly. Safari's canvas encodes neither (asked for WebP it quietly returns a PNG), so a tool that has to write them in every webview brings its own.
npm dependencies (@jsquash/webp, @jsquash/avif), bundled with their WebAssembly codecs, which come from the Squoosh app. The WebP codec is libwebp, whose BSD-3-Clause licence (Google Inc.) ships beside it as codec/LICENSE.codec.md; the AVIF codec is libavif v1.0.1, from AOMediaCodec.
1 project: Advanced Exporter for PowerPoint
gifenc
MIT
Matt DesLauriers
A small, fast GIF encoder with its own palette quantiser, so animated GIFs are written in the page.
An npm dependency, bundled into the page.
1 project: Advanced Exporter for PowerPoint
mp4-muxer
MIT
Vanilagy
Wraps what the browser's own WebCodecs encoder produces in an MP4 file, so video is made in the page without shipping ffmpeg.
An npm dependency, bundled into the page.
1 project: Advanced Exporter for PowerPoint
webm-muxer
MIT
Vanilagy
The same job as mp4-muxer for WebM: the browser's own VP8, VP9 and AV1 encoders, wrapped in a file.
An npm dependency, bundled into the page.
1 project: Advanced Exporter for PowerPoint
reveal.js
MIT
Hakim El Hattab and reveal.js contributors
The HTML presentation framework. A reveal.js export is a deck people can go on editing as HTML.
An npm dependency. Its dist/ files are copied into an export that has to work offline; otherwise the export links them from jsDelivr, pinned to the same version with subresource integrity.
1 project: Advanced Exporter for PowerPoint
Noto Sans
SIL Open Font License 1.1
The Noto Project Authors
A typeface a generated PDF can carry inside itself, covering Latin, Greek and Cyrillic. The OFL allows embedding it in any document.
Regular and Bold, subset with fontTools and committed with OFL.txt beside them; embedded in the files it is used for.
1 project: Advanced Exporter for PowerPoint
Noto Sans
SIL Open Font License 1.1
The Noto Project Authors (Copyright 2022)
Text a program draws onto a video frame itself, at any size and in Latin, Greek or Cyrillic, with no font to install on the device. The OFL allows the fonts to be bundled with any software, provided each copy carries the notice and the licence and the fonts are never sold on their own.
Regular and Bold, complete and unmodified (not subset), committed with OFL.txt beside them and compiled into a Go program with //go:embed, so they reach the user inside that program's binary rather than as font files. The binary is placed in the package the user downloads with OFL.txt next to it, so the copyright notice and the licence travel with the fonts.
1 project: BirdDog PLAY Patcher
Roboto Condensed
SIL Open Font License 1.1
The Roboto Project Authors
Lettering a plugin can draw at any size from one small atlas, with nothing to install. The OFL allows embedding it in software, provided it is never sold on its own.
Printable ASCII at weight 300, baked by the repo's own tool into a signed distance field compiled into the plugin. The licence and notice are committed as fonts/OFL.txt and ship in every download.
1 project: Bluebook
The full transitive dependency set for any build is pinned in that repo's lockfile, which is the authoritative list. What's named here is the layers a reader would actually want to know about, not every package that's ever been resolved.
Work I checked mine against
No code was taken from any of these. They're how I knew I'd got it right, which is worth saying out loud.
AHM TCP/IP Protocol V1.0
Allen & Heath
Everything ahm-control sends to a processor comes from Allen & Heath's published protocol document: src/protocol/messages.ts encodes and decodes it, test/protocol.test.ts asserts its byte sequences literally, and the simulator in src/sim/ is built from the same document. Nothing was reverse engineered and nothing has been checked against a physical unit. Two rows of the document's own level table contradict its formula; docs/protocol.md records both and treats the formula as canonical. Not affiliated with or endorsed by Allen & Heath.
AHM System Manager 1.61 factory configs
Allen & Heath
The .cfg reader in src/config/ was worked out from the six factory configs that ship inside AHM System Manager 1.61 (AHM-16/32/64 Default and Empty): a gzip'd POSIX tar, with Mixer.cfg's geometry confirmed by line lengths that scale with the model across all six. The config tests read them from an installed System Manager and skip when it is absent; no Allen & Heath file is vendored. The .dat parameter blobs are deliberately left undecoded.
Resolume Alley 7.27.1
Alley has no documented CLI. The five arguments Alleycat drives it with (--convertTest, --path, --preset, --width, --height) were found in the binary and verified against Alley 7.27.1 on macOS, along with the two behaviours src/main/services/alley.ts exists to absorb: Alley never exits, and its output lands beside the source under one of two naming rules. The conversion itself is Alley's; no DXV encoder is bundled.
Resolume Arena 7.27.1 REST API and its shipped OpenAPI spec
src/main/services/arena.ts is read against the swagger.yaml Arena ships (the composition, the clip routes, and the description string whose second line is the codec, tested against the spec's own example) and was run end to end against Arena 7.27.1, which also returns video.fileinfo.format, a field the spec does not document. The by-index fallback is covered by unit tests only.
ffmpeg
LGPL-2.1-or-later / GPL-2.0-or-later depending on build
amber's converter spawns the operator's ffmpeg and ffprobe binaries. It does not link against libavcodec or any other ffmpeg library and ships no part of ffmpeg; a separate process is not a derived work, so amber's MIT licence stands independently of how the operator's ffmpeg was configured.
DXV
Resolume
Resolume's codec, one of the two amber converts into. amber does not implement it: it is encoded by the operator's ffmpeg, and no Resolume DXV SDK, header or library is used.
Hap
Vidvox
BSD
An open codec, the other one amber converts into. amber does not implement it; it is encoded by the operator's ffmpeg.
BOSS RE-20 Space Echo, Owner's Manual (2007)
Roland Corporation
The RE-20's Mode Selector "carries on the tradition of the RE-201", and About the Variation Mode (p.18) prints the twelve-position table the plugin transcribes: which heads, and whether the reverb is in, for every position. About the Playback Heads (p.18) gives the 1 : 2 : 3 delay ratio, and p.19 states that the three playback heads are arranged sequentially at equal intervals, which is where that ratio comes from. The same pages carry Roland's descriptions of three mechanisms the plugin models rather than approximates, quoted in the source where each is implemented: the pitch change when REPEAT RATE is changed (Transport.h's reason for existing), oscillation in the tape speed and the chorus it produces on each echo, and the reverb's three springs in a "Z" formation. astest --modes holds a second, independent transcription of the table, so that changing it has to be done twice, deliberately.
BOSS RE-202 Space Echo, Reference Manual
Roland Corporation
Useful for the delay-time ranges and for confirming the equal head spacing, and cited so that nobody reaches for it for the mode selector: the RE-202 has a fourth playback head, its manual says so explicitly, and its table differs from the RE-201's in five of the twelve positions.
Mitti
imimot
The OSC command and feedback vocabulary, the HyperDeck emulation and the map of Mitti's external controls in docs/MITTI.md come from imimot's help pages (External Controls, Integrations, Misc) and from the installed Mitti 2.8.18: binary strings, frameworks, Info.plist, prefs and logs. How Mitti's ATEM integration finds and drives a switcher comes from a disassembly of IMTAtemListener.framework (docs/ATEM.md). Run end to end against a real Mitti 2.8.18, and 2.8.19 on the Midra 4K simulator. Not affiliated with or endorsed by imimot.
Bitfocus Companion module imimot-mitti 3.10.0
Read as the reference OSC client and feedback parser for docs/MITTI.md. automitti's liveness check is Companion's scheme: /mitti/ping every 2 s, online while a /mitti/pong has come back within the last 4 s.
QLab
Figure 53
The QLab driver's OSC vocabulary comes from Figure 53's OSC dictionary for QLab 5 (https://qlab.app/docs/v5/scripting/osc-dictionary-v5/), and what QLab does that the dictionary doesn't say (docs/QLAB.md) from driving the installed QLab 5.5.10 over OSC. Run end to end against a real QLab 5.5.10 with Wait cues, including the rules through the server. Not affiliated with or endorsed by Figure 53.
Blackmagic ATEM Switchers SDK 10.2.1
Blackmagic Design
Mitti's ATEM integration is this SDK, so the emulated ATEM in server/atem/ was established against it: the SDK's own DeviceInfo sample and a small SDK client (tools/sdk/tallytest.cpp, run by tools/sdk-check.sh) accept it, and per-input tally, SetPreviewInput, PerformCut and PerformAutoTransition work end to end. The protocol-version rule, the completeness check on the initial state dump and the atom sizes were read from a disassembly of the installed BMDSwitcherAPI.bundle; docs/ATEM.md labels every fact VERIFIED, DISASM, SRC or UNCERTAIN.
LibAtem and LibAtem.MockTests
The key prior art: LibAtem.MockTests is a mock ATEM server the official SDK connects to in tests by replaying real-device handshake dumps (7c5b272), and LibAtem supplies the command layouts and the shared connection class (dc679b1). docs/ATEM.md cites both by file and line for the UDP header, the handshake, ACK batching, retransmit timing and most atom layouts.
sofie-atem-connection
Its client transport (src/lib/atemSocketChild.ts) and its real device dumps up to firmware 10.1.1 / protocol 2.32 (6b91b9e) are cited by file and line in docs/ATEM.md; its Mini Extreme ISO G2 dump is the one the SDK accepted as-is. As atem-connection, the client Companion uses, it is also the test suite's second client against the emulator.
pyAtemSim
jonknoll
A Python ATEM server replaying a TVS HD dump at protocol 2.30 (6bd8f3f), cited in docs/ATEM.md for client ids, pings, timeouts and its transition ramp, and for a length-mask bug (0x007F for 0x07FF) the emulator avoids.
openswitcher / pyatem
Martijn Braam
pyatem's emulator, transport and mDNS locator and its UDP transport documentation (bbded93), cited in docs/ATEM.md for the command framing, the handshake status codes and the Bonjour TXT keys consumers actually read.
Dev1an/Atem-Simulator
A Swift ATEM simulator, listed in docs/ATEM.md among the sources the emulator's evidence was gathered from.
Roland V-160HD Remote Control Guide (eng06)
Roland
The V-160HD driver is written from it and the working Companion client: the LAN/RS-232 transport, framing and error codes, the DTH/RQH SysEx address map, source codes, labels and TALLY AUTO SEND. docs/V160HD.md tags every item [DOC], [CLIENT] or [UNCERTAIN]. The driver has not yet run against a real unit, only against sim.mjs, which is built from the same documents.
Roland LAN/RS-232 Basic Control Commands (eng02)
Roland
The plain-text CUT; and ATO; the driver uses from firmware 3.3, and the basic-command replies docs/V160HD.md records.
Roland V-160HD Reference Manual (eng09)
Roland
The one-LAN-client limit, the network password and the operation modes the driver's tally reading depends on.
Bitfocus Companion module for the Roland V-160HD
The working client the driver is written from alongside Roland's guide: the login exchange, the tally push and the panel press-and-release are what it does on real hardware, which Roland does not document. Its issues #19, #21 and #26 are the source of the driver's tally, connection-limit and polling cautions.
companion-module-roland-v160hd, a production fork
A fork used by a live-events company. Its TESTING.md confirmed multi-byte reads live, and its 52-entry tally table, pushed on every source change, and its re-reading of the buses after each push are what the driver does.
roland-rs
A Rust client cited in docs/V160HD.md for the login exchange, tolerant ACK parsing and the report that the unit often never acknowledges the tally subscription, which is why the driver does not wait for it.
streamdeck-roland-v160hd
A Stream Deck plugin, cited alongside roland-rs for the unacknowledged tally subscription.
Analog Way Midra 4K simulator 3.2.29
Analog Way
The Pulse 4K / Midra 4K driver's AWJ paths (transition state, live-layer sources, the applied configuration, xTake and xCut) were proven against it, and a real Mitti 2.8.19 rolled through the emulated ATEM on a simulated AUTO. The driver has not run against a real Pulse 4K.
OpenX32
GPL-3.0
The X32 / M32 entry's findings were cross-checked against OpenX32's published material, written by people who have the hardware, and that corrected three claims: the DSP split, the second-source FPGA and the digest format. The i.MX253 identification comes from OpenX32, and the dcp_compiler.pl and dcp_decompiler.pl it publishes, the original 2012 Behringer tool released with the author's permission, are among the artifacts examined. The page lists it, with OpenMixerControl, as a third-party open project.
OpenWING
GPL-3.0
The WING Compact entry reads OpenWING's device tree for the fullsize WING (imx6dl, so DualLite and dual-core), and records that its .wingfw unpack, repack and verify tooling means the format is solved there and withheld, the implementation and constants living in a private repository.
Project X-Ray and fasm2bels
The SQ-5 entry's fabric work goes bitstream to FASM to netlist to simulator, using Project X-Ray's bit-to-feature database and fasm2bels; the parts of that route which touch the console were run end to end.
Wireshark's ACN dissector
The QLXD4 captures were decoded with a hand-written parser checked byte for byte against Wireshark's own ACN dissector; where the two disagreed on vector names, Wireshark won.
Bitfocus Companion MXCW module
Read in full, every commit and every issue, as the one other public implementation of Shure's MXCW command strings. It is a careful transcription of the same Shure publication the entry uses, so it is recorded as prior art rather than corroboration; what it contributes of its own is a keepalive pattern and an explicitly guessed RSSI offset.
mGBA
MPL-2.0
The core used to verify the Game Boy Advance ROMs. Downloaded by the person doing the verifying and not redistributed here; its licence is between you and its authors.
QuickNES
LGPLv2.1
The core used to verify the NES ROMs. Downloaded by the person doing the verifying and not redistributed here; its licence is between you and its authors.
NESdev Wiki
Hardware documentation used while writing these ROMs, none of it reproduced here.
GBATEK
Hardware documentation used while writing these ROMs, none of it reproduced here.
Pan Docs
Hardware documentation used while writing these ROMs, none of it reproduced here.
Analog Way AWJ Protocol Programmer's Guide
Analog Way
awj-surface controls Analog Way LivePremier (Aquilon) processors. It is not affiliated with or endorsed by Analog Way, and redistributes no part of their software, firmware or documentation. The guide documents the port, the wire format and the framing; every parameter range in core/catalogue.json is the device's own statement about itself, read from the device at generation time and verified on the wire.
The PLAY's own GStreamer: tsdemux, h264parse and mppvideodec
The MPEG-TS muxer's output was round-tripped on the device through tsdemux ! h264parse ! mppvideodec, an independent demuxer and the hardware decoder, to EOS with no errors, and SRT out was validated by an independent demuxer.
Rockchip container formats: RKFW, RKAF, RKBOOT and RSCE
Rockchip
RKFW, RKAF, RKBOOT and the RSCE resource format are Rockchip's. The parsers here were derived by inspection of a factory image, and the Python original they are ported from lives in a private research repo.
e2fsprogs
The test suite uses mke2fs, e2fsck and debugfs from e2fsprogs as independent judges of what public/ext2.js writes. e2fsprogs is not bundled or redistributed here.
libomtnet
Open Media Transport Contributors
MIT
The OMT receiver in omt/, its framing and its mDNS querier are Go written against libomtnet's source, the protocol's reference implementation, read at the commit pinned in omt/vmx/UPSTREAM. The frame layout, the size limits and the control messages follow it exactly, the `Program==` typo included, because senders compare those messages as strings. No code is copied, and nothing of libomtnet is built or shipped here.
The OpenFX plug-in search path
BSD-3-Clause
Burrow vendors no OpenFX code. It does rely on the directories the reference host implementation searches, /Library/OFX/Plugins on macOS and Common Files\OFX\Plugins on Windows, which is why installing an OpenFX plugin needs an administrator password. That behaviour was read out of HostSupport/src/ofxhPluginCache.cpp rather than assumed.
Internet Archive, arcademanuals collection
It holds 2,065 of the corpus's 2,405 documents under the same filename. tools/compare_ocr.py read its OCR (_djvu.txt) for 2,057 of them against ours and found nothing we read worse. Where the source archive has lost a file, /pdf/<id> redirects to the archive.org copy and the reader credits the Internet Archive on the document.
Console5 Tech Wiki
Surveyed and cross-referenced, never mirrored: Console5 expressly reserves its rights, so data/sources/console5.json stores titles, sizes, categories and URLs and no page content. Matching its 446 IC pages by part number covers 1,697 of 2,368 IC placements across the hand-built boards.
KiCad symbol library
tools/check_devices.py and tools/check_packages.py cross-check the hand-verified pinouts and package sizes against KiCad's own symbols: 17 of the 20 parts the net validator reasons about verify, and the other three (555, 7425, 7450) are the symbols KiCad does not ship.
TI datasheets
The 555, 7425 and 7450 symbols KiCad does not ship were built by hand from them, the unusual supply pins of the 7483, 7490 and 7493 were verified against them, and traced connectivity is cross-checked on their gate mapping.
The colour-under carriers
vhs-decode (oyvindln/vhs-decode, vhsdecode/format_defs/vhs.py, citing IEC 774-1); "How vhs-decode actually works", digital-archivist.com; US patent 5,500,739
PAL 40.125 fH = 626.953 kHz, NTSC 40 fH = 629.371 kHz. Confirmed by three sources; the IEC standard itself was not read. In this model the carrier sets nothing directly: the chroma path is the band's baseband equivalent and needs only the bandwidth.
The chroma bandwidth
US patent 5,500,739; Wikipedia, "VHS"
The patent gives colour sidebands of about 500 kHz either side of the carrier; Wikipedia gives 300 kHz of baseband chroma. Unconfirmed, and the sources disagree: the plugin puts chroma's half-amplitude point at 0.5 MHz (39 lines), reading the patent's sideband extent as the half-amplitude edge. 0.3 MHz would be 23 lines.
Luma bandwidth by speed
Wikipedia, "VHS" (current and an earlier revision)
SP 3.0 MHz, confirmed (3 MHz and 240 TVL agree). LP 2.76 MHz from one revision's 230 and 250 lines: unconfirmed, one source. EP 2.4 MHz: no source gives a number; chosen below LP.
The head-switching point
US patents 5,675,698, 6,304,399, 6,650,825 and 6,021,014
The head switch leads vertical sync by 6.5 +/- 1.5 H. Confirmed by four patents quoting the VHS standard. Where that falls in the active picture (4.0 lines before a PAL field's active end, 3.5 on NTSC) is derived from BT.470-6 and SMPTE 170M line numbering.
The de-emphasis corner
vhs-decode, citing IEC 774-1 (1994) p. 67
273.76 kHz, used only to shape the FM luma noise. Unconfirmed beyond vhs-decode.
The chroma crosstalk canceller
US patents 4,698,694 and 5,845,040
The 90-degree-per-line phase rotation on alternate tracks and the 1H comb that cancels adjacent-track crosstalk on playback, which is why the plugin averages chroma over 1H on NTSC as well as PAL.
Conway's Game of Life
Wikipedia
Checked 2026-10-04 for the facts the harness asks of the plugin: the R-pentomino stabilises after 1103 generations with a population of 116, the acorn after 5206 with 633, Diehard disappears after 130, and the Gosper glider gun (Gosper's group at MIT, November 1970) emits a glider every 30 generations. The harness reproduces each on an unbounded plane with its own stepper first. The LifeWiki, where the patterns' RLE is published, refuses automated reads.
Life-like cellular automaton; Highlife; Day and Night; Brian's Brain
Wikipedia
Checked 2026-10-04 for the rules in the Rule dropdown and their credits: HighLife B36/S23 (Nathan Thompson, 1994), Day & Night B3678/S34678 (Nathan Thompson, 1997, studied by David I. Bell), symmetric under exchanging live and dead cells, as is Anneal; Replicator B1357/S1357 (Edward Fredkin), every pattern replaced by copies of itself; Seeds and Brian's Brain (Brian Silverman), Brian's Brain's dying cells neither counting nor able to be born.
Amiga Hardware Reference Manual, 3rd edition (Commodore-Amiga, Inc., Addison-Wesley, 1991), Amiga Developer CD 2.1 edition
The source of every hardware fact the emulation enforces: copper instruction encoding and timing, the WAIT comparator, colour register format, bitplane counts, sprite width, colours, manual mode and priority, and the blitter's minterms, shifts, masks, fill and line mode. AGENTS.md lists each fact with its chapter and section and says where the manual is ambiguous. No text, figure or code from it is reproduced beyond short register-name and bit-layout references. The square-pixel sampling rates used for the pixel aspect are the broadcast industry's standard figures, not the manual's.
d&b ArrayCalc 12.8.3 and its example projects
d&b audiotechnik
The .dbpr format Cosplay reads and writes is SQLite with no published schema, reverse-engineered from ArrayCalc 12.8.3's own example projects, which the tests use as ground truth; the hinge-to-hinge vectors were fitted over about 2,000 pairs in them. Every flown array in the 60-odd examples re-lays onto its stored hinge points to under 0.2 mm, a file Cosplay wrote opens in ArrayCalc with rigging Load OK, and ArrayCalc's own 2 kHz and 500 Hz traces agree with Cosplay's prediction to about 1 dB from 5 m to 40 m. The splay range per cabinet family is from d&b's rigging manuals as best remembered, cross-checked against the examples. Not affiliated with d&b audiotechnik.
NanoOcp
Christian Ahrens
GPL-3.0
AES70/OCA wire offsets and d&b object numbers were cross-checked against NanoOcp, alongside the public Crestron and Q-SYS integration modules. No code was taken and none could be — NanoOcp is GPL-3.0 and this is MIT. Facts about a wire protocol are not copyrightable, the implementation here is independent, and it stays MIT. Listed because checking your work against someone else's is worth saying out loud.
db-remote
golang.org/x/image/ccitt
The Go Authors
BSD-3-Clause
A CCITT Group 3 / Group 4 decoder that shares no code with this repo. tools/gocheck (a development check, not part of the plugin) decodes the plugin's MH and T.6 streams with it and gets the page back exactly; its table.go is one of the two transcriptions tools/check_tables.py compares source/T4.h against, bit for bit, and the code-length fixture was extracted from it. None of its code is copied or vendored.
pdfminer.six
Yusuke Shinyama and the pdfminer.six contributors
MIT
The second independent transcription of the T.4 code tables (its ccitt.py) that tools/check_tables.py compares source/T4.h against, read from wherever it is installed: 204 codes, 408 comparisons, none differ. Nothing is copied or vendored.
The normal-field instability
M. D. Cowley and R. E. Rosensweig, J. Fluid Mech. 30 (1967) 671; R. E. Rosensweig, Ferrohydrodynamics (Cambridge University Press, 1985), ch. 7
The dispersion relation ρω² = ρgk + σk³ − μ0M²(r0/(1 + r0))k², r0 = √(μc μt)/μ0, the critical wavenumber kc = √(ρg/σ) and the onset condition μ0M²r0/(1 + r0) = 2√(ρgσ), in source/Fluid.cpp and the evolve pass in source/Shaders.cpp. fetest --dispersion holds every mode to it and --onset puts the threshold where it says.
The EMG 901 and EMG 909 datasheets, and a published critical field
T. Mahr and I. Rehberg, Physica D 111 (1998) 335
The density, surface tension, viscosity, susceptibility and saturation of both fluids (their section 2), used whole in source/Fluid.cpp; and their mixture's critical field (5.9 kA/m inside the fluid, λc = 9 mm), which fetest --onset reproduces from their numbers by the same theory.
Ferrotec's EFH1 technical data sheet (EFH1 092110, 2010)
Ferrotec
The density, surface tension, viscosity, initial susceptibility and saturation of EFH1, in source/Fluid.cpp. Ferrotec's current web page gives χ = 2.64 and no surface tension, so the 2010 sheet is used whole.
The weakly nonlinear theory of the hexagons
A. Gailitis, J. Fluid Mech. 82 (1977) 401; R. Friedrichs and A. Engel, Phys. Rev. E 64 (2001) 021406
Named because they are what the pattern engine's nonlinear stress should have been derived from, and wasn't. Its quadratic and cubic stress (source/Fluid.h) are a chosen form whose two constants are fitted to the solved spikes rather than derived; AGENTS.md says why and what that costs.
The Dirichlet–Neumann operator series
W. Craig and C. Sulem, J. Comput. Phys. 108 (1993) 73
The series G(h) = G_0 + G_1 + G_2 + ... and its recursion, used in the derived-stress prototype under tools/research/ferrohydro/ (not shipped; AGENTS.md says why), on both sides of the interface.
The measured surface of a magnetic fluid
C. Gollwitzer, G. Matthies, R. Richter, I. Rehberg and L. Tobiska, J. Fluid Mech. 571 (2007) 455
Their problem (section 3: the hexagonal cell, the full nonlinear magnetostatics with the measured magnetisation curve, gravity and surface tension) is the one tools/spikes/ solves, by my own discretisation, not theirs. Their fluid's properties (APG512a, table 1), the fit of their measured pattern amplitudes (eq. 4.1) and the bistable range of their simulation and of their experiment are what tools/spikes/check.py holds the solver to. Their finding that the measured magnetisation curve is essential, and that the weakly nonlinear expansion fails above χ0 of about 1.05, is why the derived-stress prototype was dropped. Read from the arXiv preprint nlin/0604009.
The Langevin magnetisation
Paul Langevin
M(H) = Ms L(3χH/Ms), L(x) = coth x − 1/x, in source/Fluid.cpp, with its series below |x| = 0.01. The harness carries its own copy and differentiates it numerically, so a wrong tangent permeability in the plugin can't be checked against itself.
The damping of surface waves
H. Lamb, Hydrodynamics (6th ed., 1932), §348
The weak-damping rate 2νk² of each mode, in source/Fluid.cpp and the evolve pass.
The field of a circular loop
J. Simpson, J. Lane, C. Immer and R. Youngquist, NASA/TM-2013-217919
The off-axis field of one loop in complete elliptic integrals, in source/Coil.cpp. fetest --coil checks it against Biot–Savart summed round the loop by hand, and the solenoid's table against 400 turns summed one by one.
Complete elliptic integrals by the arithmetic–geometric mean
M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 17.6 and 17.3
K and E by the AGM in source/Coil.cpp; fetest --coil checks K(1/2) and E(1/2) against the tables.
A mixed-radix Stockham FFT on a GPU
N. K. Govindaraju, B. Lloyd, Y. Dotsenko, B. Smith and J. Manferdelli, "High performance discrete Fourier transforms on graphics processors", SC 2008; T. G. Stockham
The radix-16, 8, 4, 2 autosort transform in the fft pass of source/Shaders.cpp, one output per fragment, its twiddles from tables built in double. fetest --fft holds it to an O(N²) DFT in double.
Effective optical constants
J. C. Maxwell Garnett, Phil. Trans. R. Soc. A 203 (1904) 385
The fluid's complex refractive index as magnetite spheres in a mineral oil, in OpticsOf() in source/Fluid.cpp. The constants fed to it are assumed, not measured (AGENTS.md).
NumPy and SciPy
the NumPy and SciPy developers
Not shipped, and no code taken: the offline solver in tools/spikes/ that made source/SpikeTable.cpp's numbers is built on their FFTs, dense and sparse LU (SuperLU) and splines, as is the derived-stress prototype under tools/research/. Installed from Homebrew's Python, not vendored.
The resistivity of tungsten
Forsythe and Worthing, 1925, via a web reproduction
W. E. Forsythe and A. G. Worthing, "The Properties of Tungsten and the Characteristics of Tungsten Lamps", The Astrophysical Journal 61, 146 (1925), doi:10.1086/142880. The 34 resistivities from 300 K to 3600 K in source/Lamp.h were copied from a web reproduction of that table, The Physics Factbook's page on the resistivity of tungsten (which cites T. W. Zerda, Texas Christian University, 2001); they were not checked against the 1925 paper itself. They give the fifteenfold cold-to-hot ratio the inrush comes from.
The heat capacity of tungsten
NIST-JANAF (Chase, 1998)
M. W. Chase, Jr., NIST-JANAF Thermochemical Tables, Fourth Edition, J. Phys. Chem. Ref. Data, Monograph 9 (1998), as the Shomate fit for solid tungsten on the NIST Chemistry WebBook (fetched 2026-09-25), two ranges, 298-1900 K and 1900-3680 K. c_p rises from 0.13 to 0.20 J/(g K) over a filament's range and the filament's heat capacity follows it.
The CIE 1931 2-degree standard observer
CIE, via the Colour & Vision Research Laboratory (UCL)
The colour-matching functions at 1 nm from 360 to 830 nm (CIE 015:2018; CIE 018:2019, doi:10.25039/CIE.DS.xvudnb9b), committed unedited as tools/data/ciexyz31_1.csv with its SHA-256 checked before use. The Planck table in source/PlanckTable.h is computed from it by tools/planck_table.py, and the harness integrates its own locus from the same file.
35 mm 4-perforation film geometry
SMPTE's 35 mm standards, as projection manuals give them
The 4.75 mm perforation pitch (19.0 mm a frame), the Academy camera aperture (0.864 x 0.630 in) and the projector aperture (0.825 x 0.602 in). They set the frame pitch, the frame line and how much printed picture lies beyond the aperture.
Reel-change cues
Projection-manual convention
A motor cue 8 s and a changeover cue 1 s before the end of a reel at 24 fps, each four frames, top right.
Eastman colour print dye stability
Image Permanence Institute; Wilhelm and Brower, The Permanence and Care of Color Photographs (1993)
That in dark storage the cyan dye of 1950s-80s Eastmancolor prints fades first and the magenta last, which is why faded prints go magenta. The three rates here are chosen to show that order, not fitted to any stock.
The layer order of colour print film
Magenta on top, then cyan, then yellow nearest the base, which is why a shallow emulsion scratch on a print shows green.
Simple Analytic Approximations to the CIE XYZ Color Matching Functions
C. Wyman, P.-P. Sloan and P. Shirley, JCGT 2(2), 2013
The multi-lobe Gaussian fit of the CIE 1931 2-degree observer the lamps' black-body colours go through.
The variance of an autocorrelation estimate
M. S. Bartlett, 1946
The large-sample variance that sets gatest --weave's tolerances.
FFmpeg smptehdbars
LGPL-2.1-or-later / GPL
Not linked, not shipped. Its output was measured once, in Test Card, to pin the RP 219 geometry and code values; the measurement is what this repo tests against.
Eight frames a turn
Period handbooks of motion-picture photography, through the Media History Digital Library; the Science Museum Group's Cine-Kodak entry
That a standard motion-picture camera passes eight frames (six inches of 35 mm) for each turn of the crank, so two turns a second is sixteen frames a second. Read through search results, not the scanned page.
35 mm silent, full-aperture geometry
SMPTE's 1930 projection aperture; the NFSA's film-format glossary
The projection aperture of 0.906 x 0.6795 in, the full camera aperture of 0.945 x 0.709 in, and four perforations of 0.187 in to a frame (0.748 in). They set the frame line's height and how much exposed picture lies beyond the aperture. Taken from search-result summaries, not read in the original standard.
An RGB-to-Spectrum Conversion for Reflectances
Brian Smits, Journal of Graphics Tools 4(4), 1999
The seven basis reflectance spectra the stocks' weights are computed through.
The Oregonator and the Field–Körös–Noyes mechanism
Field, Körös and Noyes; Tyson and Fife; Field and Försterling
Field, Körös and Noyes, J. Am. Chem. Soc. 94, 8649 (1972); Field and Noyes, J. Chem. Phys. 60, 1877 (1974); Tyson and Fife, J. Chem. Phys. 73, 2224 (1980); Field and Försterling, J. Phys. Chem. 90, 5400 (1986). The three-variable Oregonator the plugin integrates per texel, its rate constants, and the trigger-wave speed law the harness reports the plugin's speed against.
The photo-Oregonator
Krug, Pohlmann and Kuhnert; Kádár, Amemiya and Showalter
Krug, Pohlmann and Kuhnert, J. Phys. Chem. 94, 4862 (1990); Kádár, Amemiya and Showalter, J. Phys. Chem. A 101, 8200 (1997). Light making bromide in the Ru(bpy)3-catalysed layer: the term hdtest --photo checks.
Briggs–Rauscher
De Kepper and Epstein; Noyes and Furrow
De Kepper and Epstein, J. Am. Chem. Soc. 104, 49 (1982); Noyes and Furrow, J. Am. Chem. Soc. 104, 45 (1982); the mechanism as set out by J. Paredes's thesis (University of Florida) after Binous. The ten-species model the CPU engine integrates and hdtest --briggs holds it to.
The iodine clock
Liebhafsky and Mohammad
Liebhafsky and Mohammad, J. Am. Chem. Soc. 55, 3977 (1933): the Harcourt–Esson rate law (k1 + k2[H+])[H2O2][I-] whose closed form hdtest --clock and Clock Sync use.
CDIMA Turing patterns and the Lengyel–Epstein model
Lengyel and Epstein; Castets, Dulos, Boissonade and De Kepper; Ouyang and Swinney; Muñuzuri, Dolnik, Zhabotinsky and Epstein
Lengyel and Epstein, Science 251, 650 (1991); Castets et al., Phys. Rev. Lett. 64, 2953 (1990); Ouyang and Swinney, Nature 352, 610 (1991); Muñuzuri et al., J. Am. Chem. Soc. 121, 8065 (1999). The Turing wavelength and the light term hdtest --turing checks.
The blue bottle and its family
Pons, Sagués, Bees and Sørensen; Anderson et al.; Engerer and Cook
Pons, Sagués, Bees and Sørensen, J. Phys. Chem. B 104, 2251 (2000): the rate law (k1 = 2000 M-1 s-1, kobs = 0.0042 s-1) the traffic light, blue bottle and vanishing valentine run on. Anderson et al., J. Chem. Educ. 89, 1425 (2012) and Engerer and Cook, J. Chem. Educ. 76, 1519 (1999) as the other accounts. Pons, Batiste and Bees, Phys. Rev. E 78, 016316 (2008) for the chemoconvection this version does not build.
Absorption spectra
Awtrey and Connick; Bergmann and O'Konski; Pérez-Benito and co-workers; others in docs/CHEMISTRY.md
Awtrey and Connick, J. Am. Chem. Soc. 73, 1842 (1951) (triiodide); Bergmann and O'Konski, J. Phys. Chem. 67, 2169 (1963) (methylene blue and its dimer); Pérez-Benito and co-workers (colloidal MnO2); the ferroin, ferriin, Ru(bpy)3, cerium, indigo carmine, resazurin, resorufin, permanganate and manganate peaks as cited in the repo's docs/CHEMISTRY.md, which marks every stand-in.
Chemical Demonstrations
Bassam Z. Shakhashiri
Chemical Demonstrations (University of Wisconsin Press): the Briggs–Rauscher and chemical chameleon recipe proportions.
The activation energy
ILFORD PHOTO, film development time/temperature compensation chart (April 2002)
The source of the yellow dye layer's activation energy (and the black-and-white image's), 67.41 kJ/mol: five of the chart's rows (40 cells) are transcribed in tools/arrhenius_fit.py, which fits ln t against 1/T with a shared slope (standard error 620 J/mol) and which verify.sh re-runs. The chart is for black-and-white silver development in a tank; applying it to the dye layers of an integral print is an assumption. The timing layer's activation energy, half of it, has no source. Since v0.1.1 the cyan and magenta layers have their own, fitted to the manufacturer's description below, not to this chart.
What temperature does to an integral print
Polaroid support, "How does temperature affect Polaroid film?"
A working range of 13-28 C; below it prints emerge over-exposed, lacking colour contrast and with a green tint; above it colour prints develop with a yellow/red tint. Read on 2026-09-25 through the Internet Archive's copies of 2023-02 and 2026-04 (the live page answers 403 to scripts). The page gives no numbers. Since v0.1.1 the cyan and magenta layers' activation energies (103.6 and 106.85 kJ/mol) are fitted to its description by tools/cast_fit.py: at 6 C a mid grey comes out with red equal to blue, a green, with a cast as strong as v0.1.0's. They are a fit to words, not a measurement; no published per-layer figure was found. The hot print's warm cast falls out of the model unfitted.
Roller marks and undeveloped patches
Instant-film troubleshooting guides (Dan Finnen, danfinnen.com; Polaroid support)
That dirty rollers leave a series of repeating marks down the length of an image, and that undeveloped patches come from paste that did not spread, most often at the edges and corners and more in old film. The appearance of an unreached area varies with the chemistry; the plugin's dark blue-black is a choice.
Flow-based difference of Gaussians and coherence-enhancing filtering
Using the structure tensor to average orientations, and the edge tangent flow built from it, come from the published computer-graphics literature: Kang, Lee and Chui's flow-based difference of Gaussians and the coherence-enhancing filtering work around it. They are described in papers, not copied from anyone's source. The implementation is nib's, and nib's is this fleet's own.
The virtual reel
Inge Telnaes, US patent 4,448,419 (1984)
The slot machine draws its stops on a 64-stop virtual reel mapped unevenly onto 22 physical stops, the blanks beside the seven over-weighted, as Telnaes's patent made every machine since. jptest --nearmiss measures the near-miss rate against the table.
The roulette ball leaving the track
M. Small and C. K. Tse, Chaos 22 (2012)
On a track banked at α the ball can only stay up while v² ≥ g r tan α: the banked curve of any mechanics text, and the moment Small and Tse model in "Predicting the outcome of roulette". jptest --roulette measures it.
Euler's disk
H. K. Moffatt, Nature 404 (2000)
A disc rolling on its edge turns its contact round at Ω² = 4 g / (r sin α), faster as it flattens. Nothing in the shower is written to do that; jptest --shower measures that the contact model does it.
Sequential impulses
Erin Catto (Box2D)
The dice's contact solver (polyhedral's) and the shower's are the sequential-impulse method: accumulated normal impulses clamped at zero, Coulomb friction clamped to the normal impulse, restitution from the approach speed. Implemented from the method; no Box2D code is used.
Uniform random rotations
Ken Shoemake, Graphics Gems III (1992)
Each die's and chip's starting orientation is Shoemake's construction from three uniform numbers.
Fast random integer generation in an interval
Daniel Lemire (2019)
Every Random result is drawn by Lemire's multiply-shift with rejection, so no pocket, segment, stop or ball is favoured by modulo bias; the chi-squares in jptest measure it.
Signed distance fields for glyphs
Chris Green, Valve, SIGGRAPH 2007
The text — the pockets' numbers, the money wheel's values, the craps layout, the marquee — is cut from a signed-distance atlas at the footprint it is drawn at.
The Fowler–Noll–Vo hash (FNV-1a)
Glenn Fowler, Landon Curt Noll and Kiem-Phong Vo
FamilyValue() in source/Fonts.cpp: a family's list value is FNV-1a over its lowered name, folded to 24 bits so a float holds it exactly, which is what lets a picked font travel with a composition. kotest --fonts and --real check the values.
PCG random number generation
Melissa E. O'Neill (2014)
Reveal Order Random's ranks are a shuffle drawn from a PCG generator with a fixed seed, so every instance and every run reveals in the same order.
A Dante Controller preset
Joscha Wagner (DanteArchitect)
MIT
test/fixtures/dante/dante-controller-preset.xml is Examples/PresetTemplate.xml from DanteArchitect, unchanged: a preset Dante Controller saved, which the Dante plugin's preset reader is tested against. Used under the MIT licence; the copyright notice above is its notice.
Dante Controller and its user guide
Audinate
LivePremier Plus is not affiliated with or endorsed by Audinate. The Dante plugin writes and reads Dante Controller preset files and follows that format's parameter rules as Dante Controller 4.18.1.1's own user guide states them (which channels a preset clears, how roles are matched to devices). No Audinate software, firmware or documentation is redistributed here, and nothing in it drives Dante Controller itself. Dante is a trademark of Audinate Pty Ltd.
Aquilon User Manual v6.2
Analog Way
How a background set, an output group and an image slot behave — a background shown unscaled in the output, one per output group, capacities that must match, a live background matching its output's format — comes from the manual (dwn01.analogway.com, v6.2, 2026). No text of it is reproduced; the Background Slicer's docs cite pages.
Media-server file formats
disguise, AV Stumpfl, Green Hippo, Anomes
The Background Slicer's exports follow what each vendor documents its own software importing: disguise designer's Feed Mapping "Import from table" columns, the feed-rect CSV of Pixera's example file, Hippotizer V4's Video Mapper CSV import, and the SVG Millumin 5's Video Routing imports. Only column layouts and element shapes are used; nothing of their software or documentation is included.
Event Master Toolset
Barco
The Barco EC panel plugin's button table in src/core/ec-panel.js was generated from the showConsoleMap.csv the Event Master Toolset installs (identical in 9.2.68800 and 10.0.3.3021), and test/barco-ec.test.js checks it against whichever Toolset is installed. That file is a list of key numbers, lamp registers and display numbers; nothing else of Barco's is taken, and no part of their software is redistributed. LivePremier Plus is not affiliated with or endorsed by Barco.
The FM carriers
Sencore Tech Tip 189, "Comparison of VCR Formats"; Wikipedia, "Hi8" and "8 mm video format"
8 mm: sync tip 4.2 MHz, peak white 5.4 MHz, 1.2 MHz deviation; Hi-8: 5.7 MHz, 7.7 MHz, 2.0 MHz; chroma under at 743 kHz for both. Confirmed by three sources (the tech tip's table read with pdftotext; both Wikipedia articles). The tech tip is an NTSC document.
The PAL figures, the colour-under carriers, the emphasis and the decks' bands
vhs-decode (oyvindln/vhs-decode, vhsdecode/format_defs/video8.py)
The same FM carriers for PAL and NTSC; colour-under at 46.875 fH (PAL) and 47.25 fH (NTSC); the main emphasis time constant, Video8 1.30 us and Hi8 0.47 us ("From spec"), with a shelf of 11.5794 dB for both; Hi8's white clip at 220 % and dark clip at 90 % (from comments marked with a question mark); and the filters a decoder puts on a capture of each format's RF and on the demodulated Y. GPL-3.0: the figures are cited, no code was used. Several are marked tuned or uncertain in the file itself; the RF filters stand in for a deck's head, equaliser and RF stage, which no source here describes. One source.
The spacing loss
R. L. Wallace, Jr., "The Reproduction of Magnetically Recorded Signals", Bell System Technical Journal 30(4), 1145-1173, October 1951
A head reading through a spacing d loses e^(-2 pi d / lambda), 54.6 d / lambda dB. The citation was checked against the journal's table of contents.
What a Video8 deck shows on a Hi8 tape
US patent 4,949,195; forum summaries
Sony's mode-discrimination patent says only that a high-band recording on a standard machine "tends to be disturbed"; forum summaries say snow and streaking. No first-hand capture was found: the picture this plugin makes is the model's prediction, not a match to footage.
AWJ Protocol Programmer's Guide
Analog Way
Mynah controls Analog Way LivePremier (Aquilon) processors over the control protocol Analog Way documents openly in this guide, which covers the port, the wire format and the memory-recall paths. Every path the project uses is listed in docs/PATHS.md in its own words, and every one was verified by reading it back off a running device before it was relied on. Not affiliated with or endorsed by Analog Way; no part of their software, firmware or documentation is redistributed.
grandMA3 command-line syntax rules, Avolites Titan commands quick reference and ChamSys MagicQ programmer documentation
The reference material consulted for the command grammar, all publicly published documentation from MA Lighting, Avolites and ChamSys. grandMA3 is a trademark of MA Lighting, Titan of Avolites and MagicQ of ChamSys; no affiliation or endorsement is implied by any of them.
bitfocus/companion-module-analogway-awj
Bitfocus
MIT
Read as the reference for the Web RCS WebSocket route, which it takes in preference to AWJ, as its README says itself. No code was copied.
Stream Deck SDK
Elgato
The Stream Deck plugin targets Elgato's published SDK. Stream Deck is a trademark of Elgato, which is not affiliated with this project.
Analog Way LiveCore documentation and a vendor simulator
The control protocol was recovered by reading Analog Way's own published documentation and validating against their simulator. No vendor code was used.
Linux kernel DRM
GPL-2.0
drivers/gpu/drm/drm_displayid_internal.h and drm_mode_displayid_detailed() in drivers/gpu/drm/drm_edid.c were read to confirm the DisplayID 2.0 section, block and Type VII descriptor layouts, and struct displayid_tiled_block and drm_parse_tiled_block() were read on 2026-09-23 to confirm the Tiled Display Topology layout and the DisplayID 1.3 block tags. No kernel code is copied or derived; only the byte layout of a published standard was confirmed against it.
edid-decode
Its published reading of the HDMI Forum vendor-specific data block informed the bit assignments in src/lib/edid/cta861.ts.
Cathode Ray Tube Phosphors Of Interest To The Experimenter
Patrick Jankowiak (KD5OEI), revision 2010-02-26
A compilation of EIA/JEDEC TEP116, Whitaker, Tektronix and Dyall (1948) phosphor data, checked 2026-09-25 for the phosphors' character: P7 a dual-colour, dual-persistence cascade for radar indicators (ZnS:Ag blue-white fluorescence over a (Zn,Cd)S:Cu yellow phosphorescence, peaks 440 and 558 nm, over a minute in low ambient light); P19 orange, very long, (KF,MgF2):Mn, radar screens; P1 green, 525 nm, 20 ms. The same table lists P7's long component as an inverse power law, not an exponential; the plugin's afterglow is an exponential with an adjustable time constant, a simplification. TEP116-C itself was not consulted.
Freedoom
BSD
What resodoom was developed against and what tools/verify.sh runs on: the headless checks were made with Freedoom Phase 1 0.13.0, and the published video's footage is Freedoom, so nothing of id Software's appears. It could legally be bundled and deliberately is not; the operator supplies a WAD.
Crispy Doom
patches/0004 centres the 2D layer the way Crispy Doom does: V_DrawPatch adds DELTAWIDTH = (SCREENWIDTH - 320) / 2, and every caller must speak 320-space.
WebLinked
Stoatworks weblinked
The thing rookery drives. Its OSC verb set and /api/state shape are the protocol this project speaks; docs/protocol.md records what was read from its source and what was measured against a running instance.
Room EQ Wizard (REW)
Traps can be tuned to the peaks in a REW measurement exported as text (File > Export > Export measurement as text). Peaks are picked against a one-octave running median; the frequencies are exact and the dB figure is only good for ranking them.
Weak-shock theory for a spherical wave
G. B. Whitham, Linear and Nonlinear Waves (1974); M. F. Hamilton and D. T. Blackstock, Nonlinear Acoustics, ch. 4
Steepen() in source/Acoustics.cpp: along the age variable s = a ln( r / a ) a loud pulse obeys the inviscid Burgers equation, with kappa = beta / ( rho c^3 ) and beta = ( gamma + 1 ) / 2, until it folds and shocks form at the equal-area position. sztest --steepen holds it to the shock-formation age s* = 1 / ( kappa P_a max f0' ) and to the closed forms for a top hat's front (-L + sqrt( 2 k L s )) and an N-wave's growth (L sqrt( 1 + 2 k s / L )). A shock front's speed of c plus half its strength (Rankine-Hugoniot) falls out of the same solution. Implemented from the theory; no code is used.
The Lax–Oleinik formula
Peter D. Lax; Olga A. Oleinik
Steepen() takes the entropy solution of the Burgers problem, shocks and all, as the Lax–Oleinik minimiser of s W + Y^2 / 2 - X Y, found as a vertex of the lower convex hull of the samples in O( N ); the hull's long edges are the shocks.
Godunov's method
S. K. Godunov
tools/sztest/main.cpp's godunov(): an independent first-order solver of w_s + ( w^2 / 2 )_X = 0 that sztest --steepen compares Pop, Kick and Blast against (2400 cells, within the solver's own error).
The Friedlander waveform
F. G. Friedlander
The Blast shape in source/Acoustics.cpp: ( 1 - u ) e^-u, u = theta / t+, with b = 1, the one decay whose impulse is zero, arriving as a shock.
Edlén's standard air
Bengt Edlén
sztest --air checks n - 1 = K rho (the Gladstone–Dale constant and the density in source/Acoustics.h) against Edlén's standard air at 15 °C, n - 1 = 2.77e-4 at 589 nm, scaled by density to 20 °C.
The Douglas–Peucker simplification
David H. Douglas and Thomas K. Peucker
Simplify() in source/Acoustics.cpp: each steepened profile and each shell is thinned by vertical distance before it goes to the GPU, keeping every jump and the edges of silence.
Minimum-jerk movement
T. Flash and N. Hogan, J. Neuroscience 5 (1985)
A pen writing a stroke on, a burst popping out and a bolt striking all move along 10t³ − 15t⁴ + 6t⁵, the minimum-jerk profile of an unconstrained reach.
PCG
Melissa O'Neill (2014)
Each doodle's random choices (where it goes, its size, its colour) come from a PCG32 stream in source/Maths.h, so a seed gives the same drawing on every machine.
Hash functions for GPU rendering
M. Jarzynski and M. Olano, JCGT 9 (2020)
Each drawing's hand and each doodle's seed come from PCG's output permutation used as a hash, as Jarzynski and Olano give it (source/Maths.h, used by source/Doodles.cpp).
Barco Event Master Toolset simulators and the Event Master JSON-RPC API guide
The Event Master show file format — settings.xml, the presets/, cues/ and userkey/ folders, hwconfig.xml, the card type codes, the E3Backup.tar.gz layout — was read out of the stores the vendor's own simulators (E2 9.2, Encore3 10.0) write, and src-tauri/crates/showbook-em/src/live.rs follows the published JSON-RPC guide. No vendor code was used and no simulator file is redistributed; the fixtures under fixtures/em are trimmed captures of the simulators' own output.
Analog Way LivePremier AWJ Protocol Programmer's Guide, LivePremier REST API Programmer's Guide, and the LivePremier, Midra 4K and Alta 4K simulators
The device store layout, the REST recall endpoints, the .awc container's manifest and the configuration import/export flow in src-tauri/crates/showbook-aw were read from the published guides and confirmed against the vendor's simulators. The .awc payload is encrypted and is deliberately kept opaque — Showbook never reads inside it. The fixtures under fixtures/aw are trimmed simulator stores.
Bitfocus Companion and the barco-eventmaster and analogway-awj modules
The Companion page export in src-tauri/crates/showbook-companion writes the control and action shapes Companion 5.0.5 itself saves, with the action ids and option names those two modules define. No module code is copied.
Stats
Serhiy Mytrovtsiy
MIT
The fan guard's System Management Controller keys on Apple silicon follow Stats, and so does the unlock that makes macOS let go of the fans: each fan's mode key, and the test flag Ftst where a chip up to the M4 refuses that. Handing the fans back afterwards is done as Stats does it too: mode 0, target 0, then the test flag cleared. Show Mode's Swift is its own and no code was taken, but the procedure came from reading how Stats does it.
The relationship between infrared, optical and ultraviolet extinction
J. A. Cardelli, G. C. Clayton and J. S. Mathis, ApJ 345 (1989) 245
a(x) + b(x)/R_V from 0.125 to 3.33 um in source/Physics.cpp, and their Table 3, which sdtest --extinction holds it to. Past 3.33 um the curve is continued with Indebetouw et al.'s flattening (ApJ 619, 2005) and the silicate features from Draine's review (ARA&A 41, 2003); that extension is this repo's.
Astrophysics of Gaseous Nebulae and Active Galactic Nuclei
D. E. Osterbrock and G. J. Ferland (2006), tables 4.2 and 4.4
The case B recombination ratios at 10^4 K for the Balmer, Paschen and Brackett lines in source/Physics.cpp.
Supernova light: the decay heating, the diffusion and the tail
D. K. Nadyozhin, ApJS 92 (1994) 527; W. D. Arnett, ApJ 253 (1982) 785; B. Leibundgut, A&ARv 10 (2000) 179
The 56Ni -> 56Co -> 56Fe heating, Arnett's diffusion integral (whose rule sdtest --supernova checks), and the observed decline of type Ia tails that the tail is held to.
The classical meteor light curve
E. J. Opik, Physics of Meteor Flight in the Atmosphere (1958); D. W. R. McKinley, Meteor Science and Engineering (1961)
I ~ (rho/rho_max)(1 - rho/3 rho_max)^2, in source/Physics.cpp, measured in the picture by sdtest --meteor.
Preparing red-green-blue images from CCD data
R. Lupton et al., PASP 116 (2004) 133
The asinh stretch of the mean, applied to every channel, in the composite shader.
A cosmology calculator for the World Wide Web
E. L. Wright, PASP 118 (2006) 1711
1651.9 Mpc at z = 1 (H0 70, Omega_m 0.3, flat), which sdtest --cosmology holds the angular diameter distance to.
Analytical expressions for the Sersic profile's b_n
L. Ciotti and G. Bertin, A&A 352 (1999) 447
The expansion of b_n in every galaxy's bulge.
Radiative transfer in a clumpy universe
P. Madau, ApJ 441 (1995) 18
The Lyman-alpha forest's effective depth against redshift, reduced to one power law, in the deep field's galaxy colours.
The WFC3, ACS, NIRCam and MIRI instrument handbooks
Space Telescope Science Institute
The pivot wavelength and width of every filter in source/Physics.cpp.
Allen & Heath SQ MIDI Protocol Issue 5, dLive MIDI Over TCP/IP Protocol V2.0, Avantis MIDI TCP/IP Protocol and Qu-5/6/7 MIDI Protocol Issue 2
Allen & Heath
SQ for firmware V1.5.0+, Avantis for firmware V2.0+: the message shapes, the NRPN tables, the channel-selection tables, the fader and gain laws and the colour codes.
Allen & Heath Avantis Director V2.01 and SQ MixPad 1.6.0; Yamaha QL Editor V5.8.1, DM3 Editor V3 and TF Editor V4.50
The offline editors whose files the readers were built on.
Yamaha DM3 (firmware V3.00), on the fleet's bench on 2026-09-15
Yamaha
The SCP grammar, the prminfo dictionary, the NOTIFY push and the scene verbs, as recorded in Dante-BabelBox.
Bitfocus Companion 5.0.5 and the allenheath-sq 3.1.0, allenheath-dlive 1.0.1, allenheath-avantis 1.0.0 and yamaha-rcp 3.5.12 modules
MIT
The Companion page export shape and the action ids.
The vendors' spec sheets and the protocol documents' address ranges
The capability figures follow them; where a figure is a family convention it is marked in the code. Allen & Heath, SQ, dLive, Avantis, Qu, CQ, Yamaha, CL, QL, TF, DM3, DM7, RIVAGE PM and Bitfocus Companion are trademarks of their owners, and Songbook is not affiliated with any of them.
iZotope Ozone Imager; Mastering The Mix LEVELS, REFERENCE and STEREOVAULT
Prior art the displays answer to: Ozone Imager for polar sample and polar level, LEVELS for the stereo field, REFERENCE for width against frequency and STEREOVAULT for per-band mid/side. spasis contains no code from any of these. They are named because the instruments are conventions, and a meter that disagrees with the convention is simply wrong; the landmarks in sptest --field and sptest --width are there to keep spasis agreeing with them.
Improved vacuum tube models for SPICE simulations
Norman L. Koren
Koren's triode and pentode plate-current equations (Glass Audio 8(5), 1996; web edition updated 2003) are the plugin's valve law, and his grid resistance RGI its grid current, with the diode made ideal. Read on 2026-10-04.
Tube.lib, the SPICE model library
Norman L. Koren
The parameters of all eight valves (12AX7, 12AT7, 12AU7, 6DJ8, EL34, 6L6GC, KT88, 300B) are typed from this 2001 library, which adds the 12AT7 and EL34 to the article's Table 1, and typed again in the harness, which holds the two together. Koren credits the small-signal triode data to Tom Mitchell's The Audio Designer's Tube Register and the EL34 data to Audiomatica's Sofia page.
Apple Keynote, measured
Keynote's 200–8192 pt slide range was obtained by driving a real Keynote until it refused, and is quoted from its own error text. It appears in no documentation that could be found.
The wet collodion plate's spectral sensitivity
Hertel, Skladnikiewitz and Schmidt, 1997
The source of the plate's spectral weights in source/Spectral.h, computed by tools/spectral_weights.py. Dirk Hertel, Pia Skladnikiewitz and Irene Schmidt, "The Wet Collodion Process — a Scientific Approach", IS&T's 50th Annual Conference (1997), pp. 600–604, Institute of Applied Photophysics, Technical University of Dresden. Figure 4, "Distributions of relative spectral sensitivity for varying bromide/iodide molar ratios", the 40/60 bromide/iodide curve — the recipe the authors chose as the historical optimum. Digitised from the published figure, not taken from a table: the paper prints none. The fifteen values at 10 nm from 380 to 520 nm in tools/spectral_weights.py are read off the plot to about ±0.03, relative to the sensitivity at 380 nm, and taper to zero past the 500 nm the paper's text gives as the long end. The plate's ultraviolet sensitivity is not represented, because the RGB basis carries no ultraviolet.
The RGB-to-spectrum basis
Brian Smits, 1999
The other source of the weights. Brian Smits, "An RGB-to-Spectrum Conversion for Reflectances", Journal of Graphics Tools 4(4), 1999, pp. 11–22. The seven basis reflectance spectra (white, cyan, magenta, yellow, red, green, blue) in ten equal bins from 380 to 720 nm, and the rule that composes a reflectance for any RGB from them, which the expose shader runs. The seventy numbers in the script are a transcription of the paper's table. A copy of the paper could not be fetched to check them against in the session that wrote this (every route timed out), so the transcription is checked by the property the paper constructs them with — each secondary plus its complementary primary sums to white in every bin — which they satisfy within 0.08.
The lights
CIE 15:2004
The third input to the weights. CIE 15:2004, Colorimetry: Illuminant A is defined as a Planckian radiator at 2856 K, and that is Tungsten. Daylight is a Planckian radiator at 6504 K, the correlated colour temperature of D65 — an approximation of D65, which is not Planckian. Flash is a Planckian radiator at 5500 K.
Shure Wireless Workbench and Sennheiser WSM file formats
Both formats were worked out from files the tools themselves export. No vendor code was used, and neither vendor was involved.
The classical Runge–Kutta method
Carl Runge and Martin Kutta
tools/zttest/physics.inc's Rk4Disc: an independent fourth-order solution of the bearing's equation, d omega / dt = -k omega - c, that zttest --bearing and --hand hold the hand-spun disc's closed form to (3e-11 rad over ten seconds and six pushes).
Stroboscopic aliasing (the wagon-wheel effect)
zttest --drift: a disc turning omega T per flash appears to turn omega T modulo a station, wrapped to plus or minus half of one. Worked from the sampling, not from anyone's code.
Langton's ant
Wikipedia
Checked 2026-10-04 for the behaviour the harness asks of the plugin: on an empty grid Langton's ant makes a chaotic pattern for about 10,000 steps and then builds a recurrent "highway" of 104 steps that repeats indefinitely (the harness measures the onset at step 9977 and the drift at two cells diagonally per cycle); Turk and Propp's many-coloured ants, and the article's examples, which are the Rule dropdown: RLR grows chaotically, LLRR and RLLR symmetrically, LRRRRRLLR fills a square, LLRRRLRLRLLR builds a convoluted highway, and RRLLLRLLLRRR a filled triangle that starts to move after about 15,900 steps (the harness checks the symmetric pair and the square; the rest it does not); and the observation that rules made of consecutive pairs of equal letters give symmetric patterns, which the harness checks at every return to the start.
The escape of photons from gravitationally intense stars
J. L. Synge, Mon. Not. R. Astron. Soc. 131 (1966) 463
The angular radius of a Schwarzschild black hole's shadow for a static observer, asin( sqrt 27 sqrt( 1 - 2/d ) / d ), which sliptest --shadow measures the black disc against; the orbit equation (du/dphi)^2 = 1/b^2 - u^2 + 2u^3 tabulated in source/Geodesic.cpp is Schwarzschild's (1916).
Gravitational lensing in the strong field limit
V. Bozza, Phys. Rev. D 66 (2002) 103001
The deflection of a ray just outside the photon sphere, which sliptest --geodesic holds the orbit table to near the photon ring.
Formalism for testing theories of gravity using lensing by compact objects
C. R. Keeton and A. O. Petters, Phys. Rev. D 72 (2005) 104006
The weak-field deflection series 4/b + 15 pi / (4 b^2) + 128 / (3 b^3), which sliptest --geodesic holds the table to far from the hole.
Black holes in binary systems: observational appearance
N. I. Shakura and R. A. Sunyaev, Astron. Astrophys. 24 (1973) 337
The thin disc's temperature profile, T ~ ( (1 - sqrt( r_in / r )) / r^3 )^(1/4) with its inner edge at the innermost stable orbit, in the scene shader; sliptest --disc checks the face-on profile against the harness's own rays.
Gravitational lensing by spinning black holes in astrophysics, and in the movie Interstellar
O. James, E. von Tunzelmann, P. Franklin and K. S. Thorne, Class. Quantum Grav. 32 (2015) 065001
Where the disc's far side lensed up over the hole became a familiar picture, and the account of why its Doppler asymmetry was switched off for the film; the Doppler control does the same at 0. No code, data or images from it.
Simple analytic approximations to the CIE XYZ color matching functions
C. Wyman, P.-P. Sloan and P. Shirley, JCGT 2 (2013) 1
The multi-lobe piecewise Gaussian fit of the CIE 1931 2-degree observer behind every star's, the disc's and the corona's colour, in source/Blackbody.cpp.
Design of advanced color temperature control system for HDTV applications
B. Kang, O. Moon, C. Hong, H. Lee, B. Cho and Y. Kim, J. Korean Phys. Soc. 41 (2002) 865
Their cubic spline of the Planckian locus, which sliptest --planck holds the blackbody table to.
Handbook of Mathematical Functions, 7.1.26
M. Abramowitz and I. A. Stegun
erf to 1.5e-7, for a streak's blurred ends, in source/Shaders.cpp.
Handbook of Mathematical Functions, 4.4.49
M. Abramowitz and I. A. Stegun (1964)
turnsOf() in source/Shaders.cpp: the clockwise scan's angle from a minimax polynomial for atan on [0, 1], |error| ≤ 2e-8, in place of GLSL's atan, whose accuracy GLSL 4.10 does not promise. sxtest --turns checks the scan's coordinate against atan2 in double.
Fast third-order texture filtering
C. Sigg and M. Hadwiger, GPU Gems 2, chapter 20 (2005)
The cubic B-spline read in the frame pass (bspline() in source/Shaders.cpp): four bilinear taps instead of sixteen, which is what a print enlarged by an optical printer looks like rather than a bilinear smear.
Improved alpha-tested magnification for vector textures and special effects
C. Green, Valve, SIGGRAPH 2007
The caption's signed distance field: one small atlas draws a crisp letter at any size, and the same field gives the halo.
Diffraction grating behaviour in direction cosine space
J. E. Harvey and C. L. Vernold, Applied Optics 37(34), 1998; J. E. Harvey and R. N. Pfisterer, Optical Engineering 58(8), 2019
The grating equation as (v + l) projected on the surface = mλ/d along the grating's direction, which is how sheenAt() in source/Shaders.cpp finds each pixel's wavelength, order by order.
Thin-grating efficiency (Raman–Nath)
MIT OpenCourseWare, MAS.450 Holographic Imaging
How much of each wavelength a groove of a given depth sends into each order, J_m² of the phase swing. The colour table carries it, and hftest --groove checks the mirror's share against J₀².
Acquiring Spatially Varying Appearance of Printed Holographic Surfaces
A. Toisoul, D. S. Dhillon and A. Ghosh, ACM TOG 37(6), 2018
The idea that a holographic print is a map of small gratings, each with its own direction and pitch. The patterns (Crosshatch, Cosmos, Cracked Ice, Sparkle) set the grating cell by cell this way.
Diffraction Shaders
J. Stam, SIGGRAPH 1999
Diffraction as a reflectance a renderer can evaluate per pixel, and the lamp's size as what turns a grating's single wavelength into a band.
Hash Functions for GPU Rendering
M. Jarzynski and M. Olano, JCGT 9(3), 2020
The PCG hash (after Melissa E. O'Neill's PCG) that gives each cell its direction, pitch and lean, so the same cells come out on every GPU.
A perceptual color space for image processing (2020)
Björn Ottosson
OKLab, in which every nearest-colour decision is made, with the post's matrices as revised on 2021-01-25. rmtest --oklab reproduces the post's XYZ to OKLab test table by the harness's own route and checks the plugin's direct linear-sRGB matrices against it.
RGB/XYZ matrices
Bruce Lindbloom
The harness's independent route to OKLab goes sRGB to XYZ by Lindbloom's matrix, then through Ottosson's M1 and M2, so the plugin's own matrices are never their own reference.
Pattern dithering, US 6,606,166 (expired 2019)
Thomas Knoll; with Joel Yliluoma's account
Ordered dither for an arbitrary palette: N candidates per cell, each the nearest entry to the target plus the error so far, chosen by the cell's rank. Yliluoma's article (bisqwit.iki.fi/story/howto/dither/jy/) is a clear account of it. Ramdac accumulates the error in linear light and picks candidates in OKLab, and is otherwise the patent's method; rmtest --tone checks every cell against the harness's own Knoll candidates.
An optimum method for two-level rendition of continuous-tone pictures (IEEE ICC, 1973)
B. E. Bayer
The 2x2, 4x4 and 8x8 index matrices. rmtest --tone builds the standard matrix independently and checks that cells turn white in its order.
The void-and-cluster method for dither array generation (Proc. SPIE 1913, 1993)
Robert Ulichney
tools/bluenoise.py generates the 64x64 blue-noise mask by this method, and tools/verify.sh regenerates it and compares the bytes.
Digital halftones by dot diffusion (ACM TOG 6(4), 1987)
Donald E. Knuth
Error diffusion done in parallel: an 8x8 class matrix, each pixel's error passed to its neighbours of higher class, orthogonal at weight 2 and diagonal at 1. The class matrix was checked against US 8,077,355 B2, which reproduces the paper's as its Table 2, and the harness holds its own transcription; rmtest --diffusion checks every cell against Knuth's recurrence.
Color image quantization for frame buffer display (SIGGRAPH 1982)
Paul Heckbert
Median cut, which seeds the adaptive palette.
Least squares quantization in PCM (IEEE Trans. Inf. Theory 28(2), 1982)
Stuart Lloyd
The k-means iterations that refine the adaptive palette, warm-started from the last frame. rmtest --adaptive checks they never end worse than median cut.
Microfacet models for refraction through rough surfaces
B. Walter, S. R. Marschner, H. Li and K. E. Torrance (EGSR 2007)
The GGX distribution in source/Shaders.cpp. twtest --hotspot checks the highlight's centroid against the mirror point and its values against GGX in double.
Understanding the masking-shadowing function in microfacet-based BRDFs
E. Heitz (JCGT 2014)
The height-correlated Smith visibility term used with GGX.
An inexpensive BRDF model for physically-based rendering
C. Schlick (Computer Graphics Forum 1994)
The Fresnel approximation from F0.
d&b R1 3.46.1: its control templates, control catalogue and help
d&b audiotechnik
The .dbpr project format is SQLite with no published schema. What each remote-view control should hold was read out of R1 3.46.1 itself: the controls in its templates.r2t, the property each control type accepts in its GuiInfo.db (web/src/engine/catalogue.ts is that list), rows R1 wrote into projects, and R1's help. Field values are copied from those rather than invented, and the D6 and D12 delay limit was inferred from AutoCreate's own pages. R1 3.46.1 has opened a file from the r1-views scripts and saved it back with every control and group intact. Not affiliated with d&b audiotechnik.
Guided Image Filtering
K. He, J. Sun and X. Tang, ECCV 2010; IEEE TPAMI 35(6), 2013
The colour guided filter (section 3.5): in each window the depth is a least-squares linear function of the colour with a ridge, which puts an estimated depth's edges on the picture's. Implemented from the equations, weighted by the raw estimate's evidence. hytest --depth checks it returns an exact linear function of the colour, and that Subject's depth edge lands on the picture's edge.
Fast Guided Filter
K. He and J. Sun, arXiv:1505.00996, 2015
Computing the guided filter's coefficients at a quarter of the resolution and applying them to the full-resolution picture.
Single Image Haze Removal Using Dark Channel Prior
K. He, J. Sun and X. Tang, CVPR 2009
Depth From Haze: a haze-free picture's darkest channel over a patch is near zero, so the haze's transmission is 1 − dark / air light, and its logarithm is distance. hytest --depth checks the ranking on a hazed scene of known distances.
Sub-pixel estimation error cancellation on area-based matching
M. Shimizu and M. Okutomi, IJCV 63(3), 2005
The parabola fit's sub-pixel bias, used only to set the bound of hytest --track.
Inspirations
What these set out to be. No code, assets or binaries from any of them were used or examined. The debt is to the idea, and it's a real one.
Lake Controller and dbx DriveRack
A system-controller frontend for the Allen & Heath AHM series in the style of a Lake Controller or a dbx DriveRack: describe the PA once, describe each console once, then run the show by switching consoles in and out.
What A 555 Timer Looks Like On A CRT TV
Ms Mad Lemon
Not code, and nothing was copied, but this plugin would not exist without the video. The idea of driving a television's deflection yoke directly from 555/556 astables to draw vector figures "in Vectrex fashion", the follow-up with an LM358 triangle generator, and the earlier CRT TV modification are hers. The "Maddi mark/space" trick modelled in Controls.cpp (a pot from pin 6 to V+ with the wiper to pin 7, changing the duty without changing the frequency) comes from the comments on that series. vectrix credits the same series for the same reason.
Roland RE-201 Space Echo
Roland Corporation
Astronaught is an independent model of the RE-201, written from published documentation only. It contains no Roland code, no samples, no impulse responses and no measurements taken from a unit. Roland, RE-201, RE-20, RE-202 and Space Echo are trademarks of Roland Corporation; Astronaught is not affiliated with, endorsed by, or derived from any Roland product.
Sibling projects: ferric and escapement
ferric, which models video as an analogue tape signal, got there first on the central idea that tape has one frequency axis and it lands along the scan, which is why nothing here filters vertically; Astronaught keeps its own transport because it needs the position integral rather than a per-pixel error field. escapement, a video feedback rig, supplied the hard-won warning about averaging inside a loop, which Shaders.h addresses directly because the head bus here is normalised.
ATRAC and MiniDisc
Sony's Adaptive Transform Acoustic Coding as shipped on MiniDisc: the modified discrete cosine transform with block switching, block floating units with a scale factor and a word length each, a fixed budget of bits per sound unit shared out by a masking model, and the shock-proof buffer that a knock drains. Built from the published description of the coder; no Sony code, no table copied from a product, and no product name beyond the format's. ATRAC and MiniDisc are trademarks of Sony Group Corporation; this project is not affiliated with or endorsed by Sony.
Auroral arcs as vortex sheets
Hallinan & Davis, Planet. Space Sci. 18, 1735 (1970), and Hallinan, J. Geophys. Res. 81, 3959 (1976); the regularised periodic vortex sheet and point insertion after R. Krasny, J. Fluid Mech. 167, 65 (1986). Implemented from the equations; the growth rate of the regularised kernel is derived in AGENTS.md.
Interlacing, pulldown and deinterlacing
2:3 pulldown, weave, bob, field blending, motion-adaptive deinterlacing and inverse telecine are decades old and described in the broadcast engineering literature. The behaviour here is implemented from that published description of how the processes work; no code was taken from any deinterlacer implementation.
Broadcast camera processing chains, as a genre
The stages and their order (linear light, white balance, matrix, aperture correction with coring and skin detail, knee, gamma and black gamma, pedestal, white clip) and the names a camera control unit gives its knobs are the trade's public convention, and that is all that was taken. The matrix presets are derivations with generic names: the Standard matrix is SMPTE 170M primaries to BT.709 primaries from the chromaticities, checked against the matrix Charles Poynton publishes; High Saturation and Film-like are a saturation and a hue rotation about the grey axis with judged constants. The OETF is BT.709's, as a family in its exponent. No manufacturer's circuit, firmware, curve, preset, menu or documentation was copied or consulted, and no manufacturer is named.
AC-coupled video amplifiers and the keyed clamp
The first-order RC high-pass of an AC coupling and the keyed back-porch clamp that restores DC, both solved exactly for a signal held constant over each sample; Rec. 601 luma weights; the Child-Langmuir 3/2-power law for a triode's plate current. Built from circuit theory; no manufacturer's design, coefficients or name is used.
Spirograph
Denys Fisher
The machine this plugin sets out to recreate: a toothed ring, a wheel rolling in mesh with it, and a pen in one of the wheel's holes. Nothing was taken from Hasbro or from any Spirograph product — the gear arithmetic is the standard hypotrochoid and epitrochoid derivation, written from the mechanism rather than from any implementation. The tooth counts offered by Snap to Set are the ones widely published for the classic sets and have NOT been verified against a physical set; Ring and Wheel remain free integers precisely so that nothing depends on that list being right. Spirograph is a registered trademark of Hasbro, Inc., and this project is not affiliated with or endorsed by them.
The arcade cabinet
Five games in the spirit of the early-eighties arcade floor. None is a clone of a specific title and no original code, ROM or artwork was used — the games are written from scratch and the names are our own. What is borrowed is the form: one screen, one rule, no explanation.
The VHS format (JVC, 1976)
The helical scan, the two heads, the colour-under chroma and the look of every home video recorded on it. Built from what the format is rather than from anyone's implementation: no code, assets or binaries from any product were used or examined.
Ideal MHD numerics
MUSCL-Hancock with a monotonised-central limiter (Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics); the HLLD Riemann solver, T. Miyoshi and K. Kusano, J. Comput. Phys. 208, 315 (2005); GLM divergence cleaning and its EGLM energy source, A. Dedner et al., J. Comput. Phys. 175, 645 (2002), damped as in A. Mignone and P. Tzeferacos, J. Comput. Phys. 229, 2117 (2010); the dual-energy switch, D. Ryu et al., ApJ 414, 1 (1993) and D. Balsara and D. Spicer, J. Comput. Phys. 148, 133 (1999). Implemented from the papers; nothing is copied from anyone's source.
Topographic survey maps
Contour lines at a fixed vertical interval with heavier index contours, the standard analytical hillshade (Lambertian reflectance under a light at 315 degrees and 45 degrees, in the zenith/slope/aspect form GIS packages document), hypsometric and bathymetric tints, and generalisation by smoothing. Built from textbook cartography; no agency's symbology, colour table or name is used.
The Game of Life
John Horton Conway's cellular automaton, published by Martin Gardner in Mathematical Games, Scientific American, October 1970. Implemented from the rule's definition; the patterns are the Life community's, in their standard RLE. Nothing is copied from anyone's source.
Amiga cracktros and demos, as a genre
The chipset is modelled from the Hardware Reference Manual's description, not from any emulator's source: no code was taken from UAE, WinUAE, FS-UAE, vAmiga or any other emulator. No Kickstart ROM, disk image, demo, cracktro or captured Amiga output was used or consulted; the demo is written from scratch against the emulated chipset. The scroller's 16x16 font is original to this repo, designed on a 7x7 grid of cells doubled with a highlight and a shadow row: it is not Topaz and not traced or converted from any existing font. The chunky shape is a genre convention, not a copy.
Crumpled paper as facets and d-cones
Crumpled paper as flat facets meeting at straight creases and at junctions (the "d-cones" of the physics literature) is the picture this model is built to match. Described in the literature, not copied from anyone's source.
Databending
The practice of opening an image file as raw audio in an audio editor and running its effects on it, as it has been done since the early 2000s. Built from the description of what the editor sees (one stream of samples in the file's own layout) and what its delay-line effects do to it; no editor's code, presets or effect designs are used.
The normalised lattice all-pass section
The Gray-Markel normalised first-order lattice, as described in the open literature: a rotation of the input and the state, lossless for any time-varying coefficient. That losslessness is what makes the phaser's restart bound and its energy check possible.
4K Video Feedback Fractal Device
The Light Herder
Escapement is a model of an optical video feedback rig, and the rig it is modelled on is real: cameras pointed at 4K screens through half-mirrored glass, with analogue knobs and an operator moving the cameras by hand. Nothing about it is computed. The video that started this plugin is "4K Analog Video Feedback Device Complete!", and the claim in its description, fractals without a computer, is the whole design brief: the fractals are the loop's attractor, not a formula anyone evaluates. No code, assets or measurements were taken from that device. What was taken is the architecture: taps through glass, a proc amp in the loop, and an operator playing gain against unity.
The Group 3 fax machine
The streak, the wedge, the repeated line, the squashed standard-resolution page and the header line along the top are what a 1980s fax did. No code, firmware or binaries from any fax machine, modem or fax software were used or examined.
Consumer sliding-band companders, Type B and Type C
Dolby Laboratories
The two noise-reduction curves this plugin models are the well-known consumer sliding-band companders, called Type B and Type C throughout, in the code, in the dropdown and in the documentation. Those systems are Dolby Laboratories' and the names are their trademarks. This is not their product, is not licensed by them, and is not endorsed by them: it is an emulation of a widely documented signal-processing topology, applied to a picture rather than to audio, and named the way the rest of the industry names that topology when it is not licensed to use the trademark. No original coefficients, tables or reference designs were used. The curves are derived from the published description of what a sliding-band compander does (see source/Compander.h) and are tuned by eye against a picture, which is a thing no audio system was ever asked to do.
Photographs of ferrofluid spikes
The familiar photograph of spiked ferrofluid in a dish over a magnet, glossy black under a studio's soft boxes. Built from the physics; nothing is copied from anyone's software, images or design.
Microfiche readers, and the people at them
The A6 card with its eye-readable header and a grid of frames (the 14 × 7 computer-output layout), the rear-projection reader with its carriage, zoom lens, focus knob and hotspot, silver, diazo and vesicular duplicating films — and the way anybody who has used one in a library browses: pan, overshoot, correct, zoom out to find the next page, zoom in, chase the focus. Modelled from how the machines work and how hands move; no manufacturer's design, document or firmware is copied.
Incandescent scoreboards, marquees and bulb walls
Stadium scoreboards of the 1960s to 80s, theatre marquees and the tungsten bulb walls of stage and television design: pictures made of lamps whose light is a hot wire's. No code, assets or binaries from any of them were used or examined.
The flip-dot sign
A bistable disc with a magnet between the poles of a coil, swung by a current pulse and held with no power, and a driver board that scans a line at a time and pulses only what changes, is the standard account of electromagnetic flip-dot displays as their makers describe them. No manufacturer's firmware, artwork, typeface or sound was used; the swing's torque law, the rebound's restitution, the timings and every constant are this repo's own, stated in source/Disc.h and source/Sign.h as assumptions, not measurements.
The dithers
Ordered dithering by the recursive index matrix is B. E. Bayer's ("An optimum method for two-level rendition of continuous-tone pictures", IEEE ICC, 1973); error diffusion with the 7, 3, 5, 1 weights is R. W. Floyd and L. Steinberg's ("An adaptive algorithm for spatial greyscale", Proc. SID 17, 1976). The algorithms are the published ones; the tone curve and the code are this repo's.
The dielectric breakdown model
L. Niemeyer, L. Pietronero and H. J. Wiesmann, "Fractal dimension of dielectric breakdown", Phys. Rev. Lett. 52, 1033 (1984); diffusion-limited aggregation as the harness's reference cluster, after Witten & Sander, Phys. Rev. Lett. 47, 1400 (1981). Implemented from the papers; nothing is copied from anyone's source.
The 35 mm projection booth
Simplex, Century and Kinoton projectors, their two- and three-blade shutters, carbon arcs and xenon lamps, and the release prints that went through them until the scratches, the dust and the splices were part of the picture. No code, assets or binaries from any of them were used or examined.
The SMPTE Universal Leader
The countdown is after the leader SMPTE introduced in the 1960s (now ANSI/SMPTE 55, the Television Leader): PICTURE START, eight to two a second apart in a target of two circles with a sweeping hand, the C C F F control frames round the four, the 2 for a single frame, black to the picture. Drawn from that description; no leader's artwork was copied, and the greys, the line weights and the typeface are this project's own.
The soundtracks of a late release print
Analogue variable-area, DTS time code, Dolby Digital and SDDS are drawn where a print carries them, as data: hashed bits and dashes. No logo of any of them is drawn, and nothing in the plugin decodes or encodes any of their formats.
The Amiga genlock
Implemented from the published description of how a genlock works: an external key derived from the computer's colour 0, cut on the computer's own pixel clock rather than the incoming video's, and a three-position video/overlay/dissolve fader. No vendor firmware, schematic or captured footage was used and nothing was measured off real hardware; the look is a model, not a characterisation of anybody's box.
The hand-cranked cinema
Bell & Howell, Debrie and Pathé cameras turned at two turns a second, hand-turned projectors, orthochromatic negative, sepia toning and the tinting baths of the 1910s and 1920s, and the end of a roll running out through the gate. No code, assets or binaries were used or examined.
The Belousov–Zhabotinsky reaction and its relatives
Boris Belousov's oscillating reaction (1951) and Anatol Zhabotinsky's work on it, the iodine clock (Harcourt and Esson, 1866), the Briggs–Rauscher reaction (1973), the blue bottle, the traffic light, the vanishing valentine and the chemical chameleon as classroom demonstrations. Implemented from the published mechanisms; nothing is copied from anyone's source.
The Windows 95 and 98 screensavers
Microsoft
Eleven savers rebuilt as a Resolume generator — the flat ones that shipped with Windows and the OpenGL ones that arrived with Plus! and became stock in 98. No Microsoft code, assets or binaries were used or examined; every saver is a fresh implementation written to match remembered behaviour. The debt is to the originals and to whoever at Microsoft decided a locked screen should be worth watching.
The integral instant print
Built from what the process is rather than from anyone's implementation: an exposure through the front of the film, a reagent pod at the wide bottom border burst by the camera's rollers and spread up the frame, dye developers released from the negative's three layers and held back where silver develops, reaching the image layer at their own rates under an opacifier that shields the negative until a timing layer drops the pH and ends development. Edwin Land's integral film (1972) is the process; the idea of doing a photochemical process as a process is rebate's. No code, assets or binaries from any product were used or examined.
The casino floor
A three- and five-reel fruit machine; the European and American wheels in their real order; the Big Six with its 24 ones, 15 twos, 7 fives, 4 tens, 2 twenties, joker and logo; a craps table's layout, puck and pyramid wall; an air-mix lottery drum in the UK lotto's ball colours. Built from those conventions; nothing is copied from anyone's artwork, model or source.
The jacquard loom, and the people who weave pictures on it
Joseph-Marie Jacquard's head (1804) lifts every warp end on its own, which is what made woven pictures possible at all. The vocabulary here (ends and picks, floats and ties, plain, twill and satin, a weft colour a pick from the shuttles loaded) is the weaver's, from general textile knowledge. No woven design, draft or pattern was copied.
Lenticular printing
Implemented from the textbook optics of a lenticular sheet: a thin cylindrical lens focusing a parallel bundle at angle t onto its focal plane at f tan t, an interleaved print in that plane, the beat between two periodic structures as the moire of misregistration, and a viewer at finite distance seeing each column at its own angle. No particular card, lens sheet, interleaving software or photograph of one was used; the ridge highlight, the edge shading and the residual magnification are looks, not a characterisation of any sheet.
Lighting-desk command lines, grandMA3's in particular
MA Lighting
The Console's syntax follows the rules of lighting-desk command lines — verb first, unambiguous keyword abbreviation, Thru / + / - ranges. No code, data or text from any lighting console vendor is used or reproduced; the vocabulary is the switcher's own throughout. See mynah's attributions for the fuller statement.
Video8 (1985) and Hi8 (1989)
The 8 mm formats: the FM luma, the colour-under chroma, and the Hi8 tape tried in the wrong machine. Built from what the formats are rather than from anyone's implementation: no code, assets or binaries from any product were used or examined.
Lighting-desk command lines, and grandMA3's rules in particular
The command syntax follows the rules of lighting-desk command lines: verb first, unambiguous keyword abbreviation, Thru / + / - ranges, an If filter clause. No code, data or text from any lighting console vendor is used or reproduced, and the vocabulary is the switcher's own throughout.
Retro console video hardware
The raster, the palette, the attribute cells and the ways they failed, recreated from published descriptions of how the hardware behaved. No ROM, no BIOS and no emulator code is present — the plugin generates the artefacts rather than running the machine that caused them.
Analogue television
The composite signal path — subcarrier, comb filtering, the PAL delay line, shadow mask and halation — built from the published broadcast standards rather than from any existing implementation. The artefacts are consequences of modelling the signal path, not effects drawn to look like them.
Synthwave and the eighties arcade horizon
The perspective grid, the striped sun and the neon tube are a visual language many people built, from Atari's vector cabinets to decades of synthwave cover art. No specific work is copied; the palettes and the path maths are ours.
How LED video walls fail
The way a wall is built and cabled -- a processor cutting the picture into cabinets, receiving cards daisy-chained from a sending card's port, per-cabinet calibration tables, modules multiplexed one scan line at a time -- and the failures every operator has seen on one: mismatched batches, broken data chains, lost-signal fallbacks, zebra and pinstriped modules, dead driver chips, tripping supplies. Modelled from how the hardware works; no vendor's firmware, test patterns or documents are copied.
Amiga-era trackers, as a genre
The pattern editor's arithmetic, 64 rows, a tick of 2.5 / BPM seconds, Speed ticks to a row, hexadecimal row numbers, sample numbers and a Cxx volume effect, the note range C-1 to B-3 with C-2 as middle C, is the genre's public convention, and that is all that was taken. No source code, screen layout, font, colour scheme or asset was taken from any tracker, no tracker's output was captured or consulted, and no tracker is named or depicted on screen: the themes are named by colour. The font is graticule's (above). The VU meters' 48 steps and 20 ms fall are this repo's own model of a vblank-driven meter, not a figure read from any program.
Pepper's ghost
Implemented from textbook optics: Fresnel's equations for a smooth dielectric surface and Snell's law; the multiple-reflection series of a slab; Airy's summation for one thin film, and the characteristic matrix of thin-film optics (the harness's check on it); the coherency matrix and Jones calculus, for polarised light through successive surfaces; the generalised Lambertian, cos^p, for a screen's falloff; the dominant wavelengths of the BT.709 primaries against D65, from the CIE 1931 observer; Brewster's angle; Abelès' identity R_p = R_s² at 45°; the mirror image in a plane; the vibration modes of a tensioned rectangular membrane; and the IEC 61966-2-1 sRGB transfer function. The rigs it models are the general shape of the Victorian stage illusion (Dircks and Pepper, 1862), the angled-foil stage systems that followed it, and the four-sided pyramid toys used with phones. No particular product, foil, rig drawing, app or video was used, and no reflectance of any commercial foil is claimed.
The strip camera
A photo-finish camera, a slit-scan camera, a rollout camera: one column of sensor with the film moving past it. Nothing was ported from anywhere; the idea is a hundred years old, and the implementation of it here is one ring buffer.
The ZX Spectrum tape loader
The display file's address layout, the 6912-byte screen, the attribute block arriving last and the 48K ROM loader's border colours are published facts about a machine from 1982, implemented from descriptions of how the hardware behaved. No ROM, no BIOS and no emulator code is present. The other three machines are loaders in the same shape with their own rates and colours; only the ZX 48 claims to model a documented routine.
LED video walls and the cameras that film them
Pixel pitch, fill factor, multiplexed scan groups driven by PWM, and the rolling-shutter Bayer camera that turns them into moire and scan bands are described in LED display engineering and camera literature. Implemented from that description; no vendor firmware, processor code or captured footage was used.
Pen plotters and their drivers
The look of a plotter drawing (heavy ends, blots at every pen-down, dark corners, staircases at a coarse step, a trip to the carousel for every pen change) is the machine's, and the sort-by-pen-then-nearest-start ordering is what real plotter drivers did. No code, assets or binaries from any plotter, driver or firmware were used or examined.
Photoconductive camera tubes
The target as a charge store — light charges a photoconductive layer, the beam reads it by discharging it, and can only remove so much per pass — is the standard account in broadcast engineering texts, and so are its consequences: lag, comet tails, blocked highlights and burn-in. Implemented as one function from that description; no simulation, code or data was taken.
Plumbicon, Saticon, Vidicon and Image Orthicon tubes
The tube types follow the ordering the literature agrees on — a plumbicon's near-unity transfer gamma against a vidicon's ~0.65, and their relative lag and burn — expressed in the plugin's own control range. Nothing came off a data sheet. The Image Orthicon's halo is attributed in the same texts to redistribution of secondary electrons; the plugin does not model that, and draws the ring instead.
A real set of polyhedral dice
The d4 to d20 and the percentile pair as tabletop role-playing games use them, with their conventions: opposite faces summing to n + 1 (9 on the d10), the western d6's 1-2-3 corner, the d4 read at its top vertex, 6 and 9 marked. Built from the solids and those conventions; nothing is copied from anyone's model or source.
The plan-position indicator
The marine and air-traffic radar display: a CRT whose trace runs out from the centre along the antenna's bearing, on a long-persistence phosphor. Implemented from the textbook radar equation and antenna theory; nothing is copied from anyone's source.
Photographic science of the colour negative
Built from textbook photographic science rather than anyone's implementation: the characteristic (H&D) curve and its toe, straight line and shoulder; masking couplers and the orange base they make; the Nutting/Poisson picture of a developed layer; C-41, E-6 and cross-processing; common 35 mm perforation dimensions. No stock's published curves or data were used: the five stocks are invented and described by their parameters, and no manufacturer's name or mark appears in the plugin or its edge print. The idea of a subtractive model done in densities comes from rosette.
Thermal printing
A line of resistive heaters against leuco-dye paper, history (heat) control in the firmware, strobing the head in blocks because the supply cannot fire every dot at once, and paper that fades with light and darkens with heat are the standard account of direct thermal printing, as thermal printhead makers describe their parts. Nothing was copied from any datasheet; the energy model, the budget law, the response curve and every constant here are this repo's own and are stated in source/Model.h as assumptions, not measurements.
Relay-switched video routers
Implemented from the textbook behaviour of an electromechanical relay (coil hysteresis, operate time, contact bounce decaying by a coefficient of restitution) and of a monitor's vertical and horizontal PLLs as second- and first-order loops, applied to a raster scanned in real time. No particular router, relay datasheet, monitor or captured output was used; the look is a model, not a characterisation of anybody's equipment.
Repoussé and chasing
Sheet metal worked from behind with punches and from the front with chasing tools, then lit. The two facts the model rests on, that the punch sets the finest detail and that metal is lit rather than shaded, are the craft's, not any one piece's. No code, assets or binaries from any source were used or examined.
Hybrid block-based video codecs
Block-matching motion estimation, closed-loop prediction from the reconstructed frame, a quantised 8x8 DCT residual and a GOP: the shape of every hybrid video codec since H.261. Nothing was ported from any codec's source; the implementation is written from the arithmetic.
Schlieren photography, and the people who photograph shock waves with it
August Toepler and those after him
Toepler's knife edge at the focus of a lens (1864), colour schlieren's filter in its place, the shadowgraph's screen, and background-oriented schlieren's distant backdrop (real ones use distant terrain; NASA has photographed supersonic shocks against the desert floor from above). Built from how the optics work; nothing is copied from anyone's software, images or design.
Scott Pilgrim vs. the World
Edgar Wright (2010)
The hand-drawn sound effects drawn into the air over a band: rings of sound off the amps, impact stars, lines that boil. Scrawl takes the idea and none of the artwork, lettering or footage, and has no connection with the film or its makers.
Hubble's and Webb's published pictures
The Pillars of Creation (NASA, ESA, Hubble Heritage Team, 2014; NASA, ESA, CSA, STScI, 2022), the Cosmic Cliffs (NASA, ESA, CSA, STScI, 2022) and the Horsehead (ESO, 2002, CC BY 4.0; NASA, ESA, Hubble Heritage Team, 2013): their outlines traced by eye, a few dozen points each, and the filter-to-colour keys published with each release. No image is shipped, sampled or embedded.
Continuously variable slope delta modulation
The one-bit coder with a syllabic step adapter and leaky integrators, as described in the open literature and in the data sheets of the classic CVSD codec parts (a 3- or 4-bit coincidence detector driving a syllabic filter, with integrator and syllabic time constants stated in samples). Built from the description; no manufacturer's design, coefficients or name is used, and the time constants here are chosen for a picture, not for speech.
The split-flap display, as a mechanism
A drum of printed flaps turned one way by a motor, hinged plates that fall and slap on to a stop: the public mechanism of every departures board since the 1950s, and all that was taken. No manufacturer's flap artwork, typeface, colour, dimensions or sound was used or measured; the fall is the textbook rigid plate about an edge, the palettes are authored here, the font is graticule's, and the plugin makes no sound because FFGL has no audio output. No maker is named or depicted on screen.
Field-store television standards converters
The 625-line/50-field and 525-line/59.94-field standards, with 576 and 480 active lines, top field first, and field-store conversion by temporal and vertical interpolation as the digital converters of the 1970s and 80s did it; block matching by sum of absolute differences for the crude motion compensation. Built from broadcast engineering; no manufacturer's design, coefficients or name is used.
Stencil cutting and spray painting
Bridges (the strips a stencil cutter leaves so that the counter of an O does not fall out), multi-layer stencils sprayed light to dark, overspray under a lifted edge and drips are the street artist's and the sign-writer's craft. Implemented from that description; no artist's work or stencil software was used.
Teletext, and the people who drew pictures in it
Built from the published standard and from the folk knowledge of teletext artists: the serial attributes that cost a cell, Hold Mosaics as the way round them, the black column at every colour boundary, separated mosaics, and a page that arrives a few rows a field. No broadcaster's service name, page or artwork appears in the plugin or its header row; "TELETEXT" is the medium's own name.
Xerographic imaging
The photo-induced discharge curve, the fringe-field (edge effect) account of why wide solids develop hollow and thin lines full, the developer electrode as the remedy, and toner starvation along the process direction are the standard account of electrophotography as given in the textbooks (Schaffert, Electrophotography; Pai and Springett, "Physics of electrophotography", Rev. Mod. Phys. 65, 1993). Nothing was copied from them; the strip-over-a-ground-plane field is the image-charge result from any electrostatics text, and its Cauchy kernel form and the separable approximation here are this repo's.
CNC pocketing and mathematical morphology
Morphological opening by a disc and contour-parallel (offset) pocketing are textbook mathematical morphology and CAM. Implemented from that description; no CAM package's code or toolpaths were used.
A guitar through an overdriven valve amplifier
The chain is a guitar amplifier's: common-cathode preamp stages with a tone stack's loss between them, a phase inverter, and a single-ended or push-pull output stage, biased the way a tech biases one (70 % of rated dissipation). The circuit values are typical ones, not any one amplifier's; nothing is copied from anyone's schematic or source.
The channel vocoder
Homer Dudley
Homer Dudley's channel vocoder (1939) is what the Laplacian pyramid stands in for. A published method, implemented here from the description; nothing was copied from anyone's source.
The wet collodion process
Built from what the process is rather than from anyone's implementation: a silver halide plate sensitive to blue and ultraviolet, exposed for seconds while wet; hand-poured collodion that drains toward one corner (the thin-film drainage law is Jeffreys', 1930, thickness growing as the square root of the distance drained past); the tintype and ambrotype as thin negatives viewed by reflection over black; the characteristic (H&D) curve with its toe, straight line and shoulder. The idea of a photochemical process done as a process is rebate's.
Single-chip DLP projection
A colour wheel of filter segments in front of a digital micromirror device that holds each frame and forms grey from binary-weighted bit planes, and the colour breakup a moving eye sees through it, as described in the display engineering literature and Texas Instruments' published DLP material. Nothing is taken from any projector's firmware or any vendor's code; the retina model, the normalisation and the checks are this repository's own.
Analogue vision-mixer wipe generators
Implemented from the published description of how analogue wipe generators worked: ramps and parabolas at line and field rate, combined by addition or non-additive mix, compared against a fader-derived level, with softness as comparator gain, a border as a second comparator and modulation as an added sine. The matrix wipe's cell order is this repo's own (a Feistel permutation), not any vendor's ROM. No schematic, firmware or captured output was used; the look is a model, not a characterisation of anybody's desk.
The zoetrope, the phenakistiscope and the strobe-lit zoetrope
William George Horner, Joseph Plateau, and those after them
Horner's daedaleum (1834), the drum with slits that became the zoetrope, which the Drum view is; Plateau's phenakistiscope (1832), a disc of figures seen through slits, whose disc the Disc view keeps while trading the slits for a strobe; and the strobe-lit sculptural zoetropes of more recent years, Gregory Barsamian's and the one Pixar built in 2005, which spin a ring of figures under a strobe so they stand still and move. Built from how the things work; nothing is copied from anyone's software, images or design.
Langton's ant
Christopher Langton's ant (1986), and Greg Turk's and Jim Propp's generalisation to many colours. Implemented from the rule's definition; nothing is copied from anyone's source.
Jumps to hyperspace and warp in the films, and a television wormhole
The stretching stars of a jump to lightspeed, the rubber band and flash of a warp jump, and a wormhole a British comedy's model unit made from whipped-up cloud footage. Built from a camera and a shutter; nothing is copied from anyone's footage, software or design.
VFX History: Slit Scan
ShiveringCactus
The video the plugin was asked for from: strip photography and the phone filter, Trumbull's Stargate, Bernard Lodge's shaped-slit tunnel, Dykstra's pinholes, Knoll's warp stretch and warp stars, and a rotated-square tunnel rebuilt in After Effects. The four modes follow its account of how each was shot.
The slit-scan rigs of Douglas Trumbull, Bernard Lodge and John Knoll
Trumbull's slit-scan machine for the Stargate sequence of 2001: A Space Odyssey (1968), Lodge's shaped slits for the Doctor Who title sequences of the 1970s, and Knoll's warp-stretch effect for Star Trek: The Next Generation. Built from how the rigs worked (a slit, a dolly, artwork sliding behind it, the shutter open throughout); nothing is copied from anyone's footage, software or design.
Strip photography
The slit at the film: the photo-finish camera, the focal-plane shutter, the rolling shutter, and the phone filter that drags a line down the screen. Implemented from the geometry; no code is used.
I Made a Pen Plotter to Draw Maps of the Moon
Sebastian Lague (2026)
The idea: a heightmap of the Moon, Mars or Earth drawn as contours, level by level, from the lowest ground up. No code, data or imagery of his is used; his contours are marching squares on the CPU for a pen, these are a distance field on the GPU for a screen.
The opening titles of The X-Files (1993)
main title sequence by Castle/Bryant/Johnsen
The treatments this plugin recreates. No footage, music, logo, lettering or text from the sequence is used, and the plugin isn't affiliated with or endorsed by anyone who made it. Also read at Reflections on Film and Television (https://reflectionsonfilmandtelevision.blogspot.com/2014/06/outre-intro-x-files-1993-2002.html) and Fonts In Use (https://fontsinuse.com/uses/9064/the-x-files-main-title).
The freeze-frame scene transition of NCIS (2003–)
The Freeze group: a press freezes the frame with a flash and drains it to black and white. Not affiliated with or endorsed by anyone who made the show.
Project Blue Book (US Air Force, 1952–1969)
The name.
Holographic trading-card finishes
The holo window, the reverse holo, full-card foil, cold foil, etched and textured finishes, and the cosmos, cracked-ice, crosshatch and glitter patterns printed on trading cards. Built from how a foil is made (an embossed aluminium grating under the ink) and how it catches a lamp; no card art, scan, brand or name is used.
Mark Ferrari's colour-cycling art
Ferrari's Deluxe Paint scenes, where water runs, rain falls and fire flickers while not one pixel changes, only the colour registers. This is the reason the plugin keeps the index and the colour apart. No artwork of his is used.
The palette DAC
VGA's RAMDAC, the Amiga's colour registers and every indexed display's colour lookup table: the hardware that made a palette swap a write of a few bytes. The plugin is named after it, and its DAC control rounds the table to those grids.
Real lenses' bokeh and flare
Cat's-eye bokeh towards the corners, the soap-bubble rims of over-corrected lenses, the onion rings of aspheric elements, swirl, anamorphic ovals and streaks, a mirror lens's ring, shaped-aperture cut-outs, and ghosts on the line through the light and the centre. The ghost table's places and colours are set by eye from photographs of real flares; nothing was taken from any other bokeh or flare implementation.
Standards and published specifications
Not attribution so much as provenance: what these implementations are measured against, and why a reading from one of them should agree with your other kit.
- 5-wire
- The Heaviside cable equation — The step response of a conductor whose attenuation goes as the square root of frequency is erfc(α / 2√t): the nineteenth-century result that made long-distance telegraphy work, and the single equation this plugin is built on. Standard transmission-line theory; nothing in the repo is derived from anyone else's code.
- Published cable attenuation specifications — The published dB/100 m figures for the cable each type stands for, converted to the square-root constant that produced them.
- Transmission-line reflection coefficient — Γ = (Z − Z₀)/(Z + Z₀) against the 75 Ω the line was built for, with a ghost being the product of the coefficients at both ends.
- LEQtion
- IEC 61672 sound level meter specification — Weightings, time constants and the LEQ integration the meter implements.
- ITU-R BS.1770-5 — Programme loudness: the K-weighting, the gating behind integrated loudness, and the true-peak meter, whose Annex 2 interpolating filter is used as published.
- EBU R 128 and EBU Tech 3341 — How the loudness meter behaves: momentary and short-term windows and their maxima. Its tests rebuild the conformance cases from their descriptions.
- EBU Tech 3342 — Loudness range, and the four cases it is tested against.
- ahm-control
- RBJ Audio EQ Cookbook — The biquad forms src/dsp/biquad.ts evaluates on the unit circle to draw the EQ curve. They model the app's own filters, not the AHM's, whose topology and Q convention are not published.
- atem-scopes
- ITU-R BT.601, BT.709 and BT.2020 — Colourimetry and studio-range anchors for the scopes.
- Atrac
- Princen and Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation" (IEEE Trans. ASSP, 1986); Malvar, Signal Processing with Lapped Transforms (1992) — The modulated lapped transform, its orthonormal scaling and the window condition w² + w²_mirror = 1 that the transform's reconstruction rests on.
- The ATRAC1 scale-factor law, 2^((i − 15)/3) for i = 0..63, and the word-length law 0, 2..16 bits — As documented in the open-source ATRAC decoders' descriptions of the format (FFmpeg's libavcodec, atracdenc). The formula is used; no table or code was copied.
- ITU-R BT.601 — The luma and colour-difference weights the picture is coded in.
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms — The standard gamma-n rounding-error bounds the harness's float tolerances are derived from.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness uses for its noise, written out rather than copied from anyone's source.
- automitti
- OSC 1.0 — server/lib/osc.js implements the subset Mitti and Companion use (messages and bundles, argument types i f s b T F N) with no library, so the feedback relay can keep each raw packet and re-send it byte for byte.
- AWJ Surface
- Mackie Control (MCU) — The de-facto map every DAW implements. Never formally published by Mackie; the numbers were confirmed against a real surface's behaviour and against other open implementations.
- Akai APC40 — From Akai's published communications documentation.
- JLCooper MIDIcon 2 / Pro — From JLCooper's published documentation.
- Bassalt
- Darcy flow in a Hele-Shaw cell — The flow, and the translation speed of a circular inclusion (the 2-D depolarisation result), derived in AGENTS.md. Like the rest of the method, textbook physics and numerics described in books and papers rather than copied from anyone's source.
- Saffman & Taylor, Proc. R. Soc. A 245, 312 (1958) — Rayleigh-Taylor instability in a Hele-Shaw cell with surface tension and finite layers, with the standard linear analysis.
- Cahn & Hilliard, J. Chem. Phys. 28, 258 (1958); Jacqmin, J. Comput. Phys. 155, 96 (1999) — The Cahn-Hilliard equation, and its Korteweg force in potential form.
- van Leer, J. Comput. Phys. 32, 101 (1979) — MUSCL with van Leer's limiter.
- Trottenberg, Oosterlee & Schuller, Multigrid (2001); Alcouffe, Brandt, Dendy & Painter, SIAM J. Sci. Stat. Comput. 2, 430 (1981) — Multigrid: red-black Gauss-Seidel and local Fourier analysis, and operator-dependent interpolation.
- Higham, Accuracy and Stability of Numerical Algorithms, section 2.8 — Rounding error as a random walk.
- The CRC Handbook's tables — Brine densities and water's thermal expansion. Paraffin's expansion comes from the melt range quoted in AGENTS.md.
- bdcam
- ISO/IEC 13818-1 — mpegts.go is a minimal MPEG-TS muxer for one H.264 elementary stream, written to the standard because the PLAY has no muxer and SRT receivers expect MPEG-TS. The layout notes on each field are there so the next person need not re-derive them from the spec.
- H.264 Annex B byte stream — annexb.go recovers access units from the encoder's Annex-B stream, splitting on access unit delimiters (NAL type 9) and recognising keyframes by IDR slices (type 5).
- BirdDog PLAY Flasher
- The ext2 on-disk format, as described in the ext2 documentation and in e2fsprogs — What public/ext2.js implements.
- BlackMatrix
- Blackmagic Videohub Ethernet Protocol v2.3, from Videohub Developer Information (Blackmagic Design, May 2018) — Implemented from the published specification. Blackmagic Design, ATEM and Videohub are trademarks of Blackmagic Design Pty. Ltd.; this project is not affiliated with or endorsed by Blackmagic Design.
- Boreal
- S. Knight, "Parallel electric fields", Planet. Space Sci. 21, 741 (1973) — The current-voltage relation that sets the electrons' energy from the sheet's field-aligned current.
- X. Fang et al., J. Geophys. Res. 113, A09311 (2008) and Geophys. Res. Lett. 37, L22106 (2010) — The ionisation-rate parameterisations; both papers' coefficient tables are transcribed into Emission.cpp.
- NRLMSIS 2.1 (Emmert et al., Earth and Space Science 8, 2021), via pymsis 0.13.0 — Evaluated once offline by tools/bake_atmosphere.py; the result is the table in source/physics/AtmosphereTable.cpp. Neither the model nor the wrapper ships.
- NIST Atomic Spectra Database, and the rate coefficients as NCAR GLOW uses them — Einstein A coefficients for the O I lines; quenching and energy-transfer rates and yields read from GLOW's gchem.f90 with their original attributions. Numbers only; no code is taken.
- CIE 1931 colour-matching functions, CIE 1951 scotopic efficiency (CVRL tables) and CIE 191:2010 mesopic photometry — Line chromaticities baked by tools/bake_colour.py; the Eye observer follows CIE 191.
- Hansen & Travis (1974), Kasten & Young (1989) and van Rhijn (1921) — Rayleigh optical depth, relative airmass and the airglow's brightening toward the horizon.
- Clamp
- ITU-R BT.470-6 and BT.1700; SMPTE 170M — The 625-line/50-field and 525-line/59.94-field timing: line periods, porch and sync durations, active lines and field rates.
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms — The standard gamma-n rounding-error bounds the harness's float tolerances are derived from.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness uses for its noise frames, written out rather than copied from anyone's source.
- Colourunder
- ITU-R BT.470-6, BT.1700; SMPTE 170M — the 625/50 and 525/59.94 rasters, their line numbering and pre-equalising intervals.
- ITU-R BT.601 — the Y' weights, and the U and V scalings used for both standards.
- IEC 774-1 (VHS) — through vhs-decode and the patents above; not read directly.
- PCG (M. E. O'Neill, Harvey Mudd College, 2014) — the pcg_hash output mix used for the noise, the dropouts and the tracking drift, written out rather than copied from anyone's source.
- Containment
- M. Brio and C. C. Wu, J. Comput. Phys. 75, 400 (1988); G. Toth, J. Comput. Phys. 161, 605 (2000); B. Einfeldt et al., J. Comput. Phys. 92, 273 (1991) — The Brio-Wu shock tube, the circularly polarised Alfven wave and the 1-2-3 problem the harness checks against; the exact Euler Riemann solver in the harness is Toro's, chapter 4.
- S. Chandrasekhar, Hydrodynamic and Hydromagnetic Stability, ch. X — The magnetic Rayleigh-Taylor growth rate the harness measures the fingers against.
- Bremsstrahlung emissivity of an optically thin plasma — The light: rho^2 sqrt(T) times the plasma's colour.
- Contour
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness uses for its noise, written out rather than copied from anyone's source.
- Contourtonist
- ISO 226 equal-loudness contours — The contours the plugin tracks.
- IEC 61672 frequency weightings — A- and C-weighting, implemented with matched-Z rather than bilinear so the high-frequency response stays inside tolerance.
- Conway
- B/S rule notation and Generations' C — a Life-like rule as the neighbour counts that give birth (B) and survival (S), with Generations rules adding C, the number of states, so a dying cell is refractory for C - 2 generations. The plugin parses each rule from this notation.
- Run-length encoded (RLE) patterns — b for a dead cell, o for a live one, $ for the end of a row, a count in front, ! at the end: the Life community's file format for patterns.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every soup, Noise, Feed and the audio patches, compared with integer thresholds on the GPU and in the harness.
- Cosplay
- ISO 9613-1 — Pure-tone air absorption at 101.325 kPa, applied at the project's temperature and humidity in Cosplay's own direct-sound prediction.
- Crumple
- Bowyer–Watson algorithm — Delaunay triangulation. Like the rest of the method, described in books and papers and not copied from anyone's source.
- Föppl–von Kármán in-plane strain of thin plates — ε = sym∇u + ½∇h⊗∇h, here minimised in least squares per Fourier mode.
- Lambert diffuse and Blinn–Phong specular shading — The surface shading; heightfield shadows are found by marching.
- Databend
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms — The rounding-error terms in the harness's tolerances.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness's noise pictures use, written out rather than copied from anyone's source.
- Downlink
- ITU-R F.405-1, pre-emphasis characteristics for FM radio-relay systems for television ("CCIR 405") — The 625-line curve 10 log[(1 + 10.21 f^2)/(1 + 0.4083 f^2)] - 11 dB and its tolerance are its Table 1 and recommends 4. Both networks in source/Link.cpp are matched-z versions of it, and dltest --emphasis checks them against its curve and tolerance.
- S. O. Rice, "Noise in FM receivers", in Time Series Analysis, M. Rosenblatt (ed.), Wiley, 1963; and Taub & Schilling, Principles of Communication Systems — The click rate r erfc(sqrt(rho)) and its modulation term, and the method behind dltest's exact rates: the rate at which a Gaussian phasor crosses the negative real axis, each way. The threshold is the textbook's definition; the click noise is summed by Campbell's theorem.
- The Rician phase distribution (Proakis, Digital Communications; Middleton) — The density of the phase of a constant plus circular Gaussian noise, in closed form; dltest integrates it to get the sampled discriminator's exact slip rate.
- PAL and ITU-R BT.601 — The PAL-I subcarrier, 283.7516 cycles a line, and the BT.601 Y, U, V weights, as used by old-cathode.
- Escapement
- Sierpinski gasket, Koch curve and Heighway dragon — Standard similarity systems, the dragon as the two-map system at 1/√2. Used as published, and checkable line by line against source/Taps.cpp.
- Michael Barnsley, Fractals Everywhere (1988) — The Barnsley fern. The four maps are reproduced exactly, including the singular first map that draws the stem.
- John E. Hutchinson, "Fractals and self similarity", Indiana University Mathematics Journal 30 (1981) — The Hutchinson operator. The loop is a hardware realisation of it; Taps.h says where the inverse comes in.
- The Misiurewicz point of the deep-zoom literature — The Mandelbrot deep-zoom point is the Misiurewicz point commonly used in the deep-zoom literature.
- Fax
- ITU-T Recommendation T.4 (07/2003), "Standardization of Group 3 facsimile terminals for document transmission" — 1728 pels along 215 mm; 3.85, 7.7 and 15.4 lines/mm; the Modified Huffman terminating and make-up codes (Tables 2, 3a and 3b), transcribed by hand; the two-dimensional pass, horizontal and vertical modes (Table 4) and their coding procedure; EOL, the MR tag bit, fill, the minimum scan-line time and RTC; and the parameter K (4.2.1.1: 2 at standard, 4 at 200 and 8 at 400 lines/25.4 mm, which the note to Table 2 makes 7.7 and 15.4 lines/mm).
- ITU-T Recommendation T.6, "Facsimile coding schemes and coding control functions for Group 4 facsimile apparatus" — The all-two-dimensional stream fxtest --export writes for the independent decoder; its 2-D coding is T.4's.
- ITU-T Recommendation T.30 — The negotiated minimum scan-line times (0, 5, 10, 20, 40 ms), of which this uses 10.
- ITU-R BT.709 — The luma coefficients 0.2126, 0.7152, 0.0722 the scan thresholds.
- B. E. Bayer, "An optimum method for two-level rendition of continuous-tone pictures" (IEEE ICC, 1973) — The 8 x 8 ordered-dither matrix of the Halftone mode.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix behind the line's bit errors, written out rather than copied from anyone's source.
- Ferrofluid
- CODATA 2018 — μ0 = 1.25663706212e-6 H/m and standard gravity 9.80665 m/s², in source/Fluid.h.
- The Fresnel equations for an absorbing medium — The unpolarised reflectance of N = n + ik at any incidence, exact, in Reflectance() in source/Fluid.cpp and the render pass; fetest --fresnel checks the picture against it.
- Helmholtz coils — The uniform field (4/5)^(3/2) NI/R of the Uniform magnet, in source/Coil.cpp.
- Gauss–Legendre quadrature — The solenoid's winding integrated over its length, 32 points, in source/Coil.cpp.
- IEC 61966-2-1 (sRGB) — toLinear() and toCode() in source/Shaders.cpp: the clip is linearised so the mirror reflects light, then encoded again.
- Fiche
- Paul M. Fitts, "The information capacity of the human motor system in controlling the amplitude of movement" (1954) — in Shannon's form (MacKenzie 1992): every pan's duration, a + b log2( D / W + 1 ).
- Tamar Flash and Neville Hogan, "The coordination of arm movements" (1985) — the minimum-jerk profile of every submovement, and its 1.875 D / T peak.
- Christopher M. Harris and Daniel M. Wolpert, "Signal-dependent noise determines motor planning" (1998) — endpoint scatter proportional to the distance moved.
- Digby Elliott, Werner F. Helsen and Romeo Chua, "A century later: Woodworth's (1899) two-component model of goal-directed aiming" (2001) — primary submovements that undershoot, and the corrections after them.
- Chris Wyman, Peter-Pike Sloan and Peter Shirley, "Simple Analytic Approximations to the CIE XYZ Color Matching Functions" (2013) — the observer the lamp's black body is seen through.
- IEC 61966-2-1 (sRGB) — the transfer the clip is linearised by and the screen encoded with.
- J. M. Hammersley (1960) and H. Vogel (1979) — the taps: a Hammersley set across time and a Vogel spiral across the aperture.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every seeded draw, on the GPU and in the hand.
- Filament
- Planck's law — with the 2019 SI exact values of h, c and k: the light of each filament at its temperature, treated as a black body.
- IEC 61966-2-1:1999 — the sRGB primaries and white (the XYZ-to-linear-sRGB matrix) and the transfer function.
- CIE 15:2004 / 015:2018 — Illuminant A as a Planckian radiator at 2856 K, the colour table's luminance reference.
- McCamy, Color Research & Application 17(2), 1992 — the cubic the harness recovers a correlated colour temperature with, as an external check on the colour.
- Flipdot
- ITU-R BT.709 — the luma weights (0.2126, 0.7152, 0.0722) each disc's mean is read from the clip with.
- Flyback
- Hertha Ayrton, The Electric Arc (1902) — The form of the arc-voltage equation behind the Jacob's ladder's extinction length; the low-current constants are this repository's own (AGENTS.md).
- F. W. Peek, Dielectric Phenomena in High Voltage Engineering (1929), and W. R. Smythe, Static and Dynamic Electricity — Corona and breakdown fields at a sphere; the two-sphere field by Kelvin's method of images.
- Wyman, Sloan & Shirley, "Simple Analytic Approximations to the CIE XYZ Color Matching Functions", JCGT 2(2), 2013 — The CIE 1931 observer as analytic lobes; spectral lines from the NIST Atomic Spectra Database, weights approximate.
- Melissa E. O'Neill, PCG (2014), and Abramowitz & Stegun 7.1.26 — The random numbers behind the quenched disorder, and the normal CDF.
- galvo
- T. Y. Zhang and C. Y. Suen, "A fast parallel algorithm for thinning digital patterns", CACM 27(3), 1984 — Zhang-Suen thinning, which reduces the thresholded edge band to a one-pixel skeleton so a contour walk does not wander across it. Implemented from the published description; nothing was copied.
- Ramer–Douglas–Peucker: Urs Ramer (1972); David Douglas and Thomas Peucker (1973) — The simplification that turns a traced staircase back into the few vertices a scanner should actually be sent to. Implemented from the published description; nothing was copied.
- The second-order galvanometer model — The standard damped-oscillator step response found in any controls textbook. The mapping from a scanner's kpps rating to a natural frequency is this repo's own, and it is stated in source/Controls.h so it can be argued with.
- Gate
- IEC 61966-2-1:1999 — the sRGB primaries, white and transfer function.
- CIE 1931 2-degree standard observer — through Wyman, Sloan and Shirley's fit: the lamps' colours.
- Planck's law — with the 2019 SI exact second radiation constant: the lamps as black bodies.
- Gauge
- SMPTE 139 / ISO 491, 35 mm film perforations — the KS hole, its pitch and its edge distance; the frame line midway between two holes.
- The 35 mm apertures, and SMPTE 40 (the photographic sound record on a release print) — the Academy, anamorphic and full camera apertures and the projection width, and where the analogue track sits.
- ISO 69 / SMPTE 109, 16 mm film — the hole, its pitch and edge distance; the frame line through the hole; the camera aperture.
- SMPTE 149 and 157, Super 8 — the hole, its pitch and edge distance, and the camera aperture.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — the pcg_hash output mix behind the data tracks' bits, written out rather than copied from anyone's source.
- Genlock
- PAL colour television (ITU-R BT.470) — The 4.43361875 MHz subcarrier and ten-cycle colour burst: the Amiga's PAL lores pixel clock (7.09379 MHz, 1.6 times the subcarrier) sets the crawl rate, and the burst's 16-lores-pixel length sets the Crawl Wrap ceiling.
- ITU-R BT.709 — Luma coefficients for the Luma key source.
- Graticule
- SMPTE RP 219 — The colour bar layout, ported from Test Card, with its geometry and code values pinned by Test Card's measurement of FFmpeg's smptehdbars.
- ITU-R BT.709 — The Rec. 709 colour maths, ported from Test Card.
- Handleman
- IEC 61966-2-1:1999 — the sRGB primaries, white and transfer function.
- ITU-R BT.709 — the luminance weights the panchromatic stock uses.
- Planck's law — the daylight (6504 K) the orthochromatic weights are computed under.
- Honeydew
- Beer–Lambert law, the CIE 1931 colorimetric system and sRGB — transmittance T(λ) = 10^(−Σ εi(λ)ci ℓ), integrated against the CIE 1931 2° observer (the 1 nm data as distributed with Wyman, Sloan and Shirley, JCGT 2(2) 2013, from the RIT Munsell Color Science Laboratory's CIE tables) and the D65 illuminant (CIE 15:2004 Table T.1), taken to sRGB (IEC 61966-2-1). tools/bake_cie.py resamples the tables into source/CieTables.h; hdtest --beer holds the pixels to a double-precision integral of the same.
- ROS2, a second-order L-stable Rosenbrock method — the per-texel stiff step for the Oregonator and the Lengyel–Epstein model (γ = 1 + 1/√2); the harness's reference integrator is the same scheme in double at a smaller step, checked by Richardson extrapolation.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind the seed noise, the pacemakers, the drop positions and the audio patches.
- Instant
- CODATA 2018 — the molar gas constant, 8.314462618 J / (mol K).
- PCG (M. E. O'Neill, Harvey Mudd College, 2014) — the pcg_hash output mix used for the spread's lanes, the roller's dirt and the paper texture, written out rather than copied from anyone's source.
- IEC 61966-2-1:1999 — the sRGB transfer function, both ways.
- ITU-R BT.709 — the luminance weights the black-and-white stock and the meter use.
- Jacquard
- IEC 61966-2-1 (sRGB) — the transfer function both ways: cell means are taken in linear light, and costs are measured on the encoding.
- ITU-R BT.709 — the luma coefficients 0.2126, 0.7152, 0.0722 that order the shuttles on a cold start.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — the pcg_hash output mix behind the harness's random pictures and the scramble perturbation, written out rather than copied from anyone's source.
- Knockout
- CSS Fonts Module Level 4, §5.2 (font matching) — Choosing a face: the family, then the style, then the nearest weight, looking down before up at 500 and below 400 and up first above 500, as source/Fonts.cpp does it. kotest --fonts checks every case.
- OpenType and TrueType font files — The scan reads each face's name, OS/2 and head tables; outlines are filled by the non-zero winding rule the formats specify, which the glyph shader works out per pixel (kotest --winding, with even-odd as the negative control).
- LivePremier Plus
- Mackie Control (MCU), Akai APC40, JLCooper MIDIcon — Controller profiles describe these publicly documented surfaces by their message numbers. No manufacturer firmware or software is included.
- Lowband
- ITU-R BT.470-6, BT.1700; SMPTE 170M — the 625/50 and 525/59.94 rasters.
- ITU-R BT.601 — the 13.5 MHz sampling, the Y' weights, and the U and V scalings used for both standards.
- IEC 60843 (8 mm video) — through the sources above; not read directly.
- The OpenGL Shading Language 4.10, s4.7.1 — the 2.5 ulp a division may cost, which lbtest --display allows for.
- PCG (M. E. O'Neill, Harvey Mudd College, 2014) — the pcg_hash output mix used for the noise and the dropouts, written out rather than copied from anyone's source.
- Millpond
- Lamb, Hydrodynamics — Linear water waves with gravity, surface tension and finite depth, and Lamb's viscous damping rate 2νk². Like the rest of the method, textbook physics described in books and papers and implemented from them rather than copied from anyone's source.
- The Cauchy–Poisson initial-value problem — mptest evaluates it exactly as a Hankel integral to check the rings against, with the Airy structure at the minimum group velocity. J0 in the harness is its power series and Hankel's asymptotic expansion, written out from the definitions and checked against SciPy (5e-13 and 3e-11).
- The method of images — The rectangular basin with reflecting walls.
- Snell's law and the unpolarised Fresnel equations — The refraction of the view ray and the sun at the surface, and the reflection off it; mptest --refraction and --fresnel check both.
- L. Bocquet, "The physics of stone skipping", Am. J. Phys. 71, 150 (2003), doi:10.1119/1.1519232 — The equal-energy-per-bounce model of a skimmed stone.
- Needle
- ANSI C16.5 (IEC 60268-17) standard volume indicator — The VU: 99 % of a step to 0 VU in 300 ms and an overshoot of 1.0–1.5 %. Those two figures determine the movement's damping ratio and natural frequency, which are solved in code rather than chosen.
- IEC 60268-10 type II peak programme meter — The BBC PPM: a fall-back of 20 dB in 2.8 s, and a 5 ms tone burst reading 2 dB below the same tone held. Both are one-pole time constants the detector is solved from.
- LM3915 dot/bar display driver — Texas Instruments (originally National Semiconductor). Its internal divider chain is a 3 dB per step logarithmic ladder over ten steps, which is what the bargraph implements.
- 6U5 / EM84 tuning indicator — The 100-degree shadow angle with no signal on the grid — the one published figure about a magic eye. Everything else about the eye (the level-to-angle map, the warm-up, the persistence, the wear) is this repo's own model.
- EDID Editor
- VESA E-EDID, DisplayID 1.3 and 2.0, CVT, GTF and DMT — Implemented by the editor. The project is not affiliated with or endorsed by VESA and does not redistribute any part of the specifications.
- CTA-861 — Implemented by the editor. The project is not affiliated with or endorsed by CTA and does not redistribute any part of the specification.
- Patchwork
- HUB75 LED module interface — the common LED panel interface: row address lines (A to E) select one row of each scan group through a decoder while shift-register driver chips clock in the column data. A stuck address line is the plugin's zebra mechanism, a dead row driver its pinstripes, a broken data chain its lost colour.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every seeded fault and random process, compared with integer thresholds on the GPU and in the harness.
- Pitch
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix used to seed the cabinet faults, written out from the paper rather than copied from anyone's source.
- Plotter
- Trapezoidal velocity planning with backward-then-forward junction passes — The shape every open motion controller uses (GRBL, Marlin, LinuxCNC's trajectory planner), implemented from the description: a block takes L/v + v/a when it reaches cruise and 2√(L/a) when it does not; the junction speed falls linearly with the turn to zero at Corner Angle.
- The Beer-Lambert law — Ink as absorbance: transmission is exp(-absorbance) per channel, so a red pen absorbs green and blue and two strokes crossing are darker than either.
- Plumbicon
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The integer output permutation used for the noise hash, implemented from the paper. Chosen over fract(sin(x)) because a trigonometric hash depends on the driver's sin.
- ITU-R BT.709 — The luma coefficients that drive the burn accumulator and Monochrome.
- Radar
- The radar range equation and sensitivity time control — a point target's return falls as 1/R^4; STC is a receiver gain rising with delay (an R^4 law equalises point targets). Checked 2026-09-25 against the Wikipedia article on sensitivity time control and Cambridge Pixel's note on STC; the textbook itself (Skolnik, Introduction to Radar Systems) was not re-read. Area clutter going as R^-3 and volume clutter (rain) as R^-2 follow from the resolution cell's area (R x beamwidth x c tau / 2) and volume.
- Range resolution c tau / 2 — the echo of a pulse tau long occupies c tau / 2 in range, 150 m per microsecond.
- Antenna patterns — the uniform aperture's sinc^2 one-way power pattern, the Gaussian beam, and the two-way pattern as their square: a Gaussian's two-way half-power width is its one-way width over the square root of 2.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every speckle, the land and the traffic.
- W. J. Cody and W. Waite, Software Manual for the Elementary Functions (1980) — the two-part pi in the shaders' range reduction.
- Rebate
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix used for the grain, written out rather than copied from anyone's source.
- Receipt
- ITU-R BT.601 — the luma weights (0.299, 0.587, 0.114) the tone is read from the clip with.
- Repousse
- P. B. Johnson and R. W. Christy, "Optical constants of the noble metals", Phys. Rev. B 6, 4370 (1972), and "Optical constants of transition metals: Ti, V, Cr, Mn, Fe, Co, Ni, and Pd", Phys. Rev. B 9, 5056 (1974); M. R. Querry, "Optical constants", Contractor Report CRDC-CR-85034 (1985) — The complex refractive indices of copper, silver and gold (1972), iron (1974, used for steel) and 70/30 brass (1985) from which the metal table's F0 is computed by tools/f0.py, as tabulated in the refractiveindex.info database (public domain, CC0 1.0): F0(λ) = ((n−1)² + k²)/((n+1)² + k²) integrated against the CIE 1931 2° colour-matching functions under illuminant D65 (both as published by CVRL, cvrl.org), taken to linear sRGB with the IEC 61966-2-1 matrix; gold's red, outside the sRGB gamut, is clamped to 1.
- Bruce Walter, Stephen R. Marschner, Hongsong Li and Kenneth E. Torrance, "Microfacet Models for Refraction through Rough Surfaces" (EGSR 2007) — The GGX normal distribution.
- Eric Heitz, "Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs" (JCGT 2014) — The height-correlated Smith visibility term, in the form V = 1 / ( 2 ( n·l √( n·v² ( 1 − α² ) + α² ) + n·v √( n·l² ( 1 − α² ) + α² ) ) ).
- Christophe Schlick, "An Inexpensive BRDF Model for Physically-based Rendering" (Computer Graphics Forum 1994) — The Fresnel approximation.
- The large-angle pendulum period series — T / T₀ = 1 + θ₀²/16 + 11θ₀⁴/3072 + 173θ₀⁶/737280, the expansion of the complete elliptic integral of the first kind, as in any mechanics text.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness uses for its noise, written out rather than copied from anyone's source.
- Residual
- H. Malvar and G. Sullivan, "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" (JVT-I014, 2003) — The reversible integer colour transform, as used by H.264's High 4:4:4 profile for lossless coding, implemented from the contribution.
- Rookery
- Open Sound Control 1.0 specification — The specification is public. The codec in crates/osc is an original implementation written against it; no OSC library is vendored or linked.
- roomkit-web
- Lumped Helmholtz resonator with end corrections — The trap model: f = c/2π · √(S / (V · L_eff)), with L_eff = L + 0.85r for the flanged outer end and 0.61r for the unflanged inner end. A textbook model; no design has been printed and acoustically measured yet.
- Schroeder's quadratic-residue diffuser — Well depths d = s · λ0 / 2N for s = n² mod N (1D) or (x² + y²) mod N (2D), N prime, effective from about the design frequency up to where a well is half a wavelength wide.
- Rosette
- PostScript halftone screens: spot functions and threshold arrays — The halftone screening is implemented from the published description of how screening works, with spot functions and threshold arrays as PostScript defines them. No vendor's screening algorithm, threshold array or ICC characterisation was used or consulted.
- The Murray–Davies relation — The relation between dot area and density.
- Beer–Lambert style multiplicative overprint — The multiplicative overprint every ink model rests on. The ink colours are the values the printing trade quotes rather than a measured characterisation of anyone's press.
- Schlieren
- The far field of a pulsating sphere (linear acoustics) — p( r, t ) = ( a / r ) P_a f( t - ( r - a ) / c ) for the 20 cm speaker in source/Acoustics.h and ShellAt(): every pulse keeps its shape and fades as 1/r, and every shape has zero net impulse. sztest --speed puts the front at a + c t and --spreading the projection's fall as R^-1/2.
- The Gladstone–Dale relation — n - 1 = K rho, K = 2.26e-4 m^3/kg for visible light (kGladstoneDale in source/Acoustics.h); for an adiabatic sound wave dn/dp = K / c^2, so the deflection is eps = ( K / c^2 ) grad P, taken in the composite pass in source/Shaders.cpp as a central difference over two pixels.
- The Abel transform — What the beam sees of a spherical shell, P( rho ) = integral p dz: worked out in closed form per segment of the shell's polyline in the abel pass in source/Shaders.cpp, into a table per pulse; sztest --abel checks it against ProjectedReference().
- Gauss–Legendre quadrature — ProjectedReference() in source/Acoustics.cpp, the harness's brute-force line of sight along z (16 points per piece), independent of the GPU's closed form.
- The method of images — Images() in source/Acoustics.cpp: the Floor and Box walls as mirror images of the speaker, to order 6, each weighted by Reflection to the power of its order, exact for rigid planes. sztest --walls checks a rigid floor mirrors the field bit for bit.
- The schlieren, shadowgraph and background-oriented schlieren relations — The composite pass in source/Shaders.cpp: the knife edge I / I0 = clamp( 1 + eps . k / eps_c, 0, 2 ); the colour wheel's hue from the deflection's direction; the shadowgraph's light landing at x + L eps with intensity 1 / |det J| (to first order I / I0 - 1 = -L div eps, which sztest --shadow checks); and the backdrop seen at x + L eps (--background).
- The ideal gas law and CODATA's molar gas constant — sztest --air derives c = sqrt( gamma R T / M ) and rho = p M / ( R T ) for dry air (M = 28.965 g/mol) at 20 °C and one atmosphere, and checks the speed of sound and density in source/Acoustics.h against them.
- Sound pressure level, re 20 µPa — Loudness is peak dB SPL at 1 m: PressureAtMetre() in source/Acoustics.cpp, which sztest --air checks at 140 dB = 200 Pa.
- IEC 61966-2-1 (sRGB) — toLinear() and toCode() in source/Shaders.cpp: the clip is linearised so the knife, the colour wheel and the shadowgraph multiply light, then encoded again.
- Sidereal
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every star, galaxy and turbulence cell, exact in 32 bits on every GPU.
- simpleVIS
- GDTF and MVR — The fixture and rig interchange formats read by the visualiser.
- Art-Net and sACN (ANSI E1.31) — The control protocols it listens on.
- Slope
- ITU-R BT.601 — The luma weights (0.299, 0.587, 0.114) and the colour-difference scaling (1.772, 1.402) the Luma and Y+C modes use.
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms — The rounding-error bounds the harness's running float tolerance is derived from.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the channel's bit errors and the harness's noise frames use, written out rather than copied from anyone's source.
- Slowscan
- J. L. Barber (N7CXI), "Proposal for SSTV Mode Specifications", Dayton SSTV forum, 2000 — The source of every timing constant in source/sstv/Modes.cpp: the Martin M1, Scottie S1 and Robot 36 line structures, their tones and VIS codes, and the VIS header's framing, each written out as a named constant.
- ITU-R BT.601 — The studio-range Y, R-Y, B-Y matrix Robot 36 carries its colour in.
- S. O. Rice, "Noise in FM receivers", in Time Series Analysis, M. Rosenblatt (ed.), Wiley, 1963; and Taub & Schilling, Principles of Communication Systems — sstest --threshold states the knee from Rice's click rate r erfc(sqrt(CNR)), and uses the textbook's definition of the threshold (the output noise 1 dB over the above-threshold formula).
- R. H. Clarke, "A statistical theory of mobile-radio reception", Bell System Technical Journal 47, 1968; W. C. Jakes, Microwave Mobile Communications, 1974 — The channel's flat fading is Clarke's model as a sum of sinusoids after Jakes: eight rays.
- SoundBench
- Angelo Farina, "Simultaneous measurement of impulse response and distortion with a swept-sine technique" (AES 108th Convention, 2000) — The log-sweep deconvolution the response, phase and THD-against-frequency measurements use: the harmonic distortion of order k lands L·ln(k) before the linear impulse response and is windowed out separately.
- AES17 — The 20 Hz–20 kHz band and the −1 dBFS level for THD+N.
- Hans-Helge Albrecht, "A family of cosine-sum windows for high-resolution measurements" (ICASSP 2001) — The seven-term window under the tone analysis, whose sidelobes sit below −180 dB.
- IEC 61672 — The A-weighting curve applied to the noise floor.
- C. H. Knapp and G. C. Carter, "The generalized correlation method for estimation of time delay" (IEEE Trans. ASSP, 1976) — The phase transform (GCC-PHAT) used to align the noise stimulus with its recording.
- Splitflap
- ITU-R BT.709 — The luma weights (0.2126, 0.7152, 0.0722) a cell's mean is read with when the drum is printed with tones or a message.
- Standards
- Robert G. Keys, "Cubic Convolution Interpolation for Digital Image Processing" (IEEE Trans. ASSP, 1981) — Cubic convolution with a = -1/2, i.e. Catmull-Rom, for the four-tap apertures; the Lanczos windowed sinc for eight.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix the harness uses for its noise frames, written out rather than copied from anyone's source.
- Stencil
- Guodong Rong and Tiow-Seng Tan, "Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform" (I3D 2006) — jump flooding and its 1+JFA variant, implemented from the paper.
- Pedro Felzenszwalb and Daniel Huttenlocher, "Distance Transforms of Sampled Functions" (Theory of Computing 8, 2012) — the exact Euclidean distance transform the harness measures the bridges against.
- Robert Tarjan, "Efficiency of a Good But Not Linear Set Union Algorithm" (JACM 22, 1975) — union-find with path halving, which labels the sheet.
- Teletext
- ETSI EN 300 706, "Enhanced Teletext specification" — The Level 1 spacing attributes and their set-at / set-after timing, the 2x3 mosaic character set and its bit layout, odd parity on character bytes and Hamming protection on the row address, and 24 rows of 40 characters with row 0 as the header. Implemented from the standard's description; no reference decoder's code was consulted.
- Mullard/Philips SAA5050 teletext character generator — The 6x10 dot character cell and the 2x3 block layout of 3x3, 3x4 and 3x3 dots. The separated-mode gutter (each block losing its left column and bottom line) follows jsbeeb's SAA5050 emulation (teletext.js, read for the geometry only) and Wikipedia's description; the datasheet figure itself was not consulted.
- ITU-R BT.709 — The luma coefficients 0.2126, 0.7152, 0.0722 behind the Luma Weighted error space.
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix used for the channel's bit errors, written out rather than copied from anyone's source.
- Test Card
- SMPTE RP 219 — Colour bar layout and colours.
- ITU-R BT.709 — Luma coefficients and the Y'CbCr to RGB conversion the patterns are defined in.
- Toner
- ITU-R BT.601 — The luma weights (0.299, 0.587, 0.114) the page is read from the source with.
- Toolpath
- Guodong Rong and Tiow-Seng Tan, "Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform" (I3D 2006) — Jump flooding and its 1+JFA and JFA+k variants, implemented from the paper.
- Pedro Felzenszwalb and Daniel Huttenlocher, "Distance Transforms of Sampled Functions" (Theory of Computing 8, 2012) — The exact Euclidean distance transform the harness checks the flood against.
- William Lorensen and Harvey Cline, "Marching Cubes" (SIGGRAPH 1987) — Marching squares, its two-dimensional case, with saddles resolved by the cell mean.
- David Douglas and Thomas Peucker, polyline simplification (The Canadian Cartographer 10, 1973) — Douglas-Peucker simplification of the traced passes.
- Valve
- ITU-R BT.601 / BT.470 Y'UV — the luma weights 0.299, 0.587, 0.114 and PAL's U and V scale factors 0.492111 and 0.877283, which split the picture into luma and a chroma subcarrier for the Y/C and Composite modes.
- Vocoder
- Burt and Adelson, "The Laplacian Pyramid as a Compact Image Code" (IEEE Transactions on Communications, 1983) — The 5-tap generating kernel, the reduce/expand pair and the exact-reconstruction recursion are as described there. Implemented from the description; nothing was copied from anyone's source.
- Wallslide
- ECMA-376 (Office Open XML), Parts 1 and 2 — The PresentationML part graph, the relationship types, ST_SlideSizeCoordinate's 914400–51206400 EMU range, and OPC's permission to store package members uncompressed.
- PKWARE APPNOTE 6.3.x — The ZIP structures, via test-card's writer.
- WCAG 2.1 — The relative-luminance and contrast-ratio formulae in colour.ts.
- Wetplate
- Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) — The pcg_hash output mix used for the pour edge and the defects, written out rather than copied from anyone's source.
- IEC 61966-2-1 — The sRGB transfer function, both ways.
- Zoetrope
- IEC 61966-2-1 (sRGB) — toLinear() and toCode() in source/Shaders.cpp: the clip is printed onto the cards in linear light, so every average after it (a print's area average, a smear, an exposure, an afterimage) adds light, then encoded again.
- Viscous and Coulomb friction — d omega / dt = -k omega - c for a bearing, solved in closed form in source/Disc.cpp: omega( t ) = ( omega0 + c / k ) e^( -k t ) - c / k, stopping at ln( 1 + k omega0 / c ) / k.
- Langton
- Turk and Propp's rule strings — one letter per colour, L or R: on colour c turn by letter c, advance the cell to colour c + 1 (mod n), step forward. Langton's ant is RL.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every soup, compared with integer thresholds in the plugin and the harness.
- Slipstream
- IEC 61966-2-1 (sRGB) — the clip's curve into and out of linear light, and the XYZ to linear sRGB matrix.
- CIE 1931 2-degree standard observer — the colour of every star, the disc and the corona.
- CIE 1960 UCS and ANSI C78.377 — where sliptest --planck measures distance from the Planckian locus, and how far is too far.
- Melissa E. O'Neill, PCG (2014) — the integer hash behind every star, cloud and the sky's cells, exact in 32 bits on every GPU.
- Slitscan
- The pinhole camera's perspective — a point at offset X from the axis, at distance D from the camera, images at f X / D. The slit's image at a = Gap · Depth / ρ in source/Shaders.cpp (rhoAt(), rowOf()) is this with D = ρ times the closest distance; sxtest --perspective solves the dolly's forward law by bisection and checks every corridor pixel against it.
- IEC 61966-2-1 (sRGB) — toLinear() and toCode() in source/Shaders.cpp: the clip is linearised so exposures add as light does, then encoded again.
- Bluebook
- IEC 61966-2-1 (sRGB) — toLinear() and toCode() in source/Shaders.cpp: the torch multiplies light, so it works in linear light and encodes again. bbtest --torch checks the room keeps 3 % of its light through both curves, the linear toe included.
- ITU-R BT.709 luma — luma() in source/Shaders.cpp (0.2126, 0.7152, 0.0722): the duotone's position, the Aura's Bright and Dark keys and the freeze's grey. bbtest --grade checks two colours of the same luma tint alike.
- The Gaussian blur of a step — the aura's glow is the subject's mask blurred by a Gaussian of Aura Size, so outside an edge it falls as erfc( x / ( sigma sqrt 2 ) ) / 2; bbtest --aura checks the fall from one sigma to two.
- The one-pole low-pass — Trail: y += ( x - y ) ( 1 - 0.5 ^ ( dt / half-life ) ); bbtest --trail checks a step's rise against 1 - 0.5 ^ ( t / half-life ).
- Holofoil
- CIE 1931 standard colorimetric observer — the colour matching functions every wavelength of the foil's light goes through on its way to XYZ, and from there to sRGB.
- IEC 61966-2-1 (sRGB) — the XYZ to linear sRGB matrix and the transfer function in source/Shaders.cpp: the clip is linearised so the foil's light adds to it as light does, then encoded again.
- ITU-R BT.709 luminance — the weights Bright Ink and Dark Ink key on, applied to linear light. hftest --luma checks it.
- Ramdac
- IEC 61966-2-1 (sRGB) — the transfer function the plugin linearises with before quantising and encodes with after; the dither's error is accumulated in linear light.
- ETSI ETS 300 706, "Enhanced Teletext specification" — the Teletext palette's eight colours, the corners of the RGB cube, in the order the spacing attributes number them.
- EA IFF 85 ILBM, the CRNG chunk (Deluxe Paint, 1985) — colour cycling: a range of registers rotated at a rate where 16384 is 60 steps a second, flag bit 1 clear cycling upwards. rmtest --cycle checks each step is a rotation; Ping-Pong is ramdac's, not CRNG's.
- Throw
- The inverse-square and cosine laws of illumination — irradiance from a point source is I cos θ / r². A projector built to light its design screen evenly has intensity ∝ 1/cos³α off its axis, so the light at a surface point relative to that screen is d²·cos θ/(r²·cos³α), exactly 1 on the flat screen. twtest --lambert checks every pixel of tilted planes against it in double.
- BS EN 771-1 (and BS 3921 before it) — the UK metric brick's work size, 215 × 102.5 × 65 mm, laid with 10 mm joints. The bonds (stretcher, English, Flemish, stack) are the traditional layouts built from it.
- The 3-inch corrugated profile — 76 mm pitch and 18 mm deep, as galvanised corrugated sheet is commonly sold. A trade profile, not checked against a standard.
- IEC 61966-2-1 (sRGB) — the clip is linearised so the light adds as light does, then encoded again; the albedos are linear sRGB.
- Hyacinth
- IEC 61966-2-1 (sRGB) — the transfer function in source/Shaders.cpp: the clip is linearised so defocused light spreads and adds as light does, then encoded again.
- ITU-R BT.709 luminance — the weights Depth From Luma reads the clip's brightness with. hytest --depth checks the guided filter returns them.
By project
Every project with something to declare, and what it declares. Each public repo carries the same list as its own ATTRIBUTIONS.md.
| Project | Built on | Also |
|---|---|---|
| (re)gauss | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| 5-wire | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The Heaviside cable equation, Published cable attenuation specifications, Transmission-line reflection coefficient |
| Abomerration | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Advanced Exporter for PowerPoint | pdf-lib, pdf.js, fflate, gifenc, mp4-muxer, webm-muxer, reveal.js, jSquash, Noto Sans, The npm ecosystem | — |
| Afterglow | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| ahm-control | React, The npm ecosystem | AHM TCP/IP Protocol V1.0, AHM System Manager 1.61 factory configs, Lake Controller and dbx DriveRack, RBJ Audio EQ Cookbook |
| Alleycat | Electron, React, The npm ecosystem | House scaffolding, Resolume Alley 7.27.1, Resolume Arena 7.27.1 REST API and its shipped OpenAPI spec |
| Amber | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, The Rust crate ecosystem | Ruffle, ffmpeg, DXV, Hap |
| animATEM | Electron, React, The npm ecosystem | — |
| Aquilon VPU Map | Tauri, The Rust crate ecosystem, The npm ecosystem | — |
| aquilon-pitch | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| ArrayCAD | Tauri, React, pdf.js, fflate, The Rust crate ecosystem, The npm ecosystem | @node-projects/acad-ts |
| Asciify | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Aspect Calc | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Astable | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Beam renderer, FFGL SDK workarounds, What A 555 Timer Looks Like On A CRT TV |
| Astronaught | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | BOSS RE-20 Space Echo, Owner's Manual (2007), BOSS RE-202 Space Echo, Reference Manual, Roland RE-201 Space Echo, Sibling projects: ferric and escapement |
| ATEM Fleet Admin | Tauri, Electron, React, fflate, The Rust crate ecosystem, The npm ecosystem | — |
| ATEM Overseer | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| atem-scopes | Electron, React, The npm ecosystem | ITU-R BT.601, BT.709 and BT.2020 |
| Atrac | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, Audio input, onset detection and priming, PassBuffer, ATRAC and MiniDisc, Princen and Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation" (IEEE Trans. ASSP, 1986); Malvar, Signal Processing with Lapped Transforms (1992), The ATRAC1 scale-factor law, 2^((i − 15)/3) for i = 0..63, and the word-length law 0, 2..16 bits, ITU-R BT.601, Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| automitti | Tauri, The Rust crate ecosystem, The npm ecosystem | HyperDeck protocol and deck link, Analog Way mnemonic protocol and its traps, Mitti, Bitfocus Companion module imimot-mitti 3.10.0, QLab, Blackmagic ATEM Switchers SDK 10.2.1, LibAtem and LibAtem.MockTests, sofie-atem-connection, pyAtemSim, openswitcher / pyatem, Dev1an/Atem-Simulator, Roland V-160HD Remote Control Guide (eng06), Roland LAN/RS-232 Basic Control Commands (eng02), Roland V-160HD Reference Manual (eng09), Bitfocus Companion module for the Roland V-160HD, companion-module-roland-v160hd, a production fork, roland-rs, streamdeck-roland-v160hd, Analog Way Midra 4K simulator 3.2.29, OSC 1.0 |
| Aux-opsy | Astro, The npm ecosystem | OpenX32, OpenWING, Project X-Ray and fasm2bels, Wireshark's ACN dissector, Bitfocus Companion MXCW module |
| av-launcher | Tauri, The Rust crate ecosystem, The npm ecosystem | — |
| av-test-roms | — | mGBA, QuickNES, NESdev Wiki, GBATEK, Pan Docs |
| AWJ Surface | The npm ecosystem | blackmagic-misc, node-blackmagic-controller, Analog Way AWJ Protocol Programmer's Guide, Mackie Control (MCU), Akai APC40, JLCooper MIDIcon 2 / Pro |
| Bassalt | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser, host-clock vote and harness, GL state guard, PassBuffer, Diag and CMake shape, Darcy flow in a Hele-Shaw cell, Saffman & Taylor, Proc. R. Soc. A 245, 312 (1958), Cahn & Hilliard, J. Chem. Phys. 28, 258 (1958); Jacqmin, J. Comput. Phys. 155, 96 (1999), van Leer, J. Comput. Phys. 32, 101 (1979), Trottenberg, Oosterlee & Schuller, Multigrid (2001); Alcouffe, Brandt, Dendy & Painter, SIAM J. Sci. Stat. Comput. 2, 430 (1981), Higham, Accuracy and Stability of Numerical Algorithms, section 2.8, The CRC Handbook's tables |
| bdcam | purego | gosrt, The PLAY's own GStreamer: tsdemux, h264parse and mppvideodec, ISO/IEC 13818-1, H.264 Annex B byte stream |
| BirdDog PLAY Flasher | Tauri, The Rust crate ecosystem, The npm ecosystem | rkdeveloptool, Rockchip container formats: RKFW, RKAF, RKBOOT and RSCE, e2fsprogs, The ext2 on-disk format, as described in the ext2 documentation and in e2fsprogs |
| BirdDog PLAY Patcher | NDI SDK, Tailscale, MediaMTX, libvmx, purego, Noto Sans, The npm ecosystem | libomtnet |
| BlackMatrix | Tauri, React, The Rust crate ecosystem, The npm ecosystem | atem-connection, Express, ws, Blackmagic Videohub Ethernet Protocol v2.3, from Videohub Developer Information (Blackmagic Design, May 2018) |
| Blend Calc | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Bluebook | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, Roboto Condensed | The effect's shape, the GL state guard, the pass buffers, the log and the tooling, Fast third-order texture filtering, Improved alpha-tested magnification for vector textures and special effects, Hash functions for GPU rendering, The opening titles of The X-Files (1993), The freeze-frame scene transition of NCIS (2003–), Project Blue Book (US Air Force, 1952–1969), IEC 61966-2-1 (sRGB), ITU-R BT.709 luma, The Gaussian blur of a step, The one-pole low-pass |
| Boreal | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser and host-clock vote, Source-plus-Over shape, presets, GL state and harness, Auroral arcs as vortex sheets, S. Knight, "Parallel electric fields", Planet. Space Sci. 21, 741 (1973), X. Fang et al., J. Geophys. Res. 113, A09311 (2008) and Geophys. Res. Lett. 37, L22106 (2010), NRLMSIS 2.1 (Emmert et al., Earth and Space Science 8, 2021), via pymsis 0.13.0, NIST Atomic Spectra Database, and the rate coefficients as NCAR GLOW uses them, CIE 1931 colour-matching functions, CIE 1951 scotopic efficiency (CVRL tables) and CIE 191:2010 mesopic photometry, Hansen & Travis (1974), Kasten & Young (1989) and van Rhijn (1921) |
| broomstick | The npm ecosystem | — |
| Burin | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, nanosvg | — |
| Cadence | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser and host-clock measurement, PassBuffer and the frame ring, Build layout, Diag, harness, sweep and release workflow, Interlacing, pulldown and deinterlacing |
| Cartridge | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, libretro API header | — |
| caspar-AV | React, The Rust crate ecosystem, The npm ecosystem | — |
| Cathode Ray Tomes | The npm ecosystem | ArcadeRTFM, MAME, GamingDoc, InteractiveHtmlBom, jtcores, jtkicad, DICE (dice-libretro), KiCanvas, Split.js v1.3.5, lz-string 1.4.4, PEP v0.4.3 (Pointer Events Polyfill), Internet Archive, arcademanuals collection, Console5 Tech Wiki, KiCad symbol library, TI datasheets |
| CCU | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Harness, verify script, --pipe contract and the negative-control pattern, Host clock, Plugin shape, Diag logger and the About block, PassBuffer and the fleet's trap list, Release notes shape and the provisional About, Broadcast camera processing chains, as a genre |
| Clamp | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, A serial recurrence on the GPU, Broadcast numbers in one header, PassBuffer, AC-coupled video amplifiers and the keyed clamp, ITU-R BT.470-6 and BT.1700; SMPTE 170M, Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| cogwheel | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Spirograph |
| Coinop | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The arcade cabinet |
| Colourunder | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Plugin shape, harness, --pipe contract and verify, The clock and the two raster timings, PassBuffer, The resize-mid-run guard, The colour-under carriers, The chroma bandwidth, Luma bandwidth by speed, The head-switching point, The de-emphasis corner, The chroma crosstalk canceller, The VHS format (JVC, 1976), ITU-R BT.470-6, BT.1700; SMPTE 170M, ITU-R BT.601, IEC 774-1 (VHS), PCG (M. E. O'Neill, Harvey Mudd College, 2014) |
| Compander | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Companion — animATEM | @companion-module/base, The npm ecosystem | — |
| Companion — Atem Overseer | @companion-module/base, The npm ecosystem | — |
| Companion — BlackMatrix | @companion-module/base, The npm ecosystem | ws |
| Companion — caspar-AV | @companion-module/base, The npm ecosystem | — |
| Companion — flock | @companion-module/base, The npm ecosystem | — |
| Companion — LivePremier Plus | @companion-module/base, The npm ecosystem | — |
| Companion — Mynah | @companion-module/base, The npm ecosystem | — |
| Companion — openRCS | @companion-module/base, The npm ecosystem | — |
| Companion — PDF Presenter | @companion-module/base, The npm ecosystem | — |
| Companion — Presentation Commander Client | @companion-module/base, The npm ecosystem | — |
| Companion — Presentation Commander Server | @companion-module/base, The npm ecosystem | — |
| Companion — RFutils | @companion-module/base, The npm ecosystem | — |
| Companion — SimpleCue | @companion-module/base, The npm ecosystem | — |
| Companion — srt-router | @companion-module/base, The npm ecosystem | — |
| Companion — WebLinked | @companion-module/base, The npm ecosystem | — |
| Companion module: Kestrel | @companion-module/base, The npm ecosystem | — |
| companion-play | — | Bitfocus Companion, Bitfocus Companion offline module bundle, Armbian, Debian |
| Containment | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser and host-clock vote, GL state guard, pass buffers, diagnostics and harness, Ideal MHD numerics, M. Brio and C. C. Wu, J. Comput. Phys. 75, 400 (1988); G. Toth, J. Comput. Phys. 161, 605 (2000); B. Einfeldt et al., J. Comput. Phys. 92, 273 (1991), S. Chandrasekhar, Hydrodynamic and Hydromagnetic Stability, ch. X, Bremsstrahlung emissivity of an optically thin plasma |
| Contour | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | PassBuffer, Harness shape, --pipe contract and the host clock, Audio declaration and band split, Topographic survey maps, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Contourtonist | JUCE 8 | ISO 226 equal-loudness contours, IEC 61672 frequency weightings |
| Conway | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Source-plus-Over shape, parameter table, GL state and harness, Audio analyser, An integer-format PassBuffer, Conway's Game of Life, Life-like cellular automaton; Highlife; Day and Night; Brian's Brain, The Game of Life, B/S rule notation and Generations' C, Run-length encoded (RLE) patterns, Melissa E. O'Neill, PCG (2014) |
| Copperlist | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Source-plugin template and harness plumbing, Replay check, Verify, sweep and workflows, Amiga Hardware Reference Manual, 3rd edition (Commodore-Amiga, Inc., Addison-Wesley, 1991), Amiga Developer CD 2.1 edition, Amiga cracktros and demos, as a genre |
| Cosplay | React, The npm ecosystem | d&b ArrayCalc 12.8.3 and its example projects, ISO 9613-1 |
| Crumple | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Stockham FFT, GL state, PassBuffer and harness, Audio analyser and host-clock vote, Crumpled paper as facets and d-cones, Bowyer–Watson algorithm, Föppl–von Kármán in-plane strain of thin plates, Lambert diffuse and Blinn–Phong specular shading |
| Dante BabelBox | The Rust crate ecosystem | network-audio-controller (netaudio-core) |
| Databend | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, PassBuffer, A serial recurrence held to a serial reference, Databending, The normalised lattice all-pass section, Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| db-remote private | The Rust crate ecosystem | NanoOcp |
| deadair | React, mediabunny, The npm ecosystem | — |
| Downlink | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | PAL encoder and decoder, Host clock-unit voting, PassBuffer, sweep, verify and CI shape, ITU-R F.405-1, pre-emphasis characteristics for FM radio-relay systems for television ("CCIR 405"), S. O. Rice, "Noise in FM receivers", in Time Series Analysis, M. Rosenblatt (ed.), Wiley, 1963; and Taub & Schilling, Principles of Communication Systems, The Rician phase distribution (Proakis, Digital Communications; Middleton), PAL and ITU-R BT.601 |
| Downpour | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, stb_truetype | Four public-domain works, via Project Gutenberg |
| EDID Editor | Tauri, React, The Rust crate ecosystem, The npm ecosystem | PixelHue Q8 EDID, Vendor product documentation, Linux kernel DRM, edid-decode, VESA E-EDID, DisplayID 1.3 and 2.0, CVT, GTF and DMT, CTA-861 |
| Escapement | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | lowbias32, Double-float arithmetic, 4K Video Feedback Fractal Device, Sierpinski gasket, Koch curve and Heighway dragon, Michael Barnsley, Fractals Everywhere (1988), John E. Hutchinson, "Fractals and self similarity", Indiana University Mathematics Journal 30 (1981), The Misiurewicz point of the deep-zoom literature |
| Fax | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Effect skeleton, harness, --pipe and verify, 5x7 bitmap font, PassBuffer, the sweep and CI, golang.org/x/image/ccitt, pdfminer.six, The Group 3 fax machine, ITU-T Recommendation T.4 (07/2003), "Standardization of Group 3 facsimile terminals for document transmission", ITU-T Recommendation T.6, "Facsimile coding schemes and coding control functions for Group 4 facsimile apparatus", ITU-T Recommendation T.30, ITU-R BT.709, B. E. Bayer, "An optimum method for two-level rendition of continuous-tone pictures" (IEEE ICC, 1973), Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Ferric | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Consumer sliding-band companders, Type B and Type C |
| Ferrofluid | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The harness, the tooling and the effect's shape, Two plugins from one core, and the control table's shape, The audio analyser, the pass buffers and the log, The normal-field instability, The EMG 901 and EMG 909 datasheets, and a published critical field, Ferrotec's EFH1 technical data sheet (EFH1 092110, 2010), The weakly nonlinear theory of the hexagons, The Dirichlet–Neumann operator series, The measured surface of a magnetic fluid, The Langevin magnetisation, The damping of surface waves, The field of a circular loop, Complete elliptic integrals by the arithmetic–geometric mean, A mixed-radix Stockham FFT on a GPU, Effective optical constants, NumPy and SciPy, Photographs of ferrofluid spikes, CODATA 2018, The Fresnel equations for an absorbing medium, Helmholtz coils, Gauss–Legendre quadrature, IEC 61966-2-1 (sRGB) |
| Fiche | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the clock, the harness and the tooling, Microfiche readers, and the people at them, Paul M. Fitts, "The information capacity of the human motor system in controlling the amplitude of movement" (1954), Tamar Flash and Neville Hogan, "The coordination of arm movements" (1985), Christopher M. Harris and Daniel M. Wolpert, "Signal-dependent noise determines motor planning" (1998), Digby Elliott, Werner F. Helsen and Romeo Chua, "A century later: Woodworth's (1899) two-component model of goal-directed aiming" (2001), Chris Wyman, Peter-Pike Sloan and Peter Shirley, "Simple Analytic Approximations to the CIE XYZ Color Matching Functions" (2013), IEC 61966-2-1 (sRGB), J. M. Hammersley (1960) and H. Vogel (1979), Melissa E. O'Neill, PCG (2014) |
| Filament | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Plugin shape, harness, --pipe contract and verify, PassBuffer, The resize-mid-run guard, The resistivity of tungsten, The heat capacity of tungsten, The CIE 1931 2-degree standard observer, Incandescent scoreboards, marquees and bulb walls, Planck's law, IEC 61966-2-1:1999, CIE 15:2004 / 015:2018, McCamy, Color Research & Application 17(2), 1992 |
| Flenser | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Flipbook | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, stb_image | — |
| Flipdot | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Effect skeleton, onset detector and harness, Diag logger and host Clock, PassBuffer, the sweep and CI, The software-renderer switch, The flip-dot sign, The dithers, ITU-R BT.709 |
| Flock | NDI SDK, Tauri, The Rust crate ecosystem | — |
| Flyback | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser and host-clock vote, Source-plus-Over shape and the segment renderer, The dielectric breakdown model, Hertha Ayrton, The Electric Arc (1902), F. W. Peek, Dielectric Phenomena in High Voltage Engineering (1929), and W. R. Smythe, Static and Dynamic Electricity, Wyman, Sloan & Shirley, "Simple Analytic Approximations to the CIE XYZ Color Matching Functions", JCGT 2(2), 2013, Melissa E. O'Neill, PCG (2014), and Abramowitz & Stegun 7.1.26 |
| Font Manager for PowerPoint | fflate, The npm ecosystem | Font scanner and resolver |
| frame-ferret | Syphon Framework, NDI SDK, Open Media Transport (libomt), Tauri, The Rust crate ecosystem | — |
| gaffer | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| galvo | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Energy-conserving segment renderer, T. Y. Zhang and C. Y. Suen, "A fast parallel algorithm for thinning digital patterns", CACM 27(3), 1984, Ramer–Douglas–Peucker: Urs Ramer (1972); David Douglas and Thomas Peucker (1973), The second-order galvanometer model |
| Gate | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Plugin shape, harness, --pipe contract and verify, PassBuffer, The resize-mid-run guard, 35 mm 4-perforation film geometry, Reel-change cues, Eastman colour print dye stability, The layer order of colour print film, Simple Analytic Approximations to the CIE XYZ Color Matching Functions, The variance of an autocorrelation estimate, The 35 mm projection booth, IEC 61966-2-1:1999, CIE 1931 2-degree standard observer, Planck's law |
| Gauge | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | 5x7 bitmap font, The stroked face and its distance-field atlas, Transport, Harness shape, --pipe contract and verify, The SMPTE Universal Leader, The soundtracks of a late release print, SMPTE 139 / ISO 491, 35 mm film perforations, The 35 mm apertures, and SMPTE 40 (the photographic sound record on a release print), ISO 69 / SMPTE 109, 16 mm film, SMPTE 149 and 157, Super 8, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Genlock | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Diagnostics log, Build and offline-harness shape, Build and offline-harness shape, The Amiga genlock, PAL colour television (ITU-R BT.470), ITU-R BT.709 |
| Graticule | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Test patterns, Rec. 709 colour maths and the RP 219 layout, FFmpeg smptehdbars, SMPTE RP 219, ITU-R BT.709 |
| Gridiron | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_image, nanosvg | — |
| Handleman | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The projector, the harness and the tooling, Spectral weights from Smits' basis, The resize-mid-run guard, Eight frames a turn, 35 mm silent, full-aperture geometry, An RGB-to-Spectrum Conversion for Reflectances, The variance of an autocorrelation estimate, The hand-cranked cinema, IEC 61966-2-1:1999, ITU-R BT.709, Planck's law |
| Holofoil | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the GL state guard, the pass buffer, the log and the tooling, The card's frame, Simple Analytic Approximations to the CIE XYZ Color Matching Functions, Diffraction grating behaviour in direction cosine space, Thin-grating efficiency (Raman–Nath), Acquiring Spatially Varying Appearance of Printed Holographic Surfaces, Diffraction Shaders, Hash Functions for GPU Rendering, Holographic trading-card finishes, CIE 1931 standard colorimetric observer, IEC 61966-2-1 (sRGB), ITU-R BT.709 luminance |
| Honeydew | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Source-plus-Over shape, parameter table, GL state and harness, Audio analyser, A float-format PassBuffer, The Oregonator and the Field–Körös–Noyes mechanism, The photo-Oregonator, Briggs–Rauscher, The iodine clock, CDIMA Turing patterns and the Lengyel–Epstein model, The blue bottle and its family, Absorption spectra, Chemical Demonstrations, The Belousov–Zhabotinsky reaction and its relatives, Beer–Lambert law, the CIE 1931 colorimetric system and sRGB, ROS2, a second-order L-stable Rosenbrock method, Melissa E. O'Neill, PCG (2014) |
| Hyacinth | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the GL state guard, the pass buffer, the log and the tooling, Guided Image Filtering, Fast Guided Filter, Single Image Haze Removal Using Dark Channel Prior, Sub-pixel estimation error cancellation on area-based matching, Hash Functions for GPU Rendering, Real lenses' bokeh and flare, IEC 61966-2-1 (sRGB), ITU-R BT.709 luminance |
| Idler | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | The Windows 95 and 98 screensavers |
| Instant | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Plugin shape, harness, --pipe contract and verify, PassBuffer, The resize-mid-run guard, The activation energy, What temperature does to an integral print, Roller marks and undeveloped patches, The integral instant print, CODATA 2018, PCG (M. E. O'Neill, Harvey Mudd College, 2014), IEC 61966-2-1:1999, ITU-R BT.709 |
| Intaglio | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Flow field: structure tensor, tensor blur and eigen decomposition, PassBuffer, diagnostics, build and harness shape, Flow-based difference of Gaussians and coherence-enhancing filtering |
| Isohypse | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_image | The harness, the tooling, two plugins from one core, The GL state and the log, Fast third-order texture filtering, I Made a Pen Plotter to Draw Maps of the Moon |
| Jackpot | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_truetype | The dice engine, the font atlas and the harness, Landing on the beat, Opening a file by its UTF-8 path on Windows, Ray–primitive intersections, The virtual reel, The roulette ball leaving the track, Euler's disk, Sequential impulses, Uniform random rotations, Fast random integer generation in an interval, Signed distance fields for glyphs, The casino floor |
| Jacquard | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Effect skeleton, the harness and the --pipe contract, Stepped cues and the software-renderer pass, PassBuffer, The jacquard loom, and the people who weave pictures on it, IEC 61966-2-1 (sRGB), ITU-R BT.709, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Kestrel | NDI SDK, The Rust crate ecosystem | — |
| Knockout | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_truetype | The harness, the tooling and the GL state, The font scan, The Fowler–Noll–Vo hash (FNV-1a), PCG random number generation, CSS Fonts Module Level 4, §5.2 (font matching), OpenType and TrueType font files |
| Langton | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Source-plus-Over shape, parameter table, GL state and harness, Box-filtered composite, clock, harness and the Over's integer clip mapping, Audio analyser, An integer-format PassBuffer, Langton's ant, Langton's ant, Turk and Propp's rule strings, Melissa E. O'Neill, PCG (2014) |
| latex-wysiwyg private | The npm ecosystem | — |
| Lenticular | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Mixer mechanics, two-input harness and pipe, Diagnostics log, Sweep and verify shape, Lenticular printing |
| LEQtion | Tauri, React, The Rust crate ecosystem, The npm ecosystem | libebur128, IEC 61672 sound level meter specification, ITU-R BS.1770-5, EBU R 128 and EBU Tech 3341, EBU Tech 3342 |
| line-calc | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| LivePremier Plus | Tauri, React, React DOM and Scheduler, pdf.js, The Rust crate ecosystem, The npm ecosystem | blackmagic-misc, node-blackmagic-controller, netaudio (network-audio-controller), ec50-panel, VPU mixer model, Console command language, Control-surface engine and profiles, Pitch-compensation engine, EDID Editor, Resolume Arena Advanced Output writer, Test pattern engine, Analog Way AWJ Protocol Programmer's Guide, A Dante Controller preset, Dante Controller and its user guide, Aquilon User Manual v6.2, Media-server file formats, Event Master Toolset, Lighting-desk command lines, grandMA3's in particular, Mackie Control (MCU), Akai APC40, JLCooper MIDIcon |
| Lowband | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Plugin shape, harness, --pipe contract and verify, The clock and the two raster timings, PassBuffer, Client-memory pixel transfers, The FM carriers, The PAL figures, the colour-under carriers, the emphasis and the decks' bands, The spacing loss, What a Video8 deck shows on a Hi8 tape, Video8 (1985) and Hi8 (1989), ITU-R BT.470-6, BT.1700; SMPTE 170M, ITU-R BT.601, IEC 60843 (8 mm video), The OpenGL Shading Language 4.10, s4.7.1, PCG (M. E. O'Neill, Harvey Mudd College, 2014) |
| Macroblock | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| MicWizard | Electron, React, The npm ecosystem | — |
| Millpond | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Audio analyser and host-clock vote, GL state guard, pass buffers, diagnostics and harness, Lamb, Hydrodynamics, The Cauchy–Poisson initial-value problem, The method of images, Snell's law and the unpolarised Fresnel equations, L. Bocquet, "The physics of stone skipping", Am. J. Phys. 71, 150 (2003), doi:10.1119/1.1519232 |
| MixerReturn | JUCE 8 | — |
| Mynah | Tauri, React, The Rust crate ecosystem, The npm ecosystem | AWJ Protocol Programmer's Guide, grandMA3 command-line syntax rules, Avolites Titan commands quick reference and ChamSys MagicQ programmer documentation, bitfocus/companion-module-analogway-awj, Stream Deck SDK, Lighting-desk command lines, and grandMA3's rules in particular |
| Needle | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Graticule bitmap font, Graticule Diag logger, Graticule host Clock, Graticule offline harness plumbing, ANSI C16.5 (IEC 60268-17) standard volume indicator, IEC 60268-10 type II peak programme meter, LM3915 dot/bar display driver, 6U5 / EM84 tuning indicator |
| negative-space | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| NESolume | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Retro console video hardware |
| nib | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | — |
| obs-ffgl | Resolume FFGL SDK, OBS Studio (libobs), SIMD Everywhere (simde) | — |
| Occluder | JUCE 8 | — |
| Old Cathode | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Analogue television |
| openflash | Tauri, The Rust crate ecosystem, The npm ecosystem | fastboot.js (android-fastboot), ya-webadb (@yume-chan/adb and friends), The LineageOS wiki device database |
| OpenFont Manager | Tauri, React, The Rust crate ecosystem, The npm ecosystem | Google Fonts, Fontsource, Font install code, name normaliser, installer scripts and substitutes table, fflate |
| openrcs | Tauri, React, React DOM and Scheduler, The Rust crate ecosystem | blackmagic-misc, node-blackmagic-controller, EDID Editor, Analog Way LiveCore documentation and a vendor simulator |
| openrcs-research private | The Rust crate ecosystem | — |
| OpenStage private | NDI SDK, Tauri, React, The Rust crate ecosystem, The npm ecosystem | blackmagic-misc |
| Orrery | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | 2D signed distance functions |
| Outrun | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Synthwave and the eighties arcade horizon |
| oxbow | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, Spout, Syphon Framework, NDI SDK, Open Media Transport (libomt) | — |
| patchferret | Tauri, The Rust crate ecosystem | — |
| Patchwork | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The LED-wall effect's shape, the clock and PassBuffer, Harness, GL state and tooling, How LED video walls fail, HUB75 LED module interface, Melissa E. O'Neill, PCG (2014) |
| Pattern | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Graticule bitmap font, Graticule Diag logger and host Clock, Source-plugin template and harness plumbing, Pipe cue sheet and field arithmetic, Verify, sweep and workflows, Amiga-era trackers, as a genre |
| PDF Presenter | Electron, React, pdf.js, The npm ecosystem | — |
| Peephole | Electron, React, The npm ecosystem | — |
| Pepper | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Mixer mechanics, two-input harness and pipe, Host clock, Two bundles from one core, Mutation script, glslc extraction and reserved-word check, Diagnostics log, Sweep, verify shape and the Windows DLL check, Pepper's ghost |
| Photofinish | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | PassBuffer and Diag, The strip camera |
| Pilot | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | ZX Spectrum palette and attribute model, Offline test card, 5×7 bitmap font, The ZX Spectrum tape loader |
| PineMarten private | NDI SDK, Open Media Transport (libomt), The Rust crate ecosystem | — |
| Pitch | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Per-row sample-time model and harness shape, PassBuffer, Cabinet and module arithmetic, LED video walls and the cameras that film them, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Pixel Peeker | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Plotter | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Tracer, detect chain, segment renderer, harness shape, Energy-conserving segment renderer, PassBuffer, luma-or-alpha detect, the sweep and verify shapes, --pipe contract, --dump-shaders, the negative-control pattern, Pen plotters and their drivers, Trapezoidal velocity planning with backward-then-forward junction passes, The Beer-Lambert law |
| Plumbicon | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | PassBuffer, Offline harness, control sweep and verify script, Persistent-buffer plumbing and the Diag logger, Photoconductive camera tubes, Plumbicon, Saticon, Vidicon and Image Orthicon tubes, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014), ITU-R BT.709 |
| Polyhedral | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_truetype, stb_image | Source-plus-Over shape, GL state and harness, Font scan, loader and portable font name, Sequential impulses, Uniform random rotations, Fast random integer generation in an interval, Signed distance fields for glyphs, A real set of polyhedral dice |
| Porthole | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| PowerPoint Font Manager | Tauri, React, fflate, The Rust crate ecosystem, The npm ecosystem | — |
| Presentation Commander — Client | Electron, React, pdf.js, The npm ecosystem | — |
| Presentation Commander — Server | NDI SDK, Electron, React, The npm ecosystem | — |
| Presentation Converter | React, pdf-lib, fflate, The npm ecosystem | — |
| Proximate | JUCE 8 | — |
| Pumpkin | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The pumpkin patch, Parameter table, GL state, clock and harness |
| quickdaw | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| r1-views | React, The npm ecosystem | d&b R1 3.46.1: its control templates, control catalogue and help |
| Radar | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_image | Audio analyser and host-clock vote, Source-plus-Over shape, GL state and harness, Cathode Ray Tube Phosphors Of Interest To The Experimenter, The plan-position indicator, The radar range equation and sensitivity time control, Range resolution c tau / 2, Antenna patterns, Melissa E. O'Neill, PCG (2014), W. J. Cody and W. Waite, Software Manual for the Elementary Functions (1980) |
| Ramdac | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the GL state guard, the pass buffers, the log and the tooling, lowbias32, Teletext's eight colours, The Amiga's 12-bit colour registers, The ZX Spectrum, NES and Game Boy tables, A perceptual color space for image processing (2020), RGB/XYZ matrices, Pattern dithering, US 6,606,166 (expired 2019), An optimum method for two-level rendition of continuous-tone pictures (IEEE ICC, 1973), The void-and-cluster method for dither array generation (Proc. SPIE 1913, 1993), Digital halftones by dot diffusion (ACM TOG 6(4), 1987), Color image quantization for frame buffer display (SIGGRAPH 1982), Least squares quantization in PCM (IEEE Trans. Inf. Theory 28(2), 1982), Mark Ferrari's colour-cycling art, The palette DAC, IEC 61966-2-1 (sRGB), ETSI ETS 300 706, "Enhanced Teletext specification", EA IFF 85 ILBM, the CRNG chunk (Deluxe Paint, 1985) |
| readout | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Rebate | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | 5x7 bitmap font, Harness shape, --pipe contract and verify, PassBuffer, Photographic science of the colour negative, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Receipt | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, The read-back-then-CPU plugin shape, PassBuffer, The dithers, Thermal printing, ITU-R BT.601 |
| Relay | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Mixer mechanics, two-input harness and Timing, PAL and NTSC raster timing, Diagnostics log, Sweep and verify shape, Relay-switched video routers |
| Repousse | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | PassBuffer, Harness shape, --pipe contract, the host clock and the negative-control pattern, Audio declaration and onset detector, Damped oscillator with substepped integration, Repoussé and chasing, P. B. Johnson and R. W. Christy, "Optical constants of the noble metals", Phys. Rev. B 6, 4370 (1972), and "Optical constants of transition metals: Ti, V, Cr, Mn, Fe, Co, Ni, and Pd", Phys. Rev. B 9, 5056 (1974); M. R. Querry, "Optical constants", Contractor Report CRDC-CR-85034 (1985), Bruce Walter, Stephen R. Marschner, Hongsong Li and Kenneth E. Torrance, "Microfacet Models for Refraction through Rough Surfaces" (EGSR 2007), Eric Heitz, "Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs" (JCGT 2014), Christophe Schlick, "An Inexpensive BRDF Model for Physically-based Rendering" (Computer Graphics Forum 1994), The large-angle pendulum period series, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Residual | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Diag and the harness shape, Onset detector, Hybrid block-based video codecs, H. Malvar and G. Sullivan, "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" (JVT-I014, 2003) |
| Resodoom | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | doomgeneric, stagehand, Threading, letterbox maths and the private-copy loader, Freedoom, Crispy Doom |
| Resolume Luma Keyer | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, The Rust crate ecosystem | — |
| Resolume OFX Bridge | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, The Rust crate ecosystem | — |
| RFutils | Tauri, React, pdf.js, The Rust crate ecosystem, The npm ecosystem | — |
| Rookery | NDI SDK, The Rust crate ecosystem | Diagnostics crate, token encryption and subnet probe, WebLinked, Open Sound Control 1.0 specification |
| roomkit-web | React, fflate, The npm ecosystem | roomkit Python generator, Room EQ Wizard (REW), Lumped Helmholtz resonator with end corrections, Schroeder's quadratic-residue diffuser |
| Rosette | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | PassBuffer, Diag, audio analyser, preset overrides and verify checks, PostScript halftone screens: spot functions and threshold arrays, The Murray–Davies relation, Beer–Lambert style multiplicative overprint |
| Schlieren | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the GL state guard, the harness and the tooling, The audio analyser, the host-clock vote, the pass buffers and the log, Weak-shock theory for a spherical wave, The Lax–Oleinik formula, Godunov's method, The Friedlander waveform, Edlén's standard air, The Douglas–Peucker simplification, Schlieren photography, and the people who photograph shock waves with it, The far field of a pulsating sphere (linear acoustics), The Gladstone–Dale relation, The Abel transform, Gauss–Legendre quadrature, The method of images, The schlieren, shadowgraph and background-oriented schlieren relations, The ideal gas law and CODATA's molar gas constant, Sound pressure level, re 20 µPa, IEC 61966-2-1 (sRGB) |
| Scopes | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | — |
| Scrawl | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The onset detector, The source-plus-Over shape, the harness and the tools, Minimum-jerk movement, PCG, Hash functions for GPU rendering, Fast random integer generation in an interval, Scott Pilgrim vs. the World |
| Show Mode | — | Stats |
| Show Mode for Windows | The Rust crate ecosystem | — |
| Showbook | Tauri, React, pdf-lib, The Rust crate ecosystem, The npm ecosystem | openrcs-awj, Barco Event Master Toolset simulators and the Event Master JSON-RPC API guide, Analog Way LivePremier AWJ Protocol Programmer's Guide, LivePremier REST API Programmer's Guide, and the LivePremier, Midra 4K and Alta 4K simulators, Bitfocus Companion and the barco-eventmaster and analogway-awj modules |
| Shunt | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_image | 2D signed distance functions, Shape primitives |
| Sidereal | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The harness, the tooling and the plugin's shape, Two plugins from one core, and the control table's shape, Pass buffers, GL state and the log, The relationship between infrared, optical and ultraviolet extinction, Astrophysics of Gaseous Nebulae and Active Galactic Nuclei, Supernova light: the decay heating, the diffusion and the tail, The classical meteor light curve, Preparing red-green-blue images from CCD data, A cosmology calculator for the World Wide Web, Analytical expressions for the Sersic profile's b_n, Radiative transfer in a clumpy universe, The WFC3, ACS, NIRCam and MIRI instrument handbooks, Hubble's and Webb's published pictures, Melissa E. O'Neill, PCG (2014) |
| SimpleCue | JUCE 8 | — |
| simpleRTA | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| simpleVIS | Tauri, React, fflate, The Rust crate ecosystem, The npm ecosystem | GDTF and MVR, Art-Net and sACN (ANSI E1.31) |
| Slipstream | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Source-plus-Over shape, parameter table, clock, harness and tooling, Pass buffers, GL state and the log, The escape of photons from gravitationally intense stars, Gravitational lensing in the strong field limit, Formalism for testing theories of gravity using lensing by compact objects, Black holes in binary systems: observational appearance, Gravitational lensing by spinning black holes in astrophysics, and in the movie Interstellar, Simple analytic approximations to the CIE XYZ color matching functions, Design of advanced color temperature control system for HDTV applications, Handbook of Mathematical Functions, 7.1.26, Jumps to hyperspace and warp in the films, and a television wormhole, IEC 61966-2-1 (sRGB), CIE 1931 2-degree standard observer, CIE 1960 UCS and ANSI C78.377, Melissa E. O'Neill, PCG (2014) |
| Slitscan | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the GL state guard, the pass buffers, the log and the tooling, Handbook of Mathematical Functions, 4.4.49, VFX History: Slit Scan, The slit-scan rigs of Douglas Trumbull, Bernard Lodge and John Knoll, Strip photography, The pinhole camera's perspective, IEC 61966-2-1 (sRGB) |
| Slope | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, A serial recurrence on the GPU, PassBuffer, Continuously variable slope delta modulation, ITU-R BT.601, Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Slowscan | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | CPU signal engine feeding a GL renderer, and the seeded generator, Host clock-unit voting, Harness test card, PassBuffer, sweep, verify and CI shape, J. L. Barber (N7CXI), "Proposal for SSTV Mode Specifications", Dayton SSTV forum, 2000, ITU-R BT.601, S. O. Rice, "Noise in FM receivers", in Time Series Analysis, M. Rosenblatt (ed.), Wiley, 1963; and Taub & Schilling, Principles of Communication Systems, R. H. Clarke, "A statistical theory of mobile-radio reception", Bell System Technical Journal 47, 1968; W. C. Jakes, Microwave Mobile Communications, 1974 |
| Songbook | Tauri, React, The Rust crate ecosystem, The npm ecosystem | Library, history, sync and OAuth crates, and the app shell, Console file decoders and readers, Yamaha prminfo dictionaries, from the yamaha-rcp Companion module, Allen & Heath SQ MIDI Protocol Issue 5, dLive MIDI Over TCP/IP Protocol V2.0, Avantis MIDI TCP/IP Protocol and Qu-5/6/7 MIDI Protocol Issue 2, Allen & Heath Avantis Director V2.01 and SQ MixPad 1.6.0; Yamaha QL Editor V5.8.1, DM3 Editor V3 and TF Editor V4.50, Yamaha DM3 (firmware V3.00), on the fleet's bench on 2026-09-15, Bitfocus Companion 5.0.5 and the allenheath-sq 3.1.0, allenheath-dlive 1.0.1, allenheath-avantis 1.0.0 and yamaha-rcp 3.5.12 modules, The vendors' spec sheets and the protocol documents' address ranges |
| SoundBench | PortAudio, Tauri, React, The Rust crate ecosystem, The npm ecosystem | Angelo Farina, "Simultaneous measurement of impulse response and distortion with a swept-sine technique" (AES 108th Convention, 2000), AES17, Hans-Helge Albrecht, "A family of cosine-sum windows for high-resolution measurements" (ICASSP 2001), IEC 61672, C. H. Knapp and G. C. Carter, "The generalized correlation method for estimation of time delay" (IEEE Trans. ASSP, 1976) |
| Spasis | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, miniaudio | Scope buffer, GL state guard, diagnostics, About headers and harness plumbing, iZotope Ozone Imager; Mastering The Mix LEVELS, REFERENCE and STEREOVAULT |
| Splitflap | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Graticule bitmap font, Diag logger and host Clock, PassBuffer, Effect template and harness plumbing, Onset detector shape, The split-flap display, as a mechanism, ITU-R BT.709 |
| squawk | The Rust crate ecosystem | — |
| SRT Router | NDI SDK, Open Media Transport (libomt), Tauri, The Rust crate ecosystem | — |
| stagewash | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Standards | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Field machinery, A ring of timestamped frames, PassBuffer, Harness shape, --pipe contract and negative controls, Field-store television standards converters, Robert G. Keys, "Cubic Convolution Interpolation for Digital Image Processing" (IEEE Trans. ASSP, 1981), Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Stencil | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The jump flood, PassBuffer and the lattice, Harness shape, sweep and the trap list, Stepped cues and the verify shape, Stencil cutting and spray painting, Guodong Rong and Tiow-Seng Tan, "Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform" (I3D 2006), Pedro Felzenszwalb and Daniel Huttenlocher, "Distance Transforms of Sampled Functions" (Theory of Computing 8, 2012), Robert Tarjan, "Efficiency of a Good But Not Linear Set Union Algorithm" (JACM 22, 1975) |
| Stoatworks Burrow | Tauri, React, The Rust crate ecosystem, The npm ecosystem | The Stoatworks video plugins' browser demos, The OpenFX plug-in search path |
| Stoatworks Flasher | fflate, The npm ecosystem | esptool-js, CANary firmware images, nanODE firmware images, Cuckoo firmware images |
| Teletext | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | 5x7 bitmap font, Harness shape, --pipe contract and verify, PassBuffer, Field arithmetic, Teletext, and the people who drew pictures in it, ETSI EN 300 706, "Enhanced Teletext specification", Mullard/Philips SAA5050 teletext character generator, ITU-R BT.709, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014) |
| Test Card | Tauri, React, The Rust crate ecosystem, The npm ecosystem | The Windows 95 and 98 screensavers, SMPTE RP 219, ITU-R BT.709 |
| the Stoatworks Labs website private | Astro, The npm ecosystem | InteractiveHtmlBom, Split.js v1.3.5, lz-string 1.4.4, PEP v0.4.3 (Pointer Events Polyfill) |
| Throw | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, stb_image | The effect's shape, the GL state guard, the pass buffers, the log and the tooling, The highlight and the metal table, The file parameter and 16-bit height maps, Microfacet models for refraction through rough surfaces, Understanding the masking-shadowing function in microfacet-based BRDFs, An inexpensive BRDF model for physically-based rendering, The inverse-square and cosine laws of illumination, BS EN 771-1 (and BS 3921 before it), The 3-inch corrugated profile, IEC 61966-2-1 (sRGB) |
| thumbnail-generator | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Tilter | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Tinsel | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Toner | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, The halftone as a spot function, PassBuffer, Xerographic imaging, ITU-R BT.601 |
| Toolpath | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Detect On and PassBuffer, Harness shape, --pipe contract and verify, --offline, --allow-no-gl and the CI shape, A traced path at a physical rate, CNC pocketing and mathematical morphology, Guodong Rong and Tiow-Seng Tan, "Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform" (I3D 2006), Pedro Felzenszwalb and Daniel Huttenlocher, "Distance Transforms of Sampled Functions" (Theory of Computing 8, 2012), William Lorensen and Harvey Cline, "Marching Cubes" (SIGGRAPH 1987), David Douglas and Thomas Peucker, polyline simplification (The Canadian Cartographer 10, 1973) |
| UnMapper | NDI SDK, The Rust crate ecosystem | — |
| Valve | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Single-effect shape, harness, PassBuffer, Diag and tools, Mutation testing and the GLSL greps, Improved vacuum tube models for SPICE simulations, Tube.lib, the SPICE model library, A guitar through an overdriven valve amplifier, ITU-R BT.601 / BT.470 Y'UV |
| Vectrix | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, stb_vorbis, dr_libs, Opus, libogg, opusfile | — |
| vertige-bridge private | The Rust crate ecosystem | — |
| Vertigo | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Vocoder | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The channel vocoder, Burt and Adelson, "The Laplacian Pyramid as a Compact Image Code" (IEEE Transactions on Communications, 1983) |
| VoiceLevel | nih-plug, The Rust crate ecosystem | — |
| Wallslide | Tauri, React, The Rust crate ecosystem, The npm ecosystem | PowerPoint slide geometry, ZIP writer, Apple Keynote, measured, ECMA-376 (Office Open XML), Parts 1 and 2, PKWARE APPNOTE 6.3.x, WCAG 2.1 |
| WebLinked | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, Chromium Embedded Framework, Spout, Syphon Framework, miniaudio, NDI SDK, Open Media Transport (libomt) | — |
| Wetplate | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Harness shape, --pipe contract and verify, PassBuffer, The resize-mid-run guard, The wet collodion plate's spectral sensitivity, The RGB-to-spectrum basis, The lights, The wet collodion process, Melissa E. O'Neill, "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation" (Harvey Mudd College, 2014), IEC 61966-2-1 |
| Wheel | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Clock, Diag, PassBuffer and the harness shape, Build layout and release workflow, Single-chip DLP projection |
| Will My Show Fit? | Tauri, React, The Rust crate ecosystem, The npm ecosystem | — |
| Wipe | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Mixer mechanics, two-input harness and Timing, Diagnostics log, Sweep and verify shape, Analogue vision-mixer wipe generators |
| WSM–WWB Bridge | — | Shure Wireless Workbench and Sennheiser WSM file formats |
| Zero EQ | JUCE 8 | — |
| Zoetrope | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The effect's shape, the harness and the tooling, The audio analyser, the pass buffers and the log, The held pictures in a texture array, The classical Runge–Kutta method, Stroboscopic aliasing (the wagon-wheel effect), The zoetrope, the phenakistiscope and the strobe-lit zoetrope, IEC 61966-2-1 (sRGB), Viscous and Coulomb friction |
If this page has your work wrong
If something here is yours and the description is inaccurate, the licence is wrong, or you'd just rather not be listed, tell me or open an issue on the repo in question, and I'll fix it. Getting somebody else's credit wrong is worse than not crediting them at all.
See also: the infrastructure that makes this possible and the MIT licence in full.