toastsim/scripts/gen-art-batch.sh
type-two d0fc805705 THE HORIZON: six stations get a room to stand in
Six blurred backdrops off the FLUX lane — dusk backyard for the grill,
copper-hung splashback for the pan, steaming stockpot shelf for the
poach, butcher's tile for the steak board, pantry shelves for the eggs,
steel cold room for the fridge — and a lesson in frustums for their
integration. A far wall plane (the kitchen splashback trick) is
invisible to these stations' pitched-down cameras: at 45 degrees of
downward tilt nothing above the horizontal ever enters the frame. So
the art ships as the scene BACKGROUND instead — screen-space, swapped
in on enter() and restored on exit() — and the oversized 24x12 bench
slabs that covered every pixel shrank to real bench size so the room
can peek around them. The stations went from furniture in fog to
furniture in a kitchen.

Mechanics untouched by the slab diet — the drag planes are infinite
THREE.Planes, not the meshes: grill/pan/fridge/steak drivers all pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 02:52:58 +10:00

57 lines
5.3 KiB
Bash
Executable File

#!/bin/bash
# gen-art-batch.sh — the full 2D art pass on the Cloudflare FLUX lane.
# Regulars' ticket portraits, THE MOTHER's jar states, dish heroes.
# Idempotent: skips anything already in public/assets/img.
set -uo pipefail
cd "$(dirname "$0")/.."
S="${SCRATCH:-/tmp/toastsim-art}"; mkdir -p "$S"
STYLE="claymation stop-motion figurine, plain light grey background, soft studio lighting, chunky stylized game asset, waist-up portrait"
JSTYLE="claymation stop-motion style, plain light grey background, soft studio lighting, chunky stylized game asset"
gen() { # gen <outname> <seed> <prompt>
local name="$1" seed="$2" prompt="$3"
[ -f "public/assets/img/$name.png" ] && { echo "= $name exists"; return; }
./scripts/cf-flux.py "$S/$name.raw" "$prompt" 8 "$seed" >/dev/null \
&& sips -s format png -Z 768 "$S/$name.raw" --out "public/assets/img/$name.png" >/dev/null 2>&1 \
&& echo "+ $name" || echo "! $name FAILED"
}
# The regulars — one fixed seed each so reruns keep the same person.
gen who_deidre 101 "$STYLE, elderly woman with lavender-grey perm, floral cardigan, large round glasses on a chain, clutching a small handbag, expectant pursed smile"
gen who_ray 102 "$STYLE, middle-aged working man in a flat cap and worn brown work jacket, stubble, mug of tea in hand, easy-going squint"
gen who_a_child 103 "$STYLE, small child on tiptoes at a counter, oversized striped jumper, gap-toothed grin, holding out a fistful of coins"
gen who_a_man_in_a_hurry 104 "$STYLE, businessman with loosened tie and rumpled suit, briefcase under one arm, checking his wristwatch, harried expression"
gen who_a_regular 105 "$STYLE, comfortable older man in a knitted vest with a folded newspaper under his arm, content half-smile, coffee mug"
gen who_someone_new 106 "$STYLE, young woman with a short bob and denim jacket, looking around uncertainly, holding a menu, hopeful nervous smile"
gen who_the_bloke_from_two_doors_down 107 "$STYLE, unshaven man in a tartan dressing gown over day clothes, slippers, holding his own mug from home, sheepish grin"
gen who_the_chef_on_her_day_off 108 "$STYLE, woman with hair in a tight bun, chef whites jacket open over a band t-shirt, arms crossed, appraising professional stare"
gen who_the_delivery_at_6am 109 "$STYLE, courier in a hi-vis vest and beanie mid-yawn, cardboard box under one arm, heavy eyelids"
gen who_the_lunch_rush 110 "$STYLE, three impatient office workers crowded shoulder to shoulder, all checking phones and watches, tight group"
gen who_the_man_at_table_nine 111 "$STYLE, mysterious lone man in a long grey overcoat, fedora resting on the table edge, steepled fingers, unreadable face"
gen who_the_pavlova_order 112 "$STYLE, grand formidable elderly woman in pearls and a silk scarf, chin high, gloved hands folded, expecting perfection"
gen who_the_benedict_table 113 "$STYLE, refined woman in a cream blazer with gold earrings, holding a menu closed, patient knowing smile"
# THE MOTHER — three states of one jar.
gen jar_bubbling 201 "$JSTYLE, single glass mason jar of sourdough starter, cloth cap tied with string, contents risen and bubbly, lively froth over the rim, warm and healthy"
gen jar_sulking 202 "$JSTYLE, single glass mason jar of sourdough starter, cloth cap tied with string, contents flat and sunken with a thin grey liquid layer on top, gloomy"
gen jar_dead 203 "$JSTYLE, single glass mason jar of long-dead sourdough starter, cloth cap askew, contents collapsed dark and crusted, a small wilted flag stuck in it, funereal"
# Dish heroes — the plate on the scorecard's order line.
gen hero_grill 301 "$JSTYLE, plate of chargrilled mushroom skewers with proper dark grill marks, single plate centered"
gen hero_pan 302 "$JSTYLE, cast iron pan with golden butter-basted mushrooms glistening, single pan centered"
gen hero_steak 303 "$JSTYLE, sliced rib eye steak on a wooden board, rosy pink centre, resting juices, single board centered"
gen hero_eggs 304 "$JSTYLE, glass bowl of whipped glossy egg whites beside three brown eggshells, single bowl centered"
gen hero_poach 305 "$JSTYLE, single perfect poached egg on a slotted spoon, white silky and intact, droplet falling"
gen hero_benedict 306 "$JSTYLE, eggs benedict on a toasted muffin, hollandaise dripping down, single plate centered"
# Station backdrops — blurred walls so every scene has a horizon, not fog.
BSTYLE="soft-focus heavily blurred background, muted warm dark tones, no sharp foreground objects, cozy game environment backdrop art, wide shot"
gen bg_grill 401 "$BSTYLE, backyard at dusk seen past a grill, wooden fence, string lights, drifting smoke"
gen bg_stove 402 "$BSTYLE, dark tiled kitchen splashback with hanging copper utensils and a warm lamp"
gen bg_pot 403 "$BSTYLE, steamy stove wall with a shelf of stockpots and rising steam wisps"
gen bg_butcher 404 "$BSTYLE, white tiled butcher shop wall with hanging tools and a wooden rail"
gen bg_pantry 405 "$BSTYLE, warm pantry shelves with egg cartons, flour sacks and preserving jars"
gen bg_coldroom 406 "$BSTYLE, stainless steel commercial kitchen cold room, soft blue-grey light"
echo done