diff --git a/docs/assets/social-preview.png b/docs/assets/social-preview.png index 38811a8..317d68b 100644 Binary files a/docs/assets/social-preview.png and b/docs/assets/social-preview.png differ diff --git a/web/src/lib/assets/README.md b/web/src/lib/assets/README.md index bbb70e2..c0983dc 100644 --- a/web/src/lib/assets/README.md +++ b/web/src/lib/assets/README.md @@ -1,12 +1,14 @@ # Brand assets -Cairn OBS logo package **v2 ("faceted glow")**. Source package: -`cairn-obs-logo-v2`, copied in here and renamed to this directory's -convention (the `cairn-obs-` prefix is dropped -- the directory already -says whose brand it is). +Cairn OBS logo package **v3 ("scope kitten")**: the Coffey Labs family +kitten peeking over a half scope whose screen shows a time series with one +spike. It replaces v2's four faceted stones. The files are generated by the +Coffey Labs logo bundle's `source/gen.py` (kept outside this repository) and +copied in under this directory's names, so every import kept working. -Everything is a plain `` over four shared gradient stops, so a -re-theme is a find/replace on the stops rather than a redraw. +Two cuts of the mark: the full one, and a **small cut** for 40 px and below +(`favicon.svg` and the 16/32/48 rasters) that drops the paws, whiskers and +grid lines, which turn to mush that small. ## What the app actually uses @@ -21,24 +23,15 @@ so Vite does not emit them into the bundle: - `icon-glow.svg` / `icon-flat.svg` -- mark only, with and without the ambient glow. Use `-flat` anywhere an SVG filter gets stripped. -- `icon-mono-white.svg` / `icon-mono-black.svg` -- single-colour - silhouettes. +- `icon-mono-white.svg` / `icon-mono-black.svg` -- single colour, with + the face, paws and trace knocked out. - `wordmark-dark.svg` / `wordmark-light.svg` -- text only. - `hero-grid.svg` -- 800x480 banner scene (social card, splash). Raster favicons live in `web/static/icons/` (16/32/48/180/512), served from `/icons/` and referenced by absolute path in the layout head. -## Two things to know before editing - -**`logo-stacked-light.svg` is derived, not vendored.** The v2 package -ships no light-background stacked lockup, but the landing page needs one -for light theme. It is the stacked-dark file with the treatment the -package itself applies to its horizontal pair: same stone geometry and -gradients, ambient glow dropped (it reads as haze on white), wordmark -switched to the light-surface ink and accent (`#111315` / `#E6690E`). -If the package is refreshed, re-derive it rather than assuming an -upstream file appeared. +## Before editing **The wordmark is outlined, not live text.** Upstream ships the lockups with a `` element set in `'JetBrains Mono','Fira Code',ui-monospace, @@ -56,57 +49,22 @@ conversion is scripted: python3 web/scripts/outline-wordmark.py -Re-run it after refreshing the package from upstream (upstream will ship -live `` again). It rewrites only `` elements, leaves every -other byte alone, and skips files that have none, so it is safe to re-run. -Editing the wordmark's copy or spacing now means editing the upstream -`` and re-running the script -- not hand-editing path data. +The v3 bundle reuses these outlines, so its lockups arrive already +outlined. The script rewrites only `` elements, leaves every other +byte alone, and skips files that have none, so it is safe to re-run. +Editing the wordmark's copy or spacing means editing a `` and +re-running the script -- not hand-editing path data. ## Repository social preview -**`/docs/assets/social-preview.png` is derived, not vendored.** GitHub's -social card wants a 1280x640 raster; the package ships no such file, and -`hero-grid.svg` alone shows the mark with no project name -- fine as a -splash, wrong for a card that several platforms render without any -accompanying repo title. - -Built from two files already here, so it re-derives rather than needing -a redraw: - -```sh -# 1. hero-grid without its cairn: the four stones live in one -# -- drop that group and the base -# fill, grid pattern and vignette are left intact. -# 2. render background at target resolution, then crop 5:3 -> 2:1. -# 96px off the top (empty grid) and 32px off the bottom, NOT a -# centre-crop: the composition sits low and crowds the bottom edge. -rsvg-convert -w 1280 -h 768 hero-grid-no-cairn.svg -o bg.png -magick bg.png -crop 1280x640+0+96 +repage bg640.png - -# 3. composite the package's own horizontal lockup, so mark-to-wordmark -# spacing stays the designer's rather than something re-invented. -rsvg-convert -w 900 -h 225 logo-horizontal-dark.svg -o lockup.png -magick bg640.png lockup.png -gravity center -composite social-preview.png -``` - -`-dark` on purpose: the banner ground is `#0A0B10`, so the lockup needs -the `#F2F2F2` ink meant for dark surfaces. - -Re-running the above reproduces the committed file pixel for pixel -(`magick compare -metric AE` returns 0), but *not* byte for byte -- PNG -writes a timestamp chunk. Compare pixels, not `sha256sum`. - -The wide gaps in `cairn obs |` are the wordmark's intended spacing, -not a missing font -- the glyphs are outlined `` data and there is -no `font-family` anywhere in the file. Do not "fix" them. - -**Not yet applied.** GitHub only offers Settings -> General -> Social -preview on public repositories; the section is absent while this repo is -private. Upload it when that changes. +`/docs/assets/social-preview.png` (1280x640) comes from the same bundle: +the dark horizontal lockup on the banner grid with a one-line description. +GitHub only uses it once it is uploaded under Settings -> General -> Social +preview. ## Aspect ratios -Changed from v1 -- constrain one axis and leave the other `auto`: +Unchanged since v2 -- constrain one axis and leave the other `auto`: - horizontal lockups: 640x160 (v1 was 600x140) - stacked lockups: 360x320, **not square** (v1 was 360x360) diff --git a/web/src/lib/assets/favicon.svg b/web/src/lib/assets/favicon.svg index 7109002..ee61a00 100644 --- a/web/src/lib/assets/favicon.svg +++ b/web/src/lib/assets/favicon.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/hero-grid.svg b/web/src/lib/assets/hero-grid.svg index 291a8a2..dd3e21e 100644 --- a/web/src/lib/assets/hero-grid.svg +++ b/web/src/lib/assets/hero-grid.svg @@ -1,54 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/web/src/lib/assets/icon-flat.svg b/web/src/lib/assets/icon-flat.svg index 62c1e00..bac94a0 100644 --- a/web/src/lib/assets/icon-flat.svg +++ b/web/src/lib/assets/icon-flat.svg @@ -1,25 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/icon-glow.svg b/web/src/lib/assets/icon-glow.svg index 940fec4..e172a87 100644 --- a/web/src/lib/assets/icon-glow.svg +++ b/web/src/lib/assets/icon-glow.svg @@ -1,47 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/icon-mono-black.svg b/web/src/lib/assets/icon-mono-black.svg index 4ebcb8d..a628c58 100644 --- a/web/src/lib/assets/icon-mono-black.svg +++ b/web/src/lib/assets/icon-mono-black.svg @@ -1,8 +1 @@ - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/icon-mono-white.svg b/web/src/lib/assets/icon-mono-white.svg index 28c5396..fd4a148 100644 --- a/web/src/lib/assets/icon-mono-white.svg +++ b/web/src/lib/assets/icon-mono-white.svg @@ -1,8 +1 @@ - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/logo-horizontal-dark.svg b/web/src/lib/assets/logo-horizontal-dark.svg index 30135d5..cda2142 100644 --- a/web/src/lib/assets/logo-horizontal-dark.svg +++ b/web/src/lib/assets/logo-horizontal-dark.svg @@ -1,39 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/logo-horizontal-light.svg b/web/src/lib/assets/logo-horizontal-light.svg index 3ce7085..5b4827b 100644 --- a/web/src/lib/assets/logo-horizontal-light.svg +++ b/web/src/lib/assets/logo-horizontal-light.svg @@ -1,31 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/logo-stacked-dark.svg b/web/src/lib/assets/logo-stacked-dark.svg index f3b6743..a07ddd5 100644 --- a/web/src/lib/assets/logo-stacked-dark.svg +++ b/web/src/lib/assets/logo-stacked-dark.svg @@ -1,38 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/src/lib/assets/logo-stacked-light.svg b/web/src/lib/assets/logo-stacked-light.svg index ea34bf3..ce1b5ef 100644 --- a/web/src/lib/assets/logo-stacked-light.svg +++ b/web/src/lib/assets/logo-stacked-light.svg @@ -1,31 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +cairnobs diff --git a/web/static/icons/favicon-16.png b/web/static/icons/favicon-16.png index f7fc0bb..e6c1b10 100644 Binary files a/web/static/icons/favicon-16.png and b/web/static/icons/favicon-16.png differ diff --git a/web/static/icons/favicon-180.png b/web/static/icons/favicon-180.png index f3ab67e..df7a703 100644 Binary files a/web/static/icons/favicon-180.png and b/web/static/icons/favicon-180.png differ diff --git a/web/static/icons/favicon-32.png b/web/static/icons/favicon-32.png index 1c80955..c2f638d 100644 Binary files a/web/static/icons/favicon-32.png and b/web/static/icons/favicon-32.png differ diff --git a/web/static/icons/favicon-48.png b/web/static/icons/favicon-48.png index fdd004f..a67bb01 100644 Binary files a/web/static/icons/favicon-48.png and b/web/static/icons/favicon-48.png differ diff --git a/web/static/icons/favicon-512.png b/web/static/icons/favicon-512.png index cba8b8f..5795c0f 100644 Binary files a/web/static/icons/favicon-512.png and b/web/static/icons/favicon-512.png differ