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`.
+42
View File
@@ -0,0 +1,42 @@
# Пробы реакций Марао
Тестовый набор включается флагом `--itest=marao_avatars`. Ресурс аватара:
`cthangover/marao_test`, группа пресетов: `reaction`.
| Пресет | Реакция |
| --- | --- |
| neutral | Спокойный, собранный Марао |
| hangover | «Кузнец в голове»: похмельная гримаса |
| pants_panic | «Где мои штаны?!»: возмущённое недоумение |
| rag_emperor | Самодовольный император красной тряпки |
| deadpan_azif | «Ты бумажка»: равнодушие перед Аль-Азифом |
| poetry_reader | Уверенный чтец «казахских стихов» |
| police_panic | «Я же одет… почти»: комическая паника |
| suspicious | Подозрение у виллы «Забвение» |
| bad_smell | «Ну хоть не падалью»: отвращение к запаху |
| protective | Серьёзная решимость защитить другого |
Первые четыре варианта полноростовые, остальные шесть — поясные. Каждый пресет
выбирает целую позу с выражением лица: это подборка для выбора образов, а не
раздельные детали глаз и рта. PNG прозрачные, исходные диалоговые аватарки не заменены.
[Формат и запуск проверки](en.md). Галерея с сюжетными цитатами находится вне
репозитория: `art_sources/cthangover/marao_avatar_test_20261030/index.html`.
## Обновление: общий набор с Аль-Азифом
Добавлен аватар `cthangover/al_azif_test`. Оба аватара поддерживают группу `emotion`:
`auto`, `neutral`, `open_mouth`, `eye_roll`, `confused`, `angry_scream`, `fear`, `embarrassed`,
`gloating`, `squeamish`, `disgust`, `talking_a`, `talking_b`.
По умолчанию emotion=auto сохраняет сюжетную реакцию Марао или спокойную книгу.
Явная эмоция выбирает готовое изображение целиком и перекрывает сюжетную реакцию;
для возврата нужно снова выбрать auto. Два кадра речи не образуют готовый lip sync.
У Аль-Азифа есть группа `view`: auto/front оставляют управление эмоции, angled/back/open
показывают другой ракурс и перекрывают эмоциональную картинку. Для возврата — view=auto.
Четыре полноростовые позы Марао обновлены: ноги мягче, одежда — свободные белые шорты.
В двух портретах исправлена книга. Обновлённая галерея:
`art_sources/cthangover/marao_azif_avatar_update_20261030/index.html`.
Три кадра попытки вырвать страницу находятся там же как отдельные иллюстрации.