From 8cfe6c25216cbe2518e74b329bd349289d907036 Mon Sep 17 00:00:00 2001 From: Karim Date: Thu, 2 Jul 2026 22:31:27 +0200 Subject: [PATCH] =?UTF-8?q?HANDOVER:=20Engine-Nordstern=20=E2=80=94=20exak?= =?UTF-8?q?te=20Breiten,=20Druck=3DBildschirm,=20Headless,=20HLR,=20WebKit?= =?UTF-8?q?-Unabhaengigkeit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HANDOVER.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/HANDOVER.md b/HANDOVER.md index afec519..6c6720c 100644 --- a/HANDOVER.md +++ b/HANDOVER.md @@ -41,6 +41,30 @@ Code/Doku noch in der Git-Historie. vor dem Edit frisch lesen (der „modified since read"-Guard verhindert blindes Überschreiben). +## >>> ENGINE-NORDSTERN (User-Direktive 2026-07-02): die volle Engine-Vision <<< + +Der User hat explizit beauftragt, die Engine-Vision KOMPLETT anzustreben ("wir brauchen +exakte breiten usw. strebe bitte das komplett an!"). render2d/render3d sind nicht nur +Viewport-Ersatz, sondern werden die EINZIGE Render-Wahrheit des CAD: + +1. **Papier-mm-exakte Strichbreiten** überall — Bildschirm bei jedem Maßstab/Zoom = Druck. +2. **Deterministische Plan-Ausgabe:** Druck/PDF mm-genau identisch zum Bildschirm, beides aus + render2d (kein separater Druckpfad). Vektor-PDF-Backend = dieselbe Szene, anderes Target. +3. **Headless-Rendering:** PNG/PDF-Export und Golden-Image-Tests ohne Fenster (die + serde-only/GPU-Trennung in render2d existiert genau dafür; wgpu kann offscreen). +4. **HLR/Schnitt-Pipelines** durch die Engine (render3d → Kantenextraktion → render2d-Szene). +5. **Eine Wahrheit:** SVG-/WebGL2-Geometriepfade im Browser schrittweise durch die + WASM/WebGPU-Engine ersetzen (`?engine=wasm`-Spike ist der Anfang); SVG bleibt nur + Interaktions-/Overlay-Schicht. Bereits gefundene Duplikations-Bugs: Wandecken-Kerben, + fehlende Strichelung im WebGL2-Pfad. + +6. **WebKit-Unabhängigkeit** (explizit vom User betont): kein Render- oder Ausgabepfad darf + von WebKitGTK abhängen. Brücke = Chromium-Shell (`npm run shell`), Endzustand = All-Native + (ein Rust-Prozess, Engines + natives UI, kein Webview). + +Praxisregel ab jetzt: Darstellungs-Features NICHT mehr mehrfach (SVG/WebGL2/nativ) bauen, +sondern einmal in der Engine + dünne Anbindungen. + ## >>> AUFGABE FÜR NEUE INSTANZ: 2D-Plan auf WebGL-GPU-Renderer (ZUERST) <<< **Warum:** Tauri-Linux-Webview = **WebKitGTK**, das SVG/2D auf der **CPU (Cairo)** rastert.