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