DRAFT for Jared's review. Internal, not for distribution. Nothing here is approved or published as final.
"Nobody gets out clean. Some get out."
#14110FPrimary background#D9D2BFPrimary type#8FA38AAccent, HARVEST#A8432FWarning, calls to action#3E5A5CTunnels, secondary panels#9CC3E6ARBUC accent only#C9A24ALamp light, sparinglyNever pair navy with orange (Rastrodome guardrail).
Click any image for the full-size PNG. All lettering is real type, not generated. Print and merch marks still need a manual SVG vector redraw.
Rastrodome is PENDING TRADEMARK CLEARANCE (USPTO clear; Texas SOSDirect, handle checks and attorney sign-off open). Fallback title: "Pale Harvest: Relay".








































































Status: internal draft. Nothing publishes, schedules, sends or goes to production. Jared approves at the customer-facing gate and does the final edit. Art standard (permanent, every property, no exceptions): FusionRig API for still illustrations and ALL Kickstarter landing art; ChatGPT for high-end artwork; FusionRig local LLM for draft storyboards. Clean lettering and exact sizes go through FusionRig's HTML-to-PNG campaign renderer (see 00-capability.md).
Broken-sign fragment names only; no full trademarks; no em dashes; banned word absent; excluded-names list applied (none appear). Rastrodome: no team marks, team colors (navy and orange), star, or recognizable dome on any logo or cover.
src/services/image-gen.service.ts. Provider registry IMAGE_PROVIDERS = openai (default) and fal (any model id starting fal-ai/, e.g. fal-ai/flux-pro/v1.1). Default model gpt-image-1 (src/config.ts line 276).1024x1024, 1024x1536, 1536x1024 (config.ts line 277; sizeForKind line 293 picks 1536x1024 as "closest available" because "the provider has no size" for other ratios). Quality tier low/medium/high/auto.backgroundMode: 'transparent' with a real alpha check (verifyTransparency, outer 6% ring) plus one auto re-roll and halo trim (lines 88 to 270).src/services/upscale.service.ts, providers replicate / http / fal (Real-ESRGAN class). Falls back to bilinear if not configured.src/services/campaign-render.service.ts, Puppeteer HTML to PNG, any width/height up to 4096 px edge, scale up to 3, omitBackground for transparent PNG. Kickstarter project card is 1024x576 here. This is the Kickstarter art pipeline (templates in src/templates/campaign/).image-convert.service.ts passes SVG through untouched; no tracing (no potrace or vectorizer).| Format | Verdict | Evidence and method |
|---|---|---|
| Square profile logo (1080x1080 / 400x400) | CAN | gpt-image-1 at 1024x1024 native (config.ts 277), upscale to 1080 via upscale.service, or exact 1080/400 via campaign-render HTML. Test: tests/square-1080.png |
| Facebook cover 1640x624 with mobile safe zone | PARTIAL (CAN for final composite) | Generator cannot output 2.63:1; nearest 1536x1024 must be cropped and upscaled. campaign-render composes exact 1640x624 with art as background and a centered safe zone. Test: tests/fb-cover-1640x624.png (dashed 940x300 safe zone) |
| Wide packaging logo (4:1 to 6:1, low height) | PARTIAL | Generator max ratio 3:2, so no native wide output. campaign-render produces exact 1500x300 (5:1) transparent PNG with real type. Test: tests/wide-logo-1500x300-transparent.png. No vector output. |
| Transparent background | CAN | backgroundMode 'transparent' plus alpha verify; renderer omitBackground |
| Vector / SVG | CANNOT | No SVG output or tracing anywhere in the pipeline |
| Upscaling | CAN | upscale.service.ts |
Placeholder type only (system Impact), not final art.
| Form | Spec | Build | Tool |
|---|---|---|---|
| 1. Square profile logo | 1080x1080 master, 400x400 export; stacked PALE / HARVEST, Zombie Epics tag below; emblem: a single bleached wheat stalk bent into a hook | Emblem art generated, type set in renderer | FusionRig API (emblem still), FusionRig renderer (type), ChatGPT for hero version |
| 2. Facebook cover | 1640x624, all type inside the centered 940x300 mobile safe zone | Art background cropped from 1536x1024, upscaled, composited | FusionRig API + renderer |
| 3. Wide packaging logo | 5:1 (1500x300 master; 4:1 and 6:1 variants), single line PALE HARVEST, emblem left | Real type, transparent PNG; SVG by manual vector redraw | FusionRig renderer; manual vector |
Prompt spec, emblem: "single bleached wheat stalk bent into a hook, pale bone on soot black, flat graphic, centered, hard edges, no text, transparent background". Negative: "letters, logos, stars, domes, brand marks".
Wheat-hook emblem alone. 512, 192, 48, 32, 16 px. At 32 px and below, drop texture, use solid Bone on Soot. Tool: FusionRig API still, reduced in renderer.
PALE HARVEST in condensed heavy sans, all caps, tracking +40; HARVEST in Lichen. Broken-sign variant: one or two letters cracked or missing, never enough to lose the read. Zombie Epics wordmark: lighter weight, all caps, tracking +120.
| Name | Hex | Use |
|---|---|---|
| Soot | #14110F | Primary background |
| Bone | #D9D2BF | Primary type |
| Lichen | #8FA38A | Accent, HARVEST |
| Rust | #A8432F | Warning, calls to action |
| Sump Water | #3E5A5C | Tunnels, secondary panels |
| Still Flame | #9CC3E6 | ARBUC accent only |
| Sodium | #C9A24A | Lamp light, sparingly |
| Never pair navy with orange (Rastrodome guardrail). |
Clear space = height of the letter H in PALE on all sides. Minimum: wide logo 120 px / 30 mm wide; square 48 px / 12 mm.
No stretching, recoloring outside palette, drop shadows, glows, or outlines; no placing on busy art without a Soot plate; no full trademarks, brand marks or real logos nearby; no team marks, team colors, stars or recognizable domes; no excluded names; never let AI-generated lettering stand in for set type.
"Nobody gets out clean. Some get out." Alternates: "Count the bells. Count the dead." / "Every survivor pays in something."
Kickstarter is the preeminent funding channel: every other surface points to the Kickstarter pre-launch page first. All Kickstarter landing art is FusionRig API stills, composed to exact pixels in the FusionRig campaign renderer (campaign-render.service.ts). ChatGPT only for the single hero key art upgrade if Jared wants it. Draft boards for the campaign video on FusionRig local LLM. Five campaigns in sequence: RPG, comic, board game, TV, novel.
| Asset | Size | Prompt spec | Tool |
|---|---|---|---|
| Project image (card) | 1024x576 | "six survivors on a broken overpass above a drowned downtown, dawn, pale wheat in a cracked planter, no text" + wordmark set in renderer | FusionRig API + renderer |
| Hero key art | 1536x1024 master, upscaled | "the Loop market under a bell scaffold, lantern light, crowd of survivors, dead pressing at a far gate, painterly" | FusionRig API (ChatGPT upgrade optional) |
| Page header / story banner | 1360 wide (680 at scale 2) | Soot plate, wordmark, voice line | FusionRig renderer |
| Section headers (Story, Rewards, Stretch Goals, Risks, FAQ) | 1360x240 | Broken-sign fragment lettering over rust texture | FusionRig API texture + renderer type |
| Reward tier tiles (Survivor, Runner, Bell Keeper, Still Boss, Collector) | 1360 wide, auto height | Item renders per tier on Soot, tier name in Bone | FusionRig API + renderer |
| Stretch goal graphics | 1360x400 each, plus a locked/unlocked pair | Progress bar of bells; unlocked state lights the bell in Sodium | FusionRig renderer |
| Add-on tiles (dice, minis, GM screen) | 680x680 | Product still on Soot | FusionRig API |
| Pre-launch page art | 1024x576 | Same as project image, "Notify me" plate | FusionRig renderer |
| Campaign video boards | 16:9 frames | Draft storyboard | FusionRig local LLM; commercial clips FusionRig; final assembly NOT on FusionRig |
Per-campaign key art: RPG (GM at a table of minis under bell light), Comic (ARBUC still flame, or Relay with fallback title layer while PENDING CLEARANCE), Board game (tunnel map board), TV (cast silhouettes), Novel (three book spines).
| Lockup | Layout | Tool |
|---|---|---|
| Mini box (front) | Wide logo top band, clan or creature art center, Zombie Epics mark bottom right | FusionRig API art + renderer; SVG for print |
| Mini box (spine) | Wide logo 6:1, rotated | Renderer; SVG |
| Shipping box | One-color Bone wide logo on kraft, wheat-hook emblem large on two faces | Manual vector |
| Core RPG book | Square emblem top, wordmark stacked, cover art by ChatGPT | ChatGPT + renderer |
| Comic covers | Series title layer separate from art layer | ChatGPT hero art; FusionRig API variants |
| Card backs | Emblem centered, Soot field, Lichen border | FusionRig API + renderer |
| Dice (standard and gemstone) | Wheat-hook replaces the top face | Manual vector |
All print and merch marks need manual vector (SVG) work; FusionRig cannot output vector.