Gear Reprocessing on Component Changes
Fixed an issue where component lifecycle changes did not trigger gear wear recalculation. Previously, retiring, reactivating, or deleting a component would not update the gear's aggregate wear until the next activity was processed.
Now, all component operations correctly mark the gear as dirty and reprocess components immediately:
- Retiring a component recalculates aggregate wear excluding the retired component
- Reactivating a component recalculates aggregate wear including it again
- Deleting a component recalculates aggregate wear without it
This fix also applies to the mobile API, where creating, updating, retiring, reactivating, and deleting components now all trigger gear reprocessing.