Explicit validation authority for 3D moves. Evaluates authored move rules ([PlacementRule]) headlessly through the shared [PlacementRuleValidationLogic] contract — no indicator manager, no authored demo scene, no visual preview state required. Presentation layers ([IndicatorManager3D] quads, ghost tint) consume verdicts; they never own them. Scope: authored rule policy only. Structural 3D policy (occupancy, grounding, sockets) stays single-sourced in [PlacementValidation3D] / [ObjectPlacementService3D], and dimensional scene effects (projection commit/rollback) stay with the host dispatch. This authority therefore introduces no second occupancy truth and duplicates no host rule logic: the host keeps its scene-context gates (smooth occupancy, grounding, projection commit) while this authority owns the move-rule verdict that [ManipulationService3D.try_placement] commits on.
Source: addons/grid_placement/systems/manipulation/move_validation_3d.gd
Syntax
class MoveValidation3D extends RefCountedMembers
| Name | Kind | Summary |
|---|---|---|
set_base_rules | Method | |
get_base_rules | Method | |
validate_move_rules | Method | |
combined | Property | |
setup_issues | Property | |
results | Property |