From 26948f81b6325d8bd951437997cd167fd92e6842 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:08:57 +0100 Subject: [PATCH 01/10] Migrate Aetheria geometry ownership --- .../Aetheria.State.Freeze.csproj | 2 +- Aetheria.State.Freeze/Program.cs | 118 ++++++++++++++---- Aetheria.State/Aetheria.State.csproj | 1 + Aetheria.Unity/Packages/manifest.json | 1 + .../AetheriaRuntimeDaemonRenderQueries.cs | 45 +++---- .../GameCult.Aetheria.State.Unity.asmdef | 1 + 6 files changed, 119 insertions(+), 49 deletions(-) diff --git a/Aetheria.State.Freeze/Aetheria.State.Freeze.csproj b/Aetheria.State.Freeze/Aetheria.State.Freeze.csproj index 1e5102696..77ae79ca2 100644 --- a/Aetheria.State.Freeze/Aetheria.State.Freeze.csproj +++ b/Aetheria.State.Freeze/Aetheria.State.Freeze.csproj @@ -9,7 +9,7 @@ - + diff --git a/Aetheria.State.Freeze/Program.cs b/Aetheria.State.Freeze/Program.cs index 249ea460d..be47c0585 100644 --- a/Aetheria.State.Freeze/Program.cs +++ b/Aetheria.State.Freeze/Program.cs @@ -2,11 +2,18 @@ using System.Diagnostics; using System.Text.Json; using System.Text.Json.Serialization; using Aetheria.State; -using GameCult.Geometry; +using CultMath; using GameCult.Aetheria.State.Verse; using MessagePack; +using MessagePack.Formatters; +using MessagePack.Resolvers; +MessagePackSerializer.DefaultOptions = MessagePackSerializerOptions.Standard.WithResolver( + CompositeResolver.Create( + new IMessagePackFormatter[] { new CultMathFloat2Formatter(), new CultMathFloat3Formatter() }, + new IFormatterResolver[] { StandardResolver.Instance })); var options = FreezeOptions.Parse(args); +VerifyCultMathVectorSerializationCompatibility(); Directory.CreateDirectory(options.OutputDirectory); Directory.CreateDirectory(Path.GetDirectoryName(options.StatePath) ?? "."); @@ -841,14 +848,27 @@ static YmirFixtureSphereCastHit[] ToFixtureSphereCastHits(IReadOnlyList +{ + public void Serialize(ref MessagePackWriter writer, float2 value, MessagePackSerializerOptions options) + { + writer.WriteArrayHeader(2); + writer.Write(value.x); + writer.Write(value.y); + } + + public float2 Deserialize(ref MessagePackReader reader, MessagePackSerializerOptions options) + { + var count = reader.ReadArrayHeader(); + if (count != 2) throw new MessagePackSerializationException($"Expected float2 array length 2, got {count}."); + return new float2(reader.ReadSingle(), reader.ReadSingle()); + } +} + +internal sealed class CultMathFloat3Formatter : IMessagePackFormatter +{ + public void Serialize(ref MessagePackWriter writer, float3 value, MessagePackSerializerOptions options) + { + writer.WriteArrayHeader(3); + writer.Write(value.x); + writer.Write(value.y); + writer.Write(value.z); + } + + public float3 Deserialize(ref MessagePackReader reader, MessagePackSerializerOptions options) + { + var count = reader.ReadArrayHeader(); + if (count != 3) throw new MessagePackSerializationException($"Expected float3 array length 3, got {count}."); + return new float3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); + } +} + [MessagePackObject] internal sealed class YmirQueryFixtureSet { @@ -1167,12 +1233,12 @@ internal sealed class YmirQueryFixturePayload [Key(0)] public float? DeltaTime { get; set; } [Key(1)] public float? Radius { get; set; } [Key(2)] public float? Distance { get; set; } - [Key(3)] public CultVec2? Center2 { get; set; } - [Key(4)] public CultVec3? Center3 { get; set; } - [Key(5)] public CultVec2? Origin2 { get; set; } - [Key(6)] public CultVec3? Origin3 { get; set; } - [Key(7)] public CultVec2? Direction2 { get; set; } - [Key(8)] public CultVec3? Direction3 { get; set; } + [Key(3)] public float2? Center2 { get; set; } + [Key(4)] public float3? Center3 { get; set; } + [Key(5)] public float2? Origin2 { get; set; } + [Key(6)] public float3? Origin3 { get; set; } + [Key(7)] public float2? Direction2 { get; set; } + [Key(8)] public float3? Direction3 { get; set; } [Key(9)] public YmirFixtureWorld? World { get; set; } [Key(10)] public YmirFixtureSphereBody[] SphereBodies { get; set; } = Array.Empty(); [Key(11)] public YmirFixtureCircleOverlapHit[] CircleOverlapHits { get; set; } = Array.Empty(); @@ -1194,9 +1260,9 @@ internal sealed class YmirFixtureWorld internal sealed class YmirFixtureBody { [Key(0)] public string Id { get; set; } = ""; - [Key(1)] public CultVec2 Position { get; set; } - [Key(2)] public CultVec2 Velocity { get; set; } - [Key(3)] public CultVec2 Direction { get; set; } + [Key(1)] public float2 Position { get; set; } + [Key(2)] public float2 Velocity { get; set; } + [Key(3)] public float2 Direction { get; set; } [Key(4)] public float AngularVelocity { get; set; } [Key(5)] public float Torque { get; set; } [Key(6)] public float MomentOfInertia { get; set; } @@ -1210,7 +1276,7 @@ internal sealed class YmirFixtureBody internal sealed class YmirFixtureSphereBody { [Key(0)] public string Id { get; set; } = ""; - [Key(1)] public CultVec3 Position { get; set; } + [Key(1)] public float3 Position { get; set; } [Key(2)] public float Radius { get; set; } } @@ -1218,7 +1284,7 @@ internal sealed class YmirFixtureSphereBody internal sealed class YmirFixtureField { [Key(0)] public string Id { get; set; } = ""; - [Key(1)] public CultVec2 Position { get; set; } + [Key(1)] public float2 Position { get; set; } [Key(2)] public float Strength { get; set; } [Key(3)] public float Radius { get; set; } } @@ -1228,8 +1294,8 @@ internal sealed class YmirFixtureContact { [Key(0)] public string BodyA { get; set; } = ""; [Key(1)] public string BodyB { get; set; } = ""; - [Key(2)] public CultVec2 Point { get; set; } - [Key(3)] public CultVec2 Normal { get; set; } + [Key(2)] public float2 Point { get; set; } + [Key(3)] public float2 Normal { get; set; } [Key(4)] public float Penetration { get; set; } [Key(5)] public float RelativeSpeed { get; set; } } @@ -1238,8 +1304,8 @@ internal sealed class YmirFixtureContact internal sealed class YmirFixtureCircleOverlapHit { [Key(0)] public string BodyId { get; set; } = ""; - [Key(1)] public CultVec2 Point { get; set; } - [Key(2)] public CultVec2 Normal { get; set; } + [Key(1)] public float2 Point { get; set; } + [Key(2)] public float2 Normal { get; set; } [Key(3)] public float Penetration { get; set; } [Key(4)] public float Distance { get; set; } } @@ -1248,8 +1314,8 @@ internal sealed class YmirFixtureCircleOverlapHit internal sealed class YmirFixtureSphereOverlapHit { [Key(0)] public string BodyId { get; set; } = ""; - [Key(1)] public CultVec3 Point { get; set; } - [Key(2)] public CultVec3 Normal { get; set; } + [Key(1)] public float3 Point { get; set; } + [Key(2)] public float3 Normal { get; set; } [Key(3)] public float Penetration { get; set; } [Key(4)] public float Distance { get; set; } } @@ -1258,8 +1324,8 @@ internal sealed class YmirFixtureSphereOverlapHit internal sealed class YmirFixtureCircleCastHit { [Key(0)] public string BodyId { get; set; } = ""; - [Key(1)] public CultVec2 Point { get; set; } - [Key(2)] public CultVec2 Normal { get; set; } + [Key(1)] public float2 Point { get; set; } + [Key(2)] public float2 Normal { get; set; } [Key(3)] public float Distance { get; set; } } @@ -1267,8 +1333,8 @@ internal sealed class YmirFixtureCircleCastHit internal sealed class YmirFixtureSphereCastHit { [Key(0)] public string BodyId { get; set; } = ""; - [Key(1)] public CultVec3 Point { get; set; } - [Key(2)] public CultVec3 Normal { get; set; } + [Key(1)] public float3 Point { get; set; } + [Key(2)] public float3 Normal { get; set; } [Key(3)] public float Distance { get; set; } } diff --git a/Aetheria.State/Aetheria.State.csproj b/Aetheria.State/Aetheria.State.csproj index c323cf1fb..4664b628e 100644 --- a/Aetheria.State/Aetheria.State.csproj +++ b/Aetheria.State/Aetheria.State.csproj @@ -19,6 +19,7 @@ + (); QueryGravityInfluences(zone, viewport, brushes); @@ -807,7 +808,7 @@ namespace GameCult.Aetheria.State.Verse public static int QueryGravityInfluences( AetheriaRuntimeZoneSnapshotCommit? zone, - rect viewport, + CultRect viewport, List brushes) { if (brushes == null) throw new ArgumentNullException(nameof(brushes)); @@ -906,7 +907,7 @@ namespace GameCult.Aetheria.State.Verse public static AetheriaRuntimeDaemonBodyView[] QueryBodyViews( AetheriaRuntimeZoneSnapshotCommit? zone, - rect viewport) + CultRect viewport) { var views = new List(); QueryBodyViews(zone, viewport, views); @@ -930,15 +931,15 @@ namespace GameCult.Aetheria.State.Verse public static int QueryBodyViews( AetheriaRuntimeZoneSnapshotCommit? zone, - rect viewport, + CultRect viewport, List views) { - return QueryBodyViews(zone, (rect?)viewport, views); + return QueryBodyViews(zone, (CultRect?)viewport, views); } private static int QueryBodyViews( AetheriaRuntimeZoneSnapshotCommit? zone, - rect? viewport, + CultRect? viewport, List views) { if (views == null) throw new ArgumentNullException(nameof(views)); @@ -1196,7 +1197,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport) + CultRect viewport) { var currentEntityIndex = TryParseEntityIndex(run?.CurrentEntityKey); return QueryPresentationEntityIndices( @@ -1223,7 +1224,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport, + CultRect viewport, List entityIndices) { var currentEntityIndex = TryParseEntityIndex(run?.CurrentEntityKey); @@ -1251,7 +1252,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport) + CultRect viewport) { var entityIndices = new List(); var currentEntityIndex = TryParseEntityIndex(currentEntityKey); @@ -1270,7 +1271,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport) + CultRect viewport) { var entityIndices = new List(); QueryPresentationEntityIndices( @@ -1299,7 +1300,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport, + CultRect viewport, List entityIndices) { var currentEntityIndex = TryParseEntityIndex(currentEntityKey); @@ -1317,7 +1318,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, int observerEntityIndex, double minimumInfoGathered, - rect viewport, + CultRect viewport, List entityIndices) { if (entityIndices == null) throw new ArgumentNullException(nameof(entityIndices)); @@ -1368,7 +1369,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, IReadOnlyList? controlledEntityIndices, double minimumInfoGathered, - rect viewport) + CultRect viewport) { var entityIndices = new List(); QueryObjectsViewportEntityIndices(zone, controlledEntityIndices, minimumInfoGathered, viewport, entityIndices); @@ -1379,7 +1380,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, IReadOnlyList? controlledEntityIndices, double minimumInfoGathered, - rect viewport, + CultRect viewport, List entityIndices) { if (entityIndices == null) throw new ArgumentNullException(nameof(entityIndices)); @@ -1454,7 +1455,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, IReadOnlyList? controlledEntityIndices, double minimumInfoGathered, - rect viewport) + CultRect viewport) { var entities = new List(); QueryObjectsViewport(zone, controlledEntityIndices, minimumInfoGathered, viewport, entities); @@ -1465,7 +1466,7 @@ namespace GameCult.Aetheria.State.Verse AetheriaRuntimeZoneSnapshotCommit? zone, IReadOnlyList? controlledEntityIndices, double minimumInfoGathered, - rect viewport, + CultRect viewport, List entities) { if (entities == null) throw new ArgumentNullException(nameof(entities)); @@ -1761,7 +1762,7 @@ namespace GameCult.Aetheria.State.Verse foreach (var brush in QueryGravityInfluences( zone, - new rect((float)positionX, (float)positionZ, (float)positionX, (float)positionZ))) + new CultRect((float)positionX, (float)positionZ, (float)positionX, (float)positionZ))) { var dx = positionX - brush.CenterX; var dz = positionZ - brush.CenterZ; @@ -1896,7 +1897,7 @@ namespace GameCult.Aetheria.State.Verse return source; } - private static bool IntersectsCircle(rect viewport, double centerX, double centerY, double radius) + private static bool IntersectsCircle(CultRect viewport, double centerX, double centerY, double radius) { if (radius <= 0) return false; @@ -1918,12 +1919,12 @@ namespace GameCult.Aetheria.State.Verse return ContainsPoint(rect.ToAetheriaXyRect(), x, z); } - private static bool ContainsPoint(rect viewport, double x, double y) + private static bool ContainsPoint(CultRect viewport, double x, double y) { return viewport.Contains(new float2((float)x, (float)y)); } - private static rect ToRuntimeRect(AetheriaRuntimeXzRect unityViewport) + private static CultRect ToRuntimeRect(AetheriaRuntimeXzRect unityViewport) { return unityViewport.ToAetheriaXyRect(); } diff --git a/Packages/org.gamecult.aetheria.state/Runtime/GameCult.Aetheria.State.Unity.asmdef b/Packages/org.gamecult.aetheria.state/Runtime/GameCult.Aetheria.State.Unity.asmdef index 5b9752053..4433f1de6 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/GameCult.Aetheria.State.Unity.asmdef +++ b/Packages/org.gamecult.aetheria.state/Runtime/GameCult.Aetheria.State.Unity.asmdef @@ -5,6 +5,7 @@ "GameCult.Eve.Surface", "GameCult.Eve.PluginFields", "GameCult.Mesh", + "GameCult.Geometry", "CultMath", "MessagePack" ], From 557bc71f7a4bc7b6dba48836ee8b3c5156b08862 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:14:03 +0100 Subject: [PATCH 02/10] Remove stale geometry ownership guidance --- Aetheria.State/docs/cultmesh-cross-runtime-primitives.md | 6 +++--- Aetheria.State/docs/rust-rebuild-freeze-checklist.md | 2 +- Assets/Scripts/Tests/CultMathPrimitiveTests.cs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Aetheria.State/docs/cultmesh-cross-runtime-primitives.md b/Aetheria.State/docs/cultmesh-cross-runtime-primitives.md index 30a2017d4..bb5313b82 100644 --- a/Aetheria.State/docs/cultmesh-cross-runtime-primitives.md +++ b/Aetheria.State/docs/cultmesh-cross-runtime-primitives.md @@ -73,7 +73,7 @@ First implementation footholds now exist in CultLib: - `E:/Projects/CultLib/src/GameCult.Mesh/CultMeshPrimitives.cs` defines typed operation handles, query surfaces, state pointers, route hints, authority claims, and native slice descriptors. - `E:/Projects/CultLib/src/GameCult.Mesh/CultMeshPrimitives.cs` also exposes fluent operation/query context builders, with `CultMesh.OperationContextFor(...)` and `CultMesh.QueryContextFor(...)` entrypoints. Application code should read like a typed Verse call, not like manual transport setup. -- `E:/Projects/CultLib/src/GameCult.Geometry/CultGeometryPrimitives.cs` defines shared `CultVec2`, `CultVec3`, `CultRect`, `CultCircle`, and `CultSphere` values for query and physics contracts. +- `E:/Projects/CultMath/src/CultMath/float2.cs` and `float3.cs` define the shared HLSL-shaped vector primitives. `E:/Projects/CultLib/src/GameCult.Geometry/CultGeometryPrimitives.cs` builds `CultRect`, `CultCircle`, and `CultSphere` spatial values from those vectors. - `E:/Projects/CultLib/packages/cultmesh-ts/src/index.ts` now exposes TS `CultMeshVec2`, `CultMeshRect`, `CultMeshViewportRequest`, `CultMeshQuerySurface`, `CultMeshQueryContext`, `CultMeshOperationHandle`, `CultMeshOperationContext`, `CultMeshOperationPayload`, `CultMeshDocumentHandle`, `CultMeshDocumentCatalog`, `CultMeshCollectionHandle`, `CultMeshStatePointer`, `CultMeshStateBindingDescriptor`, `CultMeshOperationBindingDescriptor`, `CultMeshOperationInvocationDescriptor`, native slice descriptors, authority claims, route hints, fluent context builders, and handle helpers like `CultMesh.rectFromBounds(...)`, `CultMesh.viewportRequest(...)`, `CultMesh.query(...)`, `CultMesh.querySource(...)`, `CultMesh.operation(...)`, `CultMesh.document(...)`, `CultMesh.documents(...)`, `CultMesh.collection(...)`, `CultMesh.operationPayload(...)`, `CultMesh.statePointer(...)`, `CultMesh.stateBinding(...)`, `CultMesh.operationBinding(...)`, `CultMesh.operationInvocation(...)`, `CultMesh.nativeSliceView(...)`, `CultMesh.operationContextFor(...)`, and `CultMesh.queryContextFor(...)`. - `Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimePlayerSettingsSurfaceBuilder.cs` builds Aetheria runtime surface source data, then lowers it to the canonical `GameCult.Eve.Surface.EveSurfaceDocument` published through CultMesh. CultMesh owns state and operation binding descriptors; Eve owns the surface document and CultUI composition model. Mesh no longer defines a parallel Eve surface DTO. - `E:/Projects/Eve/packages/org.gamecult.eve.surface/Runtime/EveSurfaceDocument.cs` also exposes component `EmbeddedDocuments` as first-class CultUI slots. Aetheria runtime surfaces mirror that shape with `AetheriaRuntimeEmbeddedDocumentSlot`, so daemon-owned UI can compose nested synced surfaces such as inventory dropdowns without a Unity-only model, facade, or projector. @@ -81,7 +81,7 @@ First implementation footholds now exist in CultLib: - `Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonOperationsClient.cs` is now a typed operation handle surface that returns `CultMeshOperationReceipt` from semantic verbs such as `SetMoveVector`, `SetTarget`, `DockNearest`, and inventory transfers. The lower-level daemon command envelope remains an internal transport wrapper, but public client code should receive shared CultMesh receipts, not Aetheria-specific command envelopes. - `Packages/org.gamecult.aetheria.state/Runtime/AetheriaUi.cs` applies the same rule to Eve/CultUI commands. Unity UI and Eve presenter code should call `AetheriaClient.Ui` and receive `CultMeshOperationReceipt`; `AetheriaRuntimeEveCommandEnvelope` remains a bridge/document persistence detail for the Verse command boundary, not the shape application code leans on. - `AetheriaRuntimeEveCommands` is internal now. It may help smoke tests and internal bridge code manufacture persisted command documents, but it is not the public renderer/client API. Public callers use `AetheriaClient.Ui`, and the shared receipt is the public outcome type. -- `Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs` now exposes daemon render gravity/body query overloads around `CultMath.rect` in Aetheria XY space. `AetheriaRuntimeXzRect` remains only as a Unity legacy adapter. +- `Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs` exposes daemon render gravity/body query overloads around `GameCult.Geometry.CultRect` in Aetheria XY space. `AetheriaRuntimeXzRect` remains the Unity-facing compatibility adapter. - `E:/Projects/CultLib/src/GameCult.Caching.MessagePack/DirectoryMessagePackBackingStore.cs` now recovers readable schema-stamped cold records when the hot directory manifest is missing the record's catalog entry. Aetheria hit this with persisted Verse authority policy state; the fix belongs in CultCache because durable Verse state should feel managed and resilient across runtime/schema refreshes, not like hand-maintained manifest bookkeeping. - `E:/Projects/CultLib/packages/cultcache-ts/src/single-file-messagepack-backing-store.ts` and `E:/Projects/CultLib/packages/cultcache-rs/src/lib.rs` now mirror the same schema-stamped recovery for single-file MessagePack snapshots. Their cache registries resolve recovered schema names and normalize envelopes back to registered public document types, so browser/Electron/Rust clients can share durable Verse state without depending on a stale hot catalog. - `E:/Projects/CultLib/packages/cultcache-py/src/cultcache_py/stores.py`, `E:/Projects/CultLib/packages/cultcache-py/src/cultnet_py/replication.py`, and `E:/Projects/CultLib/packages/cultcache-ts/src/cult-cache-inspector.ts` now carry the same primitive into Python stores, raw CultNet replication helpers, and tooling inspection. A stale schema id should be a recoverable runtime detail when the cold payload is schema-stamped, not a client-visible failure mode. @@ -283,7 +283,7 @@ const rect = CultMesh.rect(CultMesh.vec2(x0, y0), CultMesh.vec2(x1, y1)); await zone.gravity().influences().intersecting(rect); ``` -CultMath/CultMesh should provide deterministic cross-runtime primitives for vectors, rects, circles, spheres, transforms, scalar tolerances, and spatial query inputs. In CultLib C# this starts as `CultVec2`, `CultVec3`, `CultRect`, `CultCircle`, and `CultSphere` under `GameCult.Geometry`; in TS this starts as `CultMeshVec2`, `CultMeshRect`, and `CultMeshViewportRequest` in `cultmesh-ts`. SoA does not require splitting a vector into unrelated conceptual values; the layout can still be cache-efficient while the API treats position, velocity, and acceleration as meaningful vector values. +CultMath and GameCult.Geometry provide deterministic cross-runtime primitives for vectors, rects, circles, spheres, transforms, scalar tolerances, and spatial query inputs. In C#, `CultMath.float2` and `CultMath.float3` own vector semantics while `GameCult.Geometry.CultRect`, `CultCircle`, and `CultSphere` own spatial geometry; in TS this starts as `CultMeshVec2`, `CultMeshRect`, and `CultMeshViewportRequest` in `cultmesh-ts`. SoA does not require splitting a vector into unrelated conceptual values; the layout can still be cache-efficient while the API treats position, velocity, and acceleration as meaningful vector values. ### Locality-Aware Routing diff --git a/Aetheria.State/docs/rust-rebuild-freeze-checklist.md b/Aetheria.State/docs/rust-rebuild-freeze-checklist.md index 4323467ff..42493056f 100644 --- a/Aetheria.State/docs/rust-rebuild-freeze-checklist.md +++ b/Aetheria.State/docs/rust-rebuild-freeze-checklist.md @@ -32,7 +32,7 @@ The C# daemon and clients are measured when these fixtures can be generated from | `selected-object` | Entity selection, status, target, faction, inventory identity. | Rust selected-object query supports current UI expectations through cleaner typed state. | | `inventory` | Equipment and cargo rows, source identity, item stats, quantity, quality, durability. | Rust inventory projection can drive Unity and RTS panels. | | `soa-view` | Current-zone render columns, column kinds, vector columns, dirty ranges, native view descriptor. | Rust view publication can feed Unity and native clients. | -| `ymir-queries` | Step integration, radial field acceleration, contact separation, overlap circle, cast circle, overlap sphere, cast sphere, and invalid-input cases. Initial exporter emits typed request/result probes with explicit vector, world, body, field, hit, and contact records in JSON plus MessagePack. Vector fields now use shared CultLib `GameCult.Geometry` primitives (`CultVec2`/`CultVec3`) instead of fixture-local DTOs. | Rust Ymir preserves useful physical semantics while replacing C# endpoint shape with Rust/CultMath primitives. | +| `ymir-queries` | Step integration, radial field acceleration, contact separation, overlap circle, cast circle, overlap sphere, cast sphere, and invalid-input cases. The exporter emits typed request/result probes with explicit vector, world, body, field, hit, and contact records in JSON plus MessagePack. Vector fields use `CultMath.float2` and `CultMath.float3`; a fail-fast legacy witness proves their MessagePack arrays remain byte-identical to the former fixture vectors. | Rust Ymir preserves useful physical semantics while replacing C# endpoint shape with Rust/CultMath primitives. | ## Rust Rebuild Acceptance Gates diff --git a/Assets/Scripts/Tests/CultMathPrimitiveTests.cs b/Assets/Scripts/Tests/CultMathPrimitiveTests.cs index 53d6065b2..c7a0eff46 100644 --- a/Assets/Scripts/Tests/CultMathPrimitiveTests.cs +++ b/Assets/Scripts/Tests/CultMathPrimitiveTests.cs @@ -24,7 +24,7 @@ public sealed class CultMathPrimitiveTests } [Test] - public void ItemRotationDirectionsAreCultVectors() + public void ItemRotationDirectionsAreCultMathVectors() { Assert.AreEqual(float2(0, 1), ItemRotation.None.Direction()); Assert.AreEqual(float2(1, 0), ItemRotation.Clockwise.Direction()); @@ -51,7 +51,7 @@ public sealed class CultMathPrimitiveTests } [Test] - public void ColorMathUsesCultVectorsAndSharedUnityBridge() + public void ColorMathUsesCultMathVectorsAndSharedUnityBridge() { var rgb = ColorMath.HsvToRgb(float3(0, 1, 1)); From e04b613cc583f59de14d257adbbd8153a3c24643 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:23:48 +0100 Subject: [PATCH 03/10] Fix CultRect render query access --- Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs | 9 +++++---- .../Runtime/AetheriaRuntimeDaemonRenderQueries.cs | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs index 2e12a689d..554cb4075 100644 --- a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs +++ b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs @@ -2,6 +2,7 @@ using CultMath; using GameCult.Aetheria.EveRuntime; using GameCult.Aetheria.State.Verse; using GameCult.Eve.UnityScene; +using GameCult.Geometry; using GameCult.Mesh; using NUnit.Framework; using System; @@ -1409,7 +1410,7 @@ public class DaemonRuntimeDocumentTests var brushes = new List(); var count = AetheriaRuntimeDaemonRenderQueries.QueryGravityInfluences( zone, - new rect(-10, -10, 10, 10), + new CultRect(-10, -10, 10, 10), brushes); Assert.AreEqual(1, count); @@ -1793,7 +1794,7 @@ public class DaemonRuntimeDocumentTests count = AetheriaRuntimeDaemonRenderQueries.QueryBodyViews( zone, - new rect(0, -20, 30, 10), + new CultRect(0, -20, 30, 10), views); Assert.AreEqual(1, count); @@ -2156,7 +2157,7 @@ public class DaemonRuntimeDocumentTests zone, new[] { 1, 2 }, 0.5, - new rect(-10, -10, 40, 20), + new CultRect(-10, -10, 40, 20), visible); Assert.AreEqual(5, count); @@ -2166,7 +2167,7 @@ public class DaemonRuntimeDocumentTests zone, new[] { 1, 2 }, 0.5, - new rect(-10, -10, 40, 20)); + new CultRect(-10, -10, 40, 20)); Assert.AreEqual(5, objects.Length); Assert.AreEqual(1, objects[0].EntityIndex); diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs index 222782797..815c1d9c5 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonRenderQueries.cs @@ -1902,8 +1902,8 @@ namespace GameCult.Aetheria.State.Verse if (radius <= 0) return false; - var nearestX = Clamp(centerX, viewport.min.x, viewport.max.x); - var nearestZ = Clamp(centerY, viewport.min.y, viewport.max.y); + var nearestX = Clamp(centerX, viewport.Min.x, viewport.Max.x); + var nearestZ = Clamp(centerY, viewport.Min.y, viewport.Max.y); var dx = centerX - nearestX; var dz = centerY - nearestZ; return dx * dx + dz * dz <= radius * radius; From 20cd4e8c80fede9046ba57e9067828490917b63a Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:26:22 +0100 Subject: [PATCH 04/10] Pin CultMath local Unity candidate --- Aetheria.Unity/Packages/manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index feb35df9d..7517cfaac 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -8,6 +8,7 @@ "com.unity.modules.physics": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.render-pipelines.universal": "17.4.0", + "org.gamecult.cultmath": "file:../../CultMath", "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.43", "org.gamecult.geometry": "file:../../CultLib/unity/org.gamecult.geometry", "org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3", From 7e4feed75bb54ca56e7c5abe99794c6a133509d5 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:35:57 +0100 Subject: [PATCH 05/10] Fix sibling Unity package paths --- Aetheria.Unity/Packages/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index 7517cfaac..e63c7c37a 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -8,9 +8,9 @@ "com.unity.modules.physics": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.render-pipelines.universal": "17.4.0", - "org.gamecult.cultmath": "file:../../CultMath", + "org.gamecult.cultmath": "file:../../../CultMath", "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.43", - "org.gamecult.geometry": "file:../../CultLib/unity/org.gamecult.geometry", + "org.gamecult.geometry": "file:../../../CultLib/unity/org.gamecult.geometry", "org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3", "org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.4", "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.103", From 6e561d336fea68fe442979c3af1a73ac65208696 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:52:55 +0100 Subject: [PATCH 06/10] Use precompiled CultMath Unity package --- Aetheria.Unity/Packages/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index e63c7c37a..09200edbc 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -8,7 +8,7 @@ "com.unity.modules.physics": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.render-pipelines.universal": "17.4.0", - "org.gamecult.cultmath": "file:../../../CultMath", + "org.gamecult.cultmath": "file:../../../CultMath/unity/org.gamecult.cultmath", "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.43", "org.gamecult.geometry": "file:../../../CultLib/unity/org.gamecult.geometry", "org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3", From 251efa176ca4edf323f3f6d7ebfe969c16afe9e8 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 05:17:49 +0100 Subject: [PATCH 07/10] Enable Geometry Unity package tests --- Aetheria.Unity/Packages/manifest.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index 09200edbc..9cf960709 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -15,5 +15,8 @@ "org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.4", "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.103", "org.gamecult.eve.unity-uitoolkit": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.2" - } + }, + "testables": [ + "org.gamecult.geometry" + ] } From f361125a3a3e8809140725105ec27f72c5981f3d Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 05:21:10 +0100 Subject: [PATCH 08/10] Use coordinated CultLib Unity candidate --- Aetheria.Unity/Packages/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index 9cf960709..b62974b74 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -9,7 +9,7 @@ "com.unity.modules.uielements": "1.0.0", "com.unity.render-pipelines.universal": "17.4.0", "org.gamecult.cultmath": "file:../../../CultMath/unity/org.gamecult.cultmath", - "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.43", + "org.gamecult.cultlib": "file:../../../CultLib/unity/org.gamecult.cultlib", "org.gamecult.geometry": "file:../../../CultLib/unity/org.gamecult.geometry", "org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3", "org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.4", From 3ec6222f82e1359544d2f9c961fd1e988942c4ce Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 05:51:18 +0100 Subject: [PATCH 09/10] Pin released Geometry Unity stack --- Aetheria.Unity/Packages/manifest.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index b62974b74..e6fbb2eb7 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -8,12 +8,12 @@ "com.unity.modules.physics": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.render-pipelines.universal": "17.4.0", - "org.gamecult.cultmath": "file:../../../CultMath/unity/org.gamecult.cultmath", - "org.gamecult.cultlib": "file:../../../CultLib/unity/org.gamecult.cultlib", - "org.gamecult.geometry": "file:../../../CultLib/unity/org.gamecult.geometry", + "org.gamecult.cultmath": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath#cultmath-unity-v0.1.0", + "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.44", + "org.gamecult.geometry": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.geometry#gamecult-geometry-unity-v0.1.0", "org.gamecult.eve.plugin-fields": "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.2.3", "org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.4", - "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.103", + "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.104", "org.gamecult.eve.unity-uitoolkit": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.2" }, "testables": [ From 9c983a5ee2baedb204fafe80eb5ab4ea0d5e7d75 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 06:19:45 +0100 Subject: [PATCH 10/10] Remove stale generated CultMath project --- Aetheria.sln | 4 - CultMath.csproj | 535 --------------------------- GameCult.Aetheria.State.Unity.csproj | 4 - 3 files changed, 543 deletions(-) delete mode 100644 CultMath.csproj diff --git a/Aetheria.sln b/Aetheria.sln index 1ab5765db..5c19e9ccc 100644 --- a/Aetheria.sln +++ b/Aetheria.sln @@ -21,8 +21,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ink", "Ink.csproj", "{6bae5 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameCult.Brokkr.Editor", "GameCult.Brokkr.Editor.csproj", "{f041e9dc-dc28-1d6c-75a3-824162b4a1ae}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CultMath", "CultMath.csproj", "{6f7a47c4-21dc-64ef-0969-96b956a000f4}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameCult.Brokkr", "GameCult.Brokkr.csproj", "{fc28bcbe-9ef4-444f-c1c9-dde8a3a864ad}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests.csproj", "{28568750-512b-4d45-69bf-887882a23da7}" @@ -58,8 +56,6 @@ Global {6bae5155-742f-1170-f8b5-ff696c59aad8}.Debug|Any CPU.Build.0 = Debug|Any CPU {f041e9dc-dc28-1d6c-75a3-824162b4a1ae}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {f041e9dc-dc28-1d6c-75a3-824162b4a1ae}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6f7a47c4-21dc-64ef-0969-96b956a000f4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6f7a47c4-21dc-64ef-0969-96b956a000f4}.Debug|Any CPU.Build.0 = Debug|Any CPU {fc28bcbe-9ef4-444f-c1c9-dde8a3a864ad}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {fc28bcbe-9ef4-444f-c1c9-dde8a3a864ad}.Debug|Any CPU.Build.0 = Debug|Any CPU {28568750-512b-4d45-69bf-887882a23da7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/CultMath.csproj b/CultMath.csproj deleted file mode 100644 index 85e6a7582..000000000 --- a/CultMath.csproj +++ /dev/null @@ -1,535 +0,0 @@ - - - - latest - <_TargetFrameworkDirectories>non_empty_path_generated_by_unity.rider.package - <_FullFrameworkReferenceAssemblyPaths>non_empty_path_generated_by_unity.rider.package - true - false - - - Debug - AnyCPU - 10.0.20506 - 2.0 - CultMath - {6f7a47c4-21dc-64ef-0969-96b956a000f4} - {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - CultMath - v4.7.1 - 512 - . - - - true - full - false - Temp\Bin\Debug\CultMath\ - UNITY_6000_4_2;UNITY_6000_4;UNITY_6000;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;UNITY_2023_1_OR_NEWER;UNITY_2023_2_OR_NEWER;UNITY_2023_3_OR_NEWER;UNITY_6000_0_OR_NEWER;UNITY_6000_1_OR_NEWER;UNITY_6000_2_OR_NEWER;UNITY_6000_3_OR_NEWER;UNITY_6000_4_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_AUDIO_SCRIPTABLE_PIPELINE;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_UNITY_CONSENT;ENABLE_UNITY_CLOUD_IDENTIFIERS;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_NATIVE_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_MARSHALLING_TESTS;ENABLE_VIDEO;ENABLE_NAVIGATION_OFFMESHLINK_TO_NAVMESHLINK;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_ACCESSIBILITY_SCREEN_READER;TEXTCORE_1_0_OR_NEWER;EDITOR_ONLY_NAVMESH_BUILDER_DEPRECATED;PLATFORM_STANDALONE_WIN;PLATFORM_STANDALONE;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_AMD;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_CLOUD_SERVICES_ENGINE_DIAGNOSTICS;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_USES_EXPLICIT_MEMORY_MANAGER_INITIALIZER;PLATFORM_SUPPORTS_WAIT_FOR_PRESENTATION;PLATFORM_SUPPORTS_SPLIT_GRAPHICS_JOBS;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;ENABLE_PROFILER_ASSISTANT_INTEGRATION;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;TEXTCORE_TEXT_ENGINE_1_5_OR_NEWER;TEXTCORE_FONT_ENGINE_1_6_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER - prompt - 4 - 0169,0649 - True - False - - - true - true - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - E:\Projects\Aetheria\Library\PackageCache\com.unity.entities@637eb689ab47\Unity.Entities.CodeGen\Unity.Cecil.Awesome.dll - - - E:\Projects\Aetheria\Library\PackageCache\com.unity.collections@05d86f76b771\Unity.Collections.LowLevel.ILSupport\Unity.Collections.LowLevel.ILSupport.dll - - - E:\Projects\Aetheria\Library\PackageCache\com.unity.ext.nunit@d8c07649098d\net40\unity-custom\nunit.framework.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.Collections.Immutable.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.IO.Pipelines.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Microsoft.Bcl.TimeProvider.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\R3.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\GameCult.Networking.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Isopoh.Cryptography.Argon2.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Isopoh.Cryptography.SecureArray.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.Runtime.CompilerServices.Unsafe.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\ConcurrentCollections.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.Text.Encodings.Web.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Microsoft.NET.StringTools.dll - - - E:\Projects\Aetheria\Library\PackageCache\com.unity.collections@05d86f76b771\Unity.Collections.Tests\System.IO.Hashing\System.IO.Hashing.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\GameCult.Caching.dll - - - E:\Projects\Aetheria\Assets\Plugins\QuickGraph.dll - - - E:\Projects\Aetheria\Library\PackageCache\com.unity.nuget.mono-cecil@ecb9724e46ff\Mono.Cecil.dll - - - E:\Projects\Aetheria\Assets\Plugins\Remotion.Linq.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Microsoft.Bcl.AsyncInterfaces.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.Threading.Channels.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\GameCult.Logging.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\GameCult.Mesh.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\System.Text.Json.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\Isopoh.Cryptography.Blake2b.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\GameCult.Caching.MessagePack.dll - - - E:\Projects\Brokkr\surfaces\unity\Packages\com.gamecult.brokkr\Plugins\CultMesh\LiteNetLib.dll - - - E:\Projects\Aetheria\Assets\Plugins\Microsoft.Extensions.Logging.Abstractions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll - - - C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll - - - - - diff --git a/GameCult.Aetheria.State.Unity.csproj b/GameCult.Aetheria.State.Unity.csproj index 6ab4cf7e6..6d34f6845 100644 --- a/GameCult.Aetheria.State.Unity.csproj +++ b/GameCult.Aetheria.State.Unity.csproj @@ -575,10 +575,6 @@ {037dacf0-10f4-20ed-7963-3a1e1ac15b64} GameCult.Eve.Surface - - {6f7a47c4-21dc-64ef-0969-96b956a000f4} - CultMath -