Skip to content

brep-boolean: a report at Tolerance::ZERO can carry a decision with linear 0 (breaks the #236 contract) #251

Description

@GeneralPawz

Found while working on #243. #236's contract says that at `Tolerance::ZERO` the report is always empty: the result is the exact boolean of the operands as given, or a named refusal. But a support reading whose f64 measure is exactly 0 while the exact predicate fails is recorded as a decision with linear 0.0. Seen: `PlanePerpendicularToAxis` with linear 0.0 under a general placement at ZERO.

Expected

At ZERO a reading the exact predicate rejects must not be taken. Either the exact answer is used (the configuration is decided exactly as not perpendicular) or the operation is refused by name. The report stays empty, and a test pins it.

Done when

A general-placement case that produced the linear-0 decision returns an empty report or a named refusal at ZERO. All report kinds are audited for the same pattern.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

needs-triageFiled but not yet accepted, sized, or scheduled

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions