EXPLICIT STATE TRANSFER FOR .NET
Record state on your terms.
Chronicler gives each type one visible schema for JSON, MemoryPack, restoring existing runtime objects, stable links, and deterministic replay signals. Exact time values and a host-advanced clock keep long-running simulations on an explicit timeline.
One schema, several jobs
Own the schema
Make field names, defaults, order, and ownership explicit in
RecordData(...).
Choose a transport
Use built-in JSON everywhere, with built-in MemoryPack available in the standard package.
Populate your runtime
Transfer state into initialized objects while the host keeps ownership of construction and lifecycle.
Keep deterministic state connected
Restore stable links
Represent runtime-owned and external references with stable IDs instead of serializing them inline.
Compare recorded state
Build deterministic replay and conformance signals directly from the recording schema.
Expose canonical helper state
Integrate state-backed helper types with System.Text.Json when reconstruction from one state value is intentional.
Package family
Both Core variants include the same dependency-free simulation timing APIs.
| Package | Includes |
|---|---|
Chronicler.Diagnostics |
Independent diagnostic channels, lazy logging, and exception guards |
Chronicler.Core |
Core recording APIs plus JSON and MemoryPack transports |
Chronicler.Core.Lean |
Core recording APIs and JSON, without the MemoryPack dependency or transport |
Chronicler.MemoryPackShim |
Compatibility attributes for annotated Lean assemblies; not a serializer |
Guides
Diagnostics and guards covers the independent Chronicler.Diagnostics package and host-owned output.
Getting started defines a schema and moves it through the built-in transports.
Values, owned state, and links explains object ownership, defaults, link resolution, and package boundaries.
Deterministic record hashes documents the replay and conformance hash contract.
Simulation timing explains wide timestamps, signed intervals, explicit clock advancement, and transactional clock restore.
Part of the LSF ecosystem
Chronicler is designed for deterministic libraries, games, simulations, and tools throughout the Lockstep Simulation Framework ecosystem:
Resources
- Migration guide covers upgrade steps and compatibility changes.
- Source, issues, and releases
- NuGet packages
- Test coverage
The API reference is generated from the Core, Diagnostics, and compatibility shim assemblies and their XML documentation. The guides explain how those types work together.