Grid Placement

OrchestratorEffectsAdapter

AUTO-GENERATED FILE — DO NOT EDIT MANUALLY

Source: core/services/orchestrator_effects_adapter.gd

Version: 5.1

class_name: OrchestratorEffectsAdapter extends: RefCounted

Summary

Effect applier (5.1 GDScript) — a single “effects boundary” for orchestrator outputs.

What it does:

  • Consumes GBOrchestratorOutput instances produced by workflow orchestrators.
  • Interprets each GBOrchestratorEffect entry.
  • Emits typed signals that request scene/UI work (preview, indicators, feedback, commit/cancel).

What it does NOT do:

  • It does not create/free/update nodes itself.
  • It does not call workflow/orchestrator methods (prevents re-entrancy).
  • It does not validate domain correctness (owned by services/orchestrators).

Who should use it:

  • Scene nodes / UI systems subscribe to these signals and perform the actual engine work.
  • Composition root code wires input adapters (or other output producers) into handle_output(...).

Signals

  • preview_ensure_requested
    • Requests that a preview instance exists for the given resource path.

Typical consumer: a preview presentation node that caches/spawns the preview scene. Trigger: GBOrchestratorEffect.Type.ENSURE_PREVIEW_EXISTS.

  • preview_update_requested
    • Requests that the preview presentation is updated to match the provided model.

Typical consumer: preview presentation node (transform, visibility, validity visuals). Trigger: GBOrchestratorEffect.Type.UPDATE_PREVIEW.

  • preview_clear_requested
    • Requests that any active preview presentation is cleared/hidden.

Typical consumer: preview presentation node. Trigger: GBOrchestratorEffect.Type.CLEAR_PREVIEW.

  • indicator_show_requested
    • Requests that placement/manipulation indicators are shown/updated to match the provided model.

Typical consumer: indicator presentation node. Trigger: GBOrchestratorEffect.Type.SHOW_INDICATOR.

  • indicator_clear_requested
    • Requests that any active indicator presentation is cleared/hidden.

Typical consumer: indicator presentation node. Trigger: GBOrchestratorEffect.Type.CLEAR_INDICATOR.

  • feedback_requested
    • Requests non-visual feedback (audio/haptics/UI) keyed by a string identifier.

Typical consumer: audio/feedback system. Trigger: GBOrchestratorEffect.Type.PLAY_FEEDBACK.

  • placement_commit_requested
    • Requests that the placement commit operation be executed.

Typical consumer: placement system/service wrapper that performs the commit side-effects. Trigger: GBOrchestratorEffect.Type.COMMIT_PLACEMENT.

  • placement_cancel_requested
    • Requests that the placement session be cancelled/cleaned up.

Typical consumer: placement system/service wrapper. Trigger: GBOrchestratorEffect.Type.CANCEL_PLACEMENT.

  • manipulation_start_requested
    • Requests that a manipulation session be started for the provided source node.

Typical consumer: manipulation system/service wrapper. Trigger: GBOrchestratorEffect.Type.START_MANIPULATION.

  • manipulation_update_requested
    • Requests that the manipulation preview presentation is updated to match the provided model.

Typical consumer: manipulation presentation node and/or manipulation service glue. Trigger: GBOrchestratorEffect.Type.UPDATE_MANIPULATION.

  • manipulation_commit_requested
    • Requests that the manipulation commit operation be executed.

Typical consumer: manipulation system/service wrapper. Trigger: GBOrchestratorEffect.Type.COMMIT_MANIPULATION.

  • manipulation_cancel_requested
    • Requests that the manipulation session be cancelled/cleaned up.

Typical consumer: manipulation system/service wrapper. Trigger: GBOrchestratorEffect.Type.CANCEL_MANIPULATION.

Exports

(none)

Methods

  • handle_output()
    • Applies a single orchestrator output.

The output is treated as a set of “requested effects”. This method iterates output.effects and emits one or more signals. Ordering is preserved.

  • _match_effect()
    • Emits the appropriate signal for a single orchestrator effect.

This method is intentionally a thin mapping layer. It should remain side-effect free.