Aetheria/Assets/Scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens e4df73e4fe Fix F1: PersistedBehaviors as a pairs array, per Cut 0's ruling
Dictionary<int2, PersistentBehaviorData[]> has no hash-resistant comparer
under CultCache's UntrustedData security, so any run store holding an
entity threw MessagePackSerializationException on reopen, even when the
dictionary was empty. EntityPack.PersistedBehaviors (key 5, unchanged)
becomes (int2 position, PersistentBehaviorData[] data)[], matching
Equipment/CargoBays/DockingBays. Pack writes pairs; Unpack builds a local
lookup before restoring behaviors.

PersistentBehaviorData had no concrete leaf and no Union, so nothing could
ever exercise its wire format; added MarkerPersistentBehaviorData as the
one placeholder leaf so ReopenedPackKeepsPersistedBehaviors can round-trip
real data ahead of a real IPersistentBehavior implementer landing.

Tests: RunSaveTests.BarePack uses an empty pairs array.
Added ReopenedPackKeepsPersistedBehaviors (a hand-built pack with two
positions, each with one persisted behavior, round-trips through commit
and reopen) and ReopenSurvivesAGeneratedShipWithEntities (a real ship from
LoadoutGenerator against a catalog fixture, committed into a SavedZone and
reopened, pinning the defect at the layer Soul's probe found it).
MaterializedLotsSurviveSaveAndReload and CommitKeepsOnlyReachableLots go
green; 36 of 36 tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 04:58:15 +02:00
..
CultCache Pin AetheriaStores routing with tests; make PlayerSettings readable 2026-09-14 19:12:54 +02:00
Editor Keep the schematic underlay under the shape grid 2026-09-17 02:08:40 +02:00
Gameplay Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
ServerShared Fix F1: PersistedBehaviors as a pairs array, per Cut 0's ruling 2026-09-17 04:58:15 +02:00
Tests Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
UI Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
Zone Display Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
AetheriaInput.cs Upgrade to Unity 6000.3.24f1 2026-09-11 22:04:28 +02:00
AetheriaInput.cs.meta Minimap + Input System 2020-12-02 16:42:09 +00:00
CultCache.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Editor.meta Old Aetheria Code 2020-03-09 01:28:55 +00:00
EventLog.cs Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
EventLog.cs.meta Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
FilterTest.cs Hit Detection 2021-01-08 12:44:10 +00:00
FilterTest.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
Gameplay.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
Prototype.cs Hit Detection 2021-01-08 12:44:10 +00:00
Prototype.cs.meta Copy Aetheria Code 2020-02-27 18:51:07 +00:00
PrototypeParticleReturn.cs Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
PrototypeParticleReturn.cs.meta Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
Rotate.cs Hit Detection 2021-01-08 12:44:10 +00:00
Rotate.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
ServerShared.meta Initial Client/Server Communication 2020-02-26 17:48:40 +00:00
Tests.meta Sector & Loadout Generation Fixes 2021-03-18 22:48:33 +00:00
UI.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
UnityExtensions.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
UnityExtensions.cs.meta Database Support 2020-03-22 19:05:26 +00:00
UnityHelpers.cs Hit Detection 2021-01-08 12:44:10 +00:00
UnityHelpers.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
Zone Display.meta Trailer Stuff & More 2021-03-27 10:03:24 +00:00