diff --git a/Aetheria.State.Verify/Aetheria.State.Verify.csproj b/Aetheria.State.Verify/Aetheria.State.Verify.csproj
new file mode 100644
index 000000000..ca788873d
--- /dev/null
+++ b/Aetheria.State.Verify/Aetheria.State.Verify.csproj
@@ -0,0 +1,13 @@
+
+
+ Exe
+ net10.0
+ enable
+ latest
+ enable
+
+
+
+
+
+
diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs
new file mode 100644
index 000000000..878162f62
--- /dev/null
+++ b/Aetheria.State.Verify/Program.cs
@@ -0,0 +1,93 @@
+using Aetheria.State;
+using Aetheria.State.Documents;
+
+var root = args.Length > 0 ? Path.GetFullPath(args[0]) : Directory.GetCurrentDirectory();
+var statePath = args.Length > 1
+ ? Path.GetFullPath(args[1])
+ : AetheriaStatePaths.ResolveDefaultStatePath(root);
+
+await using var node = await AetheriaStateNode.OpenAsync(statePath, "aetheria-state-verify");
+
+var ledger = await node.GetMigrationLedgerAsync()
+ ?? throw new InvalidOperationException("Missing typed migration ledger.");
+var quarantine = await node.GetLegacyCatalogQuarantineAsync()
+ ?? throw new InvalidOperationException("Missing legacy catalog quarantine document.");
+
+var items = node.Cache.GetAll().ToArray();
+var corporations = node.Cache.GetAll().ToArray();
+var nameFiles = node.Cache.GetAll().ToArray();
+
+RequireCount(ledger, "aetheria.item_definition.v1", items.Length);
+RequireCount(ledger, "aetheria.corporation.v1", corporations.Length);
+RequireCount(ledger, "aetheria.name_file.v1", nameFiles.Length);
+
+if (items.Length == 0)
+{
+ throw new InvalidOperationException("Typed state has no item definitions.");
+}
+
+if (corporations.Length == 0)
+{
+ throw new InvalidOperationException("Typed state has no corporations.");
+}
+
+if (nameFiles.Length == 0)
+{
+ throw new InvalidOperationException("Typed state has no name files.");
+}
+
+await RequireLegacyLookupAsync(
+ items[0].LegacyId,
+ () => node.GetItemDefinitionByLegacyIdAsync(items[0].LegacyId),
+ "item definition");
+await RequireLegacyLookupAsync(
+ corporations[0].LegacyId,
+ () => node.GetCorporationByLegacyIdAsync(corporations[0].LegacyId),
+ "corporation");
+await RequireLegacyLookupAsync(
+ nameFiles[0].LegacyId,
+ () => node.GetNameFileByLegacyIdAsync(nameFiles[0].LegacyId),
+ "name file");
+
+if (string.IsNullOrWhiteSpace(quarantine.CatalogFingerprint))
+{
+ throw new InvalidOperationException("Legacy catalog quarantine has no catalog fingerprint.");
+}
+
+Console.WriteLine($"Aetheria typed state verify passed: {statePath}");
+Console.WriteLine($"Catalog fingerprint: {quarantine.CatalogFingerprint}");
+Console.WriteLine($"Item definitions: {items.Length}");
+Console.WriteLine($"Corporations: {corporations.Length}");
+Console.WriteLine($"Name files: {nameFiles.Length}");
+
+static void RequireCount(AetheriaMigrationLedger ledger, string documentType, int actual)
+{
+ var expected = ledger.Counts.FirstOrDefault(count => count.DocumentType == documentType)?.Count;
+ if (expected == null)
+ {
+ throw new InvalidOperationException($"Migration ledger is missing count for {documentType}.");
+ }
+
+ if (expected.Value != actual)
+ {
+ throw new InvalidOperationException(
+ $"Migration ledger count mismatch for {documentType}: ledger={expected.Value}, actual={actual}.");
+ }
+}
+
+static async Task RequireLegacyLookupAsync(
+ string legacyId,
+ Func> lookup,
+ string label) where T : class
+{
+ if (string.IsNullOrWhiteSpace(legacyId))
+ {
+ throw new InvalidOperationException($"Cannot verify {label}: legacy id is empty.");
+ }
+
+ var value = await lookup().ConfigureAwait(false);
+ if (value == null)
+ {
+ throw new InvalidOperationException($"Typed legacy-id lookup failed for {label} {legacyId}.");
+ }
+}
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json
new file mode 100644
index 000000000..a7ef8ed34
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json
@@ -0,0 +1,293 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v10.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v10.0": {
+ "Aetheria.State.Verify/1.0.0": {
+ "dependencies": {
+ "Aetheria.State": "1.0.0"
+ },
+ "runtime": {
+ "Aetheria.State.Verify.dll": {}
+ }
+ },
+ "ConcurrentHashSet/1.3.0": {
+ "runtime": {
+ "lib/netstandard2.0/ConcurrentCollections.dll": {
+ "assemblyVersion": "1.3.0.0",
+ "fileVersion": "1.3.0.0"
+ }
+ }
+ },
+ "Isopoh.Cryptography.Argon2/2.0.0": {
+ "dependencies": {
+ "Isopoh.Cryptography.Blake2b": "2.0.0",
+ "Isopoh.Cryptography.SecureArray": "2.0.0"
+ },
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.Argon2.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Isopoh.Cryptography.Blake2b/2.0.0": {
+ "dependencies": {
+ "Isopoh.Cryptography.SecureArray": "2.0.0"
+ },
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Isopoh.Cryptography.SecureArray/2.0.0": {
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "LiteNetLib/2.1.2": {
+ "runtime": {
+ "lib/net8.0/LiteNetLib.dll": {
+ "assemblyVersion": "2.1.2.0",
+ "fileVersion": "2.1.2.0"
+ }
+ }
+ },
+ "MessagePack/3.1.4": {
+ "dependencies": {
+ "MessagePack.Annotations": "3.1.4",
+ "Microsoft.NET.StringTools": "17.11.4"
+ },
+ "runtime": {
+ "lib/net9.0/MessagePack.dll": {
+ "assemblyVersion": "3.1.4.0",
+ "fileVersion": "3.1.4.0"
+ }
+ }
+ },
+ "MessagePack.Annotations/3.1.4": {
+ "runtime": {
+ "lib/netstandard2.0/MessagePack.Annotations.dll": {
+ "assemblyVersion": "3.1.4.0",
+ "fileVersion": "3.1.4.0"
+ }
+ }
+ },
+ "Microsoft.NET.StringTools/17.11.4": {
+ "runtime": {
+ "lib/net8.0/Microsoft.NET.StringTools.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "17.11.4.40609"
+ }
+ }
+ },
+ "R3/1.3.0": {
+ "runtime": {
+ "lib/net8.0/R3.dll": {
+ "assemblyVersion": "1.3.0.0",
+ "fileVersion": "1.3.0.0"
+ }
+ }
+ },
+ "Aetheria.State/1.0.0": {
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Mesh": "1.0.3",
+ "GameCult.Networking": "1.0.3"
+ },
+ "runtime": {
+ "Aetheria.State.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "GameCult.Caching/1.0.3": {
+ "dependencies": {
+ "ConcurrentHashSet": "1.3.0",
+ "GameCult.Logging": "1.0.3",
+ "R3": "1.3.0"
+ },
+ "runtime": {
+ "GameCult.Caching.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ },
+ "GameCult.Caching.MessagePack/1.0.3": {
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack.Analyzers": "1.0.3",
+ "MessagePack": "3.1.4"
+ },
+ "runtime": {
+ "GameCult.Caching.MessagePack.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ },
+ "GameCult.Caching.MessagePack.Analyzers/1.0.3": {
+ "runtime": {
+ "GameCult.Caching.MessagePack.Analyzers.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ },
+ "GameCult.Logging/1.0.3": {
+ "runtime": {
+ "GameCult.Logging.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ },
+ "GameCult.Mesh/1.0.3": {
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Networking": "1.0.3"
+ },
+ "runtime": {
+ "GameCult.Mesh.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ },
+ "GameCult.Networking/1.0.3": {
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Logging": "1.0.3",
+ "Isopoh.Cryptography.Argon2": "2.0.0",
+ "LiteNetLib": "2.1.2",
+ "MessagePack": "3.1.4",
+ "R3": "1.3.0"
+ },
+ "runtime": {
+ "GameCult.Networking.dll": {
+ "assemblyVersion": "1.0.3.0",
+ "fileVersion": "1.0.3.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Aetheria.State.Verify/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "ConcurrentHashSet/1.3.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-a30gfk4WDn2f7sOisXpko+CrQ7s5nL1ZWk4afnRwwRQHWPRrRSZpzn5Dz2YWpJtS90NJqkytQ/MkzHq4QYTIbg==",
+ "path": "concurrenthashset/1.3.0",
+ "hashPath": "concurrenthashset.1.3.0.nupkg.sha512"
+ },
+ "Isopoh.Cryptography.Argon2/2.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-8ytWN19j+qARb/XYi7KkNMm4Z8zS6tfGgnsZ1N5ihbQ5LXfyL+uYowfJxtGW9TO0S8NM2q0BaTKGOtOlsrhclQ==",
+ "path": "isopoh.cryptography.argon2/2.0.0",
+ "hashPath": "isopoh.cryptography.argon2.2.0.0.nupkg.sha512"
+ },
+ "Isopoh.Cryptography.Blake2b/2.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Co56bjSZV13fpvYHEN04qG8hqc0rKRm4os8iEgpJ/kujvt0pYtOVhj5J0Q7HBPbHwpcChRh2CjYVCGm4nw85VQ==",
+ "path": "isopoh.cryptography.blake2b/2.0.0",
+ "hashPath": "isopoh.cryptography.blake2b.2.0.0.nupkg.sha512"
+ },
+ "Isopoh.Cryptography.SecureArray/2.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-oWbRv/BTztKJxKFr3FBurWBBCgE1+nUTm3pwtA3Yg7Xeo4wDpaLstAwqx8HeQG3/b9yOs2qykpqfbNPJ40McIw==",
+ "path": "isopoh.cryptography.securearray/2.0.0",
+ "hashPath": "isopoh.cryptography.securearray.2.0.0.nupkg.sha512"
+ },
+ "LiteNetLib/2.1.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+bmu7Vj+ik3xGX+qubsFuGSR8Pdri4Og7D9YAer83vHotkSHNLYL5bkZNgpvsK8GrcdNOUabZhqbYtmHu8as7A==",
+ "path": "litenetlib/2.1.2",
+ "hashPath": "litenetlib.2.1.2.nupkg.sha512"
+ },
+ "MessagePack/3.1.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
+ "path": "messagepack/3.1.4",
+ "hashPath": "messagepack.3.1.4.nupkg.sha512"
+ },
+ "MessagePack.Annotations/3.1.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==",
+ "path": "messagepack.annotations/3.1.4",
+ "hashPath": "messagepack.annotations.3.1.4.nupkg.sha512"
+ },
+ "Microsoft.NET.StringTools/17.11.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==",
+ "path": "microsoft.net.stringtools/17.11.4",
+ "hashPath": "microsoft.net.stringtools.17.11.4.nupkg.sha512"
+ },
+ "R3/1.3.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-c4bL37HGimYon/qfRTZOJE41M3cgdMJn/p4O5Jq+WHTJGNXUb1x2DlVI+iZk5phCBwq3ERfrgbaPu9WdG2OS+w==",
+ "path": "r3/1.3.0",
+ "hashPath": "r3.1.3.0.nupkg.sha512"
+ },
+ "Aetheria.State/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Caching/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Caching.MessagePack/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Caching.MessagePack.Analyzers/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Logging/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Mesh/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "GameCult.Networking/1.0.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll
new file mode 100644
index 000000000..e8e13402e
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:10df2ef3b22ac10a7654a740984cdf31744fe43c42b66ed906d32f4f360272e0
+size 13824
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe
new file mode 100644
index 000000000..bbb905523
Binary files /dev/null and b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe differ
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json
new file mode 100644
index 000000000..01e45192a
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net10.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "10.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll
new file mode 100644
index 000000000..adb84470b
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ce1dea4707abfa9035c5aaccd70dc511a12046b535cb924c2f4252d29c6d9712
+size 57344
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll b/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll
new file mode 100644
index 000000000..362b7d8a2
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fe768c5c4f8a2c109b4e0677d804fa655c1726c35957635f66dc1ed0b3fb7734
+size 13824
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll
new file mode 100644
index 000000000..a918eb586
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0aef8297578b1320f5077ae55692936eefc125484ecb46eed06f586e2a982fca
+size 5120
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml
new file mode 100644
index 000000000..effbe1082
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml
@@ -0,0 +1,13 @@
+
+
+
+ GameCult.Caching.MessagePack.Analyzers
+
+
+
+
+ Placeholder type for the analyzer packaging project.
+
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll
new file mode 100644
index 000000000..e804d4dc6
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f2ff9b60fdbdefb4192392b86523f0cf71cf5859d52aead99014b7d9cf1c7723
+size 25088
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml
new file mode 100644
index 000000000..a6027a462
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml
@@ -0,0 +1,226 @@
+
+
+
+ GameCult.Caching.MessagePack
+
+
+
+
+ Options for opening a CultCache over the canonical single-file MessagePack backing store.
+
+
+
+
+ Gets or sets the document registry to use. When omitted, the shared registry is used.
+
+
+
+
+ Gets or sets whether the cache should pull the existing snapshot during open.
+
+
+
+
+ Gets or sets whether the cache should flush attached stores when disposed.
+
+
+
+
+ Gets or sets whether the backing store should flush when disposed.
+
+
+
+
+ Gets or sets an optional callback used to customize the cache before opening.
+
+
+
+
+ Gets or sets an optional callback used to customize the backing store before opening.
+
+
+
+
+ Gets or sets whether the cache should use a paged directory store instead of one whole-file snapshot.
+
+
+
+
+ Gets or sets the directory used for paged records. When omitted, the store uses the file path plus ".records".
+
+
+
+
+ Gets or sets an optional callback used to customize the directory backing store before opening.
+
+
+
+
+ Friendly MessagePack entrypoints for opening a CultCache with the canonical backing store.
+
+
+
+
+ Creates a cache with the canonical single-file MessagePack backing store attached.
+
+
+
+
+ Creates a cache with the canonical single-file MessagePack backing store attached and optionally pulls the on-disk snapshot.
+
+
+
+
+ MessagePack resolver for CultCache-specific value types.
+
+
+
+
+ Gets the shared resolver instance.
+
+
+
+
+ Gets a formatter for the requested type, when this resolver owns it.
+
+
+
+
+ MessagePack serialization helpers for CultCache documents and backing stores.
+
+
+
+
+ Gets the shared MessagePack serializer options for CultCache payloads.
+
+
+
+
+ Serializes a typed value with the CultCache MessagePack options.
+
+
+
+
+ Deserializes a typed value with the CultCache MessagePack options.
+
+
+
+
+ Serializes a value whose document type is known at runtime.
+
+
+
+
+ Deserializes a value whose document type is known at runtime.
+
+
+
+
+ Serializes one persisted store record.
+
+
+
+
+ Deserializes one persisted store record.
+
+
+
+
+ Serializes a schema catalog.
+
+
+
+
+ Deserializes a schema catalog.
+
+
+
+
+ Serializes a complete persisted store snapshot.
+
+
+
+
+ Deserializes a complete persisted store snapshot.
+
+
+
+
+ Single-file CultCache backing store that persists snapshots as MessagePack.
+
+
+
+
+ Creates a MessagePack single-file backing store.
+
+
+
+
+ Serializes a store snapshot.
+
+
+
+
+ Deserializes a store snapshot.
+
+
+
+
+ Serializes one document payload.
+
+
+
+
+ Deserializes one document payload.
+
+
+
+
+ MessagePack backing store that keeps a small schema manifest hot and stores each record as its own cold file.
+
+
+
+
+ Creates a paged MessagePack backing store.
+
+
+
+
+ Gets the default record directory path for a manifest path.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Serializes typed CultCache record references as their persisted key strings.
+
+
+
+
+ Writes a typed record reference to MessagePack.
+
+
+
+
+ Reads a typed record reference from MessagePack.
+
+
+
+ A MessagePack resolver that uses generated formatters for types in this assembly.
+
+
+ An instance of this resolver that only returns formatters specifically generated for types in this assembly.
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll
new file mode 100644
index 000000000..e9456bb80
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8122f77d7e095dc60fe6a11c5504af887019e57cdfdf7ae8ebe569263ac6d6c6
+size 82944
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml
new file mode 100644
index 000000000..9554681e9
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml
@@ -0,0 +1,1138 @@
+
+
+
+ GameCult.Caching
+
+
+
+
+ Persisted schema metadata embedded in a CultCache backing store.
+
+
+
+
+ Gets or sets the content-derived schema identifier.
+
+
+
+
+ Gets or sets the stable schema name.
+
+
+
+
+ Gets or sets the schema version string.
+
+
+
+
+ Gets or sets the canonical schema content hash.
+
+
+
+
+ Gets or sets the canonical schema description.
+
+
+
+
+ Gets or sets schema identifiers compatible with this entry.
+
+
+
+
+ Gets or sets the persisted member descriptors used for compatibility checks.
+
+
+
+
+ Persisted catalog entry describing one schema member.
+
+
+
+
+ Gets or sets the persisted slot number.
+
+
+
+
+ Gets or sets the member name.
+
+
+
+
+ Gets or sets the persisted type name.
+
+
+
+
+ Gets or sets whether the member is a reference.
+
+
+
+
+ Gets or sets whether the member stores many values.
+
+
+
+
+ Gets or sets the referenced schema name, when the member is a reference.
+
+
+
+
+ Gets or sets whether the member provides the name lookup.
+
+
+
+
+ Gets or sets the index alias, when the member participates in lookups.
+
+
+
+
+ Persisted serialized document record.
+
+
+
+
+ Gets or sets the persisted record key.
+
+
+
+
+ Gets or sets the schema identifier used to deserialize the payload.
+
+
+
+
+ Gets or sets the storage timestamp.
+
+
+
+
+ Gets or sets the serialized document payload.
+
+
+
+
+ Complete snapshot persisted by a single-file CultCache backing store.
+
+
+
+
+ Gets or sets the backing store format version.
+
+
+
+
+ Gets or sets the embedded schema catalog.
+
+
+
+
+ Gets or sets the persisted records.
+
+
+
+
+ Classifies how a persisted schema mapped onto the local document registry.
+
+
+
+
+ The persisted schema matched the local schema exactly.
+
+
+
+
+ The persisted schema required a compatible soft-migration path.
+
+
+
+
+ Describes one schema-resolution warning emitted during load.
+
+
+
+
+ Gets or sets the stable warning code.
+
+
+
+
+ Gets or sets the human-readable warning text.
+
+
+
+
+ Reports how one persisted schema entry resolved against the local schema catalog.
+
+
+
+
+ Gets or sets the persisted schema identifier.
+
+
+
+
+ Gets or sets the local schema identifier selected for reading.
+
+
+
+
+ Gets or sets the persisted schema name.
+
+
+
+
+ Gets or sets the local schema name.
+
+
+
+
+ Gets or sets how the persisted schema matched locally.
+
+
+
+
+ Gets or sets the persisted member slots ignored by the local reader.
+
+
+
+
+ Gets or sets the local member slots defaulted because the persisted record did not contain them.
+
+
+
+
+ Gets or sets emitted migration warnings.
+
+
+
+
+ Runtime descriptor for a CultCache document type.
+
+
+
+
+ Gets the CLR document type.
+
+
+
+
+ Gets the stable schema name.
+
+
+
+
+ Gets the schema version string.
+
+
+
+
+ Gets the content-derived schema identifier.
+
+
+
+
+ Gets the canonical schema content hash.
+
+
+
+
+ Gets the canonical schema description.
+
+
+
+
+ Gets whether this document type stores one global record.
+
+
+
+
+ Gets the document name member, if any.
+
+
+
+
+ Gets the generated payload serializer, if one is available.
+
+
+
+
+ Gets the generated payload deserializer, if one is available.
+
+
+
+
+ Converts this descriptor into a persisted schema catalog entry.
+
+
+
+
+ Stores a resolved document together with its descriptor and key.
+
+
+
+
+ Creates a stored document wrapper.
+
+
+
+
+ Gets the record key.
+
+
+
+
+ Gets the storage timestamp.
+
+
+
+
+ Gets the document descriptor.
+
+
+
+
+ Gets the document instance.
+
+
+
+
+ Discovers, indexes, and resolves CultCache document descriptors.
+
+
+
+
+ Gets the shared process-wide document registry.
+
+
+
+
+ Creates a registry and discovers currently loaded document metadata.
+
+
+
+
+ Gets all known document descriptors.
+
+
+
+
+ Rebuilds the registry from generated metadata and reflected document attributes.
+
+
+
+
+ Gets the descriptor for a document type, building it when needed.
+
+
+
+
+ Gets the descriptor for a document type.
+
+
+
+
+ Gets a descriptor by its schema identifier.
+
+
+
+
+ Resolves a persisted schema identifier against the local registry and embedded catalog.
+
+
+
+
+ Resolves a persisted schema identifier and returns the selected descriptor with migration diagnostics.
+
+
+
+
+ In-memory document cache with pluggable persisted backing stores.
+
+
+
+
+ Creates a cache using the supplied document registry or the shared registry.
+
+
+
+
+ Gets or sets the cache logger.
+
+
+
+
+ Gets whether the cache currently holds unflushed mutations in any attached backing store or only in memory.
+
+
+
+
+ Gets the UTC timestamp of the last successful flush across all attached backing stores.
+
+
+
+
+ Gets or sets whether disposing the cache should flush attached dirty backing stores first.
+
+
+
+
+ Raised when a backing store adds, updates, or removes a document.
+
+
+
+
+ Gets attached backing stores in registration order.
+
+
+
+
+ Gets all document instances currently held by the cache.
+
+
+
+
+ Gets all stored document records currently held by the cache.
+
+
+
+
+ Gets the document registry used by this cache.
+
+
+
+
+ Opens a reactive POCO presentation for one cache-managed document.
+
+
+
+
+ Watches all local cache changes assignable to the requested document type.
+
+
+
+
+ Watches one local cache record.
+
+
+
+
+ Gets the cache-owned structure-of-arrays table for a document type.
+
+
+
+
+ Attaches a backing store to this cache.
+
+
+
+
+ Pulls all documents from every attached backing store.
+
+
+
+
+ Flushes all attached backing stores.
+
+
+
+
+ Flushes all attached backing stores.
+
+
+
+
+ Flushes one attached backing store.
+
+
+
+
+ Flushes attached backing stores at a lifecycle boundary such as shutdown or assembly reload.
+
+
+
+
+ Flushes attached backing stores at a lifecycle boundary such as shutdown or assembly reload.
+
+
+
+
+ Adds or replaces a typed document and returns its record handle.
+
+
+
+
+ Adds or replaces a typed document and returns its record handle.
+
+
+
+
+ Adds or replaces a document whose concrete type is known at runtime.
+
+
+
+
+ Gets the record handle for a document instance, if it is tracked.
+
+
+
+
+ Gets a document by record key.
+
+
+
+
+ Gets a typed document by record key.
+
+
+
+
+ Tries to get a typed document by record key.
+
+
+
+
+ Gets all cached documents assignable to the requested type.
+
+
+
+
+ Gets the global document for the requested type, if one exists.
+
+
+
+
+ Gets a typed document by its CultName value.
+
+
+
+
+ Tries to get a typed document by its CultName value.
+
+
+
+
+ Gets a typed document by an indexed value.
+
+
+
+
+ Tries to get a typed document by an indexed value.
+
+
+
+
+ Resolves a typed document reference against this cache.
+
+
+
+
+ Removes a document by typed handle.
+
+
+
+
+ Removes a document by cache-owned record key.
+
+
+
+
+ Removes a document by typed handle.
+
+
+
+
+ Disposes attached disposable backing stores.
+
+
+
+
+ Base class for CultCache persistence adapters.
+
+
+
+
+ Gets the attached document registry.
+
+
+
+
+ Gets the backing store entries by record key.
+
+
+
+
+ Gets or sets the backing store logger.
+
+
+
+
+ Gets whether the backing store holds staged mutations not yet durably flushed.
+
+
+
+
+ Gets the UTC timestamp of the last successful durable flush.
+
+
+
+
+ Gets or sets whether disposing the backing store should flush staged mutations first.
+
+
+
+
+ Gets schema migration reports emitted during the most recent pull.
+
+
+
+
+ Publishes documents added by the backing store.
+
+
+
+
+ Publishes documents updated by the backing store.
+
+
+
+
+ Publishes documents deleted by the backing store.
+
+
+
+
+ Pulls all persisted records into the backing store.
+
+
+
+
+ Pushes one stored document into the backing store.
+
+
+
+
+ Deletes one stored document from the backing store.
+
+
+
+
+ Persists all current backing store entries.
+
+
+
+
+ Releases backing store event subjects.
+
+
+
+
+ Converts a stored document into a persisted record.
+
+
+
+
+ Converts a persisted record into a stored document.
+
+
+
+
+ Records schema migration reports captured during a pull.
+
+
+
+
+ Marks the backing store as durably flushed.
+
+
+
+
+ Base class for backing stores that persist a complete snapshot to one file.
+
+
+
+
+ Creates a single-file backing store.
+
+
+
+
+ Gets the file used by this backing store.
+
+
+
+
+ Serializes a full store snapshot.
+
+
+
+
+ Deserializes a full store snapshot.
+
+
+
+
+ Serializes one document payload.
+
+
+
+
+ Deserializes one document payload.
+
+
+
+
+ Loads every persisted record from disk.
+
+
+
+
+ Stages one stored document in memory.
+
+
+
+
+ Removes one staged document.
+
+
+
+
+ Writes the staged snapshot to disk.
+
+
+
+
+ Marks a type as a CultCache document with a stable schema name and version.
+
+
+
+
+ Creates a document marker for the supplied schema identity.
+
+
+
+
+ Gets the stable schema name used by CultCache and CultNet.
+
+
+
+
+ Gets the semantic schema version string for this document shape.
+
+
+
+
+ Marks a document type as having one global record in a cache.
+
+
+
+
+ Marks the member that supplies the human-readable document name.
+
+
+
+
+ Marks a member as an indexed lookup value.
+
+
+
+
+ Creates an index marker with an optional alias.
+
+
+
+
+ Gets the external index alias, or null to use the member name.
+
+
+
+
+ Marks a member as a reference to another CultCache document.
+
+
+
+
+ Creates a document reference marker.
+
+
+
+
+ Gets the explicit referenced document type, when one is required.
+
+
+
+
+ Gets whether this member stores many references rather than one reference.
+
+
+
+
+ Identifies a record inside a CultCache backing store.
+
+
+
+
+ Creates a record key from its persisted string value.
+
+
+
+
+ Gets the persisted key value.
+
+
+
+
+ Returns the persisted key value.
+
+
+
+
+ Returns whether this key and another key contain the same persisted value.
+
+
+
+
+ Returns whether this key and another object contain the same persisted value.
+
+
+
+
+ Returns a hash code for the persisted key value.
+
+
+
+
+ Carries the persisted record key for a typed document.
+
+
+
+
+ Creates a typed document handle.
+
+
+
+
+ Gets the persisted record key.
+
+
+
+
+ Returns the persisted key value.
+
+
+
+
+ Stores a typed reference to a CultCache document.
+
+
+
+
+ Creates a typed document reference.
+
+
+
+
+ Gets the referenced record key.
+
+
+
+
+ Resolves the referenced record against the provided cache.
+
+
+
+
+ Returns the referenced key value.
+
+
+
+
+ Registers a generated CultCache document metadata provider with an assembly.
+
+
+
+
+ Creates an assembly metadata provider registration.
+
+
+
+
+ Gets the provider type that can create generated document definitions.
+
+
+
+
+ Supplies generated CultCache document metadata for an assembly.
+
+
+
+
+ Gets the generated document definitions exposed by the provider.
+
+
+
+
+ Describes one generated CultCache document contract.
+
+
+
+
+ Creates a generated document contract definition.
+
+
+
+
+ Gets the CLR document type.
+
+
+
+
+ Gets the stable CultCache schema name.
+
+
+
+
+ Gets the schema version string.
+
+
+
+
+ Gets whether this document type stores one global record.
+
+
+
+
+ Gets the member used as the document name, if any.
+
+
+
+
+ Gets the generated name accessor, if any.
+
+
+
+
+ Gets the generated payload serializer, if one was emitted.
+
+
+
+
+ Gets the generated payload deserializer, if one was emitted.
+
+
+
+
+ Gets the generated index accessors.
+
+
+
+
+ Gets the generated persisted member definitions.
+
+
+
+
+ Describes a generated accessor for one CultCache index.
+
+
+
+
+ Creates a generated index accessor.
+
+
+
+
+ Gets the index alias.
+
+
+
+
+ Gets the function that extracts the index value.
+
+
+
+
+ Describes one generated persisted document member.
+
+
+
+
+ Creates a generated persisted member definition.
+
+
+
+
+ Gets the CLR member name.
+
+
+
+
+ Gets the persisted slot number.
+
+
+
+
+ Gets the persisted type name.
+
+
+
+
+ Gets whether this member stores a document reference.
+
+
+
+
+ Gets whether this member stores many references.
+
+
+
+
+ Gets the target schema name for reference members.
+
+
+
+
+ Gets whether this member is the document name.
+
+
+
+
+ Gets the index alias for indexed members.
+
+
+
+
+ Describes how a CultCache-managed document changed.
+
+
+
+
+ A document was added.
+
+
+
+
+ A document was updated.
+
+
+
+
+ A document was removed.
+
+
+
+
+ One reactive CultCache document change.
+
+
+
+
+ Creates a document change.
+
+
+
+
+ Gets the change kind.
+
+
+
+
+ Gets the document record key.
+
+
+
+
+ Gets the current POCO presentation, when present.
+
+
+
+
+ Gets the previous POCO presentation, when present.
+
+
+
+
+ Reactive POCO presentation for one CultCache-managed document.
+
+
+
+
+ Creates a managed document presentation.
+
+
+
+
+ Gets the document record key.
+
+
+
+
+ Gets the current POCO presentation.
+
+
+
+
+ Watches committed values for this document.
+
+
+
+
+ Commits the current POCO value through the owner-supplied commit path.
+
+
+
+
+ Replaces the current value through the owner-supplied commit path.
+
+
+
+
+ CPU-local structure-of-arrays table owned by CultCache for one document type.
+
+
+
+
+ Gets record keys in row order.
+
+
+
+
+ Gets POCO presentations in row order.
+
+
+
+
+ Gets the row count.
+
+
+
+
+ Gets a contiguous unmanaged field/property column.
+
+
+
+
+ Contiguous typed SoA column.
+
+
+
+
+ Gets the column name.
+
+
+
+
+ Gets the backing array.
+
+
+
+
+ Gets the backing array as a span.
+
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll
new file mode 100644
index 000000000..586324a27
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:baf021c02d7b24d4ea22eeab835e8f1074b7fa7de7051a07394d83d0ecb246b0
+size 6656
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml
new file mode 100644
index 000000000..2f7996996
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml
@@ -0,0 +1,94 @@
+
+
+
+ GameCult.Logging
+
+
+
+
+ Writes log messages to the process console.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Appends timestamped log entries to a file on disk.
+
+
+
+
+ Initializes a new file-backed logger.
+
+ The path to the log file to append to.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines the logging contract used across CultLib components.
+
+
+
+
+ Writes an informational message.
+
+ The message to record.
+
+
+
+ Writes a warning message.
+
+ The message to record.
+
+
+
+ Writes an error message.
+
+ The message to record.
+
+
+
+ Writes a debug message.
+
+ The message to record.
+
+
+
+ Provides a no-op logger implementation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll
new file mode 100644
index 000000000..c2e992697
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:efb056dbf2c901e672ea66578a734e68477214c59ef678593c5d0e44dc7d1379
+size 75776
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml
new file mode 100644
index 000000000..a6164bc30
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml
@@ -0,0 +1,849 @@
+
+
+
+ GameCult.Mesh
+
+
+
+
+ Options for creating a local CultMesh node.
+
+
+
+
+ Gets or sets the cache-open options used for the underlying CultCache.
+
+
+
+
+ Gets or sets the server security configuration. When omitted, development defaults are used.
+
+
+
+
+ Gets or sets whether the server should start immediately after creation.
+
+
+
+
+ Gets or sets the mesh database sharding options used for the hosted CultCache.
+
+
+
+
+ Gets or sets whether CultMesh should attach a file-backed authoritative shard-log store when none is supplied.
+
+
+
+
+ Gets or sets the directory used for file-backed authoritative shard logs.
+
+
+
+
+ Gets or sets the database server bridge options used for shard routing and forwarding.
+
+
+
+
+ Gets or sets an optional callback used to customize the server before start.
+
+
+
+
+ A locally hosted CultMesh node over CultCache, CultNet transport, and the mesh database facade.
+
+
+
+
+ Gets the durable cache used by the node.
+
+
+
+
+ Gets the canonical single-file MessagePack store, when one is attached.
+
+
+
+
+ Gets the underlying CultNet server.
+
+
+
+
+ Gets the distributed realtime database facade.
+
+
+
+
+ Gets the schema-v0 server bridge for distributed database messages.
+
+
+
+
+ Starts the underlying server.
+
+
+
+
+ Flushes the durable cache.
+
+
+
+
+
+
+
+ Public CultMesh entrypoints.
+
+
+
+
+ Creates a local CultMesh node with a durable CultCache and the canonical MessagePack backing store.
+
+
+
+
+ Creates and starts a local CultMesh node with development-friendly defaults.
+
+
+
+
+ Creates a local reactive catalog for discovered Verses.
+
+
+
+
+ Creates a local reactive catalog for discovered peers.
+
+
+
+
+ Creates a local authority lease catalog.
+
+
+
+
+ Creates a local stream catalog for zero-copy-oriented audio, video, tensor, and byte frame streams.
+
+
+
+
+ Creates a committer for writing quorum simulation facts to a mesh database.
+
+
+
+
+ Creates a gameplay-facing session facade over a CultMesh node.
+
+
+
+
+ Attaches Verse discovery responses to a CultMesh node.
+
+
+
+
+ Creates a client for fetching Verse catalogs from discovery endpoints.
+
+
+
+
+ Attaches peer exchange responses to a CultMesh node.
+
+
+
+
+ Creates a client for fetching peer cards from peer exchange endpoints.
+
+
+
+
+ Creates a CultNet client configured for CultMesh use.
+
+
+
+
+ Creates and connects a CultNet client to a CultMesh node.
+
+
+
+
+ Grants one peer authority to perform roles for a Verse over a bounded interval.
+
+
+
+
+ Creates an authority lease.
+
+
+
+ Gets the stable lease id.
+
+
+ Gets the Verse id governed by the lease.
+
+
+ Gets the peer id receiving authority.
+
+
+ Gets the roles granted by this lease.
+
+
+ Gets shard ids covered by this lease. Empty means every shard in the Verse.
+
+
+ Gets the runtime that issued the lease.
+
+
+ Gets the first timestamp when the lease is valid.
+
+
+ Gets the timestamp when the lease expires.
+
+
+ Gets an optional signature over the lease.
+
+
+
+ Returns whether this lease is valid at the supplied time.
+
+
+
+
+ Returns whether this lease covers a peer card, role, and shard.
+
+
+
+
+ Local authority lease catalog.
+
+
+
+ Gets all known leases.
+
+
+ Adds or replaces an authority lease.
+
+
+ Gets a lease by id, if known.
+
+
+
+ Returns whether a peer card is authorized for a role and optional shard.
+
+
+
+
+ Options for creating a gameplay-facing CultMesh session facade.
+
+
+
+
+ Gets or sets the Verse catalog used by the session.
+
+
+
+
+ Gets or sets the peer catalog used by the session.
+
+
+
+
+ Gets or sets the authority lease catalog used by the session.
+
+
+
+
+ Gets or sets simulation consensus options.
+
+
+
+
+ Gets or sets whether incoming observation messages should update the session hub.
+
+
+
+
+ Gets or sets whether the node should answer Verse catalog requests from the session catalog.
+
+
+
+
+ Gets or sets whether the node should answer peer exchange requests from the session peer catalog.
+
+
+
+
+ Gameplay-facing facade over common CultMesh runtime pieces.
+
+
+
+
+ Creates a game session facade.
+
+
+
+
+ Gets the underlying node.
+
+
+
+
+ Gets the session Verse catalog.
+
+
+
+
+ Gets the session peer catalog.
+
+
+
+
+ Gets the session authority lease catalog.
+
+
+
+
+ Gets the session simulation observation hub.
+
+
+
+
+ Gets the session simulation fact committer.
+
+
+
+
+ Watches consensus candidate updates.
+
+
+
+
+ Watches committed simulation facts.
+
+
+
+
+ Applies a local client prediction through the underlying database.
+
+
+
+
+ Submits one witness observation and returns the current candidates for that subject.
+
+
+
+
+ Submits one witness observation and commits any new quorum facts it creates.
+
+
+
+
+ Commits quorum candidates that have not already been committed by this session.
+
+
+
+
+
+
+
+ Well-known CultMesh peer roles.
+
+
+
+ Peer can answer discovery requests.
+
+
+ Peer can serve authoritative shard logs.
+
+
+ Peer can serve replicated shard logs.
+
+
+ Peer can serve read traffic.
+
+
+ Peer can observe simulation facts.
+
+
+
+ Candidate peer contact information for a Verse.
+
+
+
+
+ Creates a peer card.
+
+
+
+ Gets the stable peer id.
+
+
+ Gets the Verse id this peer participates in.
+
+
+ Gets reachable endpoints.
+
+
+ Gets advertised roles.
+
+
+ Gets shard ids this peer can serve or observe.
+
+
+ Gets an optional region/locality label.
+
+
+ Gets the authority lease id, when present.
+
+
+ Gets the expiry timestamp for this card.
+
+
+ Gets an optional signature over the card.
+
+
+
+ Returns whether the card advertises a role.
+
+
+
+
+ Conversion helpers for CultMesh peer exchange messages.
+
+
+
+
+ Converts a peer card to its schema-v0 wire shape.
+
+
+
+
+ Converts a wire peer card to the local public API shape.
+
+
+
+
+ Reactive local catalog for discovered CultMesh peers.
+
+
+
+ Gets all known peers.
+
+
+ Watches peer card updates.
+
+
+ Adds or replaces a peer card.
+
+
+ Adds or replaces peer cards from a wire response.
+
+
+ Finds peers by Verse and optional role.
+
+
+
+
+
+
+ Answers CultMesh peer exchange requests from a local peer catalog.
+
+
+
+
+ Creates and attaches a peer exchange bridge.
+
+
+
+
+ Creates a peer exchange response for a request.
+
+
+
+
+
+
+
+ Options for schema-v0 CultMesh peer exchange clients.
+
+
+
+
+ Gets or sets client security options used to connect to peer exchange endpoints.
+
+
+
+
+ Gets or sets how long to wait for a connection before failing.
+
+
+
+
+ Gets or sets how long to wait for a peer exchange response before failing.
+
+
+
+
+ Gets or sets a callback used to customize each ephemeral exchange client.
+
+
+
+
+ Fetches peer cards from CultMesh peers.
+
+
+
+
+ Creates a peer exchange client.
+
+
+
+
+ Fetches peer cards from one endpoint.
+
+
+
+
+ Fetches peer cards from endpoints and upserts every response into a local peer catalog.
+
+
+
+
+ Committed simulation fact derived from witness consensus.
+
+
+
+
+ Stable fact identifier.
+
+
+
+
+ Shard containing the simulation.
+
+
+
+
+ Shard authority epoch observed by witnesses.
+
+
+
+
+ Simulation frame or tick.
+
+
+
+
+ Subject the fact is about.
+
+
+
+
+ Fact kind, such as hit, collision, or ownership.
+
+
+
+
+ Hash of the accepted claim.
+
+
+
+
+ Optional readable or app-specific claim detail.
+
+
+
+
+ Number of distinct witnesses supporting the fact.
+
+
+
+
+ Supporting witness weight.
+
+
+
+
+ Total observed weight for the same subject/frame/kind.
+
+
+
+
+ Support divided by total observed weight.
+
+
+
+
+ Commit timestamp.
+
+
+
+
+ Builds a deterministic record key for a simulation fact.
+
+
+
+
+ Builds a stable fact id for a consensus candidate.
+
+
+
+
+ Creates a committed fact document from a quorum candidate.
+
+
+
+
+ Commits quorum simulation candidates into the CultMesh database.
+
+
+
+
+ Creates a simulation fact committer.
+
+
+
+
+ Commits a quorum candidate as a simulation fact document.
+
+
+
+
+ Describes how a CultMesh Verse makes authority decisions.
+
+
+
+
+ A known operator cluster is authoritative for committed world state.
+
+
+
+
+ Regional operators share authority for lower latency and availability.
+
+
+
+
+ Peers participate directly in authority decisions.
+
+
+
+
+ The Verse follows another Verse and applies declared overlays.
+
+
+
+
+ Declares transport and rules compatibility for a Verse.
+
+
+
+
+ Creates compatibility metadata.
+
+
+
+
+ Gets the CultMesh/CultNet transport compatibility version.
+
+
+
+
+ Gets the stable rules hash.
+
+
+
+
+ Gets Verse ids this Verse can transfer from or subscribe to.
+
+
+
+
+ Gets plugin ids required to enter this Verse.
+
+
+
+
+ Gets plugin ids supported but not required by this Verse.
+
+
+
+
+ Describes one CultMesh Verse: a rule-bearing consensus graph.
+
+
+
+
+ Creates a Verse descriptor.
+
+
+
+
+ Gets the stable Verse id.
+
+
+
+
+ Gets the human-facing Verse name.
+
+
+
+
+ Gets the authority model used by this Verse.
+
+
+
+
+ Gets compatibility metadata for transport, rules, and plugins.
+
+
+
+
+ Gets discovery endpoints for nodes serving this Verse.
+
+
+
+
+ Gets known authoritative runtime ids, when authority is cluster-shaped.
+
+
+
+
+ Gets the parent Verse id for subscribed overlays or branches.
+
+
+
+
+ Gets optional public description.
+
+
+
+
+ Returns whether this Verse can accept transfer from another Verse.
+
+
+
+
+ Computes a stable rules hash from ordered rules/plugin parts.
+
+
+
+
+ Reactive local catalog for discovered CultMesh Verses.
+
+
+
+
+ Gets all known Verses.
+
+
+
+
+ Watches Verse discovery updates.
+
+
+
+
+ Adds or replaces a discovered Verse.
+
+
+
+
+ Adds or replaces Verses from a wire catalog response.
+
+
+
+
+ Gets a Verse by id, if known.
+
+
+
+
+ Gets known Verses that can accept transfer from the supplied source Verse.
+
+
+
+
+
+
+
+ Conversion helpers for CultMesh Verse wire messages.
+
+
+
+
+ Converts a local Verse descriptor to its schema-v0 wire shape.
+
+
+
+
+ Converts a schema-v0 Verse descriptor to the local public API shape.
+
+
+
+
+ Answers CultMesh Verse discovery requests from a local Verse catalog.
+
+
+
+
+ Creates and attaches a Verse discovery bridge.
+
+
+
+
+ Creates a Verse catalog response for a request.
+
+
+
+
+
+
+
+ Options for schema-v0 CultMesh Verse discovery clients.
+
+
+
+
+ Gets or sets client security options used to connect to discovery endpoints.
+
+
+
+
+ Gets or sets how long to wait for a connection before failing.
+
+
+
+
+ Gets or sets how long to wait for a discovery response before failing.
+
+
+
+
+ Gets or sets a callback used to customize each ephemeral discovery client.
+
+
+
+
+ Fetches CultMesh Verse catalogs from discovery endpoints.
+
+
+
+
+ Creates a Verse discovery client.
+
+
+
+
+ Fetches a Verse catalog response from one discovery endpoint.
+
+
+
+
+ Fetches Verse catalogs from endpoints and upserts every response into a local catalog.
+
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll
new file mode 100644
index 000000000..817add6e0
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c60ae6f62d7be5982550e5840d0fe2c5ec9872bbbabfd729301dfc166bf6778
+size 332800
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml
new file mode 100644
index 000000000..579c68585
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml
@@ -0,0 +1,3737 @@
+
+
+
+ GameCult.Networking
+
+
+
+
+ Describes the client's reconnect posture.
+
+
+
+
+ The client is connected or otherwise not trying to reconnect.
+
+
+
+
+ The client is waiting for the next reconnect attempt.
+
+
+
+
+ The client is actively attempting a reconnect.
+
+
+
+
+ Provides client-side connection, authentication, and message dispatch logic.
+
+
+
+
+ Raised when the client encounters a user-visible error.
+
+
+
+
+ Raised when reconnect state changes.
+
+
+
+
+ Gets or sets the logger used by the client.
+
+
+
+
+ Gets the last reported round-trip latency in milliseconds.
+
+
+
+
+ Gets the current reconnect posture exposed to consumers.
+
+
+
+
+ Gets or sets whether raw payload bodies may be logged for diagnostics.
+
+
+
+
+ Gets or sets whether CultNet schema-v0 messages may be sent before user session verification.
+
+
+
+
+ Gets a value indicating whether the client currently has a verified session.
+
+
+
+
+ Gets a value indicating whether the network manager has been created.
+
+
+
+
+ Initializes a new client instance.
+
+ Validated client security configuration. This must be provided explicitly by the caller.
+
+
+
+ Sends a message when the client is connected and authorized to do so.
+
+ The message type.
+ The message to send.
+
+
+
+ Sends a modern CultNet schema-v0 message when the client is connected and authorized.
+
+
+
+
+ Removes all registered message listeners.
+
+
+
+
+ Adds a listener for a specific message type.
+
+ The message type to subscribe to.
+ The callback to invoke when the message is received.
+
+
+
+ Adds a listener for a specific message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Removes a previously registered listener for a specific message type.
+
+ The message type to unsubscribe from.
+ The callback to remove.
+
+
+
+ Removes a previously registered listener for a specific message type.
+
+
+
+
+ Removes a previously registered modern CultNet schema-v0 listener.
+
+
+
+
+ Removes a previously registered modern CultNet schema-v0 listener.
+
+
+
+
+ Sends a login request.
+
+ The email address or username.
+ The plaintext password.
+
+
+
+ Sends a registration request.
+
+ The email address for the new account.
+ The requested username.
+ The plaintext password.
+
+
+
+ Connects the client to a server and starts polling LiteNetLib events.
+
+ The remote host name or IP address.
+ The remote server port.
+
+
+
+ Disconnects the client and suppresses automatic reconnect.
+
+
+
+
+
+
+
+ Carries the client-side networking configuration required to talk to a server.
+
+
+
+
+ Shared LiteNetLib connection key and encryption seed.
+
+
+
+
+ Initializes a new client security configuration.
+
+ The shared connection key used by both client and server.
+
+
+
+ Creates a deterministic development-only configuration.
+
+
+
+
+ Describes the kind of domain change observed through a distributed CultCache surface.
+
+
+
+
+ A document was added.
+
+
+
+
+ A document was updated.
+
+
+
+
+ A document was removed.
+
+
+
+
+ A document was accepted through compatible schema migration.
+
+
+
+
+ A document change was rejected.
+
+
+
+
+ A document was applied locally before authoritative commit.
+
+
+
+
+ A predicted document was replaced by the authoritative committed state.
+
+
+
+
+ Declares which documents this runtime may predict locally before authoritative commit.
+
+
+
+
+ Creates a client authority scope.
+
+
+
+
+ Gets the runtime that owns authoring for this scope.
+
+
+
+
+ Gets the schema ids governed by this scope. Empty means all schemas.
+
+
+
+
+ Gets the optional record-key prefix governed by this scope.
+
+
+
+
+ Describes one shard owned or observed by a CultNet database surface.
+
+
+
+
+ Creates a shard descriptor.
+
+
+
+
+ Gets the stable shard identifier.
+
+
+
+
+ Gets the runtime that currently owns writes for this shard.
+
+
+
+
+ Gets the monotonic shard authority epoch.
+
+
+
+
+ Gets whether the local database instance is authoritative for writes to this shard.
+
+
+
+
+ Gets the schema ids governed by this shard. Empty means all schemas.
+
+
+
+
+ Gets the optional record-key prefix governed by this shard.
+
+
+
+
+ Gets endpoints that can accept authoritative writes for this shard.
+
+
+
+
+ Gets endpoints that replicate authoritative shard mutations.
+
+
+
+
+ Gets endpoints intended for low-latency read and subscription traffic.
+
+
+
+
+ Gets an optional locality label for this shard owner.
+
+
+
+
+ Creates a primary shard that accepts every schema and key.
+
+
+
+
+ Creates a read-only shard descriptor.
+
+
+
+
+ Options for creating a distributed CultCache database surface.
+
+
+
+
+ Gets or sets the local runtime id advertised as shard owner for default primary shards.
+
+
+
+
+ Gets or sets explicit shard descriptors. When omitted, this instance owns one primary shard for all records.
+
+
+
+
+ Gets or sets document scopes this runtime may predict before authoritative commit.
+
+
+
+
+ Gets or sets the document registry used to create and apply raw CultNet document messages.
+
+
+
+
+ Gets or sets the durable store for accepted shard mutation logs.
+
+
+
+
+ A typed domain change emitted by a CultNet database surface.
+
+
+
+
+ Creates a database change.
+
+
+
+
+ Gets the change kind.
+
+
+
+
+ Gets the changed record key.
+
+
+
+
+ Gets the schema id of the changed document.
+
+
+
+
+ Gets the shard that accepted or rejected the change.
+
+
+
+
+ Gets the current document for added and updated events.
+
+
+
+
+ Gets the previous document for updated and removed events.
+
+
+
+
+ Gets an optional diagnostic message.
+
+
+
+
+ One ordered mutation accepted for a shard.
+
+
+
+
+ Creates a shard mutation log entry.
+
+
+
+
+ Gets the shard id.
+
+
+
+
+ Gets the shard epoch.
+
+
+
+
+ Gets the per-shard mutation sequence.
+
+
+
+
+ Gets the commit timestamp.
+
+
+
+
+ Gets the mutation kind.
+
+
+
+
+ Gets the schema id.
+
+
+
+
+ Gets the record key.
+
+
+
+
+ Gets the current document, when present.
+
+
+
+
+ Gets the previous document, when present.
+
+
+
+
+ Raised when a database write targets a shard this node does not own.
+
+
+
+
+ Creates a shard authority exception.
+
+
+
+
+ Gets the shard that rejected the write.
+
+
+
+
+ Gets the machine-readable authority rejection reason.
+
+
+
+
+ Database-style CultNet facade over a CultCache shard set.
+
+
+
+
+ Creates a database surface over a CultCache instance.
+
+
+
+
+ Gets the local cache backing this database surface.
+
+
+
+
+ Gets the document registry used by the raw CultNet lane.
+
+
+
+
+ Gets the shard map known to this database surface.
+
+
+
+
+ Gets the document scopes this runtime may predict before authoritative commit.
+
+
+
+
+ Gets mutation log entries for a shard after the supplied sequence.
+
+
+
+
+ Gets replica catch-up log entries for a shard after the supplied sequence.
+
+
+
+
+ Gets the highest retained-log sequence that has been compacted away for a shard.
+
+
+
+
+ Gets the latest known shard-log sequence for a shard.
+
+
+
+
+ Creates a raw document snapshot bounded to one shard.
+
+
+
+
+ Applies a shard-bounded snapshot and advances the replica cursor to its represented sequence.
+
+
+
+
+ Gets the last replicated sequence applied for a shard.
+
+
+
+
+ Creates a shard catalog response for optional schema/key filters.
+
+
+
+
+ Resolves the shard that governs the supplied schema and key.
+
+
+
+
+ Gets a document by key.
+
+
+
+
+ Opens a reactive POCO presentation for one distributed CultCache document.
+
+
+
+
+ Adds or replaces a document at a specific key.
+
+
+
+
+ Applies a locally predicted document for a client-owned input scope.
+
+
+
+
+ Deletes a document by key.
+
+
+
+
+ Applies a raw document mutation after checking shard authority.
+
+
+
+
+ Applies a raw document delete after checking shard authority.
+
+
+
+
+ Applies committed shard-log entries from an authoritative peer.
+
+
+
+
+ Watches all changes assignable to the requested document type.
+
+
+
+
+ Watches all typed domain changes as boxed change objects.
+
+
+
+
+ Watches one record.
+
+
+
+
+ Watches the global record for a document type.
+
+
+
+
+ Watches changes for a named document.
+
+
+
+
+ Watches changes for the current document mapped by an indexed value.
+
+
+
+
+ Releases database subscriptions.
+
+
+
+
+ Routes CultNet schema-v0 document messages through a .
+
+
+
+
+ Creates and attaches a database message bridge to a server.
+
+
+
+
+ Gets the database used by this bridge.
+
+
+
+
+ Applies a raw put message through the database shard policy.
+
+
+
+
+ Applies a raw delete message through the database shard policy.
+
+
+
+
+ Creates a raw snapshot response from the database cache.
+
+
+
+
+ Creates a shard catalog response from the database shard map.
+
+
+
+
+ Creates a shard mutation-log response from the database log.
+
+
+
+
+ Detaches handlers from the server.
+
+
+
+
+ Attempts to forward a rejected raw put to the shard owner.
+
+
+
+
+ Attempts to forward a rejected raw delete to the shard owner.
+
+
+
+
+ Optional metadata applied when creating CultNet document messages.
+
+
+
+
+ Gets or sets an explicit storage timestamp.
+
+
+
+
+ Gets or sets the runtime that produced the document.
+
+
+
+
+ Gets or sets the agent that produced the document.
+
+
+
+
+ Gets or sets the role that produced the document.
+
+
+
+
+ Gets or sets optional document tags.
+
+
+
+
+ Binds a CultCache document type to CultNet payload serialization.
+
+
+
+
+ Gets the bound document type.
+
+
+
+
+ Gets the bound schema identifier.
+
+
+
+
+ Gets the payload serializer.
+
+
+
+
+ Gets the payload deserializer.
+
+
+
+
+ Creates a document binding for a typed CultCache document.
+
+
+
+
+ Creates and applies CultNet messages that replicate CultCache documents.
+
+
+
+
+ Creates a document registry with optional bindings.
+
+
+
+
+ Registers a document binding.
+
+
+
+
+ Gets a binding by schema identifier.
+
+
+
+
+ Gets a binding by CLR document type.
+
+
+
+
+ Creates a document delete message.
+
+
+
+
+ Creates a raw document put message for a typed document.
+
+
+
+
+ Creates a snapshot request message.
+
+
+
+
+ Creates a raw snapshot response from the cache.
+
+
+
+
+ Applies a raw document put message to a cache.
+
+
+
+
+ Applies a raw document put message and returns the typed document.
+
+
+
+
+ Applies all documents from a raw snapshot response.
+
+
+
+
+ Applies all typed documents from a raw snapshot response.
+
+
+
+
+ Options for creating a local CultNet host over CultCache and the canonical MessagePack store.
+
+
+
+
+ Gets or sets the cache-open options used for the underlying CultCache.
+
+
+
+
+ Gets or sets the server security configuration. When omitted, development defaults are used.
+
+
+
+
+ Gets or sets whether the server should start immediately after creation.
+
+
+
+
+ Gets or sets the database sharding options used for the hosted CultCache.
+
+
+
+
+ Gets or sets the database server bridge options used for shard routing and forwarding.
+
+
+
+
+ Gets or sets an optional callback used to customize the server before start.
+
+
+
+
+ Convenience wrapper for a locally hosted CultNet server over a durable CultCache.
+
+
+
+
+ Gets the durable cache used by the host.
+
+
+
+
+ Gets the canonical single-file MessagePack store, when one is attached.
+
+
+
+
+ Gets the underlying CultNet server.
+
+
+
+
+ Gets the distributed database facade over the hosted cache.
+
+
+
+
+ Gets the schema-v0 server bridge for distributed database messages.
+
+
+
+
+ Starts the server.
+
+
+
+
+ Flushes the durable cache.
+
+
+
+
+ Stops the server and disposes the host resources.
+
+
+
+
+ Friendly local entrypoints for CultNet host/client creation.
+
+
+
+
+ Creates a local host with a durable CultCache and the canonical MessagePack backing store.
+
+
+
+
+ Creates and starts a local host with development-friendly defaults.
+
+
+
+
+ Creates a client configured for local CultNet use.
+
+
+
+
+ Creates and connects a client to the specified host.
+
+
+
+
+ Creates and connects a client to a local development host.
+
+
+
+
+ Shared wire-contract identifiers understood by the CultNet family.
+
+
+
+
+ schema v0 contract identifier.
+
+
+
+
+ game cult networking v0 contract identifier.
+
+
+
+
+ Canonical schema-version strings for the modern CultNet message family.
+
+
+
+
+ hello contract identifier.
+
+
+
+
+ login contract identifier.
+
+
+
+
+ register contract identifier.
+
+
+
+
+ verify contract identifier.
+
+
+
+
+ login success contract identifier.
+
+
+
+
+ error contract identifier.
+
+
+
+
+ sample change name contract identifier.
+
+
+
+
+ sample chat contract identifier.
+
+
+
+
+ document delete contract identifier.
+
+
+
+
+ document put raw contract identifier.
+
+
+
+
+ snapshot request contract identifier.
+
+
+
+
+ snapshot response raw contract identifier.
+
+
+
+
+ schema catalog request contract identifier.
+
+
+
+
+ schema catalog response contract identifier.
+
+
+
+
+ database subscription request contract identifier.
+
+
+
+
+ database subscription cancel contract identifier.
+
+
+
+
+ database subscription change contract identifier.
+
+
+
+
+ shard catalog request contract identifier.
+
+
+
+
+ shard catalog response contract identifier.
+
+
+
+
+ shard mutation log request contract identifier.
+
+
+
+
+ shard mutation log response contract identifier.
+
+
+
+
+ simulation observation gossip contract identifier.
+
+
+
+
+ simulation consensus candidate gossip contract identifier.
+
+
+
+
+ witness artifact bundle document contract identifier.
+
+
+
+
+ CultMesh Verse catalog request contract identifier.
+
+
+
+
+ CultMesh Verse catalog response contract identifier.
+
+
+
+
+ CultMesh peer exchange request contract identifier.
+
+
+
+
+ CultMesh peer exchange response contract identifier.
+
+
+
+
+ Mutation authority owner identifiers advertised through CultNet mutation contracts.
+
+
+
+
+ The document is inspectable but not writable through CultNet.
+
+
+
+
+ The local human operator may submit the corresponding mutation intent.
+
+
+
+
+ A coordinator-owned Epiphany control surface owns the mutation path.
+
+
+
+
+ The runtime itself may write this document directly.
+
+
+
+
+ The document should not be mutated through CultNet.
+
+
+
+
+ Declares how a document or surface may be inspected and mutated over CultNet.
+
+
+
+
+ Gets or sets the stable document type governed by this contract.
+
+
+
+
+ Gets or sets the payload schema version when the contract governs a versioned document payload.
+
+
+
+
+ Gets or sets the CultNet operations this document accepts.
+
+
+
+
+ Gets or sets which actor is allowed to drive those operations.
+
+
+
+
+ Gets or sets the intent document types a client may submit to request mutation.
+
+
+
+
+ Gets or sets the receipt document types emitted after a successful mutation path.
+
+
+
+
+ Gets or sets freeform notes that explain local mutation guardrails or posture.
+
+
+
+
+ Marker interface for the explicit modern CultNet schema-v0 message family.
+
+
+
+
+ Gets or sets the schema version carried by this message.
+
+
+
+
+ CultNet hello message used to announce a runtime and its supported contracts.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the runtime id.
+
+
+
+
+ Gets or sets the runtime kind.
+
+
+
+
+ Gets or sets the agent id.
+
+
+
+
+ Gets or sets the role.
+
+
+
+
+ Gets or sets the display name.
+
+
+
+
+ Gets or sets the supported document types.
+
+
+
+
+ Gets or sets the supported mutation contracts.
+
+
+
+
+ Gets or sets the supported message versions.
+
+
+
+
+ Gets or sets the supports schema catalog.
+
+
+
+
+ CultNet login request message.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the nonce.
+
+
+
+
+ Gets or sets the auth.
+
+
+
+
+ Gets or sets the password.
+
+
+
+
+ CultNet registration request message.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the nonce.
+
+
+
+
+ Gets or sets the email.
+
+
+
+
+ Gets or sets the password.
+
+
+
+
+ Gets or sets the name.
+
+
+
+
+ CultNet session verification request message.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the nonce.
+
+
+
+
+ Gets or sets the session.
+
+
+
+
+ CultNet message returned after successful session verification.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the nonce.
+
+
+
+
+ Gets or sets the session.
+
+
+
+
+ CultNet error response message.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the error.
+
+
+
+
+ Gets or sets optional shard routing details for authority failures.
+
+
+
+
+ Describes where a shard write should be routed.
+
+
+
+
+ Gets or sets the shard descriptor.
+
+
+
+
+ Gets or sets a machine-readable routing reason.
+
+
+
+
+ Sample CultNet message used by development clients to change a display name.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the name.
+
+
+
+
+ Sample CultNet chat message used by development clients.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the text.
+
+
+
+
+ Raw document record carried over CultNet.
+
+
+
+
+ Gets or sets the schema id.
+
+
+
+
+ Gets or sets the record key.
+
+
+
+
+ Gets or sets the stored at.
+
+
+
+
+ Gets or sets the payload encoding.
+
+
+
+
+ Gets or sets the payload.
+
+
+
+
+ Gets or sets the source runtime id.
+
+
+
+
+ Gets or sets the source agent id.
+
+
+
+
+ Gets or sets the source role.
+
+
+
+
+ Gets or sets the tags.
+
+
+
+
+ CultNet message requesting deletion of a document record.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the schema id.
+
+
+
+
+ Gets or sets the record key.
+
+
+
+
+ Gets or sets the shard id the sender targeted.
+
+
+
+
+ Gets or sets the shard epoch the sender targeted.
+
+
+
+
+ CultNet message carrying one raw document record.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the document.
+
+
+
+
+ Gets or sets the shard id the sender targeted.
+
+
+
+
+ Gets or sets the shard epoch the sender targeted.
+
+
+
+
+ CultNet message requesting a document snapshot.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the schema ids.
+
+
+
+
+ Gets or sets the record keys.
+
+
+
+
+ Gets or sets the shard id requested for a shard-bounded snapshot.
+
+
+
+
+ Gets or sets the expected shard epoch.
+
+
+
+
+ CultNet message returning raw document records from a snapshot request.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the documents.
+
+
+
+
+ Gets or sets the shard id represented by this snapshot.
+
+
+
+
+ Gets or sets the shard epoch represented by this snapshot.
+
+
+
+
+ Gets or sets the shard-log sequence represented by this snapshot.
+
+
+
+
+ Requests a live database subscription.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets the live subscription id.
+
+
+
+
+ Gets or sets optional schema ids to watch.
+
+
+
+
+ Gets or sets optional record keys to watch.
+
+
+
+
+ Gets or sets whether the server should send a matching snapshot before live changes.
+
+
+
+
+ Cancels a live database subscription.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets the live subscription id.
+
+
+
+
+ Streams one raw document change for a live database subscription.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the live subscription id.
+
+
+
+
+ Gets or sets the change kind.
+
+
+
+
+ Gets or sets the current document for added or updated changes.
+
+
+
+
+ Gets or sets the deleted record key for removed changes.
+
+
+
+
+ Gets or sets the deleted schema id for removed changes.
+
+
+
+
+ Describes one shard advertised by a CultNet database node.
+
+
+
+
+ Gets or sets the shard id.
+
+
+
+
+ Gets or sets the owner runtime id.
+
+
+
+
+ Gets or sets the shard authority epoch.
+
+
+
+
+ Gets or sets whether the responding node is primary for this shard.
+
+
+
+
+ Gets or sets schema ids governed by this shard. Empty means all schemas.
+
+
+
+
+ Gets or sets the record-key prefix governed by this shard.
+
+
+
+
+ Gets or sets endpoints that accept authoritative writes.
+
+
+
+
+ Gets or sets authoritative replica endpoints.
+
+
+
+
+ Gets or sets low-latency read replica endpoints.
+
+
+
+
+ Gets or sets an optional locality label.
+
+
+
+
+ Requests shard ownership and routing metadata.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets optional schema filters.
+
+
+
+
+ Gets or sets optional record-key filters.
+
+
+
+
+ Returns shard ownership and routing metadata.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets shard descriptors.
+
+
+
+
+ Requests accepted mutation log entries for a shard.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets the shard id.
+
+
+
+
+ Gets or sets the shard epoch expected by the requester.
+
+
+
+
+ Gets or sets the last sequence already held by the requester.
+
+
+
+
+ Gets or sets the maximum number of entries to return.
+
+
+
+
+ Returns accepted mutation log entries for a shard.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets the shard id.
+
+
+
+
+ Gets or sets the shard epoch.
+
+
+
+
+ Gets or sets mutation log entries.
+
+
+
+
+ Gets or sets whether the requester must fall back to a shard snapshot.
+
+
+
+
+ Gets or sets a machine-readable resync reason.
+
+
+
+
+ Gets or sets the highest sequence compacted out of the retained log.
+
+
+
+
+ Describes one accepted shard mutation for replica catch-up.
+
+
+
+
+ Gets or sets the per-shard sequence.
+
+
+
+
+ Gets or sets the commit timestamp.
+
+
+
+
+ Gets or sets the mutation kind.
+
+
+
+
+ Gets or sets a raw put message for added/updated entries.
+
+
+
+
+ Gets or sets a raw delete message for removed entries.
+
+
+
+
+ Carries one witness observation about a simulation fact.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the observation.
+
+
+
+
+ Carries one deterministic consensus candidate derived from witness observations.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the shard id.
+
+
+
+
+ Gets or sets the shard epoch.
+
+
+
+
+ Gets or sets the simulation frame.
+
+
+
+
+ Gets or sets the subject id.
+
+
+
+
+ Gets or sets the claim kind.
+
+
+
+
+ Gets or sets the selected claim hash.
+
+
+
+
+ Gets or sets optional claim detail.
+
+
+
+
+ Gets or sets distinct supporting witnesses.
+
+
+
+
+ Gets or sets supporting witness weight.
+
+
+
+
+ Gets or sets total observed witness weight.
+
+
+
+
+ Gets or sets whether the candidate crossed quorum.
+
+
+
+
+ Gets or sets support divided by total observed weight.
+
+
+
+
+ Creates a wire candidate message from a local candidate.
+
+
+
+
+ Requests known CultMesh Verses from a peer.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets optional Verse ids to request.
+
+
+
+
+ Gets or sets an optional transport compatibility filter.
+
+
+
+
+ Returns known CultMesh Verses.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets discovered Verses.
+
+
+
+
+ Wire representation of a CultMesh Verse.
+
+
+
+
+ Gets or sets the stable Verse id.
+
+
+
+
+ Gets or sets the display name.
+
+
+
+
+ Gets or sets the authority model name.
+
+
+
+
+ Gets or sets compatibility metadata.
+
+
+
+
+ Gets or sets endpoints that can answer discovery for this Verse.
+
+
+
+
+ Gets or sets known authoritative runtime ids.
+
+
+
+
+ Gets or sets the parent Verse id for overlays or branches.
+
+
+
+
+ Gets or sets an optional public description.
+
+
+
+
+ Wire representation of CultMesh Verse compatibility.
+
+
+
+
+ Gets or sets the CultMesh transport compatibility version.
+
+
+
+
+ Gets or sets the stable rules hash.
+
+
+
+
+ Gets or sets Verse ids this Verse can transfer from or subscribe to.
+
+
+
+
+ Gets or sets required plugin ids.
+
+
+
+
+ Gets or sets optional plugin ids.
+
+
+
+
+ Requests known peers for a CultMesh Verse.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets the Verse id to discover peers for.
+
+
+
+
+ Gets or sets optional role filters.
+
+
+
+
+ Gets or sets peer ids the requester already knows.
+
+
+
+
+ Gets or sets the maximum number of peer cards to return.
+
+
+
+
+ Returns known peers for a CultMesh Verse.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the request id.
+
+
+
+
+ Gets or sets peer cards.
+
+
+
+
+ Wire representation of a CultMesh peer candidate.
+
+
+
+
+ Gets or sets the stable peer id.
+
+
+
+
+ Gets or sets the Verse id this peer participates in.
+
+
+
+
+ Gets or sets reachable endpoints.
+
+
+
+
+ Gets or sets advertised peer roles.
+
+
+
+
+ Gets or sets shard ids this peer can serve or observe.
+
+
+
+
+ Gets or sets an optional region/locality label.
+
+
+
+
+ Gets or sets the authority lease id, when the card advertises authority.
+
+
+
+
+ Gets or sets the expiry timestamp for this card.
+
+
+
+
+ Gets or sets an optional signature over the card.
+
+
+
+
+ Describes one schema exposed through the CultNet schema catalog.
+
+
+
+
+ Gets or sets the schema id.
+
+
+
+
+ Gets or sets the kind.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the document type.
+
+
+
+
+ Gets or sets the title.
+
+
+
+
+ Gets or sets the wire contracts.
+
+
+
+
+ Gets or sets the content hash.
+
+
+
+
+ Gets or sets the schema json.
+
+
+
+
+ CultNet message requesting schema catalog entries.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the include schema json.
+
+
+
+
+ Gets or sets the schema ids.
+
+
+
+
+ Gets or sets the kinds.
+
+
+
+
+ CultNet message returning schema catalog entries.
+
+
+
+
+ Gets or sets the schema version.
+
+
+
+
+ Gets or sets the message id.
+
+
+
+
+ Gets or sets the schemas.
+
+
+
+
+ Serializes and deserializes the explicit modern CultNet schema-v0 message family.
+
+
+
+
+ Gets the serializer options used for CultNet schema-v0 messages.
+
+
+
+
+ Serializes a typed CultNet schema message.
+
+
+
+
+ Deserializes a typed CultNet schema message.
+
+
+
+
+ Deserializes a CultNet schema message by inspecting its schema version.
+
+
+
+
+ Registers exchange-safe schema metadata and produces discovery responses.
+
+
+
+
+ Creates a schema registry with optional initial entries.
+
+
+
+
+ Adds or replaces one schema registration.
+
+
+
+
+ Gets one schema descriptor by schema identifier.
+
+
+
+
+ Lists schema descriptors, optionally filtered by identifier or kind.
+
+
+
+
+ Creates a schema catalog response for a request.
+
+
+
+
+ Creates a registry populated from embedded CultNet schema resources.
+
+
+
+
+ Gets the lazily initialized built-in schema registry.
+
+
+
+
+ One exchange-safe schema registration.
+
+
+
+
+ Gets or sets the schema identifier.
+
+
+
+
+ Gets or sets the schema kind.
+
+
+
+
+ Gets or sets the wire contracts implemented by the schema.
+
+
+
+
+ Gets or sets the schema document.
+
+
+
+
+ Gets or sets the message or document schema version.
+
+
+
+
+ Gets or sets the document type associated with the schema.
+
+
+
+
+ Gets or sets the display title.
+
+
+
+
+ Stores accepted shard-log entries in their replica catch-up wire shape.
+
+
+
+
+ Reads accepted log entries for a shard after the supplied sequence.
+
+
+
+
+ Appends or replaces one accepted log entry for a shard.
+
+
+
+
+ Gets the highest sequence that has been compacted out of the retained log.
+
+
+
+
+ Removes retained entries at or before the supplied sequence.
+
+
+
+
+ Persists shard-log entries as one MessagePack file per shard.
+
+
+
+
+ Creates a file-backed shard mutation log store.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fetches committed shard-log entries from an authoritative shard owner.
+
+
+
+
+ Fetches shard-log entries after the supplied sequence.
+
+
+
+
+ Fetches shard-bounded snapshots from an authoritative shard owner.
+
+
+
+
+ Fetches a shard snapshot.
+
+
+
+
+ Persisted replica cursor for one shard.
+
+
+
+
+ Gets or sets the shard id.
+
+
+
+
+ Gets or sets the shard epoch.
+
+
+
+
+ Gets or sets the last applied shard-log sequence.
+
+
+
+
+ Gets or sets the cursor update timestamp.
+
+
+
+
+ Stores restart-safe replica cursors.
+
+
+
+
+ Reads the cursor for a shard, if one exists.
+
+
+
+
+ Writes the cursor for a shard.
+
+
+
+
+ Options for background shard-log replication.
+
+
+
+
+ Gets or sets the interval used by the background pull loop.
+
+
+
+
+ Gets or sets the maximum number of log entries requested per pull.
+
+
+
+
+ Gets or sets the fetcher used to read from shard primaries.
+
+
+
+
+ Gets or sets the fetcher used when log history has been compacted.
+
+
+
+
+ Gets or sets a callback for background pull failures.
+
+
+
+
+ Gets or sets optional restart-safe cursor storage.
+
+
+
+
+ Pulls committed shard logs from primaries and applies them to a local replica database.
+
+
+
+
+ Creates a shard replicator.
+
+
+
+
+ Starts background pull loops for non-primary shards with advertised primaries.
+
+
+
+
+ Pulls and applies one batch for a shard id.
+
+
+
+
+ Pulls and applies one batch for a shard.
+
+
+
+
+
+
+
+ Stores replica cursors in one local MessagePack file.
+
+
+
+
+ Creates a file-backed cursor store.
+
+
+
+
+
+
+
+
+
+
+ Options for the schema-v0 client-based shard-log fetcher.
+
+
+
+
+ Gets or sets client security options used to connect to primary endpoints.
+
+
+
+
+ Gets or sets how long to wait for a connection before failing.
+
+
+
+
+ Gets or sets how long to wait for a log response before failing.
+
+
+
+
+ Gets or sets a callback used to customize each ephemeral fetch client.
+
+
+
+
+ Fetches shard-log batches over the CultNet schema-v0 client transport.
+
+
+
+
+ Creates a schema-v0 shard-log fetcher.
+
+
+
+
+
+
+
+ Options for the schema-v0 client-based shard snapshot fetcher.
+
+
+
+
+ Gets or sets client security options used to connect to primary endpoints.
+
+
+
+
+ Gets or sets how long to wait for a connection before failing.
+
+
+
+
+ Gets or sets how long to wait for a snapshot response before failing.
+
+
+
+
+ Gets or sets a callback used to customize each ephemeral fetch client.
+
+
+
+
+ Fetches shard snapshots over the CultNet schema-v0 client transport.
+
+
+
+
+ Creates a schema-v0 shard snapshot fetcher.
+
+
+
+
+
+
+
+ Forwards shard writes to an authoritative owner.
+
+
+
+
+ Forwards a raw document put to the shard owner.
+
+
+
+
+ Forwards a raw document delete to the shard owner.
+
+
+
+
+ Options controlling shard write forwarding from a database server bridge.
+
+
+
+
+ Gets or sets whether non-primary writes may be forwarded to shard owners.
+
+
+
+
+ Gets or sets the forwarder used when non-primary write forwarding is enabled.
+
+
+
+
+ Options for the schema-v0 client-based shard write forwarder.
+
+
+
+
+ Gets or sets client security options used to connect to primary endpoints.
+
+
+
+
+ Gets or sets how long to wait for a connection before failing the forwarded write.
+
+
+
+
+ Gets or sets a callback used to customize each ephemeral forwarding client.
+
+
+
+
+ Forwards shard writes over the CultNet schema-v0 client transport.
+
+
+
+
+ Creates a schema-v0 write forwarder.
+
+
+
+
+
+
+
+
+
+
+ Parses a CultNet endpoint URI into host and port.
+
+
+
+
+ One witness report about a deterministic simulation fact.
+
+
+
+
+ Gets or sets the observing runtime id.
+
+
+
+
+ Gets or sets the shard id containing the observed simulation.
+
+
+
+
+ Gets or sets the shard epoch observed by the witness.
+
+
+
+
+ Gets or sets the simulation frame or tick.
+
+
+
+
+ Gets or sets the subject this observation is about.
+
+
+
+
+ Gets or sets the kind of claim, such as hit, input, collision, or ownership.
+
+
+
+
+ Gets or sets the content hash of the witness claim.
+
+
+
+
+ Gets or sets optional human-readable or app-specific claim detail.
+
+
+
+
+ Gets or sets the witness weight. Normal clients should use 1.
+
+
+
+
+ Gets or sets the observation timestamp.
+
+
+
+
+ Computes a stable claim hash from ordered claim parts.
+
+
+
+
+ Controls deterministic witness aggregation.
+
+
+
+
+ Gets or sets the minimum distinct witnesses required before a claim can be accepted.
+
+
+
+
+ Gets or sets the minimum weight required before a claim can be accepted.
+
+
+
+
+ Gets or sets the fraction of observed weight required for quorum.
+
+
+
+
+ A deterministic consensus candidate derived from witness observations.
+
+
+
+
+ Creates a consensus candidate.
+
+
+
+
+ Gets the shard id.
+
+
+
+
+ Gets the shard epoch.
+
+
+
+
+ Gets the simulation frame.
+
+
+
+
+ Gets the subject id.
+
+
+
+
+ Gets the claim kind.
+
+
+
+
+ Gets the claim hash.
+
+
+
+
+ Gets optional claim detail.
+
+
+
+
+ Gets the distinct witness count supporting this candidate.
+
+
+
+
+ Gets supporting witness weight.
+
+
+
+
+ Gets total observed witness weight for the same subject/frame/kind.
+
+
+
+
+ Gets whether the candidate crossed the configured quorum.
+
+
+
+
+ Gets support divided by total observed weight.
+
+
+
+
+ Aggregates simulation observations into deterministic consensus candidates.
+
+
+
+
+ Creates a consensus aggregator.
+
+
+
+
+ Returns the strongest candidate for each observed shard/frame/subject/claim kind.
+
+
+
+
+ Collects witness observations and publishes updated consensus candidates.
+
+
+
+
+ Creates an observation hub.
+
+
+
+
+ Gets all observations currently held by the hub.
+
+
+
+
+ Watches accepted witness observations.
+
+
+
+
+ Watches consensus candidate updates.
+
+
+
+
+ Adds an observation and returns current candidates for the same observed subject.
+
+
+
+
+ Adds an observation message and returns current candidates for the same observed subject.
+
+
+
+
+
+
+
+ Bridges schema-v0 simulation observation messages into a local observation hub.
+
+
+
+
+ Creates and attaches a simulation observation bridge.
+
+
+
+
+ Gets the observation hub used by this bridge.
+
+
+
+
+ Applies an observation message and returns current candidate messages for the same subject.
+
+
+
+
+
+
+
+ Portable manifest for one inspectable pipeline witness bundle.
+
+
+
+
+ Gets or sets the stable bundle identifier.
+
+
+
+
+ Gets or sets the witness family or pipeline kind.
+
+
+
+
+ Gets or sets when the manifest was captured.
+
+
+
+
+ Gets or sets the pinned subject this witness bundle describes.
+
+
+
+
+ Gets or sets the schema and contract pins required to interpret the witness.
+
+
+
+
+ Gets or sets the inspectable artifact pointers carried by the bundle.
+
+
+
+
+ Gets or sets stage timing witnesses associated with the bundle.
+
+
+
+
+ Gets or sets provenance metadata for the bundle producer.
+
+
+
+
+ Pins the document or payload instance the witness is about.
+
+
+
+
+ Gets or sets the subject document type or domain identifier.
+
+
+
+
+ Gets or sets the persisted record key or equivalent stable subject id.
+
+
+
+
+ Gets or sets the pinned subject schema version.
+
+
+
+
+ Gets or sets the pinned subject schema identifier when one exists.
+
+
+
+
+ Gets or sets the pinned subject content hash when one exists.
+
+
+
+
+ Pins one schema or contract dependency for the witness bundle.
+
+
+
+
+ Gets or sets the contract role inside the bundle.
+
+
+
+
+ Gets or sets the stable schema identifier.
+
+
+
+
+ Gets or sets the pinned schema version.
+
+
+
+
+ Gets or sets the canonical schema content hash when one exists.
+
+
+
+
+ Points at one inspectable artifact emitted by the witnessed pipeline.
+
+
+
+
+ Gets or sets the artifact role inside the witness bundle.
+
+
+
+
+ Gets or sets the portable URI for the artifact.
+
+
+
+
+ Gets or sets the artifact media type.
+
+
+
+
+ Gets or sets the artifact content hash when one exists.
+
+
+
+
+ Gets or sets the artifact size in bytes when known.
+
+
+
+
+ Gets or sets when the artifact was produced.
+
+
+
+
+ Records timestamp and latency evidence for one stage in the witnessed pipeline.
+
+
+
+
+ Gets or sets the pipeline stage name.
+
+
+
+
+ Gets or sets when the stage started.
+
+
+
+
+ Gets or sets when the stage completed.
+
+
+
+
+ Gets or sets the observed stage latency in milliseconds.
+
+
+
+
+ Gets or sets the URI for the timing witness artifact when one exists.
+
+
+
+
+ Carries provenance metadata for the witness bundle producer.
+
+
+
+
+ Gets or sets the stable pipeline identifier.
+
+
+
+
+ Gets or sets the pipeline run identifier.
+
+
+
+
+ Gets or sets the runtime identifier that produced the bundle.
+
+
+
+
+ Gets or sets the producing agent identifier when one exists.
+
+
+
+
+ Gets or sets the producing agent role when one exists.
+
+
+
+
+ Gets or sets the pipeline or tool version when one exists.
+
+
+
+
+ Base type for all network messages exchanged by the client and server.
+
+
+
+
+ Gets or sets the peer associated with the received message.
+
+
+
+
+ Base type for encrypted messages that carry a nonce.
+
+
+
+
+ Nonce used for AES-GCM encryption of the message payload.
+
+
+
+
+ Requests authentication with an email or username and password.
+
+
+
+
+ Encrypted email address or username.
+
+
+
+
+ Encrypted password payload.
+
+
+
+
+ Requests registration of a new player account.
+
+
+
+
+ Encrypted email address.
+
+
+
+
+ Encrypted password payload.
+
+
+
+
+ Encrypted display name payload.
+
+
+
+
+ Attempts to restore a previously issued session.
+
+
+
+
+ Encrypted session identifier.
+
+
+
+
+ Indicates successful authentication or verification.
+
+
+
+
+ Encrypted session identifier.
+
+
+
+
+ Sends a non-success error back to the client.
+
+
+
+
+ Human-readable error text.
+
+
+
+
+ Requests a catalog of schemas that the remote runtime can safely exchange.
+
+
+
+
+ Correlation identifier for the discovery request.
+
+
+
+
+ Whether the remote runtime should include inline JSON schema bodies.
+
+
+
+
+ Optional schema-id filter.
+
+
+
+
+ Optional schema-kind filter.
+
+
+
+
+ Describes one schema that the runtime knows how to exchange safely.
+
+
+
+
+ Stable canonical schema identifier.
+
+
+
+
+ Discovery kind such as wire_message, document_payload, or shared_contract.
+
+
+
+
+ Optional runtime message schema version.
+
+
+
+
+ Optional CultCache/CultNet document type name.
+
+
+
+
+ Human-facing schema title.
+
+
+
+
+ Wire contracts that can transport this schema safely.
+
+
+
+
+ SHA-256 hash of the canonical schema JSON.
+
+
+
+
+ Optional canonical JSON Schema body as a string.
+
+
+
+
+ Returns the remote runtime's schema catalog for safe exchange planning.
+
+
+
+
+ Correlation identifier matching the request.
+
+
+
+
+ Discovered schemas available for safe exchange.
+
+
+
+
+ Adds MessagePack-based send helpers for .
+
+
+
+
+ Serializes and sends a message using reliable ordered delivery.
+
+ The concrete message type.
+ The peer to send through.
+ The message to serialize and send.
+
+
+
+ Serializes and sends a modern CultNet schema-v0 message using reliable ordered delivery.
+
+ The concrete schema-v0 message type.
+ The peer to send through.
+ The schema-v0 message to serialize and send.
+
+
+
+ Basic player account document used by the sample networking stack.
+
+
+
+
+ Unique player identifier.
+
+
+
+
+ Player email address.
+
+
+
+
+ Stored password hash.
+
+
+
+
+ Player display name.
+
+
+
+
+ Monotonic session version used to supersede older issued tokens.
+
+
+
+
+ Sample authenticated payload for changing a player-visible name.
+
+
+ This is example application payload riding the shared networking contract,
+ not a claim that CultNet itself is spiritually about chat lobbies forever.
+ Keep the wire tag stable if other runtimes depend on it.
+
+
+
+
+ Requested new username.
+
+
+
+
+ Sample plain chat payload.
+
+
+ This exists as a dead-simple reference payload for message extension and
+ cross-runtime compatibility tests. Real applications should define their
+ own domain messages and keep those contracts in sync across languages.
+
+
+
+
+ Chat text content.
+
+
+
+
+ Provides shared encryption helpers and connection secrets for the networking layer.
+
+
+
+
+ Configures the default server security options used by overloads that do not take an explicit options instance.
+
+
+
+
+ Shared LiteNetLib connection key from the configured default options.
+
+
+
+
+ Gets a newly generated nonce suitable for AES-GCM operations.
+
+
+
+
+ Encrypts a string using AES-GCM.
+
+ The plaintext string to encrypt.
+ The nonce to use for the operation.
+ The encrypted payload, or null when is null or empty.
+
+
+
+ Encrypts a string using AES-GCM.
+
+
+
+
+ Encrypts a string using AES-GCM.
+
+
+
+
+ Encrypts a byte array using AES-GCM.
+
+ The plaintext bytes to encrypt.
+ The nonce to use for the operation.
+ The authentication tag followed by the ciphertext.
+
+
+
+ Encrypts a byte array using AES-GCM.
+
+
+
+
+ Encrypts a byte array using AES-GCM.
+
+
+
+
+ Decrypts an encrypted UTF-8 string payload.
+
+ The encrypted bytes produced by the corresponding string or byte encryption overloads.
+ The nonce used during encryption.
+ The decrypted string, or null when the inputs are invalid.
+
+
+
+ Decrypts an encrypted UTF-8 string payload.
+
+
+
+
+ Decrypts an encrypted UTF-8 string payload.
+
+
+
+
+ Decrypts an AES-GCM payload into raw bytes.
+
+ The encrypted bytes containing the authentication tag prefix.
+ The nonce used during encryption.
+ The decrypted plaintext bytes.
+
+
+
+ Decrypts an AES-GCM payload into raw bytes.
+
+
+
+
+ Decrypts an AES-GCM payload into raw bytes.
+
+
+
+
+ Creates a signed session token for the supplied user.
+
+ The authenticated user identifier.
+ The UTC expiration time for the token.
+ A tamper-evident session token.
+
+
+
+ Creates a signed session token for the supplied user.
+
+
+
+
+ Creates a signed session token for the supplied user and session version.
+
+
+
+
+ Validates and parses a signed session token.
+
+ The token to validate.
+ The extracted user identifier.
+ The extracted UTC expiration time.
+ true when the token is valid and unexpired.
+
+
+
+ Validates and parses a signed session token.
+
+
+
+
+ Validates and parses a signed session token.
+
+
+
+
+ Validates and parses a signed session token.
+
+
+
+
+ Hosts the server-side authentication, session, and message dispatch pipeline.
+
+
+
+
+ Gets or sets the logger used by the server.
+
+
+
+
+ Gets or sets whether raw payload bodies may be logged for diagnostics.
+
+
+
+
+ Initializes a new server instance over the supplied cache.
+
+ The backing cache used for player persistence.
+ Optional validated server security options. When omitted, strict environment-based configuration is used.
+
+
+
+ Validates an email address against the server's accepted pattern.
+
+ The email address to validate.
+ true when the address matches the expected format.
+
+
+
+ Validates a username against the server's accepted pattern.
+
+ The username to validate.
+ true when the username matches the expected format.
+
+
+
+ Removes all registered message listeners.
+
+
+
+
+ Adds a listener for a specific authenticated message type.
+
+ The message type to subscribe to.
+ The callback to invoke when the message is received.
+
+
+
+ Adds a listener for a specific authenticated message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Adds a listener for a modern CultNet schema-v0 message type.
+
+
+
+
+ Removes a previously registered listener for a specific message type.
+
+ The message type to unsubscribe from.
+ The callback to remove.
+
+
+
+ Removes a previously registered listener for a specific authenticated message type.
+
+
+
+
+ Removes a previously registered modern CultNet schema-v0 listener.
+
+
+
+
+ Stops the underlying LiteNetLib server.
+
+
+
+
+ Starts listening for connections and configures message handlers.
+
+
+
+
+
+
+
+ Represents an active authenticated session.
+
+
+
+
+ The last time the session was observed as active.
+
+
+
+
+ Player data associated with the session.
+
+
+
+
+ Tracks connection state for a connected peer.
+
+
+
+
+ The connected network peer.
+
+
+
+
+ The last reported latency for the peer.
+
+
+
+
+ The authenticated player identifier.
+
+
+
+
+ The current session expiration timestamp in UTC.
+
+
+
+
+ The latest signed session token issued to the peer.
+
+
+
+
+ The session version associated with the latest issued token.
+
+
+
+
+ Carries the server-side networking configuration and server-only signing secret.
+
+
+
+
+ Environment variable name for the LiteNetLib connection key.
+
+
+
+
+ Environment variable name for the session-token signing secret.
+
+
+
+
+ Shared LiteNetLib connection key and encryption seed.
+
+
+
+
+ Gets a value indicating whether the options were created for explicit development use.
+
+
+
+
+ Initializes a new server security configuration.
+
+
+
+
+ Creates a strict production-style configuration from environment variables.
+
+
+ When true, returns if both environment variables are absent.
+
+
+
+
+ Creates a deterministic development-only configuration.
+
+
+
+ A MessagePack resolver that uses generated formatters for types in this assembly.
+
+
+ An instance of this resolver that only returns formatters specifically generated for types in this assembly.
+
+
+
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll
new file mode 100644
index 000000000..7dcecfa1f
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:26b840ebe2ce1c5eb4ec0951801ce6f5c00b8fdbe6fc50f3e7aeaa0194c2d275
+size 33280
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll
new file mode 100644
index 000000000..a749d0838
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:27858b5bc18d1ca269283cf752840d09070739adb0439f2814eb3d433f6fc1d7
+size 27648
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll
new file mode 100644
index 000000000..a84f4472e
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3650e6ddc582b56d27c0e759ecdf373eb1b298ab2f68d9360c2e02108e5c3ebe
+size 26112
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll b/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll
new file mode 100644
index 000000000..2919d9e62
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f70423511b4671f2db809248008c63ae77064b9014a52c6d45906726b893851
+size 126464
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll
new file mode 100644
index 000000000..927ac49bf
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4d7aa07d288c6a39109eedf6435e3ba8c413342876ed08bb5a64d55dd39dd04d
+size 18432
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll
new file mode 100644
index 000000000..059c96f59
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8abd8fa8d66f41d5bdd243b740c9dd392915a8b4df1373df5a1f3fdfe093a9c8
+size 378880
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll
new file mode 100644
index 000000000..215f21ba2
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e51c8678fd602a21c249b369e833966019935132476f9434da896bef808ba3b1
+size 30880
diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll b/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll
new file mode 100644
index 000000000..91ebf3132
--- /dev/null
+++ b/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3fd39c541c070a0510eaf0b92af569c4467b03ce64204ea1a1ff55731b89b58
+size 599040
diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json
new file mode 100644
index 000000000..3a7b2c272
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json
@@ -0,0 +1,960 @@
+{
+ "format": 1,
+ "restore": {
+ "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj": {}
+ },
+ "projects": {
+ "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "projectName": "Aetheria.State.Verify",
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "net10.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "projectReferences": {
+ "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": {
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "all"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202/PortableRuntimeIdentifierGraph.json",
+ "packagesToPrune": {
+ "Microsoft.CSharp": "(,4.7.32767]",
+ "Microsoft.VisualBasic": "(,10.4.32767]",
+ "Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "Microsoft.Win32.Registry": "(,5.0.32767]",
+ "runtime.any.System.Collections": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.any.System.Globalization": "(,4.3.32767]",
+ "runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.any.System.IO": "(,4.3.32767]",
+ "runtime.any.System.Reflection": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.any.System.Runtime": "(,4.3.32767]",
+ "runtime.any.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.any.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.aot.System.Collections": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.aot.System.Globalization": "(,4.3.32767]",
+ "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.aot.System.IO": "(,4.3.32767]",
+ "runtime.aot.System.Reflection": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.aot.System.Runtime": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Console": "(,4.3.32767]",
+ "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.unix.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.unix.System.Private.Uri": "(,4.3.32767]",
+ "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Console": "(,4.3.32767]",
+ "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.win.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.win.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7.System.Private.Uri": "(,4.3.32767]",
+ "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "System.AppContext": "(,4.3.32767]",
+ "System.Buffers": "(,5.0.32767]",
+ "System.Collections": "(,4.3.32767]",
+ "System.Collections.Concurrent": "(,4.3.32767]",
+ "System.Collections.Immutable": "(,10.0.32767]",
+ "System.Collections.NonGeneric": "(,4.3.32767]",
+ "System.Collections.Specialized": "(,4.3.32767]",
+ "System.ComponentModel": "(,4.3.32767]",
+ "System.ComponentModel.Annotations": "(,4.3.32767]",
+ "System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
+ "System.ComponentModel.Primitives": "(,4.3.32767]",
+ "System.ComponentModel.TypeConverter": "(,4.3.32767]",
+ "System.Console": "(,4.3.32767]",
+ "System.Data.Common": "(,4.3.32767]",
+ "System.Data.DataSetExtensions": "(,4.4.32767]",
+ "System.Diagnostics.Contracts": "(,4.3.32767]",
+ "System.Diagnostics.Debug": "(,4.3.32767]",
+ "System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
+ "System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
+ "System.Diagnostics.Process": "(,4.3.32767]",
+ "System.Diagnostics.StackTrace": "(,4.3.32767]",
+ "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
+ "System.Diagnostics.Tools": "(,4.3.32767]",
+ "System.Diagnostics.TraceSource": "(,4.3.32767]",
+ "System.Diagnostics.Tracing": "(,4.3.32767]",
+ "System.Drawing.Primitives": "(,4.3.32767]",
+ "System.Dynamic.Runtime": "(,4.3.32767]",
+ "System.Formats.Asn1": "(,10.0.32767]",
+ "System.Formats.Tar": "(,10.0.32767]",
+ "System.Globalization": "(,4.3.32767]",
+ "System.Globalization.Calendars": "(,4.3.32767]",
+ "System.Globalization.Extensions": "(,4.3.32767]",
+ "System.IO": "(,4.3.32767]",
+ "System.IO.Compression": "(,4.3.32767]",
+ "System.IO.Compression.ZipFile": "(,4.3.32767]",
+ "System.IO.FileSystem": "(,4.3.32767]",
+ "System.IO.FileSystem.AccessControl": "(,4.4.32767]",
+ "System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
+ "System.IO.FileSystem.Primitives": "(,4.3.32767]",
+ "System.IO.FileSystem.Watcher": "(,4.3.32767]",
+ "System.IO.IsolatedStorage": "(,4.3.32767]",
+ "System.IO.MemoryMappedFiles": "(,4.3.32767]",
+ "System.IO.Pipelines": "(,10.0.32767]",
+ "System.IO.Pipes": "(,4.3.32767]",
+ "System.IO.Pipes.AccessControl": "(,5.0.32767]",
+ "System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
+ "System.Linq": "(,4.3.32767]",
+ "System.Linq.AsyncEnumerable": "(,10.0.32767]",
+ "System.Linq.Expressions": "(,4.3.32767]",
+ "System.Linq.Parallel": "(,4.3.32767]",
+ "System.Linq.Queryable": "(,4.3.32767]",
+ "System.Memory": "(,5.0.32767]",
+ "System.Net.Http": "(,4.3.32767]",
+ "System.Net.Http.Json": "(,10.0.32767]",
+ "System.Net.NameResolution": "(,4.3.32767]",
+ "System.Net.NetworkInformation": "(,4.3.32767]",
+ "System.Net.Ping": "(,4.3.32767]",
+ "System.Net.Primitives": "(,4.3.32767]",
+ "System.Net.Requests": "(,4.3.32767]",
+ "System.Net.Security": "(,4.3.32767]",
+ "System.Net.ServerSentEvents": "(,10.0.32767]",
+ "System.Net.Sockets": "(,4.3.32767]",
+ "System.Net.WebHeaderCollection": "(,4.3.32767]",
+ "System.Net.WebSockets": "(,4.3.32767]",
+ "System.Net.WebSockets.Client": "(,4.3.32767]",
+ "System.Numerics.Vectors": "(,5.0.32767]",
+ "System.ObjectModel": "(,4.3.32767]",
+ "System.Private.DataContractSerialization": "(,4.3.32767]",
+ "System.Private.Uri": "(,4.3.32767]",
+ "System.Reflection": "(,4.3.32767]",
+ "System.Reflection.DispatchProxy": "(,6.0.32767]",
+ "System.Reflection.Emit": "(,4.7.32767]",
+ "System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
+ "System.Reflection.Emit.Lightweight": "(,4.7.32767]",
+ "System.Reflection.Extensions": "(,4.3.32767]",
+ "System.Reflection.Metadata": "(,10.0.32767]",
+ "System.Reflection.Primitives": "(,4.3.32767]",
+ "System.Reflection.TypeExtensions": "(,4.3.32767]",
+ "System.Resources.Reader": "(,4.3.32767]",
+ "System.Resources.ResourceManager": "(,4.3.32767]",
+ "System.Resources.Writer": "(,4.3.32767]",
+ "System.Runtime": "(,4.3.32767]",
+ "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
+ "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
+ "System.Runtime.Extensions": "(,4.3.32767]",
+ "System.Runtime.Handles": "(,4.3.32767]",
+ "System.Runtime.InteropServices": "(,4.3.32767]",
+ "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
+ "System.Runtime.Loader": "(,4.3.32767]",
+ "System.Runtime.Numerics": "(,4.3.32767]",
+ "System.Runtime.Serialization.Formatters": "(,4.3.32767]",
+ "System.Runtime.Serialization.Json": "(,4.3.32767]",
+ "System.Runtime.Serialization.Primitives": "(,4.3.32767]",
+ "System.Runtime.Serialization.Xml": "(,4.3.32767]",
+ "System.Security.AccessControl": "(,6.0.32767]",
+ "System.Security.Claims": "(,4.3.32767]",
+ "System.Security.Cryptography.Algorithms": "(,4.3.32767]",
+ "System.Security.Cryptography.Cng": "(,5.0.32767]",
+ "System.Security.Cryptography.Csp": "(,4.3.32767]",
+ "System.Security.Cryptography.Encoding": "(,4.3.32767]",
+ "System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
+ "System.Security.Cryptography.Primitives": "(,4.3.32767]",
+ "System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
+ "System.Security.Principal": "(,4.3.32767]",
+ "System.Security.Principal.Windows": "(,5.0.32767]",
+ "System.Security.SecureString": "(,4.3.32767]",
+ "System.Text.Encoding": "(,4.3.32767]",
+ "System.Text.Encoding.CodePages": "(,10.0.32767]",
+ "System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "System.Text.Encodings.Web": "(,10.0.32767]",
+ "System.Text.Json": "(,10.0.32767]",
+ "System.Text.RegularExpressions": "(,4.3.32767]",
+ "System.Threading": "(,4.3.32767]",
+ "System.Threading.AccessControl": "(,10.0.32767]",
+ "System.Threading.Channels": "(,10.0.32767]",
+ "System.Threading.Overlapped": "(,4.3.32767]",
+ "System.Threading.Tasks": "(,4.3.32767]",
+ "System.Threading.Tasks.Dataflow": "(,10.0.32767]",
+ "System.Threading.Tasks.Extensions": "(,5.0.32767]",
+ "System.Threading.Tasks.Parallel": "(,4.3.32767]",
+ "System.Threading.Thread": "(,4.3.32767]",
+ "System.Threading.ThreadPool": "(,4.3.32767]",
+ "System.Threading.Timer": "(,4.3.32767]",
+ "System.ValueTuple": "(,4.5.32767]",
+ "System.Xml.ReaderWriter": "(,4.3.32767]",
+ "System.Xml.XDocument": "(,4.3.32767]",
+ "System.Xml.XmlDocument": "(,4.3.32767]",
+ "System.Xml.XmlSerializer": "(,4.3.32767]",
+ "System.Xml.XPath": "(,4.3.32767]",
+ "System.Xml.XPath.XDocument": "(,5.0.32767]"
+ }
+ }
+ }
+ },
+ "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj",
+ "projectName": "Aetheria.State",
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj",
+ "projectName": "GameCult.Caching.MessagePack.Analyzers",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack.Analyzers\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj",
+ "excludeAssets": "compile"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj",
+ "projectName": "GameCult.Caching.MessagePack.Generator",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack.Generator\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.0": {
+ "targetAlias": "netstandard2.0",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.3.0, )"
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[5.3.0, )"
+ },
+ "NETStandard.Library": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.0.3, )",
+ "autoReferenced": true
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj",
+ "projectName": "GameCult.Caching.MessagePack",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj",
+ "privateAssets": "none"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "dependencies": {
+ "MessagePack": {
+ "target": "Package",
+ "version": "[3.1.4, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj",
+ "projectName": "GameCult.Caching",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "dependencies": {
+ "ConcurrentHashSet": {
+ "target": "Package",
+ "version": "[1.3.0, )"
+ },
+ "R3": {
+ "target": "Package",
+ "version": "[1.3.0, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj",
+ "projectName": "GameCult.Logging",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Logging\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj",
+ "projectName": "GameCult.Mesh",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Mesh\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": {
+ "version": "1.0.3",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj",
+ "projectName": "GameCult.Networking",
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Networking\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "netstandard2.1"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "projectReferences": {
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj"
+ },
+ "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": {
+ "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "netstandard2.1": {
+ "targetAlias": "netstandard2.1",
+ "dependencies": {
+ "Isopoh.Cryptography.Argon2": {
+ "target": "Package",
+ "version": "[2.0.0, )"
+ },
+ "LiteNetLib": {
+ "target": "Package",
+ "version": "[2.1.2, )"
+ },
+ "MessagePack": {
+ "target": "Package",
+ "version": "[3.1.4, )"
+ },
+ "R3": {
+ "target": "Package",
+ "version": "[1.3.0, )"
+ },
+ "System.Text.Json": {
+ "target": "Package",
+ "version": "[9.0.10, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "NETStandard.Library.Ref",
+ "version": "[2.1.0, 2.1.0]"
+ }
+ ],
+ "frameworkReferences": {
+ "NETStandard.Library": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props
new file mode 100644
index 000000000..5ebb9f7b8
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\Meta\.nuget\packages\
+ PackageReference
+ 7.0.0
+
+
+
+
+
\ No newline at end of file
diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets
new file mode 100644
index 000000000..3dc06ef3c
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs b/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs
new file mode 100644
index 000000000..925b1351b
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.4BA5618A.Up2Date b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.4BA5618A.Up2Date
new file mode 100644
index 000000000..e69de29bb
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs
new file mode 100644
index 000000000..7994321dc
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Aetheria.State.Verify")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dad8d799fcaec5d616486f3656f6240ad6634a27")]
+[assembly: System.Reflection.AssemblyProductAttribute("Aetheria.State.Verify")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Aetheria.State.Verify")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache
new file mode 100644
index 000000000..0e0a24cf5
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+16c3b2cc1cd5c6839015577c94ae9c2874569af60f8beeba2d3b98f54dc21768
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 000000000..c1ed04bfb
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,17 @@
+is_global = true
+build_property.TargetFramework = net10.0
+build_property.TargetFrameworkIdentifier = .NETCoreApp
+build_property.TargetFrameworkVersion = v10.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Aetheria.State.Verify
+build_property.ProjectDir = E:\Projects\Aetheria\Aetheria.State.Verify\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 10.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs
new file mode 100644
index 000000000..d12bcbc76
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using System;
+global using System.Collections.Generic;
+global using System.IO;
+global using System.Linq;
+global using System.Net.Http;
+global using System.Threading;
+global using System.Threading.Tasks;
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache
new file mode 100644
index 000000000..c4b8f22cd
Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache differ
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache
new file mode 100644
index 000000000..24e5165fd
Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache differ
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache
new file mode 100644
index 000000000..f918aa171
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+3356993740e3b2256618fa101f15a7a4933f27c47ade402ff2442cba12b88e2c
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt
new file mode 100644
index 000000000..e518205a0
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt
@@ -0,0 +1,46 @@
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.exe
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.deps.json
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.runtimeconfig.json
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\ConcurrentCollections.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.Argon2.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.Blake2b.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.SecureArray.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\LiteNetLib.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\MessagePack.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\MessagePack.Annotations.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Microsoft.NET.StringTools.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\R3.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.xml
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.csproj.AssemblyReference.cache
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.AssemblyInfoInputs.cache
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.AssemblyInfo.cs
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.csproj.CoreCompileInputs.cache
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.sourcelink.json
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.4BA5618A.Up2Date
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\refint\Aetheria.State.Verify.dll
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.pdb
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.genruntimeconfig.cache
+E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\ref\Aetheria.State.Verify.dll
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll
new file mode 100644
index 000000000..e8e13402e
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:10df2ef3b22ac10a7654a740984cdf31744fe43c42b66ed906d32f4f360272e0
+size 13824
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache
new file mode 100644
index 000000000..7de6abb3f
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache
@@ -0,0 +1 @@
+d66ddbf09334068e938f9d192fe2c8a993210af469a04b842880d24222e49a49
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json
new file mode 100644
index 000000000..65065e69c
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"E:\\Projects\\Aetheria\\*":"https://raw.githubusercontent.com/GameCult/Aetheria/dad8d799fcaec5d616486f3656f6240ad6634a27/*"}}
\ No newline at end of file
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe b/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe
new file mode 100644
index 000000000..bbb905523
Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe differ
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll
new file mode 100644
index 000000000..5ce79b337
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f93ea6751f6ecd4676def51d9334d0524d53914078072d7024734e7da7e67b9e
+size 7168
diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll
new file mode 100644
index 000000000..5ce79b337
--- /dev/null
+++ b/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f93ea6751f6ecd4676def51d9334d0524d53914078072d7024734e7da7e67b9e
+size 7168
diff --git a/Aetheria.State.Verify/obj/project.assets.json b/Aetheria.State.Verify/obj/project.assets.json
new file mode 100644
index 000000000..ba8930897
--- /dev/null
+++ b/Aetheria.State.Verify/obj/project.assets.json
@@ -0,0 +1,851 @@
+{
+ "version": 3,
+ "targets": {
+ "net10.0": {
+ "ConcurrentHashSet/1.3.0": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard2.0/ConcurrentCollections.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/netstandard2.0/ConcurrentCollections.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Isopoh.Cryptography.Argon2/2.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Isopoh.Cryptography.Blake2b": "2.0.0",
+ "Isopoh.Cryptography.SecureArray": "2.0.0"
+ },
+ "compile": {
+ "lib/net7.0/Isopoh.Cryptography.Argon2.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.Argon2.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Isopoh.Cryptography.Blake2b/2.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Isopoh.Cryptography.SecureArray": "2.0.0"
+ },
+ "compile": {
+ "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Isopoh.Cryptography.SecureArray/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "LiteNetLib/2.1.2": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/LiteNetLib.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/LiteNetLib.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "MessagePack/3.1.4": {
+ "type": "package",
+ "dependencies": {
+ "MessagePack.Annotations": "3.1.4",
+ "MessagePackAnalyzer": "3.1.4",
+ "Microsoft.NET.StringTools": "17.11.4"
+ },
+ "compile": {
+ "lib/net9.0/MessagePack.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net9.0/MessagePack.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "MessagePack.Annotations/3.1.4": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard2.0/MessagePack.Annotations.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/netstandard2.0/MessagePack.Annotations.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "MessagePackAnalyzer/3.1.4": {
+ "type": "package",
+ "build": {
+ "build/_._": {}
+ }
+ },
+ "Microsoft.NET.StringTools/17.11.4": {
+ "type": "package",
+ "compile": {
+ "ref/net8.0/_._": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.NET.StringTools.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "R3/1.3.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/R3.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/R3.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Aetheria.State/1.0.0": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Mesh": "1.0.3",
+ "GameCult.Networking": "1.0.3"
+ },
+ "compile": {
+ "bin/placeholder/Aetheria.State.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Aetheria.State.dll": {}
+ }
+ },
+ "GameCult.Caching/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "ConcurrentHashSet": "1.3.0",
+ "GameCult.Logging": "1.0.3",
+ "R3": "1.3.0"
+ },
+ "compile": {
+ "bin/placeholder/GameCult.Caching.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Caching.dll": {}
+ }
+ },
+ "GameCult.Caching.MessagePack/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack.Analyzers": "1.0.3",
+ "MessagePack": "3.1.4"
+ },
+ "compile": {
+ "bin/placeholder/GameCult.Caching.MessagePack.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Caching.MessagePack.dll": {}
+ }
+ },
+ "GameCult.Caching.MessagePack.Analyzers/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "GameCult.Caching.MessagePack.Generator": "1.0.3"
+ },
+ "compile": {
+ "bin/placeholder/GameCult.Caching.MessagePack.Analyzers.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Caching.MessagePack.Analyzers.dll": {}
+ }
+ },
+ "GameCult.Caching.MessagePack.Generator/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "compile": {
+ "bin/placeholder/_._": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Caching.MessagePack.Generator.dll": {}
+ }
+ },
+ "GameCult.Logging/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "compile": {
+ "bin/placeholder/GameCult.Logging.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Logging.dll": {}
+ }
+ },
+ "GameCult.Mesh/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Networking": "1.0.3"
+ },
+ "compile": {
+ "bin/placeholder/GameCult.Mesh.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Mesh.dll": {}
+ }
+ },
+ "GameCult.Networking/1.0.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.1",
+ "dependencies": {
+ "GameCult.Caching": "1.0.3",
+ "GameCult.Caching.MessagePack": "1.0.3",
+ "GameCult.Logging": "1.0.3",
+ "Isopoh.Cryptography.Argon2": "2.0.0",
+ "LiteNetLib": "2.1.2",
+ "MessagePack": "3.1.4",
+ "R3": "1.3.0"
+ },
+ "compile": {
+ "bin/placeholder/GameCult.Networking.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/GameCult.Networking.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "ConcurrentHashSet/1.3.0": {
+ "sha512": "a30gfk4WDn2f7sOisXpko+CrQ7s5nL1ZWk4afnRwwRQHWPRrRSZpzn5Dz2YWpJtS90NJqkytQ/MkzHq4QYTIbg==",
+ "type": "package",
+ "path": "concurrenthashset/1.3.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "concurrenthashset.1.3.0.nupkg.sha512",
+ "concurrenthashset.nuspec",
+ "lib/net461/ConcurrentCollections.dll",
+ "lib/net461/ConcurrentCollections.xml",
+ "lib/netstandard1.0/ConcurrentCollections.dll",
+ "lib/netstandard1.0/ConcurrentCollections.xml",
+ "lib/netstandard2.0/ConcurrentCollections.dll",
+ "lib/netstandard2.0/ConcurrentCollections.xml"
+ ]
+ },
+ "Isopoh.Cryptography.Argon2/2.0.0": {
+ "sha512": "8ytWN19j+qARb/XYi7KkNMm4Z8zS6tfGgnsZ1N5ihbQ5LXfyL+uYowfJxtGW9TO0S8NM2q0BaTKGOtOlsrhclQ==",
+ "type": "package",
+ "path": "isopoh.cryptography.argon2/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "README.md",
+ "isopoh.cryptography.argon2.2.0.0.nupkg.sha512",
+ "isopoh.cryptography.argon2.nuspec",
+ "isopoh.png",
+ "lib/net6.0/Isopoh.Cryptography.Argon2.dll",
+ "lib/net6.0/Isopoh.Cryptography.Argon2.xml",
+ "lib/net7.0/Isopoh.Cryptography.Argon2.dll",
+ "lib/net7.0/Isopoh.Cryptography.Argon2.xml",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.Argon2.dll",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.Argon2.xml",
+ "lib/netstandard2.0/Isopoh.Cryptography.Argon2.dll",
+ "lib/netstandard2.0/Isopoh.Cryptography.Argon2.xml"
+ ]
+ },
+ "Isopoh.Cryptography.Blake2b/2.0.0": {
+ "sha512": "Co56bjSZV13fpvYHEN04qG8hqc0rKRm4os8iEgpJ/kujvt0pYtOVhj5J0Q7HBPbHwpcChRh2CjYVCGm4nw85VQ==",
+ "type": "package",
+ "path": "isopoh.cryptography.blake2b/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "README.md",
+ "isopoh.cryptography.blake2b.2.0.0.nupkg.sha512",
+ "isopoh.cryptography.blake2b.nuspec",
+ "isopoh.png",
+ "lib/net6.0/Isopoh.Cryptography.Blake2b.dll",
+ "lib/net6.0/Isopoh.Cryptography.Blake2b.xml",
+ "lib/net7.0/Isopoh.Cryptography.Blake2b.dll",
+ "lib/net7.0/Isopoh.Cryptography.Blake2b.xml",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.Blake2b.dll",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.Blake2b.xml",
+ "lib/netstandard2.0/Isopoh.Cryptography.Blake2b.dll",
+ "lib/netstandard2.0/Isopoh.Cryptography.Blake2b.xml"
+ ]
+ },
+ "Isopoh.Cryptography.SecureArray/2.0.0": {
+ "sha512": "oWbRv/BTztKJxKFr3FBurWBBCgE1+nUTm3pwtA3Yg7Xeo4wDpaLstAwqx8HeQG3/b9yOs2qykpqfbNPJ40McIw==",
+ "type": "package",
+ "path": "isopoh.cryptography.securearray/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "README.md",
+ "isopoh.cryptography.securearray.2.0.0.nupkg.sha512",
+ "isopoh.cryptography.securearray.nuspec",
+ "isopoh.png",
+ "lib/net6.0/Isopoh.Cryptography.SecureArray.dll",
+ "lib/net6.0/Isopoh.Cryptography.SecureArray.xml",
+ "lib/net7.0/Isopoh.Cryptography.SecureArray.dll",
+ "lib/net7.0/Isopoh.Cryptography.SecureArray.xml",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.SecureArray.dll",
+ "lib/netcoreapp3.1/Isopoh.Cryptography.SecureArray.xml",
+ "lib/netstandard2.0/Isopoh.Cryptography.SecureArray.dll",
+ "lib/netstandard2.0/Isopoh.Cryptography.SecureArray.xml"
+ ]
+ },
+ "LiteNetLib/2.1.2": {
+ "sha512": "+bmu7Vj+ik3xGX+qubsFuGSR8Pdri4Og7D9YAer83vHotkSHNLYL5bkZNgpvsK8GrcdNOUabZhqbYtmHu8as7A==",
+ "type": "package",
+ "path": "litenetlib/2.1.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LNL.png",
+ "README.md",
+ "lib/net8.0/LiteNetLib.dll",
+ "lib/net8.0/LiteNetLib.xml",
+ "lib/netstandard2.1/LiteNetLib.dll",
+ "lib/netstandard2.1/LiteNetLib.xml",
+ "litenetlib.2.1.2.nupkg.sha512",
+ "litenetlib.nuspec"
+ ]
+ },
+ "MessagePack/3.1.4": {
+ "sha512": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
+ "type": "package",
+ "path": "messagepack/3.1.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net472/MessagePack.dll",
+ "lib/net472/MessagePack.xml",
+ "lib/net8.0/MessagePack.dll",
+ "lib/net8.0/MessagePack.xml",
+ "lib/net9.0/MessagePack.dll",
+ "lib/net9.0/MessagePack.xml",
+ "lib/netstandard2.0/MessagePack.dll",
+ "lib/netstandard2.0/MessagePack.xml",
+ "lib/netstandard2.1/MessagePack.dll",
+ "lib/netstandard2.1/MessagePack.xml",
+ "messagepack.3.1.4.nupkg.sha512",
+ "messagepack.nuspec"
+ ]
+ },
+ "MessagePack.Annotations/3.1.4": {
+ "sha512": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==",
+ "type": "package",
+ "path": "messagepack.annotations/3.1.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/netstandard2.0/MessagePack.Annotations.dll",
+ "lib/netstandard2.0/MessagePack.Annotations.xml",
+ "messagepack.annotations.3.1.4.nupkg.sha512",
+ "messagepack.annotations.nuspec"
+ ]
+ },
+ "MessagePackAnalyzer/3.1.4": {
+ "sha512": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg==",
+ "type": "package",
+ "path": "messagepackanalyzer/3.1.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/roslyn4.3/cs/MessagePack.Analyzers.CodeFixes.dll",
+ "analyzers/roslyn4.3/cs/MessagePack.SourceGenerator.dll",
+ "build/MessagePackAnalyzer.targets",
+ "messagepackanalyzer.3.1.4.nupkg.sha512",
+ "messagepackanalyzer.nuspec"
+ ]
+ },
+ "Microsoft.NET.StringTools/17.11.4": {
+ "sha512": "mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==",
+ "type": "package",
+ "path": "microsoft.net.stringtools/17.11.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "MSBuild-NuGet-Icon.png",
+ "README.md",
+ "lib/net472/Microsoft.NET.StringTools.dll",
+ "lib/net472/Microsoft.NET.StringTools.pdb",
+ "lib/net472/Microsoft.NET.StringTools.xml",
+ "lib/net8.0/Microsoft.NET.StringTools.dll",
+ "lib/net8.0/Microsoft.NET.StringTools.pdb",
+ "lib/net8.0/Microsoft.NET.StringTools.xml",
+ "lib/netstandard2.0/Microsoft.NET.StringTools.dll",
+ "lib/netstandard2.0/Microsoft.NET.StringTools.pdb",
+ "lib/netstandard2.0/Microsoft.NET.StringTools.xml",
+ "microsoft.net.stringtools.17.11.4.nupkg.sha512",
+ "microsoft.net.stringtools.nuspec",
+ "notices/THIRDPARTYNOTICES.txt",
+ "ref/net472/Microsoft.NET.StringTools.dll",
+ "ref/net472/Microsoft.NET.StringTools.xml",
+ "ref/net8.0/Microsoft.NET.StringTools.dll",
+ "ref/net8.0/Microsoft.NET.StringTools.xml",
+ "ref/netstandard2.0/Microsoft.NET.StringTools.dll",
+ "ref/netstandard2.0/Microsoft.NET.StringTools.xml"
+ ]
+ },
+ "R3/1.3.0": {
+ "sha512": "c4bL37HGimYon/qfRTZOJE41M3cgdMJn/p4O5Jq+WHTJGNXUb1x2DlVI+iZk5phCBwq3ERfrgbaPu9WdG2OS+w==",
+ "type": "package",
+ "path": "r3/1.3.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "lib/net6.0/R3.dll",
+ "lib/net6.0/R3.xml",
+ "lib/net8.0/R3.dll",
+ "lib/net8.0/R3.xml",
+ "lib/netstandard2.0/R3.dll",
+ "lib/netstandard2.0/R3.xml",
+ "lib/netstandard2.1/R3.dll",
+ "lib/netstandard2.1/R3.xml",
+ "r3.1.3.0.nupkg.sha512",
+ "r3.nuspec"
+ ]
+ },
+ "Aetheria.State/1.0.0": {
+ "type": "project",
+ "path": "../Aetheria.State/Aetheria.State.csproj",
+ "msbuildProject": "../Aetheria.State/Aetheria.State.csproj"
+ },
+ "GameCult.Caching/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Caching/GameCult.Caching.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Caching/GameCult.Caching.csproj"
+ },
+ "GameCult.Caching.MessagePack/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Caching.MessagePack/GameCult.Caching.MessagePack.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack/GameCult.Caching.MessagePack.csproj"
+ },
+ "GameCult.Caching.MessagePack.Analyzers/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Caching.MessagePack.Analyzers/GameCult.Caching.MessagePack.Analyzers.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack.Analyzers/GameCult.Caching.MessagePack.Analyzers.csproj"
+ },
+ "GameCult.Caching.MessagePack.Generator/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Caching.MessagePack.Generator/GameCult.Caching.MessagePack.Generator.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack.Generator/GameCult.Caching.MessagePack.Generator.csproj"
+ },
+ "GameCult.Logging/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Logging/GameCult.Logging.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Logging/GameCult.Logging.csproj"
+ },
+ "GameCult.Mesh/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Mesh/GameCult.Mesh.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Mesh/GameCult.Mesh.csproj"
+ },
+ "GameCult.Networking/1.0.3": {
+ "type": "project",
+ "path": "../../CultLib/src/GameCult.Networking/GameCult.Networking.csproj",
+ "msbuildProject": "../../CultLib/src/GameCult.Networking/GameCult.Networking.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net10.0": [
+ "Aetheria.State >= 1.0.0"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\Meta\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "projectName": "Aetheria.State.Verify",
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\",
+ "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "net10.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "projectReferences": {
+ "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": {
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "all"
+ },
+ "SdkAnalysisLevel": "10.0.200"
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202/PortableRuntimeIdentifierGraph.json",
+ "packagesToPrune": {
+ "Microsoft.CSharp": "(,4.7.32767]",
+ "Microsoft.VisualBasic": "(,10.4.32767]",
+ "Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "Microsoft.Win32.Registry": "(,5.0.32767]",
+ "runtime.any.System.Collections": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.any.System.Globalization": "(,4.3.32767]",
+ "runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.any.System.IO": "(,4.3.32767]",
+ "runtime.any.System.Reflection": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.any.System.Runtime": "(,4.3.32767]",
+ "runtime.any.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.any.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.aot.System.Collections": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.aot.System.Globalization": "(,4.3.32767]",
+ "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.aot.System.IO": "(,4.3.32767]",
+ "runtime.aot.System.Reflection": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.aot.System.Runtime": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Console": "(,4.3.32767]",
+ "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.unix.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.unix.System.Private.Uri": "(,4.3.32767]",
+ "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Console": "(,4.3.32767]",
+ "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.win.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.win.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7.System.Private.Uri": "(,4.3.32767]",
+ "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "System.AppContext": "(,4.3.32767]",
+ "System.Buffers": "(,5.0.32767]",
+ "System.Collections": "(,4.3.32767]",
+ "System.Collections.Concurrent": "(,4.3.32767]",
+ "System.Collections.Immutable": "(,10.0.32767]",
+ "System.Collections.NonGeneric": "(,4.3.32767]",
+ "System.Collections.Specialized": "(,4.3.32767]",
+ "System.ComponentModel": "(,4.3.32767]",
+ "System.ComponentModel.Annotations": "(,4.3.32767]",
+ "System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
+ "System.ComponentModel.Primitives": "(,4.3.32767]",
+ "System.ComponentModel.TypeConverter": "(,4.3.32767]",
+ "System.Console": "(,4.3.32767]",
+ "System.Data.Common": "(,4.3.32767]",
+ "System.Data.DataSetExtensions": "(,4.4.32767]",
+ "System.Diagnostics.Contracts": "(,4.3.32767]",
+ "System.Diagnostics.Debug": "(,4.3.32767]",
+ "System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
+ "System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
+ "System.Diagnostics.Process": "(,4.3.32767]",
+ "System.Diagnostics.StackTrace": "(,4.3.32767]",
+ "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
+ "System.Diagnostics.Tools": "(,4.3.32767]",
+ "System.Diagnostics.TraceSource": "(,4.3.32767]",
+ "System.Diagnostics.Tracing": "(,4.3.32767]",
+ "System.Drawing.Primitives": "(,4.3.32767]",
+ "System.Dynamic.Runtime": "(,4.3.32767]",
+ "System.Formats.Asn1": "(,10.0.32767]",
+ "System.Formats.Tar": "(,10.0.32767]",
+ "System.Globalization": "(,4.3.32767]",
+ "System.Globalization.Calendars": "(,4.3.32767]",
+ "System.Globalization.Extensions": "(,4.3.32767]",
+ "System.IO": "(,4.3.32767]",
+ "System.IO.Compression": "(,4.3.32767]",
+ "System.IO.Compression.ZipFile": "(,4.3.32767]",
+ "System.IO.FileSystem": "(,4.3.32767]",
+ "System.IO.FileSystem.AccessControl": "(,4.4.32767]",
+ "System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
+ "System.IO.FileSystem.Primitives": "(,4.3.32767]",
+ "System.IO.FileSystem.Watcher": "(,4.3.32767]",
+ "System.IO.IsolatedStorage": "(,4.3.32767]",
+ "System.IO.MemoryMappedFiles": "(,4.3.32767]",
+ "System.IO.Pipelines": "(,10.0.32767]",
+ "System.IO.Pipes": "(,4.3.32767]",
+ "System.IO.Pipes.AccessControl": "(,5.0.32767]",
+ "System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
+ "System.Linq": "(,4.3.32767]",
+ "System.Linq.AsyncEnumerable": "(,10.0.32767]",
+ "System.Linq.Expressions": "(,4.3.32767]",
+ "System.Linq.Parallel": "(,4.3.32767]",
+ "System.Linq.Queryable": "(,4.3.32767]",
+ "System.Memory": "(,5.0.32767]",
+ "System.Net.Http": "(,4.3.32767]",
+ "System.Net.Http.Json": "(,10.0.32767]",
+ "System.Net.NameResolution": "(,4.3.32767]",
+ "System.Net.NetworkInformation": "(,4.3.32767]",
+ "System.Net.Ping": "(,4.3.32767]",
+ "System.Net.Primitives": "(,4.3.32767]",
+ "System.Net.Requests": "(,4.3.32767]",
+ "System.Net.Security": "(,4.3.32767]",
+ "System.Net.ServerSentEvents": "(,10.0.32767]",
+ "System.Net.Sockets": "(,4.3.32767]",
+ "System.Net.WebHeaderCollection": "(,4.3.32767]",
+ "System.Net.WebSockets": "(,4.3.32767]",
+ "System.Net.WebSockets.Client": "(,4.3.32767]",
+ "System.Numerics.Vectors": "(,5.0.32767]",
+ "System.ObjectModel": "(,4.3.32767]",
+ "System.Private.DataContractSerialization": "(,4.3.32767]",
+ "System.Private.Uri": "(,4.3.32767]",
+ "System.Reflection": "(,4.3.32767]",
+ "System.Reflection.DispatchProxy": "(,6.0.32767]",
+ "System.Reflection.Emit": "(,4.7.32767]",
+ "System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
+ "System.Reflection.Emit.Lightweight": "(,4.7.32767]",
+ "System.Reflection.Extensions": "(,4.3.32767]",
+ "System.Reflection.Metadata": "(,10.0.32767]",
+ "System.Reflection.Primitives": "(,4.3.32767]",
+ "System.Reflection.TypeExtensions": "(,4.3.32767]",
+ "System.Resources.Reader": "(,4.3.32767]",
+ "System.Resources.ResourceManager": "(,4.3.32767]",
+ "System.Resources.Writer": "(,4.3.32767]",
+ "System.Runtime": "(,4.3.32767]",
+ "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
+ "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
+ "System.Runtime.Extensions": "(,4.3.32767]",
+ "System.Runtime.Handles": "(,4.3.32767]",
+ "System.Runtime.InteropServices": "(,4.3.32767]",
+ "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
+ "System.Runtime.Loader": "(,4.3.32767]",
+ "System.Runtime.Numerics": "(,4.3.32767]",
+ "System.Runtime.Serialization.Formatters": "(,4.3.32767]",
+ "System.Runtime.Serialization.Json": "(,4.3.32767]",
+ "System.Runtime.Serialization.Primitives": "(,4.3.32767]",
+ "System.Runtime.Serialization.Xml": "(,4.3.32767]",
+ "System.Security.AccessControl": "(,6.0.32767]",
+ "System.Security.Claims": "(,4.3.32767]",
+ "System.Security.Cryptography.Algorithms": "(,4.3.32767]",
+ "System.Security.Cryptography.Cng": "(,5.0.32767]",
+ "System.Security.Cryptography.Csp": "(,4.3.32767]",
+ "System.Security.Cryptography.Encoding": "(,4.3.32767]",
+ "System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
+ "System.Security.Cryptography.Primitives": "(,4.3.32767]",
+ "System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
+ "System.Security.Principal": "(,4.3.32767]",
+ "System.Security.Principal.Windows": "(,5.0.32767]",
+ "System.Security.SecureString": "(,4.3.32767]",
+ "System.Text.Encoding": "(,4.3.32767]",
+ "System.Text.Encoding.CodePages": "(,10.0.32767]",
+ "System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "System.Text.Encodings.Web": "(,10.0.32767]",
+ "System.Text.Json": "(,10.0.32767]",
+ "System.Text.RegularExpressions": "(,4.3.32767]",
+ "System.Threading": "(,4.3.32767]",
+ "System.Threading.AccessControl": "(,10.0.32767]",
+ "System.Threading.Channels": "(,10.0.32767]",
+ "System.Threading.Overlapped": "(,4.3.32767]",
+ "System.Threading.Tasks": "(,4.3.32767]",
+ "System.Threading.Tasks.Dataflow": "(,10.0.32767]",
+ "System.Threading.Tasks.Extensions": "(,5.0.32767]",
+ "System.Threading.Tasks.Parallel": "(,4.3.32767]",
+ "System.Threading.Thread": "(,4.3.32767]",
+ "System.Threading.ThreadPool": "(,4.3.32767]",
+ "System.Threading.Timer": "(,4.3.32767]",
+ "System.ValueTuple": "(,4.5.32767]",
+ "System.Xml.ReaderWriter": "(,4.3.32767]",
+ "System.Xml.XDocument": "(,4.3.32767]",
+ "System.Xml.XmlDocument": "(,4.3.32767]",
+ "System.Xml.XmlSerializer": "(,4.3.32767]",
+ "System.Xml.XPath": "(,4.3.32767]",
+ "System.Xml.XPath.XDocument": "(,5.0.32767]"
+ }
+ }
+ }
+ },
+ "logs": [
+ {
+ "code": "NU1903",
+ "level": "Warning",
+ "warningLevel": 1,
+ "message": "Package 'MessagePack' 3.1.4 has a known high severity vulnerability, https://github.com/advisories/GHSA-hv8m-jj95-wg3x",
+ "libraryId": "MessagePack",
+ "targetGraphs": [
+ "net10.0"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Aetheria.State.Verify/obj/project.nuget.cache b/Aetheria.State.Verify/obj/project.nuget.cache
new file mode 100644
index 000000000..8ef044c7d
--- /dev/null
+++ b/Aetheria.State.Verify/obj/project.nuget.cache
@@ -0,0 +1,32 @@
+{
+ "version": 2,
+ "dgSpecHash": "1NX9KVtabo8=",
+ "success": true,
+ "projectFilePath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\Meta\\.nuget\\packages\\concurrenthashset\\1.3.0\\concurrenthashset.1.3.0.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.argon2\\2.0.0\\isopoh.cryptography.argon2.2.0.0.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.blake2b\\2.0.0\\isopoh.cryptography.blake2b.2.0.0.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.securearray\\2.0.0\\isopoh.cryptography.securearray.2.0.0.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\litenetlib\\2.1.2\\litenetlib.2.1.2.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\messagepack\\3.1.4\\messagepack.3.1.4.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\messagepack.annotations\\3.1.4\\messagepack.annotations.3.1.4.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\messagepackanalyzer\\3.1.4\\messagepackanalyzer.3.1.4.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\microsoft.net.stringtools\\17.11.4\\microsoft.net.stringtools.17.11.4.nupkg.sha512",
+ "C:\\Users\\Meta\\.nuget\\packages\\r3\\1.3.0\\r3.1.3.0.nupkg.sha512"
+ ],
+ "logs": [
+ {
+ "code": "NU1903",
+ "level": "Warning",
+ "message": "Package 'MessagePack' 3.1.4 has a known high severity vulnerability, https://github.com/advisories/GHSA-hv8m-jj95-wg3x",
+ "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "warningLevel": 1,
+ "filePath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj",
+ "libraryId": "MessagePack",
+ "targetGraphs": [
+ "net10.0"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Aetheria.State/AetheriaStateNode.cs b/Aetheria.State/AetheriaStateNode.cs
index ba980bb6b..2546c714f 100644
--- a/Aetheria.State/AetheriaStateNode.cs
+++ b/Aetheria.State/AetheriaStateNode.cs
@@ -76,6 +76,11 @@ public sealed class AetheriaStateNode : IAsyncDisposable, IDisposable
return Database.PutAsync(new CultRecordKey("global:aetheria.migration_ledger.v1"), ledger);
}
+ public Task GetMigrationLedgerAsync()
+ {
+ return Database.GetAsync(new CultRecordKey("global:aetheria.migration_ledger.v1"));
+ }
+
public Task> PutLegacyCatalogQuarantineAsync(
AetheriaLegacyCatalogQuarantine quarantine)
{
diff --git a/Aetheria.State/README.md b/Aetheria.State/README.md
index baff94b3c..3a65b707a 100644
--- a/Aetheria.State/README.md
+++ b/Aetheria.State/README.md
@@ -46,6 +46,12 @@ definitions, 12 factions, and 12 name files. Runtime object graphs, behaviors,
Unity shapes, and simulation state remain legacy until dedicated typed
documents exist.
+`Aetheria.State.Verify` opens a materialized state file and checks that the
+typed migration ledger matches the actual item, corporation, and name-file
+records in the `.cc` store. It also verifies the canonical legacy-ID lookup API
+for one migrated record of each catalog kind. Use it after import when
+`GameData/aetheria-world.cc` changes.
+
Current rebuild notes:
- `MessagePack` 3.1.4 is pulled transitively through CultLib and is currently
diff --git a/README.md b/README.md
index af4b1526c..9c786a69a 100644
--- a/README.md
+++ b/README.md
@@ -120,6 +120,8 @@ The state spine lives in `Aetheria.State`. It defines CultCache documents, CultN
Use `Aetheria.State.Import` to quarantine the checked-in legacy catalog files and map stable MessagePack payload fields into typed CultCache state. The importer records path, size, and SHA-256 provenance for `GameData/AetherDB.msgpack` and `GameData/NameFile/*.msgpack`, then emits typed item, faction, and name-file records for the fields that have earned migration authority.
+Use `Aetheria.State.Verify` after import to prove the materialized `.cc` file is internally coherent: migration-ledger counts must match actual typed catalog records, and legacy-ID lookups must resolve through `Aetheria.State` rather than importer-local key strings.
+
#### Editing Items
Item editing should target typed CultCache documents and CultMesh/Eve surfaces. The old Unity database inspector has been removed from authority; if it returns, it should be a lowering over the state spine, not a separate store.
diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md
index 00e6db599..903347d74 100644
--- a/docs/aetheria-perfect-machine-map.md
+++ b/docs/aetheria-perfect-machine-map.md
@@ -55,6 +55,9 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted.
- `GameData/aetheria-world.cc` is now materialized from the importer as the
project-local typed state file for the checked-in catalog. The importer stores
relative provenance in the state document, not machine-local absolute paths.
+ `Aetheria.State.Verify` opens the materialized file and checks that migration
+ ledger counts match actual typed catalog records and that the legacy-ID lookup
+ API resolves migrated item, corporation, and name-file documents.
- `.voidbot/state/aetheria.cc` is the repo Persona state witness. Aetheria is
not registered as a VoidBot Discord identity yet, so mutations use the
repo-local `void-self-state.mjs apply-operation` typed boundary rather than