An experimental IDE for solid modeling with distance fields
See the codeHalfspace is an experimental IDE for doing solid modeling with distance fields.
It is lamentably underdocumented, but ships with a comprehensive set of examples (available in the Examples menu).
For more details on scripting, check out the
fidget::rhai
documentation (also linked in the Help menu).
Halfspace runs as either a web or native application.
Install Rust, then run
cargo run --release
Install Rust, wasm-bindgen, wasm-opt,
and npm.
just serve # serves a local copy of the app
just dist # builds the web app in `pkg/`
I don't use LLMs to write non-trivial code (or documentation) in Fidget or Halfspace. In particular, I eschew agentic systems like Claude Code. One goal of these projects is to find the "right" APIs and software architecture for working with implicit surfaces, and I have to be using the APIs myself to discover rough edges and seams. Agentic loops are incredibly good at bandaging over paper cuts, which would defeat the purpose.
However, I do use LLMs for code review (typically using GitHub Copilot) and brainstorming (occasional chats with frontier models). Along with correct API design, an overarching goal of the project is to be as good as possible on various axes: correctness, performance, usability, documentation, etc. Since I'm the sole author, adding an additional layer of review helps me deliver better software.
16 followers · starred Oct 2025
Rust
94.4%
WGSL
3.3%
An experimental IDE for solid modeling with distance fields
See the codeHalfspace is an experimental IDE for doing solid modeling with distance fields.
It is lamentably underdocumented, but ships with a comprehensive set of examples (available in the Examples menu).
For more details on scripting, check out the
fidget::rhai
documentation (also linked in the Help menu).
Halfspace runs as either a web or native application.
Install Rust, then run
cargo run --release
Install Rust, wasm-bindgen, wasm-opt,
and npm.
just serve # serves a local copy of the app
just dist # builds the web app in `pkg/`
I don't use LLMs to write non-trivial code (or documentation) in Fidget or Halfspace. In particular, I eschew agentic systems like Claude Code. One goal of these projects is to find the "right" APIs and software architecture for working with implicit surfaces, and I have to be using the APIs myself to discover rough edges and seams. Agentic loops are incredibly good at bandaging over paper cuts, which would defeat the purpose.
However, I do use LLMs for code review (typically using GitHub Copilot) and brainstorming (occasional chats with frontier models). Along with correct API design, an overarching goal of the project is to be as good as possible on various axes: correctness, performance, usability, documentation, etc. Since I'm the sole author, adding an additional layer of review helps me deliver better software.
16 followers · starred Oct 2025
Rust
94.4%
WGSL
3.3%