Echte Fonts im nativen 2D: glyphon-Glyphenatlas statt Browser-Overlay

Raumstempel-Text rendert jetzt im nativen wgpu-Fenster mit echten
TrueType-Glyphen (Inter, Systemfonts via cosmic-text) ueber einen
GPU-Glyphen-Atlas — im selben 4x-MSAA-Pass nach der Geometrie.
Schriftgroesse in Papier-mm (gleiche Formel wie Strichbreiten, skaliert
mit dem Zoom); die Bridge flacht Rich-Text-Stempel + Zusatzzeilen
zeilenweise auf serde-kompatible texts ab (Layout wie der SVG-Pfad).
This commit is contained in:
2026-07-02 20:28:40 +02:00
parent d39244989b
commit 0337422ae6
10 changed files with 620 additions and 24 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
// Erzeugt aus dem echten Modell (sampleProject → generatePlan) die JSON-Dateien,
// die die nativen wgpu-Fenster (render2d/render3d) beim Start laden:
// src-tauri/assets/native2d_scene.json (RScene: fills/outlines/lines)
// src-tauri/assets/native2d_scene.json (RScene: fills/outlines/lines/texts)
// src-tauri/assets/native3d_walls.json (RWall[])
// Wird via scripts/dump-native-scene.mjs (esbuild-Bundle) unter Node ausgeführt.
@@ -30,7 +30,7 @@ writeFileSync(scenePath, JSON.stringify(scene));
writeFileSync(wallsPath, JSON.stringify(walls));
console.log(
`native2d_scene.json: ${scene.fills.length} fills, ${scene.outlines.length} outlines, ${scene.lines.length} lines`,
`native2d_scene.json: ${scene.fills.length} fills, ${scene.outlines.length} outlines, ${scene.lines.length} lines, ${scene.texts.length} texts`,
);
console.log(`native3d_walls.json: ${walls.length} walls`);
console.log(`${outDir}`);