715e950d7c
- src-tauri/dwgimport: eigenstaendiges Crate (cdylib+rlib, eigener [workspace]), dep acadrust 0.4 (MPL-2.0, pure Rust). parse_dxf_summary(bytes) via DxfReader::from_reader + Cursor<Vec<u8>> -> JSON (version/entityCount/ entityTypeCounts/layerNames). wasm-Fassade parse_dxf_summary_json. - getrandom wasm_js-Feature noetig (transitiv via ahash) -> als Dep gesetzt. - Kernbeweis: acadrust kompiliert nach wasm32 (839 KB), DXF-Parse headless getestet (5 Entities korrekt). Beweist den DWG/DXF-Import-Weg im Rust/WASM-Kern. - build:dwgimport-Script, src-tauri/Cargo.toml exclude erweitert.
37 lines
1.4 KiB
TOML
37 lines
1.4 KiB
TOML
# Eigener leerer Workspace-Block: entkoppelt dwgimport vollstaendig vom
|
|
# cad-tauri-Workspace (src-tauri/Cargo.toml). Muster: kernel2d/render2d.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "dwgimport"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "DXF-Import-Probe: beweist, dass acadrust (MPL-2.0) aus einem Byte-Buffer parst und nach wasm32-unknown-unknown kompiliert."
|
|
|
|
# cdylib: fuer wasm-pack (Feature \"web\"). rlib: fuer cargo test + Pfad-Dep.
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[features]
|
|
# Standard: headless, kein WASM-Overhead — per `cargo test` pruefbar.
|
|
default = []
|
|
# Browser-Bindings: wasm-bindgen-Fassade; nur fuer wasm32-unknown-unknown.
|
|
web = ["dep:wasm-bindgen", "dep:serde_json", "dep:console_error_panic_hook"]
|
|
|
|
[dependencies]
|
|
# DXF/DWG-Parser (MPL-2.0), von crates.io.
|
|
acadrust = "0.4"
|
|
|
|
# getrandom wird transitiv via ahash→acadrust gezogen. Fuer wasm32 muss das
|
|
# Feature "wasm_js" explizit aktiviert werden (sonst Compile-Fehler).
|
|
# Direkte Dep mit Feature-Aktivierung unifiziert das Flag fuer alle Abhaengigen.
|
|
getrandom = { version = "0.3", features = ["wasm_js"] }
|
|
|
|
# Serialisierung: immer vorhanden (fuer den headless parse_dxf_summary-Kern).
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", optional = true }
|
|
|
|
# WASM-Bindings — nur im Feature "web" aktiv.
|
|
wasm-bindgen = { version = "0.2", optional = true }
|
|
console_error_panic_hook = { version = "0.1", optional = true }
|