Refactor radar system

This commit is contained in:
Ayzen
2026-10-05 16:46:28 +03:00
parent 515049d2ed
commit 8f097dfa2e
179 changed files with 8212 additions and 6676 deletions
@@ -16,7 +16,6 @@ from python_app.gui.controllers.app_window_config.live_processing_mixin import (
_NON_WIDGET_LIVE_FIELDS,
_WEB_DISPLAY_SCHEMA,
_WEB_LIVE_GETTERS,
_WEB_STABLE_SCHEMA,
web_apply_field_names,
)
from python_app.orchestration.live_processing_config import ProcessingLiveConfig
@@ -44,10 +43,8 @@ class LiveSettingsSchemaCoverageTest(unittest.TestCase):
# A field is either widget-backed (in the schema) or explicitly non-widget — never both.
self.assertEqual(set(_WEB_LIVE_GETTERS) & _NON_WIDGET_LIVE_FIELDS, set())
def test_display_and_stable_fields_are_not_live_config(self) -> None:
# Display toggles (GUI profile) and stable fields (run_config) must never collide
# with live ProcessingLiveConfig fields — they take different write paths.
extra = {f for f, *_ in _WEB_DISPLAY_SCHEMA} | {f for f, *_ in _WEB_STABLE_SCHEMA}
def test_display_fields_are_not_live_config(self) -> None:
extra = {f for f, *_ in _WEB_DISPLAY_SCHEMA}
self.assertEqual(extra & self._config_fields(), set())
self.assertEqual(extra & set(_WEB_LIVE_GETTERS), set())
@@ -55,7 +52,6 @@ class LiveSettingsSchemaCoverageTest(unittest.TestCase):
form_fields = (
set(_WEB_LIVE_GETTERS)
| {f for f, *_ in _WEB_DISPLAY_SCHEMA}
| {f for f, *_ in _WEB_STABLE_SCHEMA}
)
# The web may apply every form field plus the history command, and nothing else.
self.assertEqual(web_apply_field_names(), form_fields | {"history_command"})