Every build, what changed in it, and what was measured. Newest first.
Sialk is in public beta. The beta is the stage before v1, not a label worn by a series of releases, it ends on a user count, and then v1 ships. What each numbered version will contain is on the roadmap.
0.1.3 - public beta · macOS, Apple Silicon · 4 September 2026
The parameters are yours to play, and the first thing on screen is a visual.
What changed
- Play a visual's parameters. Every control a visual declares is a fader, a switch, a colour or a trigger you can move, in this build. 0.1.2 showed them as a readout and kept the faders for v1; the library's visuals arrive with controls meant for the person who did not write them, so the readout stopped being the point.
- One visual is already playing when Sialk opens, with its four controls beside it, instead of two example sketches.
- The library. A LIBRARY door under the stack opens sialk.app/library: ready visuals, free, one zip each. Unzip, drop the folder on the window, and it is a layer with its own controls.
- Controls for shaders. A
visual.jsonbeside asketch.glsldeclares number, boolean and colour controls in the shape the contract already takes; they arrive as uniforms under their own names. See writing a sketch with AI for the block. - Every empty state says where to start.
Measured on the machine it was built on - Apple M3 Max, macOS 26, Electron 43.4.1, 120 Hz display.
| One minute at 3840×2160, this exact build, the first-run visual | 7,199 frames at 120.0/s, 0 dropped, p99 10.6 ms |
sha256 Sialk-beta-macOS.zip:
d0e10bb32cf9ed11daae9766cea80cfb8f20acb5fa0225be4f128fadb347023b
0.1.2 - public beta · macOS, Apple Silicon · 31 August 2026
The cap is gone, and the stack learned to play video.
What changed
- Nothing is capped any more. Output renders at the size you ask for, your screen's own, 4K included. The 1280 px limit in 0.1.1 is deleted, not raised: no tier and no build of Sialk degrades the picture. The only limit left is an 8K engineering ceiling.
- Video clips as layers. Drop an
.mp4or.movinto the stack beside your sketches, it letterboxes, composites over and under your code, and declares Speed and Restart as parameters the music can drive. H.264, HEVC, VP9 and AV1 decode; HAP and ProRes do not. - The audio contract is 1.2, and the drums split from the notes.
percussiveandharmonicare the zero-setup answer to "react to the kick, not the pad", and this build fixes a fault 0.1.1 shipped: those two fields were analysed but never sent, so a sketch reading them saw 0.000. They arrive now. (stemsandstemCountexist in the contract too and read zeros in this build, per-stem input arrives with v1.) - Your chosen audio input survives a restart. 0.1.1 reverted to the system default at every launch.
- Add layer takes files, not only folders. The dialog now accepts a
.glsl, asketch.js, an HTML entry or a video clip directly, in 0.1.1 everything but HTML was greyed out. Found by testing this very release.
Measured on the machine it was built on - Apple M3 Max, macOS 26, Electron 43.4.1, 120 Hz display. Numbers from another machine are exactly what the beta is for.
| One minute at 3840×2160, this exact build | 7,181 frames at 119.6/s, 22 dropped, p99 9.6 ms |
sha256 Sialk-beta-macOS.zip:
b6ed86c5b0df50ae2001393949f2acd556a62172a18f0fbf259066e7eeb85de9
0.1.1 - public beta · macOS, Apple Silicon · 29 August 2026
The first build anyone else has run. Drop sketches in, stack them, mix them by hand, and watch their own parameters move, a sketch that reads the audio contract reacts to the music on its own.
What is in it
- GLSL and p5 sketches. A folder with a
sketch.glslin it, or a folder with asketch.jsthat declaressetup()ordraw(). Sialk writes the page and supplies p5 itself, so a sketch of one file runs offline on the first drop. Anything else is told, plainly, that it is not here yet, more kinds are on the way. - Layers. Added while the show is running, reordered by dragging the card, removed behind a confirm. Opacity, four blend modes, per-layer enable. Composited on the GPU.
- Transparency. A layer that paints no background composites over what is beneath it.
- The audio contract.
window.sialkis present before your first line runs, in every layer, loudness, three bands, a spectrum, onsets, tempo and the phase of the beat. - Parameters, as a readout. Whatever a sketch declares, name and live value, so you can watch a sketch play itself. In this build they are meters rather than faders; playing them by hand arrives with v1, alongside the modulators they are the base for. A sketch's own control panel is kept out of the picture the audience sees.
- One screen, and it is the wall. The picture in the window is the output, not a preview of it, there is one output in this build, so there is nothing it could differ from. Fullscreen puts it on a second display, or its own Space, and leaves the controls where they are.
- Settings, on ⌘, - two panes, Output and Audio: size, frame rate, audio input, and which display fullscreen opens on. They describe the machine, not the show, and never travel inside a show file.
- Show files. A whole mix, layers, values, placement, saved as a
.sialkdocument with its own icon; double-click it, drop it on the window, or ⇧⌘O. ⇧⌘S saves it somewhere else. A sketch you have edited since is reported, not silently reverted; one that has moved keeps its place in the stack. - A run log, written every run, to
~/Documents/Sialk/logs/.
Not in the beta build, each with the version it arrives in:
- Playing a sketch's parameters, in the beta the Inspector is a readout: name, live value, a meter. The faders arrive with v1.
- Modulation, the
+ audioand+ LFOstacks. v1. - Placing a layer, scale, position and rotation. v1.
- Driving a sketch's own panel, lil-gui and dat.GUI knobs as Sialk parameters. v1. Panels are kept out of the output in every edition.
- Layers from an address, pasting or dropping a URL. v1.
- Building a source folder, a Vite or CRA tree with no
node_modules. v1. - Playing the pointer - Pointer X/Y and Click as parameters. v1.
- The build view, the four-column arrangement on
V. v1. - Filtering the parameter list, the all / bound / moving pills. v2, with MIDI.
- A separate output preview, a picture that can differ from the wall. v4.
Measured on the machine it was built on - Apple M3 Max, macOS 26, Electron 43.4.1. Numbers from another machine are exactly what the beta is for. The beta renders at most 1280 px on the long edge; the 1080p and 4K rows below are the engine on the uncapped development build, the ceiling the cap sits under, not what this build shows you.
| The cap holding under 4K load | asked for 3840×2160, rendered 1280×720 at 120/s, 0 dropped |
| Two minutes at 1920×1080/60 (dev build) | 14,412 frames at 120.1/s, 0 dropped, p99 10.6 ms |
| Two minutes at 3840×2160/60 (dev build) | 7,195 frames of 7,194 expected, all on the GPU, 0 bitmap fallbacks |
| Seven minutes, two layers (dev build) | 50,389 frames at 119.97/s, 14 dropped, transfer ratio 0.997 |
| Three layers and a second output window | 120.1/s, 0 dropped |
| Two hours at 3840×2160/60 (dev build) | 862,879 frames, 60.0/s delivered in every band, memory flat |
Known, and named rather than discovered
- Not signed or notarised. macOS will refuse it once. Move it to
Applications and run
xattr -dr com.apple.quarantine /Applications/Sialk.app- see the beta page for why both steps matter. Signing arrives with v1. - Apple Silicon only.
- No MIDI, no cues, no remote. Those are v2, v3 and v5 on the roadmap.
- No Windows build. Windows arrives at v3, once its GPU path has been measured on real hardware rather than assumed.
If it breaks, use the feedback page, it takes the run log
from ~/Documents/Sialk/logs/. A sentence and a log is plenty.