Why this matters
The hand-auditable CAD corpus covers Boolean, Fillet, Shell, Loft, Sweep, and patterned Cut, but it does not contain a dedicated Revolve case.
Scope
- Add one schema-5 part fixture using the existing advanced profile-sketch contract accepted by Revolve, an axis datum, a Revolve feature, and one resulting body.
- Do not implement the roadmap's currently unsupported first-class constrained-sketch Revolve path in this issue.
- Add at least two safe cumulative parameter mutations, such as profile size and partial sweep angle.
- Declare evaluated and reused features explicitly in the manifest.
- Update the corpus README inventory.
- Keep the case small enough to inspect by hand.
Relevant files
tests/cad-corpus/revolve-profile.partmode.json
tests/cad-corpus/manifest.json
tests/cad-corpus/README.md
Acceptance evidence
- Base and mutated documents round-trip canonically with stable SHA-256 hashes.
- Every variant produces exactly one valid OCCT solid with positive volume.
- Face, edge, and vertex names are complete and stable across safe mutations.
- Warm incremental evaluation and the declared dirty feature set are proven.
- Exact geometry evidence is required; screenshots, mesh counts, or schema declarations alone do not satisfy the issue.
Test commands
npm run build
npm run smoke:cad-regression
npm run smoke:feature-registry-runtime
npm run ci:gate
Contribution size
S: one compact fixture using an existing feature contract, two mutations, and manifest documentation.
Maintainer response expectation
Comment with the proposed fixture before starting. A maintainer will confirm that the existing Revolve contract and corpus scope are being used.
Why this matters
The hand-auditable CAD corpus covers Boolean, Fillet, Shell, Loft, Sweep, and patterned Cut, but it does not contain a dedicated Revolve case.
Scope
Relevant files
tests/cad-corpus/revolve-profile.partmode.jsontests/cad-corpus/manifest.jsontests/cad-corpus/README.mdAcceptance evidence
Test commands
Contribution size
S: one compact fixture using an existing feature contract, two mutations, and manifest documentation.
Maintainer response expectation
Comment with the proposed fixture before starting. A maintainer will confirm that the existing Revolve contract and corpus scope are being used.