From 30eda5c82edc1103588829f4d29139f3bc61ff8d Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Tue, 16 Jun 2026 00:40:04 +0100 Subject: [PATCH] Route inventory renames through checkpoints --- .voidbot/state/aetheria.cc | Bin 142118 -> 142144 bytes Aetheria.State.Verify/Program.cs | 33 +++++++++++++++++++ Assets/Scripts/Gameplay/ActionGameManager.cs | 9 +++++ Assets/Scripts/UI/Menu/InventoryPanel.cs | 2 +- docs/aetheria-perfect-machine-map.md | 7 +++- 5 files changed, 49 insertions(+), 2 deletions(-) diff --git a/.voidbot/state/aetheria.cc b/.voidbot/state/aetheria.cc index fc078b7cc12edd871eebbd30b2c89940ab34d7fb..5d18650cac3af76d058c06050a49392a537b0840 100644 GIT binary patch delta 1124 zcmaJ=O=uHA6lOM6Q-46QRkT8%UaXj=N&nKcB9z*e9I7=^6s?5m?j*Z*Gn4MjR&y%S zi{LSZJrxn5f?m8u@lboHHw7<+;!Ok(o;-Ngw?9dvh^O6s``$O-_q}g6cH-}L;;%Ne z_JPdkP&S$APkYBeJ5k%#9ydxu8NYO<=EhW`lu3nM@wRTQE4F%}t$v}6JiT@P#yC?Z zb1Vvua1}Ga;>(OH;Zy-1ma2loI4yfW=gHv8=Un6GEal7wF2EMN#2lbfS|u)_U|6zZ z(<(D2gX!c|T4rEa4%3xgO+wxW^9$4#B?&sUZ5Y>;CHOSfXDFwLmYfjfvZX=A75sJY8_*2wS4S zGPQUTt^_Orn}TC-4lD@^%;F``U4^4Mw&F=hx|#qffbuF7UFAAO)&fieJ)nfEo58Hf z^u>y>xNooY1psn%k-ReV)cf?^L;pT#SvMi;h?OF@;MD3H!WlY9H}9u-K>DCN*f zLZV8lBVnJPjyu5EgqBvQGLtVT*O6qN73Es}TY>D;4y-5y;~_#p2R{ugyGy-qs4bw+yP;r$-Y);};Z_NMvi9qramH?DPdFu2xUu3OuT uIx^YXkJ!nYi0$`!K@(BuNUA^Vd<)vcW^FjA)$g3uw%QMd=Z&OOw|@i2Y>yuR delta 1185 zcmaJ>Pe>F|7-v=s?HZER!LN%b>Ds30S`dhc8U$sQA?EgW=G&c@Gw<1ZZ+6=*5*?#M z2+i4xK@ixbty6jE-X+0f5JYt97If)*Gdqh&b=&>To8R~S{>=NZ*R{RZwX>Z&Rw!OP zH<~X_Oe{ZhdNx1io@7XIG(lv?!!|ORAYGk(xl`XC4|X;OJDsiDXP2hX_^3DoB_o3# z_)!pmD}@)ihS#`hz|DCuvRVz|pDWJT#;m^YyCeuUcSl$qW#KFzQCFhx_Pm}MbeWr7iHep-ehHyK@jw$`Fu z35THWbJvG3GRzJqEl^e5i{IXHMmMaM(m^ey2O|y8bTm1n^DhhvP4o7Dv{hNT+VIo_ z!?@5O0}rBE!imZ#8R#L<5>h>&c^C!EE}br6e<%#?iyJ_$q8lm2MHLj+Yk9auUROA| z<;of=5=aKt>C`>)MrWLv*i0)ht$9_1(k zMJnq8mG=2M&8cy$$Gcn3@zVazl8=G{h+N<9*X9_pwpk}t$O1r*8+tqhYl!RC9HtXl zNq#h13LB{nY&~ENJ4>etES8*s37bdDH7KJiL&}H=n5kJf44LpiN26 zak6zUOcuuNy%4*7x%U}#zSz1vj>fZ)lNmfZmYn entityName, s => entityName = s); Dialog.Show(() => { - _displayedEntity.Name = entityName; + GameManager.CommitEntityName(_displayedEntity, entityName); Title.text = _displayedEntity.Name; }); Dialog.MoveToCursor(); diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index 26535674b..aca08c753 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -1380,6 +1380,10 @@ First Aetheria surfaces to publish: `ActionGameManager.CommitHullConductivityToggle`; the gameplay owner mutates `Entity.HullConductivity` and queues the typed run checkpoint that already projects `hull_conductivity_x` and `hull_conductivity_y` grids. + - Done: route inventory entity renames through + `ActionGameManager.CommitEntityName`. `InventoryPanel` may collect the name + in a dialog, but gameplay owns the entity `Name` mutation and queues the + typed entity snapshot checkpoint. - Replace the next concrete uGUI screen with an Eve-owned surface. - Move the staged packages into the Eve repo once its worktree is clean, then import them back into Aetheria from Eve instead of carrying a local copy. @@ -1698,7 +1702,8 @@ tuning controls may remain temporarily on uGUI only when they delegate to gameplay-owned commit methods that queue typed checkpoint state; direct UI mutation of entity/item/behavior settings is obsolete authority. Hull conductivity changes follow the same rule: UI requests the toggle, gameplay owns -the grid mutation and checkpoint. Any +the grid mutation and checkpoint. Entity renames follow the same rule: UI +collects text, gameplay owns the name mutation and checkpoint. Any predicate that still needs legacy DTO objects must earn that dependency by using behavior objects or simulation-only methods that typed facets do not yet expose.