Unify Iron Coast mission names and cinematic mission previews

This commit is contained in:
raptorreplica committed 2026-10-19 00:10:38 +11:00
1 parent 668b3ff86d
commit 2d95e145a5
406 files changed
+134963 -245

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

@@ -0,0 +1,9 @@
Use case: stylized-concept
Asset type: ONE cinematic mission briefing illustration for Iron Coast S1 M02: Tidal Relay.
Primary request: replace the old top-down briefing composition with a new cinematic illustration matching Image1, the user's approved Stormwall briefing.
Input images: Image1 is the exact STYLE AND FOREGROUND AIRCRAFT reference, not the scene to duplicate. Image2 is this mission's existing briefing and is ONLY its environment/material/terrain theme reference; do NOT imitate its top-down tiled perspective.
Actual mission environment: A tidal causeway and three compact anchored radar relay platforms linked over dark-blue coastal water, low concrete communications buildings and slim radar dishes. Gray command cruiser farther beyond the relays. Cool overcast maritime light, restrained amber signal lamps. Keep distinct round relay platform visible; no giant fantasy antenna.
Foreground subject: one compact steel-gray twin-engine Raptor-like strike fighter viewed from behind and above, banking and flying toward the upper right into this mission. Believable cockpit, exactly two engines, coherent wings and fin geometry, worn mechanical panels with restrained teal and amber accents.
Composition: cinematic oblique landscape illustration, not overhead or a screenshot. Foreground fighter fills the lower-left/center but its complete silhouette and the signature destination both fit within the center75percent of image height. Clear middle-distance mission environment, atmospheric horizon and broad readable value masses that survive a132x70 menu thumbnail. Avoid fine detail as the only mission distinction.
Style: restrained hand-painted 1990s shooter box-art realism matching Stormwall, crisp aircraft silhouette and readable panels, navy/desaturated teal, steel-gray machinery and muted amber industrial light. Follow the actual environment above, not an arbitrary generic storm or ocean scene.
Canvas: landscape16:10, ideally1280x800, opaque. No text, labels, HUD, logos, watermarks, borders, grid, atlas, split panels, tile collage or gameplay screenshot. Do not invent objectives, new enemies, excessive aircraft limbs, forests, glaciers, alien architecture or large explosions absent from the setting. Do not regenerate Stormwall or Iron Crown. One complete new illustration only.
@@ -0,0 +1,54 @@
{
"asset": "Iron Coast S1 M02: Tidal Relay cinematic briefing",
"mission_id": "iron_coast_mission_2:mission_02",
"generation": {
"tool": "built-in image_gen.imagegen",
"actual_calls": 1,
"gate_owner": "/root/iron_coast_names",
"gate_lease": "aa1482df-113d-4891-bdfd-f8808efafbb6",
"outcome": "success",
"terminal_reported_immediately": true,
"prompt": "briefing-cinematic-prompt.txt",
"prompt_sha256": "a8e8f7b7971299c8e13ff39f7da00ff3bcab4f36e39cfc86a655920fd8c0a135",
"master": "briefing-cinematic-generated-master.png",
"master_sha256": "9af0571bf9ca512ddc9f55c0d8b320117d34fa2994f835042748da6b7ddd1a14",
"master_dimensions": [
1586,
992
],
"untouched_master_preserved": true,
"references": [
{
"role": "Stormwall style and foreground aircraft",
"path": "mods/iron_coast_mission_4/art/briefing_hd.png",
"sha256": "cd987c13bc55bba2620379ca435c0cccf08d7564364d730c65d0be285bb82221"
},
{
"role": "own prior top-down environment reference only",
"path": "mods/iron_coast_mission_2/art/briefing_hd.png",
"sha256": "4ebdf34987c5de0abb36638f853473bbba57084fa333419b596de599a8165416"
}
]
},
"derivation": {
"recipe": "build_cinematic_briefing.py",
"hd": "RGB1280x800, centered ImageOps.fit LANCZOS preserving16:10; no repaint",
"sd": "RGB320x200 LANCZOS downsample of complete sameHD",
"menu_review_crop": "centered132x70 LANCZOS file-onlypreview; actual SDLthumbnail review required separately"
},
"outputs": {
"hd": {
"path": "art/briefing_hd.png",
"sha256": "fcae040d0d8d2f98e05d7a6e5659a3ddfa8cf3111740eacdfdf557cbe6f7144e"
},
"sd": {
"path": "art/briefing_sd.png",
"sha256": "8d8d141ebd2dda2278179626f32a5d638f10f922a03cd402147766697e0210ab"
}
},
"limits": [
"Illustrative mission briefing only; no mission objectives, names, IDs, scripts, wave counts, collisions, equipment, music or gameplay change.",
"New authored artwork does not count toward Originalsprite/terrainHD coverage.",
"Original top-down briefing remains in Git history and originalgenerationfiles; currentreplacementis a newindependentillustration."
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 137 KiB

@@ -0,0 +1,13 @@
#!/usr/bin/env python3
"""Rebuild only this generated mission briefing's SD/HD derivatives (Pillow)."""
from pathlib import Path
import hashlib
from PIL import Image, ImageOps
root = Path(__file__).resolve().parent
master = root / 'briefing-cinematic-generated-master.png'
if hashlib.sha256(master.read_bytes()).hexdigest() != '9af0571bf9ca512ddc9f55c0d8b320117d34fa2994f835042748da6b7ddd1a14':
raise SystemExit('Unexpected original briefing master bytes')
with Image.open(master) as image:
hd = ImageOps.fit(image.convert('RGB'), (1280, 800), Image.Resampling.LANCZOS, centering=(0.5,0.5))
hd.save(root / 'briefing_hd.png')
hd.resize((320, 200), Image.Resampling.LANCZOS).save(root / 'briefing_sd.png')