Skip to content

API Changelog

mewcodex edited this page Sep 5, 2026 · 1 revision

API Changelog

English | 简体中文

This page records public integration changes. It is not the player-facing mod changelog. The documentation and version table below were verified against AutoAnthony 0.3.32 for Slay the Spire 2 0.111.x.

Current version matrix

Each public surface has its own version. The mod version, API versions, and save schema are separate compatibility numbers.

Assembly API Version Responsibility
ChaosCardGenerator ComponentApi 3 Profiles, catalogs, composition, occurrence and value policies
ChaosCardGenerator ComponentPackageApi 3 Atomic component-package registration
ChaosCardGenerator ComponentLocalizationApi 2 Named localization templates bound to RuntimeSpec slots
ChaosCardGenerator ComponentValuationApi 1 Custom opcode/variant valuation routes
ChaosCardGenerator ComponentKeywordApi 1 Stable custom keyword definitions and generation rules
AutoAnthony ExternalComponentCharacterApi 3 External character identity, definitions, runtime host, and Ancient relic bridge
AutoAnthony ComponentPresentationApi 2 Atomic hover-tip route registration
AutoAnthony ComponentRuntimeApi 1 Structured opcode execution routes
AutoAnthony ComponentKeywordRuntimeApi 1 Custom keyword projection into cards and tips
AutoAnthony ComponentRunSettingsApi 1 Local and host-authoritative generation settings
AutoAnthony ComponentGenerationProgressApi 1 Shared card-pool generation overlay
AutoAnthony ComponentTriggerApi 1 Safe player/card trigger dispatch and effective operation values
AutoAnthony ComponentSurpriseApi 1 Generated-card knowledge and concealment queries

CardNameGenerator.RegisterExternalParts is also public in 0.3.32. It atomically registers reviewed Chinese and English name morphology for an external source catalog, but does not have a separate version constant.

AutoAnthony 0.3.32 — external runtime integration

This release extends Component API v3 without changing the original four-argument ExternalComponentCharacterRegistration record.

  • ExternalComponentCharacterApi is now v3. RegisterRuntime binds a profile to its fixed card-slot types, run-active predicate, and card pool.
  • Persistent generated Powers can reconstruct an external character's concrete card model when their trigger fires after play, save/load, or reconnect.
  • GetActiveCardPools lets vanilla cross-pool effects, including Colorful Philosophers, include active external generated pools without reflecting private AutoAnthony methods.
  • ComponentRunSettingsApi exposes the complete local setting record and resolves the host-owned multiplayer carrier.
  • ComponentGenerationProgressApi exposes the same loading overlay used by built-in generated pools.
  • ComponentTriggerApi exposes guarded player/card trigger dispatch, captured X/dependency handling, and effective operation values.
  • ComponentSurpriseApi exposes generated-card, known-card, and concealment queries.
  • CardNameGenerator.RegisterExternalParts replaces reflection-based mutation of the internal name table.

Existing API-v2 external adapters that only use the original character registration remain binary compatible. To use the new services, declare AutoAnthony 0.3.32 or newer as the dependency; checking only ComponentApi.ApiVersion == 3 is insufficient because Component API v3 first shipped before these additive APIs.

Migration from an older external adapter

  1. Keep the existing ExternalComponentCharacterRegistration call.
  2. Add one ExternalComponentCharacterRuntimeRegistration after character registration and before any definitions are installed or read.
  3. Replace reflection into settings, generation progress, trigger execution, Surprise Mode, and name tables with the public APIs above.
  4. Generate definitions once on the host, synchronize the complete ordered list, and install it on every peer.
  5. Keep the owning mod's snapshot/network fields; AutoAnthony does not create them for an external character.

AutoAnthony 0.3.10 — Component API v3

  • Added stable custom keyword IDs, profile-local generation/upgrade permissions, and runtime keyword adapters.
  • Added ComponentSemanticFlags for cross-cutting legality instead of inferring semantics from template names or localized prose.
  • Added named localization templates and text slots bound directly to OperationRuntimeSpec values.
  • Made package, presentation, and keyword registration atomic and expanded package validation.
  • Moved new snapshots to structural upgrade effects and localization IDs; legacy bilingual labels remain migration inputs only.
  • Unified all five built-in character catalogs and Colorless behind the same reviewed structured-catalog path.

AutoAnthony 0.3.8 — Component API v2

  • Added recipe-preserving catalog composition and automatic weighted contribution to Ultimate Chaos.
  • Added profile-local native keyword and keyword-upgrade policy.
  • Added the optional external Ancient relic adapter for Archaic Tooth and Dusty Tome.
  • Kept external profile identity separate from its borrowed built-in balance archetype.

AutoAnthony 0.3.7 — Component API v1

The first public release established structured component catalogs, independent occurrence/value policies, custom runtime and presentation routes, component multiplicity, external fixed card slots, and run-scoped definition installation.

Compatibility checklist

  • Check every API your adapter actually calls; do not rely on one umbrella number.
  • Register packages and external hosts during mod initialization, before the first profile resolution, definition install, or operation execution freezes the corresponding registry.
  • Use stable ASCII package/profile/opcode/variant/slot IDs and never derive behavior from localized text.
  • Treat snapshot schema separately from API version. Current snapshots use schema 10; live schema 5-9 runs migrate card-by-card, while schema 1-4 remains history-readable only.
  • Preserve old structured routes needed by supported saves, and synchronize host definitions instead of regenerating independently on clients.

For current signatures, continue to API Reference. For a complete character flow, see External Character Integration.

Clone this wiki locally