0922cc1d68
- 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).
69 lines
1.6 KiB
JSON
69 lines
1.6 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"id": "com.hms.fx.gaussian_blur",
|
|
"name": "Gaussian Blur",
|
|
"version": "1.0.0",
|
|
"api_version": 1,
|
|
"kind": "filter",
|
|
"vendor": "HMS",
|
|
"entrypoints": {
|
|
"d3d11": {
|
|
"type": "hlsl_multipass",
|
|
"passes": [
|
|
{"pixel_shader": "shaders/d3d11/horizontal.hlsl"},
|
|
{"pixel_shader": "shaders/d3d11/vertical.hlsl"}
|
|
]
|
|
},
|
|
"gl": {
|
|
"type": "glsl_multipass",
|
|
"passes": [
|
|
{"fragment": "shaders/gl/horizontal.frag"},
|
|
{"fragment": "shaders/gl/vertical.frag"}
|
|
]
|
|
},
|
|
"gles": {
|
|
"type": "glsl_es_multipass",
|
|
"passes": [
|
|
{"fragment": "shaders/gles/horizontal.frag"},
|
|
{"fragment": "shaders/gles/vertical.frag"}
|
|
]
|
|
}
|
|
},
|
|
"capabilities": {
|
|
"minimum_tier": "DESKTOP_LITE",
|
|
"requires_input_texture": true,
|
|
"supported_backends": ["d3d11", "gl", "gles"]
|
|
},
|
|
"adaptive_quality": {
|
|
"default": "auto",
|
|
"variants": [
|
|
{"id": "low", "internal_scale": 0.25, "samples": 5},
|
|
{"id": "medium", "internal_scale": 0.5, "samples": 9},
|
|
{"id": "high", "internal_scale": 1.0, "samples": 17}
|
|
],
|
|
"transition_ms": 180,
|
|
"semantic_parameters_unchanged": ["radius"]
|
|
},
|
|
"parameters": [
|
|
{
|
|
"id": "radius",
|
|
"label": "Radius",
|
|
"type": "float",
|
|
"minimum": 0.0,
|
|
"maximum": 40.0,
|
|
"default": 0.0,
|
|
"dmx_slots": [1],
|
|
"curve": "quadratic"
|
|
},
|
|
{
|
|
"id": "quality",
|
|
"label": "Quality",
|
|
"type": "enum",
|
|
"values": ["auto", "low", "medium", "high"],
|
|
"default": "auto",
|
|
"dmx_slots": [2]
|
|
}
|
|
],
|
|
"failure_mode": "bypass"
|
|
}
|