Linien: modulares Segment-System (Strich/Punkt/Luecke) + Loop-Vorschau
Der Linien-Editor ist modular: eine Linie ist eine geordnete, loopende Folge aus Segmenten Strich (Laenge), Punkt (Dot) und Luecke (Laenge) — beliebige Sequenzen (Volllinie/Strichlinie/Punktlinie/Strich-Punkt als Presets, plus frei), die Schluss-Luecke ist die letzte Luecke. Datenbasis bleibt LineStyle.dash (mm, alternierend); ein Punkt ist ein 0-Laengen-AN-Segment. Enthaelt dash eine 0, wird die Linie mit runder Kappe gezeichnet, damit Punkte als Dots erscheinen (Live + Print; GL/DXF Folgearbeit). Neue reine Segment-Logik in ui/lineSegments.ts. LineSwatch zeigt den ersten Loop dunkel und 2 weitere grau (Loop-Kontext). 14 neue Tests, 127 gruen.
This commit is contained in:
+9
-1
@@ -42,7 +42,15 @@ export interface LineStyle {
|
||||
weight: number;
|
||||
/** Farbe (hex). */
|
||||
color: string;
|
||||
/** Strichmuster in Millimetern; `null` = durchgezogen. */
|
||||
/**
|
||||
* Strichmuster in Millimetern, alternierend AN/AUS (`[on, off, on, off, …]`),
|
||||
* loopend; `null` = durchgezogen (Volllinie). Konvention des modularen
|
||||
* Segment-Systems (siehe `src/ui/lineSegments.ts`): ein AN-Wert von 0 bedeutet
|
||||
* einen PUNKT (Dot) — er wird nur mit runder Strichkappe sichtbar (die
|
||||
* betroffene Linie erhält dann `stroke-linecap: round`). So bilden sich
|
||||
* Volllinie/Strichlinie/Punktlinie/Strich-Punkt und frei modulare Folgen aus
|
||||
* Strich/Punkt/Lücke ab. Additiv — kein zusätzliches Feld nötig.
|
||||
*/
|
||||
dash: number[] | null;
|
||||
/**
|
||||
* Linien-Typ (additiv, Default `undefined` ⇒ "dash"):
|
||||
|
||||
Reference in New Issue
Block a user