AyCode.Core/AyCode.Core
Loretta e3a66857aa IId-based reference deduplication for serialization
Adds robust IId<T>-based reference deduplication to both serialization and deserialization. Objects with the same type and Id are now treated as the same reference, reducing output size and ensuring correct reference identity in complex graphs.

Key changes:
- TypeMetadataBase: Adds IdAccessorType, typed Id getters, and precomputed property arrays for zero-boxing and fast access.
- AcSerializerCommon: Introduces IIdReferenceTracker for efficient (Type, Id) → object mapping.
- SerializationReferenceTracker: Now supports both ReferenceEquals and IId-based tracking for scanning and writing.
- AcBinarySerializer: Reference scan uses IId-aware deduplication, skipping types that don't need tracking.
- AcBinaryDeserializer: Adds per-context IId caches to ensure reference identity on deserialization.
- PropertyAccessorBase: Adds IsComplexType for fast scan decisions.
- Populate/Chain: Integrated with new IId cache for correct deduplication.
- Tests: Adds/updates tests for IId identity, cross-type safety, and diagnostics.
- Benchmarks: Adds WithRef/NoRef and AcJson vs System.Text.Json.
- Documentation: Includes detailed implementation plan and rationale.

No breaking changes for types that do not use IId. Zero-boxing for int/long/Guid Ids. Reference identity is now preserved for all IId objects.
2026-01-16 22:55:52 +01:00
..
Compression Add Toon serializer: LLM-optimized format & rich metadata 2026-01-10 20:13:54 +01:00
Consts improvements, fixes, etc... 2024-08-12 13:21:34 +02:00
Enums Messages improvements, fixes... 2024-08-16 17:01:02 +02:00
Extensions Refactor: Add high-performance Chain API for serializers 2025-12-29 22:41:28 +01:00
Helpers IId-based reference deduplication for serialization 2026-01-16 22:55:52 +01:00
Interfaces Enhance JSON handling and add hybrid reference support 2025-12-08 15:50:48 +01:00
Loggers Add Toon serializer: LLM-optimized format & rich metadata 2026-01-10 20:13:54 +01:00
Properties Add AcBinary Source Generator for fast serialization 2026-01-06 08:58:34 +01:00
Serializers IId-based reference deduplication for serialization 2026-01-16 22:55:52 +01:00
AcDomain.cs IAcSoftRemoveEntity 2024-11-13 10:58:39 +01:00
AyCode.Core.csproj Add Toon serializer: LLM-optimized format & logging 2026-01-12 07:16:41 +01:00