Skip to content

General Minkowski sum and difference #88

Description

@GeneralPawz

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.

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

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions