Repository navigation
v0.9.120
Version 0.9.120
Fractal Flame Generator With an Evolving Garden (experimental) (rendering/FlameSource.kt, FlameEngine.kt, FlameGenome.kt, FlameSampler.kt, presets/Garden.kt)
- New generator, Fractal Flame. Millions of points iterate through up to six transforms with 98 variations (the paper's 49, 46 more, hemisphere and plusrecip, from exp, log and the trigonometric and hyperbolic family to wedge, curve, bipolar and flux) and are drawn as feathered, glowing filaments. Everything is a parameter, so modulators, macros and MIDI/OSC learn work on every xform, affine and variation. The Edit row's SRC sub-tab has tabs for Look, Mods, each xform and the final xform; the default macro knobs are Zoom, Spin, Warp and Breathe, and Spin, Breathe, Warp and Drift move every xform at once. Math follows Draves & Reckase, "The Fractal Flame Algorithm" (clean-room, credited in the licenses page). Experimental: not in the stock generator set yet.
- Import
.flamefiles. The Sources browser's...menu has Import Flame...: pick a flame genome you own (a file with one or several flames) and each becomes a Fractal Flame preset inlibrary/presets/imported-flames/. Xform weights, colours, affines (pre and post), final xform, up to four variations per xform (includingpre_blur, which acts on the point before the others) with their parameters, and the camera (zoom, centre, rotation) carry over. What cannot is listed in the preset's notes and the log: variations the generator does not have (it now readsinversionas spherical andlinear3D/spherical3Das their flat twins, with a note), extra variations or xforms beyond three and six, values outside the parameter ranges (clamped), the tone settings, 3D camera. The flame's 256-colour palette is kept and saved inside the preset (optionalDeckPresetDto.palette), so presets stay portable and thePaletteparameter shifts it. Flames from other programs have the image's y axis pointing down, so imports set the new FlipY camera parameter (also in the Look tab's camera section; it is the camera mirrored, not a mirrored genome). The reading of the affine coefficients and of the camera rotation was checked against reference renders of two flames. To make room for flames found in the wild, parameter ranges grew: translations to +-10, scales and shears to +-4, variation weights -4..4 (negative allowed), camera zoom 0.01-32, camera centre +-16, Julia-N/Julia-Scope power -20..20, and larger Blob waves, N-gon sides and Pie slices. A new Softness look parameter (point size, 1-10, default 3) smooths sparse flames, and imports set it from the original's smoothing filter. A new Smooth look parameter (0-1, default 0) is a density-estimation blur: sparse regions blur towards a coarser version of the image while dense ones stay sharp; imports start at 0.5. Imports start with Decay 0.85 and Toe 0 to fill in with far fewer points than the originals used. Mutate keeps its old jitter size and never shrinks an imported flame's larger scales.
📦 Commits in v0.9.120
Changes since v0.9.119:
- 240d0c4f feat(flame): plusrecip (id 100, by black box), inversion read as spherical, linear3D/spherical3D read as their 2D twins (greenjon)
- 5ea4fd82 docs: replace contributor docs, record the rewrite in the clean-room ledger (greenjon)
- ac678efb refactor: rewrite the 2026-07-06 contributor code from a behavior spec (greenjon)
🛡️ Automated Multi-Platform Verification
The following platform binaries passed automated smoke testing on GitHub-hosted runners:
- ✅
liquid-lsd-linux-arm64.zip - ✅
liquid-lsd-linux-x64.zip - ✅
liquid-lsd-macos-arm64.zip - ✅
liquid-lsd-macos-x64.zip - ✅
liquid-lsd-windows-x64.zip