feat(aterm): soften the glare rolloff so the creature keeps its shading #1422

Merged
coilyco-ops merged 1 commit from aos/claude/zc49-creature-gentle into main 2026-08-29 20:58:18 +00:00
Owner

Kai on the first cut: it hit the legibility goal and lost a lot of the
creature's visual quality. She is right, and the mechanism is not a bug in
the tuning. Fading highlights without fading midtones compresses the
gradient between them, so a rolloff always pays for legibility with
shading. Depth only decides how much.

knee 0.46 and depth 0.58 altered 28% of the art, which is the flat belly
and dulled palette wood she saw. knee 0.62 and depth 0.30 alters 16%,
touching the specular pops and leaving the midtones. Frontend measures
4.29:1 from the shipped code path against 3.48:1 untouched, so most of the
gain survives at a bit over half the cost.

What was put in front of her

Four points on the curve rendered full size over real session text, with
what each costs: untouched, the shipped cut, this one, and a uniform dim
at 15%. She picked this one.

The uniform dim is worth recording rather than discarding. Presence is a
blend toward the window background, so lowering it preserves every ratio
inside the art exactly and spends brightness instead of fidelity: 15%
reaches 4.0:1 altering nothing. It is the option that cannot damage the
art, and docs/aterm-creature.md now carries it as the standing exit if the
16% still reads as flattening on a real screen.

A target I set and should not have

The first cut aimed at WCAG AA 4.5:1. Kai asked for slightly clearer text
rather than a standard, and the extra legibility past her ask is what the
art paid for. The knee is now set against what she can see rather than
against a number I chose for her.

Verification

  • go test ./... green. The tests read the constants rather than literal
    numbers, so retuning did not need one of them rewritten, which is why a
    retune is a two-line diff.
  • pre-commit run --all-files green.
  • Re-measured from the plate the real binary wrote, not the prototype.
  • The doc claim of "above 4.5:1 after" was true of the old numbers and is
    now corrected rather than left standing.

Co-authored-by: Kai Siren coilysiren@gmail.com
Co-authored-by: Claude noreply@anthropic.com
Agent-Role: frontend

Kai on the first cut: it hit the legibility goal and lost a lot of the creature's visual quality. She is right, and the mechanism is not a bug in the tuning. Fading highlights without fading midtones compresses the gradient between them, so a rolloff always pays for legibility with shading. Depth only decides how much. knee 0.46 and depth 0.58 altered 28% of the art, which is the flat belly and dulled palette wood she saw. knee 0.62 and depth 0.30 alters 16%, touching the specular pops and leaving the midtones. Frontend measures 4.29:1 from the shipped code path against 3.48:1 untouched, so most of the gain survives at a bit over half the cost. ## What was put in front of her Four points on the curve rendered full size over real session text, with what each costs: untouched, the shipped cut, this one, and a uniform dim at 15%. She picked this one. The uniform dim is worth recording rather than discarding. Presence is a blend toward the window background, so lowering it preserves every ratio inside the art exactly and spends brightness instead of fidelity: 15% reaches 4.0:1 altering nothing. It is the option that cannot damage the art, and docs/aterm-creature.md now carries it as the standing exit if the 16% still reads as flattening on a real screen. ## A target I set and should not have The first cut aimed at WCAG AA 4.5:1. Kai asked for slightly clearer text rather than a standard, and the extra legibility past her ask is what the art paid for. The knee is now set against what she can see rather than against a number I chose for her. ## Verification - `go test ./...` green. The tests read the constants rather than literal numbers, so retuning did not need one of them rewritten, which is why a retune is a two-line diff. - `pre-commit run --all-files` green. - Re-measured from the plate the real binary wrote, not the prototype. - The doc claim of "above 4.5:1 after" was true of the old numbers and is now corrected rather than left standing. Co-authored-by: Kai Siren <coilysiren@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Agent-Role: frontend
feat(aterm): soften the glare rolloff so the creature keeps its shading
All checks were successful
ci / aos-cli-tests (pull_request) Successful in 34s
ci / gate (pull_request) Successful in 54s
38b5e2664f
Kai on the first cut: it hit the legibility goal and lost a lot of the
creature's visual quality. She is right, and the mechanism is not a bug in
the tuning. Fading highlights without fading midtones compresses the
gradient between them, so a rolloff always pays for legibility with
shading. Depth only decides how much.

knee 0.46 and depth 0.58 altered 28% of the art, which is the flat belly
and dulled palette wood she saw. knee 0.62 and depth 0.30 alters 16%,
touching the specular pops and leaving the midtones. Frontend measures
4.29:1 from the shipped code path against 3.48:1 untouched, so most of the
gain survives at a bit over half the cost.

## What was put in front of her

Four points on the curve rendered full size over real session text, with
what each costs: untouched, the shipped cut, this one, and a uniform dim
at 15%. She picked this one.

The uniform dim is worth recording rather than discarding. Presence is a
blend toward the window background, so lowering it preserves every ratio
inside the art exactly and spends brightness instead of fidelity: 15%
reaches 4.0:1 altering nothing. It is the option that cannot damage the
art, and docs/aterm-creature.md now carries it as the standing exit if the
16% still reads as flattening on a real screen.

## A target I set and should not have

The first cut aimed at WCAG AA 4.5:1. Kai asked for slightly clearer text
rather than a standard, and the extra legibility past her ask is what the
art paid for. The knee is now set against what she can see rather than
against a number I chose for her.

## Verification

- `go test ./...` green. The tests read the constants rather than literal
  numbers, so retuning did not need one of them rewritten, which is why a
  retune is a two-line diff.
- `pre-commit run --all-files` green.
- Re-measured from the plate the real binary wrote, not the prototype.
- The doc claim of "above 4.5:1 after" was true of the old numbers and is
  now corrected rather than left standing.

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: frontend
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os!1422
No description provided.