feat(aterm): take the glare off the creature so faint text reads #1421
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1421
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/zc49-creature-glare"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kai asked for a text shadow or outline. kitty has neither, and its one
contrast helper is blind to a background image, so the plate is where the
legibility has to come from.
Why not the option that looks like the answer
text_fg_override_thresholdis built for exactly this complaint, and itdoes not work here:
override_foreground_colorin kitty's own cell shadertakes
underfromcompute_background, the cell's background color,rather than the composited pixels. Over a creature it computes the same
contrast it would over an empty window, so it fires identically whether
the art is there or not. Read rather than assumed, and recorded so the
next agent does not go looking.
What was actually wrong
Measured, not guessed. Bright text was never in trouble: 15.80:1 over the
empty window, 8.41:1 over the creature's worst pixel. The faint card rows
were, dropping 6.54:1 to 3.48:1, under the 4.5:1 line, and every role sat
in the same 3.35 to 3.54 band, so one setting covers the roster.
The glare is in the bright fills, and the dark linework is what makes a
creature read at a glance. So a pixel past
creatureGlareKneegives up tocreatureGlareDepthof its alpha on a smoothstep, the outlines keep allof theirs, and only alpha moves rather than any color the roster owns.
Frontend now measures 4.77:1 worst case from the shipped code path, which
matched the prototype exactly. All seven clear 4.5:1. Five roles hold
their median luminance to four decimal places, so the creature is as
present as it was; science drops 0.0466 to 0.0332 because Evie is a glass
vessel and mostly highlight, which leaves her still the brightest of the
seven rather than dimmed below them.
The doc split, which the cap forced and the content wanted
The paragraph put
docs/aterm.mdat 8002 against the 8000 cap, the wall#1341 recorded.
docs/*.mdwas at 38 of 40, so a slot was free and thecreature is its own subsystem across three paragraphs. It moves to
docs/aterm-creature.mdbehind a pointer, mirroring the aterm-bundlessplit. aterm.md drops to 5455, so the next aterm surprise has somewhere to
land rather than compressing Kai's prose again.
Verification
go test ./...green, with new coverage that the linework keeps itsalpha, white loses the full depth, the fade is monotonic across all 256
levels so a gradient cannot band, and only alpha moves.
just aterm-contractgreen against the live roster.pre-commit run --all-filesgreen, all caps respected.since she moves most.
Co-authored-by: Kai Siren coilysiren@gmail.com
Co-authored-by: Claude noreply@anthropic.com
Agent-Role: frontend