CultLib/unity/org.gamecult.cultlib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 193cf1c39e Store gate: Cache owns the attach window; pin the three-gate bound; fix the unseen-cache wording
A cacheless write that re-enters its own store's hold now consults Cache first, so a journal's WriteDocument or WriteRecord gets the same refusal during an attach as after it (the attached text); the re-entry text no longer names an attach's pull. InStoreHold takes the store instead of its gate.
CacheBackingStore.GateTakes (internal, thread-static) counts the gates Gate takes; OneStoreCallTakesAtMostThreeGatesUnderFailingAttachChurn asserts at most three per call under failing-attach churn, which pins the stale-guess loop (M4b).
The contract and AddBackingStore say what holds: other threads may guess the tentative cache, but none runs a body against it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 22:35:58 +01:00
..
Runtime org.gamecult.cultlib 2.0.1: plugins regenerated by build-unity-package.ps1 -UpdateTemplate 2026-10-22 22:42:28 +02:00
Third Party Notices Correct stale Schannel/40,448-byte claims, ship OpenSSL's license notice 2026-09-17 19:49:14 +02:00
CHANGELOG.md Store gate: Cache owns the attach window; pin the three-gate bound; fix the unseen-cache wording 2026-10-25 22:35:58 +01:00
CHANGELOG.md.meta Track the new CHANGELOG.md.meta files (force-added like other tracked .meta) 2026-09-17 20:11:48 +02:00
package.json Caching: a reference gained on an otherwise identical slot is compatible drift (1.0.x ref-list stores open); 2.0.1 2026-10-22 22:16:14 +02:00
package.json.meta Preserve Unity package import metadata 2026-07-10 12:02:52 +01:00
README.md Release prep: org.gamecult.cultlib 2.0.0 and org.gamecult.caching.unity 2.0.0 versions, changelogs, install docs 2026-10-22 15:44:39 +02:00
README.md.meta Preserve Unity package import metadata 2026-07-10 12:02:52 +01:00
Runtime.meta Preserve Unity package import metadata 2026-07-10 12:02:52 +01:00
Third Party Notices.meta Add native QUIC realtime transport for Unity 2026-07-19 22:55:06 +01:00

CultLib for Unity

This package is generated from the CultLib .NET projects. It carries the same CultCache, CultNet, and CultMesh assemblies consumed through NuGet by normal .NET applications, staged as Unity-compatible managed plugins. Windows x64 builds also receive the native MsQuic realtime connector, built against OpenSSL (Microsoft.Native.Quic.MsQuic.OpenSSL 2.5.9, not Schannel — Schannel's MsQuic refuses the PKCS12 credential type both platforms share); the Microsoft and OpenSSL license notices are included under Third Party Notices.

Build it with scripts/build-unity-package.ps1. Do not edit generated plugin assemblies in the package output.

Install version 2.0.0 through Unity Package Manager with:

https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v2.0.0

The package depends on org.gamecult.cultmath (exactly 0.5.0) and does not carry its own CultMath.dll. Unity Package Manager resolves git packages only from the project manifest, so add CultMath beside CultLib in Packages/manifest.json:

"org.gamecult.cultmath": "https://github.com/GameCult/CultLib.git?path=/packages/cultmath/unity/org.gamecult.cultmath#cultmath-unity-v0.5.0"

CultMesh chooses mapped memory for reachable same-machine bodies and advertised QUIC for remote realtime state. Applications register the packaged CultMeshNativeQuicRealtimeTransportConnector; they do not load or configure MsQuic directly. Schemas, commands, receipts, and immutable content remain on their typed control/content planes.