Files
DOSSIER-STANDALONE/src-tauri/Cargo.toml
T
karim c93b168f5c Add native2d feature: wgpu 2D viewport window inside Tauri process
Spawns a GTK-free winit window with its own wgpu surface from Tauri's
setup hook on a background thread, sidestepping the WebKitGTK surface
contention on Wayland. Reuses render2d's renderer via a shared demo
module. Opt-in behind the native2d cargo feature; default build
unaffected.
2026-07-02 01:26:07 +02:00

44 lines
1.7 KiB
TOML

[workspace]
members = [".", "geometry"]
# render2d/render3d sind eigenstaendige Crates (jeweils eigener [workspace]), damit
# sie headless ohne Tauri-Toolchain baubar/testbar bleiben. Sie liegen zwar im
# src-tauri-Baum, gehoeren aber NICHT zum cad-tauri-Workspace — hier ausschliessen,
# damit `cad-tauri` sie dennoch per Pfad als (optionale) Abhaengigkeit nutzen kann.
exclude = ["render2d", "render3d"]
[package]
name = "cad-tauri"
version = "0.1.0"
edition = "2021"
[lib]
# Der Tauri-v2-Bibliotheksname; staticlib/cdylib fuer Mobile, rlib fuer Desktop.
name = "cad_tauri_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[features]
# Standard: reine Tauri-App (Webview + invoke). KEIN wgpu/winit.
default = []
# M2-Spike: nativer wgpu-2D-Viewport im Tauri-Prozess (eigenes winit-Fenster).
# Zieht render2d(+window) sowie winit/wgpu/pollster. Bewusst OPT-IN, damit der
# normale Build unveraendert schlank bleibt.
native2d = ["dep:render2d", "dep:winit", "dep:wgpu", "dep:pollster"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
geometry = { path = "geometry" }
# --- M2-Spike (nur mit Feature "native2d") -----------------------------------
# render2d ist eine eigenstaendige Crate (eigener leerer [workspace]); wir binden
# sie hier per Pfad ein und aktivieren ihr GPU-Fenster-Feature "window".
render2d = { path = "render2d", features = ["window"], optional = true }
# Versionen an render2d gekoppelt (identische raw-window-handle 0.6-Kette).
winit = { version = "0.30", optional = true }
wgpu = { version = "22", optional = true }
pollster = { version = "0.3", optional = true }