Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 9260b003b3535d6cb9c29b04ebb1367d1ef14a9d
parent de476ce02f9103b49af12f2487f0f479e7a5ab5c
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Sat, 26 Sep 2026 03:22:09 -0400

plans: brand S4 review fixes — the Studio steps (Customization → Profile), the fontTools-pinned glyph parity, endCard null, the per-drawing mark cache, doctor's rsvg-convert; release-10 says S4 merges after the cut

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Diffstat:
Mplans/brand-and-themes.md | 33+++++++++++++++++++++++++++++----
Mplans/release-10.md | 2+-
2 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/plans/brand-and-themes.md b/plans/brand-and-themes.md @@ -1309,8 +1309,8 @@ S4 ships after release 10's cut and is **not part of the site rollout**: it touc - `banner-safe-1546x423.png`, the part every device shows. It also writes `INDEX.html` (operator rule: handoffs are HTML), with a preview of each asset, - its size, and the YouTube Studio upload steps: Customization → Branding → Picture / Banner - image / Video watermark. + its size, and the YouTube Studio upload steps: Customization → Profile (formerly Branding) → + Picture / Banner image / Video watermark → Change (or Upload). 3. **The umtool report-to-video brand preset: opt-in, and nothing else moves.** - **How it's enabled:** a manifest opts in (e.g. `render.brand: "archilyzer-media"`). The preset sets `render.palette` (bg `#151b20`, fg `#e7edf1`, muted `#8496a2`, accent `#5fa8a0`, amber @@ -1398,8 +1398,9 @@ rewrites `umtool/report-to-video/brands/archilyzer-media.json`). Rendered throug | `banner-safe-1546x423.png` | 1546 × 423 | 33,534 | plus `avatar.svg`, `watermark.svg`, `banner.svg`, `banner-safe.svg` (the same drawing with viewBox -`507 508.5 1546 423`), `lockup.svg` and `INDEX.html` (previews, sizes, Customization → Branding → -Picture / Banner image / Video watermark, then Publish). All four PNGs and the page were looked at. +`507 508.5 1546 423`), `lockup.svg` and `INDEX.html` (previews, sizes, Customization → Profile +(formerly Branding) → Picture / Banner image / Video watermark → Change, then Publish). All four PNGs +and the page were looked at. **The umtool preset** (`render.brand: "archilyzer-media"`; README "The Archilyzer Media preset"). - `brand.mjs`: `resolveBrandRender` (owns `palette` and `fontRegular` = vendored Plex Mono; resolves @@ -1524,3 +1525,27 @@ glyph, so it is set from Plex Mono's 0.74 em ascender and 0.698 em cap height). band reads it, and no Plex Mono bold is vendored. - umtool's project page lists the raw timeline, so the appended end card is built and chaptered but not listed there. + +**Review fixes** (verdict SHIP AFTER FIXES, `$T/s4-review.md`; the three rulings — automatic end card, +rail/ledger/chart on Fira, no bold Plex Mono yet — stand). +- `387a8233`, should-fix + nit 4: + - INDEX.html's Studio steps now say **Customization → Profile (formerly Branding)**, then the + asset's **Change** (Upload if it has none), linking YouTube Help "Manage your channel branding" + (answer 10456525): Branding was folded into Profile. The test pins the new words; this plan's + two mentions are corrected. + - `brandMediaGlyphs.ts` records the fontTools it was generated with (`4.65.0`); the parity test + skips, with the reason in the output, when another version is installed (checked with a fake + `python3` on PATH: `# SKIP fontTools 0.0-fake is installed; … generated with 4.65.0`). +- `fde57d46`, nits 2, 3, 5: + - `endCardConfig(null)` is off, like `false`, so resolving a render block twice keeps an + ended-off card off (test +1); + - the header mark is `_mark-<size>-<sha256(kit svg)[:12]>.png`, so a regenerated kit is never + answered by a stale PNG (asserted in the guarded render test); + - `umtool doctor` lists `rsvg-convert` as needed by the brand preset too. +- Nit 6: `release-10.md` says S4 *merges* after the cut. +- Gates: tsc clean (49 s); common **1,923/1,923**, editor unit **79/79**, `test:scripts` **173 + 1 + skip**, mcp **219/219**; `pnpm --filter umtool run build` ok. The identity diff re-run on the fixed + tree anyway (the non-brand path is untouched): **334 files, 201 raw + 133 date-chunk-only, 0 + different**. The branded fixture rebuilt (same 3,631,785-byte cut). The real assets were + regenerated: every PNG and SVG byte-identical to the first run, only `INDEX.html` changed. No e2e: + the one umtool app line is a `neededBy` label no spec reads. diff --git a/plans/release-10.md b/plans/release-10.md @@ -151,7 +151,7 @@ which passed while S3 was unmerged), and every rollout script is fail-stop: no h failed build, no hub step after a failed sites run, a skipped site named, no restart on the pre-brand `BUILD_ID`. Details: `brand-and-themes.md`, S3 "Review fixes". -**S4 — Archilyzer Media** (the YouTube channel's assets and umtool's opt-in `render.brand` preset) merged after the release-10 cut on `brand/media` and is **not part of the site rollout**: it touches only `common/lib` + `common/bin` and umtool; see `brand-and-themes.md`, "Slice S4, as shipped". +**S4 — Archilyzer Media** (the YouTube channel's assets and umtool's opt-in `render.brand` preset) merges after the release-10 cut, from `brand/media`, and is **not part of the site rollout**: it touches only `common/lib` + `common/bin` and umtool; see `brand-and-themes.md`, "Slice S4, as shipped". ## Rollout