Phase 2 abgeschlossen: Renderer-State-Sync über echte IPC (§6.2, §6.4)

- RemoteStateMirror (Renderer): Snapshot-Pflicht nach (Re-)Connect,
  Deltas mit neu/geaendert/geloescht, Deltas vor erstem Snapshot werden
  abgelehnt (Re-Sync), Duplikate/Veraltete idempotent
- RendererStateLink (Control Core): connect_and_sync mit Pflicht-Snapshot,
  sync_if_changed versendet Deltas seit letzter gesendeter Revision,
  Reconnect loest immer neuen Snapshot aus (kein halber Zustand)
- End-to-End-Integrationstests ueber echtes TCP-Loopback ohne Mocks:
  Snapshot->Delta-Kette, Reconnect-Re-Sync, Delta-vor-Snapshot-Ablehnung,
  Duplikat-No-Op
- Gesamtsuite 297 gruen, Ruff gruen
This commit is contained in:
HMS MediaEngine Agent
2026-09-11 01:33:47 +02:00
parent cc119d3751
commit b2610e35e5
5 changed files with 382 additions and 6 deletions
+6 -2
View File
@@ -1,8 +1,9 @@
"""hms_renderer Render-Worker-Spike (PLAN.md §6.1C, §12, §36 Nr. 46).
"""hms_renderer Render-Worker (PLAN.md §6.1C, §12, §36 Nr. 46).
Python orchestriert native GStreamer-Komponenten; keine Pixelverarbeitung
in Python (§2.1, §33). Pipelines werden als gst-launch-Strings definiert
und auf dem Zielsystem ausgeführt/messbar.
und auf dem Zielsystem ausgeführt/messbar. Der RemoteStateMirror hält den
über IPC übermittelten Showzustand (§6.2, §6.4).
"""
from hms_renderer.pipelines import (
@@ -12,6 +13,7 @@ from hms_renderer.pipelines import (
build_single_video_pipeline,
gst_available,
)
from hms_renderer.state_mirror import RemoteStateMirror, apply_envelope
__all__ = [
"D3D11Pipeline",
@@ -19,4 +21,6 @@ __all__ = [
"build_single_video_pipeline",
"build_compositor_pipeline",
"gst_available",
"RemoteStateMirror",
"apply_envelope",
]