Repository navigation
Light the key housing instead of outlining it on hover - #114
Merged
Merged
Conversation
The hover outline popped up and then sat there through the press. An outline is a UI convention wearing a console's clothes: a real key sits in a lit housing, and what changes as it moves is how much of that light gets past it. So there is a lamp behind the cap now, seen through the seam around it. Approaching a key brings it up to a low glow; pressing takes it up with the press, continuously, rather than flipping between two states. The asymmetry came free. The homography already shrinks and tilts a pressed face, so the cap pulls away from the housing further on one side and more of the lamp shows exactly there. The physics had it; the lamp only needed putting behind it. Warm amber-gold, deeper on the light bench where a glow barely registers. Warm because the console is cool green-grey with a teal accent, so a warm light reads as illumination from inside the box rather than as one more status colour. The first attempt sat the lamp a hair proud of the face so a lit ring always existed, and it rendered as an amber outline - exactly the thing being removed. Light at a seam is diffuse; a hard-edged stroke of any colour is a border. The ring is gone and the bloom carries it. The restraint is in the opacity ramp rather than the hue, and the ramp constants are pinned equal to the style setters by test: if they drift the lamp jumps the instant a key is touched, and nothing else in the suite would see it. Also turns the standby legend down to the floor of its contract, which is as dim as it goes while still meeting the large-text threshold.
LynxTWO
force-pushed
the
feat/seam-light
branch
from
August 24, 2026 02:32
6da324b to
1464b9f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner report 2026-08-23: the hover outline popped up and then persisted through the press. Stacked on #113, which is stacked on #112.
An outline is a UI convention wearing a console's clothes. A real key sits in a lit housing, and what changes as it moves is how much of that light gets past it. So there is a lamp behind the cap now, seen through the seam: hover brings it to a low glow, press takes it up continuously with the press rather than flipping between two states.
The asymmetry came free. The soft-body homography already shrinks and tilts a pressed face, so the cap pulls away from the housing further on one side and more of the lamp shows exactly there. The physics had it; the lamp only needed putting behind it. No per-edge logic.
Colour: warm amber-gold,
#F0A24Adark and#C9762Alight (a glow barely registers on a pale console, same lesson as the wells). Warm because the console is cool green-grey with a teal accent, so a warm light reads as illumination from inside the box rather than one more status colour. A test pins both that it is warm and that it is far enough from the accent to read as a different fixture.The first attempt was wrong and rendering caught it. I sat the lamp 1.5 DIP proud of the face so a lit ring always existed - and it rendered as an amber outline, the exact thing being removed. Light at a seam is diffuse; a hard-edged stroke of any colour is a border. Ring gone, bloom carries it.
The restraint lives in the opacity ramp, not the hue: 0 at rest, 0.34 hover, 0.85 held. The C# ramp constants and the XAML setters are pinned equal by test, because if they drift the lamp jumps the instant a key is touched and nothing else would notice.
Also turns the standby legend down on your note -
KeyStandbyto#42786F/#577F79and the glow from 0.30 to 0.20. That is the floor of its own contract at 3.2:1 to 3.8:1; below 3:1 it stops meeting even the large-text threshold, so it cannot go dimmer without moving the floor.192 tests green. Rendered rest, hover and a corner press in both themes.