2D: Multiline-Werkzeug (Basislinie + N-1 parallele Kopien in einer Geste)

Neuer Befehl multiline.ts, baut auf derselben Offset-Geometrie auf wie der
bestehende offset-Befehl (offsetSegment) — erzeugt aber alle Kopien auf
einmal statt einzeln nacheinander offsetten zu müssen. Deckt gerade
Basislinien ab (häufigster Fall: Grenzlinie+Abstand, Leitungspaar,
Randlinien), keine mehrsegmentige Variante.

Ablauf: Start-/Endpunkt (Tab-Felder Länge/Winkel wie line.ts), dann Abstand
per Maus-Klick (Seite bestimmt Vorzeichen, wie bei offset.ts) oder getippt;
die Anzahl (Default 3, Bereich 2-6) zyklt über eine Inline-Option und bleibt
wie Abstand/Seite über Aufrufe hinweg persistent.

In Registry/Aliase (ml/parallel), ToolsPanel (COMMANDS_EDIT neben Offset),
CommandIcon, i18n de/en aufgenommen.

2 neue Tests. tsc -b / vitest run (916/916) / npm run build grün.
This commit is contained in:
2026-08-20 21:07:21 +02:00
parent 245b7d7fe1
commit 4f48b73267
7 changed files with 354 additions and 1 deletions
+9
View File
@@ -73,6 +73,15 @@ export function CommandIcon({ name }: { name: string }) {
<polyline points="6,12 6,7 14,7" />
</svg>
);
case "multiline":
// Drei parallele Linien (Basislinie + Kopien).
return (
<svg {...common}>
<line x1="2.5" y1="4" x2="13.5" y2="4" />
<line x1="2.5" y1="8" x2="13.5" y2="8" />
<line x1="2.5" y1="12" x2="13.5" y2="12" />
</svg>
);
case "trim":
// Schere (Stutzen).
return (