summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/effects.md13
-rw-r--r--docs/themes.md8
2 files changed, 17 insertions, 4 deletions
diff --git a/docs/effects.md b/docs/effects.md
index 08fd3d88..c8e5c7a7 100644
--- a/docs/effects.md
+++ b/docs/effects.md
@@ -13,6 +13,19 @@ its text. A dim touches only the unfocused
panes, with the same floor, and the focused pane's text is never at less
contrast than theirs (tests in src/draw.zig).
+**Density.** A pixel shell draws every size given in pixels in logical
+pixels, `dp()` in gui.zig (SDL's window display scale, rounded, at least
+one; `PARDES_TEST_SCALE` forces one in a harness, and a test window is 1x
+otherwise): the rules (`rule_px`), the tag rule, the grip's ring and its
+dirty gap and mode bars, the rail's gap to the text and its minimum, the
+thumb's inset, the rim, a bar cursor's minimum width, underline and
+strikethrough thickness, the rule-grab margin, and the Crt's scanline and
+mask periods (`pardesScale`). Left as they are: what is measured in cells
+or the tagline (the rail's width, `rail_px` scaled with the tagline; Lift's
+blur and offsets; every motion, in cells), Shadertoy's iResolution,
+fragCoord and iMouse (the display's pixels, as ghostty's), and the pet and
+touch debug overlays.
+
Each effect of docs/render-pipeline.md §9 lands behind its own switch, off,
and is kept only after a feel review (§8.4): a frame series on the virtual
clock, a recording, and a verdict — keep, polish or drop — with one line of
diff --git a/docs/themes.md b/docs/themes.md
index e028e806..2b15051e 100644
--- a/docs/themes.md
+++ b/docs/themes.md
@@ -102,13 +102,13 @@ so existing exported themes remain valid.
| Optional role | Purpose | When absent |
| --- | --- | --- |
-| `tag_active_bg`, `tag_active_fg` | Focused pane tag surface and text | `tag_bg`, `tag_fg` |
+| `tag_active_bg`, `tag_active_fg` | Focused pane tag surface and text; a surface closer than 1.25:1 to `tag_bg` is pushed further the way it already leans, as far as its text keeps its own contrast (or 4.5). Every dark native theme sets one | `tag_bg`, `tag_fg` |
| `tag_name_fg` | Filename or terminal `Tty` command tint | The corresponding normal or active tag foreground |
| `tag_active_name_fg` | Filename or terminal `Tty` tint in active tags | `tag_name_fg`, then the active tag foreground |
| `column_box` | Column grip while held, and its drag rail | `num` |
| `column_box_dim` | Column drag grip at rest, in every focus state | Equal mix of `column_box` and `tag_bg` |
-| `border` | Quiet separators | `scroll_track` |
-| `empty_col` | A column with no pane, under its tag (acme: white) | `border` |
+| `border` | Quiet separators; one that stands off the page by less than 1.5:1 (a dark rule on a near-black page) is lifted toward the text to 1.6:1. A theme with no page is judged against #121212 | `scroll_track` |
+| `empty_col` | A column with no pane, under its tag (acme: white) | `border`, as drawn |
| `lineno_active` | Restrained current line number foreground | `lineno` |
| `search_bg`, `search_fg` | Search matches, independent of selection | `sel_bg`, `sel_fg` |
| `diagnostic_error` | Error text | `fg`, or `tag_fg` for an inherited foreground |
@@ -118,7 +118,7 @@ so existing exported themes remain valid.
| `tag_sel_bg` | A tag's selection ground | `sel_bg` |
| `sweep_bg`, `sweep_fg` | Three triples each: the select, exec and look sweeps' ground and ink | `sel_bg` tinted toward `kw`, `str` and `num`, in `sel_fg` |
| `tag_rule` | The one-pixel rule between a pane's tag and its body, quieter than the `rule_px` rules between panes and columns | Halfway between `tag_bg` and the page the shell draws |
-| `rule_px` | Pixel shells: the width of the rules between columns, between panes stacked in a column, and under the workspace and column tags, in `border` (the rule between a tag and its body is always one pixel) | 2 |
+| `rule_px` | Pixel shells: the width of the rules between columns, between panes stacked in a column, and under the workspace and column tags, in `border` (the rule between a tag and its body is always one pixel), in logical pixels: doubled on a 2x display, as acme scales its Border | 2 |
| `box_border`, `box_dirty` | The grip is acme's button: `box` filled when focused, else a two-pixel ring of `box_border` round the tag's ground; `box_dirty` fills it inside either ring while its file is unsaved (a grid, which has no ring, shows a bold `*` on `box_dirty` in the grip's second cell) | `box_dim`; `diagnostic_warning`, then `num` |
| `rail_px` | Pixel shells: the scroll column's width, the grip's button over the scrollbar (thumb a pixel narrower), in pixels at a 17px tagline, scaled with it | 12, acme's Scrollwid |