From 1ac123dd1b55daed8d5036ff8861be249a203f12 Mon Sep 17 00:00:00 2001 From: iisaev Date: Sat, 31 Oct 2026 15:28:48 +0300 Subject: [PATCH] Update avatar_base implementation, assets and documentation --- .gitattributes | 30 ++++ .gitignore | 38 +++++ docs/en.md | 137 ++++++++++++++++++ docs/ru.md | 55 +++++++ locale/en.properties | 2 + locale/ru.properties | 2 + manifest.json | 23 +++ mod.jpg | Bin 0 -> 213322 bytes src/Data/AvatarDefinition.cs | 62 ++++++++ src/Data/AvatarGroupDefinition.cs | 17 +++ src/Data/AvatarPresetDefinition.cs | 15 ++ src/Rendering/AvatarRenderers.cs | 44 ++++++ src/Rendering/IAvatarRenderer.cs | 23 +++ src/Rendering/IAvatarRendererFactory.cs | 11 ++ src/Runtime/AvatarCatalog.cs | 17 +++ src/Runtime/AvatarFrame.cs | 30 ++++ src/Runtime/AvatarInstance.cs | 72 +++++++++ src/Runtime/AvatarState.cs | 17 +++ src/Runtime/IAvatar.cs | 26 ++++ test_suites/contracts/avatars/contract.json | 26 ++++ test_suites/contracts/manifest.json | 12 ++ .../contracts/tests/AvatarCatalogTests.cs | 22 +++ tests/AvatarDefinitionTests.cs | 66 +++++++++ tests/AvatarInstanceTests.cs | 115 +++++++++++++++ 24 files changed, 862 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 docs/en.md create mode 100644 docs/ru.md create mode 100644 locale/en.properties create mode 100644 locale/ru.properties create mode 100644 manifest.json create mode 100644 mod.jpg create mode 100644 src/Data/AvatarDefinition.cs create mode 100644 src/Data/AvatarGroupDefinition.cs create mode 100644 src/Data/AvatarPresetDefinition.cs create mode 100644 src/Rendering/AvatarRenderers.cs create mode 100644 src/Rendering/IAvatarRenderer.cs create mode 100644 src/Rendering/IAvatarRendererFactory.cs create mode 100644 src/Runtime/AvatarCatalog.cs create mode 100644 src/Runtime/AvatarFrame.cs create mode 100644 src/Runtime/AvatarInstance.cs create mode 100644 src/Runtime/AvatarState.cs create mode 100644 src/Runtime/IAvatar.cs create mode 100644 test_suites/contracts/avatars/contract.json create mode 100644 test_suites/contracts/manifest.json create mode 100644 test_suites/contracts/tests/AvatarCatalogTests.cs create mode 100644 tests/AvatarDefinitionTests.cs create mode 100644 tests/AvatarInstanceTests.cs diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3030c1a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,30 @@ +# Line endings: LF everywhere, on every OS, whatever core.autocrlf says. +* text=auto eol=lf + +# cmd.exe misreads labels and goto in LF batch files, so they stay CRLF. +*.bat text eol=crlf +*.cmd text eol=crlf + +# Binaries: never converted, never diffed as text. +*.png binary +*.jpg binary +*.jpeg binary +*.webp binary +*.svg text +*.ogg binary +*.wav binary +*.mp3 binary +*.ttf binary +*.otf binary +*.woff binary +*.woff2 binary +*.dll binary +*.so binary +*.dylib binary +*.pdb binary +*.exe binary +*.zip binary +*.pck binary +*.moc3 binary +*.res binary +*.scn binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f79a943 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +# Godot 4.x +.godot/ +.idea/ +sdk/ +bin/ +obj/ + +#ai +.omo/ +.opencode/ + +gen/ +obj/ +bin/ +art_sources/ + +*.tres~ +*.tscn~ + +# GDScript LSP +.godot/ + +# Export +*.exe +*.dmg +*.apk +*.aab +*.pck +*.zip +*.log + +# OS +.DS_Store +Thumbs.db + +# Editor +*.import +*.godot.uid diff --git a/docs/en.md b/docs/en.md new file mode 100644 index 0000000..b0d340b --- /dev/null +++ b/docs/en.md @@ -0,0 +1,137 @@ +# Avatar Engine foundation + +`avatar_base` owns renderer-independent avatar definitions and preset state. It has no +runtime dependency on dialogs, party characters, UI engine mods or Live2D. A visual novel, +a character preview or another UI can use the same logical instance. + +This first version implements resource loading, validated preset selections, deterministic +composition and serializable state. `IAvatarRenderer` defines the presentation boundary; +The `avatar_layers` mod implements the `layers` renderer and is an optional dependency of content +that uses it. Live2D adaptation, scenario actions, a visual editor and automatic save-system +integration are not implemented yet. Existing `first=` / `second=` dialog portraits are unaffected. + +## Resource format + +Content mods declare `depends: ["avatar_base>=1"]` (or `avatar_layers>=1` for layered images) and supply normal entity files, for example +`avatars/marao.json`. `Kind: avatar` is registered by `AvatarDefinition`. Definitions use the +standard entity resolver: folder/ZIP providers, overrides, `Extends` and patches work through +that pipeline; the catalog does not parse files or maintain a second resource cache. + +```json +{ + "Kind": "avatar", + "Items": [{ + "Id": "my_game/marao", + "Renderer": "layers", + "BaseValues": { + "layers/body": "marao/body.png", + "layers/eyes": "marao/eyes/opened.png" + }, + "Groups": { + "emotion": { + "Default": "neutral", + "Priority": 0, + "Presets": { + "neutral": {}, + "angry": {"Values": {"layers/eyes": "marao/eyes/narrowed.png"}} + } + }, + "eyes_state": { + "Default": "auto", + "Priority": 100, + "Presets": { + "auto": {}, + "opened": {"Values": {"layers/eyes": "marao/eyes/opened.png"}}, + "closed": {"Values": {"layers/eyes": "marao/eyes/closed.png"}} + } + } + } + }] +} +``` + +Group and preset names are author-defined, case-sensitive and not a fixed engine vocabulary. +Each group has one selected preset; `Default` must name an existing preset. Definitions with +no groups are valid static avatars. `auto` is an ordinary empty preset here, not a reserved word: +it contributes nothing, leaving the baseline and earlier groups in control. + +`Values` is a dictionary of opaque JSON targets. The layers adapter reads PNG paths; +a Live2D adapter can read numeric values such as `parameters/ParamEyeLOpen: 1`. The base does +not invent a universal numeric range, interpret binding names or load assets. Binding value +types, required bindings, compatibility of poses/layers and asset existence are the adapter's +responsibility. Values can also be objects or arrays for an adapter's structured configuration. + +## Applying presets + +```csharp +IAvatar avatar = AvatarCatalog.Create("my_game/marao"); +avatar.ApplyPresets(new Dictionary { + ["emotion"] = "angry", + ["eyes_state"] = "opened" +}); +AvatarFrame target = avatar.Resolve(); +using IAvatarRenderer renderer = AvatarRenderers.Create(avatar); +// Attach renderer.View to the host. After later changes: +renderer.Apply(target, transitionSeconds: 0.15); +AvatarState saved = avatar.CaptureState(); +IAvatar restored = AvatarCatalog.Create(saved.AvatarId, saved); +``` + +`ApplyPresets` is atomic: every supplied group/preset is checked before changing any selection. +Unmentioned groups retain their choices. Null, misspellings and unknown presets throw +`ArgumentException`; there is no silent fallback. `AvatarCatalog.Create` throws +`KeyNotFoundException` for an unknown avatar. Select the group's default explicitly to reset it. + +Every `Resolve` starts from `BaseValues` and applies all selected presets by ascending group +`Priority`, then ordinal group name. Later contributions replace earlier values for the same +binding. The order of scenario commands and JSON properties never determines precedence. +An individual JSON binding is replaced whole, not deep merged; null is a literal target value. +Thus explicit `eyes_state` at priority 100 overrides the eye contribution of `emotion` at 0. +Selecting `auto` delegates control back to the emotion/baseline on the next composition. + +The output is a complete immutable snapshot, not a delta. Leaving a preset removes its +contributions; adapters must reset bindings absent from a later target rather than retaining +stale values. Define adapter-required reset targets in `BaseValues`. There is no automatic +cross-group compatibility solver in this foundation. + +## Ownership and persistence + +An `AvatarInstance` validates and snapshots its definition. It never changes cached entity DTOs. +Two instances of the same definition have independent selections. Frames and captured states +are detached; editing the returned save DTO cannot alter a live instance. Active instances keep +their definition snapshot after resource changes; the owning host recreates them on reload. + +`AvatarState` stores the avatar ID and selected preset names. JSON round-trip it in the owning +subsystem's save data. Missing groups on restore use defaults; a mismatched avatar ID or unknown +selection is rejected. Content migrations must explicitly handle removed/renamed presets. +There is no global avatar roster or automatic registration with the game's save system. + +`IAvatarRenderer` exposes a renderer-owned `Control` and accepts complete targets with an optional +transition duration. Rendering mods implement it and decide how presets become images or model +parameters. They must validate compatible targets and finite nonnegative durations. Zero snaps; +a discrete adapter may also snap for positive duration. A new animated target interrupts the +previous transition from the currently displayed state. The host attaches `View` to its UI and +disposes the adapter before freeing that container. The adapter frees owned nodes/animations, +never shared cache textures. All visual operations run on the Godot main thread. + +The base owns no Godot objects or update loop. Pure logical instances do not need disposal. +`AvatarRenderers` discovers public, parameterless `IAvatarRendererFactory` implementations via +`ModTypeConsumer`, including normal unload notifications. Factories declare a unique case-sensitive +renderer ID and create an owned adapter. Duplicate IDs are rejected. `AvatarRenderers.Create(avatar)` +resolves the backend and applies the initial state, disposing the adapter if initialization fails. +The host explicitly applies subsequent `avatar.Resolve()` targets; there is no hidden subscription. +The host must dispose active adapters before their mod/scene unloads. Missing backends throw +`KeyNotFoundException`, making a missing content dependency visible. + +## Verification + +Tests use the engine's runtime mod compiler, not a separate project referencing mod sources: + +```text +godot --headless --path . -- --frontend --with-mods=avatar_base --run-tests --mod=avatar_base +godot --headless --path . -- --frontend --with-mods=avatar_base --itest=avatar_contracts --run-tests --mod=avatar_base__contracts +``` + +In this workspace run these through the shared Windows job bridge. The opt-in `contracts` test +suite supplies a sample `Kind: avatar` resource and checks the real catalog and independent +instances. Production mods contain no sample character or fake renderer implementation. diff --git a/docs/ru.md b/docs/ru.md new file mode 100644 index 0000000..2a1fc07 --- /dev/null +++ b/docs/ru.md @@ -0,0 +1,55 @@ +# Система аватаров: основа + +`avatar_base` реализует независимое состояние аватара: группы, именованные пресеты, +композицию целевых значений и JSON-состояние для сохранений. Зависимости от диалогов, +боевых персонажей и Live2D нет. Полный формат и контракт: [en.md](en.md). + +## Управление + +```csharp +IAvatar avatar = AvatarCatalog.Create("my_game/marao"); +avatar.ApplyPresets(new Dictionary { + ["emotion"] = "angry", + ["eyes_state"] = "opened" +}); +AvatarFrame target = avatar.Resolve(); +AvatarState saved = avatar.CaptureState(); +``` + +Контентный мод зависит от `avatar_base>=1` и объявляет сущности `Kind: avatar`. +У определения есть `Id`, `Renderer`, `BaseValues` и `Groups`. У группы — `Default`, +`Priority`, `Presets`; у пресета — `Values`. Имена групп и пресетов произвольные, +регистрозависимые. Значения пресетов — целевые привязки для конкретного рендера, +а не универсальные числа от 0 до 1. + +Каждая группа выбирает один пресет. Изменение группы сохраняет остальные группы. +Все изменения проверяются до применения: опечатка не оставляет частично изменённое +состояние. Неизвестные значения отклоняются, автоматических подмен нет. + +Композиция начинается с `BaseValues`, затем применяет группы по возрастанию +`Priority`, при равенстве — по имени (ordinal). Более поздняя группа перекрывает +одноимённую привязку целиком. Порядок команд ничего не меняет. Например, эмоция +имеет приоритет 0, явное состояние глаз — 100. Пустой пресет `auto` не вносит +привязок и тем самым возвращает управление эмоции. Это обычное имя, не ключевое слово. + +`Resolve()` возвращает полный неизменяемый снимок, без оставшихся значений прошлого +пресета. `CaptureState()` — отдельный DTO с ID аватара и выбором пресетов. При +восстановлении отсутствующие группы получают значения по умолчанию, неизвестные +группы/пресеты и чужой ID отклоняются. Изменения ресурсов не меняют уже созданный +экземпляр: владелец пересоздаёт его при перезагрузке. + +## Граница реализации + +`IAvatarRenderer` задаёт контракт визуального адаптера: корневой `Control`, применение +полного целевого состояния, время перехода и освобождение принадлежащих ему ресурсов. +Мод `avatar_layers` уже выбирает и отображает PNG-слои. Будущий адаптер Live2D будет +выбирать параметры модели. `AvatarRenderers.Create(avatar)` находит фабрику по `Renderer` +и применяет начальное состояние. После изменений владелец явно вызывает +`renderer.Apply(avatar.Resolve())`. Фабрики автоматически регистрируются и удаляются +вместе с модами через стандартный `ModTypeConsumer`. + +В этой версии нет адаптера Live2D, сценарных команд, редактора, +проверки совместимости картинок и автоматической интеграции с сохранениями. +Существующие диалоговые аватарки работают как прежде. JSON-пример и правила владения +ресурсами приведены в английской документации. Тесты проверяют независимость +экземпляров, приоритеты, атомарность, сериализацию и загрузку настоящего ресурса. diff --git a/locale/en.properties b/locale/en.properties new file mode 100644 index 0000000..8483cab --- /dev/null +++ b/locale/en.properties @@ -0,0 +1,2 @@ +mod_avatar_base_name = Avatar Engine +mod_avatar_base_desc = Reusable avatars controlled by named presets, independent of rendering technology. diff --git a/locale/ru.properties b/locale/ru.properties new file mode 100644 index 0000000..284820e --- /dev/null +++ b/locale/ru.properties @@ -0,0 +1,2 @@ +mod_avatar_base_name = Система аватаров +mod_avatar_base_desc = Переиспользуемые аватары с именованными пресетами и независимым способом отображения. diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..b295f68 --- /dev/null +++ b/manifest.json @@ -0,0 +1,23 @@ +{ + "id": "avatar_base", + "name": "Avatar Engine", + "version": "1.0.0", + "author": "ct", + "description": "Reusable avatar definitions and independent preset state, with renderer-neutral composition for layered images and animated models.", + "category": "engine, library", + "sources": [ + "src/**/*.cs" + ], + "test_sources": [ + "tests/*.cs" + ], + "depends": [], + "test_suites": [ + { + "id": "contracts", + "activate": [ + "--itest=avatar_contracts" + ] + } + ] +} diff --git a/mod.jpg b/mod.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a928fa76919bb9a872de30fbfb23128a8f8b884 GIT binary patch literal 213322 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�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 }?JV{hF2@}^RH}=kSq#L9pCpEge8>B}M*!KC| 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 Nsp_%K>fiqs{tvuiv8Mn4 literal 0 HcmV?d00001 diff --git a/src/Data/AvatarDefinition.cs b/src/Data/AvatarDefinition.cs new file mode 100644 index 0000000..14bdfeb --- /dev/null +++ b/src/Data/AvatarDefinition.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Text.Json; +using System.Text.Json.Serialization; +using Cthangover.Core.Factories; + +namespace Cthangover.Mods.Avatars +{ + /// + /// Mod entity describing an avatar, not a party character. Presets contain opaque renderer + /// bindings; the base never interprets a binding as a texture, a numeric parameter or a motion. + /// Entity resolver inheritance and patches apply before an instance snapshots this definition. + /// + [EntityKind("avatar")] + public sealed class AvatarDefinition : IIdentifiable + { + /// Entity identity used by content references and saved instance state. + [JsonPropertyName("Id")] + public string ID { get; set; } + + /// Renderer identifier; naming it does not load or require that renderer. + public string Renderer { get; set; } + + /// Baseline bindings restored on every composition, before selected presets. + public Dictionary BaseValues { get; set; } = new(); + + /// Author-defined groups, such as eyes_state, emotion or pose; keys are case-sensitive. + public Dictionary Groups { get; set; } = new(); + + /// Rejects incomplete definitions before any instance or renderer can consume them. + public void Validate() + { + if (string.IsNullOrWhiteSpace(ID)) throw new ArgumentException("Avatar Id is required."); + if (string.IsNullOrWhiteSpace(Renderer)) throw new ArgumentException($"Avatar '{ID}': Renderer is required."); + ValidateValues(BaseValues, "BaseValues"); + if (Groups == null) throw new ArgumentException($"Avatar '{ID}': Groups cannot be null."); + foreach (var entry in Groups) + { + var group = entry.Value; + if (string.IsNullOrWhiteSpace(entry.Key) || group == null) + throw new ArgumentException($"Avatar '{ID}': group names and definitions are required."); + if (group.Presets == null || group.Presets.Count == 0 || + string.IsNullOrWhiteSpace(group.Default) || !group.Presets.ContainsKey(group.Default)) + throw new ArgumentException($"Avatar '{ID}', group '{entry.Key}': Default must name an existing preset."); + foreach (var preset in group.Presets) + { + if (string.IsNullOrWhiteSpace(preset.Key) || preset.Value == null) + throw new ArgumentException($"Avatar '{ID}', group '{entry.Key}': preset names and definitions are required."); + ValidateValues(preset.Value.Values, entry.Key + "/" + preset.Key); + } + } + } + + private void ValidateValues(Dictionary values, string path) + { + if (values == null) throw new ArgumentException($"Avatar '{ID}', {path}: values cannot be null."); + foreach (var value in values) + if (string.IsNullOrWhiteSpace(value.Key) || value.Value.ValueKind == JsonValueKind.Undefined) + throw new ArgumentException($"Avatar '{ID}', {path}: binding names and JSON values are required."); + } + } +} diff --git a/src/Data/AvatarGroupDefinition.cs b/src/Data/AvatarGroupDefinition.cs new file mode 100644 index 0000000..3bd7e71 --- /dev/null +++ b/src/Data/AvatarGroupDefinition.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace Cthangover.Mods.Avatars +{ + /// Exactly one preset is selected per group. Higher priority groups override lower ones. + public sealed class AvatarGroupDefinition + { + /// Initial selection; also the selection to request when resetting this group. + public string Default { get; set; } + + /// Composition order, ascending; ties use ordinal group names, never command order. + public int Priority { get; set; } + + /// Named states available to scenario authors. An empty preset can delegate to earlier groups. + public Dictionary Presets { get; set; } = new(); + } +} diff --git a/src/Data/AvatarPresetDefinition.cs b/src/Data/AvatarPresetDefinition.cs new file mode 100644 index 0000000..36531a9 --- /dev/null +++ b/src/Data/AvatarPresetDefinition.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using System.Text.Json; + +namespace Cthangover.Mods.Avatars +{ + /// A named state contributes renderer-specific target bindings, not incremental changes. + public sealed class AvatarPresetDefinition + { + /// + /// Opaque binding values: a layers renderer may read image IDs, a Live2D renderer numbers. + /// A key is replaced as a whole; objects are not recursively merged and null is a literal value. + /// + public Dictionary Values { get; set; } = new(); + } +} diff --git a/src/Rendering/AvatarRenderers.cs b/src/Rendering/AvatarRenderers.cs new file mode 100644 index 0000000..e6a9be0 --- /dev/null +++ b/src/Rendering/AvatarRenderers.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Cthangover.Core.Mods.Consumers; + +namespace Cthangover.Mods.Avatars +{ + /// + /// Mod-owned factory registry using normal assembly load/unload notifications. No dependency on + /// a concrete backend; duplicate IDs are errors rather than load-order-dependent replacements. + /// + public sealed class AvatarRenderers : ModTypeConsumer + { + private static readonly Dictionary factories = new(StringComparer.Ordinal); + /// + public override string Id => "avatar_renderers"; + + /// Creates the selected backend and applies the initial target; caller owns the result. + public static IAvatarRenderer Create(IAvatar avatar) + { + if (avatar == null) throw new ArgumentNullException(nameof(avatar)); + var target = avatar.Resolve(); + if (!factories.TryGetValue(target.Renderer, out var factory)) + throw new KeyNotFoundException($"Avatar renderer '{target.Renderer}' is not loaded."); + var renderer = factory.Create() ?? throw new InvalidOperationException($"Avatar renderer '{target.Renderer}' returned null."); + try { renderer.Apply(target); return renderer; } + catch { renderer.Dispose(); throw; } + } + + /// + protected override void Add(IAvatarRendererFactory instance, string modId) + { + if (string.IsNullOrWhiteSpace(instance.Id)) throw new ArgumentException($"Mod '{modId}' supplied an empty avatar renderer Id."); + if (!factories.TryAdd(instance.Id, instance)) + throw new InvalidOperationException($"Duplicate avatar renderer '{instance.Id}' from '{modId}'."); + } + + /// + protected override void Remove(IAvatarRendererFactory instance, string modId) + { + if (factories.TryGetValue(instance.Id, out var current) && ReferenceEquals(current, instance)) + factories.Remove(instance.Id); + } + } +} diff --git a/src/Rendering/IAvatarRenderer.cs b/src/Rendering/IAvatarRenderer.cs new file mode 100644 index 0000000..f8b4fae --- /dev/null +++ b/src/Rendering/IAvatarRenderer.cs @@ -0,0 +1,23 @@ +using System; +using Godot; + +namespace Cthangover.Mods.Avatars +{ + /// + /// Optional presentation adapter implemented by a rendering mod. The caller attaches View to + /// its UI container and disposes the adapter before that container is freed. The adapter owns + /// its nodes and animations, but must not dispose borrowed cache-owned textures. + /// + public interface IAvatarRenderer : IDisposable + { + /// Renderer-owned visual root, created on the Godot main thread. + Control View { get; } + + /// + /// Applies a complete compatible target. Seconds must be finite and nonnegative; zero snaps. + /// New targets interrupt previous transitions from the currently displayed state. Discrete + /// renderers may snap even for positive duration. Missing bindings must not retain stale values. + /// + void Apply(AvatarFrame target, double transitionSeconds = 0); + } +} diff --git a/src/Rendering/IAvatarRendererFactory.cs b/src/Rendering/IAvatarRendererFactory.cs new file mode 100644 index 0000000..ed538ec --- /dev/null +++ b/src/Rendering/IAvatarRendererFactory.cs @@ -0,0 +1,11 @@ +namespace Cthangover.Mods.Avatars +{ + /// Public parameterless implementations are discovered and removed with their owning mod. + public interface IAvatarRendererFactory + { + /// Renderer identifier used in avatar definitions, for example layers. + string Id { get; } + /// Creates an owned renderer; the caller must dispose it even if applying a target fails. + IAvatarRenderer Create(); + } +} diff --git a/src/Runtime/AvatarCatalog.cs b/src/Runtime/AvatarCatalog.cs new file mode 100644 index 0000000..ee94b82 --- /dev/null +++ b/src/Runtime/AvatarCatalog.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; +using Cthangover.Core.Mods.Resolvers; + +namespace Cthangover.Mods.Avatars +{ + /// Uses the normal entity resolver, including folder/ZIP mods, inheritance and patches. + public static class AvatarCatalog + { + /// Creates independent state from the currently resolved resource; unknown IDs throw. + public static IAvatar Create(string id, AvatarState state = null) + { + if (string.IsNullOrWhiteSpace(id) || !Entities.Collect().TryGetValue(id, out var definition)) + throw new KeyNotFoundException($"Avatar definition '{id}' was not found."); + return new AvatarInstance(definition, state); + } + } +} diff --git a/src/Runtime/AvatarFrame.cs b/src/Runtime/AvatarFrame.cs new file mode 100644 index 0000000..3fcd5fa --- /dev/null +++ b/src/Runtime/AvatarFrame.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text.Json; + +namespace Cthangover.Mods.Avatars +{ + /// Detached target snapshot. Renderers interpolate toward it or switch discrete assets. + public sealed class AvatarFrame + { + /// Identity of the avatar producing this frame. + public string AvatarId { get; } + /// Renderer identifier from the definition; consumers must check compatibility. + public string Renderer { get; } + /// All active preset choices, including defaults. + public IReadOnlyDictionary Presets { get; } + /// Complete composed targets. An absent binding is absent, not left over from a prior frame. + public IReadOnlyDictionary Values { get; } + + internal AvatarFrame(string id, string renderer, Dictionary presets, + Dictionary values) + { + AvatarId = id; + Renderer = renderer; + Presets = new ReadOnlyDictionary(new Dictionary(presets)); + var copy = new Dictionary(); + foreach (var value in values) copy.Add(value.Key, value.Value.Clone()); + Values = new ReadOnlyDictionary(copy); + } + } +} diff --git a/src/Runtime/AvatarInstance.cs b/src/Runtime/AvatarInstance.cs new file mode 100644 index 0000000..7cc5336 --- /dev/null +++ b/src/Runtime/AvatarInstance.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.Json; + +namespace Cthangover.Mods.Avatars +{ + /// + /// Renderer-independent implementation. Owns a definition snapshot and recomposes full targets + /// so leaving a preset also removes its contributions. No shared entity data is ever mutated. + /// Instances are intended for their owning UI thread; they do not synchronize concurrent writes. + /// + public sealed class AvatarInstance : IAvatar + { + private readonly AvatarDefinition definition; + private readonly Dictionary selections = new(StringComparer.Ordinal); + + /// Creates defaults, optionally overlaid with validated saved selections. + public AvatarInstance(AvatarDefinition definition, AvatarState state = null) + { + if (definition == null) throw new ArgumentNullException(nameof(definition)); + definition.Validate(); + this.definition = JsonSerializer.Deserialize(JsonSerializer.Serialize(definition)); + foreach (var group in this.definition.Groups) selections.Add(group.Key, group.Value.Default); + if (state != null) + { + if (!string.Equals(state.AvatarId, AvatarId, StringComparison.Ordinal)) + throw new ArgumentException($"Saved avatar '{state.AvatarId}' does not match '{AvatarId}'."); + ApplyPresets(state.Presets); + } + } + + /// + public string AvatarId => definition.ID; + + /// + public void ApplyPresets(IReadOnlyDictionary changes) + { + if (changes == null) throw new ArgumentNullException(nameof(changes)); + // Snapshot the caller's map before validation; commit only after the entire patch is valid. + var pending = new Dictionary(changes, StringComparer.Ordinal); + foreach (var change in pending) + { + if (!definition.Groups.TryGetValue(change.Key, out var group)) + throw new ArgumentException($"Avatar '{AvatarId}': unknown group '{change.Key}'."); + if (change.Value == null || !group.Presets.ContainsKey(change.Value)) + throw new ArgumentException($"Avatar '{AvatarId}', group '{change.Key}': unknown preset '{change.Value}'."); + } + foreach (var change in pending) selections[change.Key] = change.Value; + } + + /// + public AvatarState CaptureState() => new() + { + AvatarId = AvatarId, + Presets = new Dictionary(selections, StringComparer.Ordinal) + }; + + /// + public AvatarFrame Resolve() + { + var values = new Dictionary(definition.BaseValues, StringComparer.Ordinal); + foreach (var group in definition.Groups.OrderBy(Priority).ThenBy(Name, StringComparer.Ordinal)) + foreach (var value in group.Value.Presets[selections[group.Key]].Values) + values[value.Key] = value.Value; + return new AvatarFrame(AvatarId, definition.Renderer, selections, values); + } + + private static int Priority(KeyValuePair group) => group.Value.Priority; + private static string Name(KeyValuePair group) => group.Key; + } +} diff --git a/src/Runtime/AvatarState.cs b/src/Runtime/AvatarState.cs new file mode 100644 index 0000000..91c9f7b --- /dev/null +++ b/src/Runtime/AvatarState.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace Cthangover.Mods.Avatars +{ + /// + /// Serializable logical state only: no nodes, textures or interpolation progress. + /// Capture returns a detached copy; restoring a partial map fills missing groups from defaults. + /// + public sealed class AvatarState + { + /// Definition identity prevents accidentally restoring another avatar's selections. + public string AvatarId { get; set; } + + /// Selected preset per group. Unknown groups or presets are rejected on restore. + public Dictionary Presets { get; set; } = new(); + } +} diff --git a/src/Runtime/IAvatar.cs b/src/Runtime/IAvatar.cs new file mode 100644 index 0000000..0abdc53 --- /dev/null +++ b/src/Runtime/IAvatar.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; + +namespace Cthangover.Mods.Avatars +{ + /// + /// One independent logical avatar instance. Named presets are the public control surface; + /// rendering and transitions belong to an attached renderer, not to dialog or character data. + /// + public interface IAvatar + { + /// The resource whose defaults and bindings were snapshotted for this instance. + string AvatarId { get; } + + /// + /// Atomically replaces selections for specified groups and retains all other selections. + /// Invalid names throw ArgumentException without changing the instance. Null is not a reset. + /// + void ApplyPresets(IReadOnlyDictionary changes); + + /// Captures a detached, JSON-serializable logical state for persistence. + AvatarState CaptureState(); + + /// Composes a complete immutable renderer target from baseline and current presets. + AvatarFrame Resolve(); + } +} diff --git a/test_suites/contracts/avatars/contract.json b/test_suites/contracts/avatars/contract.json new file mode 100644 index 0000000..791027d --- /dev/null +++ b/test_suites/contracts/avatars/contract.json @@ -0,0 +1,26 @@ +{ + "Kind": "avatar", + "Items": [ + { + "Id": "avatar_contracts/sample", + "Renderer": "test", + "Groups": { + "eyes_state": { + "Default": "opened", + "Presets": { + "opened": { + "Values": { + "eye": 1 + } + }, + "closed": { + "Values": { + "eye": 0 + } + } + } + } + } + } + ] +} diff --git a/test_suites/contracts/manifest.json b/test_suites/contracts/manifest.json new file mode 100644 index 0000000..7184479 --- /dev/null +++ b/test_suites/contracts/manifest.json @@ -0,0 +1,12 @@ +{ + "id": "avatar_base__contracts", + "name": "Avatar resource contract tests", + "version": "1.0.0", + "author": "ct", + "depends": [ + "avatar_base>=1" + ], + "test_sources": [ + "tests/*.cs" + ] +} diff --git a/test_suites/contracts/tests/AvatarCatalogTests.cs b/test_suites/contracts/tests/AvatarCatalogTests.cs new file mode 100644 index 0000000..4e6f00c --- /dev/null +++ b/test_suites/contracts/tests/AvatarCatalogTests.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic; +using Cthangover.Core.Mods.Testing; +using Cthangover.Mods.Avatars; + +namespace Cthangover.Mods.Avatars.Contracts +{ + /// Exercises real Kind registration, mod entity resolution and independent catalog instances. + public sealed class AvatarCatalogTests + { + [ModTest("avatar_catalog/resolved_entity_creates_independent_instances")] + public static void Resource(ModTestContext ctx) + { + var first = AvatarCatalog.Create("avatar_contracts/sample"); + var second = AvatarCatalog.Create("avatar_contracts/sample"); + first.ApplyPresets(new Dictionary { ["eyes_state"] = "closed" }); + ModAssert.CloseTo(0, first.Resolve().Values["eye"].GetDouble()); + ModAssert.CloseTo(1, second.Resolve().Values["eye"].GetDouble()); + var restored = AvatarCatalog.Create("avatar_contracts/sample", first.CaptureState()); + ModAssert.Equal("closed", restored.CaptureState().Presets["eyes_state"]); + } + } +} diff --git a/tests/AvatarDefinitionTests.cs b/tests/AvatarDefinitionTests.cs new file mode 100644 index 0000000..43f4d3d --- /dev/null +++ b/tests/AvatarDefinitionTests.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Text.Json; +using Cthangover.Core.Mods.Testing; + +namespace Cthangover.Mods.Avatars.Tests +{ + /// Resource serialization preserves opaque renderer values and rejects malformed preset groups. + public sealed class AvatarDefinitionTests + { + [ModTest("avatar/definition_json_roundtrip_preserves_renderer_data")] + public static void RoundTrip(ModTestContext ctx) + { + var original = AvatarInstanceTests.Definition(); + original.Groups["eyes_state"].Presets["opened"].Values["layer"] = JsonSerializer.SerializeToElement("eyes/opened"); + original.BaseValues["options"] = JsonSerializer.SerializeToElement(new { enabled = true, offset = new[] { 1, 2 } }); + original.BaseValues["hidden"] = JsonSerializer.SerializeToElement(null); + var copy = JsonSerializer.Deserialize(JsonSerializer.Serialize(original)); + copy.Validate(); + ModAssert.Equal(original.ID, copy.ID); ModAssert.Equal(original.Renderer, copy.Renderer); + ModAssert.Equal(100, copy.Groups["eyes_state"].Priority); + ModAssert.Equal("auto", copy.Groups["eyes_state"].Default); + ModAssert.Equal("eyes/opened", copy.Groups["eyes_state"].Presets["opened"].Values["layer"].GetString()); + ModAssert.True(copy.BaseValues["options"].GetProperty("enabled").GetBoolean()); + ModAssert.Equal(2, copy.BaseValues["options"].GetProperty("offset")[1].GetInt32()); + ModAssert.True(copy.BaseValues["hidden"].ValueKind == JsonValueKind.Null); + ModAssert.CloseTo(0.3, copy.Groups["emotion"].Presets["angry"].Values["eye"].GetDouble()); + } + + [ModTest("avatar/invalid_definitions_are_rejected_before_instantiation")] + public static void Invalid(ModTestContext ctx) + { + Reject(new AvatarDefinition()); + var d = AvatarInstanceTests.Definition(); d.Renderer = " "; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.BaseValues = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"].Default = "missing"; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"].Presets = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"] = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"].Presets["neutral"] = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"].Presets["neutral"].Values = null; Reject(d); + d = AvatarInstanceTests.Definition(); d.BaseValues["bad"] = default; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups[" "] = d.Groups["emotion"]; Reject(d); + d = AvatarInstanceTests.Definition(); d.Groups["emotion"].Presets[" "] = new(); Reject(d); + d = AvatarInstanceTests.Definition(); d.BaseValues[""] = JsonSerializer.SerializeToElement(1); Reject(d); + var nullRejected = false; + try { _ = new AvatarInstance(null); } catch (ArgumentNullException) { nullRejected = true; } + ModAssert.True(nullRejected); + } + + [ModTest("avatar/catalog_unknown_id_is_diagnosed")] + public static void Missing(ModTestContext ctx) + { + var rejected = false; + try { _ = AvatarCatalog.Create("avatar_tests/nonexistent"); } catch (KeyNotFoundException) { rejected = true; } + ModAssert.True(rejected); + } + + private static void Reject(AvatarDefinition definition) + { + var rejected = false; + try { definition.Validate(); } catch (ArgumentException) { rejected = true; } + ModAssert.True(rejected, "malformed definition is rejected"); + } + } +} diff --git a/tests/AvatarInstanceTests.cs b/tests/AvatarInstanceTests.cs new file mode 100644 index 0000000..5e71d44 --- /dev/null +++ b/tests/AvatarInstanceTests.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using System.Text.Json; +using Cthangover.Core.Mods.Testing; + +namespace Cthangover.Mods.Avatars.Tests +{ + /// Public preset contract: independent instances, atomic changes and deterministic full targets. + public sealed class AvatarInstanceTests + { + [ModTest("avatar/defaults_partial_update_and_removed_contributions")] + public static void Selections(ModTestContext ctx) + { + IAvatar avatar = new AvatarInstance(Definition()); + ModAssert.Equal("test/avatar", avatar.AvatarId); + ModAssert.Equal("neutral", avatar.CaptureState().Presets["emotion"]); + ModAssert.Equal("test", avatar.Resolve().Renderer); + ModAssert.CloseTo(1, avatar.Resolve().Values["eye"].GetDouble()); + avatar.ApplyPresets(new Dictionary { ["emotion"] = "angry" }); + ModAssert.CloseTo(0.3, avatar.Resolve().Values["eye"].GetDouble()); + ModAssert.Equal("red", avatar.Resolve().Values["tint"].GetString()); + avatar.ApplyPresets(new Dictionary { ["eyes_state"] = "opened" }); + ModAssert.Equal("angry", avatar.CaptureState().Presets["emotion"], "unmentioned groups retained"); + ModAssert.CloseTo(1, avatar.Resolve().Values["eye"].GetDouble(), what: "explicit eyes override emotion"); + avatar.ApplyPresets(new Dictionary { ["emotion"] = "neutral", ["eyes_state"] = "auto" }); + ModAssert.False(avatar.Resolve().Values.ContainsKey("tint"), "leaving a preset removes its contributions"); + ModAssert.CloseTo(1, avatar.Resolve().Values["eye"].GetDouble(), what: "baseline restored"); + } + + [ModTest("avatar/composition_is_independent_of_command_order")] + public static void Order(ModTestContext ctx) + { + var a = new AvatarInstance(Definition()); var b = new AvatarInstance(Definition()); + a.ApplyPresets(new Dictionary { ["emotion"] = "angry" }); + a.ApplyPresets(new Dictionary { ["eyes_state"] = "opened" }); + b.ApplyPresets(new Dictionary { ["eyes_state"] = "opened" }); + b.ApplyPresets(new Dictionary { ["emotion"] = "angry" }); + ModAssert.CloseTo(a.Resolve().Values["eye"].GetDouble(), b.Resolve().Values["eye"].GetDouble()); + var tied = Definition(); tied.Groups["emotion"].Priority = 100; + var tie = new AvatarInstance(tied); + tie.ApplyPresets(new Dictionary { ["eyes_state"] = "opened", ["emotion"] = "angry" }); + ModAssert.CloseTo(1, tie.Resolve().Values["eye"].GetDouble(), what: "ordinal group name breaks equal priorities"); + } + + [ModTest("avatar/invalid_patch_is_atomic_and_names_are_case_sensitive")] + public static void Atomic(ModTestContext ctx) + { + IAvatar avatar = new AvatarInstance(Definition()); + Reject(avatar, new Dictionary { ["emotion"] = "angry", ["eyes_state"] = "missing" }); + Reject(avatar, new Dictionary { ["Emotion"] = "angry" }); + Reject(avatar, new Dictionary { ["emotion"] = "Angry" }); + Reject(avatar, new Dictionary { ["emotion"] = null }); + Reject(avatar, null); + ModAssert.Equal("neutral", avatar.CaptureState().Presets["emotion"]); + ModAssert.CloseTo(1, avatar.Resolve().Values["eye"].GetDouble()); + } + + [ModTest("avatar/definition_state_and_frame_do_not_alias_instances")] + public static void Isolation(ModTestContext ctx) + { + var definition = Definition(); + IAvatar a = new AvatarInstance(definition); IAvatar b = new AvatarInstance(definition); + var frame = a.Resolve(); var state = a.CaptureState(); + definition.Groups["emotion"].Presets.Clear(); definition.BaseValues.Clear(); + state.Presets["emotion"] = "missing"; + a.ApplyPresets(new Dictionary { ["emotion"] = "angry" }); + ModAssert.Equal("neutral", b.CaptureState().Presets["emotion"]); + ModAssert.Equal("neutral", frame.Presets["emotion"]); + ModAssert.CloseTo(1, frame.Values["eye"].GetDouble()); + ModAssert.CloseTo(0.3, a.Resolve().Values["eye"].GetDouble()); + var readOnly = false; + try { ((IDictionary)frame.Presets).Add("new", "value"); } + catch (NotSupportedException) { readOnly = true; } + ModAssert.True(readOnly, "render target selections cannot be mutated"); + } + + [ModTest("avatar/state_json_roundtrip_and_restore_validation")] + public static void Persistence(ModTestContext ctx) + { + var original = new AvatarInstance(Definition()); + original.ApplyPresets(new Dictionary { ["emotion"] = "angry", ["eyes_state"] = "opened" }); + var saved = JsonSerializer.Deserialize(JsonSerializer.Serialize(original.CaptureState())); + var restored = new AvatarInstance(Definition(), saved); + ModAssert.Equal(original.AvatarId, restored.AvatarId); + ModAssert.Equal("angry", restored.CaptureState().Presets["emotion"]); + ModAssert.Equal("opened", restored.CaptureState().Presets["eyes_state"]); + ModAssert.CloseTo(1, restored.Resolve().Values["eye"].GetDouble()); + saved.Presets.Clear(); + ModAssert.Equal("angry", restored.CaptureState().Presets["emotion"], "restored state is copied"); + var partial = new AvatarState { AvatarId = "test/avatar", Presets = new() { ["emotion"] = "angry" } }; + ModAssert.Equal("auto", new AvatarInstance(Definition(), partial).CaptureState().Presets["eyes_state"]); + RejectState(new AvatarState { AvatarId = "other" }); + RejectState(new AvatarState { AvatarId = "test/avatar", Presets = new() { ["emotion"] = "missing" } }); + RejectState(new AvatarState { AvatarId = "test/avatar", Presets = null }); + } + + internal static AvatarDefinition Definition() => JsonSerializer.Deserialize( + "{\"Id\":\"test/avatar\",\"Renderer\":\"test\",\"BaseValues\":{\"eye\":1},\"Groups\":{" + + "\"emotion\":{\"Default\":\"neutral\",\"Presets\":{\"neutral\":{},\"angry\":{\"Values\":{\"eye\":0.3,\"tint\":\"red\"}}}}," + + "\"eyes_state\":{\"Default\":\"auto\",\"Priority\":100,\"Presets\":{\"auto\":{},\"opened\":{\"Values\":{\"eye\":1}}}}}}"); + + private static void Reject(IAvatar avatar, IReadOnlyDictionary changes) + { + var rejected = false; + try { avatar.ApplyPresets(changes); } catch (ArgumentException) { rejected = true; } + ModAssert.True(rejected, "invalid changes are rejected"); + } + private static void RejectState(AvatarState state) + { + var rejected = false; + try { _ = new AvatarInstance(Definition(), state); } catch (ArgumentException) { rejected = true; } + ModAssert.True(rejected, "invalid restored state is rejected"); + } + } +}