Aetheria/Assets/Scripts/Gameplay
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens fb6062b8c6 Shield panel: gate reuse and Hit on the panel's own radius
The operator's play report on FieldShieldTest ("weak hits are very
janky, clicking outside the hex still makes it tremble and shatter,
pooling seems very rough") traced to two provable defects, not one
tuning constant:

- ShieldPanel.Hit had no bounds check at all. A point handed to it was
  always enqueued and injected regardless of how far outside the
  panel's own panelRadius it was.
- ShieldInterceptor.FindReusable decided reuse from a raw world-space
  chord distance to the panel's stale spawn-time Position, using
  PanelRadius*ReuseFraction (authored up to 2x) as the threshold. On a
  non-uniformly scaled/curved envelope a chord across curvature is not
  the panel's own in-plane extent, so a click clearly outside the
  rendered tiling could still measure inside threshold and get routed
  to Hit() -- which had nothing to reject it.
- Reusing a panel never refreshed its pooled DieAt, so a panel struck
  again could still expire and get returned to the pool mid-fracture
  ("pooling seems very rough").

Fix: ShieldPanel.ContainsWorldPoint is now the one owner of "is this
point within my own radius" (panel-local in-plane distance vs.
panelRadius), used both as Hit's hard gate and as FindReusable's
candidacy test (with ReuseFraction, now capped at 1, narrowing but
never widening past the physical radius). Reuse now also extends
DieAt from the moment of the new hit.

Pinned in ShieldPanelCut3Verify.CheckHitOutsideRadiusDoesNotReachPanel:
a direct Hit() and a routed Absorb() outside a panel's own radius must
enqueue nothing and leave its state buffer untouched, and a genuinely
outside click opens its own panel. Deterministic (checks the pending
queue and no-op state, not temper drift) because breakBudgetFraction
paces fracture over many frames on purpose, so temper keeps drifting
from an earlier hit alone -- a drift-based check would have been
measuring that, not this rule (caught this against the check's own
first run).

All four ShieldPanelCut<N>Verify probes pass (batchmode, real GPU
device, no -nographics).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 21:02:18 +02:00
..
Weapons Delete AetheriaMath in favour of CultMath 2026-09-14 18:02:41 +02:00
ActionBarSlot.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
ActionBarSlot.cs.meta Action Bar (WIP) 2021-04-18 05:13:20 +01:00
ActionGameManager.cs Cut 0: give Entity its own EntitySettings copy, delete the duplicate copies 2026-09-17 18:22:22 +02:00
ActionGameManager.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
ArticulationPoint.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
ArticulationPoint.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
CapabilityPresentationBinder.cs Add presenter interfaces and a capability event binder 2026-09-17 14:36:27 +02:00
CapabilityPresentationBinder.cs.meta Add presenter interfaces and a capability event binder 2026-09-17 14:36:27 +02:00
CapabilityPresenters.cs Add presenter interfaces and a capability event binder 2026-09-17 14:36:27 +02:00
CapabilityPresenters.cs.meta Add presenter interfaces and a capability event binder 2026-09-17 14:36:27 +02:00
EntityInstance.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
EntityInstance.cs.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
FieldDriver.cs Fix ShieldManager's missing-envelope fallback regression 2026-09-18 06:45:07 +02:00
FieldDriver.cs.meta Shields 2025-01-30 01:58:05 +00:00
GameSettings.cs Cut 0: delete dead soundbank and HullHitColor fields (fork X) 2026-09-17 18:22:00 +02:00
GameSettings.cs.meta Misc. Improvements 2021-01-27 16:14:41 +00:00
GridObject.cs Convert engine types through CultMath.UnityBridge 2026-09-14 17:47:33 +02:00
GridObject.cs.meta Loot 2021-04-15 04:25:22 +01:00
HullCollider.cs Convert engine types through CultMath.UnityBridge 2026-09-14 17:47:33 +02:00
HullCollider.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
ItemPickup.cs Convert engine types through CultMath.UnityBridge 2026-09-14 17:47:33 +02:00
ItemPickup.cs.meta Loot 2021-04-15 04:25:22 +01:00
RadiatorHardpoint.cs Heat System v2 + Lasers 2021-01-27 00:05:30 +00:00
RadiatorHardpoint.cs.meta Heat System v2 + Lasers 2021-01-27 00:05:30 +00:00
ShieldAnimation.cs Loot 2021-04-15 04:25:22 +01:00
ShieldAnimation.cs.meta Loot 2021-04-15 04:25:22 +01:00
ShieldEnvelope.cs Fix ShieldManager's missing-envelope fallback regression 2026-09-18 06:45:07 +02:00
ShieldEnvelope.cs.meta Collapse the two implicit shield ellipsoids into ShieldEnvelope (Cut 2) 2026-09-18 06:33:38 +02:00
ShieldInterceptor.cs Shield panel: gate reuse and Hit on the panel's own radius 2026-09-18 21:02:18 +02:00
ShieldInterceptor.cs.meta Add ShieldInterceptor: the interceptor presenter and panel pool (Cut 3) 2026-09-18 13:51:26 +02:00
ShieldManager.cs Fix ShieldManager's missing-envelope fallback regression 2026-09-18 06:45:07 +02:00
ShieldManager.cs.meta Loot 2021-04-15 04:25:22 +01:00
ShieldTest.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
ShieldTest.cs.meta Loot 2021-04-15 04:25:22 +01:00
ShipInstance.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
ShipInstance.cs.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
ThrusterHardpoint.cs Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
ThrusterHardpoint.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
TimedDestroy.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
TimedDestroy.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
TractorBeam.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
TractorBeam.cs.meta Loot 2021-04-15 04:25:22 +01:00
WeaponHardpoint.cs Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
WeaponHardpoint.cs.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
Weapons.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00