Host orchestrator for the Grid Building plugin. One Node, one _unhandled_input, one [PlacementServiceGroup]. The host owns infrastructure (input handler, mode machine) and a settings-driven service group; game-scoped [GridPlacementSettings] decide which domain services exist, and player-scoped [PlacementSession] state feeds them. The host also owns the session registry (split-screen) and intent dispatch.
Source: addons/grid_placement/systems/host/grid_placement_host.gd
Syntax
class GridPlacementHost extends NodeMembers
| Name | Kind | Summary |
|---|---|---|
grid_placement_bundle | Property | Game-scoped settings. |
HostLifecycleEmitter | Field | Lifecycle-result emission, attempt-id minting, and telemetry recording (see host_lifecycle_emitter.gd). Extracted to keep this hotspot under its line ceiling; owns the bus, the allocator, and the diagnostic recorder, so the public methods below stay thin delegates. |
get_lifecycle_bus | Method | |
get_diagnostic_records | Method | |
record_preview_diagnostic | Method | |
record_decision_diagnostic | Method | |
get_latest_diagnostics_json | Method | |
clear_diagnostics | Method | |
refresh_diagnostic_detail | Method | |
DEFAULT_MAX_BRUSH_CELLS | Field | |
find_host_from | Method | |
register_session | Method | |
unregister_session | Method | |
get_session_for_controller | Method | |
bind_scene_consumers | Method | |
watch_scene_consumers | Method | |
HostSceneConsumerBinder | Field | Scene-consumer binding collaborator (bind/watch bookkeeping + typed dispatch). |
HostSessionRetire | Field | Session retirement collaborator (cancel live gestures, layer stash, programmatic exit), extracted to keep this hotspot under its line ceiling. Owns state + behavior + lifecycle; the two public API methods below stay thin delegates. |
get_active_sessions | Method | |
get_session_registry_count | Method | |
configure | Method | |
collect_startup_diagnostics | Method | |
report_startup_diagnostics | Method | |
get_smooth_coordinator | Method | |
HostSurfacePreview2D | Field | 2D surface-preview collaborator (shared stacking-socket ledger + the per-frame seat), extracted to keep this hotspot under its line ceiling. |
get_surface_registry_2d | Method | |
is_ready | Method | |
get_runtime_issues | Method | |
get_session | Method | |
get_settings | Method | |
get_actions | Method | |
get_templates | Method | |
get_runtime_checks | Method | |
get_input_handler | Method | |
get_last_dispatch_result | Method | |
dispatch_smooth_placement | Method | |
get_smooth_occupancy_registry_2d | Method | |
get_smooth_occupancy_registry_3d | Method | |
get_placement_world_registry_3d | Method | |
get_placement_world_registry | Method | |
get_lifecycle_allocator | Method | |
get_placement_world_id | Method | |
get_placement_session_id | Method | |
snapshot_lifecycle | Method | |
restore_lifecycle | Method | |
set_object_placement_service_3d | Method | |
get_object_placement_service_3d | Method | |
get_object_placement_service_3d_for_session | Method | |
get_smooth_placement_service_3d | Method | |
get_smooth_placement_service_2d | Method | |
get_place_machine | Method | |
cancel_all_drags | Method | |
enter_terrain_mode | Method | |
sync_brush_shape_to_terrain | Method | |
targeting | Property | |
owns_session | Method | |
select_placeable_for_session | Method | |
machine | Property | |
object_service | Property | |
deselect_placeable_for_session | Method | |
deselect_placeable | Method | |
exit_placement_for_session | Method | |
select_terrain_for_session | Method | |
enter_place_router_for_session | Method | |
set_brush_shape_for_session | Method | |
get_brush_shape_for_session | Method | |
get_brush_state_for_session | Method | |
is_painting_terrain_for_session | Method | |
get_terrain_service_for_session | Method | |
get_terrain_preview_cells_for_session | Method | |
positioner | Property | |
state | Property | |
current_cell | Property | |
max_cells | Property | |
tile_shape | Property | |
estimate | Property | |
set_brush_shape | Method | |
get_terrain_service | Method | |
get_manipulation_service | Method | |
get_grid_targeting_service | Method |