World-scoped authority for committed Grid Placement records. It owns only roots committed or deliberately rehydrated by Grid Placement. Environmental physics and arbitrary scene nodes remain validation inputs. GRID and SMOOTH records share this identity/conflict authority, while EDGE/FACE/socket records deliberately carry null cross-mode AABB evidence.
Source: addons/grid_placement/services/placement_world_registry.gd
Syntax
class PlacementWorldRegistry extends RefCountedMembers
| Name | Kind | Summary |
|---|---|---|
PICK_MARGIN_3D | Field | Pick-only generosity for 3D hover/click volumes, in world units per side. Thin faces (a 0.2m wall is ~14px at 10m) fall below any reasonable minimum pointer target without it. Applies to [method pick_box_3d] only — overlap certification ([method find_conflict_3d]) never sees grown boxes. |
projection_registration_hook | Property | Test and adapter seams. A projection adapter returns false to force the atomic registration/removal paths through their rollback branches. |
projection_registration_rollback_hook | Property | Optional compensating seam for adapters whose registration hook can mutate external state before rejecting. It is called in reverse order for every attempted projection when the registration transaction aborts. |
removal_failure_hook | Property | |
find_conflict_3d | Method | |
find_conflict_2d | Method | |
register | Method | |
register_with_projections | Method | |
record | Property | |
registered_projection_names | Property | |
register_projection | Method | |
get_record | Method | |
pick_box_3d | Method | |
get_pick_volumes_3d | Method | |
get_pick_volume_owners_3d | Method | |
find_pick_record_3d | Method | |
find_nearest_pick_record_3d | Method | |
resolve_hover_record_3d | Method | |
find_ray_hit_record_3d | Method | |
resolve_aimed_record_3d | Method | |
find_column_mount_record_3d | Method | |
find_unmounted_pick_record_3d | Method | |
get_record_for_root | Method | |
get_roots | Method | |
get_roots_2d | Method | |
get_save_metadata_for_root | Method | |
unregister | Method | |
remove_transaction | Method | |
record | Property | |
projection_snapshot | Property | |
removed | Property | |
remove_root | Method | |
bind_generation_callback | Method | |
next_records | Property | |
next_identity_lookup | Property | |
replaced_callbacks | Property | |
registered_projection_batches | Property | |
source | Property | |
record | Property | |
root | Property | |
projections | Property | |
registered_projection_names | Property | |
current_id | Property | |
current | Property | |
replace_records | Method | |
validate_record_batch | Method | |
validate_saved_states | Method | |
snapshot_state | Method | |
restore_state | Method | |
clear | Method | |
generation | Method | |
size | Method | |
projection_count | Method | |
get_projection | Method | |
update_root | Method | |
record | Property | |
conflict | Property | |
conflict_2d | Property | |
projection_data | Property | |
has_named_projection | Property | |
transform | Property | |
projection_name | Property | |
result | Property | |
restored | Property | |
prune_dead_records | Method |