God-Files aufgeteilt (ResourceManager/generatePlan/toWalls3d/App.tsx-Handler), Totcode entfernt (geometry-Crate, OCCT/HLR-Spike), PDF/Bild-Import ergänzt.
ResourceManager.tsx, generatePlan.ts und toWalls3d.ts sind nach Bauteil- Domäne in src/ui/resourceManager/, src/plan/generatePlan/ und src/plan/toWalls3d/ aufgeteilt (reine Verschiebung, keine Verhaltens- änderung). App.tsx verliert weitere Handler-Gruppen an eigene Hooks (useExportHandlers, useImportHandling, useKeyboardShortcuts) sowie Hit-Testing an src/viewport/planHitTest.ts. Unbenutzte Rust-geometry-Crate (durch WASM-Joins abgelöst) sowie der alte OCCT/HLR-Schnitt-Spike (hlr.ts/occt.ts, vite occt-Aliases) entfernt. Neu: PDF-Import als Rasterbild (src/io/pdfImport.ts) + gemeinsamer Bild-Asset-Helfer (src/io/imageAsset.ts) für Plan- und Layout-Bilder. tsc -b sauber, vitest 891/891 grün.
This commit is contained in:
@@ -21,24 +21,6 @@ const wasmPath = fileURLToPath(
|
||||
),
|
||||
);
|
||||
|
||||
// opencascade.js (Welle-C-HLR-Spike) verpackt Emscripten-Glue + `.wasm` in
|
||||
// `dist/`, ohne sinnvolle `exports`. Analog zu LibreDWG mappen wir zwei
|
||||
// virtuelle Module auf die echten Dateien, damit Vite die (große) WASM als
|
||||
// gehashtes Asset ausgibt (Dev mit korrektem MIME, Build als Asset). Der Import
|
||||
// im Code ist dynamisch → die WASM bleibt aus dem Haupt-Bundle heraus.
|
||||
const occtGluePath = fileURLToPath(
|
||||
new URL(
|
||||
"./node_modules/opencascade.js/dist/opencascade.wasm.js",
|
||||
import.meta.url,
|
||||
),
|
||||
);
|
||||
const occtWasmPath = fileURLToPath(
|
||||
new URL(
|
||||
"./node_modules/opencascade.js/dist/opencascade.wasm.wasm",
|
||||
import.meta.url,
|
||||
),
|
||||
);
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
@@ -51,15 +33,8 @@ export default defineConfig({
|
||||
alias: {
|
||||
"virtual:libredwg-glue": gluePath,
|
||||
"virtual:libredwg-wasm-url": wasmPath + "?url",
|
||||
"virtual:occt-glue": occtGluePath,
|
||||
"virtual:occt-wasm-url": occtWasmPath + "?url",
|
||||
},
|
||||
},
|
||||
// Emscripten-Glue nicht vor-bündeln (esbuild kommt mit dem UMD-Wrapper +
|
||||
// Node-Shims nicht klar); der dynamische Import lädt sie zur Laufzeit.
|
||||
optimizeDeps: {
|
||||
exclude: ["opencascade.js"],
|
||||
},
|
||||
server: {
|
||||
host: true,
|
||||
// Fester Port für die Tauri-Integration (tauri.conf.json zeigt hierauf).
|
||||
|
||||
Reference in New Issue
Block a user