Aetheria/Assets/Scripts/UI/Properties Panel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 05b5a209db Cut 1: terms replace the four fixed exponents; R-heat
PerformanceStat's four fixed fields (HeatExponentMultiplier,
DurabilityExponentMultiplier, QualityExponent, FromRole) tombstone into a
declared List<StatTerm> (source + exponent + role), walked by the one
evaluation path Cut 0 unified. A stat with no terms resolves to Max (the
same identity a stat with all-zero exponents already produced), so the
migration is exact: a zero multiplier becomes no term, not a term with
exponent 0.

R-heat (operator, docs/stats-and-power-cut.md): EquippableItemData's
HeatPerformanceCurve (a BezierCurve, plus the 100-sample scan that inferred
OptimalTemperature and its cache) is retired in favor of an authored
minimum, maximum, optimum and plateau width, with linear falloff outside
the plateau. StatValidation refuses an optimum outside its bounds or a
negative plateau width, loudly, at catalog load. The plateau's consequence
rides along for free: Wear's thermal term is pow(ThermalPerformance, ...),
and Performance() now returns exactly 1 across the plateau, so a
well-managed item takes wear only from deltaTemp there -- the
operational-lifespan lever the operator asked for.

ConsumableItemEffect's progress-through-duration substitution for "heat"
becomes its own StatSource (ConsumableProgress) rather than an unconditional
override applied regardless of what a stat declares.

Tests: LoadoutTests' four PerformanceStat-shaped fixtures rebuilt against
Terms/authored heat fields; HeatResponseTests.cs (new) pins load
validation, the plateau shape, and the three wear-lever claims (held
inside takes no thermal wear, held outside does, a fast swing across still
wears) each under its own mutation in tests/mutation_tests_stats_power_cut1.py
(new, 10 rules including a no-op control; all pass).

64 pre-Cut-1 tests still pass unmodified; 71 total with the 7 new ones.
Unity batchmode: 0 error CS. ShieldPanelCut1Verify and Cut2Verify pass;
Cut3Verify fails with an unrelated pre-existing "Kernel 'KInit' not found"
compute-shader error, reproduced against Cut 0's own landing state with no
shader/compute file in this diff -- flagged for Soul, not fixed here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 17:18:06 +02:00
..
AttributeProperty.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
AttributeProperty.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
BoolField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
BoolField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
ButtonField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
ButtonField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
CurveField.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
CurveField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
EnumField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
EnumField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
IncrementField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
IncrementField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
InputField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
InputField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
PropertiesList.cs Delete commented-out code blocks 2026-09-11 22:14:58 +02:00
PropertiesList.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
PropertiesPanel.cs Cut 1: terms replace the four fixed exponents; R-heat 2026-09-18 17:18:06 +02:00
PropertiesPanel.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Property.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
Property.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
PropertyButton.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
PropertyButton.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
PropertyLabel.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
PropertyLabel.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
RangedFloatField.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
RangedFloatField.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
StatSheet.cs In Game Input Screen 2021-05-08 07:35:16 +01:00
StatSheet.cs.meta In Game Input Screen 2021-05-08 07:35:16 +01:00