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
+47
View File
@@ -0,0 +1,47 @@
[project]
name = "hms-mediaengine"
version = "0.1.0"
description = "HMS MediaEngine modularer Medienserver, VJ-System und generativer Effektserver (Arbeitstitel)"
requires-python = "==3.13.*"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"pydantic>=2.7",
"msgpack>=1.0",
]
[dependency-groups]
dev = [
"pytest>=8.2",
"httpx>=0.27",
"ruff>=0.6",
]
[build-system]
requires = ["hatchling>=1.22"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = [
"packages/protocol/hms_protocol",
"packages/domain/hms_domain",
"packages/parameter_engine/hms_parameter",
"packages/artnet/hms_artnet",
"packages/adaptive_quality/hms_adaptive",
"packages/capabilities/hms_capabilities",
"packages/plugin_sdk/hms_plugin_sdk",
"apps/renderer/hms_renderer",
"apps/control_server/hms_control_server",
"apps/launcher/hms_launcher",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP", "B"]