Skip to content

v0.2.0

@SmoothDragon SmoothDragon tagged this 22 Sep 01:10
Sweeping cleanup pass to prepare for the first release since 0.1.2.

Library:
- Add crate-level rustdoc landing paragraph in src/lib.rs.
- Drop dead code: duplicate scad1d::MAX2 (kept scad2d::MAX2), Face::rotate,
  d2_path::truncated, commented-out d2_face/d2_hypocycloid mod lines in d3.rs.
- Mark reserved SvgProp / D1Prop config fields with #[allow(dead_code)] so
  they no longer produce warnings while remaining available for future use.
- Run cargo fix on unused imports; add per-test-module use crate::D2Trait to
  keep unit tests compiling.
- Build now emits zero warnings; all 98 unit tests pass.

Examples reorganization:
- Curate examples/ down to 12 files, each demonstrating a distinct library
  feature (2D primitives, 3D primitives, transforms, hull, minkowski,
  linear_extrude, iter_rotate, sub/add, SVG output, polygon_stack).
- Rename kept examples to drop the -scad suffix (cargo run --example brio
  instead of brio-scad).
- Move the remaining ~180 personal-model files to a new gallery/ package
  (flowscad-gallery) with its own Cargo.toml. Gallery has flowscad and
  bitperm as path deps, does not participate in flowscad's example build,
  and is excluded from the crate tarball via exclude = ["/gallery"].

Tests:
- Move orphaned tests/qhull/test_qhull*.rs (fn main-style scripts that were
  never discovered by cargo) into tests/test_qhull.rs as real #[test]
  functions. Both pass.
- Remove unused tests/qhull/octahedron.qhull fixture.

Docs:
- Rewrite README.md with an elevator pitch, install instructions, three
  code examples (2D, 3D, SVG), system-dependency hints, gallery blurb.
- Add CHANGELOG.md with a 0.2.0 entry.

Cargo.toml:
- Bump version 0.1.2 -> 0.2.0.
- Fix repository URL to match the actual remote.
- Remove stale exclude = ["/src/bin"].
- Add exclude = ["/gallery"] to keep the gallery out of the tarball.
- Switch bitperm from git dep to bitperm = { path = "../bitperm",
  version = "0.2.0" }, requiring bitperm 0.2.0 on crates.io. The
  circular flowscad<->bitperm dependency is resolved on the bitperm side
  by removing bitperm's flowscad dep entirely (see bitperm v0.2.0).

Co-authored-by: Cursor <cursoragent@cursor.com>
Assets 2
Loading