Update cthangover_game implementation, assets and documentation

This commit is contained in:
cthangover committed 2026-10-31 15:28:50 +03:00
1 parent b42b35d79e
commit 65eb187bb2
42 files changed
+977 -2

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
# Marao reaction auditions
Opt-in content sample for `avatar_base` + `avatar_layers`, activated by `--itest=marao_avatars`.
The virtual mod `cthangover_game__marao_avatars` supplies `cthangover/marao_test` with ten named
`reaction` presets. Four are full-body images; six are waist-up portraits, fitted without
stretching into a 512x768 canvas and aligned at the bottom. Every PNG has actual alpha.
This is an audition set of complete acting poses, not a modular facial rig. A reaction selects
one complete character layer. Eyes, mouth, clothes and pose cannot be independently combined
in these particular assets. The underlying renderer remains capable of multiple independent layers.
Sources, exact cloud prompts, rejected-request records, story references and the offline preview
are archived outside repositories in `art_sources/cthangover/marao_avatar_test_20261030/`.
Source images are copied byte-for-byte into the test suite. No production dialogue references change.
```csharp
IAvatar avatar = AvatarCatalog.Create("cthangover/marao_test");
avatar.ApplyPresets(new Dictionary<string, string> { ["reaction"] = "deadpan_azif" });
IAvatarRenderer renderer = AvatarRenderers.Create(avatar);
host.AddChild(renderer.View);
// Dispose renderer before destroying host.
```
Presets: neutral, hangover, pants_panic, rag_emperor, deadpan_azif, poetry_reader,
police_panic, suspicious, bad_smell, protective.
Runtime audition and comparison export (windowed, via the workspace Windows job bridge):
```text
godot --path . --rendering-method gl_compatibility -- --frontend --with-mods=cthangover_game --itest=marao_avatars --run-tests --mod=cthangover_game__marao_avatars
```
The two runtime tests apply every preset, verify distinct rendered output and alpha, round-trip
saved selections and export a comparison sheet plus individual normalized PNGs under
`gen/marao_avatar_test_20261030/`. Raw generated images are retained separately.
## Paired Al-Azif update
The suite also supplies `cthangover/al_azif_test`. Both avatars expose `emotion` with
`auto`, `neutral`, `open_mouth`, `eye_roll`, `confused`, `angry_scream`, `fear`, `embarrassed`,
`gloating`, `squeamish`, `disgust`, `talking_a`, `talking_b`. Default `auto` contributes nothing:
Marao keeps the selected story reaction, Al-Azif uses its neutral baseline. An explicit emotion
at priority 20 replaces the complete character image; select auto to return to story reactions.
Al-Azif additionally exposes `view`: auto/front keep emotion control; angled/back/open at
priority 100 select the requested structural view, temporarily overriding the emotional image.
Select view=auto to return to the chosen emotion. No mirroring is applied to book images.
The two talking presets are not an automatically played or pixel-aligned animation.
The four full-body Marao poses now use softer legs and loose white shorts. Both held-book
portraits use the canonical Al-Azif design. Selected source PNGs and the updated offline gallery
live in `art_sources/cthangover/marao_azif_avatar_update_20261030/`. The original generated
versions remain archived in the earlier source batch. Three page-pulling story frames are
standalone illustrations in the updated source batch; they do not replace production scenes.
Additional runtime tests exercise the shared emotion vocabulary, all Al-Azif views, JSON
restore and export `gen/marao_azif_avatar_update_20261030/emotion_comparison.png`.