Skip to content

The brand boards, and only the brand boards - #14

Merged
dallasbpeters merged 1 commit into
mainfrom
rolemodel/brand-wallpapers-only
Aug 25, 2026
Merged

The brand boards, and only the brand boards#14
dallasbpeters merged 1 commit into
mainfrom
rolemodel/brand-wallpapers-only

Conversation

@dallasbpeters

Copy link
Copy Markdown
Member

The picker offered the fourteen RoleModel boards followed by eighteen stock
gradients. This is a branded build, and a picker where an off-brand background is
one click away is one where a video eventually ships with one.

Removing the files was not the whole job. The list was never a directory listing:
WALLPAPER_COUNT = 18 and a naming convention synthesised the stock paths, which
is why the RoleModel set never appeared in the picker however many times the
branding was redone. So the count and the synthesis go, and WALLPAPER_PATHS is
the brand set — which projectPersistence already keys its canonical set off, so
that is also what decides which wallpapers a saved project may name.

Two bugs the removal turns from latent into live

The legacy path rewriter could not see the brand boards at all. It matched
wallpaper\d+\.jpg and nothing else, so a packaged project whose wallpaper was
one of ours came back as an unrewritten file:// URL pointing at the machine it
was saved on. That was already wrong; with the brand set now the only set, it was
every packaged project. The tail allows one directory segment, still .jpg, so it
cannot walk anywhere.

A bundled path that is no longer bundled now falls back. Only file:// URLs
were checked against the canonical set, so an already-relative /wallpapers/…
passed through whatever it named — harmless while the bundled set only grew, and
not harmless now: every project that used a stock gradient names a file that is
not there. Passing it through puts a broken image behind somebody's recording
instead of a board. Scoped to /wallpapers/, so a data: URI or a user's own
file:// path is still left exactly as it is.

Migration

Existing projects that named a stock gradient open on DEFAULT_WALLPAPER, which
is index 0, which is now a brand board. That is the intended migration and the
only visible effect.

Verification

986 tests pass across 64 files. The four that asserted the stock run is
canonical were pointed at brand boards — they were always testing path rewriting,
not which wallpapers exist — and one was added for the fallback.

The picker offered the fourteen RoleModel boards followed by eighteen stock
gradients. This is a branded build, and a picker where an off-brand background is
one click away is one where a video eventually ships with one.

Removing the files was not the whole job. The list was never a directory listing:
`WALLPAPER_COUNT = 18` and a naming convention synthesised the stock paths, which
is why the RoleModel set never appeared in the picker however many times the
branding was redone. So the count and the synthesis go, and `WALLPAPER_PATHS` is
the brand set — which `projectPersistence` already keys its canonical set off, so
that is also what decides which wallpapers a saved project may name.

Two bugs surfaced on the way, both of which the removal turns from latent into
live.

**The legacy path rewriter could not see the brand boards at all.** It matched
`wallpaper\d+\.jpg` and nothing else, so a packaged project whose wallpaper was
one of ours came back as an unrewritten `file://` URL pointing at the machine it
was saved on. That was already wrong; with the brand set now the only set, it was
every packaged project. The tail allows one directory segment, still `.jpg`, so it
cannot walk anywhere.

**A bundled path that is no longer bundled now falls back.** Only `file://` URLs
were checked against the canonical set, so an already-relative `/wallpapers/…`
passed through whatever it named — harmless while the bundled set only grew, and
not harmless now: every project that used a stock gradient names a file that is
not there. Passing it through puts a broken image behind somebody's recording
instead of a board. Scoped to `/wallpapers/`, so a data: URI or a user's own
`file://` path is still left exactly as it is.

Existing projects that named a stock gradient open on `DEFAULT_WALLPAPER`, which
is index 0, which is now a brand board. That is the intended migration and the
only visible effect.

**986 tests pass** across 64 files. The four that asserted the stock run is
canonical were pointed at brand boards — they were always testing path rewriting,
not which wallpapers exist — and one was added for the fallback.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dallasbpeters
dallasbpeters merged commit ccff74d into main Aug 25, 2026
13 of 16 checks passed
@dallasbpeters
dallasbpeters deleted the rolemodel/brand-wallpapers-only branch August 25, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant