@@ -1275,47 +1275,37 @@ def main(
12751275 )
12761276
12771277 # ---- One-time project logo kickoff (per workspace) -----------------
1278- # Use run_meta.json to ensure we do this only once for this workspace.
12791278 meta = load_run_meta (workspace )
1280- # MINIMAL CONFIG
12811279 logo_cfg = getattr (cfg , "logo" , {}) or {}
12821280 logo_enabled = bool (logo_cfg .get ("enabled" , True ))
12831281
12841282 if logo_enabled and not meta .get ("logo_created" ):
1285- scene_style = logo_cfg . get (
1286- "scene " , "random"
1287- ) # noir/sci-fi/etc or "random"
1283+ # knobs (you can keep reading from cfg, or hard-code)
1284+ scene_n = int ( logo_cfg . get ( "scene_n " , 2 ))
1285+ sticker_n = int ( logo_cfg . get ( "sticker_n" , 4 ))
12881286 stickers_enabled = bool (logo_cfg .get ("stickers" , True ))
1289- n_variants = int (logo_cfg .get ("n" , 4 ))
1290- logo_model_choice = logo_cfg .get ("model" , "openai:gpt-image-1" )
12911287
1292- # pick the model string & a providers map
1293- providers = (getattr (cfg , "models" , {}) or {}).get (
1294- "providers" , {}
1295- ) or {}
1288+ # IMPORTANT: to get 4 DIFFERENT scene styles, use random
1289+ scene_style = "random"
1290+
1291+ # Optional: aperture to open/close prompt constraints (0..1)
1292+ aperture = float (logo_cfg .get ("aperture" , 0.75 ))
12961293
1297- v_provider , v_model , v_extra = _resolve_model_choice (
1298- logo_model_choice , {"providers" : providers }
1299- )
13001294 scene_dir = Path (workspace ) / "logo_art" / "scenes"
13011295 sticker_dir = Path (workspace ) / "logo_art" / "stickers"
1296+
13021297 try :
1303- # SCENE artwork — uses existing defaults for everything else
13041298 _ = kickoff_logo (
13051299 problem_text = problem ,
13061300 workspace = workspace ,
13071301 out_dir = scene_dir ,
1308- # size omitted (auto with aspect)
1309- background = "opaque" ,
13101302 quality = "high" ,
1311- n = n_variants ,
1312- style = scene_style , # <- only knob exposed via YAML
1303+ n = scene_n , # e.g. 4
1304+ style = scene_style , # MUST be "random" for multi-style scenes
13131305 mode = "scene" ,
13141306 aspect = "wide" ,
13151307 style_intensity = "overt" ,
1316- image_model = v_model ,
1317- image_model_provider = v_provider ,
1318- image_provider_kwargs = v_extra ,
1308+ aperture = aperture ,
13191309 console = console ,
13201310 on_done = lambda p : console .print (
13211311 Panel .fit (
@@ -1331,20 +1321,16 @@ def main(
13311321 ),
13321322 )
13331323
1334- # STICKER artwork — optional
13351324 if stickers_enabled :
13361325 _ = kickoff_logo (
13371326 problem_text = problem ,
13381327 workspace = workspace ,
13391328 out_dir = sticker_dir ,
13401329 size = "1024x1024" ,
1341- background = "opaque" ,
13421330 quality = "high" ,
1343- n = n_variants ,
1331+ n = sticker_n ,
13441332 style = "sticker" ,
1345- image_model = v_model ,
1346- image_model_provider = v_provider ,
1347- image_provider_kwargs = v_extra ,
1333+ aperture = aperture ,
13481334 console = console ,
13491335 on_done = lambda p : console .print (
13501336 Panel .fit (
@@ -1359,12 +1345,8 @@ def main(
13591345 )
13601346 ),
13611347 )
1362-
13631348 finally :
1364- # Even if kickoff_logo fails, mark that we attempted it so we don't spam runs.
1365- # Remove this flag manually if you want to re-generate art for this workspace.
13661349 save_run_meta (workspace , logo_created = True )
1367- # --------------------------------------------------------------------
13681350
13691351 models_cfg = getattr (config , "models" , {}) or {}
13701352
0 commit comments