PolarizedShape.java

package com.varnernet.gerb4j.render;

import com.varnernet.gerb4j.Polarity;

import java.awt.Shape;

/**
 * A single Gerber shape paired with its polarity.
 *
 * <p>DARK polarity means the shape adds material; CLEAR polarity means it removes material.
 * Consumers such as CAM tool-path planners can use this list to reason about individual features
 * without committing to a single fused {@link java.awt.geom.Area}.
 *
 * @param shape    The geometric shape in Gerber coordinate space (Y-up, no scale).
 * @param polarity DARK (adds material) or CLEAR (removes material).
 */
public record PolarizedShape(Shape shape, Polarity polarity) {
}