8fd8987b70
Neuer GPU-Renderer fuer den Grundriss (src/plan/glPlan/): Earcut-Tessellierung (konkav-faehig), gehrte Linienzuege (Miter), echte Papier-mm-Strichbreiten im Massstab (repliziert den SVG-printStrokeVb-Pfad), Hybrid mit scharfem SVG-Text- Overlay. GPU ist der Standardpfad; der SVG-Renderer bleibt automatischer Fallback, falls WebGL2/Shader nicht verfuegbar sind. Imperativer Pan (rAF + CSS-transform) fuer fluessige Interaktion ohne React-Re-Render je Frame. Enthaelt zudem den bisher nicht committeten Arbeitsstand des Browser-BIM (Oeffnungen, Treppen, Raeume, Decken, DXF-Export, Materialbibliothek, Kontext- Import, Tauri-Compute-Boundary-PoC).
17 lines
633 B
Rust
17 lines
633 B
Rust
// Paritaets-Harness: liest ein JoinInput-JSON von stdin, rechnet compute_joins
|
|
// und schreibt das WallCuts-JSON nach stdout. Dient dem TS<->Rust-Vergleich
|
|
// (siehe src/compute/parity.test.ts) — identische Eingabe, identische Ausgabe.
|
|
|
|
use std::io::Read;
|
|
|
|
fn main() {
|
|
let mut buf = String::new();
|
|
std::io::stdin()
|
|
.read_to_string(&mut buf)
|
|
.expect("stdin lesen");
|
|
let input: geometry::JoinInput = serde_json::from_str(&buf).expect("JoinInput parsen");
|
|
let cuts = geometry::compute_joins(input);
|
|
let out = serde_json::to_string(&cuts).expect("WallCuts serialisieren");
|
|
println!("{out}");
|
|
}
|