Scribble Works wordmark v3 — candidates for founder reaction
Ruling (2026-08-31): "Scribble" must read as WAX CRAYON (waxy, imperfect, multi-color per letter); "Works" = flat bold rounded-sans anchor (Baloo 2 ExtraBold), one color, noticeably heavier/larger. Contract: ~/rdco-vault/02-sops/DESIGN-scribble-works.md. All colors from the Ray-sampled site tokens (Base.astro).
Finalists (survived the blind fresh-eyes gate — 4+ on all four axes)
- Finalist A — image-model crayon lettering (Grok, real wax tooth, every letter verified) composited with code-drawn Baloo 800 "Works" in ink
#211b16. Gate: 5/5/5/5. Raster only — needs vectorization (potrace or manual) if chosen. - Finalist B — code-drawn Gaegu-Bold letterforms, geometrically roughened + multi-pass wax layering, real crayon grain masked in; "Works" in maroon
#541a27. Gate: 4/5/4/5.finalist-B-letterforms.svgis the clean vector base (grain is a raster/CSS-filter finishing pass).
Files per finalist: -white.png, -paper.png (site ground #f8f0dd), -small120.png (120px header render at 3x). contact-sheet.png = both side by side.
Cut by the blind gate (in rejected/, with technique labels per founder ask)
- candidate-A (Schoolbell base + treatment): read as watercolor/gouache blobs, not crayon (2/5 on crayon axis).
- candidate-B (Gaegu-Bold base, pure vector, light grain): same soft-brush verdict; its geometry lives on inside Finalist B.
- candidate-C (Caveat crayoned — minimal-change option): reads brush-script; "bble" cluster crowds and fails at 120px.
- candidate-F (Finger Paint base + treatment, founder-suggested): bristle-brush streaks, not wax; blue "Works" duplicated a Scribble hue and stopped anchoring. Schoolbell = candidate-A. Neither font base survived; the texture, not the base font, decided the crayon axis.
Refinement round on Finalist B (founder spec 2026-08-31 21:05 + 21:06)
Fixes applied, all metric-driven (no eyeballing):
- Level inter-word baseline. Root cause of the old drift: the whole "Scribble" group carried a
rotate(-2)about its LEFT origin, lifting its right end ~26px above the Works baseline, plus ±0.05em random per-letter baseline jitter. Now both word groups translate to the SAME baseline y (h*0.70), and every Scribble letter is normalized: rotate the letter (its per-letter tilt), measure its true lowest point, shift so that point sits at baseline −1px. Rendered check at 2200px: B1/B4 letter bottoms all within ±3.7px of the shared line (letters are 195px tall, so <2%); Works bottom sits +3.6px (round-glyph overshoot of o/s — normal type behavior). - Final "e" no longer drops. The drop was Gaegu's baked-in per-glyph baseline irregularity + the old symmetric jitter; per-letter bottom-normalization kills both. Measured "e" delta: +0.1px (B1).
- Works larger: 160 → 190px em (vs Scribble 195), same Baloo 2, flat maroon
#541a27, grain-free. - Tilt variant is baked into path coordinates (rotation about the word's baseline MIDPOINT, so the optical mean baseline stays on the reading line: measured S +6.0 → e −6.3, mean +0.6px). ImageMagick's SVG parser mishandles three-arg
rotate(a cx cy)transforms — never use them in this pipeline.
Variants (each: -letterforms.svg vector base, -white.png, -paper.png, -small120.png; grain = same real-crayon mask + waxy streak finishing pass as Finalist B, Scribble only):
- B1 — level baseline + larger Works (wght 800). Seed 112 (first roll, seed 23, failed the blind gate: the 'r' read as floating — seed swept to minimize per-letter rotation on S/r/i/l, the letters the critic flagged; final letter bottoms within ±3.1px of the line)
- B2 — B1 + slight upward tilt of Scribble (−1.3°, midpoint pivot)
- B3 — B1 + gentle arch (sine, ends pinned to the line, middle up 11px)
- B4 — B1 with Works at wght 600 (seed 112; the 800-vs-600 weight A/B — 600 is the floor, lighter gets eaten by the crayon word)
contact-sheet-B-refined.png = all four on the paper ground, labeled. Generator: tools/refine.py (depends on tools/gen.py + tools/compose.py; fonts + the crayon-grain source PNG were session-scratchpad — refetch Gaegu/Baloo 2 from Google Fonts if regenerating).
Blind gate (fresh-eyes, zero-context, two rounds): all four shipped variants PASS all three checks — level inter-word baseline, no letter breaking the reading line, Works reads as a real anchor (dominant at 120px). Round 1 passed B2/B3 and failed the seed-23 B1/B4 (floating 'r' / sinking S); round 2 passed the reseeded B1/B4. Critic's ranking: B2 cleanest overall; B1 edges B4 on small-size crayon solidity.
Spend
One xAI Grok image call (4 outputs), well under the $2 cap.