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 | |
get_brush_coordinator | Method | |
get_refund_service | Method | |
get_drag_service | Method | |
get_object_placement_service | Method | |
HostIntentRouter | Field | Intent-to-handler routing (see host_intent_router.gd). Extracted to keep this hotspot under its line ceiling; the host stays the input facade and wires one closure per intent, so the router owns the mapping and nothing else. Exactly one _unhandled_input entry point stays here. |
HostEyedropperDispatch | Field | Eyedropper collaborator. Created on first use so the host stays the single input facade and the pipette costs nothing until it is pressed. |
HostObjectShapeCommit | Field | Commits an object LINE/rectangle drag (see host_object_shape_commit.gd). |
is_3d | Property | |
issue | Property | |
report | Property | |
report | Property | |
session | Property | |
report | Property | |
attempt_id | Property | |
allocator | Property | |
lifecycle | Property | |
get_positioner_cell | Method | |
get_positioner_cell_3d | Method | |
HostObjectPlacementDispatch | Field | Object-placement dispatch (see host_object_placement_dispatch.gd): preconditions, coordinate-mode routing, and the attempt-id lifetime around the build. Extracted to keep this hotspot under its line ceiling. The collaborator holds no session state and reaches no host private: every dependency below is passed in as a closure. |
result | Property | |
rebuild_smooth_occupancy_from_scene | Method | |
is_lenient_ground_move | Method | |
move_carry_ground_height | Method | |
begin_move_ground_carry | Method | |
move_drop_preview_valid | Method | |
HostMoveCarryPolicy | Field | 3D move ground-carry policy (leniency, carry height, drop preview, grounding). |
HostDispatchFailureAnnouncer | Field | |
HostManipulationDispatch | Field | |
wants_off_mode | Method |