Aetheria/Assets/Shaders
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
..
Brushes Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Compute Shield panel: gate reuse and Hit on the panel's own radius 2026-09-18 21:02:18 +02:00
CustomDoF Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Raymarching Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
StableFluids Keep Fluid's int2 alias, pointed at CultMath 2026-09-14 18:03:32 +02:00
Terrain Unity 6 Upgrade + Solid Gravity Surface 2025-07-10 21:05:54 +01:00
AdditiveUI.shader Title Screen 2020-03-26 02:49:09 +00:00
AdditiveUI.shader.meta Title Screen 2020-03-26 02:49:09 +00:00
AdditiveUIDetail.shader Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
AdditiveUIDetail.shader.meta Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
AdditiveUIScreenSpaceDetail.shader Energy & Heat 2020-12-27 22:18:22 +00:00
AdditiveUIScreenSpaceDetail.shader.meta Energy & Heat 2020-12-27 22:18:22 +00:00
Asteroid.shader Boundless 2022-07-21 21:40:44 +01:00
Asteroid.shader.meta Performance Optimization 2022-07-19 18:55:17 +01:00
Background.shader Weapos Rejiggered 2021-01-31 03:52:32 +00:00
Background.shader.meta Fancy Background Shader 2020-03-25 02:22:44 +00:00
Brushes.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
Clouds.shader Weapos Rejiggered 2021-01-31 03:52:32 +00:00
Clouds.shader.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
Compute.meta Stardust 2020-12-04 01:53:23 +00:00
CustomDoF.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
Dither Functions.cginc Playability 2022-08-08 22:43:55 +01:00
Dither Functions.cginc.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
DitheredParticles.shader Fix Dithered Particle Shader 2022-07-13 06:10:54 +01:00
DitheredParticles.shader.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
GalaxyMap.shader Game Loop Galaxy Integration 2021-03-15 11:40:46 +00:00
GalaxyMap.shader.meta Old Aetheria Code 2020-03-09 01:28:55 +00:00
GaussianBlurFilter.shader Hit Detection 2021-01-08 12:44:10 +00:00
GaussianBlurFilter.shader.meta Hit Detection 2021-01-08 12:44:10 +00:00
GlowFade.shader Boundless 2022-07-21 21:40:44 +01:00
GlowFade.shader.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
Influence.shader Main Menu 2021-03-13 03:23:58 +00:00
Influence.shader.meta Sector Map: Areas of Influence 2021-03-12 08:11:55 +00:00
InfluenceUI.shader Demo Hotfixes 2021-05-02 20:59:45 +01:00
InfluenceUI.shader.meta Demo Hotfixes 2021-05-02 20:59:45 +01:00
Isolines.shader First Flight 2020-12-22 03:13:43 +00:00
Isolines.shader.meta Copy Aetheria Code 2020-02-27 18:51:07 +00:00
IsolinesUI.shader Playability 2022-08-08 22:43:55 +01:00
IsolinesUI.shader.meta Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
MaskedUIBlur.shader Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
MaskedUIBlur.shader.meta Database Inspector Features 2020-12-12 00:02:00 +00:00
MaskedWorldSpaceAdditiveUI.shader Game Loop Galaxy Integration 2021-03-15 11:40:46 +00:00
MaskedWorldSpaceAdditiveUI.shader.meta Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
MaskedWorldSpaceUI.shader Game Loop Galaxy Integration 2021-03-15 11:40:46 +00:00
MaskedWorldSpaceUI.shader.meta Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
MirrorField.shader Shields 2025-01-30 01:58:05 +00:00
MirrorField.shader.meta Playability 2022-08-08 22:43:55 +01:00
PackFloat.cginc NEW CLOUDS NEW CLOUDS NEW CLOUDS WHOOO 2022-07-10 02:53:09 +01:00
PackFloat.cginc.meta NEW CLOUDS NEW CLOUDS NEW CLOUDS WHOOO 2022-07-10 02:53:09 +01:00
Particle Standard Unlit.shader Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
Particle Standard Unlit.shader.meta Menu Screen + UI Restyle 2020-12-14 02:56:35 +00:00
Raymarching.meta Initial ARPG Port 2020-11-27 22:47:33 +00:00
Shield.shader Nebula Lighting Everywhere + Perspective Distortion Fix 2022-07-16 06:42:40 +01:00
Shield.shader.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
StableFluids.meta Unified Volumetric Flow 2022-07-17 05:27:50 +01:00
StretchedSkybox.shader Boundless 2022-07-21 21:40:44 +01:00
StretchedSkybox.shader.meta Boundless 2022-07-21 21:40:44 +01:00
Terrain.meta Hotfix 2021-05-29 13:59:09 +01:00
TMP_SDF.shader Action Bar (WIP) 2021-04-18 05:13:20 +01:00
TMP_SDF.shader.meta Action Bar (WIP) 2021-04-18 05:13:20 +01:00
ViewNormalEmissive.shader New Inventory System + Overhaul 2020-12-10 23:20:38 +00:00
ViewNormalEmissive.shader.meta New Inventory System + Overhaul 2020-12-10 23:20:38 +00:00
ViewNormalEmissiveGlowFade.shader Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
ViewNormalEmissiveGlowFade.shader.meta Combat & Visibility & Collisions 2021-02-26 19:01:47 +00:00
Volumetric.cginc Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Volumetric.cginc.meta Volumetric Redux 2021-05-30 05:54:28 +01:00