Modern Stack
The 3D printing software ecosystem has been building on the same foundation for over a decade. At some point you have to modernize the base or you're just stacking features on top of technical debt. We decided to rip off the bandaid.
"I built a powerful PC for slicing large, complex models. With Arachne on, it took almost an hour to slice a 200mm x 200mm x 160mm molecule model. CPU was used fully for a few seconds then only one core was at intermittent 100% with 31 sitting idle. preFlight did the same slicing in about 80 seconds. 50 times faster."
- Immortal_Tuttle on Reddit
True 64-bit Architecture
Every other major slicer uses 32-bit coordinate types internally. preFlight moved to native 64-bit throughout, eliminating overflow bugs on large prints and matching Clipper2's native types. Clipper2 is compiled with 10-decimal precision, far exceeding the standard used by other slicers built on the same geometry library.
Modernized Dependencies
C++20, Clipper2, Boost 1.90, CGAL 6.1, OpenCASCADE 7.9, Eigen 5.0. We replaced GMP/MPFR, killed GLEW in favor of GLAD, and fixed memory leaks that accumulated gigabytes over long sessions. The Clipper1 to Clipper2 migration alone took months to get right and touched every polygon operation in the codebase. There's a reason no other fork has attempted it.
Built Upstream, Not Bolted On
It would have been easier to slap on features in post-processing, which is how others tend to do it. We took a different approach and modernized at the source. Our features are built upstream, not bolted on in post. It's not glamorous work, but it's what makes everything else possible.
In-Memory Processing
preFlight processes everything in memory with no temporary files. This results in roughly 50% less RAM usage compared to legacy slicers while maintaining full processing fidelity. Fewer disk writes also means faster slicing and no leftover temp files cluttering your system.
Unified G-code Pipeline
GCodeObject is a unified data model that carries both raw G-code text and structured move data through the entire pipeline: generation, preprocessing, preview, and export. Before this, G-code was generated as text, then fully re-parsed to extract move data for the preview. That re-parse is gone. Move processing now streams during generation, so the data is built once and flows through every stage without redundant work.