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.