Zeichen-Feedback: Δx/Δy beim Rechteck, lange Führungslinien, Winkelbogen

VW-Feinschliff (Nutzer-Screenshots):
- Rechteck (2-Punkt + Zentrum) zeigt Δx/Δy vorzeichenbehaftet statt
  Diagonale+Winkel (deltaHud; Zentrum = volle Rechteckmasse). Die
  width/height-Tab-Felder erscheinen im HUD als Δx/Δy.
- Führungslinie des Winkelrasters läuft jetzt weit über den Cursor hinaus
  (quer über den Ausschnitt statt 40 px).
- Winkelbogen ergänzt: gestrichelter Bogen von der horizontalen 0°-Referenz
  (dezentes Lachsrot, VW-Anlehnung) zur Strahlrichtung, Badge sitzt am
  halben Winkel aussen am Bogen.
737/737 grün; headless verifiziert (Linie 45° + Rechteck-Δ).
This commit is contained in:
2026-07-11 01:44:32 +02:00
parent 838acf3376
commit b504167b1f
4 changed files with 80 additions and 11 deletions
+10 -1
View File
@@ -164,7 +164,7 @@ export interface ToolDraft {
* einfaches Text-Label. Beide Formen sind additiv kombinierbar (text kann als
* Zusatzzeile neben length/angleDeg stehen).
*/
hud?: { at: Vec2; text?: string; length?: number; angleDeg?: number };
hud?: { at: Vec2; text?: string; length?: number; angleDeg?: number; dx?: number; dy?: number };
/** Live-Messwerte (nur beim Mess-Werkzeug gesetzt) fürs Objekt-Info-Panel. */
measure?: MeasurementReadout;
}
@@ -253,6 +253,15 @@ export function segmentHud(from: Vec2, to: Vec2): { at: Vec2; length: number; an
};
}
/**
* HUD für achsparallele Masse (Rechtecke, VW-Verhalten): Δx/Δy VORZEICHENBEHAFTET
* statt Diagonale+Winkel — die Diagonale eines Rechtecks interessiert beim
* Aufziehen nicht, die Kantenmasse schon.
*/
export function deltaHud(from: Vec2, to: Vec2): { at: Vec2; dx: number; dy: number } {
return { at: to, dx: to.x - from.x, dy: to.y - from.y };
}
// ── ID-Vergabe ───────────────────────────────────────────────────────────────
let idCounter = 0;