Native wgpu-Viewports (2D+3D) im Tauri-Prozess: echtes Modell + gehrte Ecken
- native.rs: EINE winit-EventLoop hostet 2D- und 3D-Fenster (winit erlaubt nur eine Loop pro Prozess) — loest den RecreationAttempt-Panic zweier Loops; ersetzt native2d.rs/native3d.rs. Feature-gegated (native2d/native3d, einzeln oder zusammen). - render2d/render3d laden das ECHTE Modell aus assets/native2d_scene.json bzw. native3d_walls.json (Demo-Szene als Fallback); initialer Ausschnitt/Kamera aus den Modell-Grenzen gerahmt, initialer Redraw + gesetzte Fenstergroesse. - TS-Konverter toRenderScene/toWalls3d + scripts/dump-native-scene erzeugen die JSON aus sampleProject/generatePlan (npm run dump:native). - render2d: Scene.polylines fuer zusammenhaengende Umriss-/Zeichnungslaeufe → Gehrung statt Stumpfkappen an Wandecken/2D-Geometrien; MITER_LIMIT 4→8 (deckungsgleich mit SVG stroke-miterlimit:8 und WebGL2). - native3d-Feature + render3d-Pfad-Dep in der Tauri-Crate.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
// Bundlet scripts/dumpNativeScene.ts mit esbuild für Node und führt es aus.
|
||||
// So läuft die echte TS-Modellpipeline (generatePlan) headless, ohne tsx.
|
||||
import esbuild from "esbuild";
|
||||
import { pathToFileURL } from "node:url";
|
||||
import { resolve } from "node:path";
|
||||
import { tmpdir } from "node:os";
|
||||
|
||||
const out = resolve(tmpdir(), `dump-native-scene.${process.pid}.mjs`);
|
||||
|
||||
await esbuild.build({
|
||||
entryPoints: ["scripts/dumpNativeScene.ts"],
|
||||
bundle: true,
|
||||
platform: "node",
|
||||
format: "esm",
|
||||
target: "node18",
|
||||
outfile: out,
|
||||
logLevel: "warning",
|
||||
});
|
||||
|
||||
await import(pathToFileURL(out).href);
|
||||
Reference in New Issue
Block a user