Shelfery — Brand Assets¶
This is the venture-level counterpart to
docs/company/brand-assets.md: the record of what
Shelfery brand assets exist as candidates versus what is actually approved. A file's presence
in brand/ventures/shelfery/ does not by itself mean it is
approved — it must be listed here with an explicit approval note.
Color palette and typography — approved¶
See DD-SHELFERY-ADR-0001
(approved 2026-07-30) and strategy/brand-and-positioning.md
for the full approved token set (terracotta/sage/warm neutrals, Playfair Display + Geist). No
separate asset files back this decision — it ratifies the tokens already implemented in
shelfery/src/app/globals.css and shelfery/src/app/layout.tsx.
Logo mark — approved¶
See DD-SHELFERY-ADR-0002 (approved 2026-07-30). The provenance record below is retained as-is since it documents how the approved geometry was built.
The jar-on-shelf mark — provenance and status¶
- Origin: a Founder-supplied ChatGPT reference image
(
C:\Users\Stuart\Downloads\ChatGPT Image Jul 30, 2026, 02_43_42 PM.png, 1254×1254px), showing a line-art jar with a lid, on a shelf, in the approved terracotta on warm off-white. The Founder described this as "a pretty good read" — a strong candidate, not a final approval instruction. - Construction method: measured, not raw-autotraced.
plug-in-sel2path(GIMP 3) was run against isolated crops of the reference (lid, jar, shelf) to produce raw reference traces —brand/ventures/shelfery/source/shelfery-mark-traced-raw-{lid,jar,shelf}.svg, kept for provenance only, same convention as the Devonshire "D" mark's rejected raw autotrace. The actual master was hand-built from pixel measurements (connected-component bounding boxes and row-profile scans of the source PNG via NumPy) rather than used directly, because the source has three distinct elements at three different constructions: - Lid and shelf bar: solid stadium/pill shapes (confirmed by row-profile scans showing a
single contiguous run, not two — i.e., genuinely filled, not hollow). Built as
<rect>withrx/ryequal to half the measured height. - Shelf legs: solid rounded-bottom bars (radius = half the measured leg width, producing a semicircular cap — confirmed by the leg narrowing to a point at its lowest measured row).
- Jar body: a hollow line-art outline, not a fill — row scans showed two separate runs
per row (left wall, right wall) with a consistent measured stroke width of 34px, matching
Shelfery's existing line-art icon convention
(the
shelferyimplementation repository'sdocs/ai/design-principles.md's "line-art SVG icons... strokevar(--primary)" rule). Built as a single tangent-continuous closed centerline path (vertical walls, horizontal top/bottom edges, cubic-Bézier corners with matched tangents — same construction technique as the Devonshire "D" mark's band), stroked at 34px with round joins, rather than filled. - The shoulder curve (neck-to-body taper) is a simplified single smooth curve, not a pixel-exact trace of the reference's two-stage taper (a small rim flare followed by a longer shoulder). This is a legibility/maintainability tradeoff, not an oversight — see "Known simplifications" below.
- Master file:
brand/ventures/shelfery/source/shelfery-mark.svg—fill="currentColor"(jar body stroke also keys offcurrentColor), recolor freely.viewBox="322 287 608 687", tight crop around the mark's content bounding box, matching the Devonshire/Devonside masters' own convention. - Colorway exports:
brand/ventures/shelfery/exports/shelfery-mark-{terracotta,cream}.svg(terracotta#A6552Efor light backgrounds, cream#F9F4EFfor dark backgrounds) andshelfery-mark-{terracotta,cream}-{256,1024}.png(transparent background), plusshelfery-mark-square-badge-brownblack-256.png(a favicon-style badge: cream mark on the approved dark-mode PWA background#241a12), rendered viascripts/gimp_render_svg.pyandscripts/gimp_compose_badge.py. - Reference-only files:
brand/ventures/shelfery/source/shelfery-mark-traced-raw-{lid,jar,shelf}.svg(raw GIMP autotrace, rejected as final geometry for the reasons above) andbrand/ventures/shelfery/exports/shelfery-mark-crop-reference-{lid,jar,shelf}.png(the exact source crops the geometry was measured from) — kept for provenance/re-derivation, not for reuse as final assets.
Known simplifications (accepted as-is at approval)¶
- The jar's neck/shoulder taper is one smooth cubic curve rather than the reference's two-stage taper (a small ~11px flare right at the rim, then a longer shoulder). Visually close but not pixel-identical — see the side-by-side render produced during this work if a tighter match is wanted.
- The bottom-corner radius was estimated from a partial data set — the reference's bottom edge is cut off by the color-threshold right around its final rows, so the exact flat-bottom width was extrapolated rather than measured directly.
- Checked against Shelfery's other line-art icons for stroke-weight consistency down to a 16px
favicon frame as part of the 2026-07-30 icon regeneration (
shelferyrepo,docs/ai/implementation-blueprints.mdApp Rename Runbook §0) — reads cleanly at that size.
Wordmark lockup — approved¶
See DD-SHELFERY-ADR-0002 (approved 2026-07-30). The provenance record below is retained as-is since it documents how the approved lockup was built.
Provenance and construction¶
- Direction chosen: a ChatGPT-generated mockup ("Direction 3: Pantry-Label-Inspired Small-Caps Serif" — tracked small-caps serif) plus a separate, detailed ChatGPT-authored typography/layout brief (typeface candidates, tracking range, exact mark-height/gap/alignment ratios in a cap-height=100-unit system). Per the Founder's explicit instruction, the brief's color guidance was not used — colors are the already-approved brand palette (DD-SHELFERY-ADR-0001), not whatever the brief suggested.
- Typeface: Spectral SC, Medium (weight 500) — the brief's preferred choice, confirmed by
measurement rather than assumed: the jar mark's own line weight (34 native units, ≈7.7 units at
this lockup's scale) is lighter than all three candidate typefaces' natural stem weight (Spectral
SC Medium ≈15.8 units, Spectral SC SemiBold ≈19.0, Alegreya SC Medium ≈16.6, each measured at
cap-height=100 via rendered-glyph pixel scans). Medium is the closest of the three to the
mark's weight, not "too light" as the brief's own hedge assumed — SemiBold would have moved
further from a visual match, not closer. (The rendered three-way comparison used to make this
call was a working file, not a production asset — removed after the decision was made; the
measurements above are the durable record of why Medium was chosen.) Font obtained from Google
Fonts (
fonts.gstatic.com, Spectral SC v15, weight 500). - Tracking: 0.17em (the brief's own starting value), selected after producing comparison proofs at 0.14/0.16/0.17/0.18/0.20em — 0.17 read as the most balanced: open enough to feel "label-tracked" without the word losing cohesion as one unit.
- Optical kerning: computed directly from each glyph's ink bounding box (not eyeballed) — every adjacent pair landed within a tight 43–45 unit optical gap at uniform 0.17em tracking except RY, which measured 29.7 units (visibly tighter than the rest). A +15 unit kern was added specifically to that pair, which brought it to 44.7 units, in line with the others. No other pair needed adjustment.
- Case: tracked equal-height uppercase (not title case, not true small caps with an oversized initial), per the brief.
- Geometry (cap height = 100 units is the base measurement throughout):
- Horizontal: mark height 155 units (of the 150–160 permitted range), gap 42 units (of 40–45), wordmark vertical center placed 3 units above the mark's geometric bounding-box center (of the instructed 2–4 unit range) to compensate for the mark's shelf-heavy visual weight. Revised 2026-07-30, same day, after Founder review: the wordmark read too large next to the mark at this cap height, so the wordmark (only — mark unchanged at 155 units) was scaled down to 75% (effective cap height 75 units), with the gap and the vertical optical offset scaled down in the same proportion (gap 42→31.5, offset 3→2.25) so their ratio to the text stays exactly as calibrated — only the wordmark's overall size against a fixed mark changed, not the underlying spacing logic.
- Stacked: mark width 30% of total wordmark width (of the 28–32% range), gap from the shelf feet to the wordmark cap-top of 42 units (of 38–45). Not revised — the size complaint was specific to the horizontal lockup; the stacked lockup is unchanged from its original build.
- Both checked at 32/64/128/512px render heights: serifs stay legible, the RY pair reads as connected (not disconnected or cramped), and the wordmark does not overpower the mark at any tested size.
- Mark geometry: unaltered — the approved-candidate mark's paths are reused verbatim (uniform
scale + position only, per the brief's own constraint), wrapped in
<g id="shelfery-mark">. - Files:
- Master/editable:
brand/ventures/shelfery/source/shelfery-lockup-{horizontal,stacked}.svg(wordmark already converted to paths,fill="currentColor", wrapped in<g id="shelfery-wordmark">) andshelfery-lockup-{horizontal,stacked}-editable.svg(live<text>version for further editing in a design tool that has Spectral SC installed — the RY kern is noted inline as a comment since live text can't carry a per-pair kern override in this simple form). - Colorway exports:
brand/ventures/shelfery/exports/shelfery-lockup-{horizontal,stacked}-{light,dark}.svgand matching-{512,1024}.png— transparent background, single-color (light= terracotta#A6552Efor use on light surfaces,dark= cream#F9F4EFfor use on dark surfaces), matching the mark's own transparent-export convention. These are the actual production assets, not previews. - A combined, backgrounds-included reference sheet (all four combinations composited onto their
intended backgrounds, for visual review only — not itself a production asset):
shelfery-lockup-preview-sheet.png.
Asset register¶
| Asset | Type | Status | Source file | Export file(s) | Notes |
|---|---|---|---|---|---|
| Jar-on-shelf mark (standalone) | Vector mark, two colorways | Approved — DD-SHELFERY-ADR-0002 | brand/ventures/shelfery/source/shelfery-mark.svg |
brand/ventures/shelfery/exports/shelfery-mark-{terracotta,cream}.svg, shelfery-mark-{terracotta,cream}-{256,1024}.png |
Measured/reconstructed from a Founder-supplied reference image; see simplifications above. Wired into shelfery's favicon/PWA icons as of 2026-07-30. |
| Jar-on-shelf mark square badge | Raster, dark background | Approved — DD-SHELFERY-ADR-0002 | (derived; composited from shelfery-mark-cream.svg) |
brand/ventures/shelfery/exports/shelfery-mark-square-badge-brownblack-256.png |
#241a12 background (approved dark-mode PWA theme color), cream mark. Same composition used for shelfery's regenerated favicon/apple-touch-icon/PWA icons. |
| Wordmark lockup, horizontal | Vector, mark + Spectral SC Medium paths | Approved — DD-SHELFERY-ADR-0002 | brand/ventures/shelfery/source/shelfery-lockup-horizontal.svg |
brand/ventures/shelfery/exports/shelfery-lockup-horizontal-{light,dark}.svg, -{512,1024}.png |
0.17em tracking, +15 unit RY kern; mark unaltered. Used in shelfery's Home hero. |
| Wordmark lockup, stacked | Vector, mark + Spectral SC Medium paths | Approved — DD-SHELFERY-ADR-0002 | brand/ventures/shelfery/source/shelfery-lockup-stacked.svg |
brand/ventures/shelfery/exports/shelfery-lockup-stacked-{light,dark}.svg, -{512,1024}.png |
Mark at 30% of wordmark width, 42-unit gap to cap-top. Used in shelfery's Sign in/Sign up/Onboarding/Invite screens. |
| Color palette | Token set | Approved | — | — | See DD-SHELFERY-ADR-0001. |
| Typography (Playfair Display + Geist) | Typeface selection | Approved | — | — | See DD-SHELFERY-ADR-0001. UI/product typography only — the wordmark lockup above intentionally uses a different typeface (Spectral SC), a common lockup convention where the logotype and the product's UI type differ. |
How an asset gets added here¶
Same process as the company-level register — see
docs/company/brand-assets.md.
An agent may draft a proposed row after producing a candidate export but must not mark it approved.