V58 FLATTEN EXISTING FINITE-FAULT PATCHES

What changed
- V56 reverse/normal secondary branching is kept.
- V57 flat direct patch footprint is kept and completed: the depth factor is now constant within a single subfault tile, so new finite-fault stamp patches should not show patch-internal mottling.
- Added an in-app correction for already-created finite-fault patches.

New key
- In finite-fault stamp mode, press F to flatten existing direct stamp patches.

What F does
1. Removes old generated automatic secondary nodes.
2. Groups existing direct finite-fault source cells by fault_id + patch_id.
3. For each patch, finds the strongest signed height already present in that patch.
4. Sets all direct source cells in that patch to the same height.
5. Regenerates automatic secondary deformation and resets the simulation while preserving sources.

Why strongest signed height?
- Older patch painting used Gaussian/edge/depth weights, so the center usually kept the intended patch height while the edges were artificially reduced.
- Using the strongest signed height restores the intended finite-fault tile amplitude instead of averaging the patch down.

Operational notes
- Press F after loading or creating an older source set that shows patch-internal color mottling.
- Press G afterward only if you want to regenerate secondary deformation again.
- Ctrl+Z should undo the flatten operation because F pushes a source undo snapshot first.
