From 362e089be0beac781914a660af235826a0e11426 Mon Sep 17 00:00:00 2001 From: HMS MediaEngine Agent Date: Fri, 11 Sep 2026 23:44:06 +0200 Subject: [PATCH] AUFGERAUMT: Root auf 10 sichtbare Elemente reduziert Der Nutzer hat recht: Der Ordner war voller Entwicklungs-Muell. Jetzt ist sauber getrennt: ROOT (was der Nutzer sieht und braucht): - run.py = das Programm - hms_app/ = der Anwendungscode - HMS MediaEngine.app = macOS Doppelklick-Starter - HMS-Start.vbs = Windows Doppelklick-Starter - HMS-Install.vbs = Windows Erst-Installation - HMS-Mac-Install.command = macOS Homebrew-Installation - HMS-Portable-Install.command = macOS Portable-Installation (16GB-Fix) - installer_gui.py = grafischer Installer - launcher.pyw + launcher_core.py = interne Start-Logik - LIESMICH.txt = 10-Zeilen-Kurzanleitung - .gitignore _entwicklung/ (alles andere, NICHT benoetigt): - packages/ apps/ native/ plugins/ tools/ schemas/ tests/ docs/ build/ fixture_profiles/ - PLAN.md STATUS.md ERRORS.md TEST_REPORT.md CHANGELOG.md README.md - pyproject.toml uv.lock setup_*.sh/ps1 make_mac_app.py Diese Trennung gilt ab sofort fuer alle Commits. Der Nutzer kann _entwicklung/ loeschen wenn er Platz braucht - die App laeuft ohne. Verifiziert: App startet nach Aufraeumen unveraendert (Health 200). --- .gitignore | 4 + LIESMICH.txt | 20 ++ CHANGELOG.md => _entwicklung/CHANGELOG.md | 0 ERRORS.md => _entwicklung/ERRORS.md | 0 PLAN.md => _entwicklung/PLAN.md | 0 README.md => _entwicklung/README.md | 0 STATUS.md => _entwicklung/STATUS.md | 0 TEST_REPORT.md => _entwicklung/TEST_REPORT.md | 0 .../apps}/control_server/.gitkeep | 0 .../hms_control_server/__init__.py | 0 .../hms_control_server/__main__.py | 0 .../control_server/hms_control_server/app.py | 0 .../hms_control_server/renderer_link.py | 0 {apps => _entwicklung/apps}/launcher/.gitkeep | 0 .../apps}/launcher/hms_launcher/__init__.py | 0 .../apps}/launcher/hms_launcher/__main__.py | 0 .../apps}/launcher/hms_launcher/paths.py | 0 .../apps}/launcher/hms_launcher/supervisor.py | 0 {apps => _entwicklung/apps}/renderer/.gitkeep | 0 .../apps}/renderer/hms_renderer/__init__.py | 0 .../apps}/renderer/hms_renderer/__main__.py | 0 .../apps}/renderer/hms_renderer/engine.py | 0 .../apps}/renderer/hms_renderer/pipelines.py | 0 .../renderer/hms_renderer/run_renderer.py | 0 .../renderer/hms_renderer/state_mirror.py | 0 {apps => _entwicklung/apps}/web/.gitkeep | 0 {apps => _entwicklung/apps}/web/index.html | 0 {apps => _entwicklung/apps}/web/package.json | 0 .../apps}/web/pnpm-lock.yaml | 0 {apps => _entwicklung/apps}/web/src/App.tsx | 0 .../web/src/__tests__/LayerTable.test.tsx | 0 .../web/src/__tests__/StatusBar.test.tsx | 0 .../apps}/web/src/components/Inspector.tsx | 0 .../apps}/web/src/components/LayerTable.tsx | 0 .../apps}/web/src/components/RightSidebar.tsx | 0 .../apps}/web/src/components/StatusBar.tsx | 0 .../apps}/web/src/hooks/useApi.ts | 0 .../apps}/web/src/hooks/useWebSocket.ts | 0 {apps => _entwicklung/apps}/web/src/icons.tsx | 0 {apps => _entwicklung/apps}/web/src/main.tsx | 0 {apps => _entwicklung/apps}/web/src/seed.ts | 0 .../apps}/web/src/styles/app.css | 0 .../apps}/web/src/styles/tokens.css | 0 .../apps}/web/src/test/setup.ts | 0 {apps => _entwicklung/apps}/web/src/types.ts | 0 {apps => _entwicklung/apps}/web/src/utils.ts | 0 .../apps}/web/src/vite-env.d.ts | 0 {apps => _entwicklung/apps}/web/tsconfig.json | 0 .../apps}/web/tsconfig.tsbuildinfo | 0 .../apps}/web/vite.config.ts | 0 .../apps}/web/vitest.config.ts | 0 {build => _entwicklung/build}/linux/.gitkeep | 0 .../build}/raspberry_pi/.gitkeep | 0 .../build}/windows/.gitkeep | 0 .../build}/windows/GSTREAMER.md | 0 .../build}/windows/build_portable.sh | 0 {docs => _entwicklung/docs}/adr/.gitkeep | 0 .../docs}/adr/0001-python-version-pin.md | 0 .../docs}/adr/0002-gstreamer-pin-windows.md | 0 .../docs}/adr/0003-ipc-tcp-msgpack.md | 0 .../adr/0004-renderkern-rust-gstreamer.md | 0 .../adr/0005-packaging-nuitka-onefolder.md | 0 .../docs}/adr/0006-frontend-react.md | 0 .../docs}/adr/0008-build-first-strategie.md | 0 .../docs}/adr/0009-discovery-mdns-fallback.md | 0 .../adr/0010-pairing-pin-token-scopes.md | 0 {docs => _entwicklung/docs}/adr/README.md | 0 {docs => _entwicklung/docs}/adr/_template.md | 0 {docs => _entwicklung/docs}/api/.gitkeep | 0 .../docs}/architecture/.gitkeep | 0 .../docs}/architecture/overview.md | 0 {docs => _entwicklung/docs}/fixture/.gitkeep | 0 {docs => _entwicklung/docs}/operator/.gitkeep | 0 .../docs}/performance/.gitkeep | 0 .../docs}/plugin-sdk/.gitkeep | 0 .../docs}/plugin-sdk/README.md | 0 .../docs}/plugin-sdk/adaptive-quality.md | 0 .../docs}/plugin-sdk/example-walkthrough.md | 0 .../docs}/plugin-sdk/lifecycle.md | 0 .../docs}/plugin-sdk/manifest-reference.md | 0 .../docs}/plugin-sdk/parameters-and-dmx.md | 0 .../docs}/plugin-sdk/shader-contract.md | 0 .../fixture_profiles}/layer64/.gitkeep | 0 .../fixture_profiles}/layer64/layer64.csv | 0 .../fixture_profiles}/master32/.gitkeep | 0 .../fixture_profiles}/master32/master32.csv | 0 .../make_mac_app.py | 0 .../native}/render_bridge/.gitkeep | 0 .../native}/render_bridge/Cargo.toml | 0 .../native}/render_bridge/README.md | 0 .../native}/render_bridge/src/compositor.rs | 0 .../render_bridge/src/frame_receiver.rs | 0 .../native}/render_bridge/src/lib.rs | 0 .../render_bridge/src/pipeline_builder.rs | 0 .../render_bridge/src/shader_loader.rs | 0 .../packages}/adaptive_quality/.gitkeep | 0 .../adaptive_quality/hms_adaptive/__init__.py | 0 .../hms_adaptive/controller.py | 0 .../packages}/artnet/.gitkeep | 0 .../packages}/artnet/hms_artnet/__init__.py | 0 .../packages}/artnet/hms_artnet/fixtures.py | 0 .../packages}/artnet/hms_artnet/mapping.py | 0 .../packages}/artnet/hms_artnet/packets.py | 0 .../packages}/artnet/hms_artnet/patch.py | 0 .../packages}/artnet/hms_artnet/receiver.py | 0 .../packages}/artnet/hms_artnet/wiring.py | 0 .../packages}/audio_analysis/.gitkeep | 0 .../audio_analysis/hms_audio/__init__.py | 0 .../audio_analysis/hms_audio/mapping.py | 0 .../packages}/capabilities/.gitkeep | 0 .../capabilities/hms_capabilities/__init__.py | 0 .../capabilities/hms_capabilities/probe.py | 0 .../packages}/cluster/.gitkeep | 0 .../packages}/cluster/hms_cluster/__init__.py | 0 .../cluster/hms_cluster/activation.py | 0 .../packages}/cluster/hms_cluster/clock.py | 0 .../cluster/hms_cluster/discovery.py | 0 .../packages}/cluster/hms_cluster/groups.py | 0 .../packages}/cluster/hms_cluster/message.py | 0 .../packages}/cluster/hms_cluster/pairing.py | 0 .../packages}/cluster/hms_cluster/registry.py | 0 .../packages}/content_sync/.gitkeep | 0 .../content_sync/hms_content_sync/__init__.py | 0 .../content_sync/hms_content_sync/manifest.py | 0 .../packages}/domain/.gitkeep | 0 .../packages}/domain/hms_domain/__init__.py | 0 .../packages}/domain/hms_domain/identity.py | 0 .../packages}/domain/hms_domain/ids.py | 0 .../packages}/domain/hms_domain/model.py | 0 .../packages}/parameter_engine/.gitkeep | 0 .../hms_parameter/__init__.py | 0 .../parameter_engine/hms_parameter/engine.py | 0 .../parameter_engine/hms_parameter/paths.py | 0 .../packages}/persistence/.gitkeep | 0 .../persistence/hms_persistence/__init__.py | 0 .../hms_persistence/state_store.py | 0 .../packages}/plugin_sdk/.gitkeep | 0 .../plugin_sdk/hms_plugin_sdk/__init__.py | 0 .../plugin_sdk/hms_plugin_sdk/lifecycle.py | 0 .../plugin_sdk/hms_plugin_sdk/manifest.py | 0 .../packages}/protocol/.gitkeep | 0 .../protocol/hms_protocol/__init__.py | 0 .../protocol/hms_protocol/connection.py | 0 .../protocol/hms_protocol/envelope.py | 0 .../protocol/hms_protocol/framing.py | 0 .../protocol/hms_protocol/idempotency.py | 0 .../packages}/render_backend/d3d11/.gitkeep | 0 .../packages}/render_backend/gl_gles/.gitkeep | 0 .../packages}/timeline/.gitkeep | 0 .../com.hms.fx.blur_sharpen/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/d3d11/pass2.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gl/pass2.frag | 0 .../shaders/gles/pass1.frag | 0 .../shaders/gles/pass2.frag | 0 .../com.hms.fx.color_adjust/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../com.hms.fx.edge_emboss/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../com.hms.fx.feedback_trails/README.md | 0 .../com.hms.fx.feedback_trails/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../filters/com.hms.fx.glow_bloom/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../com.hms.fx.gradient_map/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../com.hms.fx.kaleidoscope/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../com.hms.fx.mirror_tile/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../com.hms.fx.pixelate_quantize/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../filters/com.hms.fx.rgb_split/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../com.hms.fx.rgb_split/shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../filters/com.hms.fx.strobe_pulse/README.md | 0 .../com.hms.fx.strobe_pulse/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../com.hms.fx.transform2d/plugin.json | 0 .../shaders/d3d11/pass1.hlsl | 0 .../shaders/gl/pass1.frag | 0 .../shaders/gles/pass1.frag | 0 .../filters/com.hms.fx.vignette/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../com.hms.fx.vignette/shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../com.hms.fx.wave_displace/plugin.json | 0 .../shaders/d3d11/main.hlsl | 0 .../shaders/gl/main.frag | 0 .../shaders/gles/main.frag | 0 .../plugins}/builtin/generators/.gitkeep | 0 .../plugin.json | 0 .../shaders/d3d11/checker_grid.hlsl | 0 .../shaders/gl/checker_grid.frag | 0 .../shaders/gles/checker_grid.frag | 0 .../plugin.json | 0 .../shaders/d3d11/drops_ripples.hlsl | 0 .../shaders/gl/drops_ripples.frag | 0 .../shaders/gles/drops_ripples.frag | 0 .../com.hms.generator.gradient/plugin.json | 0 .../shaders/d3d11/gradient.hlsl | 0 .../shaders/gl/gradient.frag | 0 .../shaders/gles/gradient.frag | 0 .../plugin.json | 0 .../shaders/d3d11/noise_clouds.hlsl | 0 .../shaders/gl/noise_clouds.frag | 0 .../shaders/gles/noise_clouds.frag | 0 .../com.hms.generator.plasma/plugin.json | 0 .../shaders/d3d11/plasma.hlsl | 0 .../shaders/gl/plasma.frag | 0 .../shaders/gles/plasma.frag | 0 .../com.hms.generator.shapes/plugin.json | 0 .../shaders/d3d11/shapes.hlsl | 0 .../shaders/gl/shapes.frag | 0 .../shaders/gles/shapes.frag | 0 .../com.hms.generator.solid/plugin.json | 0 .../shaders/d3d11/solid.hlsl | 0 .../shaders/gl/solid.frag | 0 .../shaders/gles/solid.frag | 0 .../com.hms.generator.starfield/plugin.json | 0 .../shaders/d3d11/starfield.hlsl | 0 .../shaders/gl/starfield.frag | 0 .../shaders/gles/starfield.frag | 0 .../plugin.json | 0 .../shaders/d3d11/stripes_chaser.hlsl | 0 .../shaders/gl/stripes_chaser.frag | 0 .../shaders/gles/stripes_chaser.frag | 0 .../com.hms.generator.wave_bars/plugin.json | 0 .../shaders/d3d11/wave_bars.hlsl | 0 .../shaders/gl/wave_bars.frag | 0 .../shaders/gles/wave_bars.frag | 0 .../plugins}/builtin/outputs/.gitkeep | 0 .../plugins}/builtin/transitions/.gitkeep | 0 .../plugins}/examples/.gitkeep | 0 .../com.hms.fx.example_passthrough/README.md | 0 .../plugin.json | 0 .../shaders/d3d11/passthrough.hlsl | 0 .../shaders/gl/passthrough.frag | 0 .../shaders/gles/passthrough.frag | 0 .../com.hms.fx.gaussian_blur/README.md | 0 .../com.hms.fx.gaussian_blur/plugin.json | 0 .../shaders/d3d11/horizontal.hlsl | 0 .../shaders/d3d11/vertical.hlsl | 0 .../shaders/gl/horizontal.frag | 0 .../shaders/gl/vertical.frag | 0 .../shaders/gles/horizontal.frag | 0 .../shaders/gles/vertical.frag | 0 pyproject.toml => _entwicklung/pyproject.toml | 0 .../schemas}/api/.gitkeep | 0 .../schemas}/cluster/.gitkeep | 0 .../cluster/cluster_message_v1.schema.json | 0 .../schemas}/ipc/.gitkeep | 0 .../schemas}/ipc/envelope_v1.schema.json | 0 .../schemas}/plugin/.gitkeep | 0 .../plugin/plugin_manifest_v1.schema.json | 0 .../schemas}/project/.gitkeep | 0 .../schemas}/project/project_v1.schema.json | 0 setup_linux.sh => _entwicklung/setup_linux.sh | 0 setup_macos.sh => _entwicklung/setup_macos.sh | 0 .../setup_windows.ps1 | 0 .../tests}/cluster/.gitkeep | 0 {tests => _entwicklung/tests}/conftest.py | 0 {tests => _entwicklung/tests}/e2e/.gitkeep | 0 {tests => _entwicklung/tests}/e2e_app_test.py | 0 {tests => _entwicklung/tests}/e2e_cue_test.py | 0 .../tests}/e2e_distribution_test.py | 0 {tests => _entwicklung/tests}/e2e_fx_test.py | 0 .../tests}/e2e_projects_test.py | 0 .../tests}/integration/.gitkeep | 0 .../integration/test_artnet_receiver.py | 0 .../tests}/integration/test_control_server.py | 0 .../tests}/integration/test_ipc_connection.py | 0 .../tests}/integration/test_project_api.py | 0 .../integration/test_state_sync_chain.py | 0 .../tests}/performance/.gitkeep | 0 .../tests}/portability/.gitkeep | 0 .../tests}/rendering/.gitkeep | 0 {tests => _entwicklung/tests}/unit/.gitkeep | 0 .../tests}/unit/test_adaptive_quality.py | 0 .../tests}/unit/test_artnet_packets.py | 0 .../tests}/unit/test_audio.py | 0 .../tests}/unit/test_builtin_plugins.py | 0 .../tests}/unit/test_capabilities.py | 0 .../tests}/unit/test_cluster.py | 0 .../tests}/unit/test_cluster_routing.py | 0 .../tests}/unit/test_content_manifest.py | 0 .../tests}/unit/test_dmx_mapping.py | 0 .../tests}/unit/test_domain_ids.py | 0 .../tests}/unit/test_domain_model.py | 0 .../tests}/unit/test_fixture_engine.py | 0 .../tests}/unit/test_fixture_generator.py | 0 .../tests}/unit/test_media_library.py | 0 .../tests}/unit/test_node_identity.py | 0 .../tests}/unit/test_parameter_engine.py | 0 .../tests}/unit/test_patch_and_wiring.py | 0 .../tests}/unit/test_persistence.py | 0 .../tests}/unit/test_pipelines.py | 0 .../tests}/unit/test_playback.py | 0 .../tests}/unit/test_plugin_lifecycle.py | 0 .../tests}/unit/test_plugin_manifest.py | 0 .../tests}/unit/test_portable_paths.py | 0 .../tests}/unit/test_protocol.py | 0 .../tests}/unit/test_render_engine.py | 0 .../tests}/unit/test_state_store.py | 0 .../tests}/unit/test_supervisor.py | 0 {tests => _entwicklung/tests}/visual/.gitkeep | 0 .../tools}/artnet_emulator/.gitkeep | 0 .../tools}/artnet_emulator/artnet_emulator.py | 0 .../tools}/capability_probe/.gitkeep | 0 .../tools}/cluster_test_node/.gitkeep | 0 .../tools}/fixture_generator/.gitkeep | 0 .../fixture_generator/fixture_generator.py | 0 .../tools}/media_probe/.gitkeep | 0 .../tools}/shader_validate/.gitkeep | 0 uv.lock => _entwicklung/uv.lock | 0 packages/media/hms_media/__init__.py | 19 -- packages/media/hms_media/library.py | 172 --------------- packages/media/hms_media/transport.py | 196 ------------------ 338 files changed, 24 insertions(+), 387 deletions(-) create mode 100644 LIESMICH.txt rename CHANGELOG.md => _entwicklung/CHANGELOG.md (100%) rename ERRORS.md => _entwicklung/ERRORS.md (100%) rename PLAN.md => _entwicklung/PLAN.md (100%) rename README.md => _entwicklung/README.md (100%) rename STATUS.md => _entwicklung/STATUS.md (100%) rename TEST_REPORT.md => _entwicklung/TEST_REPORT.md (100%) rename {apps => _entwicklung/apps}/control_server/.gitkeep (100%) rename {apps => _entwicklung/apps}/control_server/hms_control_server/__init__.py (100%) rename {apps => _entwicklung/apps}/control_server/hms_control_server/__main__.py (100%) rename {apps => _entwicklung/apps}/control_server/hms_control_server/app.py (100%) rename {apps => _entwicklung/apps}/control_server/hms_control_server/renderer_link.py (100%) rename {apps => _entwicklung/apps}/launcher/.gitkeep (100%) rename {apps => _entwicklung/apps}/launcher/hms_launcher/__init__.py (100%) rename {apps => _entwicklung/apps}/launcher/hms_launcher/__main__.py (100%) rename {apps => _entwicklung/apps}/launcher/hms_launcher/paths.py (100%) rename {apps => _entwicklung/apps}/launcher/hms_launcher/supervisor.py (100%) rename {apps => _entwicklung/apps}/renderer/.gitkeep (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/__init__.py (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/__main__.py (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/engine.py (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/pipelines.py (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/run_renderer.py (100%) rename {apps => _entwicklung/apps}/renderer/hms_renderer/state_mirror.py (100%) rename {apps => _entwicklung/apps}/web/.gitkeep (100%) rename {apps => _entwicklung/apps}/web/index.html (100%) rename {apps => _entwicklung/apps}/web/package.json (100%) rename {apps => _entwicklung/apps}/web/pnpm-lock.yaml (100%) rename {apps => _entwicklung/apps}/web/src/App.tsx (100%) rename {apps => _entwicklung/apps}/web/src/__tests__/LayerTable.test.tsx (100%) rename {apps => _entwicklung/apps}/web/src/__tests__/StatusBar.test.tsx (100%) rename {apps => _entwicklung/apps}/web/src/components/Inspector.tsx (100%) rename {apps => _entwicklung/apps}/web/src/components/LayerTable.tsx (100%) rename {apps => _entwicklung/apps}/web/src/components/RightSidebar.tsx (100%) rename {apps => _entwicklung/apps}/web/src/components/StatusBar.tsx (100%) rename {apps => _entwicklung/apps}/web/src/hooks/useApi.ts (100%) rename {apps => _entwicklung/apps}/web/src/hooks/useWebSocket.ts (100%) rename {apps => _entwicklung/apps}/web/src/icons.tsx (100%) rename {apps => _entwicklung/apps}/web/src/main.tsx (100%) rename {apps => _entwicklung/apps}/web/src/seed.ts (100%) rename {apps => _entwicklung/apps}/web/src/styles/app.css (100%) rename {apps => _entwicklung/apps}/web/src/styles/tokens.css (100%) rename {apps => _entwicklung/apps}/web/src/test/setup.ts (100%) rename {apps => _entwicklung/apps}/web/src/types.ts (100%) rename {apps => _entwicklung/apps}/web/src/utils.ts (100%) rename {apps => _entwicklung/apps}/web/src/vite-env.d.ts (100%) rename {apps => _entwicklung/apps}/web/tsconfig.json (100%) rename {apps => _entwicklung/apps}/web/tsconfig.tsbuildinfo (100%) rename {apps => _entwicklung/apps}/web/vite.config.ts (100%) rename {apps => _entwicklung/apps}/web/vitest.config.ts (100%) rename {build => _entwicklung/build}/linux/.gitkeep (100%) rename {build => _entwicklung/build}/raspberry_pi/.gitkeep (100%) rename {build => _entwicklung/build}/windows/.gitkeep (100%) rename {build => _entwicklung/build}/windows/GSTREAMER.md (100%) rename {build => _entwicklung/build}/windows/build_portable.sh (100%) rename {docs => _entwicklung/docs}/adr/.gitkeep (100%) rename {docs => _entwicklung/docs}/adr/0001-python-version-pin.md (100%) rename {docs => _entwicklung/docs}/adr/0002-gstreamer-pin-windows.md (100%) rename {docs => _entwicklung/docs}/adr/0003-ipc-tcp-msgpack.md (100%) rename {docs => _entwicklung/docs}/adr/0004-renderkern-rust-gstreamer.md (100%) rename {docs => _entwicklung/docs}/adr/0005-packaging-nuitka-onefolder.md (100%) rename {docs => _entwicklung/docs}/adr/0006-frontend-react.md (100%) rename {docs => _entwicklung/docs}/adr/0008-build-first-strategie.md (100%) rename {docs => _entwicklung/docs}/adr/0009-discovery-mdns-fallback.md (100%) rename {docs => _entwicklung/docs}/adr/0010-pairing-pin-token-scopes.md (100%) rename {docs => _entwicklung/docs}/adr/README.md (100%) rename {docs => _entwicklung/docs}/adr/_template.md (100%) rename {docs => _entwicklung/docs}/api/.gitkeep (100%) rename {docs => _entwicklung/docs}/architecture/.gitkeep (100%) rename {docs => _entwicklung/docs}/architecture/overview.md (100%) rename {docs => _entwicklung/docs}/fixture/.gitkeep (100%) rename {docs => _entwicklung/docs}/operator/.gitkeep (100%) rename {docs => _entwicklung/docs}/performance/.gitkeep (100%) rename {docs => _entwicklung/docs}/plugin-sdk/.gitkeep (100%) rename {docs => _entwicklung/docs}/plugin-sdk/README.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/adaptive-quality.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/example-walkthrough.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/lifecycle.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/manifest-reference.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/parameters-and-dmx.md (100%) rename {docs => _entwicklung/docs}/plugin-sdk/shader-contract.md (100%) rename {fixture_profiles => _entwicklung/fixture_profiles}/layer64/.gitkeep (100%) rename {fixture_profiles => _entwicklung/fixture_profiles}/layer64/layer64.csv (100%) rename {fixture_profiles => _entwicklung/fixture_profiles}/master32/.gitkeep (100%) rename {fixture_profiles => _entwicklung/fixture_profiles}/master32/master32.csv (100%) rename make_mac_app.py => _entwicklung/make_mac_app.py (100%) rename {native => _entwicklung/native}/render_bridge/.gitkeep (100%) rename {native => _entwicklung/native}/render_bridge/Cargo.toml (100%) rename {native => _entwicklung/native}/render_bridge/README.md (100%) rename {native => _entwicklung/native}/render_bridge/src/compositor.rs (100%) rename {native => _entwicklung/native}/render_bridge/src/frame_receiver.rs (100%) rename {native => _entwicklung/native}/render_bridge/src/lib.rs (100%) rename {native => _entwicklung/native}/render_bridge/src/pipeline_builder.rs (100%) rename {native => _entwicklung/native}/render_bridge/src/shader_loader.rs (100%) rename {packages => _entwicklung/packages}/adaptive_quality/.gitkeep (100%) rename {packages => _entwicklung/packages}/adaptive_quality/hms_adaptive/__init__.py (100%) rename {packages => _entwicklung/packages}/adaptive_quality/hms_adaptive/controller.py (100%) rename {packages => _entwicklung/packages}/artnet/.gitkeep (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/__init__.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/fixtures.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/mapping.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/packets.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/patch.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/receiver.py (100%) rename {packages => _entwicklung/packages}/artnet/hms_artnet/wiring.py (100%) rename {packages => _entwicklung/packages}/audio_analysis/.gitkeep (100%) rename {packages => _entwicklung/packages}/audio_analysis/hms_audio/__init__.py (100%) rename {packages => _entwicklung/packages}/audio_analysis/hms_audio/mapping.py (100%) rename {packages => _entwicklung/packages}/capabilities/.gitkeep (100%) rename {packages => _entwicklung/packages}/capabilities/hms_capabilities/__init__.py (100%) rename {packages => _entwicklung/packages}/capabilities/hms_capabilities/probe.py (100%) rename {packages => _entwicklung/packages}/cluster/.gitkeep (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/__init__.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/activation.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/clock.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/discovery.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/groups.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/message.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/pairing.py (100%) rename {packages => _entwicklung/packages}/cluster/hms_cluster/registry.py (100%) rename {packages => _entwicklung/packages}/content_sync/.gitkeep (100%) rename {packages => _entwicklung/packages}/content_sync/hms_content_sync/__init__.py (100%) rename {packages => _entwicklung/packages}/content_sync/hms_content_sync/manifest.py (100%) rename {packages => _entwicklung/packages}/domain/.gitkeep (100%) rename {packages => _entwicklung/packages}/domain/hms_domain/__init__.py (100%) rename {packages => _entwicklung/packages}/domain/hms_domain/identity.py (100%) rename {packages => _entwicklung/packages}/domain/hms_domain/ids.py (100%) rename {packages => _entwicklung/packages}/domain/hms_domain/model.py (100%) rename {packages => _entwicklung/packages}/parameter_engine/.gitkeep (100%) rename {packages => _entwicklung/packages}/parameter_engine/hms_parameter/__init__.py (100%) rename {packages => _entwicklung/packages}/parameter_engine/hms_parameter/engine.py (100%) rename {packages => _entwicklung/packages}/parameter_engine/hms_parameter/paths.py (100%) rename {packages => _entwicklung/packages}/persistence/.gitkeep (100%) rename {packages => _entwicklung/packages}/persistence/hms_persistence/__init__.py (100%) rename {packages => _entwicklung/packages}/persistence/hms_persistence/state_store.py (100%) rename {packages => _entwicklung/packages}/plugin_sdk/.gitkeep (100%) rename {packages => _entwicklung/packages}/plugin_sdk/hms_plugin_sdk/__init__.py (100%) rename {packages => _entwicklung/packages}/plugin_sdk/hms_plugin_sdk/lifecycle.py (100%) rename {packages => _entwicklung/packages}/plugin_sdk/hms_plugin_sdk/manifest.py (100%) rename {packages => _entwicklung/packages}/protocol/.gitkeep (100%) rename {packages => _entwicklung/packages}/protocol/hms_protocol/__init__.py (100%) rename {packages => _entwicklung/packages}/protocol/hms_protocol/connection.py (100%) rename {packages => _entwicklung/packages}/protocol/hms_protocol/envelope.py (100%) rename {packages => _entwicklung/packages}/protocol/hms_protocol/framing.py (100%) rename {packages => _entwicklung/packages}/protocol/hms_protocol/idempotency.py (100%) rename {packages => _entwicklung/packages}/render_backend/d3d11/.gitkeep (100%) rename {packages => _entwicklung/packages}/render_backend/gl_gles/.gitkeep (100%) rename {packages => _entwicklung/packages}/timeline/.gitkeep (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass2.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass2.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass2.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.color_adjust/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.color_adjust/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.color_adjust/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.color_adjust/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.edge_emboss/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.edge_emboss/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.edge_emboss/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.edge_emboss/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.feedback_trails/README.md (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.feedback_trails/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.feedback_trails/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.feedback_trails/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.feedback_trails/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.glow_bloom/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.glow_bloom/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.glow_bloom/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.glow_bloom/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.gradient_map/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.gradient_map/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.gradient_map/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.gradient_map/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.kaleidoscope/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.kaleidoscope/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.kaleidoscope/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.kaleidoscope/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.mirror_tile/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.mirror_tile/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.mirror_tile/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.mirror_tile/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.pixelate_quantize/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.pixelate_quantize/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.rgb_split/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.rgb_split/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.rgb_split/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.rgb_split/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.strobe_pulse/README.md (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.strobe_pulse/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.strobe_pulse/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.strobe_pulse/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.strobe_pulse/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.transform2d/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.transform2d/shaders/d3d11/pass1.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.transform2d/shaders/gl/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.transform2d/shaders/gles/pass1.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.vignette/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.vignette/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.vignette/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.vignette/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.wave_displace/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.wave_displace/shaders/d3d11/main.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.wave_displace/shaders/gl/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/filters/com.hms.fx.wave_displace/shaders/gles/main.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/.gitkeep (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.checker_grid/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.checker_grid/shaders/d3d11/checker_grid.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.checker_grid/shaders/gl/checker_grid.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.checker_grid/shaders/gles/checker_grid.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.drops_ripples/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.drops_ripples/shaders/d3d11/drops_ripples.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.drops_ripples/shaders/gl/drops_ripples.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.drops_ripples/shaders/gles/drops_ripples.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.gradient/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.gradient/shaders/d3d11/gradient.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.gradient/shaders/gl/gradient.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.gradient/shaders/gles/gradient.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.noise_clouds/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.noise_clouds/shaders/d3d11/noise_clouds.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.noise_clouds/shaders/gl/noise_clouds.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.noise_clouds/shaders/gles/noise_clouds.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.plasma/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.plasma/shaders/d3d11/plasma.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.plasma/shaders/gl/plasma.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.plasma/shaders/gles/plasma.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.shapes/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.shapes/shaders/d3d11/shapes.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.shapes/shaders/gl/shapes.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.shapes/shaders/gles/shapes.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.solid/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.solid/shaders/d3d11/solid.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.solid/shaders/gl/solid.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.solid/shaders/gles/solid.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.starfield/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.starfield/shaders/d3d11/starfield.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.starfield/shaders/gl/starfield.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.starfield/shaders/gles/starfield.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.stripes_chaser/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.stripes_chaser/shaders/d3d11/stripes_chaser.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.stripes_chaser/shaders/gl/stripes_chaser.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.stripes_chaser/shaders/gles/stripes_chaser.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.wave_bars/plugin.json (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.wave_bars/shaders/d3d11/wave_bars.hlsl (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.wave_bars/shaders/gl/wave_bars.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/generators/com.hms.generator.wave_bars/shaders/gles/wave_bars.frag (100%) rename {plugins => _entwicklung/plugins}/builtin/outputs/.gitkeep (100%) rename {plugins => _entwicklung/plugins}/builtin/transitions/.gitkeep (100%) rename {plugins => _entwicklung/plugins}/examples/.gitkeep (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.example_passthrough/README.md (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.example_passthrough/plugin.json (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.example_passthrough/shaders/d3d11/passthrough.hlsl (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.example_passthrough/shaders/gl/passthrough.frag (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.example_passthrough/shaders/gles/passthrough.frag (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/README.md (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/plugin.json (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/d3d11/horizontal.hlsl (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/d3d11/vertical.hlsl (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/gl/horizontal.frag (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/gl/vertical.frag (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/gles/horizontal.frag (100%) rename {plugins => _entwicklung/plugins}/examples/com.hms.fx.gaussian_blur/shaders/gles/vertical.frag (100%) rename pyproject.toml => _entwicklung/pyproject.toml (100%) rename {schemas => _entwicklung/schemas}/api/.gitkeep (100%) rename {schemas => _entwicklung/schemas}/cluster/.gitkeep (100%) rename {schemas => _entwicklung/schemas}/cluster/cluster_message_v1.schema.json (100%) rename {schemas => _entwicklung/schemas}/ipc/.gitkeep (100%) rename {schemas => _entwicklung/schemas}/ipc/envelope_v1.schema.json (100%) rename {schemas => _entwicklung/schemas}/plugin/.gitkeep (100%) rename {schemas => _entwicklung/schemas}/plugin/plugin_manifest_v1.schema.json (100%) rename {schemas => _entwicklung/schemas}/project/.gitkeep (100%) rename {schemas => _entwicklung/schemas}/project/project_v1.schema.json (100%) rename setup_linux.sh => _entwicklung/setup_linux.sh (100%) rename setup_macos.sh => _entwicklung/setup_macos.sh (100%) rename setup_windows.ps1 => _entwicklung/setup_windows.ps1 (100%) rename {tests => _entwicklung/tests}/cluster/.gitkeep (100%) rename {tests => _entwicklung/tests}/conftest.py (100%) rename {tests => _entwicklung/tests}/e2e/.gitkeep (100%) rename {tests => _entwicklung/tests}/e2e_app_test.py (100%) rename {tests => _entwicklung/tests}/e2e_cue_test.py (100%) rename {tests => _entwicklung/tests}/e2e_distribution_test.py (100%) rename {tests => _entwicklung/tests}/e2e_fx_test.py (100%) rename {tests => _entwicklung/tests}/e2e_projects_test.py (100%) rename {tests => _entwicklung/tests}/integration/.gitkeep (100%) rename {tests => _entwicklung/tests}/integration/test_artnet_receiver.py (100%) rename {tests => _entwicklung/tests}/integration/test_control_server.py (100%) rename {tests => _entwicklung/tests}/integration/test_ipc_connection.py (100%) rename {tests => _entwicklung/tests}/integration/test_project_api.py (100%) rename {tests => _entwicklung/tests}/integration/test_state_sync_chain.py (100%) rename {tests => _entwicklung/tests}/performance/.gitkeep (100%) rename {tests => _entwicklung/tests}/portability/.gitkeep (100%) rename {tests => _entwicklung/tests}/rendering/.gitkeep (100%) rename {tests => _entwicklung/tests}/unit/.gitkeep (100%) rename {tests => _entwicklung/tests}/unit/test_adaptive_quality.py (100%) rename {tests => _entwicklung/tests}/unit/test_artnet_packets.py (100%) rename {tests => _entwicklung/tests}/unit/test_audio.py (100%) rename {tests => _entwicklung/tests}/unit/test_builtin_plugins.py (100%) rename {tests => _entwicklung/tests}/unit/test_capabilities.py (100%) rename {tests => _entwicklung/tests}/unit/test_cluster.py (100%) rename {tests => _entwicklung/tests}/unit/test_cluster_routing.py (100%) rename {tests => _entwicklung/tests}/unit/test_content_manifest.py (100%) rename {tests => _entwicklung/tests}/unit/test_dmx_mapping.py (100%) rename {tests => _entwicklung/tests}/unit/test_domain_ids.py (100%) rename {tests => _entwicklung/tests}/unit/test_domain_model.py (100%) rename {tests => _entwicklung/tests}/unit/test_fixture_engine.py (100%) rename {tests => _entwicklung/tests}/unit/test_fixture_generator.py (100%) rename {tests => _entwicklung/tests}/unit/test_media_library.py (100%) rename {tests => _entwicklung/tests}/unit/test_node_identity.py (100%) rename {tests => _entwicklung/tests}/unit/test_parameter_engine.py (100%) rename {tests => _entwicklung/tests}/unit/test_patch_and_wiring.py (100%) rename {tests => _entwicklung/tests}/unit/test_persistence.py (100%) rename {tests => _entwicklung/tests}/unit/test_pipelines.py (100%) rename {tests => _entwicklung/tests}/unit/test_playback.py (100%) rename {tests => _entwicklung/tests}/unit/test_plugin_lifecycle.py (100%) rename {tests => _entwicklung/tests}/unit/test_plugin_manifest.py (100%) rename {tests => _entwicklung/tests}/unit/test_portable_paths.py (100%) rename {tests => _entwicklung/tests}/unit/test_protocol.py (100%) rename {tests => _entwicklung/tests}/unit/test_render_engine.py (100%) rename {tests => _entwicklung/tests}/unit/test_state_store.py (100%) rename {tests => _entwicklung/tests}/unit/test_supervisor.py (100%) rename {tests => _entwicklung/tests}/visual/.gitkeep (100%) rename {tools => _entwicklung/tools}/artnet_emulator/.gitkeep (100%) rename {tools => _entwicklung/tools}/artnet_emulator/artnet_emulator.py (100%) rename {tools => _entwicklung/tools}/capability_probe/.gitkeep (100%) rename {tools => _entwicklung/tools}/cluster_test_node/.gitkeep (100%) rename {tools => _entwicklung/tools}/fixture_generator/.gitkeep (100%) rename {tools => _entwicklung/tools}/fixture_generator/fixture_generator.py (100%) rename {tools => _entwicklung/tools}/media_probe/.gitkeep (100%) rename {tools => _entwicklung/tools}/shader_validate/.gitkeep (100%) rename uv.lock => _entwicklung/uv.lock (100%) delete mode 100644 packages/media/hms_media/__init__.py delete mode 100644 packages/media/hms_media/library.py delete mode 100644 packages/media/hms_media/transport.py diff --git a/.gitignore b/.gitignore index 19f6f44..9d9a7bf 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,7 @@ config.json # Projekte (Nutzerdaten) projects/ + +# Portable GStreamer-Installation +runtime/ +__pycache__/ diff --git a/LIESMICH.txt b/LIESMICH.txt new file mode 100644 index 0000000..84d660f --- /dev/null +++ b/LIESMICH.txt @@ -0,0 +1,20 @@ +HMS MediaEngine – Kurzstart +=========================== + +ERSTER START (einmalig): + macOS: HMS-Portable-Install.command doppelklicken + (oder HMS-Mac-Install.command wenn Homebrew vorhanden) + Windows: HMS-Install.vbs doppelklicken + +JEDER WEITERE START: + macOS: HMS MediaEngine.app doppelklicken + Windows: HMS-Start.vbs doppelklicken + -> Browser oeffnet sich automatisch (http://localhost:8080) + +Alle Medien, Projekte und Einstellungen liegen hier im Ordner: + media/ = deine Videos und Bilder + projects/ = gespeicherte Shows + config.json = Einstellungen + +Ordner _entwicklung/ = alter Entwicklungscode (nicht benoetigt, +kann geloescht werden wenn du Platz brauchst) diff --git a/CHANGELOG.md b/_entwicklung/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to _entwicklung/CHANGELOG.md diff --git a/ERRORS.md b/_entwicklung/ERRORS.md similarity index 100% rename from ERRORS.md rename to _entwicklung/ERRORS.md diff --git a/PLAN.md b/_entwicklung/PLAN.md similarity index 100% rename from PLAN.md rename to _entwicklung/PLAN.md diff --git a/README.md b/_entwicklung/README.md similarity index 100% rename from README.md rename to _entwicklung/README.md diff --git a/STATUS.md b/_entwicklung/STATUS.md similarity index 100% rename from STATUS.md rename to _entwicklung/STATUS.md diff --git a/TEST_REPORT.md b/_entwicklung/TEST_REPORT.md similarity index 100% rename from TEST_REPORT.md rename to _entwicklung/TEST_REPORT.md diff --git a/apps/control_server/.gitkeep b/_entwicklung/apps/control_server/.gitkeep similarity index 100% rename from apps/control_server/.gitkeep rename to _entwicklung/apps/control_server/.gitkeep diff --git a/apps/control_server/hms_control_server/__init__.py b/_entwicklung/apps/control_server/hms_control_server/__init__.py similarity index 100% rename from apps/control_server/hms_control_server/__init__.py rename to _entwicklung/apps/control_server/hms_control_server/__init__.py diff --git a/apps/control_server/hms_control_server/__main__.py b/_entwicklung/apps/control_server/hms_control_server/__main__.py similarity index 100% rename from apps/control_server/hms_control_server/__main__.py rename to _entwicklung/apps/control_server/hms_control_server/__main__.py diff --git a/apps/control_server/hms_control_server/app.py b/_entwicklung/apps/control_server/hms_control_server/app.py similarity index 100% rename from apps/control_server/hms_control_server/app.py rename to _entwicklung/apps/control_server/hms_control_server/app.py diff --git a/apps/control_server/hms_control_server/renderer_link.py b/_entwicklung/apps/control_server/hms_control_server/renderer_link.py similarity index 100% rename from apps/control_server/hms_control_server/renderer_link.py rename to _entwicklung/apps/control_server/hms_control_server/renderer_link.py diff --git a/apps/launcher/.gitkeep b/_entwicklung/apps/launcher/.gitkeep similarity index 100% rename from apps/launcher/.gitkeep rename to _entwicklung/apps/launcher/.gitkeep diff --git a/apps/launcher/hms_launcher/__init__.py b/_entwicklung/apps/launcher/hms_launcher/__init__.py similarity index 100% rename from apps/launcher/hms_launcher/__init__.py rename to _entwicklung/apps/launcher/hms_launcher/__init__.py diff --git a/apps/launcher/hms_launcher/__main__.py b/_entwicklung/apps/launcher/hms_launcher/__main__.py similarity index 100% rename from apps/launcher/hms_launcher/__main__.py rename to _entwicklung/apps/launcher/hms_launcher/__main__.py diff --git a/apps/launcher/hms_launcher/paths.py b/_entwicklung/apps/launcher/hms_launcher/paths.py similarity index 100% rename from apps/launcher/hms_launcher/paths.py rename to _entwicklung/apps/launcher/hms_launcher/paths.py diff --git a/apps/launcher/hms_launcher/supervisor.py b/_entwicklung/apps/launcher/hms_launcher/supervisor.py similarity index 100% rename from apps/launcher/hms_launcher/supervisor.py rename to _entwicklung/apps/launcher/hms_launcher/supervisor.py diff --git a/apps/renderer/.gitkeep b/_entwicklung/apps/renderer/.gitkeep similarity index 100% rename from apps/renderer/.gitkeep rename to _entwicklung/apps/renderer/.gitkeep diff --git a/apps/renderer/hms_renderer/__init__.py b/_entwicklung/apps/renderer/hms_renderer/__init__.py similarity index 100% rename from apps/renderer/hms_renderer/__init__.py rename to _entwicklung/apps/renderer/hms_renderer/__init__.py diff --git a/apps/renderer/hms_renderer/__main__.py b/_entwicklung/apps/renderer/hms_renderer/__main__.py similarity index 100% rename from apps/renderer/hms_renderer/__main__.py rename to _entwicklung/apps/renderer/hms_renderer/__main__.py diff --git a/apps/renderer/hms_renderer/engine.py b/_entwicklung/apps/renderer/hms_renderer/engine.py similarity index 100% rename from apps/renderer/hms_renderer/engine.py rename to _entwicklung/apps/renderer/hms_renderer/engine.py diff --git a/apps/renderer/hms_renderer/pipelines.py b/_entwicklung/apps/renderer/hms_renderer/pipelines.py similarity index 100% rename from apps/renderer/hms_renderer/pipelines.py rename to _entwicklung/apps/renderer/hms_renderer/pipelines.py diff --git a/apps/renderer/hms_renderer/run_renderer.py b/_entwicklung/apps/renderer/hms_renderer/run_renderer.py similarity index 100% rename from apps/renderer/hms_renderer/run_renderer.py rename to _entwicklung/apps/renderer/hms_renderer/run_renderer.py diff --git a/apps/renderer/hms_renderer/state_mirror.py b/_entwicklung/apps/renderer/hms_renderer/state_mirror.py similarity index 100% rename from apps/renderer/hms_renderer/state_mirror.py rename to _entwicklung/apps/renderer/hms_renderer/state_mirror.py diff --git a/apps/web/.gitkeep b/_entwicklung/apps/web/.gitkeep similarity index 100% rename from apps/web/.gitkeep rename to _entwicklung/apps/web/.gitkeep diff --git a/apps/web/index.html b/_entwicklung/apps/web/index.html similarity index 100% rename from apps/web/index.html rename to _entwicklung/apps/web/index.html diff --git a/apps/web/package.json b/_entwicklung/apps/web/package.json similarity index 100% rename from apps/web/package.json rename to _entwicklung/apps/web/package.json diff --git a/apps/web/pnpm-lock.yaml b/_entwicklung/apps/web/pnpm-lock.yaml similarity index 100% rename from apps/web/pnpm-lock.yaml rename to _entwicklung/apps/web/pnpm-lock.yaml diff --git a/apps/web/src/App.tsx b/_entwicklung/apps/web/src/App.tsx similarity index 100% rename from apps/web/src/App.tsx rename to _entwicklung/apps/web/src/App.tsx diff --git a/apps/web/src/__tests__/LayerTable.test.tsx b/_entwicklung/apps/web/src/__tests__/LayerTable.test.tsx similarity index 100% rename from apps/web/src/__tests__/LayerTable.test.tsx rename to _entwicklung/apps/web/src/__tests__/LayerTable.test.tsx diff --git a/apps/web/src/__tests__/StatusBar.test.tsx b/_entwicklung/apps/web/src/__tests__/StatusBar.test.tsx similarity index 100% rename from apps/web/src/__tests__/StatusBar.test.tsx rename to _entwicklung/apps/web/src/__tests__/StatusBar.test.tsx diff --git a/apps/web/src/components/Inspector.tsx b/_entwicklung/apps/web/src/components/Inspector.tsx similarity index 100% rename from apps/web/src/components/Inspector.tsx rename to _entwicklung/apps/web/src/components/Inspector.tsx diff --git a/apps/web/src/components/LayerTable.tsx b/_entwicklung/apps/web/src/components/LayerTable.tsx similarity index 100% rename from apps/web/src/components/LayerTable.tsx rename to _entwicklung/apps/web/src/components/LayerTable.tsx diff --git a/apps/web/src/components/RightSidebar.tsx b/_entwicklung/apps/web/src/components/RightSidebar.tsx similarity index 100% rename from apps/web/src/components/RightSidebar.tsx rename to _entwicklung/apps/web/src/components/RightSidebar.tsx diff --git a/apps/web/src/components/StatusBar.tsx b/_entwicklung/apps/web/src/components/StatusBar.tsx similarity index 100% rename from apps/web/src/components/StatusBar.tsx rename to _entwicklung/apps/web/src/components/StatusBar.tsx diff --git a/apps/web/src/hooks/useApi.ts b/_entwicklung/apps/web/src/hooks/useApi.ts similarity index 100% rename from apps/web/src/hooks/useApi.ts rename to _entwicklung/apps/web/src/hooks/useApi.ts diff --git a/apps/web/src/hooks/useWebSocket.ts b/_entwicklung/apps/web/src/hooks/useWebSocket.ts similarity index 100% rename from apps/web/src/hooks/useWebSocket.ts rename to _entwicklung/apps/web/src/hooks/useWebSocket.ts diff --git a/apps/web/src/icons.tsx b/_entwicklung/apps/web/src/icons.tsx similarity index 100% rename from apps/web/src/icons.tsx rename to _entwicklung/apps/web/src/icons.tsx diff --git a/apps/web/src/main.tsx b/_entwicklung/apps/web/src/main.tsx similarity index 100% rename from apps/web/src/main.tsx rename to _entwicklung/apps/web/src/main.tsx diff --git a/apps/web/src/seed.ts b/_entwicklung/apps/web/src/seed.ts similarity index 100% rename from apps/web/src/seed.ts rename to _entwicklung/apps/web/src/seed.ts diff --git a/apps/web/src/styles/app.css b/_entwicklung/apps/web/src/styles/app.css similarity index 100% rename from apps/web/src/styles/app.css rename to _entwicklung/apps/web/src/styles/app.css diff --git a/apps/web/src/styles/tokens.css b/_entwicklung/apps/web/src/styles/tokens.css similarity index 100% rename from apps/web/src/styles/tokens.css rename to _entwicklung/apps/web/src/styles/tokens.css diff --git a/apps/web/src/test/setup.ts b/_entwicklung/apps/web/src/test/setup.ts similarity index 100% rename from apps/web/src/test/setup.ts rename to _entwicklung/apps/web/src/test/setup.ts diff --git a/apps/web/src/types.ts b/_entwicklung/apps/web/src/types.ts similarity index 100% rename from apps/web/src/types.ts rename to _entwicklung/apps/web/src/types.ts diff --git a/apps/web/src/utils.ts b/_entwicklung/apps/web/src/utils.ts similarity index 100% rename from apps/web/src/utils.ts rename to _entwicklung/apps/web/src/utils.ts diff --git a/apps/web/src/vite-env.d.ts b/_entwicklung/apps/web/src/vite-env.d.ts similarity index 100% rename from apps/web/src/vite-env.d.ts rename to _entwicklung/apps/web/src/vite-env.d.ts diff --git a/apps/web/tsconfig.json b/_entwicklung/apps/web/tsconfig.json similarity index 100% rename from apps/web/tsconfig.json rename to _entwicklung/apps/web/tsconfig.json diff --git a/apps/web/tsconfig.tsbuildinfo b/_entwicklung/apps/web/tsconfig.tsbuildinfo similarity index 100% rename from apps/web/tsconfig.tsbuildinfo rename to _entwicklung/apps/web/tsconfig.tsbuildinfo diff --git a/apps/web/vite.config.ts b/_entwicklung/apps/web/vite.config.ts similarity index 100% rename from apps/web/vite.config.ts rename to _entwicklung/apps/web/vite.config.ts diff --git a/apps/web/vitest.config.ts b/_entwicklung/apps/web/vitest.config.ts similarity index 100% rename from apps/web/vitest.config.ts rename to _entwicklung/apps/web/vitest.config.ts diff --git a/build/linux/.gitkeep b/_entwicklung/build/linux/.gitkeep similarity index 100% rename from build/linux/.gitkeep rename to _entwicklung/build/linux/.gitkeep diff --git a/build/raspberry_pi/.gitkeep b/_entwicklung/build/raspberry_pi/.gitkeep similarity index 100% rename from build/raspberry_pi/.gitkeep rename to _entwicklung/build/raspberry_pi/.gitkeep diff --git a/build/windows/.gitkeep b/_entwicklung/build/windows/.gitkeep similarity index 100% rename from build/windows/.gitkeep rename to _entwicklung/build/windows/.gitkeep diff --git a/build/windows/GSTREAMER.md b/_entwicklung/build/windows/GSTREAMER.md similarity index 100% rename from build/windows/GSTREAMER.md rename to _entwicklung/build/windows/GSTREAMER.md diff --git a/build/windows/build_portable.sh b/_entwicklung/build/windows/build_portable.sh similarity index 100% rename from build/windows/build_portable.sh rename to _entwicklung/build/windows/build_portable.sh diff --git a/docs/adr/.gitkeep b/_entwicklung/docs/adr/.gitkeep similarity index 100% rename from docs/adr/.gitkeep rename to _entwicklung/docs/adr/.gitkeep diff --git a/docs/adr/0001-python-version-pin.md b/_entwicklung/docs/adr/0001-python-version-pin.md similarity index 100% rename from docs/adr/0001-python-version-pin.md rename to _entwicklung/docs/adr/0001-python-version-pin.md diff --git a/docs/adr/0002-gstreamer-pin-windows.md b/_entwicklung/docs/adr/0002-gstreamer-pin-windows.md similarity index 100% rename from docs/adr/0002-gstreamer-pin-windows.md rename to _entwicklung/docs/adr/0002-gstreamer-pin-windows.md diff --git a/docs/adr/0003-ipc-tcp-msgpack.md b/_entwicklung/docs/adr/0003-ipc-tcp-msgpack.md similarity index 100% rename from docs/adr/0003-ipc-tcp-msgpack.md rename to _entwicklung/docs/adr/0003-ipc-tcp-msgpack.md diff --git a/docs/adr/0004-renderkern-rust-gstreamer.md b/_entwicklung/docs/adr/0004-renderkern-rust-gstreamer.md similarity index 100% rename from docs/adr/0004-renderkern-rust-gstreamer.md rename to _entwicklung/docs/adr/0004-renderkern-rust-gstreamer.md diff --git a/docs/adr/0005-packaging-nuitka-onefolder.md b/_entwicklung/docs/adr/0005-packaging-nuitka-onefolder.md similarity index 100% rename from docs/adr/0005-packaging-nuitka-onefolder.md rename to _entwicklung/docs/adr/0005-packaging-nuitka-onefolder.md diff --git a/docs/adr/0006-frontend-react.md b/_entwicklung/docs/adr/0006-frontend-react.md similarity index 100% rename from docs/adr/0006-frontend-react.md rename to _entwicklung/docs/adr/0006-frontend-react.md diff --git a/docs/adr/0008-build-first-strategie.md b/_entwicklung/docs/adr/0008-build-first-strategie.md similarity index 100% rename from docs/adr/0008-build-first-strategie.md rename to _entwicklung/docs/adr/0008-build-first-strategie.md diff --git a/docs/adr/0009-discovery-mdns-fallback.md b/_entwicklung/docs/adr/0009-discovery-mdns-fallback.md similarity index 100% rename from docs/adr/0009-discovery-mdns-fallback.md rename to _entwicklung/docs/adr/0009-discovery-mdns-fallback.md diff --git a/docs/adr/0010-pairing-pin-token-scopes.md b/_entwicklung/docs/adr/0010-pairing-pin-token-scopes.md similarity index 100% rename from docs/adr/0010-pairing-pin-token-scopes.md rename to _entwicklung/docs/adr/0010-pairing-pin-token-scopes.md diff --git a/docs/adr/README.md b/_entwicklung/docs/adr/README.md similarity index 100% rename from docs/adr/README.md rename to _entwicklung/docs/adr/README.md diff --git a/docs/adr/_template.md b/_entwicklung/docs/adr/_template.md similarity index 100% rename from docs/adr/_template.md rename to _entwicklung/docs/adr/_template.md diff --git a/docs/api/.gitkeep b/_entwicklung/docs/api/.gitkeep similarity index 100% rename from docs/api/.gitkeep rename to _entwicklung/docs/api/.gitkeep diff --git a/docs/architecture/.gitkeep b/_entwicklung/docs/architecture/.gitkeep similarity index 100% rename from docs/architecture/.gitkeep rename to _entwicklung/docs/architecture/.gitkeep diff --git a/docs/architecture/overview.md b/_entwicklung/docs/architecture/overview.md similarity index 100% rename from docs/architecture/overview.md rename to _entwicklung/docs/architecture/overview.md diff --git a/docs/fixture/.gitkeep b/_entwicklung/docs/fixture/.gitkeep similarity index 100% rename from docs/fixture/.gitkeep rename to _entwicklung/docs/fixture/.gitkeep diff --git a/docs/operator/.gitkeep b/_entwicklung/docs/operator/.gitkeep similarity index 100% rename from docs/operator/.gitkeep rename to _entwicklung/docs/operator/.gitkeep diff --git a/docs/performance/.gitkeep b/_entwicklung/docs/performance/.gitkeep similarity index 100% rename from docs/performance/.gitkeep rename to _entwicklung/docs/performance/.gitkeep diff --git a/docs/plugin-sdk/.gitkeep b/_entwicklung/docs/plugin-sdk/.gitkeep similarity index 100% rename from docs/plugin-sdk/.gitkeep rename to _entwicklung/docs/plugin-sdk/.gitkeep diff --git a/docs/plugin-sdk/README.md b/_entwicklung/docs/plugin-sdk/README.md similarity index 100% rename from docs/plugin-sdk/README.md rename to _entwicklung/docs/plugin-sdk/README.md diff --git a/docs/plugin-sdk/adaptive-quality.md b/_entwicklung/docs/plugin-sdk/adaptive-quality.md similarity index 100% rename from docs/plugin-sdk/adaptive-quality.md rename to _entwicklung/docs/plugin-sdk/adaptive-quality.md diff --git a/docs/plugin-sdk/example-walkthrough.md b/_entwicklung/docs/plugin-sdk/example-walkthrough.md similarity index 100% rename from docs/plugin-sdk/example-walkthrough.md rename to _entwicklung/docs/plugin-sdk/example-walkthrough.md diff --git a/docs/plugin-sdk/lifecycle.md b/_entwicklung/docs/plugin-sdk/lifecycle.md similarity index 100% rename from docs/plugin-sdk/lifecycle.md rename to _entwicklung/docs/plugin-sdk/lifecycle.md diff --git a/docs/plugin-sdk/manifest-reference.md b/_entwicklung/docs/plugin-sdk/manifest-reference.md similarity index 100% rename from docs/plugin-sdk/manifest-reference.md rename to _entwicklung/docs/plugin-sdk/manifest-reference.md diff --git a/docs/plugin-sdk/parameters-and-dmx.md b/_entwicklung/docs/plugin-sdk/parameters-and-dmx.md similarity index 100% rename from docs/plugin-sdk/parameters-and-dmx.md rename to _entwicklung/docs/plugin-sdk/parameters-and-dmx.md diff --git a/docs/plugin-sdk/shader-contract.md b/_entwicklung/docs/plugin-sdk/shader-contract.md similarity index 100% rename from docs/plugin-sdk/shader-contract.md rename to _entwicklung/docs/plugin-sdk/shader-contract.md diff --git a/fixture_profiles/layer64/.gitkeep b/_entwicklung/fixture_profiles/layer64/.gitkeep similarity index 100% rename from fixture_profiles/layer64/.gitkeep rename to _entwicklung/fixture_profiles/layer64/.gitkeep diff --git a/fixture_profiles/layer64/layer64.csv b/_entwicklung/fixture_profiles/layer64/layer64.csv similarity index 100% rename from fixture_profiles/layer64/layer64.csv rename to _entwicklung/fixture_profiles/layer64/layer64.csv diff --git a/fixture_profiles/master32/.gitkeep b/_entwicklung/fixture_profiles/master32/.gitkeep similarity index 100% rename from fixture_profiles/master32/.gitkeep rename to _entwicklung/fixture_profiles/master32/.gitkeep diff --git a/fixture_profiles/master32/master32.csv b/_entwicklung/fixture_profiles/master32/master32.csv similarity index 100% rename from fixture_profiles/master32/master32.csv rename to _entwicklung/fixture_profiles/master32/master32.csv diff --git a/make_mac_app.py b/_entwicklung/make_mac_app.py similarity index 100% rename from make_mac_app.py rename to _entwicklung/make_mac_app.py diff --git a/native/render_bridge/.gitkeep b/_entwicklung/native/render_bridge/.gitkeep similarity index 100% rename from native/render_bridge/.gitkeep rename to _entwicklung/native/render_bridge/.gitkeep diff --git a/native/render_bridge/Cargo.toml b/_entwicklung/native/render_bridge/Cargo.toml similarity index 100% rename from native/render_bridge/Cargo.toml rename to _entwicklung/native/render_bridge/Cargo.toml diff --git a/native/render_bridge/README.md b/_entwicklung/native/render_bridge/README.md similarity index 100% rename from native/render_bridge/README.md rename to _entwicklung/native/render_bridge/README.md diff --git a/native/render_bridge/src/compositor.rs b/_entwicklung/native/render_bridge/src/compositor.rs similarity index 100% rename from native/render_bridge/src/compositor.rs rename to _entwicklung/native/render_bridge/src/compositor.rs diff --git a/native/render_bridge/src/frame_receiver.rs b/_entwicklung/native/render_bridge/src/frame_receiver.rs similarity index 100% rename from native/render_bridge/src/frame_receiver.rs rename to _entwicklung/native/render_bridge/src/frame_receiver.rs diff --git a/native/render_bridge/src/lib.rs b/_entwicklung/native/render_bridge/src/lib.rs similarity index 100% rename from native/render_bridge/src/lib.rs rename to _entwicklung/native/render_bridge/src/lib.rs diff --git a/native/render_bridge/src/pipeline_builder.rs b/_entwicklung/native/render_bridge/src/pipeline_builder.rs similarity index 100% rename from native/render_bridge/src/pipeline_builder.rs rename to _entwicklung/native/render_bridge/src/pipeline_builder.rs diff --git a/native/render_bridge/src/shader_loader.rs b/_entwicklung/native/render_bridge/src/shader_loader.rs similarity index 100% rename from native/render_bridge/src/shader_loader.rs rename to _entwicklung/native/render_bridge/src/shader_loader.rs diff --git a/packages/adaptive_quality/.gitkeep b/_entwicklung/packages/adaptive_quality/.gitkeep similarity index 100% rename from packages/adaptive_quality/.gitkeep rename to _entwicklung/packages/adaptive_quality/.gitkeep diff --git a/packages/adaptive_quality/hms_adaptive/__init__.py b/_entwicklung/packages/adaptive_quality/hms_adaptive/__init__.py similarity index 100% rename from packages/adaptive_quality/hms_adaptive/__init__.py rename to _entwicklung/packages/adaptive_quality/hms_adaptive/__init__.py diff --git a/packages/adaptive_quality/hms_adaptive/controller.py b/_entwicklung/packages/adaptive_quality/hms_adaptive/controller.py similarity index 100% rename from packages/adaptive_quality/hms_adaptive/controller.py rename to _entwicklung/packages/adaptive_quality/hms_adaptive/controller.py diff --git a/packages/artnet/.gitkeep b/_entwicklung/packages/artnet/.gitkeep similarity index 100% rename from packages/artnet/.gitkeep rename to _entwicklung/packages/artnet/.gitkeep diff --git a/packages/artnet/hms_artnet/__init__.py b/_entwicklung/packages/artnet/hms_artnet/__init__.py similarity index 100% rename from packages/artnet/hms_artnet/__init__.py rename to _entwicklung/packages/artnet/hms_artnet/__init__.py diff --git a/packages/artnet/hms_artnet/fixtures.py b/_entwicklung/packages/artnet/hms_artnet/fixtures.py similarity index 100% rename from packages/artnet/hms_artnet/fixtures.py rename to _entwicklung/packages/artnet/hms_artnet/fixtures.py diff --git a/packages/artnet/hms_artnet/mapping.py b/_entwicklung/packages/artnet/hms_artnet/mapping.py similarity index 100% rename from packages/artnet/hms_artnet/mapping.py rename to _entwicklung/packages/artnet/hms_artnet/mapping.py diff --git a/packages/artnet/hms_artnet/packets.py b/_entwicklung/packages/artnet/hms_artnet/packets.py similarity index 100% rename from packages/artnet/hms_artnet/packets.py rename to _entwicklung/packages/artnet/hms_artnet/packets.py diff --git a/packages/artnet/hms_artnet/patch.py b/_entwicklung/packages/artnet/hms_artnet/patch.py similarity index 100% rename from packages/artnet/hms_artnet/patch.py rename to _entwicklung/packages/artnet/hms_artnet/patch.py diff --git a/packages/artnet/hms_artnet/receiver.py b/_entwicklung/packages/artnet/hms_artnet/receiver.py similarity index 100% rename from packages/artnet/hms_artnet/receiver.py rename to _entwicklung/packages/artnet/hms_artnet/receiver.py diff --git a/packages/artnet/hms_artnet/wiring.py b/_entwicklung/packages/artnet/hms_artnet/wiring.py similarity index 100% rename from packages/artnet/hms_artnet/wiring.py rename to _entwicklung/packages/artnet/hms_artnet/wiring.py diff --git a/packages/audio_analysis/.gitkeep b/_entwicklung/packages/audio_analysis/.gitkeep similarity index 100% rename from packages/audio_analysis/.gitkeep rename to _entwicklung/packages/audio_analysis/.gitkeep diff --git a/packages/audio_analysis/hms_audio/__init__.py b/_entwicklung/packages/audio_analysis/hms_audio/__init__.py similarity index 100% rename from packages/audio_analysis/hms_audio/__init__.py rename to _entwicklung/packages/audio_analysis/hms_audio/__init__.py diff --git a/packages/audio_analysis/hms_audio/mapping.py b/_entwicklung/packages/audio_analysis/hms_audio/mapping.py similarity index 100% rename from packages/audio_analysis/hms_audio/mapping.py rename to _entwicklung/packages/audio_analysis/hms_audio/mapping.py diff --git a/packages/capabilities/.gitkeep b/_entwicklung/packages/capabilities/.gitkeep similarity index 100% rename from packages/capabilities/.gitkeep rename to _entwicklung/packages/capabilities/.gitkeep diff --git a/packages/capabilities/hms_capabilities/__init__.py b/_entwicklung/packages/capabilities/hms_capabilities/__init__.py similarity index 100% rename from packages/capabilities/hms_capabilities/__init__.py rename to _entwicklung/packages/capabilities/hms_capabilities/__init__.py diff --git a/packages/capabilities/hms_capabilities/probe.py b/_entwicklung/packages/capabilities/hms_capabilities/probe.py similarity index 100% rename from packages/capabilities/hms_capabilities/probe.py rename to _entwicklung/packages/capabilities/hms_capabilities/probe.py diff --git a/packages/cluster/.gitkeep b/_entwicklung/packages/cluster/.gitkeep similarity index 100% rename from packages/cluster/.gitkeep rename to _entwicklung/packages/cluster/.gitkeep diff --git a/packages/cluster/hms_cluster/__init__.py b/_entwicklung/packages/cluster/hms_cluster/__init__.py similarity index 100% rename from packages/cluster/hms_cluster/__init__.py rename to _entwicklung/packages/cluster/hms_cluster/__init__.py diff --git a/packages/cluster/hms_cluster/activation.py b/_entwicklung/packages/cluster/hms_cluster/activation.py similarity index 100% rename from packages/cluster/hms_cluster/activation.py rename to _entwicklung/packages/cluster/hms_cluster/activation.py diff --git a/packages/cluster/hms_cluster/clock.py b/_entwicklung/packages/cluster/hms_cluster/clock.py similarity index 100% rename from packages/cluster/hms_cluster/clock.py rename to _entwicklung/packages/cluster/hms_cluster/clock.py diff --git a/packages/cluster/hms_cluster/discovery.py b/_entwicklung/packages/cluster/hms_cluster/discovery.py similarity index 100% rename from packages/cluster/hms_cluster/discovery.py rename to _entwicklung/packages/cluster/hms_cluster/discovery.py diff --git a/packages/cluster/hms_cluster/groups.py b/_entwicklung/packages/cluster/hms_cluster/groups.py similarity index 100% rename from packages/cluster/hms_cluster/groups.py rename to _entwicklung/packages/cluster/hms_cluster/groups.py diff --git a/packages/cluster/hms_cluster/message.py b/_entwicklung/packages/cluster/hms_cluster/message.py similarity index 100% rename from packages/cluster/hms_cluster/message.py rename to _entwicklung/packages/cluster/hms_cluster/message.py diff --git a/packages/cluster/hms_cluster/pairing.py b/_entwicklung/packages/cluster/hms_cluster/pairing.py similarity index 100% rename from packages/cluster/hms_cluster/pairing.py rename to _entwicklung/packages/cluster/hms_cluster/pairing.py diff --git a/packages/cluster/hms_cluster/registry.py b/_entwicklung/packages/cluster/hms_cluster/registry.py similarity index 100% rename from packages/cluster/hms_cluster/registry.py rename to _entwicklung/packages/cluster/hms_cluster/registry.py diff --git a/packages/content_sync/.gitkeep b/_entwicklung/packages/content_sync/.gitkeep similarity index 100% rename from packages/content_sync/.gitkeep rename to _entwicklung/packages/content_sync/.gitkeep diff --git a/packages/content_sync/hms_content_sync/__init__.py b/_entwicklung/packages/content_sync/hms_content_sync/__init__.py similarity index 100% rename from packages/content_sync/hms_content_sync/__init__.py rename to _entwicklung/packages/content_sync/hms_content_sync/__init__.py diff --git a/packages/content_sync/hms_content_sync/manifest.py b/_entwicklung/packages/content_sync/hms_content_sync/manifest.py similarity index 100% rename from packages/content_sync/hms_content_sync/manifest.py rename to _entwicklung/packages/content_sync/hms_content_sync/manifest.py diff --git a/packages/domain/.gitkeep b/_entwicklung/packages/domain/.gitkeep similarity index 100% rename from packages/domain/.gitkeep rename to _entwicklung/packages/domain/.gitkeep diff --git a/packages/domain/hms_domain/__init__.py b/_entwicklung/packages/domain/hms_domain/__init__.py similarity index 100% rename from packages/domain/hms_domain/__init__.py rename to _entwicklung/packages/domain/hms_domain/__init__.py diff --git a/packages/domain/hms_domain/identity.py b/_entwicklung/packages/domain/hms_domain/identity.py similarity index 100% rename from packages/domain/hms_domain/identity.py rename to _entwicklung/packages/domain/hms_domain/identity.py diff --git a/packages/domain/hms_domain/ids.py b/_entwicklung/packages/domain/hms_domain/ids.py similarity index 100% rename from packages/domain/hms_domain/ids.py rename to _entwicklung/packages/domain/hms_domain/ids.py diff --git a/packages/domain/hms_domain/model.py b/_entwicklung/packages/domain/hms_domain/model.py similarity index 100% rename from packages/domain/hms_domain/model.py rename to _entwicklung/packages/domain/hms_domain/model.py diff --git a/packages/parameter_engine/.gitkeep b/_entwicklung/packages/parameter_engine/.gitkeep similarity index 100% rename from packages/parameter_engine/.gitkeep rename to _entwicklung/packages/parameter_engine/.gitkeep diff --git a/packages/parameter_engine/hms_parameter/__init__.py b/_entwicklung/packages/parameter_engine/hms_parameter/__init__.py similarity index 100% rename from packages/parameter_engine/hms_parameter/__init__.py rename to _entwicklung/packages/parameter_engine/hms_parameter/__init__.py diff --git a/packages/parameter_engine/hms_parameter/engine.py b/_entwicklung/packages/parameter_engine/hms_parameter/engine.py similarity index 100% rename from packages/parameter_engine/hms_parameter/engine.py rename to _entwicklung/packages/parameter_engine/hms_parameter/engine.py diff --git a/packages/parameter_engine/hms_parameter/paths.py b/_entwicklung/packages/parameter_engine/hms_parameter/paths.py similarity index 100% rename from packages/parameter_engine/hms_parameter/paths.py rename to _entwicklung/packages/parameter_engine/hms_parameter/paths.py diff --git a/packages/persistence/.gitkeep b/_entwicklung/packages/persistence/.gitkeep similarity index 100% rename from packages/persistence/.gitkeep rename to _entwicklung/packages/persistence/.gitkeep diff --git a/packages/persistence/hms_persistence/__init__.py b/_entwicklung/packages/persistence/hms_persistence/__init__.py similarity index 100% rename from packages/persistence/hms_persistence/__init__.py rename to _entwicklung/packages/persistence/hms_persistence/__init__.py diff --git a/packages/persistence/hms_persistence/state_store.py b/_entwicklung/packages/persistence/hms_persistence/state_store.py similarity index 100% rename from packages/persistence/hms_persistence/state_store.py rename to _entwicklung/packages/persistence/hms_persistence/state_store.py diff --git a/packages/plugin_sdk/.gitkeep b/_entwicklung/packages/plugin_sdk/.gitkeep similarity index 100% rename from packages/plugin_sdk/.gitkeep rename to _entwicklung/packages/plugin_sdk/.gitkeep diff --git a/packages/plugin_sdk/hms_plugin_sdk/__init__.py b/_entwicklung/packages/plugin_sdk/hms_plugin_sdk/__init__.py similarity index 100% rename from packages/plugin_sdk/hms_plugin_sdk/__init__.py rename to _entwicklung/packages/plugin_sdk/hms_plugin_sdk/__init__.py diff --git a/packages/plugin_sdk/hms_plugin_sdk/lifecycle.py b/_entwicklung/packages/plugin_sdk/hms_plugin_sdk/lifecycle.py similarity index 100% rename from packages/plugin_sdk/hms_plugin_sdk/lifecycle.py rename to _entwicklung/packages/plugin_sdk/hms_plugin_sdk/lifecycle.py diff --git a/packages/plugin_sdk/hms_plugin_sdk/manifest.py b/_entwicklung/packages/plugin_sdk/hms_plugin_sdk/manifest.py similarity index 100% rename from packages/plugin_sdk/hms_plugin_sdk/manifest.py rename to _entwicklung/packages/plugin_sdk/hms_plugin_sdk/manifest.py diff --git a/packages/protocol/.gitkeep b/_entwicklung/packages/protocol/.gitkeep similarity index 100% rename from packages/protocol/.gitkeep rename to _entwicklung/packages/protocol/.gitkeep diff --git a/packages/protocol/hms_protocol/__init__.py b/_entwicklung/packages/protocol/hms_protocol/__init__.py similarity index 100% rename from packages/protocol/hms_protocol/__init__.py rename to _entwicklung/packages/protocol/hms_protocol/__init__.py diff --git a/packages/protocol/hms_protocol/connection.py b/_entwicklung/packages/protocol/hms_protocol/connection.py similarity index 100% rename from packages/protocol/hms_protocol/connection.py rename to _entwicklung/packages/protocol/hms_protocol/connection.py diff --git a/packages/protocol/hms_protocol/envelope.py b/_entwicklung/packages/protocol/hms_protocol/envelope.py similarity index 100% rename from packages/protocol/hms_protocol/envelope.py rename to _entwicklung/packages/protocol/hms_protocol/envelope.py diff --git a/packages/protocol/hms_protocol/framing.py b/_entwicklung/packages/protocol/hms_protocol/framing.py similarity index 100% rename from packages/protocol/hms_protocol/framing.py rename to _entwicklung/packages/protocol/hms_protocol/framing.py diff --git a/packages/protocol/hms_protocol/idempotency.py b/_entwicklung/packages/protocol/hms_protocol/idempotency.py similarity index 100% rename from packages/protocol/hms_protocol/idempotency.py rename to _entwicklung/packages/protocol/hms_protocol/idempotency.py diff --git a/packages/render_backend/d3d11/.gitkeep b/_entwicklung/packages/render_backend/d3d11/.gitkeep similarity index 100% rename from packages/render_backend/d3d11/.gitkeep rename to _entwicklung/packages/render_backend/d3d11/.gitkeep diff --git a/packages/render_backend/gl_gles/.gitkeep b/_entwicklung/packages/render_backend/gl_gles/.gitkeep similarity index 100% rename from packages/render_backend/gl_gles/.gitkeep rename to _entwicklung/packages/render_backend/gl_gles/.gitkeep diff --git a/packages/timeline/.gitkeep b/_entwicklung/packages/timeline/.gitkeep similarity index 100% rename from packages/timeline/.gitkeep rename to _entwicklung/packages/timeline/.gitkeep diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass2.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass2.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass2.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/d3d11/pass2.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass2.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass2.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass2.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gl/pass2.frag diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass2.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass2.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass2.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.blur_sharpen/shaders/gles/pass2.frag diff --git a/plugins/builtin/filters/com.hms.fx.color_adjust/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.color_adjust/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.color_adjust/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.color_adjust/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.edge_emboss/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.edge_emboss/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.edge_emboss/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.feedback_trails/README.md b/_entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/README.md similarity index 100% rename from plugins/builtin/filters/com.hms.fx.feedback_trails/README.md rename to _entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/README.md diff --git a/plugins/builtin/filters/com.hms.fx.feedback_trails/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.feedback_trails/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.feedback_trails/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.glow_bloom/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.glow_bloom/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.glow_bloom/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.gradient_map/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.gradient_map/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.gradient_map/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.gradient_map/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.kaleidoscope/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.kaleidoscope/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.kaleidoscope/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.mirror_tile/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.mirror_tile/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.mirror_tile/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.pixelate_quantize/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.pixelate_quantize/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.pixelate_quantize/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.rgb_split/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.rgb_split/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.rgb_split/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.rgb_split/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.strobe_pulse/README.md b/_entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/README.md similarity index 100% rename from plugins/builtin/filters/com.hms.fx.strobe_pulse/README.md rename to _entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/README.md diff --git a/plugins/builtin/filters/com.hms.fx.strobe_pulse/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.strobe_pulse/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.strobe_pulse/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.transform2d/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.transform2d/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.transform2d/shaders/d3d11/pass1.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/d3d11/pass1.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.transform2d/shaders/d3d11/pass1.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/d3d11/pass1.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gl/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gl/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.transform2d/shaders/gl/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gl/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gles/pass1.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gles/pass1.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.transform2d/shaders/gles/pass1.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.transform2d/shaders/gles/pass1.frag diff --git a/plugins/builtin/filters/com.hms.fx.vignette/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.vignette/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.vignette/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.vignette/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.vignette/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.vignette/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.vignette/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.vignette/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.vignette/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.vignette/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.vignette/shaders/gles/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.wave_displace/plugin.json b/_entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/plugin.json similarity index 100% rename from plugins/builtin/filters/com.hms.fx.wave_displace/plugin.json rename to _entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/plugin.json diff --git a/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/d3d11/main.hlsl b/_entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/d3d11/main.hlsl similarity index 100% rename from plugins/builtin/filters/com.hms.fx.wave_displace/shaders/d3d11/main.hlsl rename to _entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/d3d11/main.hlsl diff --git a/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gl/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gl/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gl/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gl/main.frag diff --git a/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gles/main.frag b/_entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gles/main.frag similarity index 100% rename from plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gles/main.frag rename to _entwicklung/plugins/builtin/filters/com.hms.fx.wave_displace/shaders/gles/main.frag diff --git a/plugins/builtin/generators/.gitkeep b/_entwicklung/plugins/builtin/generators/.gitkeep similarity index 100% rename from plugins/builtin/generators/.gitkeep rename to _entwicklung/plugins/builtin/generators/.gitkeep diff --git a/plugins/builtin/generators/com.hms.generator.checker_grid/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.checker_grid/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/d3d11/checker_grid.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/d3d11/checker_grid.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.checker_grid/shaders/d3d11/checker_grid.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/d3d11/checker_grid.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gl/checker_grid.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gl/checker_grid.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gl/checker_grid.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gl/checker_grid.frag diff --git a/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gles/checker_grid.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gles/checker_grid.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gles/checker_grid.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.checker_grid/shaders/gles/checker_grid.frag diff --git a/plugins/builtin/generators/com.hms.generator.drops_ripples/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.drops_ripples/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/d3d11/drops_ripples.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/d3d11/drops_ripples.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/d3d11/drops_ripples.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/d3d11/drops_ripples.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gl/drops_ripples.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gl/drops_ripples.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gl/drops_ripples.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gl/drops_ripples.frag diff --git a/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gles/drops_ripples.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gles/drops_ripples.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gles/drops_ripples.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.drops_ripples/shaders/gles/drops_ripples.frag diff --git a/plugins/builtin/generators/com.hms.generator.gradient/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.gradient/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.gradient/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.gradient/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.gradient/shaders/d3d11/gradient.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/d3d11/gradient.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.gradient/shaders/d3d11/gradient.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/d3d11/gradient.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.gradient/shaders/gl/gradient.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/gl/gradient.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.gradient/shaders/gl/gradient.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/gl/gradient.frag diff --git a/plugins/builtin/generators/com.hms.generator.gradient/shaders/gles/gradient.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/gles/gradient.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.gradient/shaders/gles/gradient.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.gradient/shaders/gles/gradient.frag diff --git a/plugins/builtin/generators/com.hms.generator.noise_clouds/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.noise_clouds/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/d3d11/noise_clouds.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/d3d11/noise_clouds.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/d3d11/noise_clouds.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/d3d11/noise_clouds.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gl/noise_clouds.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gl/noise_clouds.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gl/noise_clouds.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gl/noise_clouds.frag diff --git a/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gles/noise_clouds.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gles/noise_clouds.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gles/noise_clouds.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.noise_clouds/shaders/gles/noise_clouds.frag diff --git a/plugins/builtin/generators/com.hms.generator.plasma/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.plasma/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.plasma/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.plasma/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.plasma/shaders/d3d11/plasma.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/d3d11/plasma.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.plasma/shaders/d3d11/plasma.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/d3d11/plasma.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.plasma/shaders/gl/plasma.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/gl/plasma.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.plasma/shaders/gl/plasma.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/gl/plasma.frag diff --git a/plugins/builtin/generators/com.hms.generator.plasma/shaders/gles/plasma.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/gles/plasma.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.plasma/shaders/gles/plasma.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.plasma/shaders/gles/plasma.frag diff --git a/plugins/builtin/generators/com.hms.generator.shapes/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.shapes/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.shapes/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.shapes/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.shapes/shaders/d3d11/shapes.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/d3d11/shapes.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.shapes/shaders/d3d11/shapes.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/d3d11/shapes.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.shapes/shaders/gl/shapes.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/gl/shapes.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.shapes/shaders/gl/shapes.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/gl/shapes.frag diff --git a/plugins/builtin/generators/com.hms.generator.shapes/shaders/gles/shapes.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/gles/shapes.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.shapes/shaders/gles/shapes.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.shapes/shaders/gles/shapes.frag diff --git a/plugins/builtin/generators/com.hms.generator.solid/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.solid/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.solid/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.solid/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.solid/shaders/d3d11/solid.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/d3d11/solid.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.solid/shaders/d3d11/solid.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/d3d11/solid.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.solid/shaders/gl/solid.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/gl/solid.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.solid/shaders/gl/solid.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/gl/solid.frag diff --git a/plugins/builtin/generators/com.hms.generator.solid/shaders/gles/solid.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/gles/solid.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.solid/shaders/gles/solid.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.solid/shaders/gles/solid.frag diff --git a/plugins/builtin/generators/com.hms.generator.starfield/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.starfield/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.starfield/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.starfield/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.starfield/shaders/d3d11/starfield.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/d3d11/starfield.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.starfield/shaders/d3d11/starfield.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/d3d11/starfield.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.starfield/shaders/gl/starfield.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/gl/starfield.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.starfield/shaders/gl/starfield.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/gl/starfield.frag diff --git a/plugins/builtin/generators/com.hms.generator.starfield/shaders/gles/starfield.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/gles/starfield.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.starfield/shaders/gles/starfield.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.starfield/shaders/gles/starfield.frag diff --git a/plugins/builtin/generators/com.hms.generator.stripes_chaser/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.stripes_chaser/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/d3d11/stripes_chaser.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/d3d11/stripes_chaser.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/d3d11/stripes_chaser.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/d3d11/stripes_chaser.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gl/stripes_chaser.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gl/stripes_chaser.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gl/stripes_chaser.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gl/stripes_chaser.frag diff --git a/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gles/stripes_chaser.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gles/stripes_chaser.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gles/stripes_chaser.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.stripes_chaser/shaders/gles/stripes_chaser.frag diff --git a/plugins/builtin/generators/com.hms.generator.wave_bars/plugin.json b/_entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/plugin.json similarity index 100% rename from plugins/builtin/generators/com.hms.generator.wave_bars/plugin.json rename to _entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/plugin.json diff --git a/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/d3d11/wave_bars.hlsl b/_entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/d3d11/wave_bars.hlsl similarity index 100% rename from plugins/builtin/generators/com.hms.generator.wave_bars/shaders/d3d11/wave_bars.hlsl rename to _entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/d3d11/wave_bars.hlsl diff --git a/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gl/wave_bars.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gl/wave_bars.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gl/wave_bars.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gl/wave_bars.frag diff --git a/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gles/wave_bars.frag b/_entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gles/wave_bars.frag similarity index 100% rename from plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gles/wave_bars.frag rename to _entwicklung/plugins/builtin/generators/com.hms.generator.wave_bars/shaders/gles/wave_bars.frag diff --git a/plugins/builtin/outputs/.gitkeep b/_entwicklung/plugins/builtin/outputs/.gitkeep similarity index 100% rename from plugins/builtin/outputs/.gitkeep rename to _entwicklung/plugins/builtin/outputs/.gitkeep diff --git a/plugins/builtin/transitions/.gitkeep b/_entwicklung/plugins/builtin/transitions/.gitkeep similarity index 100% rename from plugins/builtin/transitions/.gitkeep rename to _entwicklung/plugins/builtin/transitions/.gitkeep diff --git a/plugins/examples/.gitkeep b/_entwicklung/plugins/examples/.gitkeep similarity index 100% rename from plugins/examples/.gitkeep rename to _entwicklung/plugins/examples/.gitkeep diff --git a/plugins/examples/com.hms.fx.example_passthrough/README.md b/_entwicklung/plugins/examples/com.hms.fx.example_passthrough/README.md similarity index 100% rename from plugins/examples/com.hms.fx.example_passthrough/README.md rename to _entwicklung/plugins/examples/com.hms.fx.example_passthrough/README.md diff --git a/plugins/examples/com.hms.fx.example_passthrough/plugin.json b/_entwicklung/plugins/examples/com.hms.fx.example_passthrough/plugin.json similarity index 100% rename from plugins/examples/com.hms.fx.example_passthrough/plugin.json rename to _entwicklung/plugins/examples/com.hms.fx.example_passthrough/plugin.json diff --git a/plugins/examples/com.hms.fx.example_passthrough/shaders/d3d11/passthrough.hlsl b/_entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/d3d11/passthrough.hlsl similarity index 100% rename from plugins/examples/com.hms.fx.example_passthrough/shaders/d3d11/passthrough.hlsl rename to _entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/d3d11/passthrough.hlsl diff --git a/plugins/examples/com.hms.fx.example_passthrough/shaders/gl/passthrough.frag b/_entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/gl/passthrough.frag similarity index 100% rename from plugins/examples/com.hms.fx.example_passthrough/shaders/gl/passthrough.frag rename to _entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/gl/passthrough.frag diff --git a/plugins/examples/com.hms.fx.example_passthrough/shaders/gles/passthrough.frag b/_entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/gles/passthrough.frag similarity index 100% rename from plugins/examples/com.hms.fx.example_passthrough/shaders/gles/passthrough.frag rename to _entwicklung/plugins/examples/com.hms.fx.example_passthrough/shaders/gles/passthrough.frag diff --git a/plugins/examples/com.hms.fx.gaussian_blur/README.md b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/README.md similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/README.md rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/README.md diff --git a/plugins/examples/com.hms.fx.gaussian_blur/plugin.json b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/plugin.json similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/plugin.json rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/plugin.json diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/horizontal.hlsl b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/horizontal.hlsl similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/horizontal.hlsl rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/horizontal.hlsl diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/vertical.hlsl b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/vertical.hlsl similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/vertical.hlsl rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/d3d11/vertical.hlsl diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/horizontal.frag b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/horizontal.frag similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/horizontal.frag rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/horizontal.frag diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/vertical.frag b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/vertical.frag similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/vertical.frag rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gl/vertical.frag diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/horizontal.frag b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/horizontal.frag similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/horizontal.frag rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/horizontal.frag diff --git a/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/vertical.frag b/_entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/vertical.frag similarity index 100% rename from plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/vertical.frag rename to _entwicklung/plugins/examples/com.hms.fx.gaussian_blur/shaders/gles/vertical.frag diff --git a/pyproject.toml b/_entwicklung/pyproject.toml similarity index 100% rename from pyproject.toml rename to _entwicklung/pyproject.toml diff --git a/schemas/api/.gitkeep b/_entwicklung/schemas/api/.gitkeep similarity index 100% rename from schemas/api/.gitkeep rename to _entwicklung/schemas/api/.gitkeep diff --git a/schemas/cluster/.gitkeep b/_entwicklung/schemas/cluster/.gitkeep similarity index 100% rename from schemas/cluster/.gitkeep rename to _entwicklung/schemas/cluster/.gitkeep diff --git a/schemas/cluster/cluster_message_v1.schema.json b/_entwicklung/schemas/cluster/cluster_message_v1.schema.json similarity index 100% rename from schemas/cluster/cluster_message_v1.schema.json rename to _entwicklung/schemas/cluster/cluster_message_v1.schema.json diff --git a/schemas/ipc/.gitkeep b/_entwicklung/schemas/ipc/.gitkeep similarity index 100% rename from schemas/ipc/.gitkeep rename to _entwicklung/schemas/ipc/.gitkeep diff --git a/schemas/ipc/envelope_v1.schema.json b/_entwicklung/schemas/ipc/envelope_v1.schema.json similarity index 100% rename from schemas/ipc/envelope_v1.schema.json rename to _entwicklung/schemas/ipc/envelope_v1.schema.json diff --git a/schemas/plugin/.gitkeep b/_entwicklung/schemas/plugin/.gitkeep similarity index 100% rename from schemas/plugin/.gitkeep rename to _entwicklung/schemas/plugin/.gitkeep diff --git a/schemas/plugin/plugin_manifest_v1.schema.json b/_entwicklung/schemas/plugin/plugin_manifest_v1.schema.json similarity index 100% rename from schemas/plugin/plugin_manifest_v1.schema.json rename to _entwicklung/schemas/plugin/plugin_manifest_v1.schema.json diff --git a/schemas/project/.gitkeep b/_entwicklung/schemas/project/.gitkeep similarity index 100% rename from schemas/project/.gitkeep rename to _entwicklung/schemas/project/.gitkeep diff --git a/schemas/project/project_v1.schema.json b/_entwicklung/schemas/project/project_v1.schema.json similarity index 100% rename from schemas/project/project_v1.schema.json rename to _entwicklung/schemas/project/project_v1.schema.json diff --git a/setup_linux.sh b/_entwicklung/setup_linux.sh similarity index 100% rename from setup_linux.sh rename to _entwicklung/setup_linux.sh diff --git a/setup_macos.sh b/_entwicklung/setup_macos.sh similarity index 100% rename from setup_macos.sh rename to _entwicklung/setup_macos.sh diff --git a/setup_windows.ps1 b/_entwicklung/setup_windows.ps1 similarity index 100% rename from setup_windows.ps1 rename to _entwicklung/setup_windows.ps1 diff --git a/tests/cluster/.gitkeep b/_entwicklung/tests/cluster/.gitkeep similarity index 100% rename from tests/cluster/.gitkeep rename to _entwicklung/tests/cluster/.gitkeep diff --git a/tests/conftest.py b/_entwicklung/tests/conftest.py similarity index 100% rename from tests/conftest.py rename to _entwicklung/tests/conftest.py diff --git a/tests/e2e/.gitkeep b/_entwicklung/tests/e2e/.gitkeep similarity index 100% rename from tests/e2e/.gitkeep rename to _entwicklung/tests/e2e/.gitkeep diff --git a/tests/e2e_app_test.py b/_entwicklung/tests/e2e_app_test.py similarity index 100% rename from tests/e2e_app_test.py rename to _entwicklung/tests/e2e_app_test.py diff --git a/tests/e2e_cue_test.py b/_entwicklung/tests/e2e_cue_test.py similarity index 100% rename from tests/e2e_cue_test.py rename to _entwicklung/tests/e2e_cue_test.py diff --git a/tests/e2e_distribution_test.py b/_entwicklung/tests/e2e_distribution_test.py similarity index 100% rename from tests/e2e_distribution_test.py rename to _entwicklung/tests/e2e_distribution_test.py diff --git a/tests/e2e_fx_test.py b/_entwicklung/tests/e2e_fx_test.py similarity index 100% rename from tests/e2e_fx_test.py rename to _entwicklung/tests/e2e_fx_test.py diff --git a/tests/e2e_projects_test.py b/_entwicklung/tests/e2e_projects_test.py similarity index 100% rename from tests/e2e_projects_test.py rename to _entwicklung/tests/e2e_projects_test.py diff --git a/tests/integration/.gitkeep b/_entwicklung/tests/integration/.gitkeep similarity index 100% rename from tests/integration/.gitkeep rename to _entwicklung/tests/integration/.gitkeep diff --git a/tests/integration/test_artnet_receiver.py b/_entwicklung/tests/integration/test_artnet_receiver.py similarity index 100% rename from tests/integration/test_artnet_receiver.py rename to _entwicklung/tests/integration/test_artnet_receiver.py diff --git a/tests/integration/test_control_server.py b/_entwicklung/tests/integration/test_control_server.py similarity index 100% rename from tests/integration/test_control_server.py rename to _entwicklung/tests/integration/test_control_server.py diff --git a/tests/integration/test_ipc_connection.py b/_entwicklung/tests/integration/test_ipc_connection.py similarity index 100% rename from tests/integration/test_ipc_connection.py rename to _entwicklung/tests/integration/test_ipc_connection.py diff --git a/tests/integration/test_project_api.py b/_entwicklung/tests/integration/test_project_api.py similarity index 100% rename from tests/integration/test_project_api.py rename to _entwicklung/tests/integration/test_project_api.py diff --git a/tests/integration/test_state_sync_chain.py b/_entwicklung/tests/integration/test_state_sync_chain.py similarity index 100% rename from tests/integration/test_state_sync_chain.py rename to _entwicklung/tests/integration/test_state_sync_chain.py diff --git a/tests/performance/.gitkeep b/_entwicklung/tests/performance/.gitkeep similarity index 100% rename from tests/performance/.gitkeep rename to _entwicklung/tests/performance/.gitkeep diff --git a/tests/portability/.gitkeep b/_entwicklung/tests/portability/.gitkeep similarity index 100% rename from tests/portability/.gitkeep rename to _entwicklung/tests/portability/.gitkeep diff --git a/tests/rendering/.gitkeep b/_entwicklung/tests/rendering/.gitkeep similarity index 100% rename from tests/rendering/.gitkeep rename to _entwicklung/tests/rendering/.gitkeep diff --git a/tests/unit/.gitkeep b/_entwicklung/tests/unit/.gitkeep similarity index 100% rename from tests/unit/.gitkeep rename to _entwicklung/tests/unit/.gitkeep diff --git a/tests/unit/test_adaptive_quality.py b/_entwicklung/tests/unit/test_adaptive_quality.py similarity index 100% rename from tests/unit/test_adaptive_quality.py rename to _entwicklung/tests/unit/test_adaptive_quality.py diff --git a/tests/unit/test_artnet_packets.py b/_entwicklung/tests/unit/test_artnet_packets.py similarity index 100% rename from tests/unit/test_artnet_packets.py rename to _entwicklung/tests/unit/test_artnet_packets.py diff --git a/tests/unit/test_audio.py b/_entwicklung/tests/unit/test_audio.py similarity index 100% rename from tests/unit/test_audio.py rename to _entwicklung/tests/unit/test_audio.py diff --git a/tests/unit/test_builtin_plugins.py b/_entwicklung/tests/unit/test_builtin_plugins.py similarity index 100% rename from tests/unit/test_builtin_plugins.py rename to _entwicklung/tests/unit/test_builtin_plugins.py diff --git a/tests/unit/test_capabilities.py b/_entwicklung/tests/unit/test_capabilities.py similarity index 100% rename from tests/unit/test_capabilities.py rename to _entwicklung/tests/unit/test_capabilities.py diff --git a/tests/unit/test_cluster.py b/_entwicklung/tests/unit/test_cluster.py similarity index 100% rename from tests/unit/test_cluster.py rename to _entwicklung/tests/unit/test_cluster.py diff --git a/tests/unit/test_cluster_routing.py b/_entwicklung/tests/unit/test_cluster_routing.py similarity index 100% rename from tests/unit/test_cluster_routing.py rename to _entwicklung/tests/unit/test_cluster_routing.py diff --git a/tests/unit/test_content_manifest.py b/_entwicklung/tests/unit/test_content_manifest.py similarity index 100% rename from tests/unit/test_content_manifest.py rename to _entwicklung/tests/unit/test_content_manifest.py diff --git a/tests/unit/test_dmx_mapping.py b/_entwicklung/tests/unit/test_dmx_mapping.py similarity index 100% rename from tests/unit/test_dmx_mapping.py rename to _entwicklung/tests/unit/test_dmx_mapping.py diff --git a/tests/unit/test_domain_ids.py b/_entwicklung/tests/unit/test_domain_ids.py similarity index 100% rename from tests/unit/test_domain_ids.py rename to _entwicklung/tests/unit/test_domain_ids.py diff --git a/tests/unit/test_domain_model.py b/_entwicklung/tests/unit/test_domain_model.py similarity index 100% rename from tests/unit/test_domain_model.py rename to _entwicklung/tests/unit/test_domain_model.py diff --git a/tests/unit/test_fixture_engine.py b/_entwicklung/tests/unit/test_fixture_engine.py similarity index 100% rename from tests/unit/test_fixture_engine.py rename to _entwicklung/tests/unit/test_fixture_engine.py diff --git a/tests/unit/test_fixture_generator.py b/_entwicklung/tests/unit/test_fixture_generator.py similarity index 100% rename from tests/unit/test_fixture_generator.py rename to _entwicklung/tests/unit/test_fixture_generator.py diff --git a/tests/unit/test_media_library.py b/_entwicklung/tests/unit/test_media_library.py similarity index 100% rename from tests/unit/test_media_library.py rename to _entwicklung/tests/unit/test_media_library.py diff --git a/tests/unit/test_node_identity.py b/_entwicklung/tests/unit/test_node_identity.py similarity index 100% rename from tests/unit/test_node_identity.py rename to _entwicklung/tests/unit/test_node_identity.py diff --git a/tests/unit/test_parameter_engine.py b/_entwicklung/tests/unit/test_parameter_engine.py similarity index 100% rename from tests/unit/test_parameter_engine.py rename to _entwicklung/tests/unit/test_parameter_engine.py diff --git a/tests/unit/test_patch_and_wiring.py b/_entwicklung/tests/unit/test_patch_and_wiring.py similarity index 100% rename from tests/unit/test_patch_and_wiring.py rename to _entwicklung/tests/unit/test_patch_and_wiring.py diff --git a/tests/unit/test_persistence.py b/_entwicklung/tests/unit/test_persistence.py similarity index 100% rename from tests/unit/test_persistence.py rename to _entwicklung/tests/unit/test_persistence.py diff --git a/tests/unit/test_pipelines.py b/_entwicklung/tests/unit/test_pipelines.py similarity index 100% rename from tests/unit/test_pipelines.py rename to _entwicklung/tests/unit/test_pipelines.py diff --git a/tests/unit/test_playback.py b/_entwicklung/tests/unit/test_playback.py similarity index 100% rename from tests/unit/test_playback.py rename to _entwicklung/tests/unit/test_playback.py diff --git a/tests/unit/test_plugin_lifecycle.py b/_entwicklung/tests/unit/test_plugin_lifecycle.py similarity index 100% rename from tests/unit/test_plugin_lifecycle.py rename to _entwicklung/tests/unit/test_plugin_lifecycle.py diff --git a/tests/unit/test_plugin_manifest.py b/_entwicklung/tests/unit/test_plugin_manifest.py similarity index 100% rename from tests/unit/test_plugin_manifest.py rename to _entwicklung/tests/unit/test_plugin_manifest.py diff --git a/tests/unit/test_portable_paths.py b/_entwicklung/tests/unit/test_portable_paths.py similarity index 100% rename from tests/unit/test_portable_paths.py rename to _entwicklung/tests/unit/test_portable_paths.py diff --git a/tests/unit/test_protocol.py b/_entwicklung/tests/unit/test_protocol.py similarity index 100% rename from tests/unit/test_protocol.py rename to _entwicklung/tests/unit/test_protocol.py diff --git a/tests/unit/test_render_engine.py b/_entwicklung/tests/unit/test_render_engine.py similarity index 100% rename from tests/unit/test_render_engine.py rename to _entwicklung/tests/unit/test_render_engine.py diff --git a/tests/unit/test_state_store.py b/_entwicklung/tests/unit/test_state_store.py similarity index 100% rename from tests/unit/test_state_store.py rename to _entwicklung/tests/unit/test_state_store.py diff --git a/tests/unit/test_supervisor.py b/_entwicklung/tests/unit/test_supervisor.py similarity index 100% rename from tests/unit/test_supervisor.py rename to _entwicklung/tests/unit/test_supervisor.py diff --git a/tests/visual/.gitkeep b/_entwicklung/tests/visual/.gitkeep similarity index 100% rename from tests/visual/.gitkeep rename to _entwicklung/tests/visual/.gitkeep diff --git a/tools/artnet_emulator/.gitkeep b/_entwicklung/tools/artnet_emulator/.gitkeep similarity index 100% rename from tools/artnet_emulator/.gitkeep rename to _entwicklung/tools/artnet_emulator/.gitkeep diff --git a/tools/artnet_emulator/artnet_emulator.py b/_entwicklung/tools/artnet_emulator/artnet_emulator.py similarity index 100% rename from tools/artnet_emulator/artnet_emulator.py rename to _entwicklung/tools/artnet_emulator/artnet_emulator.py diff --git a/tools/capability_probe/.gitkeep b/_entwicklung/tools/capability_probe/.gitkeep similarity index 100% rename from tools/capability_probe/.gitkeep rename to _entwicklung/tools/capability_probe/.gitkeep diff --git a/tools/cluster_test_node/.gitkeep b/_entwicklung/tools/cluster_test_node/.gitkeep similarity index 100% rename from tools/cluster_test_node/.gitkeep rename to _entwicklung/tools/cluster_test_node/.gitkeep diff --git a/tools/fixture_generator/.gitkeep b/_entwicklung/tools/fixture_generator/.gitkeep similarity index 100% rename from tools/fixture_generator/.gitkeep rename to _entwicklung/tools/fixture_generator/.gitkeep diff --git a/tools/fixture_generator/fixture_generator.py b/_entwicklung/tools/fixture_generator/fixture_generator.py similarity index 100% rename from tools/fixture_generator/fixture_generator.py rename to _entwicklung/tools/fixture_generator/fixture_generator.py diff --git a/tools/media_probe/.gitkeep b/_entwicklung/tools/media_probe/.gitkeep similarity index 100% rename from tools/media_probe/.gitkeep rename to _entwicklung/tools/media_probe/.gitkeep diff --git a/tools/shader_validate/.gitkeep b/_entwicklung/tools/shader_validate/.gitkeep similarity index 100% rename from tools/shader_validate/.gitkeep rename to _entwicklung/tools/shader_validate/.gitkeep diff --git a/uv.lock b/_entwicklung/uv.lock similarity index 100% rename from uv.lock rename to _entwicklung/uv.lock diff --git a/packages/media/hms_media/__init__.py b/packages/media/hms_media/__init__.py deleted file mode 100644 index 7fdfad2..0000000 --- a/packages/media/hms_media/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -"""hms_media – Playback-Transport und Medienbibliothek (PLAN.md §12.5, §13).""" - -from hms_media.library import ImportOutcome, ImportStatus, MediaLibrary -from hms_media.transport import ( - PlaybackController, - PlaybackEvent, - PlaybackEventKind, - PreloadSlot, -) - -__all__ = [ - "PlaybackController", - "PlaybackEvent", - "PlaybackEventKind", - "PreloadSlot", - "MediaLibrary", - "ImportOutcome", - "ImportStatus", -] diff --git a/packages/media/hms_media/library.py b/packages/media/hms_media/library.py deleted file mode 100644 index 51248fe..0000000 --- a/packages/media/hms_media/library.py +++ /dev/null @@ -1,172 +0,0 @@ -"""Medienbibliothek: Index, Import, Duplikate, Banken (§13.2, §13.3). - -Import-Regeln (§13.3): -- Import blockiert niemals den Renderthread: der Control Core ruft diese - Methoden aus einem Worker-Thread/Executor auf (asyncio.to_thread). -- Duplikate werden über den Inhalts-Hash erkannt. -- Medienbank und Clipnummer sind explizite Show-Metadaten, nicht vom - Dateinamen abhängig (§13.2). -- Fehlende Dateien werden markiert und können neu verknüpft werden. -""" - -from __future__ import annotations - -from dataclasses import dataclass -from enum import StrEnum -from pathlib import Path, PurePosixPath - -from hms_domain.model import MediaAsset - - -class ImportStatus(StrEnum): - IMPORTED = "imported" - DUPLICATE = "duplicate" - MISSING_FILE = "missing_file" - - -@dataclass(frozen=True) -class ImportOutcome: - """Ergebnis eines Imports (§13.3).""" - - status: ImportStatus - asset: MediaAsset | None - duplicate_of: str | None = None # asset_id des existierenden Duplikats - - -class MediaLibrary: - """Medienindex über portablem Media-Root (§13.2). - - - Assets werden über stabile UUIDs adressiert, nie über Pfade. - - Duplikaterkennung über SHA-256 (Content-Hash). - - Bank-Registry: (bank, index) → asset_id als Show-Metadaten. - """ - - def __init__(self, media_root: Path) -> None: - self._media_root = Path(media_root) - self._assets: dict[str, MediaAsset] = {} - self._by_hash: dict[str, str] = {} # content_hash → asset_id - self._banks: dict[tuple[int, int], str] = {} # (bank, index) → asset_id - self._missing: set[str] = set() - - @property - def media_root(self) -> Path: - return self._media_root - - # ---------- Import (§13.3) ---------- - - def import_file(self, abs_path: Path | str) -> ImportOutcome: - """Importiert eine Datei; Duplikate werden erkannt (§13.3). - - Läuft im Control Core in einem Worker-Thread; blockiert den - Renderthread nie (dieser Prozess hat keinen Zugriff auf die Library). - """ - path = Path(abs_path) - if not path.is_file(): - return ImportOutcome(status=ImportStatus.MISSING_FILE, asset=None) - - from hms_content_sync.manifest import hash_file - - file_hash, _chunks = hash_file(path) - existing_id = self._by_hash.get(file_hash) - if existing_id is not None: - return ImportOutcome( - status=ImportStatus.DUPLICATE, - asset=self._assets[existing_id], - duplicate_of=existing_id, - ) - - rel = self._relative_to_media_root(path) - stat = path.stat() - asset = MediaAsset( - rel_path=rel, - file_size_bytes=stat.st_size, - mtime_ns=stat.st_mtime_ns, - content_hash=file_hash, - ) - self._assets[asset.id] = asset - self._by_hash[file_hash] = asset.id - self._missing.discard(asset.id) - return ImportOutcome(status=ImportStatus.IMPORTED, asset=asset) - - # ---------- Bank-Registry (§13.2 Show-Metadaten) ---------- - - def register_bank_slot(self, asset_id: str, bank: int, index: int) -> None: - """Clipnummer/Bank als explizite Metadaten setzen (§13.2). - - Nicht Dateinamen-basiert: Umbenennen der Datei ändert nichts. - """ - if asset_id not in self._assets: - raise KeyError(f"unbekanntes Asset {asset_id}") - if bank < 0 or index < 0: - raise ValueError("bank und index müssen >= 0 sein") - self._banks[(bank, index)] = asset_id - - def asset_at(self, bank: int, index: int) -> MediaAsset | None: - asset_id = self._banks.get((bank, index)) - return self._assets.get(asset_id) if asset_id else None - - # ---------- Fehlende Dateien / Relink (§13.3) ---------- - - def mark_missing(self) -> list[str]: - """Prüft Existenz aller Dateien; liefert neu fehlende asset_ids.""" - newly_missing: list[str] = [] - for asset in self._assets.values(): - exists = (self._media_root / asset.rel_path).is_file() - if not exists and asset.id not in self._missing: - self._missing.add(asset.id) - newly_missing.append(asset.id) - elif exists: - self._missing.discard(asset.id) - return newly_missing - - @property - def missing_asset_ids(self) -> frozenset[str]: - return frozenset(self._missing) - - def relink(self, asset_id: str, new_abs_path: Path | str) -> MediaAsset: - """Verknüpft ein Asset mit einer neuen Datei (§13.3). - - Hash wird neu bestimmt; ändert sich der Inhalt, wird der Hash - aktualisiert (Pfad-Referenz bleibt dieselbe Asset-ID). - """ - asset = self._assets.get(asset_id) - if asset is None: - raise KeyError(f"unbekanntes Asset {asset_id}") - path = Path(new_abs_path) - if not path.is_file(): - raise FileNotFoundError(str(path)) - from hms_content_sync.manifest import hash_file - - file_hash, _chunks = hash_file(path) - rel = self._relative_to_media_root(path) - stat = path.stat() - updated = asset.model_copy( - update={ - "rel_path": rel, - "file_size_bytes": stat.st_size, - "mtime_ns": stat.st_mtime_ns, - "content_hash": file_hash, - } - ) - self._assets[asset_id] = updated - self._by_hash[file_hash] = asset_id - self._missing.discard(asset_id) - return updated - - # ---------- Abfragen ---------- - - def get(self, asset_id: str) -> MediaAsset | None: - return self._assets.get(asset_id) - - def all(self) -> list[MediaAsset]: - return list(self._assets.values()) - - def __len__(self) -> int: - return len(self._assets) - - # ---------- Interna ---------- - - def _relative_to_media_root(self, path: Path) -> str: - rel = path.resolve().relative_to(self._media_root.resolve()) - posix = PurePosixPath(*rel.parts).as_posix() - return posix diff --git a/packages/media/hms_media/transport.py b/packages/media/hms_media/transport.py deleted file mode 100644 index 911f309..0000000 --- a/packages/media/hms_media/transport.py +++ /dev/null @@ -1,196 +0,0 @@ -"""Playback-Transportmodell und atomarer Clipwechsel (§12.2, §12.5). - -Reine Steuerungslogik ohne Pixelverarbeitung (§33): Positions-, Loop- und -Trigger-Berechnung sind plattformneutral und werden vom Renderer pro Frame -ausgeführt. Ping-Pong ist modellseitig verfügbar – ob ein Medium es -performant kann, entscheidet die Codec-Eignung (MediaAsset.seek_suitability, -§12.5); ungeeignete Medien werden sichtbar gemeldet, nicht still verlangsamt. -""" - -from __future__ import annotations - -import time -from dataclasses import dataclass -from enum import StrEnum - -from hms_domain.model import LoopMode, TransportState - - -class PlaybackEventKind(StrEnum): - """Ereignisse je Advancement-Schritt (§12.5 Ende-Ereignis).""" - - END_OF_MEDIA = "end_of_media" - LOOP_WRAP = "loop_wrap" - DIRECTION_CHANGE = "direction_change" - - -@dataclass(frozen=True) -class PlaybackEvent: - """Ein Wiedergabe-Ereignis mit Position und monotone Zeit.""" - - kind: PlaybackEventKind - source_id: str - position: float - monotonic_ns: int - - -class PlaybackController: - """Transport-Zustandsmaschine für genau eine Quelle (§12.5). - - - play/pause/stop/retrigger - - Position normalisiert 0..1, In-/Out-Punkte aus Source (§10.1) - - Loop, Once, Ping-Pong - - variable Geschwindigkeit; negativ = rückwärts - - advance(dt) liefert Ereignisse; Medienende genau einmal je Pass - - Kein interner Timer: der Renderer ruft advance(dt) pro Frame mit der - gemeinsamen monotonen Zeitbasis (§12.2) auf. - """ - - def __init__( - self, - source_id: str, - in_point: float = 0.0, - out_point: float = 1.0, - loop_mode: LoopMode = LoopMode.LOOP, - speed: float = 1.0, - ) -> None: - if not 0.0 <= in_point < out_point <= 1.0: - raise ValueError("in_point muss kleiner als out_point im Bereich 0..1 sein") - self.source_id = source_id - self.in_point = in_point - self.out_point = out_point - self.loop_mode = loop_mode - self.state = TransportState.STOPPED - self.position = in_point - self.direction = 1 # +1 vorwärts, -1 rückwärts (Ping-Pong) - self.speed = speed - - # ---------- Transportbefehle (§12.5) ---------- - - def play(self) -> None: - self.state = TransportState.PLAYING - - def pause(self) -> None: - if self.state is TransportState.PLAYING: - self.state = TransportState.PAUSED - - def stop(self) -> None: - """Stop: Transport angehalten, Position zurück auf In-Point.""" - self.state = TransportState.STOPPED - self.position = self.in_point - self.direction = 1 - - def retrigger(self) -> None: - """Neustart ab In-Point (flankenbasiert getriggert, §16.5).""" - self.position = self.in_point - self.direction = 1 - self.state = TransportState.PLAYING - - def seek(self, position: float) -> None: - if not self.in_point <= position <= self.out_point: - raise ValueError(f"seek außerhalb In/Out: {position}") - self.position = position - - def set_speed(self, speed: float) -> None: - if speed == 0.0: - raise ValueError("speed 0 unzulässig; pause() verwenden") - self.speed = speed - - # ---------- Frame-Advancement ---------- - - def advance(self, dt_s: float, now_ns: int | None = None) -> list[PlaybackEvent]: - """Advancement um dt Sekunden; liefert Ereignisse dieses Schritts. - - Wird nur im PLAYING-Zustand wirksam. Grenzüberschreitungen werden - gemäß Loop-Modus behandelt; die Position bleibt immer innerhalb - [in_point, out_point]. - """ - if dt_s < 0.0: - raise ValueError("dt_s darf nicht negativ sein") - if self.state is not TransportState.PLAYING or dt_s == 0.0: - return [] - now = now_ns if now_ns is not None else time.monotonic_ns() - events: list[PlaybackEvent] = [] - span = self.out_point - self.in_point - new_pos = self.position + self.direction * self.speed * dt_s - - if self.loop_mode is LoopMode.LOOP: - if new_pos > self.out_point: - new_pos = self.in_point + (new_pos - self.out_point) % span - events.append(self._event(PlaybackEventKind.LOOP_WRAP, new_pos, now)) - elif new_pos < self.in_point: - overshoot = (self.in_point - new_pos) % span - new_pos = self.out_point - overshoot if overshoot else self.in_point - events.append(self._event(PlaybackEventKind.LOOP_WRAP, new_pos, now)) - elif self.loop_mode is LoopMode.ONCE: - if new_pos >= self.out_point or new_pos <= self.in_point: - new_pos = self.out_point if self.direction > 0 else self.in_point - self.state = TransportState.STOPPED - events.append(self._event(PlaybackEventKind.END_OF_MEDIA, new_pos, now)) - else: # PING_PONG - if self.direction > 0 and new_pos >= self.out_point: - new_pos = max(self.out_point - (new_pos - self.out_point), self.in_point) - self.direction = -1 - events.append(self._event(PlaybackEventKind.DIRECTION_CHANGE, new_pos, now)) - elif self.direction < 0 and new_pos <= self.in_point: - new_pos = min(self.in_point + (self.in_point - new_pos), self.out_point) - self.direction = 1 - events.append(self._event(PlaybackEventKind.DIRECTION_CHANGE, new_pos, now)) - - self.position = new_pos - return events - - def _event( - self, kind: PlaybackEventKind, position: float, now_ns: int - ) -> PlaybackEvent: - return PlaybackEvent( - kind=kind, - source_id=self.source_id, - position=position, - monotonic_ns=now_ns, - ) - - -class PreloadSlot: - """Vorgepufferte, atomar umschaltbare Clipauswahl (§12.2, §16.5). - - Ablauf: preload() → Renderer bereitet Decoder vor → mark_ready() → - commit() wechselt an der Framegrenze atomar um. Ist beim Commit nicht - ready, bleibt das alte Bild aktiv (Policy des Aufrufers: halten/warten/ - Fallback, §18.3) – niemals ein halb geladenes Medium. - """ - - def __init__(self) -> None: - self._pending: str | None = None # asset_id - self._ready: bool = False - - @property - def pending(self) -> str | None: - return self._pending - - @property - def ready(self) -> bool: - return self._ready - - def preload(self, asset_id: str) -> None: - self._pending = asset_id - self._ready = False - - def mark_ready(self, asset_id: str) -> None: - if asset_id != self._pending: - raise ValueError("mark_ready für anderes Asset als pending") - self._ready = True - - def commit(self) -> str | None: - """Atomarer Wechsel: gibt das Asset zurück oder None (nicht bereit).""" - if self._pending is not None and self._ready: - asset_id = self._pending - self._pending = None - self._ready = False - return asset_id - return None - - def cancel(self) -> None: - self._pending = None - self._ready = False