Skip to content

Orion 0.4.0-alpha.3 — colour range masks, multi-selection, seven fixes

Pre-release
Pre-release

Choose a tag to compare

@Nano-AI Nano-AI released this 30 Jul 16:09
· 320 commits to main since this release

Third alpha. Two new features, seven fixed defects, and one limitation from the
last two releases' notes that turned out no longer to be true.

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

Colour range masks. Pick a shade off the photograph and select what is near
it. The metric is Euclidean distance in Oklab chromaticity, and it deliberately
ignores how light or dark a colour is — so a shade in shadow and the same shade
in sun are one selection. Compose it with a brightness range mask to narrow
that. research/masking.md §4c has the argument for why neither CIE76 nor
CIEDE2000 was the right answer.

Multi-selection in the filmstrip. ⌘-click toggles, ⇧-click extends,
⌘-⇧-click adds a second range, ⌘A takes everything in view. Sync and batch
export act on what is selected.

Presets have their own tab. They were a hundred and twenty lines at the top
of Light, in front of the Exposure slider. Light now opens on White Balance.

Fixed

  • A painted mask vanished during every slider drag. Brush strokes, raster
    mattes and creative LUTs never reached the preview graph that renders while
    the hand is moving, so a local exposure dragged through a brush mask rendered
    with no coverage at all until the drag ended.
  • A subject matte followed the graph to the next photograph. Opening the
    next frame of a folder from the same camera reused the compiled graph and kept
    the previous photo's matte — full coverage, right place, wrong picture.
  • The colour-mixer eyedropper read the wrong pixel on a cropped photograph.
    It undid the rotation and not the crop, so clicking the subject picked the
    colour of whatever sat at that fraction of the uncropped frame.
  • Subject and Person analysed a red-tinted photograph when "Show mask" was
    on.
    The coverage overlay was not being turned off around the render handed
    to the segmentation model — which is on precisely when someone is working with
    masks, and so precisely when they press Subject.
  • A luminance range mask never survived reopening the photo. Its three
    settings were written to the sidecar and silently ignored on the way back in.
  • Sync and "Export all" ignored the filmstrip filter. Both acted on the whole
    folder while the warning beside them said "every photo in view", so culling to
    your picks and pressing Export all wrote every reject alongside them.
  • A crash-shaped hole at the C boundary: one accessor could let a C++ exception
    reach Swift, which terminates the process rather than raising an error.

Corrected from the previous notes

v0.4.0-alpha.1 and .2 both listed 8-bit TIFF as a limitation. It is not
one and has not been for some time — TIFF exports are 16 bits per channel,
verified on this build. The 256-dab brush truncation listed there is also
fixed, as of v0.4.0-alpha.2's successor.

Still true

Apple silicon only. Sky masks are not implemented — the segmentation model
Orion uses cannot produce one. A subject matte is not written to the sidecar, so
reopening a photo leaves a Subject row empty until it is run again; the panel
says so rather than leaving it to be discovered.


Suites at this tag: orion-tests 483 checks, orion-viewport-tests 3374
checks, 21 reproduction scenarios totalling 91 checks, all passing. The
benchmark gates the M0 latency target and exits zero on all three sample frames.