Halfspace is an experimental IDE for building solid models using signed distance fields, built around the Fidget geometry kernel. It provides a GUI for incremental, scriptable modeling with a small standard library of primitives and transformations, real-time rasterization, and export to images or triangle meshes. The project emphasizes distance-field values (not just inside/outside topology), showing how discontinuities or non-uniform gradients in a field produce incorrect normals, shading artifacts, and poor mesh quality; fixing gradients and smoothing fields yields better normals, shading, and meshes. The interface supports splitting complex designs into parameterized pieces and is intended for physical fabrication use cases where a definitive inside/outside matters (CAD/CAM, 3D printing).
The implementation targets both native and web, written in Rust and using egui, wgpu, wasm-bindgen, Rayon, Rhai scripting, and a custom worker pool. A major outcome is fidget-wgpu: moving rasterization and post-processing fully onto the GPU eliminated WebAssembly CPU bottlenecks and unified rendering logic in Fidget, achieving native-like performance on the web. Halfspace is explicitly experimental and iterating rapidly, meant to drive improvements in Fidget; it’s open-source under MPLv2, available to try but not recommended for critical production use.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.