Item shapes
Two opt-in shapes beyond the rigid cuboid: a convex hull decided by exact integer geometry, and a compressible item that yields under load.
shape_type · hull_vertices · compression_ratioWhy it exists
A cushion modelled as a rigid box reserves the volume it would have yielded, and a wedge modelled as its bounding box reserves space it never occupies. A hull is decided by separating-axis geometry rather than by that box, and a compressible item's height falls with the load until a declared crush limit, past which the load is refused rather than packed. Both are opt-in per item, so a request that omits the field is answered exactly as before.
What a useful refusal looks like
The engine returns the rule that refused, the item it refused, and the measured value against the configured threshold. It also states how strongly that is backed: proven, observed, inferred, or unknown because a search limit was reached first.
See the fixtures for this rule