Phase 0: Repository-Initialisierung nach Bauplan v1.2

- Struktur gemäß §8 (Eigentumsgrenzen), PLAN.md als normative Basis
- Pflichtdokumente: STATUS.md, ERRORS.md, TEST_REPORT.md, CHANGELOG.md, ADRs
- ADR-0001 Python 3.13-Pin, ADR-0002 GStreamer 1.28.6-Pin (Windows),
  ADR-0003 IPC TCP+MessagePack v1
- Kernpakete: hms_protocol, hms_domain, hms_parameter, hms_artnet,
  hms_adaptive, hms_capabilities, hms_plugin_sdk
- Renderer-Spike: D3D11-Primärpfad + Dev-GL-Pfad (§36 Nr. 4-5)
- Control Core: FastAPI REST + WebSocket (§36 Nr. 9)
- Beispielplugins: Passthrough + Gaussian Blur (3 Adaptive-Quality-
  Varianten, HLSL/GLSL/GLES)
- Tools: Art-Net-Emulator, Fixture-Generator (Master32/Layer64-CSV),
  Capability-Probe
- JSON-Schemas: IPC, Plugin, Projekt, Cluster
- 121 Unit-/Integrationstests grün, Ruff grün

Gate 0 bleibt offen: Hardwaremessungen nur auf echter Windows-Referenz-
hardware gültig (§29.7, §33).
This commit is contained in:
HMS MediaEngine Agent
2026-09-11 00:36:59 +02:00
commit 0922cc1d68
133 changed files with 7939 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
# HMS MediaEngine
**Arbeitstitel** der Produktname kann später ohne technische Auswirkung geändert werden.
Modularer Medienserver, VJ-System und generativer Licht-/Pixeleffekt-Server.
- **Primärplattform:** Windows 11 x64, portabel ohne Installation
- **Weitere Zielplattformen:** Linux x64, Raspberry Pi 5 / Linux ARM64
- **Steuerung:** lokale Webanwendung (Browser), Art-Net/DMX, spätere Timeline/Audio/KI
## Leitsatz
> **Python steuert. Native Bibliotheken decodieren. Die GPU rendert. Der Browser bedient.**
## Projektstatus
Das Projekt befindet sich in **Phase 0 technischer Spike und Go/No-Go**.
Aktueller Stand, Gates und nächste Aufgaben: [`STATUS.md`](STATUS.md)
Fehlerverfolgung: [`ERRORS.md`](ERRORS.md)
Messergebnisse: [`TEST_REPORT.md`](TEST_REPORT.md)
Bauplan (normativ): [`PLAN.md`](PLAN.md)
## Repository-Struktur (Eigentumsgrenzen)
```text
/
├─ apps/ launcher, control_server, renderer, web
├─ native/ render_bridge (Rust oder C++, Entscheidung per ADR)
├─ packages/ domain, protocol, parameter_engine, render_backend,
│ capabilities, adaptive_quality, plugin_sdk, artnet,
│ cluster, content_sync, timeline, audio_analysis,
│ persistence
├─ plugins/ builtin (generators, filters, transitions, outputs), examples
├─ schemas/ project, plugin, ipc, cluster, api
├─ fixture_profiles/ master32, layer64
├─ tests/ unit, integration, rendering, cluster, visual,
│ performance, portability, e2e
├─ tools/ media_probe, shader_validate, artnet_emulator,
│ capability_probe, cluster_test_node, fixture_generator
├─ build/ windows, linux, raspberry_pi
└─ docs/ architecture, adr, plugin-sdk, api, fixture,
performance, operator
```
Code darf nicht beliebig zwischen Paketen quer importiert werden.
## Entwicklung
```bash
# Python-Umgebung
uv sync
# Tests
uv run pytest
# Lint + Typprüfung
uv run ruff check .
```
Frontend (ab Phase 5): `pnpm` mit Lockfile, Vite-Build, siehe `apps/web`.
## Phasenmodell
Die Entwicklung folgt strikt dem Phasenmodell aus `PLAN.md` Abschnitt 31.
Jede Phase endet mit einem Gate; **keine neue Phase ohne grünes Gate.**
| Phase | Inhalt | Gate
| --- | --- | --- |
| 0 | Technischer Spike, Machbarkeitsnachweis, ADRs | Gate 0: D3D11-HW-Decode, GPU-Compositing, Adaptive Quality, Art-Net-Latenz, portable Auslieferung reproduzierbar grün
| 1 | Fundament: Supervisor, Control Core, Renderer, IPC, Node-Identität, Discovery, Paarung | Gate 1
| 2 | Medien-, Layer-, Basissync-Engine | Gate 2
| 3 | Plugin-SDK, Starterpaket Generatoren + Filter | Gate 3
| 4 | Art-Net-Fixtures Master32/Layer64 | Gate 4
| 5 | Vollständige Browser-Liveoberfläche | Gate 5 / V1.0-Kernrelease
| 6+ | Cue/Timeline, Audio, Mapping, Pixel-Ausgabe, KI, Pi 5, Härtung | eigene Gates
## Verbindliche Regeln (Auszug)
- Keine Pixelverarbeitung in Python-Schleifen.
- Kein CPU-Readback im normalen HDMI-Renderpfad (Windows: D3D11Memory durchgängig).
- Kein Mock als fertige Funktion gemeldet; Hardwaretests nur auf echter Hardware.
- Jede Architekturabweichung braucht ein ADR und Freigabe.
- Projektschema versioniert, Migrationen getestet.
## Dokumentation
- Architektur: `docs/architecture/`
- ADRs: `docs/adr/` (Vorlage: `docs/adr/_template.md`)
- Plugin-SDK: `docs/plugin-sdk/` (ab Phase 3)
- Fixture-Handbücher: `docs/fixture/` (ab Phase 4)
## Lizenz
TBD wird mit dem ersten Release entschieden (SBOM und Lizenzverzeichnis sind Teil der Release-Anforderungen, PLAN.md Abschnitt 30).