From 37af47863a279624aaaa485ff45e8fb9c97b6eed Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 13 Jun 2026 08:46:09 +0100 Subject: [PATCH] Demote keyboard layouts from MessagePack --- .voidbot/state/aetheria.cc | Bin 19257 -> 19656 bytes Assets/Scripts/InitialSettings.cs | 23 ------------ Assets/Scripts/UI/InputScreen/InputLayout.cs | 37 +++++-------------- docs/aetheria-perfect-machine-map.md | 11 ++++-- 4 files changed, 18 insertions(+), 53 deletions(-) delete mode 100644 Assets/Scripts/InitialSettings.cs diff --git a/.voidbot/state/aetheria.cc b/.voidbot/state/aetheria.cc index dd2223b0282879a1837462637cf5da22d03a6a4e..30b5d7081f5eabf25d9e9861fd03a1218fc98ff3 100644 GIT binary patch delta 1414 zcmaJ>&ud&&6gFv_HbPVU5vkJX5j3TmdDF&eV%kCzNU38RqPA{=n=|j8dGDJ0?tQ)Y zzDyr326U^7@<4DQF04eP3tmn8|>eDC%($~y+F0EM~9{P15uOP~!Xqa(7gLC#@B zuVJ_i4tEG#j48PVKrMjlL!?Xx6}XTzHIzY7U+GtOEIFfgxKM1&Hb@7N(G+|ZDwN6I zA8nmx{(99sF@lt<+xH;l6M8&%iq=t6NXKvveA_v40j%-IyXKA1%9OutExkl_gS?l0 z9l0QM&_f4Ym^_IEaOMCZL0!z0A2l6uPBM>t9MD&^7)Nmt##FdxmX=&Xqq|b`NpFT) zD2g!T@zA3xlE(2h^wMbPm`n>6JlOT59V2^xZlKN~!h}jbO<|IfY)uQCmr8LJYxCmU z`6v1gIuv5&2*S)-(jN9VGSP4sqYazR+Z1|;ET*xmOU1dc%m~(buns!9qP@+VZBI#w z)GH0(W^A~Ji%q5kx8!afj8;c;z^*4-{QCT<;@14^5xOm%FYdhZc>k+wL@A`1jiina zNSlyHQ5Ns92WhB|>FM%RS1M|T7_xU#^l_;pDoZF>5cbAJ5QhE7(tBPiD9N6CfbO{V zmD1H}Sls6+??IR_OIRRY4YGMkb;G*(K3Re*XD; z-nAy#FIGcPXvzhNDuL{#%KaSNgT}8iQumx^e&)jeM4(E*-EFDG=Yool7f!s|y80h+ z{kOE%u?g(ZIQ4~^fZj#j|+;;)yQGwW5NHq%lYSG?GI;mFlZ zt@2`X<>@)HylU36UgucfVV;WM*;B>+)|p4DC+~b~>#oO$_w(4`@79Tl& zFV$dXX=eJ^=w$Kpp{J^MaQSTY4!(8yyBaumwtgw6iq+M01h$6YPpj{afR{^Ppx3^i Ku93yXt$zUH!U0GC delta 1074 zcmZ8gO-NKx6mC>ZU6hp}M$&0v2E~k;qm2eNVnhqev^Ij|o%@b6H{ZMWaeuU_g;d)% z@*rqYt3rsNU{)@I2!eLCHG*gzLGIcVo%fzI4XxgN=bn4MpL5QK$C<51nb(^wog))N z!`ZXrg@ujG;plzK!`(n(I0>lMyY)am33Rmew@m!04Ypl7mVZ-3TR|-t+>pXn!N)S= zRnTaJ=Wx@wAYi(>y*Q0NTJ*p}=0UV`>QE1q7+-NA809oaVA2B@Jvco$WU|k>&qVM! zlW!E43VbEYsDU%B1sWh!FqZikSL<7cIpQJY3Wy+7+SUnx(%_^sgnWqwc(rs3xy{Wm z8&mdk^Pv_NbJy{%dXa@i9PZ5OqbB!BgA? zD6OGh5NjTNo9vC)WY7B66|x(+qZ?CE&iBY^?h+lg8dA+vZAd+!RsiFinv!rYVTG*< zrE{jj!hcACAbpmM0{YM}k__q(S0+F!`2S)rr)o(UO=SFtvMsD7L`oXjO5y@{S`+z( zsz6bG_63u?qVyatn=gC1Yd=o(x8IzdVIjECqnYwxP1s8Mo<>8`bjOxAIht-q!=ff{ zp`>UCXjif?aaDLIImR$gYfIVwz0uh5p6Jv0zG!Kz`#`#_`Qe3UmX(Re!P>pC{h8X6 z@qL{g^}A@JcqCog!q8~4wBIkhtq0OQSFP>Q$6~lQc~TgOc3OL*#i{$dNoSH*wck_k KI(H+Zg@wOG2!kyE diff --git a/Assets/Scripts/InitialSettings.cs b/Assets/Scripts/InitialSettings.cs deleted file mode 100644 index d39907045..000000000 --- a/Assets/Scripts/InitialSettings.cs +++ /dev/null @@ -1,23 +0,0 @@ -using MessagePack; -using MessagePack.Resolvers; -using UnityEngine; - -namespace Assets.Scripts -{ - class InitialSettings - { - [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] - static void RegisterResolvers() - { - // NOTE: Currently, CompositeResolver doesn't work on Unity IL2CPP build. Use StaticCompositeResolver instead of it. - StaticCompositeResolver.Instance.Register( - MathResolver.Instance, - BuiltinResolver.Instance, - PrimitiveObjectResolver.Instance - ); - - MessagePackSerializer.DefaultOptions = MessagePackSerializer.DefaultOptions - .WithResolver(StaticCompositeResolver.Instance); - } - } -} diff --git a/Assets/Scripts/UI/InputScreen/InputLayout.cs b/Assets/Scripts/UI/InputScreen/InputLayout.cs index 548220617..dd8512034 100644 --- a/Assets/Scripts/UI/InputScreen/InputLayout.cs +++ b/Assets/Scripts/UI/InputScreen/InputLayout.cs @@ -1,9 +1,8 @@ using System.Collections.Generic; -using MessagePack; -[MessagePackObject] + public class InputLayout { - [Key(0)] public InputLayoutRow[] Rows; + public InputLayoutRow[] Rows; public IEnumerable GetBindableKeys() { @@ -22,49 +21,33 @@ public class InputLayout } } -[MessagePackObject, - Union(0, typeof(InputLayoutRowSpacer)), - Union(1, typeof(InputLayoutKeyRow)) -] public abstract class InputLayoutRow { } -[MessagePackObject] public class InputLayoutRowSpacer : InputLayoutRow { - [Key(0)] public float Height; + public float Height; } -[MessagePackObject] public class InputLayoutKeyRow : InputLayoutRow { - [Key(0)] public InputLayoutColumn[] Columns; + public InputLayoutColumn[] Columns; } -[MessagePackObject, - Union(0, typeof(InputLayoutColumnSpacer)), - Union(1, typeof(InputLayoutKey)), - Union(2, typeof(InputLayoutBindableKey)), - Union(3, typeof(InputLayoutMultiRowKey)) -] public abstract class InputLayoutColumn { - [Key(0)] public float Width; + public float Width; } -[MessagePackObject] public class InputLayoutColumnSpacer : InputLayoutColumn { } -[MessagePackObject] public class InputLayoutKey : InputLayoutColumn { } -[MessagePackObject] public class InputLayoutBindableKey : InputLayoutKey, IBindableButton { - [Key(1)] public string MainLabel; - [Key(2)] public string AltLabel; - [Key(3)] public string ShortPath; + public string MainLabel; + public string AltLabel; + public string ShortPath; - [IgnoreMember] public string InputSystemPath { get @@ -80,7 +63,7 @@ public class InputLayoutBindableKey : InputLayoutKey, IBindableButton public class InputLayoutMultiRowKey : InputLayoutBindableKey { - [Key(4)] public int Height; + public int Height; } public class InputLayoutMouseButton : IBindableButton @@ -96,4 +79,4 @@ public class InputLayoutMouseButton : IBindableButton public interface IBindableButton { public string InputSystemPath { get; set; } -} \ No newline at end of file +} diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index 48c281d8c..5bb0edd51 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -28,7 +28,8 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. `Economy.Shared` wrapper have been removed from live source. The stale `StrategyGameManager.csbak` backup file and unused Unity asset MessagePack formatter classes have also been deleted, so the remaining direct - `MessagePackSerializer` calls are the two legacy catalog deserializers. + `MessagePackSerializer` calls are the two legacy catalog deserializers and + their resolver setup. - Local legacy catalog data remains in `GameData/AetherDB.msgpack` and `GameData/NameFile/*.msgpack` as migration/catalog inputs. The old `PlayerSettings.msgpack`, `.loadout`, `.zone`, and @@ -91,8 +92,10 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. `EntitySettings`, and UI/player-settings startup no longer registers the old MessagePack resolver. Resolver registration is confined to legacy catalog deserialization. Unused Unity asset formatters for GameObject, Material, - Sprite, and Texture2D are deleted. The slime compute settings path no longer - serializes its local parameter struct for change detection. + Sprite, and Texture2D are deleted. Keyboard layout DTOs are plain runtime + parse/display models, not MessagePack save shapes. The global scene-load + MessagePack resolver hook is deleted. The slime compute settings path no + longer serializes its local parameter struct for change detection. - The dead story compiled-JSON cache sketch and its SHA helper are deleted; story compilation currently reads Ink source directly until a typed Verse story/cache document exists. @@ -272,6 +275,8 @@ First Aetheria surfaces to publish: - Done: delete public legacy catalog cache mutation APIs. - Done: delete the stale `StrategyGameManager.csbak` backup source and unused Unity asset MessagePack formatters. + - Done: demote keyboard layout DTOs from MessagePack shapes and delete the + global scene-load MessagePack resolver hook. - Remaining: delete or quarantine old cache abstractions that no longer protect an invariant once catalog migration has a typed reader.