Replace the Godot loading screen with the Mat Games mascot on black

This commit is contained in:
enne2
2026-10-11 01:51:46 +02:00
parent 15efd03515
commit 4a04635f41
13 changed files with 471 additions and 1 deletions
+81
View File
@@ -0,0 +1,81 @@
# Loading screen branding
The stock Godot boot splash (logo plus "GODOT Game engine") is replaced by the
"Mat Games" mascot on a black background. This applies to both surfaces:
- the browser loading screen: the exported `index.png` referenced by
`<img id="status-splash">` in the HTML shell, drawn over `#status`;
- native startup: `application/boot_splash/image` in `project.godot`.
## Asset
`assets/branding/boot_splash.png`, 1024x1218, palette PNG with alpha
(256 colors, 95 alpha levels), about 150 KB. Subject: cartoon zombie head and bust,
unsettling grin, thumbs up, with "Mat Games" below in a phosphor-terminal typeface.
Provenance is recorded in `tools/branding/manifest.json`:
- mascot: generated with `agy_generate` (Antigravity direct API, model
`gemini-3.1-flash-image`) on 2026-10-11 from no third-party source material; the
provider terms do not claim ownership of the output. Raw source kept at
`tools/branding/raw/` with its SHA256. Note that an image generator does not emit
real alpha, so the flat magenta background is keyed out locally;
- lettering: drawn by script, not by the generator, because generated text is
unreliable. Font `tools/branding/fonts/VT323-Regular.ttf`, glyphs of the DEC VT320
terminal, licensed **SIL Open Font License 1.1** (license text kept next to it in
`OFL.txt`, downloaded from the `google/fonts` repository). OFL permits embedding
and redistribution, including commercially, as long as the font is not sold on its
own. SHA256 `cf4de751ada78ceac033dbe16a687742939995b77bc2a052ae17a4957958594d`.
Only the final PNG lives under `assets/`, so the raw source and the font are not
packed into the export (`tools/*` is already excluded by the export preset).
## Composition and keying
`tools/make_boot_splash.py`:
1. measures the background color from the four corners (here 250,4,247);
2. builds an anti-aliased mask by distance from that color (transparent below 55,
opaque above 130) and runs a small median filter;
3. removes magenta spill by subtracting `min(r, b) - g`, which does not harm the
pink tongue or the blue shirt because their red and blue are not both above green;
4. crops to the subject, applies a 50 px fade at the bottom to soften the frame cut
of the generated bust, and scales to 1024 px wide with 40 px side padding;
5. draws the title with VT323 in amber over a blurred glow layer;
6. quantizes to 256 colors (no dither) and writes the PNG plus the manifest.
```sh
python3 tools/make_boot_splash.py tools/branding/raw/agy_generate_20261010234423_0.jpg
```
`--colors 0` keeps 32-bit RGBA if a future artwork needs smoother gradients.
## Godot settings
```ini
boot_splash/bg_color=Color(0, 0, 0, 1)
boot_splash/image="res://assets/branding/boot_splash.png"
boot_splash/show_image=true
boot_splash/use_filter=true
```
The default stretch behavior is kept, so the image is scaled preserving its aspect
ratio; the exported shell confirms the result with the classes
`show-image--true fullsize--true use-filter--true` and `#status` background
`#000000`.
## Verification
- Exported `index.png` has the same 1024x1218 dimensions as the master. It is
re-encoded by the exporter to 32-bit RGBA (about 475 KB), so the bytes are not
identical; composited on black the two images differ by at most 6.4/255 on
0.14% of pixels, all with alpha below 20, i.e. invisible. The release keeps the
150 KB master in the repository and ships a gzip sidecar.
- The exported shell contains no "Game engine" text and the splash image has an
empty `alt`.
- `html/export_icon=false`, so no favicon is exported: the browser tab still shows
a default icon. Using the mascot as favicon is a possible follow-up.
- On a phone in landscape the splash is scaled to fit the height, so the mascot
appears fairly small; a landscape variant (mascot beside the title) would fill
more of the screen if that is wanted.
- All eleven test suites still pass; this change touches no gameplay code.
+12
View File
@@ -1,5 +1,17 @@
# Web build and compressed deployment
## Loading screen branding release: 097e6c64b42640ad
See `docs/BRANDING.md`: black boot splash background and the "Mat Games" mascot in
place of the Godot logo; the browser progress bar is restyled to a thin amber line at
the bottom so it no longer crosses the artwork. PCK 4,330,608 bytes; gzip payload total
12,778,745 bytes. A first attempt without the bar fix was deployed as ddba14dd80539f19
and superseded minutes later; both deploys reused the backup name
`index-before-loading.html`, so that file now holds the ddba14dd80539f19 shell.
Releases on the bastion: 9a376a3dbf674069, 7ebf03fe3c88be15, ddba14dd80539f19, 097e6c64b42640ad
(retention policy keeps the live one plus the previous one).
## Aligned office surfaces release: 9a376a3dbf674069
See `docs/OFFICE-SURFACES.md`: original FIFTIES_WALL14U and FIFTIES_CEIL5;