Separate raw and framed streaming in AcBinarySerializer
Refactored AcBinarySerializer and AsyncPipeWriterOutput to support both raw (headerless) and multiplexed/framed ([201][UINT16][data]) streaming wire formats, controlled by a new flag and explicit APIs. Updated AsyncPipeReaderInput and AcBinaryDeserializer to match, with new constructor options and documentation. Expanded tests for both modes and added runtime type detection for flush strategy safety. Minor refactoring and doc improvements throughout.
High-performance serialization framework supporting three formats — Binary, JSON, and Toon — built on a shared infrastructure.
Folder Structure
Folder
Purpose
Binaries/
High-performance binary serialization with two-phase scan+serialize
Jsons/
Custom JSON serialization using Utf8JsonWriter/Utf8JsonReader
Toons/
LLM-optimized Token-Oriented Object Notation with @meta/@data sections
Expressions/
Expression tree serialization (LINQ Expression ↔ DTO)
Attributes/
Source generator marker attributes
Shared Infrastructure (Root Files)
Core Base Classes
AcSerializerContextBase.cs — Generic base context AcSerializerContextBase<TMetadata, TOptions> with metadata caching, wrapper slot management, and context pooling. All three serializers derive from this.
AcSerializerOptions.cs — Base options: reference handling mode, max depth, custom property mapping, ThrowOnCircularReference.