Skip to content

Class

ObjectPlacementService3D

Generated GDScript class reference for GridPlacement.ObjectPlacementService3D.

Status
Current
Version
v6.2.1
Source updated
2026-09-24
Generated on
2026-10-12

Scene-free 3D object placement service. Owns preview/commit orchestration for 3D sessions. CELL validity is delegated to PlacementValidation3D, including optional physics-backed surface support; EDGE/FACE/TOP/socket policy remains on the same shared validation seam.

Source: addons/grid_placement/systems/building/3d/object_placement_service_3d.gd

Syntax

class ObjectPlacementService3D extends RefCounted

Members

NameKindSummary
object_placedSignal
preview_validity_changedSignal
active_entry_changedSignal
MISSField
move_refusal_has_dependentsFieldRefusal text for a provider that cannot move because other pieces are mounted on it. Same wording contract as the host move/rotate gate (ManipulationSettings.failed_object_has_dependents) so the player reads one message for one rule, whichever layer refuses.
get_last_move_drop_resultMethod
set_preview_diagnostic_sinkMethod
set_decision_diagnostic_sinkMethod
configureMethod
configure_lifecycleMethod
get_settingsMethod
get_gridMethod
is_configuredMethod
set_active_entryMethod
get_active_entryMethod
use_sessionMethod
get_session_idMethod
forget_sessionMethod
clear_session_previewMethod
capture_preview_slotMethod
restore_preview_slotMethod
update_preview_cellMethod
is_preview_validMethod
get_preview_ghostMethod
get_preview_replaced_nodeMethod
get_preview_cellMethod
clear_previewMethod
rotate_previewMethod
get_preview_yaw_stepsMethod
preview_yaw_degreesMethod
validate_cell_mapMethod
cached_cell_mapMethod
footprint_is_entirely_voidMethod
validate_cellMethod
validate_cell_resultMethod
find_overlay_columns_for_familyMethod
is_position_groundedMethod
get_validation_executionsMethod
reset_validation_counterMethod
positionProperty
basisProperty
profileProperty
footprintProperty
try_place_reportMethod
cellsProperty
max_surfaceProperty
surface_nameProperty
surfaceProperty
try_place_atMethod
is_cell_occupiedMethod
is_cell_overlayMethod
get_placed_nodeMethod
get_family_atMethod
get_overlay_familyMethod
get_overlay_familiesMethod
get_placed_countMethod
is_edge_occupiedMethod
get_edge_familyMethod
get_edge_nodeMethod
snap_edge_to_runMethod
is_corner_occupiedMethod
is_face_registeredMethod
is_face_occupiedMethod
validate_edgeMethod
can_replace_edgeMethod
get_edge_occupant_mountMethod
resolve_cell_spanMethod
update_preview_cell_spanMethod
update_preview_edgeMethod
try_place_at_edgeMethod
try_place_report_edgeMethod
reportProperty
issuesProperty
nodeProperty
validate_faceMethod
update_preview_faceMethod
try_place_at_faceMethod
try_place_report_faceMethod
resolutionProperty
is_top_occupiedMethod
validate_topMethod
validate_cornerMethod
update_preview_topMethod
update_preview_cornerMethod
try_place_at_topMethod
try_place_at_cornerMethod
try_place_report_topMethod
try_place_report_cornerMethod
surfaceProperty
entryProperty
profileProperty
surfaceProperty
entryProperty
top_profileProperty
top_familyProperty
instance_idProperty
projectionsProperty
provider_facesProperty
projectionsProperty
provider_facesProperty
ObjectPlacementOccupancyGate3DFieldOccupancy admission — can this entry claim this socket? See object_placement_occupancy_gate_3d.gd. Extracted from this file (#1472): the five predicates were one policy already shared by the CELL and socket commit paths, the live move preview, and save rehydration. The gate reads occupancy only and never mutates it, so this service stays the sole writer.
world_aabb_for_mountMethod
unregister_placed_nodeMethod
unregister_placed_node_localMethod
local_snapshotProperty
world_recordProperty
snapshotProperty
has_live_mount_dependentsMethod
get_last_move_refusalMethod
would_projection_apply_for_moveMethod
update_placed_nodeMethod
deltaProperty
stepProperty
disposeMethod
clear_placement_registriesMethod
snapshot_placement_stateMethod
restore_placement_stateMethod
rehydrate_cell_objectMethod
yaw_stepsProperty
profileProperty
cellsProperty
mountProperty
occupancy_evidenceProperty
rehydrate_corner_objectMethod
rehydrate_face_objectMethod
rehydrate_top_objectMethod
get_save_metadataMethod
get_placed_nodesMethod
get_mountsMethod
cell_from_world_positionMethod
cell_from_world_pointMethod