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 |
|---|---|---|
records | Property | A copy of the committed records, taken by [method snapshot_state] so a multi-step operation can roll back through [method restore_state]. |
records | Property | A candidate generation built by [method _prepare_generation] before commit. |
identity_lookup | Property | |
record | Property | Projections registered for one record, kept so a failed batch unwinds. |
projections | Property | |
names | Property | |
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. |
NO_PICK_OWNER | Field | Owner cell of a pick volume with no GRID mount; the raycaster reads it as "no owner". |
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 | |
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 | |
prepared | Property | |
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 |