Problem
#78 delivered constant-distance offset and shelling, and explicitly narrowed
general Minkowski sum out of scope with the reasoning recorded: offset by a
sphere is the special case worth having, the general operation is
substantially heavier, and "CGAL has it" is not by itself a product
requirement.
That narrowing was right at the time. This issue exists so the gap is
tracked rather than forgotten, and so it is picked up when a consumer needs
it — not before.
Manifold has MinkowskiSum / MinkowskiDifference; CGAL has
minkowski_sum_3.
Why it matters
The named consumer, when it appears, is clearance and tool-path work:
sweeping a cutter profile along a path, or growing an obstacle by a robot's
footprint to test reachability. Both are Minkowski sums with a non-spherical
structuring solid, which #78's miter offset cannot express.
Blocked on
A named consumer. This is deliberately not scheduled. Do not implement it
speculatively — the v0.9 offset work covers the cases we currently have, and
this issue should stay open until something concrete needs it.
Scope (when unblocked)
Not in scope
- Minkowski on meshes with attributes.
- Any GPU path.
Verification
bash scripts/gate.sh
- The Minkowski sum of two boxes is a box with summed extents, volume-checked
against the closed form.
- A convex sum agrees with the convex hull of pairwise vertex sums.
- A non-convex sum agrees with the union of its per-part sums.
- Every result passes v0.7 diagnosis.
- Mutation probe: skip the convex decomposition and treat a non-convex
operand as convex; the non-convex volume test must fail.
Problem
#78 delivered constant-distance offset and shelling, and explicitly narrowed
general Minkowski sum out of scope with the reasoning recorded: offset by a
sphere is the special case worth having, the general operation is
substantially heavier, and "CGAL has it" is not by itself a product
requirement.
That narrowing was right at the time. This issue exists so the gap is
tracked rather than forgotten, and so it is picked up when a consumer needs
it — not before.
Manifold has
MinkowskiSum/MinkowskiDifference; CGAL hasminkowski_sum_3.Why it matters
The named consumer, when it appears, is clearance and tool-path work:
sweeping a cutter profile along a path, or growing an obstacle by a robot's
footprint to test reachability. Both are Minkowski sums with a non-spherical
structuring solid, which #78's miter offset cannot express.
Blocked on
A named consumer. This is deliberately not scheduled. Do not implement it
speculatively — the v0.9 offset work covers the cases we currently have, and
this issue should stay open until something concrete needs it.
Scope (when unblocked)
case: the sum of two convex polyhedra is the convex hull of the pairwise
vertex sums, and Convex hull provider over point sets and meshes #76's hull already provides that.
through General exact boolean over planar-faced solids #77's exact boolean.
Not in scope
Verification
bash scripts/gate.shagainst the closed form.
operand as convex; the non-convex volume test must fail.