Table of Contents

Namespace Chronicler

Chronicler provides deterministic, transport-neutral state transfer for .NET runtimes that own their object graphs. Types declare names, defaults, order, and ownership through IRecordable.RecordData(...); the built-in transports apply that schema to JSON or MemoryPack and populate existing runtime shells.

Use RecordValues for leaf data, the deep helpers for owned nested state, and RecordLinks for external or runtime-owned identity. ChronicleHashSerializer walks the same schema to produce replay and conformance signals without hashing a transport payload.

Chronicler is designed for the deterministic Lockstep Simulation Framework ecosystem, including SwiftCollections, GridForge, and Gravitas.

Classes

ChronicleContext

Carries session-scoped serialization services such as stable link resolution.

ChronicleHashSerializer

Computes deterministic record hashes by traversing RecordData(IChronicler).

ChronicleLinkRegistry

Stores stable-link resolution strategies for external or runtime-owned objects.

DefaultSaver

Provides a reusable save/apply lifecycle base for explicit state transfer helpers.

JsonRecordSerializer

Serializes IRecordable state graphs to and from JSON through the chronicler API.

MemoryPackRecordSerializer

Serializes IRecordable state graphs to and from MemoryPack through the chronicler API.

RecordDeep

Helper for reading and writing nested recordable objects during a chronicler pass.

RecordDeepStruct

Helper for reading and writing nested recordable structs during a chronicler pass.

RecordLinks

Helper for reading and writing stable links to external or runtime-owned objects during a chronicler pass.

RecordNullableDeep

Helper for reading and writing optional nested recordable structs during a chronicler pass.

RecordValues

Helper for reading and writing leaf values during a chronicler pass.

SerializationPayloadEditor

Provides methods for editing serialized payloads without fully deserializing them.

StateJsonConverterFactory

Creates JSON converters for types that explicitly implement IStateBacked<TState>.

StateJsonConverter<TRecord, TState>

Serializes and deserializes an object through its canonical state value.

Structs

ChronicleHash

Fixed-width deterministic hash value produced by a Chronicler record-hash pass.

ChronicleHashWriter

Writes deterministic primitive payloads into a fixed-width record hash.

Interfaces

IChronicler

Defines the common contract used by value and deep serialization helpers.

IRecordLinkResolver<T>

Resolves stable identifiers for external or runtime-owned objects that should not be serialized inline.

IRecordable

Defines a type that can record its serializable state through a chronicler pass.

IStateBacked<TState>

Exposes a canonical serializable state value for an object.

Enums

RecordLinkResolveMode

Controls whether a recorded link must resolve during the current load pass or may resolve after the full graph has loaded.

SerializationMode

Describes whether a chronicler pass is saving values out or loading values in.