From dc8c3353cfdd9f134e1a4537da9adb3b10d02488 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 14 Jun 2026 01:54:28 +0100 Subject: [PATCH] Use typed shapes for inventory UI masks --- .voidbot/state/aetheria.cc | Bin 57989 -> 58549 bytes Assets/Scripts/UI/Menu/InventoryMenu.cs | 5 +---- Assets/Scripts/UI/Menu/InventoryPanel.cs | 2 +- docs/aetheria-perfect-machine-map.md | 9 ++++++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.voidbot/state/aetheria.cc b/.voidbot/state/aetheria.cc index f05bd04b56c725836e3bf9917858634123a8d11d..50262821ac127be9cf86c13d9aadb570072d1f75 100644 GIT binary patch delta 1146 zcmZWp%W4!s6g8O$8Nr2$L}P>sif)n)Ax<8WT^<@RAtXjLh)~mgr@Kf!+N$b|9T$U$ zAVe2ZJHdtcBpV-t8#m%23m1ZjXad2#OaH*C?wKL#VqmDgb?&+6oVs^53-3M^UO#W& zR~kH98u3O;rR4{0hs|dDda-dbJZRz{JtisWX3g+OR@2#Wy#3o+{dC9hQvGi5H8KlV z?$<8Q@KxYi$P_7{;AORumGPrrtB3V#2n6w(w_xC*C>Gi&+~8CV)~^%X+nH<}nBAie@yh#SD@QLj{aO6&7LN zhgf57`zcK*MP+dFD5QlQ!2>o;wCY0_Wjf{V^kssOmMJXJIP)aNI#OnC>_{yjDyBFc zXquBV5>-2eib(9e!I_IQET+WIE^oh`PIMx{PS!MALOCHcKvf}Eta&1_|Cv|?R3SQN zj}&1E&70@oj=zF>^h$FBa`YuaxfGxPU4&0M)?)@FMqCYrJ8_ie6F zM8b&LpGFewb`>nYYYehI?2XGf)T7If= zsCM=oGLQY8u8j&@jbHkd7k?yXy`lOcCff4}vy*g6_n{sV(pr0)O# delta 706 zcmY*X&ubGw7`07>Ml7f(B33$};B8IYtYmXlg!JISU$nV>+5M6onVnf@X4B+U6-2Nn z8BZQW@FzVfi)Tq8hk~}^#iaNbc=xQcFb#WAwvnwP_QlN9vq7+E&G!D%x)b8hVZ9k%n06pa%0&$EFcw5b(VnleTbg^Dn2f!`%LB^r0p*UDV?<~QzKTRrF> zAQutkpoMfkf}h2xMKPoPNPYO?ir|{^1W6>?l()vQFUiEh5&j=v`M^LbqQy9o6#*t% zBt#aYCDub)w`XK%H?~^VE<0hqCU($IMu*JQ*;pi}oA$ks)aC<;L?Q%TXUqO#DC7-n zs^{sw{_n%-$* shape.Rotate(cell, item.Rotation) + position) - .ToArray(); + return Array.Empty(); } private static AetheriaRuntimeCatalogItem FindTypedInventoryItem(ItemInstance item) diff --git a/Assets/Scripts/UI/Menu/InventoryPanel.cs b/Assets/Scripts/UI/Menu/InventoryPanel.cs index 577e12784..6971c3d8e 100644 --- a/Assets/Scripts/UI/Menu/InventoryPanel.cs +++ b/Assets/Scripts/UI/Menu/InventoryPanel.cs @@ -883,7 +883,7 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler if (typedItem != null && typedItem.ShapeCells.Count > 0) return ToShape(typedItem); - return GameManager.ItemManager.GetData(item).Shape; + return new Shape(1, 1); } private static Shape ToShape(AetheriaRuntimeCatalogItem item) diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index c4bee1d06..609ee303e 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -157,13 +157,16 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. base mass, and max durability for item presentation before hydrating legacy DTOs for behavior reflection and thermal curves that have not yet moved to typed behavior surfaces. Inventory selection highlighting now uses typed item - shape cells for UI tint geometry before falling back to legacy `ItemData.Shape`. + shape cells only for UI tint geometry; incomplete typed rows produce no + selected-cell mask instead of falling back to legacy `ItemData.Shape`. Inventory cargo cell tint now uses typed hardpoint facets only; incomplete typed rows receive the generic tint instead of falling back to legacy `EquippableItemData.HardpointType`. Inventory HUD durability tint uses typed max durability before falling back to legacy `ItemData.Durability`. - Inventory drag preview occupancy now projects typed item shape cells into the - local `Shape` grid before falling back to legacy `ItemData.Shape`. + Inventory drag preview occupancy now projects typed item shape cells only into + the local `Shape` grid; final fit and equip acceptance still belong to + `ItemFits`, `TryEquip`, and inventory mutation paths until those simulation + owners are rebuilt. - `Galaxy` generation no longer accepts a runtime item catalog reader or `ItemManager`. Sector and tutorial generation receive the package-owned typed runtime catalog. `Galaxy` projects typed corporation v2 records into temporary legacy