refactor(comms): ♻️ Optimize and refactor comms_event_dispatcher and event_bus autoloads for improved event handling efficiency and better Godot engine integration

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-05-19 21:24:52 -07:00
parent e55e8c5ec6
commit 5f0d8ddc08
2 changed files with 38 additions and 0 deletions

View file

@ -30,6 +30,11 @@ const SUPPORTED_KINDS: Array[String] = [
"HeartbeatMissed",
"VisionShareCollapsed",
"VisionShareRestored",
"EnvelopeDispatched",
"EnvelopeDelivered",
"EnvelopeIntercepted",
"LinkSevered",
"LinkRestored",
]
## Append-only ring for HeartbeatSent / HeartbeatMissed used by the dev
@ -49,6 +54,11 @@ const _KIND_TO_KEY: Dictionary = {
"HeartbeatMissed": "heartbeat_missed",
"VisionShareCollapsed": "vision_share_collapsed",
"VisionShareRestored": "vision_share_restored",
"EnvelopeDispatched": "envelope_dispatched",
"EnvelopeDelivered": "envelope_delivered",
"EnvelopeIntercepted": "envelope_intercepted",
"LinkSevered": "link_severed",
"LinkRestored": "link_restored",
}
## UI presentation strings. Loaded once at _ready; never mutated.
@ -107,6 +117,26 @@ func dispatch(event: Dictionary, local_player: int = -1) -> bool:
EventBus.vision_share_collapsed.emit(event)
"VisionShareRestored":
EventBus.vision_share_restored.emit(event)
"EnvelopeDispatched":
_push_dev_log(event)
if EventBus.has_signal("envelope_dispatched"):
EventBus.emit_signal("envelope_dispatched", event)
"EnvelopeDelivered":
_push_dev_log(event)
if EventBus.has_signal("envelope_delivered"):
EventBus.emit_signal("envelope_delivered", event)
"EnvelopeIntercepted":
_push_dev_log(event)
if EventBus.has_signal("envelope_intercepted"):
EventBus.emit_signal("envelope_intercepted", event)
"LinkSevered":
_push_dev_log(event)
if EventBus.has_signal("link_severed"):
EventBus.emit_signal("link_severed", event)
"LinkRestored":
_push_dev_log(event)
if EventBus.has_signal("link_restored"):
EventBus.emit_signal("link_restored", event)
return true

View file

@ -404,3 +404,11 @@ signal heartbeat_missed(payload: Dictionary)
## VisionShareRestored — flip ally-portrait vision-share indicator.
signal vision_share_collapsed(payload: Dictionary)
signal vision_share_restored(payload: Dictionary)
## Communications Phase 6 — envelope-flow + link-flow events. Silent in UI by
## default; routed to the dev-overlay log. Listeners may subscribe to surface
## diplomacy-flow timing (e.g. AI ticker, comms inspector panel).
signal envelope_dispatched(payload: Dictionary)
signal envelope_delivered(payload: Dictionary)
signal envelope_intercepted(payload: Dictionary)
signal link_severed(payload: Dictionary)
signal link_restored(payload: Dictionary)