Meta Vens
cb71a3cfad
Cut 12.3 fix batch: unify Lane and Lanes on one membership query
...
Self's review found that commit 4e6495dd's fix for F1 replaced the per-lane
forward-arithmetic defect with a second, still-independent membership
computation: Lane's own half-open admission (Lo <= s < Hi, from a cell's own
Extent) versus Lanes' ceil((cell.Lo - centreLateral) / laneSpacing) lane
index. The two agree only when a cell's own (Hi - Lo) equals the externally
supplied laneSpacing exactly in float -- the identical two-derivations trap
Cut 12.2's own fix batch already found and removed from Lane itself,
reintroduced one layer up. Confirmed reachable: on commit 4e6495dd , solid5
b=(0,1) s=0.49999997 n=1 leaves the ceil-based centre lane EMPTY while Lane(s)
itself finds all 5 cells of the row -- breaking R3 ("the centre lane always
meets metal", Commit's own guard) and the 12.2 placement contract.
FireControl.Lanes is now built entirely out of FireControl.Lane: it calls
Lane(hull, b, centreLateral + k * laneSpacing, ...) once per lane index, so
Lane(s) is literally this function's n = 0 case rather than a parallel
re-implementation of its rule. Commit's placement and Apply's damage split
now read one function. The narrower question left -- can two individually
correct Lane() calls, at two different lines, still walk the same cell? --
is resolved by ownership (the lane closest to the centre keeps a contested
cell; the centre lane, k = 0, never loses one), not by a competing formula,
so the centre lane's final cell set is always exactly Lane(centreLateral)'s
own output.
Lane() itself is unchanged (still called directly by Commit and by
FireControlCut12Tests' edge-seed and interval-edge tests, all still green:
HitsLandOnTheFacingEdge, LaneSeamIsHalfOpen, LaneNeverEmptiesAtAnIntervalEdge,
Cut12-edge-68442709, Cut12-edge-64078070).
Adds LanesQueryIsDisjointMatchesLaneAtCentreAndNeverEmptyOnHull: now that
Lanes is a public, pure geometric query, the boundary sweep is a behavioural
test of its own contract, no reflection -- over every cell's own shadow edge
and float neighbours, at exact-axis, 45-degree, |bx| > |by| bearings and
Soul's own two reproduction cases, spread 1-2: (a) no cell is walked by two
lanes, (b) the centre lane equals a plain Lane(s) call, (c) the centre lane
is never empty when the centre lateral is inside the hull's own shadow. Hand-
confirmed to fail on 4e6495dd's ceil-based Lanes (property (b), the same
input above) and to pass on this commit (fc123fix2-mut3.log).
Adds CommittedCellIsTheFirstCellTheCentreLaneDamages: an end-to-end check
through Fire -> Commit -> Apply (damageSpread 0, a single lane) that the
committed outcome.Cell is the first cell Apply damages.
Full suite: 286 tests, identical across 3 runs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:24:55 +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 12.3, sub-cut A: armour absorbs first down the direct-hit lane
2026-09-25 05:55:59 +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 12.3 fix batch: unify Lane and Lanes on one membership query
2026-09-25 14:24:55 +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