Orion v0.4.0-alpha.4
Fourth alpha. Perspective correction, versions, a creative vignette, film grain,
highlight reconstruction, and a brush that no longer slows down as you paint.
Apple silicon only. Ad-hoc signed, not notarized — first launch needs
right-click → Open, or macOS will refuse it. README-FIRST.txt inside the disk
image says the same.
New
Perspective correction. Vertical and horizontal keystone plus an aspect
control, folded into the geometry node's existing matrix rather than added as a
second resampling pass — so a corrected photograph is sampled once, not twice.
The frame auto-scales to stay full, as the lens corrections do.
Versions. A photograph's whole edit under a name, in a sibling
PHOTO.orion-snapshots.json. Switch between them; nothing is destroyed.
Highlight reconstruction beyond the window fit. A blown highlight's colour is
Laplace-interpolated from its own boundary, then detail is carried across from
whichever channels did not clip — Rouf, Lau & Heidrich (PROCAMS 2012), as its
model rather than its solve.
Film grain, added to the finished picture rather than to the sensor data,
from a deterministic pinned plate. A creative vignette, as an exposure change
in scene-linear light shaped by the cos⁴ law, following the crop rather than the
frame. Balance in the grading wheels, a rigid shift of all three zone centres.
A real export panel — bit depth chooses the graph that renders the file,
output sharpening after the resize, and "strip location" that actually removes
the place.
A folder index with a thumbnail cache, so reopening a shoot is warm.
Controls explain themselves on hover. The helper paragraphs that sat under
the sliders are on an ⓘ at each section's nameplate now; the Detail panel is 554
points shorter for it.
Fixed and faster
- Painting no longer slows down as the stroke grows. A pointer event costs
what the new dabs cost, not what the whole stroke costs — 5.20 ms appending 49
dabs to 294, against 36.46 ms re-laying them. - A dehaze drag went 147 → 102 ms — nine nodes, six of them full-resolution
over 24 MP, were being redone for a value none of them read. - Masks stay where you put them under a perspective correction. Four separate
errors, found and fixed in order: a radial mask's extent, then a gradient's
length, then a gradient's level sets, then the map's curvature across a large
mask. The last two were exact fixes rather than closer ones — the kernel now
carries each pixel back to the picture you drew on instead of transporting the
mask forward. - A photograph that renders as one flat colour now says so in the footer
rather than looking like a photograph of a brown wall. The underlying bug is
still unreproduced; this is the instrument for catching it.
Known limits
- Ad-hoc signed, not notarized.
- A spot placed across a hard edge is corrected wrongly on both sides — it is a
single number for the whole disc. - No X-Trans support yet; Bayer sensors only.