Add typed state artifact verifier

This commit is contained in:
Meta Vens 2026-06-13 07:54:30 +01:00
commit 856f61e071
53 changed files with 8505 additions and 0 deletions

View file

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Aetheria.State\Aetheria.State.csproj" />
</ItemGroup>
</Project>

View file

@ -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<AetheriaItemDefinition>().ToArray();
var corporations = node.Cache.GetAll<AetheriaCorporation>().ToArray();
var nameFiles = node.Cache.GetAll<AetheriaNameFile>().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<T>(
string legacyId,
Func<Task<T?>> 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}.");
}
}

View file

@ -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": ""
}
}
}

Binary file not shown.

View file

@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "10.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

BIN
Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>GameCult.Caching.MessagePack.Analyzers</name>
</assembly>
<members>
<member name="T:GameCult.Caching.MessagePack.Analyzer.Class1">
<summary>
Placeholder type for the analyzer packaging project.
</summary>
</member>
</members>
</doc>

Binary file not shown.

View file

@ -0,0 +1,226 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>GameCult.Caching.MessagePack</name>
</assembly>
<members>
<member name="T:GameCult.Caching.MessagePack.CultCacheOpenOptions">
<summary>
Options for opening a CultCache over the canonical single-file MessagePack backing store.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.Registry">
<summary>
Gets or sets the document registry to use. When omitted, the shared registry is used.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.PullOnOpen">
<summary>
Gets or sets whether the cache should pull the existing snapshot during open.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.FlushOnDispose">
<summary>
Gets or sets whether the cache should flush attached stores when disposed.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.StoreFlushOnDispose">
<summary>
Gets or sets whether the backing store should flush when disposed.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.ConfigureCache">
<summary>
Gets or sets an optional callback used to customize the cache before opening.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.ConfigureStore">
<summary>
Gets or sets an optional callback used to customize the backing store before opening.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.UseDirectoryStore">
<summary>
Gets or sets whether the cache should use a paged directory store instead of one whole-file snapshot.
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.DirectoryStorePath">
<summary>
Gets or sets the directory used for paged records. When omitted, the store uses the file path plus ".records".
</summary>
</member>
<member name="P:GameCult.Caching.MessagePack.CultCacheOpenOptions.ConfigureDirectoryStore">
<summary>
Gets or sets an optional callback used to customize the directory backing store before opening.
</summary>
</member>
<member name="T:GameCult.Caching.MessagePack.CultCacheMessagePack">
<summary>
Friendly MessagePack entrypoints for opening a CultCache with the canonical backing store.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultCacheMessagePack.Create(System.String,GameCult.Caching.MessagePack.CultCacheOpenOptions)">
<summary>
Creates a cache with the canonical single-file MessagePack backing store attached.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultCacheMessagePack.OpenAsync(System.String,GameCult.Caching.MessagePack.CultCacheOpenOptions)">
<summary>
Creates a cache with the canonical single-file MessagePack backing store attached and optionally pulls the on-disk snapshot.
</summary>
</member>
<member name="T:GameCult.Caching.MessagePack.CultDocumentResolver">
<summary>
MessagePack resolver for CultCache-specific value types.
</summary>
</member>
<member name="F:GameCult.Caching.MessagePack.CultDocumentResolver.Instance">
<summary>
Gets the shared resolver instance.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentResolver.GetFormatter``1">
<summary>
Gets a formatter for the requested type, when this resolver owns it.
</summary>
</member>
<member name="T:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization">
<summary>
MessagePack serialization helpers for CultCache documents and backing stores.
</summary>
</member>
<member name="F:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.Options">
<summary>
Gets the shared MessagePack serializer options for CultCache payloads.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.Serialize``1(``0)">
<summary>
Serializes a typed value with the CultCache MessagePack options.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.Deserialize``1(System.Byte[])">
<summary>
Deserializes a typed value with the CultCache MessagePack options.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.SerializeUntyped(System.Object,System.Type)">
<summary>
Serializes a value whose document type is known at runtime.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.DeserializeUntyped(System.Type,System.Byte[])">
<summary>
Deserializes a value whose document type is known at runtime.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.SerializePersistedRecord(GameCult.Caching.CultPersistedRecord)">
<summary>
Serializes one persisted store record.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.DeserializePersistedRecord(System.Byte[])">
<summary>
Deserializes one persisted store record.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.SerializeSchemaCatalog(GameCult.Caching.CultSchemaCatalogEntry[])">
<summary>
Serializes a schema catalog.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.DeserializeSchemaCatalog(System.Byte[])">
<summary>
Deserializes a schema catalog.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.SerializeSnapshot(GameCult.Caching.CultPersistedStoreSnapshot)">
<summary>
Serializes a complete persisted store snapshot.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.CultDocumentMessagePackSerialization.DeserializeSnapshot(System.Byte[])">
<summary>
Deserializes a complete persisted store snapshot.
</summary>
</member>
<member name="T:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore">
<summary>
Single-file CultCache backing store that persists snapshots as MessagePack.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore.#ctor(System.String)">
<summary>
Creates a MessagePack single-file backing store.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore.SerializeSnapshot(GameCult.Caching.CultPersistedStoreSnapshot)">
<summary>
Serializes a store snapshot.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore.DeserializeSnapshot(System.Byte[])">
<summary>
Deserializes a store snapshot.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore.SerializePayload(System.Object)">
<summary>
Serializes one document payload.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.SingleFileMessagePackBackingStore.DeserializePayload(System.Type,System.Byte[])">
<summary>
Deserializes one document payload.
</summary>
</member>
<member name="T:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore">
<summary>
MessagePack backing store that keeps a small schema manifest hot and stores each record as its own cold file.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.#ctor(System.String,System.String)">
<summary>
Creates a paged MessagePack backing store.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.DefaultRecordDirectoryPath(System.String)">
<summary>
Gets the default record directory path for a manifest path.
</summary>
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.PullAll">
<inheritdoc />
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.Push(GameCult.Caching.CultStoredDocument)">
<inheritdoc />
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.Delete(GameCult.Caching.CultStoredDocument)">
<inheritdoc />
</member>
<member name="M:GameCult.Caching.MessagePack.DirectoryMessagePackBackingStore.PushAll(System.Boolean)">
<inheritdoc />
</member>
<member name="T:GameCult.Caching.CultRecordRefFormatter`1">
<summary>
Serializes typed CultCache record references as their persisted key strings.
</summary>
</member>
<member name="M:GameCult.Caching.CultRecordRefFormatter`1.Serialize(MessagePack.MessagePackWriter@,GameCult.Caching.CultRecordRef{`0},MessagePack.MessagePackSerializerOptions)">
<summary>
Writes a typed record reference to MessagePack.
</summary>
</member>
<member name="M:GameCult.Caching.CultRecordRefFormatter`1.Deserialize(MessagePack.MessagePackReader@,MessagePack.MessagePackSerializerOptions)">
<summary>
Reads a typed record reference from MessagePack.
</summary>
</member>
<member name="T:MessagePack.GeneratedMessagePackResolver">
<summary>A MessagePack resolver that uses generated formatters for types in this assembly.</summary>
</member>
<member name="F:MessagePack.GeneratedMessagePackResolver.Instance">
<summary>An instance of this resolver that only returns formatters specifically generated for types in this assembly.</summary>
</member>
</members>
</doc>

BIN
Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,94 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>GameCult.Logging</name>
</assembly>
<members>
<member name="T:GameCult.Logging.ConsoleLogger">
<summary>
Writes log messages to the process console.
</summary>
</member>
<member name="M:GameCult.Logging.ConsoleLogger.LogInfo(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.ConsoleLogger.LogWarning(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.ConsoleLogger.LogError(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.ConsoleLogger.LogDebug(System.String)">
<inheritdoc />
</member>
<member name="T:GameCult.Logging.FileLogger">
<summary>
Appends timestamped log entries to a file on disk.
</summary>
</member>
<member name="M:GameCult.Logging.FileLogger.#ctor(System.String)">
<summary>
Initializes a new file-backed logger.
</summary>
<param name="logPath">The path to the log file to append to.</param>
</member>
<member name="M:GameCult.Logging.FileLogger.LogInfo(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.FileLogger.LogWarning(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.FileLogger.LogError(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.FileLogger.LogDebug(System.String)">
<inheritdoc />
</member>
<member name="T:GameCult.Logging.ILogger">
<summary>
Defines the logging contract used across CultLib components.
</summary>
</member>
<member name="M:GameCult.Logging.ILogger.LogInfo(System.String)">
<summary>
Writes an informational message.
</summary>
<param name="message">The message to record.</param>
</member>
<member name="M:GameCult.Logging.ILogger.LogWarning(System.String)">
<summary>
Writes a warning message.
</summary>
<param name="message">The message to record.</param>
</member>
<member name="M:GameCult.Logging.ILogger.LogError(System.String)">
<summary>
Writes an error message.
</summary>
<param name="message">The message to record.</param>
</member>
<member name="M:GameCult.Logging.ILogger.LogDebug(System.String)">
<summary>
Writes a debug message.
</summary>
<param name="message">The message to record.</param>
</member>
<member name="T:GameCult.Logging.NullLogger">
<summary>
Provides a no-op logger implementation.
</summary>
</member>
<member name="M:GameCult.Logging.NullLogger.LogInfo(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.NullLogger.LogWarning(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.NullLogger.LogError(System.String)">
<inheritdoc />
</member>
<member name="M:GameCult.Logging.NullLogger.LogDebug(System.String)">
<inheritdoc />
</member>
</members>
</doc>

BIN
Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,849 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>GameCult.Mesh</name>
</assembly>
<members>
<member name="T:GameCult.Mesh.CultMeshNodeOptions">
<summary>
Options for creating a local CultMesh node.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.CacheOptions">
<summary>
Gets or sets the cache-open options used for the underlying CultCache.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.Security">
<summary>
Gets or sets the server security configuration. When omitted, development defaults are used.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.StartServer">
<summary>
Gets or sets whether the server should start immediately after creation.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.DatabaseOptions">
<summary>
Gets or sets the mesh database sharding options used for the hosted CultCache.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.EnableDurableShardLogs">
<summary>
Gets or sets whether CultMesh should attach a file-backed authoritative shard-log store when none is supplied.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.ShardLogPath">
<summary>
Gets or sets the directory used for file-backed authoritative shard logs.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.DatabaseServerOptions">
<summary>
Gets or sets the database server bridge options used for shard routing and forwarding.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNodeOptions.ConfigureServer">
<summary>
Gets or sets an optional callback used to customize the server before start.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshNode">
<summary>
A locally hosted CultMesh node over CultCache, CultNet transport, and the mesh database facade.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNode.Cache">
<summary>
Gets the durable cache used by the node.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNode.Store">
<summary>
Gets the canonical single-file MessagePack store, when one is attached.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNode.Server">
<summary>
Gets the underlying CultNet server.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNode.Database">
<summary>
Gets the distributed realtime database facade.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshNode.DatabaseServer">
<summary>
Gets the schema-v0 server bridge for distributed database messages.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshNode.Start">
<summary>
Starts the underlying server.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshNode.FlushAsync(System.Boolean)">
<summary>
Flushes the durable cache.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshNode.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMesh">
<summary>
Public CultMesh entrypoints.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateNodeAsync(System.String,GameCult.Mesh.CultMeshNodeOptions)">
<summary>
Creates a local CultMesh node with a durable CultCache and the canonical MessagePack backing store.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.StartNodeAsync(System.String,GameCult.Mesh.CultMeshNodeOptions)">
<summary>
Creates and starts a local CultMesh node with development-friendly defaults.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateVerseCatalog">
<summary>
Creates a local reactive catalog for discovered Verses.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreatePeerCatalog">
<summary>
Creates a local reactive catalog for discovered peers.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateAuthorityLeaseCatalog">
<summary>
Creates a local authority lease catalog.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateStreamCatalog">
<summary>
Creates a local stream catalog for zero-copy-oriented audio, video, tensor, and byte frame streams.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateSimulationFactCommitter(GameCult.Networking.CultNetDatabase)">
<summary>
Creates a committer for writing quorum simulation facts to a mesh database.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateGameSession(GameCult.Mesh.CultMeshNode,GameCult.Mesh.CultMeshGameSessionOptions)">
<summary>
Creates a gameplay-facing session facade over a CultMesh node.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.ServeVerseCatalog(GameCult.Mesh.CultMeshNode,GameCult.Mesh.CultMeshVerseCatalog)">
<summary>
Attaches Verse discovery responses to a CultMesh node.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateVerseDiscoveryClient(GameCult.Mesh.CultMeshVerseDiscoveryClientOptions)">
<summary>
Creates a client for fetching Verse catalogs from discovery endpoints.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.ServePeerExchange(GameCult.Mesh.CultMeshNode,GameCult.Mesh.CultMeshPeerCatalog)">
<summary>
Attaches peer exchange responses to a CultMesh node.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreatePeerExchangeClient(GameCult.Mesh.CultMeshPeerExchangeClientOptions)">
<summary>
Creates a client for fetching peer cards from peer exchange endpoints.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.CreateClient(GameCult.Networking.ClientSecurityOptions,System.Action{GameCult.Networking.Client})">
<summary>
Creates a CultNet client configured for CultMesh use.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMesh.ConnectClient(System.String,System.Int32,GameCult.Networking.ClientSecurityOptions,System.Action{GameCult.Networking.Client})">
<summary>
Creates and connects a CultNet client to a CultMesh node.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshAuthorityLease">
<summary>
Grants one peer authority to perform roles for a Verse over a bounded interval.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLease.#ctor(System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.String,System.DateTimeOffset,System.DateTimeOffset,System.String)">
<summary>
Creates an authority lease.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.LeaseId">
<summary>Gets the stable lease id.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.VerseId">
<summary>Gets the Verse id governed by the lease.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.PeerId">
<summary>Gets the peer id receiving authority.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.Roles">
<summary>Gets the roles granted by this lease.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.ShardIds">
<summary>Gets shard ids covered by this lease. Empty means every shard in the Verse.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.IssuerRuntimeId">
<summary>Gets the runtime that issued the lease.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.ValidFrom">
<summary>Gets the first timestamp when the lease is valid.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.ExpiresAt">
<summary>Gets the timestamp when the lease expires.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLease.Signature">
<summary>Gets an optional signature over the lease.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLease.IsValidAt(System.DateTimeOffset)">
<summary>
Returns whether this lease is valid at the supplied time.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLease.Covers(GameCult.Mesh.CultMeshPeerCard,System.String,System.String,System.Nullable{System.DateTimeOffset})">
<summary>
Returns whether this lease covers a peer card, role, and shard.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshAuthorityLeaseCatalog">
<summary>
Local authority lease catalog.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshAuthorityLeaseCatalog.Leases">
<summary>Gets all known leases.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLeaseCatalog.Upsert(GameCult.Mesh.CultMeshAuthorityLease)">
<summary>Adds or replaces an authority lease.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLeaseCatalog.Get(System.String)">
<summary>Gets a lease by id, if known.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshAuthorityLeaseCatalog.IsAuthorized(GameCult.Mesh.CultMeshPeerCard,System.String,System.String,System.Nullable{System.DateTimeOffset})">
<summary>
Returns whether a peer card is authorized for a role and optional shard.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshGameSessionOptions">
<summary>
Options for creating a gameplay-facing CultMesh session facade.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.VerseCatalog">
<summary>
Gets or sets the Verse catalog used by the session.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.PeerCatalog">
<summary>
Gets or sets the peer catalog used by the session.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.AuthorityLeases">
<summary>
Gets or sets the authority lease catalog used by the session.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.ConsensusOptions">
<summary>
Gets or sets simulation consensus options.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.ServeSimulationObservations">
<summary>
Gets or sets whether incoming observation messages should update the session hub.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.ServeVerseDiscovery">
<summary>
Gets or sets whether the node should answer Verse catalog requests from the session catalog.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSessionOptions.ServePeerExchange">
<summary>
Gets or sets whether the node should answer peer exchange requests from the session peer catalog.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshGameSession">
<summary>
Gameplay-facing facade over common CultMesh runtime pieces.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.#ctor(GameCult.Mesh.CultMeshNode,GameCult.Mesh.CultMeshGameSessionOptions)">
<summary>
Creates a game session facade.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.Node">
<summary>
Gets the underlying node.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.VerseCatalog">
<summary>
Gets the session Verse catalog.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.PeerCatalog">
<summary>
Gets the session peer catalog.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.AuthorityLeases">
<summary>
Gets the session authority lease catalog.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.ObservationHub">
<summary>
Gets the session simulation observation hub.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshGameSession.FactCommitter">
<summary>
Gets the session simulation fact committer.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.WatchCandidates">
<summary>
Watches consensus candidate updates.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.WatchSimulationFacts">
<summary>
Watches committed simulation facts.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.PredictAsync``1(GameCult.Caching.CultRecordKey,``0)">
<summary>
Applies a local client prediction through the underlying database.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.SubmitObservation(GameCult.Networking.CultNetSimulationObservation)">
<summary>
Submits one witness observation and returns the current candidates for that subject.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.SubmitAndCommitAsync(GameCult.Networking.CultNetSimulationObservation)">
<summary>
Submits one witness observation and commits any new quorum facts it creates.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.CommitQuorumCandidatesAsync(System.Collections.Generic.IEnumerable{GameCult.Networking.CultNetSimulationConsensusCandidate})">
<summary>
Commits quorum candidates that have not already been committed by this session.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshGameSession.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMeshPeerRoles">
<summary>
Well-known CultMesh peer roles.
</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshPeerRoles.Discovery">
<summary>Peer can answer discovery requests.</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshPeerRoles.ShardPrimary">
<summary>Peer can serve authoritative shard logs.</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshPeerRoles.ShardReplica">
<summary>Peer can serve replicated shard logs.</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshPeerRoles.ReadReplica">
<summary>Peer can serve read traffic.</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshPeerRoles.SimulationObserver">
<summary>Peer can observe simulation facts.</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshPeerCard">
<summary>
Candidate peer contact information for a Verse.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCard.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.String,System.String,System.String,System.String)">
<summary>
Creates a peer card.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.PeerId">
<summary>Gets the stable peer id.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.VerseId">
<summary>Gets the Verse id this peer participates in.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.Endpoints">
<summary>Gets reachable endpoints.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.Roles">
<summary>Gets advertised roles.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.ShardIds">
<summary>Gets shard ids this peer can serve or observe.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.Region">
<summary>Gets an optional region/locality label.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.AuthorityLeaseId">
<summary>Gets the authority lease id, when present.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.ExpiresAt">
<summary>Gets the expiry timestamp for this card.</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCard.Signature">
<summary>Gets an optional signature over the card.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCard.HasRole(System.String)">
<summary>
Returns whether the card advertises a role.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshPeerMessages">
<summary>
Conversion helpers for CultMesh peer exchange messages.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerMessages.ToMessage(GameCult.Mesh.CultMeshPeerCard)">
<summary>
Converts a peer card to its schema-v0 wire shape.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerMessages.ToPeerCard(GameCult.Networking.CultMeshPeerCardMessage)">
<summary>
Converts a wire peer card to the local public API shape.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshPeerCatalog">
<summary>
Reactive local catalog for discovered CultMesh peers.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerCatalog.Peers">
<summary>Gets all known peers.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCatalog.Watch">
<summary>Watches peer card updates.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCatalog.Upsert(GameCult.Mesh.CultMeshPeerCard)">
<summary>Adds or replaces a peer card.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCatalog.Upsert(GameCult.Networking.CultMeshPeerExchangeResponseMessage)">
<summary>Adds or replaces peer cards from a wire response.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCatalog.Find(System.String,System.String)">
<summary>Finds peers by Verse and optional role.</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerCatalog.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMeshPeerExchangeServer">
<summary>
Answers CultMesh peer exchange requests from a local peer catalog.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeServer.#ctor(GameCult.Networking.Server,GameCult.Mesh.CultMeshPeerCatalog)">
<summary>
Creates and attaches a peer exchange bridge.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeServer.CreateResponse(GameCult.Networking.CultMeshPeerExchangeRequestMessage)">
<summary>
Creates a peer exchange response for a request.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeServer.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMeshPeerExchangeClientOptions">
<summary>
Options for schema-v0 CultMesh peer exchange clients.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerExchangeClientOptions.Security">
<summary>
Gets or sets client security options used to connect to peer exchange endpoints.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerExchangeClientOptions.ConnectTimeout">
<summary>
Gets or sets how long to wait for a connection before failing.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerExchangeClientOptions.ResponseTimeout">
<summary>
Gets or sets how long to wait for a peer exchange response before failing.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshPeerExchangeClientOptions.ConfigureClient">
<summary>
Gets or sets a callback used to customize each ephemeral exchange client.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshPeerExchangeClient">
<summary>
Fetches peer cards from CultMesh peers.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeClient.#ctor(GameCult.Mesh.CultMeshPeerExchangeClientOptions)">
<summary>
Creates a peer exchange client.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeClient.FetchAsync(System.String,GameCult.Networking.CultMeshPeerExchangeRequestMessage)">
<summary>
Fetches peer cards from one endpoint.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshPeerExchangeClient.DiscoverAsync(GameCult.Mesh.CultMeshPeerCatalog,System.Collections.Generic.IEnumerable{System.String},System.String,System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Int32})">
<summary>
Fetches peer cards from endpoints and upserts every response into a local peer catalog.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshSimulationFact">
<summary>
Committed simulation fact derived from witness consensus.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.FactId">
<summary>
Stable fact identifier.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.ShardId">
<summary>
Shard containing the simulation.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.ShardEpoch">
<summary>
Shard authority epoch observed by witnesses.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.Frame">
<summary>
Simulation frame or tick.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.SubjectId">
<summary>
Subject the fact is about.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.ClaimKind">
<summary>
Fact kind, such as hit, collision, or ownership.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.ClaimHash">
<summary>
Hash of the accepted claim.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.ClaimSummary">
<summary>
Optional readable or app-specific claim detail.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.WitnessCount">
<summary>
Number of distinct witnesses supporting the fact.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.SupportWeight">
<summary>
Supporting witness weight.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.TotalWeight">
<summary>
Total observed weight for the same subject/frame/kind.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.Confidence">
<summary>
Support divided by total observed weight.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshSimulationFact.CommittedAt">
<summary>
Commit timestamp.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshSimulationFact.CreateRecordKey(GameCult.Networking.CultNetSimulationConsensusCandidate)">
<summary>
Builds a deterministic record key for a simulation fact.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshSimulationFact.ComputeFactId(GameCult.Networking.CultNetSimulationConsensusCandidate)">
<summary>
Builds a stable fact id for a consensus candidate.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshSimulationFact.FromCandidate(GameCult.Networking.CultNetSimulationConsensusCandidate,System.String)">
<summary>
Creates a committed fact document from a quorum candidate.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshSimulationFactCommitter">
<summary>
Commits quorum simulation candidates into the CultMesh database.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshSimulationFactCommitter.#ctor(GameCult.Networking.CultNetDatabase)">
<summary>
Creates a simulation fact committer.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshSimulationFactCommitter.CommitAsync(GameCult.Networking.CultNetSimulationConsensusCandidate)">
<summary>
Commits a quorum candidate as a simulation fact document.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseAuthorityModel">
<summary>
Describes how a CultMesh Verse makes authority decisions.
</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshVerseAuthorityModel.OperatorCluster">
<summary>
A known operator cluster is authoritative for committed world state.
</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshVerseAuthorityModel.FederatedCluster">
<summary>
Regional operators share authority for lower latency and availability.
</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshVerseAuthorityModel.PeerToPeer">
<summary>
Peers participate directly in authority decisions.
</summary>
</member>
<member name="F:GameCult.Mesh.CultMeshVerseAuthorityModel.SubscribedOverlay">
<summary>
The Verse follows another Verse and applies declared overlays.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseCompatibility">
<summary>
Declares transport and rules compatibility for a Verse.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCompatibility.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String})">
<summary>
Creates compatibility metadata.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCompatibility.TransportVersion">
<summary>
Gets the CultMesh/CultNet transport compatibility version.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCompatibility.RulesHash">
<summary>
Gets the stable rules hash.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCompatibility.CompatibleVerseIds">
<summary>
Gets Verse ids this Verse can transfer from or subscribe to.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCompatibility.RequiredPluginIds">
<summary>
Gets plugin ids required to enter this Verse.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCompatibility.OptionalPluginIds">
<summary>
Gets plugin ids supported but not required by this Verse.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseDescriptor">
<summary>
Describes one CultMesh Verse: a rule-bearing consensus graph.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDescriptor.#ctor(System.String,System.String,GameCult.Mesh.CultMeshVerseAuthorityModel,GameCult.Mesh.CultMeshVerseCompatibility,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.String,System.String)">
<summary>
Creates a Verse descriptor.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.VerseId">
<summary>
Gets the stable Verse id.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.DisplayName">
<summary>
Gets the human-facing Verse name.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.AuthorityModel">
<summary>
Gets the authority model used by this Verse.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.Compatibility">
<summary>
Gets compatibility metadata for transport, rules, and plugins.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.DiscoveryEndpoints">
<summary>
Gets discovery endpoints for nodes serving this Verse.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.AuthorityRuntimeIds">
<summary>
Gets known authoritative runtime ids, when authority is cluster-shaped.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.ParentVerseId">
<summary>
Gets the parent Verse id for subscribed overlays or branches.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDescriptor.Description">
<summary>
Gets optional public description.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDescriptor.CanTransferFrom(GameCult.Mesh.CultMeshVerseDescriptor)">
<summary>
Returns whether this Verse can accept transfer from another Verse.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDescriptor.ComputeRulesHash(System.String[])">
<summary>
Computes a stable rules hash from ordered rules/plugin parts.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseCatalog">
<summary>
Reactive local catalog for discovered CultMesh Verses.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseCatalog.Verses">
<summary>
Gets all known Verses.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.Watch">
<summary>
Watches Verse discovery updates.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.Upsert(GameCult.Mesh.CultMeshVerseDescriptor)">
<summary>
Adds or replaces a discovered Verse.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.Upsert(GameCult.Networking.CultMeshVerseCatalogResponseMessage)">
<summary>
Adds or replaces Verses from a wire catalog response.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.Get(System.String)">
<summary>
Gets a Verse by id, if known.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.FindTransferTargets(GameCult.Mesh.CultMeshVerseDescriptor)">
<summary>
Gets known Verses that can accept transfer from the supplied source Verse.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseCatalog.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMeshVerseMessages">
<summary>
Conversion helpers for CultMesh Verse wire messages.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseMessages.ToMessage(GameCult.Mesh.CultMeshVerseDescriptor)">
<summary>
Converts a local Verse descriptor to its schema-v0 wire shape.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseMessages.ToVerseDescriptor(GameCult.Networking.CultMeshVerseDescriptorMessage)">
<summary>
Converts a schema-v0 Verse descriptor to the local public API shape.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseDiscoveryServer">
<summary>
Answers CultMesh Verse discovery requests from a local Verse catalog.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryServer.#ctor(GameCult.Networking.Server,GameCult.Mesh.CultMeshVerseCatalog)">
<summary>
Creates and attaches a Verse discovery bridge.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryServer.CreateResponse(GameCult.Networking.CultMeshVerseCatalogRequestMessage)">
<summary>
Creates a Verse catalog response for a request.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryServer.Dispose">
<inheritdoc />
</member>
<member name="T:GameCult.Mesh.CultMeshVerseDiscoveryClientOptions">
<summary>
Options for schema-v0 CultMesh Verse discovery clients.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDiscoveryClientOptions.Security">
<summary>
Gets or sets client security options used to connect to discovery endpoints.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDiscoveryClientOptions.ConnectTimeout">
<summary>
Gets or sets how long to wait for a connection before failing.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDiscoveryClientOptions.ResponseTimeout">
<summary>
Gets or sets how long to wait for a discovery response before failing.
</summary>
</member>
<member name="P:GameCult.Mesh.CultMeshVerseDiscoveryClientOptions.ConfigureClient">
<summary>
Gets or sets a callback used to customize each ephemeral discovery client.
</summary>
</member>
<member name="T:GameCult.Mesh.CultMeshVerseDiscoveryClient">
<summary>
Fetches CultMesh Verse catalogs from discovery endpoints.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryClient.#ctor(GameCult.Mesh.CultMeshVerseDiscoveryClientOptions)">
<summary>
Creates a Verse discovery client.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryClient.FetchAsync(System.String,GameCult.Networking.CultMeshVerseCatalogRequestMessage)">
<summary>
Fetches a Verse catalog response from one discovery endpoint.
</summary>
</member>
<member name="M:GameCult.Mesh.CultMeshVerseDiscoveryClient.DiscoverAsync(GameCult.Mesh.CultMeshVerseCatalog,System.Collections.Generic.IEnumerable{System.String},System.String)">
<summary>
Fetches Verse catalogs from endpoints and upserts every response into a local catalog.
</summary>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
Aetheria.State.Verify/bin/Debug/net10.0/R3.dll (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -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"
}
}
}
}
}

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Meta\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Meta\.nuget\packages\" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View file

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]

View file

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
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.

View file

@ -0,0 +1 @@
16c3b2cc1cd5c6839015577c94ae9c2874569af60f8beeba2d3b98f54dc21768

View file

@ -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 =

View file

@ -0,0 +1,8 @@
// <auto-generated/>
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;

View file

@ -0,0 +1 @@
3356993740e3b2256618fa101f15a7a4933f27c47ade402ff2442cba12b88e2c

View file

@ -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

Binary file not shown.

View file

@ -0,0 +1 @@
d66ddbf09334068e938f9d192fe2c8a993210af469a04b842880d24222e49a49

View file

@ -0,0 +1 @@
{"documents":{"E:\\Projects\\Aetheria\\*":"https://raw.githubusercontent.com/GameCult/Aetheria/dad8d799fcaec5d616486f3656f6240ad6634a27/*"}}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -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"
]
}
]
}

View file

@ -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"
]
}
]
}

View file

@ -76,6 +76,11 @@ public sealed class AetheriaStateNode : IAsyncDisposable, IDisposable
return Database.PutAsync(new CultRecordKey("global:aetheria.migration_ledger.v1"), ledger);
}
public Task<AetheriaMigrationLedger?> GetMigrationLedgerAsync()
{
return Database.GetAsync<AetheriaMigrationLedger>(new CultRecordKey("global:aetheria.migration_ledger.v1"));
}
public Task<CultRecordHandle<AetheriaLegacyCatalogQuarantine>> PutLegacyCatalogQuarantineAsync(
AetheriaLegacyCatalogQuarantine quarantine)
{

View file

@ -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

View file

@ -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.

View file

@ -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