Skip to content

v0.4.0 — the Luminous Instrument redesign

Latest

Choose a tag to compare

@ASHR12 ASHR12 released this 25 Jul 14:12
b506100

Rebuilds the interface on flat surfaces and a real token system, and eliminates the colour banding that dark UIs normally suffer from.

The banding fix

Those faint contour lines across large dark areas were 8-bit quantization, not a rendering bug. sRGB spends very few code levels near black, so a soft gradient stretched across ~900px has fewer levels than pixels to cross — it cannot render as a gradient at all, and becomes a few wide plateaus with a hard 1-level edge between each. Iris's deck background had a ramp spanning 2 levels of green over 860px.

Two changes fix it:

  • Lift the palette off near-black (#030509 → #0b111c). Below the sRGB toe, brightness is proportional to code value — one step at value 7 is a ~14% brightness jump, while at value 21 it is ~5% and stops reading as a line.
  • Replace every window-sized wash with a flat fill — the six-wash drifting aurora, the full-window vignette, and the deck and boot gradients.

This is written up in full in the README, because the problem is general to dark interfaces and the five rules transfer to any project. Polished apps like Linear, Raycast, and Xcode don't solve banding — they avoid causing it.

Also in this release

  • Depth from tone, not outlines. Nested 1px borders are gone from panels, bubbles, and cards; surfaces nest by fill tone plus spacing, with edges kept only for floating menus.
  • Tokens retuned into proper type, space, radius, and elevation scales, with the reactive accent tracking orb state so ambient light follows what Iris is doing.
  • Light only exists while the reactor runs. The canvas halo carried a fixed alpha floor, so a sleeping orb still emitted a glow disc wider than its drawn ring, which the asleep filter turned into a grey smudge.
  • Dropped the radial scrim behind the HUD orb and the orb plinths — soft washes standing in for depth that read as shadow on a flat surface.
  • View → Toggle Full Screen replaced by Toggle Glass HUD, since the old item was a no-op on this frameless window.

Install

Source release — requires macOS, Node 20+, and a Gemini API key.

```bash
git clone https://github.com/ASHR12/iris.git
cd iris
npm install
npm run install:mac
```

Full changelog: v0.3.0...v0.4.0