Zoom-Prozent relativ zum angewandten Massstab statt zur Einpassung
Die Zoom-Anzeige band 100% bisher an die eingepasste Default-Ansicht, nicht an den angewandten Papier-Massstab — der Wert driftete willkürlich. Er wird jetzt in App.tsx aus angewandtem Nenner und Live-Nenner abgeleitet (scaleDenominator / liveScale * 100): im angewandten Massstab exakt 100%, hineinzoomen >100%, herauszoomen <100%. Die fit-basierte onZoom-Meldekette aus PlanView entfällt (Single Source).
This commit is contained in:
@@ -210,11 +210,6 @@ export interface PlanViewProps {
|
||||
* verhält sich die Ansicht wie zuvor.
|
||||
*/
|
||||
onCursor?: (model: Vec2 | null) => void;
|
||||
/**
|
||||
* Meldet den aktuellen Zoom in Prozent relativ zur eingepassten Ansicht
|
||||
* (100 % = eingepasst). Optional.
|
||||
*/
|
||||
onZoom?: (percent: number) => void;
|
||||
/**
|
||||
* Meldet den LIVE Papier-Massstab als Nenner N (1:N), berechnet aus dem
|
||||
* aktuellen Ausschnitt + Canvas-Größe + dpi (docs/design/plans-output.md §3).
|
||||
@@ -351,7 +346,6 @@ export const PlanView = forwardRef<PlanViewHandle, PlanViewProps>(
|
||||
plan,
|
||||
resetKey,
|
||||
onCursor,
|
||||
onZoom,
|
||||
onScale,
|
||||
onSelect,
|
||||
onMarquee,
|
||||
@@ -554,12 +548,6 @@ export const PlanView = forwardRef<PlanViewHandle, PlanViewProps>(
|
||||
};
|
||||
}, []);
|
||||
|
||||
// Zoom in Prozent (eingepasst = 100 %) nach oben melden: kleinere viewBox-
|
||||
// Breite = stärker hineingezoomt. Reiner Bericht; ändert die Ansicht nicht.
|
||||
useEffect(() => {
|
||||
onZoom?.((defaultView.w / view.w) * 100);
|
||||
}, [onZoom, defaultView.w, view.w]);
|
||||
|
||||
// LIVE Papier-Massstab (1:N) nach oben melden. Berechnung aus der effektiven
|
||||
// meet-Skala (Bildschirm-px je viewBox-Einheit) → px je Meter → mm je Meter,
|
||||
// verglichen mit der Papier-Abbildung. Aktualisiert bei Ausschnitts-/Größen-
|
||||
|
||||
Reference in New Issue
Block a user