bda256d3a4
- 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.
44 lines
1.1 KiB
JSON
44 lines
1.1 KiB
JSON
{
|
|
"name": "cad",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"tauri": "tauri",
|
|
"tauri:dev": "tauri dev",
|
|
"tauri:build": "tauri build",
|
|
"dump:native": "node scripts/dump-native-scene.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@mlightcad/libredwg-web": "^0.7.7",
|
|
"@tauri-apps/api": "^2.11.1",
|
|
"delaunator": "^5.1.0",
|
|
"dxf-parser": "^1.1.2",
|
|
"jspdf": "^4.2.1",
|
|
"jszip": "^3.10.1",
|
|
"opencascade.js": "^1.1.1",
|
|
"polygon-clipping": "^0.15.7",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"svg2pdf.js": "^2.7.0",
|
|
"three": "^0.169.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tauri-apps/cli": "^2.11.4",
|
|
"@types/react": "^18.3.11",
|
|
"@types/react-dom": "^18.3.0",
|
|
"@types/three": "^0.169.0",
|
|
"@vitejs/plugin-react": "^4.3.2",
|
|
"playwright": "^1.61.1",
|
|
"puppeteer": "^25.2.1",
|
|
"typescript": "^5.6.2",
|
|
"vite": "^5.4.8",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|