V56 REVERSE/NORMAL BRANCHED SECONDARY DEFORMATION

What changed
- The V54/V55 brush-mask reconstruction is kept. Point-click finite-fault patches are still rebuilt into a continuous fault mask first.
- After the mask is rebuilt, the secondary halo now branches automatically into reverse/thrust-like or normal-fault-like behavior.
- The branch is inferred from the stamped direct-source polarity:
  * uplift-dominant patch set -> reverse/thrust-like
  * subsidence-dominant patch set -> normal-fault-like

Secondary halo rules
- Reverse/thrust-like: dominant uplift halo on the hanging-wall side (opposite the selected subsidence side), plus weaker subsidence on the selected subsidence side.
- Normal-fault-like: dominant subsidence halo on the selected subsidence side, plus weaker uplift on the opposite side.

Why
- The brush result looked close because it already described a filled area.
- The remaining mismatch was that the same halo polarity rule was being used regardless of whether the direct deformation looked reverse-like or normal-like.
- V56 keeps the brush-like shape recovery but adds a fault-sense-dependent sign/layout bias.

Operational notes
- Press G to regenerate the automatic secondary deformation after editing the finite-fault model.
- If the selected subsidence side is flipped, use D and regenerate again.
- The status line reports how many fault groups were interpreted as reverse-like or normal-like.
