Parked per-session selection/preview slots for [ObjectPlacementService3D]. Split-screen players share one 3D service: committed occupancy is one world, but each session keeps its own selected entry, ghost, yaw, mount, and replace-hidden node. The service holds the bound session's slot in its own fields; this store holds every other session's [Slot], keyed by session id, and owns their presentation cleanup. It never validates or commits. [ObjectPlacementService3D.capture_preview_slot] / [ObjectPlacementService3D.restore_preview_slot] return and accept [ObjectPlacementPreviewSlots3D.Slot], so a caller that temporarily borrows a session (a headless placement command) owes the full slot back — entry, ghost, tint, ring, cell, yaw, mount, and the drag-span pool — not just the selected entry.
Source: addons/grid_placement/systems/building/3d/object_placement_preview_slots_3d.gd
Syntax
class ObjectPlacementPreviewSlots3D extends RefCountedMembers
| Name | Kind | Summary |
|---|---|---|
entry | Property | One session's parked selection and preview presentation. A fresh slot holds the service's empty defaults. |
ghost | Property | |
ghost_valid | Property | |
hidden_replaced | Property | |
tint | Property | Null restores a fresh tint/ring. |
ring | Property | |
cell | Property | |
yaw | Property | |
mount | Property | [enum ObjectPlacementService3D.PreviewMount]; 0 is NONE. |
pool_ghosts | Property | Drag-span ghosts and their verdicts. |
pool_valids | Property | |
clear_placement | Method | |
bound_pool | Property | |
capture_from | Method | |
restore_into | Method | |
park | Method | |
take | Method | |
forget | Method | |
hide_preview | Method | |
free_ghosts | Method | |
clear | Method |