Aetheria/Assets/Scripts/ServerShared
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens b15cbbe5de Cut 10: the hot path stops looking like, and costing like, a diagnostic
The diagnostics refactor (72c0109c) kept the debug HUD and the simulation on one
fire-control model by routing HitProbability THROUGH Inspect. That was the right
invariant implemented at the wrong level: every AI and turret evaluation, per
weapon per tick, built the full diagnostic struct and ran IsRevealed's sort, the
aim-point cell walk and HullKernel's allocations and per-cell exp -- and only
then checked whether the target was even in range. A Soul pass measured 9.87 us
and 448 B per call on paths that used to bail in nanoseconds. Operator: it made
the hot path look like a diagnostic one.

One model is now shared at the level of its factors. HitProbability runs its
cheap gates first and bails, exactly as it did before the refactor, and computes
PSensor, PSpread and POnHull only for a shot that is actually possible. Inspect
calls the same four factor functions and fills the struct unconditionally,
because a HUD wants to see why a shot is impossible. The HUD panel and its one
test consumer are unchanged.

Two tests make the design enforced rather than conventional:
- HitProbabilityMatchesInspect: exact equality across 21 configurations covering
  every gate the hot path bails on plus Precision and info sweeps. Dies when a
  factor changes in only one caller.
- GatedOutHitProbabilityAllocatesNothing: 1000 out-of-range calls allocate zero
  bytes. Dies when HitProbability is routed back through Inspect.

Both mutations verified RED and distinguished from a compile failure, with
restores checked against a hash taken before mutating.

231 tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 15:18:12 +02:00
..
Agents Fire control Cut 3: hit authority moves to FireControl 2026-09-19 14:07:07 +02:00
Behaviors Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
Narrative Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
NIH Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Serialization Delete the in-tree cache, JsonKnownTypes and vendored MessagePack 2026-09-14 18:42:09 +02:00
Aetheria.Shared.Unity.asmdef Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
Aetheria.Shared.Unity.asmdef.meta Slime Stuff & DB Prep 2021-03-30 01:17:58 +01:00
AetheriaStores.cs Resolve request/brownout conflict: evaluate power requests nominally 2026-09-19 06:58:57 +02:00
AetheriaStores.cs.meta Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Agents.meta Local AI Testing & Interactive Tech Tab 2020-04-23 03:31:17 +01:00
AssemblyInfo.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
AssemblyInfo.cs.meta Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Attributes.cs Delete the in-tree cache, JsonKnownTypes and vendored MessagePack 2026-09-14 18:42:09 +02:00
Attributes.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Behaviors.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
BezierCurve.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
BezierCurve.cs.meta Database Improvements 2021-04-07 01:27:35 +01:00
CapabilityEvents.cs Add an engine-free capability event contract 2026-09-17 14:36:14 +02:00
CapabilityEvents.cs.meta Add an engine-free capability event contract 2026-09-17 14:36:14 +02:00
ColorMath.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
ColorMath.cs.meta Improved Level Generator 2020-12-01 20:38:28 +00:00
Corporations.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
Corporations.cs.meta Infrastructure and Production 2020-06-02 07:01:03 +01:00
Entity.cs Cut 9: the die is not a die 2026-09-22 02:33:22 +02:00
Entity.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
EntitySerializer.cs Cut 0: give Entity its own EntitySettings copy, delete the duplicate copies 2026-09-17 18:22:22 +02:00
EntitySerializer.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
EntitySettings.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
EntitySettings.cs.meta Save/Load and Main Menu Submenus 2021-03-14 03:56:49 +00:00
EnumDictionary.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
EnumDictionary.cs.meta Database Improvements 2021-04-07 01:27:35 +01:00
Enums.cs Unified Volumetric Flow 2021-06-18 12:32:03 +01:00
Enums.cs.meta Database Support 2020-03-22 19:05:26 +00:00
Environment.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Environment.cs.meta Unified Volumetric Flow 2021-06-18 12:32:03 +01:00
ExponentialCurve.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
ExponentialCurve.cs.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
Extensions.cs Seed zones from a stable name hash instead of string.GetHashCode (Cut 10) 2026-09-14 22:09:37 +02:00
Extensions.cs.meta Database Support 2020-03-22 19:05:26 +00:00
FactionProduct.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
FactionProduct.cs.meta Author manufacturer variation as faction products 2026-09-12 01:12:12 +02:00
FireControl.cs Cut 10: the hot path stops looking like, and costing like, a diagnostic 2026-09-22 15:18:12 +02:00
FireControl.cs.meta Delete HardpointTransforms; mount direction and arc become sim data 2026-09-19 07:37:52 +02:00
Galaxy.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
Galaxy.cs.meta Hostility Fix + Story Work 2021-05-14 03:03:28 +01:00
GlobalData.cs Delete the in-tree cache, JsonKnownTypes and vendored MessagePack 2026-09-14 18:42:09 +02:00
GlobalData.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
InputLayout.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
InputLayout.cs.meta Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
ItemData.cs Fix the merge of Cuts 6b and 6c: a new float field made the catalog unreadable 2026-09-19 18:56:53 +02:00
ItemData.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ItemInstance.cs Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
ItemInstance.cs.meta Database Support 2020-03-22 19:05:26 +00:00
ItemManager.cs Cut 1: terms replace the four fixed exponents; R-heat 2026-09-18 17:18:06 +02:00
ItemManager.cs.meta New Inventory System + Overhaul 2020-12-10 23:20:38 +00:00
Loadout.cs Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
Loadout.cs.meta Make loadouts player-store design documents built all-or-nothing (Cut 10) 2026-09-14 22:06:06 +02:00
LoadoutGenerator.cs Fire control Cut 6c.1/6c.2: Resolution becomes reciprocal, targeting degrades instead of throwing 2026-09-19 18:31:46 +02:00
LoadoutGenerator.cs.meta Enemy Loadout Generation 2021-03-18 00:36:34 +00:00
MarkovNameGenerator.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
MarkovNameGenerator.cs.meta Sector Generation 2021-03-10 09:18:07 +00:00
Narrative.meta UI Improvements 2021-04-27 16:44:44 +01:00
NIH.meta Database Support 2020-03-22 19:05:26 +00:00
Noise1D.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Noise1D.cs.meta Hellfire 2021-01-10 03:59:47 +00:00
OrbitalEntity.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
OrbitalEntity.cs.meta Stat Effects and Tech Tree Improvements 2020-04-16 03:08:18 +01:00
PlayerSettings.cs Move mouse-look sensitivity into the PlayerSettings CultCache global 2026-09-17 17:22:09 +02:00
PlayerSettings.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
PowerBus.cs F3: an empty tier is not a satisfied tier, and sub-epsilon demand pays its way 2026-09-19 05:15:30 +02:00
PowerBus.cs.meta Add the meta Unity generated for PowerBus 2026-09-18 21:43:08 +02:00
PowerTiers.cs Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
PowerTiers.cs.meta Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
Provenance.cs Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
Provenance.cs.meta Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
Rect.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Rect.cs.meta TECH TREES WHOO 2020-04-11 19:18:02 +01:00
SampleElimination.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
SampleElimination.cs.meta Sector Generation 2021-03-10 09:18:07 +00:00
SavedGame.cs Fix F6: update the stale RunSave.Clear comment to include the ledger 2026-09-17 05:12:31 +02:00
SavedGame.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Serialization.meta Delete the in-tree cache, JsonKnownTypes and vendored MessagePack 2026-09-14 18:42:09 +02:00
Settings.cs Cut 6d: the dart-throw kernel replaces the coin-flip landing rule 2026-09-19 21:37:39 +02:00
Settings.cs.meta Asteroids & Refactoring 2020-12-01 00:16:11 +00:00
Ship.cs Delete AetheriaMath in favour of CultMath 2026-09-14 18:02:41 +02:00
Ship.cs.meta Database Support 2020-03-22 19:05:26 +00:00
StatResolver.cs Gate 1: give the resolver a Forget(owner); correct the recompute-cost comment 2026-09-18 20:41:42 +02:00
StatResolver.cs.meta Cut 2: give every entity its own StatResolver, delete the catalog leak 2026-09-18 19:53:59 +02:00
Wormhole.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
Wormhole.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
WwiseMetadata.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
WwiseMetadata.cs.meta Wwise Audio Integration 2021-04-30 06:39:57 +01:00
WwiseSoundBinding.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
WwiseSoundBinding.cs.meta Wwise Audio Integration 2021-04-30 06:39:57 +01:00
Zone.cs Cut 8: a removed entity is a dead entity, and re-anchor the stranded mutations 2026-09-22 00:50:57 +02:00
Zone.cs.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
ZoneData.cs Move the ServerShared data model onto CultLib's CultCache 2026-09-14 19:00:42 +02:00
ZoneData.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ZoneGenerator.cs Spawn neutral wanderers so combat has something non-hostile to target 2026-09-17 14:00:22 +02:00
ZoneGenerator.cs.meta Database Support 2020-03-22 19:05:26 +00:00