Per redesign-plan.md M7. Depends on all four form step issues (#41–44) and #140.
AdversaryCreatorForm accepts an optional existing Adversary parameter. When provided:
- All four steps are pre-filled with the existing adversary's data
- Save overwrites the existing record (via
ContentStore.saveLocalAdversary)
This is the "Edit" path triggered from AdversaryInspectorView (#131) for local adversaries.
Test first: AdversaryCreatorFormTests — edit mode pre-fills name, type, tier, stats, features; Save updates the existing adversary without creating a duplicate.
Per redesign-plan.md M7. Depends on all four form step issues (#41–44) and #140.
AdversaryCreatorFormaccepts an optional existingAdversaryparameter. When provided:ContentStore.saveLocalAdversary)This is the "Edit" path triggered from
AdversaryInspectorView(#131) for local adversaries.Test first:
AdversaryCreatorFormTests— edit mode pre-fills name, type, tier, stats, features; Save updates the existing adversary without creating a duplicate.