synaps-cad

SynapsCAD fuzzing

This unpublished cargo-fuzz package separates cheap syntax/evaluator campaigns from exact geometry and preview rendering:

List and run bounded campaigns:

cargo +nightly fuzz list
cargo +nightly fuzz run fuzz_compile_arbitrary -- -max_total_time=60
cargo +nightly fuzz run fuzz_compile_structured -- -timeout=30 -max_total_time=60
cargo +nightly fuzz run fuzz_expression_control -- -max_total_time=60
cargo +nightly fuzz run fuzz_shape_operations -- -timeout=30 -max_total_time=60
cargo +nightly fuzz run fuzz_shape_catalog -- -timeout=30 -max_total_time=60
cargo +nightly fuzz run fuzz_mesh_conversion -- -max_total_time=60
cargo +nightly fuzz run fuzz_text_pipeline -- -max_total_time=60
cargo +nightly fuzz run fuzz_full_pipeline -- -timeout=30 -max_total_time=60

The fuzz package enables fuzz-bounded-campaign, which caps fragment counts at 32 and range expansion at 256 elements. Production builds retain normal OpenSCAD behavior. Exact geometry targets also bound syntax depth, primitive size, and operation count to keep sanitizer throughput useful.