Skip to content
Tuxedo CatSTUDIO
Menu

Semantic Persistence

Review draft. This source page has not completed website editorial and release-specific verification.

Inventory core owns semantic persistence, not files or save slots. The public APIs are CapturePersistenceSnapshot, ValidatePersistenceSnapshot, and RestorePersistenceSnapshot. The semantic schema version is 1.

Snapshots include registered live persistent inventories and subsystem-owned dormant persistent inventories. Temporary inventories are excluded and remain untouched by restore. Capture emits no events and returns no partial snapshot on failure.

Occupied slots carry both the persisted ItemId and the typed soft UInventoryItemDefinition identity. Validation resolves the asset when needed and requires the loaded definition’s ItemId to match. Ordering is deterministic by persistent InventoryId and slot index.

Restore builds and validates one complete plan before changing any authority. Saved state replaces a matching live or dormant authority. A valid unknown persistent InventoryId becomes dormant authority. A live persistent inventory omitted from the snapshot resets to its authored Starting Items. Dormant persistent authority omitted from the snapshot is removed. The precedence is Saved > Dormant > Starting Items. Restore is silent and emits no InventoryChanged events.

Inventory owns its persistence snapshots, restore planning, validation, and persistent container behavior. Inventory remains independently usable without a save system. The optional Inventory/SaveGame integration is provided by the DirectorBridgeInventorySaveGame Runtime module in DirectorBridge 1.13.0. Its public IntegrationId is Inventory.SaveGame, ContractVersion 1. Enable the DirectorBridge plugin with Inventory Director Version 4 or later and Save Game Director Version 1 or later; the module registers the integration when both owner plugins are enabled and eligible. Integrations are enabled by default and can be disabled through DirectorBridge’s IntegrationOverrides setting.

The adapter maps Inventory’s public snapshot capture, validation, and restore APIs to Save Game Director’s contributor API. Its contributor ID is DirectorBridge.Inventory.SaveGame, its factory ID is DirectorBridge.Inventory.SaveGame.Factory, and it uses schema 1 with the required-record policy and FinalPostRestore phase. Save Game Director owns save/load orchestration; Inventory retains all snapshot and gameplay semantics. Inventory core has no direct dependency on DirectorBridge or Save Game Director. For the canonical integration family and owner-version registry, see the DirectorBridge project documents Docs/Integrations/SaveGameFamily.md and Docs/ExistingBridgeInventory.md.

Migration: the former InventoryDirectorSaveGameDirectorBridge integration was superseded by DirectorBridge’s DirectorBridgeInventorySaveGame module.