CultManagedDocument<T> and its two Document<T> openers came in with the SoA
storage (5428870) and are preserved at the same parked/cultcache-soa tag.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Parked Features
A parked feature was built for a stated reason, has no consumer, and was removed from the tree. Its last working form lives at an annotated tag so it can be restored instead of reinvented.
CultCache SoA table
- Tag:
parked/cultcache-soa - Intent: ECS-style structure-of-arrays columns over cached documents, for hot-loop performance without giving up POCO document ergonomics.
- Span at the tag:
src/GameCult.Caching/CultManagedDocument.cs:133-414(CultSoaTable<T>,CultSoaColumn<T>,CultCacheSoaStore,CultCacheSoaTypeTable,CultCacheSoaMember);CultCache.Soa<T>()and the_soafield with its upsert/remove hooks inCultCache.cs; the SoA tests intests/GameCult.Caching.Tests/BackingStoreTests.csandtests/GameCult.Mesh.Tests/CultMeshStreamingTests.cs. - Managed document:
CultManagedDocument<T>(CultManagedDocument.cs:72-131at the tag) withCultCache.Document<T>andCultNetDatabase.Document<T>, the reactive POCO handle added with the SoA storage in5428870"Make SoA cache-managed document storage". Same tag, same intent: the document stays a POCO while the cache owns its columnar storage. - Consumers when parked: none outside tests.
- Restore:
git show parked/cultcache-soa:src/GameCult.Caching/CultManagedDocument.cs, take the SoA types andCultManagedDocument<T>, restore bothDocument<T>openers fromCultCache.csandCultNetDatabase.csat the tag, and re-hook aCultCacheSoaStoreinto the cache's single admission and eviction paths (Admit/Evict).