Repository navigation
Releases
Sidereal v0.1.0
The first release of Sidereal: the sky as the space telescopes photograph it, for Resolume Arena and Avenue, as two FFGL plugins. SW Sidereal (SD01) is a source: a piece of sky on black. SW Sidereal Over (SD02) is an effect that puts the sky over your clip, or turns your clip into gas and lets the stars light it.
The one idea: build the picture the way the pictures are made. The famous space pictures are stacks of grey images, one per filter, each filter passing one slice of light: a line of oxygen, of hydrogen, of sulphur, or a band of the infrared. Each grey image is stretched, given a colour and added to the rest; the Pillars of Creation are gold and teal because [S II] went in red, H-alpha green and [O III] blue. So Sidereal is the gas, the stars and the telescope. The gas has a column and a thickness along the line of sight. The stars' ionising light is marched across the picture through it, and every photon the gas catches comes back out as recombination light, oxygen's harder photons used up first so [O III] sits nearest the star. Then the telescope's real filters and the release's colour key make the picture, with dust dimming and reddening through each filter as Cardelli, Clayton and Mathis say it should, each telescope's own diffraction spikes, and Lupton's asinh stretch. Nothing is a photograph, and no image is shipped or sampled.
Twenty-two targets. Fifteen from releases: the Pillars, the Cosmic Cliffs and the Horsehead traced by eye (a few dozen points each), and Orion, the Crab, the Ring, the Southern Ring, the Helix, the Veil, the Pleiades, Andromeda, the Whirlpool, the Sombrero, the Ultra Deep Field and Webb's First Deep Field built from what their releases show. Seven generative: Gen Nebula, Gen Dark, Gen Planetary, Gen Remnant, Gen Spiral, Gen Cluster and Gen Starfield, a new sky for every Seed.
Eight telescopes: each release as published (As Released), Hubble Narrow, Hubble Colour, Hubble Infrared, Webb NIRCam, Webb MIRI, Webb Deep and Backyard. The same gas through Webb's infrared goes translucent and the young stars inside the pillars appear.
Events. Meteors on the classical ablation curve, at random or as a shower from a radiant, and Fire Meteor for one on a cue. A type Ia supernova that rises and fades on the decay of its nickel and cobalt, leaves a remnant and lights a ring on the dust in front where the paraboloid of constant delay puts it. (Meteors through a space telescope are fiction: Hubble is above the air that makes them. They're in because a show wants them.)
Controls: Target, Telescope, Seed; Gas Density, Turbulence, Flow, Haze, Dust; Starlight, Star Heat, Light Angle; Stars, Spikes, Seeing; Zoom, Pan X, Pan Y, Spin, Drift, Depth, Fly; Meteors, Meteor Kind, Fire Meteor, Supernova, SN Speed, Light Echo; Exposure, Stretch, Saturation; the Over adds Clip As (Behind or Gas) and Mix.
Downloads: a universal macOS build (Apple silicon and Intel) as a .dmg or .zip, and a Windows x64 installer (-setup.exe) or .zip. Each carries both plugins: Sidereal.bundle and Sidereal Over.bundle on macOS, Sidereal.dll and Sidereal Over.dll on Windows. The macOS build is Developer ID-signed and notarised (signed on 2026-10-25, minutes after publication); if macOS refuses a download, it's from before that, so download it again. The Windows build isn't signed, so SmartScreen warns once.
What is measured (offline, by tools/verify.sh on an Apple M4 Max under macOS 26.4.1, driving the plugins' own class in a headless GL context at 1280×720 and 320×180, five checks again on Apple's software renderer):
- The light. Along a ray from a star, the gas's recombination light adds up to 0.996 and 1.001 of the ionising photons the star sent that way (1.007 on the software renderer). The zones stand in the physics' order, [O III] at 0.017 frame heights into the gas, then hydrogen, [S II] and the aromatics, each more than a texel apart, and a hotter star makes relatively more [O III].
- The telescope. A star's core through F658N is 1.312 times its core through F502N, against the pivots' 1.314. Hubble's spikes come out four at 45°, Webb's six and two, Hubble's falling as r^−2.00. A 6000 K star behind τ_V 1.6 of dust dims to 0.360, 0.197 and 0.130 in red, green and blue, exactly what the extinction law through each filter gives in double. CCM against its own Table 3 from U to K within 2%; every filter stretched to its target's light to 2e-16.
- The sky. Parallax at depths 0.5 and 2 moves stars and gas by the law exactly. A lensed deep field is no brighter than an unlensed one, and its Einstein ring lands within a pixel of θ_E. A light echo's ring at 0.3424 frame heights against the paraboloid's 0.3428. A meteor brightest at 0.83 s of its 1 s flight (theory 0.78 plus its wake), and 960 presses of Fire Meteor each a fireball lasting 0.92 s or more with its trail on a 4:3 picture. The supernova peaks on day 15.3, obeys Arnett's rule to 0.04% and fades 1.29 magnitudes per 100 days in the tail.
- The checks can fail. Thirteen deliberately wrong models each fail their check, and eighteen one-character mutants of the shipped GLSL and C++ are all caught. Every target is visible at its defaults and none blown out. All 30 of the source's controls and 32 of the Over's change the picture. The bundles are universal, and
oxbowseesSW Sidereal/SD01/ source andSW Sidereal Over/SD02/ effect and renders through both.
On Windows it has been in Resolume. The fleet's Arena gate ran CI's build of the release code in Arena 7.27.1 on win-lab (software rendering, no GPU): both DLLs load, both plugins register (SD01 a source, SD02 an effect) and appear in Arena's lists, all 35 and 38 controls match their names, order, types, ranges and defaults, the names at FFGL's 16-character limit come through whole, each renders, and Arena's log stays clean: 15 passed, 0 failed, 2 skipped. Against stills, 24 of the source's 25 testable controls and 27 of the Over's 28 changed the picture; Meteors was too sparse to call, and the controls that act only on meteors or a supernova can't show in a still. Software rendering says nothing about a GPU or about speed.
On macOS it's never been loaded into Resolume; the fleet's test host, oxbow, is the only host it's run in there.
Found before release, and fixed. Writing the user guide meant rendering every claim in it, and that turned up what the checks hadn't looked at: Fire Meteor did nothing on about one press in ten; the Pleiades was black at its defaults; deep-field galaxies had square edges where they outgrew the search for them; the planetaries were filled discs rather than rings, and bipolar ones had two dark bites out of them; Orion's Bar threw a hard black wedge to the corner; a ridge ran across the Pillars' feet; the Sombrero had a one-row step along its middle; and Hubble Infrared sat two stops below every other telescope. The press and the targets' visibility each have a check now.
What isn't verified, or is a limit. The pictures are like the releases, not copies of them, and were judged by eye on harness renders. The Pillars through Webb come out grey where the release is amber, the Cosmic Cliffs' ridge is a harder line than Webb's, and the planetaries through Webb's own keys come out blue and lilac where the releases are orange and red. Dust stops dimming past an optical depth of 12, Flow turns the galaxies' arms, the supernova's remnant is the same size on every target, and Fly replaces the faint stars. The gas is flat, so shadows have hard edges. No audio drive: map Fire Meteor and Supernova to Resolume's audio analysis or BPM.
Cost: median GPU time on an Apple M4 Max, GL_TIME_ELAPSED: the Pillars 0.96 ms at 720p, 1.98 ms at 1080p, 7.6 ms at 4K; the Whirlpool, the dearest, 1.36, 2.90 and 11.4 ms. Nothing was timed inside Resolume.
Not done. No presets, no browser demo and no OpenFX port.
- User guide: https://stoatworks-labs.com/software/sidereal/guide/
- Project page: https://stoatworks-labs.com/software/sidereal/