Aetheria/Assets/Scripts/Editor
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
..
CellBrushEditor.cs Boundless 2022-07-21 21:40:44 +01:00
CellBrushEditor.cs.meta Boundless 2022-07-21 21:40:44 +01:00
CultCacheDrawers.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
CultCacheDrawers.cs.meta Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
EngineAssetCheck.cs Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
EngineAssetCheck.cs.meta Switch engine asset references from Resources paths to Addressables GUIDs 2026-09-18 05:04:50 +02:00
GameplaySettingsEditor.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
GameplaySettingsEditor.cs.meta Gear Schematic HUD 2020-12-31 19:53:16 +00:00
NameTools.cs Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
NameTools.cs.meta Sector Generation 2021-03-10 09:18:07 +00:00
PlayScenePlusPlus.cs Action Bar Weapon Group Binding 2021-04-19 03:46:35 +01:00
PlayScenePlusPlus.cs.meta Action Bar Weapon Group Binding 2021-04-19 03:46:35 +01:00
ShieldPanelCut1Verify.cs Add the Cut 1 batchmode probe and its mutation harness 2026-09-18 06:08:24 +02:00
ShieldPanelCut1Verify.cs.meta Add the Cut 1 batchmode probe and its mutation harness 2026-09-18 06:08:24 +02:00
ShieldPanelCut2Verify.cs Fix ShieldManager's missing-envelope fallback regression 2026-09-18 06:45:07 +02:00
ShieldPanelCut2Verify.cs.meta Collapse the two implicit shield ellipsoids into ShieldEnvelope (Cut 2) 2026-09-18 06:33:38 +02:00
ShieldPanelCut3Verify.cs Shield panel: gate reuse and Hit on the panel's own radius 2026-09-18 21:02:18 +02:00
ShieldPanelCut3Verify.cs.meta Add the Cut 3 batchmode probe and its mutation harness 2026-09-18 13:51:44 +02:00
ShieldPanelCut5Verify.cs Cut 5 follow-up: strengthen the echo so weak-hit tension actually clears zero 2026-09-18 20:22:51 +02:00
ShieldPanelCut5Verify.cs.meta Cut 5: hold the rim, clamp v, fix fracture's clock, tune to spec 2026-09-18 20:04:05 +02:00