Bald mascot and one-word MatGames title on the loading screen

This commit is contained in:
enne2
2026-10-11 01:59:38 +02:00
parent 4a04635f41
commit db2b57775c
7 changed files with 102 additions and 23 deletions
+13 -2
View File
@@ -13,13 +13,15 @@ from PIL import Image, ImageDraw, ImageFilter, ImageFont
parser = argparse.ArgumentParser()
parser.add_argument('raw', type=pathlib.Path, help='raw generated image (magenta background)')
parser.add_argument('--title', default='Mat Games')
parser.add_argument('--title', default='MatGames')
parser.add_argument('--canvas', type=int, default=1024)
parser.add_argument('--title-height', type=int, default=190)
parser.add_argument('--bottom-fade', type=int, default=50,
help='soften the generator frame cut at the bottom of the bust')
parser.add_argument('--colors', type=int, default=256,
help='palette colors for the shipped PNG; 0 keeps 32-bit RGBA')
parser.add_argument('--generated-from', type=pathlib.Path, default=None,
help='pre-edit generation this file was derived from, for provenance')
args = parser.parse_args()
args.raw = args.raw.resolve()
root = pathlib.Path(__file__).resolve().parents[1]
@@ -108,7 +110,8 @@ manifest.update({
'date': '2026-10-11',
'prompt': ('single cartoon zombie head-and-bust mascot, unsettling wide grin, thumbs up, '
'2D cartoon style with bold outlines, flat magenta chroma-key background, '
'no text and no logo'),
'no text and no logo; then edited to a bald scalp with a sparse hair fringe '
'on the sides only'),
'terms_note': ('generated from no third-party source material; the provider terms do not claim '
'ownership of the output. The generator emits no real alpha channel, so the '
'background is keyed out locally by this script.'),
@@ -118,5 +121,13 @@ manifest.update({
'license': 'SIL Open Font License 1.1 (tools/branding/fonts/OFL.txt)'},
'bottom_fade_px': args.bottom_fade,
})
if args.generated_from is not None:
chain = manifest.get('mascot_derived_from', [])
manifest['mascot_derived_from'] = chain + [{
'file': str(args.generated_from.resolve().relative_to(root)),
'sha256': hashlib.sha256(args.generated_from.read_bytes()).hexdigest(),
'edit': 'AI edit (agy_edit): keep face, grin, thumbs up, shirt, pose and flat background; '
'change the hair to a bald scalp with a sparse fringe on the sides only',
}]
(source_tools / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\n')
print(out, canvas.size, canvas.mode, 'mascot', mascot.size)