Korrektur: Wand/Decke bleiben bei "Nach Bauteil" als Default, nur
Drawing2D wechselt auf "Nach Ebene"
Nutzer-Korrektur zum vorigen Commit: "eine Wand usw soll weiterhin
nach Bauteil haben und die weisser Grund und schwarzer Vordergrund
haben. Also nach Bauteil. 2D Elemente haben aber bei Attribute kein
nach Bauteil!!!" -- der vorige Commit hatte den Default global (auch
für Wand/Decke) auf "Nach Ebene" umgestellt, was die neutrale SIA-
Poché-Konvention (weisser Grund/schwarzer Vordergrund über die
Bauteil-Kette) durch die rohe Ebenenfarbe ersetzt hätte.
resolveForeground/resolveBackground/resolveHatchId/resolveStrokeWeight
(plan/generatePlan/shared.ts) sind zurückgesetzt auf ihr ursprüngliches
Verhalten: `source === "layer"` (fehlend/"object" ⇒ weiterhin Bauteil-
Kette, DEFAULT bei Wand/Decke). Der elementart-abhängige Default sitzt
jetzt an den AUFRUFERN statt im generischen Resolver:
• Wand/Decke (selectionInfo.ts): rohes Source-Feld unverändert
durchgereicht -- Default bleibt "Nach Bauteil".
• Drawing2D (selectionInfo.ts drawingSelection): `d.foregroundSource
?? "layer"` usw. VOR dem Resolver -- Default wird dort explizit
"Nach Ebene" (kein eigenes Bauteil, "Nach Bauteil" bietet das Panel
für 2D-Elemente ohnehin nicht mehr an, s. vorletzter Commit).
• AttributesPanel.tsx uiSourceOf() bekommt einen isDrawing-Parameter
für denselben elementart-abhängigen Default in der Dropdown-
Anzeige.
+Tests in shared.resolve.test.ts auf die jetzt korrekten Erwartungen
umgeschrieben (Default bleibt Bauteil, explizites "layer" liefert die
Kategorie, Drawing2D-Aufrufer-Mapping separat geprüft). tsc/vitest
934/934 grün.
This commit is contained in:
@@ -1067,16 +1067,19 @@ function drawingSelection(project: Project, d: Drawing2D): Selection {
|
||||
// „Nach Bauteil"-Option im Panel, s. AttributesPanel.tsx) — als Platzhalter
|
||||
// ein leeres Bauteil, dessen foreground/background/hatchId immer fehlen,
|
||||
// sodass die Kette bei einem (aus Alt-Daten) expliziten `source:"object"`
|
||||
// korrekt auf „kein Wert" statt einer erfundenen Bauteilfarbe fällt.
|
||||
// korrekt auf „kein Wert" statt einer erfundenen Bauteilfarbe fällt. Anders
|
||||
// als bei Wand/Decke (Default „Nach Bauteil") gilt bei Drawing2D „Nach
|
||||
// Ebene" als Default — daher hier explizit `?? "layer"` VOR dem Resolver
|
||||
// (der selbst weiterhin generisch „Nach Bauteil" als Default kennt).
|
||||
const noComponent = { id: "", name: "", color, hatchId: "", joinPriority: 0 };
|
||||
const effectiveForeground = closed
|
||||
? resolveForeground(noComponent, d.foreground, cat, d.foregroundSource)
|
||||
? resolveForeground(noComponent, d.foreground, cat, d.foregroundSource ?? "layer")
|
||||
: undefined;
|
||||
const effectiveBackground = closed
|
||||
? resolveBackground(noComponent, d.background, cat, d.backgroundSource)
|
||||
? resolveBackground(noComponent, d.background, cat, d.backgroundSource ?? "layer")
|
||||
: undefined;
|
||||
const effectiveHatchId = closed
|
||||
? resolveHatchId(d.hatchId, d.hatchSource, cat, undefined)
|
||||
? resolveHatchId(d.hatchId, d.hatchSource ?? "layer", cat, undefined)
|
||||
: null;
|
||||
return {
|
||||
kind: "drawing2d",
|
||||
|
||||
Reference in New Issue
Block a user