CultLib/unity/org.gamecult.cultlib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 0fbc12275a Restamp on write: one ownership rule, Owns, under which a type that reads a stored record whole may write it
CultDocumentRegistry.Owns replaces Declares as the one answer to whether a writer may write, relabel or remove a record under a
schema id: the id is declared, or the type that reads it reads it whole (equal content hash, or compatible shapes with no persisted
slot ignored). Staging asks the declared half or CultStoredDocument.StoredSchemaReadWhole; the apply halves (single file,
directory, cacheless CultMesh) ask Owns over the durable catalog, once per distinct id. A record read only by dropping slots
stays read-only until its id is declared compatible.

Not built or run at this commit: verified on Yggdrasil at the cut's head.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 03:39:02 +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 Restamp on write: one ownership rule, Owns, under which a type that reads a stored record whole may write it 2026-10-27 03:39:02 +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.