AI Core — сохранение конфигурации

AI-ориентированная карта провайдеров конфигурации, сериализаторов и хелперов сохранения.

Карта конфигурации и сохранения

Справочная карта по типизированным провайдерам конфигурации, сериализации, полиморфным метаданным, миграциям и замене типов.

Что обычно нужно сделать

  • Сохранять настройки сервиса или модуля.
  • Сериализовать и десериализовать полиморфные свойства аур.
  • Переносить старые типы конфигов на новые.
  • Сохранять неизвестные метаданные сущностей аур.
  • Хранить большие настройки script app, профили, состояние UI и выбранный процесс.

Модель

  • IConfigProvider<TConfig> хранит типизированные сохраняемые настройки компонента.
  • IConfigSerializer сериализует графы конфигурации и метаданных.
  • PoeConfigMetadata сохраняет идентичность конкретного типа для полиморфных конфигов.
  • Конвертеры конфигов переносят старые структуры в новые.
  • Карты замены метаданных сопоставляют перенесённые или переименованные типы конфигов.

API

  • IConfigProvider<TConfig> — типизированный провайдер настроек.
  • IConfigSerializer — фасад сериализации для графов конфигурации.
  • PoeConfigMetadata — обёртка метаданных, которая хранит идентичность типа и payload.
  • PoeConfigConverter — инфраструктура конвертеров.
  • PoeConfigMetadata<T> — типизированная обёртка метаданных.
  • ConfigMetadataConverter<T1,T2> — помощник для версионных миграций.
  • MetadataReplacement — сопоставление для перенесённых или переименованных типов.
  • ConfigSerializerReplacerScriptRuntimeVisitor — visitor для script runtime, который устанавливает замены сериализатора.

Что предпочесть

  • Используйте типизированные провайдеры конфигурации вместо произвольного хранения в файлах.
  • Сохраняйте полиморфные метаданные, а не отбрасывайте неизвестные сущности.
  • Для миграций используйте converters и replacements.
  • Для часто меняющегося состояния UI или профилей используйте buffered saves.

Чего избегать

  • Не сохраняйте настройки хоста в raw JSON, не проверив инфраструктуру config provider.
  • Не теряйте неизвестные свойства аур, если модуль недоступен.

Что искать

  • config provider
  • typed settings
  • config serializer
  • metadata wrapper
  • polymorphic config
  • migration
  • config converter
  • metadata replacement

Связанные карты

  • core/app-runtime-contexts.md
  • recipes/bot-memory-imgui-interface.md
  • auras/entities.md
  • auras/overview.md
  • scripting/runtime.md