Skip to content

Class

PlacementPreviewEvidence

Generated GDScript class reference for GridPlacement.PlacementPreviewEvidence.

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.

Typed schema for the preview/decision evidence the placement services emit. The producers (ObjectPlacementService, SmoothPlacementService3D and ObjectPlacementPreviewDiagnostics3D) build one of these and hand to_dictionary() to their diagnostic sink; PlacementTelemetry.snapshot_preview() reads it back through from_dictionary(). The wire keys therefore live in ONE file instead of being spelled again at every producer and consumer, so renaming a field is a parse error rather than a snapshot field that silently reads its default. The dictionary stays at the sink boundary on purpose: the diagnostic entry points are public and accept plain dictionaries, and from_dictionary() keeps those callers working. extra_keys records keys this schema does not know, so a producer that renames a key surfaces as a mismatch instead of a silently dropped field.

Source: addons/grid_placement/telemetry/placement_preview_evidence.gd

Syntax

class PlacementPreviewEvidence extends RefCounted

Members

NameKindSummary
ACCEPTED_KEYSFieldEvery wire key this schema accepts, including the decision-only keys that PlacementTelemetry.snapshot_decision() adds to the same envelope. A producer spelling anything else lands in extra_keys.
kindPropertyThe event kind carried on the envelope ("preview" or "decision").
definition_keyPropertyThe wire key is "entry": the entry's resource path. This is the value the snapshot reports as `definition_key`.
display_namePropertyThe wire key is "definition_key": the entry's human label. The 3D producer sends both, and the snapshot does not report this one.
dimensionProperty
coordinate_modeProperty
mount_modeProperty
targetPropertyCell, position or transform the attempt targeted; shape depends on dimension.
resolvedPropertyWhere the preview actually landed: Transform2D/Transform3D.
validProperty
attempt_idProperty
placed_instance_idProperty
reasonProperty
occupancyPropertyThe occupied cell (3D) or cell:normal pair, as the producers render it.
providerProperty
socketProperty
fallback_reasonProperty
replace_alignmentProperty
replacedProperty
scenarioProperty
checkpointProperty
issuesPropertyIssues that refused the attempt. Reported by the decision snapshot only.
conflict_ownerPropertyThe rule that refused the attempt, when a rule owned the refusal.
extra_keysPropertyKeys the source dictionary carried that this schema does not know. Empty is the only healthy value: a non-empty list means a producer and this schema disagree about the contract.
from_dictionaryMethod
to_dictionaryMethod