The dark plaster read as camouflage repeating every 256px, and the paper scan had a rough band at its right edge that tiled into a vertical streak. Both modes now use the paper: the band is cropped off, and the tile is made seamless the usual way, blended with a copy offset by half its size so its edges meet; it is shown at its own size, 448 by 300, and a third fainter than before (0.35 light, 0.32 dark). A dark-range copy of the same tile is screened onto the dark page. The plaster is gone. The logo's mark is the accent, not the old teal.
- commit
- 18f36c258544798926347c1bfabdae0b979a76ea
- parent
- 8318d802747ea33ed744a99a66003ba9d6a61a8b
- author
- cat <admin@dev.site>
- ci
- ✓ passed in 83s, signed by cat
- kind
- feat risk score 1.8 of 3, Jev's estimate
- review
- #12 Square, hairline, textured: the site's design pass
ci attestation
forge-attestation 1 type ci commit 18f36c258544798926347c1bfabdae0b979a76ea tree 8a5c7806d67a8cf0432f19b06325b2160ffdf7a8 script .forge/ci 38df37c0d5a6382f60569079a0dd821094e37e4a result pass exit 0 started 2026-10-19T02:03:14Z duration 83s runner (not shown here; refs/notes/ci has it) system Darwin 25.5.0 arm64 env host log sha256:22816bb64bbe8c327a070b230e5450f4bac94b32f90021fff9ce58ec0144a524 253 lines |remote: review #4: /dami/greet/reviews/4/ |pushed wip/i18n |57899bf running .forge/ci: greet.sh: say what it is | | sh: /bin/sh | | ok greet |57899bf pass in 0s, signed |pushed main |remote: review #4: /dami/greet/reviews/4/ |pushed wip/i18n |25121c0 running .forge/ci: wave at the world | | sh: /bin/sh | | FAIL greet : got 'hello, world o/', want 'hello, world' |25121c0 fail in 0s, signed |forge: 1 commit(s) did not pass |remote: review #6: /dami/greet/reviews/6/ |pushed ana/wave |aa0255d running .forge/ci: update the test for the wave | | sh: /bin/sh | | ok greet |aa0255d pass in 0s, signed |remote: review #6: /dami/greet/reviews/6/ |pushed ana/wave |warning: You appear to have cloned an empty repository. |site home: deployed b1da3ed -> /sites/ana/dotfiles/home/ |created ana/notes |remote: review #1: /ana/notes/reviews/1/ |pushed ana/todo |landing #1 A todo list: ana/todo -> main |d7ef64c running .forge/ci: web, server and Python versions of greet | | sh: /bin/sh | | ok greet |d7ef64c pass in 0s, signed |pushed main |a3eae90 running .forge/ci: messages: notes for the later regions | | sh: /bin/sh | | ok greet |a3eae90 pass in 0s, signed |remote: review #7: /dami/greet/reviews/7/ |pushed dami/regions |created dami/forge |warning: You appear to have cloned an empty repository. |site guide: deployed 82f8f86 -> /sites/dami/forge/guide/ |(node:25905) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built ana/dotfiles in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.4IgmXG/wt/demo/root/.forge/www |(node:26143) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built ana/notes in 0s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.4IgmXG/wt/demo/root/.forge/www |(node:26361) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built dami/forge in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.4IgmXG/wt/demo/root/.forge/www |(node:26494) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built dami/greet in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.4IgmXG/wt/demo/root/.forge/www |(node:27180) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built - in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.4IgmXG/wt/demo/root/.forge/www |226 of 226 pages render the same without 11ty |guide: 4 files, links ok |ok
Signature: good, cat
| M | lib/ | 2 | +- |
| M | site/ | 2 | +- |
| M | site/ | 2 | +- |
| A | site/ | bin | |
| M | site/ | bin | |
| D | site/ | bin | |
| M | site/ | 11 | +++++------ |
@@ -43,7 +43,7 @@ export interface Asset {
4343 data: Buffer;4444 }4545 46-// By short name: style, logo, paper, plaster, fixi, ssexi, diffs, keys, live,46+// By short name: style, logo, paper, paper-dark, fixi, ssexi, diffs, keys, live,4747 // search, query, codesearch, login, ui, mermaid, sqlite3, sqlite3wasm, webauthn.4848 export type Assets = Record<string, Asset>;4949 @@ -1 +1 @@
1-<svg class="mark" viewBox="0 0 24 24" width="32" height="32" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9" stroke="currentColor"/><path d="M16 15 12 7 8 15Zm-1 0L11.5 8" stroke="#2ca9bc"/></svg>1+<svg class="mark" viewBox="0 0 24 24" width="32" height="32" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9" stroke="currentColor"/><path d="M16 15 12 7 8 15Zm-1 0L11.5 8" stroke="var(--accent)"/></svg>@@ -1 +1 @@
1-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><style>circle{stroke:#000}@media (prefers-color-scheme:dark){circle{stroke:#bdbdbd}}</style><circle cx="12" cy="12" r="9"/><path d="M16 15 12 7 8 15Zm-1 0L11.5 8" stroke="#2ca9bc"/></svg>1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><style>circle{stroke:#1c2127}path{stroke:#3148f6}@media (prefers-color-scheme:dark){circle{stroke:#e9e9e9}path{stroke:#8e9bff}}</style><circle cx="12" cy="12" r="9"/><path d="M16 15 12 7 8 15Zm-1 0L11.5 8"/></svg>Binary file.
Binary file.
Binary file.
@@ -4,7 +4,7 @@
44 /* The look: square corners, content on the page between 1px rules, labels55 in small uppercase monospace, one accent (#3148F6) for links, the current66 tab's bar, focus and primary actions, and a faint paper texture behind it7- all (plaster in dark mode). */7+ all, the same paper in dark mode. */88 :root {99 --bg: #e9e9e9;1010 --fg: #1c2127;@@ -32,9 +32,9 @@
3232 --warn: #b46a00;3333 --merged: #3148f6;3434 --texture: url(./paper.webp);35- --texture-size: 256px 150px;35+ --texture-size: 448px 300px;3636 --texture-blend: multiply;37- --texture-opacity: 0.5;37+ --texture-opacity: 0.35;3838 --sans: "Ubuntu", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;3939 --mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;4040 color-scheme: light dark;@@ -63,10 +63,9 @@
6363 --fail: #f0606e;6464 --warn: #e3a33b;6565 --merged: #8e9bff;66- --texture: url(./plaster.webp);67- --texture-size: 256px 256px;66+ --texture: url(./paper-dark.webp);6867 --texture-blend: screen;69- --texture-opacity: 0.3;68+ --texture-opacity: 0.32;7069 }7170 }7271