2D-Engine-Parität: WASM-Pfad rendert deckungsgleich zum SVG-Referenzpfad
Sechs Lücken geschlossen: Text-Massstab vom Geometrie-Massstab entkoppelt (set_text_scale, spiegelt SVG-Referenzskala); glyphon auf ColorMode::Web (Text war linear-konvertiert zu dunkel); z-basierte Maler-Reihenfolge (interleavte draw_sequence statt fills-vor-lines, Alt-Szenen unverändert); CSS-Klassenfarben/-Opacities in toRenderScene gespiegelt (Türschwenk etc.); greyed-Dimmung 0.3 auf allen Primitiven; Dämmschraffur am Modell-Ursprung verankert (userSpaceOnUse), exakte Bézier-Wellenform statt Sinus und kachelgekoppelte Strichbreite (widthScreen-Modus). Probe scripts/probe-engine-parity.mjs vergleicht ?gl=0 gegen ?engine=wasm; Rest-Diff nur AA/Glyphen-Rasterung. cargo 17/17, vitest 94/94, Builds grün.
This commit is contained in:
@@ -32,10 +32,12 @@ pub fn demo_scene() -> Scene {
|
||||
FillPolygon {
|
||||
pts: l.clone(),
|
||||
color: wall_grey,
|
||||
z: 0,
|
||||
},
|
||||
FillPolygon {
|
||||
pts: room.clone(),
|
||||
color: room_blue,
|
||||
z: 2,
|
||||
},
|
||||
],
|
||||
outlines: vec![
|
||||
@@ -44,12 +46,14 @@ pub fn demo_scene() -> Scene {
|
||||
color: ink,
|
||||
width_mm: 0.35,
|
||||
dash: None,
|
||||
z: 1,
|
||||
},
|
||||
Outline {
|
||||
pts: room,
|
||||
color: ink,
|
||||
width_mm: 0.18,
|
||||
dash: None,
|
||||
z: 3,
|
||||
},
|
||||
],
|
||||
polylines: vec![],
|
||||
@@ -60,6 +64,7 @@ pub fn demo_scene() -> Scene {
|
||||
color: ink,
|
||||
width_mm: 0.25,
|
||||
dash: None,
|
||||
z: 4,
|
||||
}],
|
||||
// Ein Raumstempel-artiger Text (echte Glyphen via Atlas), mittig im Raum.
|
||||
texts: vec![Text {
|
||||
|
||||
Reference in New Issue
Block a user