From 57aaec27ea457d4413b3a0e0dd91ab3ff97cb761 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 13 Jun 2026 20:27:32 +0100 Subject: [PATCH] Delete dead runtime catalog link inspector --- Aetheria.State/README.md | 3 +++ Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs | 2 +- Assets/Scripts/ServerShared/Behaviors/Weapon.cs | 2 +- Assets/Scripts/ServerShared/Corporations.cs | 8 +------- Assets/Scripts/ServerShared/ItemData.cs | 4 ++-- .../ServerShared/RuntimeProjection/Attributes.cs | 10 ---------- docs/aetheria-perfect-machine-map.md | 4 ++++ 7 files changed, 12 insertions(+), 21 deletions(-) diff --git a/Aetheria.State/README.md b/Aetheria.State/README.md index 370e9bcd0..16638a71a 100644 --- a/Aetheria.State/README.md +++ b/Aetheria.State/README.md @@ -65,6 +65,9 @@ The old generic `RuntimeCatalogLink` abstraction has been deleted; item data projection is routed through `ItemManager` and the typed runtime catalog reader. Surviving Unity DTOs inherit `RuntimeProjectionEntry`; the old `RuntimeCatalogEntry` base name no longer appears in live source. +The dead `InspectableRuntimeCatalogLinkAttribute` inspector metadata is gone; +typed runtime projection still uses `RuntimeCatalogKeyAttribute` only where the +temporary mapper needs a deterministic field order. `Aetheria.State.Import` captures the legacy catalog files into typed quarantine state: path, size, and SHA-256 fingerprint for `AetherDB.msgpack` plus diff --git a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs index 3fd3de6bf..70424026d 100644 --- a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs +++ b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs @@ -7,7 +7,7 @@ using System.Linq; [Inspectable, Order(-5), RuntimeInspectable] public class ItemUsageData : BehaviorData { - [InspectableRuntimeCatalogLink(typeof(SimpleCommodityData)), RuntimeCatalogKey(1), RuntimeInspectable] + [RuntimeCatalogKey(1), RuntimeInspectable] public Guid Item; public override Behavior CreateInstance(EquippedItem item) diff --git a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs index 7c0c123e0..f128584d6 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs @@ -44,7 +44,7 @@ public abstract class WeaponData : BehaviorData [InspectablePrefab, RuntimeCatalogKey(11), RuntimeInspectable] public PerformanceStat Visibility = new PerformanceStat(); - [InspectableRuntimeCatalogLink(typeof(SimpleCommodityData)), RuntimeCatalogKey(12), RuntimeInspectable] + [RuntimeCatalogKey(12), RuntimeInspectable] public Guid AmmoType; [InspectablePrefab, RuntimeCatalogKey(13)] diff --git a/Assets/Scripts/ServerShared/Corporations.cs b/Assets/Scripts/ServerShared/Corporations.cs index 3b6c11204..1f691d979 100644 --- a/Assets/Scripts/ServerShared/Corporations.cs +++ b/Assets/Scripts/ServerShared/Corporations.cs @@ -21,8 +21,6 @@ public class Faction : RuntimeProjectionEntry, INamedEntry [InspectableTexture] public string Logo; - - [InspectableRuntimeCatalogLink(typeof(PersonalityAttribute))] public Dictionary Personality = new Dictionary(); // [Inspectable] @@ -33,17 +31,13 @@ public class Faction : RuntimeProjectionEntry, INamedEntry [InspectableColor] public float3 SecondaryColor; - - [InspectableRuntimeCatalogLink(typeof(NameFile))] public Guid GeonameFile; - - [InspectableRuntimeCatalogLink(typeof(HullData))] public Guid BossHull; [Inspectable] public int InfluenceDistance = 4; - [InspectableRuntimeCatalogLink(typeof(Faction)), RangedFloat(0, 1)] + [RangedFloat(0, 1)] public Dictionary Allegiance = new Dictionary(); [InspectableSoundBank] diff --git a/Assets/Scripts/ServerShared/ItemData.cs b/Assets/Scripts/ServerShared/ItemData.cs index deef53cd4..b6491d8e0 100644 --- a/Assets/Scripts/ServerShared/ItemData.cs +++ b/Assets/Scripts/ServerShared/ItemData.cs @@ -268,7 +268,7 @@ public abstract class ItemData : RuntimeProjectionEntry, INamedEntry [InspectableText, RuntimeCatalogKey(2)] public string Description; - [InspectableRuntimeCatalogLink(typeof(Faction)), RuntimeCatalogKey(3)] + [RuntimeCatalogKey(3)] public Guid Manufacturer; [Inspectable, RuntimeCatalogKey(4)] @@ -326,7 +326,7 @@ public abstract class CraftedItemData : ItemData [Inspectable] public class CompoundCommodityData : CraftedItemData { - [InspectableRuntimeCatalogLink(typeof(PersonalityAttribute)), RuntimeCatalogKey(10)] + [RuntimeCatalogKey(10)] public Dictionary DemandProfile = new Dictionary(); [Inspectable, RuntimeCatalogKey(11)] diff --git a/Assets/Scripts/ServerShared/RuntimeProjection/Attributes.cs b/Assets/Scripts/ServerShared/RuntimeProjection/Attributes.cs index 43ccf930e..772d74ac3 100644 --- a/Assets/Scripts/ServerShared/RuntimeProjection/Attributes.cs +++ b/Assets/Scripts/ServerShared/RuntimeProjection/Attributes.cs @@ -33,16 +33,6 @@ public class InspectableEnumValuesAttribute : PreferredInspectorAttribute } } -public class InspectableRuntimeCatalogLinkAttribute : PreferredInspectorAttribute -{ - public readonly Type EntryType; - - public InspectableRuntimeCatalogLinkAttribute(Type entryType) - { - EntryType = entryType; - } -} - public class InspectableRangedFloatAttribute : PreferredInspectorAttribute { public readonly float Min, Max; diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index f9fcb5aad..4b5821d44 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -546,6 +546,8 @@ First Aetheria surfaces to publish: `ServerShared/RuntimeProjection`. - Done: rename the surviving runtime DTO identity base from `RuntimeCatalogEntry` to `RuntimeProjectionEntry`. + - Done: delete unused `InspectableRuntimeCatalogLinkAttribute` metadata from + runtime DTOs; link inspection no longer masquerades as catalog authority. - Done: replace behavior union reflection with an explicit runtime catalog behavior map and remove all live `Union(...)` annotations. - Done: demote agent task runtime shapes from MessagePack object/key/union @@ -709,6 +711,8 @@ First Aetheria surfaces to publish: item instances use `RuntimeItemReference` and expose `Data.ItemId`. - Live Unity source has no `RuntimeCatalogEntry`; surviving DTOs inherit `RuntimeProjectionEntry`. +- Live Unity source has no `InspectableRuntimeCatalogLinkAttribute`; + `RuntimeCatalogKeyAttribute` remains only as the temporary mapper key. - Unity batchmode compile also returned cleanly after disabling `MessagePack` auto-reference; `Assets/Scripts` and `Assets/Editor` have no `using MessagePack`, `MessagePackSerializer`, `[MessagePackObject]`, or