Linien-/Random-Editor: Strich-Segmente, Vollinie, Random-Kontrollen; Weight raus
Linien-Editor: Umschalter Vollinie (dash null) / Strich mit editierbarer Segment-Liste (mm, alternierend Strich/Luecke, hinzufuegen/entfernen), Live- Vorschau. Das Strichstaerken-Feld ist aus dem Linien-Editor entfernt — LineStyle.weight ist @deprecated (bleibt Render-Fallback), die echte per-Element-Aufloesung (Attribut->Ebene->Default) folgt separat. Random-Schraffur: additive HatchStyle-Parameter seed/density/lengthMin/Max + Neu-wuerfeln-Button (neuer Seed nur zur Editzeit). buildRandomHatchRuns mischt den expliziten Seed in den Hash und nutzt Dichte/Laenge — Determinismus gewahrt (gleicher Seed+Flaeche => gleiche Streuung), ueber alle Renderpfade konsistent, da alle aus derselben Funktion ziehen. resolveHatch/HatchRender reichen die Parameter rein additiv durch. 2 neue Tests.
This commit is contained in:
@@ -135,6 +135,15 @@ export interface HatchRender {
|
||||
lines?: "parallel" | "random";
|
||||
/** Bild-Muster-Parameter (nur `kind==="image"`); durchgereicht aus dem HatchStyle. */
|
||||
image?: { src: string; scaleX: number; scaleY: number; rotation: number };
|
||||
/**
|
||||
* Steuer-Parameter der Random-Vektor-Streuung (nur `lines==="random"`), 1:1 aus
|
||||
* dem HatchStyle durchgereicht. Alle optional — die eigentliche Erzeugung/
|
||||
* Default-Auflösung liegt zentral in `glPlan/glPlanHatch.ts` (single render truth).
|
||||
*/
|
||||
seed?: number;
|
||||
density?: number;
|
||||
lengthMin?: number;
|
||||
lengthMax?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -307,6 +316,11 @@ export function resolveHatch(
|
||||
kind: h.kind,
|
||||
lines: h.lines,
|
||||
image: h.image,
|
||||
// Random-Streu-Parameter unverändert durchreichen (Erzeugung in glPlanHatch).
|
||||
seed: h.seed,
|
||||
density: h.density,
|
||||
lengthMin: h.lengthMin,
|
||||
lengthMax: h.lengthMax,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user