"""Build lightweight display assets while retaining original demo PNGs for rollback.""" from pathlib import Path from PIL import Image root = Path(__file__).resolve().parents[2] / "public" / "demo" / "images" original_bytes = optimized_bytes = 0 for source in sorted(root.glob("*.png")): with Image.open(source) as image: image = image.convert("RGB") image.thumbnail((1024, 1024), Image.Resampling.LANCZOS) target = source.with_suffix(".webp") image.save(target, "WEBP", quality=83, method=6) original_bytes += source.stat().st_size optimized_bytes += target.stat().st_size print(f"Demo images: {original_bytes:,} -> {optimized_bytes:,} bytes")