pub enum Bevel {
Raised,
Inset,
}Expand description
Which way the light falls across a two-tone edge.
The whole content of a bevel, once colour and thickness are deferred. The light is always assumed to come from the top left: every consumer measured agreed on that and none of them ever varied it, so it is an invariant here rather than a parameter.
§The two corners that belong to both edges
Top-right and bottom-left are where the lit run meets the shaded one, and the description’s claim is that they belong to both. How a renderer says that is its own business, because the answer is bounded by resolution and not by taste:
- A terminal cell is roughly 8x17 device pixels, so giving the whole corner
to one tone thickens that edge by a cell and reads as one run overrunning
the other. A half-cell glyph divides the cell already, so
makeover-tuisplits it and recovers real information. Its box-drawing fallback cannot: a single stroke has no half to give, so there both corners go to dark. - A pixel bevel is a one-point stroke by default, which makes the corner a
one-point square. There is nothing to divide — a diagonal seam across one
point is sub-pixel, and antialiasing renders it as the blend a mitred join
already produces. So
makeover-immediatemitres and is not diverging; it is the same rule at a resolution where the split degenerates.
Stated here so the difference reads as a decision rather than as drift. A renderer with room to divide the corner should; one without should mitre or pick the shaded tone, and neither is a bug.
Variants§
Raised
Lit from the top left: light on top and left, dark on bottom and right.
Inset
The same edge inverted, which is also the pressed state of anything
that draws itself Bevel::Raised.