Releases: sshirokov/csgtool
Mopey Maple
Capricious Cannabis
This release is a fix to an edge case of the binary .STL
file reader that could sometimes mistake arbitrary data for STL data, allocate memory for it, then fail promptly.
Now we fail even more promptly.
🌴 🎄 🌳 🌲
Flawless Fir
Addresses some consistency and accuracy issues.
- New code is in place to reject classes of polygons that can cause computational error that can be propagated.
- Some cases where operations were altering the bounding dimensions of the model by creating enormous spikes are now resolved.
- Memory allocation errors are now considered fatal to the process.
make DEBUG=1
build mode with development and debugging features- Mesh
audit
command added to report obvious file errors. - Exceptions from the
csg
Ruby Gem are now typeCSG::Error
instead ofException
💯 years csgtool, 💯 times.
Precarious Palm
This is a re-release of Careful Cherry which intruded a new line reader, but bumping a Gemspec version as well.
PROGRAMMING
Careful Cherry
This release incorporates fixes to the STL text reader, as well as removing a potential segfault in a failed read.
Social Cedar
This is a minor bump over v0.1.0
"Disruptive Oak" that adds back support for writing Zero-polygon STL files.
Way to programming! 🐈 💨 💥
Disruptive Oak
This release adds the mesh_t
based C API which decouples the core
concern of the library from the STL-specific parts of the code. The old API exists, but some
signatures have changed.
Under the mesh_t
API files are read into a generic mesh_t
type capable of participating in BSP operations and interrogation.
Reading is accomplished with the mesh_t* mesh_read_file(char *file_path)
function, and
writing with mesh->write(mesh, file_path, "STL")
regardless of backing implementation.
As a result this release changes the Ruby API completely.
- Removes
CSG::STLObject
- Removes
CSG::Solid.to_stl
- Removes a
CSG::stl_*
- Adds
CSG::Native::Mesh
- Changes how a
Solid
writes - Changes how a
Solid
functions internally
See csgtool.rb
for details. And the new tests/mesh.c
for details on the mesh_t
C API.
Suspicious Shrub
No code changes, but this includes the MIT license in the Gemspec.
©️ 👮 👍
Smoldering Willow
Hot off the presses, this no longer segfaults in complex models with lots of intersections.
Full details in #46
Weeping Pines
This is the first non-pre release. The reasons and changes are as follows:
- Support for polygons with
> POLY_MAX_VERTS
POLY_MAX_VERTS
is tunable as a compile-time-D
- No more memory leaks. At all that I can find
- No more
assert()
in complex operations
Increased stability for everyone!