Skip to content

Releases: stoatworks-labs/instant

Release list

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 00:14

Cold prints now go green, as the manufacturer says they do.

Polaroid's support page on temperature says that below 13 °C prints come out light, low in colour contrast and with a green tint, and that above 28 °C colour prints take a yellow/red tint. v0.1.0 printed the cold grey blue-cyan instead. This release fixes that in the model, not with a grade: each dye layer now has its own activation energy, so the cold slows magenta the most, and magenta is cut shortest when the timing layer ends development.

  • Yellow keeps the figure fitted to ILFORD's development time/temperature chart, 67.41 kJ/mol.
  • Cyan (103.6 kJ/mol) and magenta (106.85 kJ/mol) are fitted by tools/cast_fit.py to the manufacturer's description: at 6 °C a mid grey comes out with red equal to blue (a green) and a cast as strong as v0.1.0's cyan one. No published per-layer figure exists that we could find, so these are a fit to words, not a measurement, and the docs say so.
  • Hot film is unchanged in kind: every layer finishes and the slow yellow over-reaches, a slight warm yellow-red. At 24 °C nothing changes at all.

A flat mid grey through the plugin at 256x, after the stop (8-bit): 6 °C was (123, 131, 142) and is now (143, 167, 142); 4 °C was (124, 134, 146), now (151, 176, 146); 24 °C and 34 °C are the same as before.

Checks. --arrhenius now checks each layer against its own ratio. A new --cast reads a neutral grey out of the picture after development: green when cold (4, 6, 12 °C), neutral at 24 °C, warm when hot (30, 34, 36 °C). Its negative control, v0.1.0's single activation energy, fails it. The checks pass at 320x180 and 1280x720 and on Apple's software renderer. The development state is now four floats a texel (a dose per dye layer and the stop), so a print holds 40 bytes a texel instead of 24.

The browser demo carries the same change and matches the plugin to within 1/255.

The macOS downloads are Developer ID-signed and notarised by the release pipeline shortly after publication. The Windows build is not code-signed.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 17:06

The first release of Instant: instant film developing in front of you, as an FFGL effect for Resolume Arena and Avenue (SW Instant, IN01).

A Take exposes the clip's frame, metered by an averaging camera meter, and an integral print then develops from that moment, stage by stage: out of a dark green-grey opacifier, pale and blue-cyan first, warming as the slower magenta and yellow dyes arrive. Temperature scales every rate by the Arrhenius law; the timing layer that ends development speeds up less than the dyes, so cold film stops short, pale and blue-cyan, and hot film finishes warm. Colour, black and white and vintage stock; full, short and uneven spreads; expired paste; a dirty roller whose mark repeats at its circumference; Take or Continuous mode; Speed from real time (1x) to 256x, 64x by default.

Downloads: a universal macOS bundle (Apple silicon and Intel) as a .dmg or .zip, and a Windows x64 installer or .zip. The macOS builds are Developer ID-signed and notarised (signed by the release pipeline minutes after publication; spctl: Notarized Developer ID). The Windows builds are not code-signed, so SmartScreen warns once.

What is measured (offline, tools/verify.sh, at 320x180 and 1280x720 and on Apple's software renderer): each dye layer's first-order law with its stated time constant (70, 120, 200 s, recovered to 1e-5); the blue-cyan lead at 240 s and the monotone approach to neutral at the stop; the Arrhenius ratio between 14 and 34 C for every layer and the timing layer; the reagent front row by row; the roller's period, whole-pixel and fractional; the print from the capture as the clip changes, and across a resize; the meter. Eight negative controls each fail their check, one GLSL mutation is caught, and all 12 controls change the picture.

In Resolume Arena, on Windows: A build of this source loads, registers and renders in Resolume Arena 7.27.1 on software rendering (win-lab, Mesa llvmpipe, no GPU), with all 18 host controls matching what the plugin declares, in the fleet's Arena gate (9 of 9 checks). The gate's picture is a still: nine controls read as moving the picture (Temperature and Dirty Roller weakly), Speed inconclusive (it acts only while a print develops, and the gate's print is finished 9.4 s after its take), and Mode and Interval were not measured, because they act only at the next take and the next print of a still is the same print. Software rendering says nothing about a GPU or about speed.

What is assumed. Most of the chemistry's numbers. The dye activation energy (67.41 kJ/mol) is fitted to ILFORD's black-and-white development chart, and applying it to instant dyes is an assumption; the timing layer's is half of it, with no source; the time constants, the stop, the opacifier, the front speed and the roller are chosen. The manufacturer's support page on temperature, re-read at release through the Internet Archive, describes cold prints with a green tint; this model gives cyan, and the guide says so. The reagent front is modelled but not visible at any Speed.

Not done. Never loaded into Resolume on macOS; never seen on camera footage; no presets and no OpenFX port.