hraness
Theme
Appearance

saved

Halfspace

by Matt KeeterMatt Keeter

Hraness wrote this summary from a saved copy of the source. Quotations are taken word for word from the source.

gist

Matt Keeter presents Halfspace, an experimental IDE for solid modeling with distance fields built on his Fidget kernel. The writeup covers incremental scripting, diagnosing discontinuous fields, a Rust plus egui and wgpu stack for native and web, and GPU rasterization that restored interactive speed in the browser. He calls the tool a learning vehicle, not production CAD.

ideas

  • Halfspace puts distance fields in the foreground. Instead of only constructive solid geometry primitives, the IDE visualizes field values so modelers can see discontinuities and gradient quality that break normals and shading.
  • Assembly pain gets both libraries and better tooling. Keeter compares raw implicits to writing assembly, then ships a growing shape library while also making incremental, parameterized submodels easy to inspect alone.
  • Bad fields look identical by sign and fail by value. A sawtooth example shares inside or outside signs yet carries a jump discontinuity that sends automatic-differentiation normals the wrong way and shades cabin shingles incorrectly.
  • The stack targets native and web together. Rust, egui, wgpu, Rhai, and Rayon plus wasm-bindgen-rayon let him ship one application that people can try from a link without compiling locally.
  • Fidget gained a GPU path from the product pressure. fidget-wgpu moved rasterization and shading onto the GPU so WebAssembly builds stay interactive and Halfspace can keep thin display shaders.

quotes

“Working with low-level implicit surfaces is a bit like writing assembly: it's low-level, powerful, and annoying.”

Matt Keeter

“Right now, it would be a very bold decision to use Halfspace in any load-bearing capacity.”

Matt Keeter

“Halfspace is a thing that exists!”

Matt Keeter