Skip to content

Grounding rows do not flag a footprint whose geometry columns collapsed #367

Description

@SSS135

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

  1. added theissue type on Oct 5, 2026
  2. updated RICE priority 8, Reach 1 Rare, Confidence 1.0 Verified, Severity Medium, Impact 2 Wasted time and Effort 2 Medium on Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status/acceptedReviewed and approved for agents to work

    Fields

    Effort

    2 Medium

    RICE priority

    8

    Reach

    1 Rare

    Impact

    2 Wasted time

    Confidence

    1.0 Verified

    Severity

    Medium

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions