2dde46cb85
Performance-Optimierungen für User-Transform-Commands (_Move/_Rotate/etc): - CommandBegin/End-Listener: Mein Code schläft während Rhinos Transform läuft komplett (Replace-Handler early-return). Beim CommandEnd vergleicht ein batch-Pass den Pre-Transform-Snapshot mit dem aktuellen State und macht EINEN konfliktfreien Sync-Regen pro betroffener Wand. Kein "Unable to transform"-Konflikt mehr, deutlich snappier. - Sub-Volumen non-destruktiv: doc.Objects.Replace statt Delete+AddBrep wenn die Anzahl gleich bleibt (= häufiger Fall bei Brüstung/Höhe/XY-Drag). - Migrate-Skip bei reinem Z-Drag: spart die Pass durch alle Öffnungen wenn XY unverändert ist. - Sync-Regen-Deduplizierung im Batch via _dossier_skip_sync_regen Flag. - Display-Suppress während des gesamten CommandEnd-Batch (kein sichtbares „Aufbauen" von Sub-Volumen). Plus Gestaltung-Fix: - Hatch→Curve Reverse-Sync via Hatch.Get3dCurves(outer=True): User kann die Hatch alleine verschieben/rotieren/skalieren → Curve folgt mit derselben Transform. Vorher nur Curve→Hatch. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>