You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Grounding rows do not flag a footprint whose geometry columns collapsed #367
Grounding rows do not flag a footprint whose geometry columns collapsed
Follow-up to #316. minSupportedColumns (default 2) now fails a seat or verify where fewer than two columns found ground, so a one-column rest is no longer a pass. Two parts of #316 were left out and are filed here.
1. No signal for a partial collapse of actor columns
actorColumns counts the grid columns where the object's own underside probe answered (AggregateColumns, Source/PinWright/Private/Handlers/Spatial/GroundPlacementUtils.cpp). Under the mesh underside model, 2 of 9 answering is a measurement defect: the verdict is computed over two columns. It passes minSupportedColumns: 2 and reports coverage: 1 with nothing marking it. The bounds-plane fallback (boundsPlaneFallback: true) only triggers when zero columns answer, so a near-total miss gets neither the fallback nor a flag.
Ask: a row field or warnings[] entry when actorColumns is below some fraction of sampledColumns (for example under half) while samples > 1. Also a batch-level count, because at the default detail: "failures" a passing row is not emitted at all.
2. coverage is reported even when it carries no information
At actorColumns: 1, coverage is 1 or 0 by construction. The response writer already omits the gap numbers when nothing was measured (GroundRpcContactObject in GroundPlacementHandler.cpp, the SupportedColumns > 0 guard). The same reasoning applies to a ratio over one column.
Ask: omit coverage (or add coverageMeaningful: false) below an actorColumns floor. This is a wire-shape change and needs a CHANGELOG behaviour-change entry.
Verification
A cube whose underside probe answers in 2 of 9 columns (for example a thin mesh under undersideModel: "mesh") returns the warning at samples: 3 and does not at samples: 1.
A test that fails if the warning or the omission is reverted.
Activity