feat(k1): stabilize LAB bridge and isolate onboard device integration
This commit is contained in:
@@ -215,8 +215,8 @@ def default_environment_settings() -> EnvironmentSettingsDocument:
|
||||
description=(
|
||||
"Свести все сенсоры в синхронную и управляемую операторскую картину."
|
||||
),
|
||||
primary_workspace_id="spatial-scene",
|
||||
secondary_workspace_id="cameras",
|
||||
primary_workspace_id="cameras",
|
||||
secondary_workspace_id="world-map",
|
||||
background=background.model_copy(),
|
||||
),
|
||||
missions=EnvironmentPage(
|
||||
@@ -372,10 +372,24 @@ def _upgrade_environment(payload: object) -> EnvironmentSettingsDocument:
|
||||
raise ValueError("environment document must be an object")
|
||||
schema_version = payload.get("schema_version")
|
||||
if schema_version == "missioncore.operator-environment/v1":
|
||||
return _upgrade_v1_environment(payload)
|
||||
if schema_version == "missioncore.operator-environment/v2":
|
||||
return _upgrade_v2_environment(payload)
|
||||
return EnvironmentSettingsDocument.model_validate(payload)
|
||||
document = _upgrade_v1_environment(payload)
|
||||
elif schema_version == "missioncore.operator-environment/v2":
|
||||
document = _upgrade_v2_environment(payload)
|
||||
else:
|
||||
document = EnvironmentSettingsDocument.model_validate(payload)
|
||||
# The owner moved the local live scene to LAB. Retire only its old
|
||||
# Control shortcuts, preserving custom copy, backgrounds and other links.
|
||||
page = document.pages.observation
|
||||
if page.primary_workspace_id == "spatial-scene":
|
||||
page.primary_workspace_id = (
|
||||
page.secondary_workspace_id
|
||||
if page.secondary_workspace_id not in (None, "spatial-scene")
|
||||
else "cameras"
|
||||
)
|
||||
page.secondary_workspace_id = None
|
||||
elif page.secondary_workspace_id == "spatial-scene":
|
||||
page.secondary_workspace_id = None
|
||||
return document
|
||||
|
||||
|
||||
class EnvironmentSettingsStore:
|
||||
|
||||
Reference in New Issue
Block a user