Skip to content

Class

PlacementFailureEvidence

Generated GDScript class reference for GridPlacement.PlacementFailureEvidence.

Status
Current
Version
v6.3.0
Source updated
2026-10-29
Generated on
2026-10-29

6.3. These pages document the 6.3 release, where placeable is now entry (what changed) and PlacementOwner is deprecated (migration). Still on 6.2? Your version's guides ship inside the plugin itself, under addons/grid_placement/guides/; the 6.2 URLs on this site now redirect to this series.

One failure-evidence block, assembled from the surfaces the plugin already owns — never from a rival probe or a private field. A test that fails, or a runtime action that refuses, should be explainable from what the plugin recorded while it happened. This helper only reads: it composes PlacementTelemetry snapshots, PlacementExplain guidance and the host's bounded diagnostic records into one JSON-safe dictionary plus a compact text block, so a failing assertion can carry the evidence instead of the reader re-running it with prints. What it deliberately does not do: dispatch anything, mint an attempt id, or invent a record. Anything it could not read is named in missing so an empty section reads as "unavailable here", not as "nothing happened". Usage: var evidence := PlacementFailureEvidence.capture(host, session, { "scenario": "room-stacking", "phase": "commit", }) push_error(PlacementFailureEvidence.format(evidence))

Source: addons/grid_placement/debug/placement_failure_evidence.gd

Syntax

class PlacementFailureEvidence extends RefCounted

Members

NameKindSummary
RECORD_TAILFieldHow many of the host's newest diagnostic records travel with a failure. The host's recorder is bounded; this keeps a failure message readable.
ORIGIN_INPUT_KEYSFieldCaller-observed gesture envelope keys, grouped by the proof they carry. Only these keys are copied into the evidence; anything else the caller passes is dropped so the block stays bounded. Absent keys are named in `origin.missing` instead of invented, so a partial envelope reads as partial, never as complete.
ORIGIN_PICK_KEYSField
ORIGIN_COMMIT_KEYSField
RUN_ID_ENVFieldWhich run and which shard produced this failure, as the shard runner exports it. A caller that already knows its labels passes them in the context and wins; a case run outside `run_test_tree.py` reads an empty value, which the block prints rather than inventing a run id.
SHARD_ENVField
captureMethod
missingProperty
evidenceProperty
startup_summaryProperty
runtime_summaryProperty
correlationProperty
world_idProperty
hover_castProperty
dispatchProperty
lifecycleProperty
actual_attempt_idProperty
expected_attempt_idProperty
recordsProperty
formatMethod