refactor(worker): defer optional visualization imports

This commit is contained in:
DCCONSTRUCTIONS
2026-08-31 17:15:13 +03:00
parent e2de8188ab
commit 892d0085e3
4 changed files with 858 additions and 302 deletions
@@ -1,5 +1,30 @@
"""XGRIDS/LixelKity K1 compatibility plugin implementation."""
from .observation import build_xgrids_k1_observation, xgrids_k1_archive_source
from importlib import import_module
from typing import TYPE_CHECKING, Any, Final
if TYPE_CHECKING:
from .observation import build_xgrids_k1_observation, xgrids_k1_archive_source
__all__ = ["build_xgrids_k1_observation", "xgrids_k1_archive_source"]
_EXPORTS: Final = {
"build_xgrids_k1_observation": ".observation",
"xgrids_k1_archive_source": ".observation",
}
if set(_EXPORTS) != set(__all__) or len(_EXPORTS) != len(__all__):
raise RuntimeError("XGRIDS K1 lazy export table does not match __all__")
def __getattr__(name: str) -> Any:
module_name = _EXPORTS.get(name)
if module_name is None:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
value: Any = getattr(import_module(module_name, __name__), name)
globals()[name] = value
return value
def __dir__() -> list[str]:
return sorted({*globals(), *__all__})
@@ -1,33 +1,37 @@
"""Bounded, offline analysis of sensitive K1 evidence artifacts."""
from k1link.device_plugins.xgrids_k1.analyze.calibrated_overlay import (
CalibratedOverlayExperiment,
CalibratedOverlayExperimentError,
run_calibrated_overlay_experiment,
)
from k1link.device_plugins.xgrids_k1.analyze.calibrated_projection import (
CalibratedProjectionError,
Kb4ProjectionProfile,
ProjectedPointCloud,
depth_colors,
map_points_to_lidar,
project_map_points_kb4,
quaternion_xyzw_to_rotation_matrix,
unproject_pixels_kb4,
)
from k1link.device_plugins.xgrids_k1.analyze.stream_summary import (
DEFAULT_STREAM_SUMMARY_MAX_PAYLOAD_BYTES,
MAX_STREAM_SUMMARY_PAYLOAD_BYTES,
StreamSummary,
summarize_mqtt_streams,
)
from k1link.device_plugins.xgrids_k1.analyze.valid_fov import (
DEFAULT_EDGE_MARGIN_PIXELS,
K1ValidFovMask,
K1ValidFovMaskError,
prepare_k1_valid_fov_mask,
validate_k1_valid_fov_mask,
)
from importlib import import_module
from typing import TYPE_CHECKING, Any, Final
if TYPE_CHECKING:
from k1link.device_plugins.xgrids_k1.analyze.calibrated_overlay import (
CalibratedOverlayExperiment,
CalibratedOverlayExperimentError,
run_calibrated_overlay_experiment,
)
from k1link.device_plugins.xgrids_k1.analyze.calibrated_projection import (
CalibratedProjectionError,
Kb4ProjectionProfile,
ProjectedPointCloud,
depth_colors,
map_points_to_lidar,
project_map_points_kb4,
quaternion_xyzw_to_rotation_matrix,
unproject_pixels_kb4,
)
from k1link.device_plugins.xgrids_k1.analyze.stream_summary import (
DEFAULT_STREAM_SUMMARY_MAX_PAYLOAD_BYTES,
MAX_STREAM_SUMMARY_PAYLOAD_BYTES,
StreamSummary,
summarize_mqtt_streams,
)
from k1link.device_plugins.xgrids_k1.analyze.valid_fov import (
DEFAULT_EDGE_MARGIN_PIXELS,
K1ValidFovMask,
K1ValidFovMaskError,
prepare_k1_valid_fov_mask,
validate_k1_valid_fov_mask,
)
__all__ = [
"CalibratedOverlayExperiment",
@@ -51,3 +55,62 @@ __all__ = [
"unproject_pixels_kb4",
"validate_k1_valid_fov_mask",
]
_EXPORTS: Final = {
**dict.fromkeys(
(
"CalibratedOverlayExperiment",
"CalibratedOverlayExperimentError",
"run_calibrated_overlay_experiment",
),
".calibrated_overlay",
),
**dict.fromkeys(
(
"CalibratedProjectionError",
"Kb4ProjectionProfile",
"ProjectedPointCloud",
"depth_colors",
"map_points_to_lidar",
"project_map_points_kb4",
"quaternion_xyzw_to_rotation_matrix",
"unproject_pixels_kb4",
),
".calibrated_projection",
),
**dict.fromkeys(
(
"DEFAULT_STREAM_SUMMARY_MAX_PAYLOAD_BYTES",
"MAX_STREAM_SUMMARY_PAYLOAD_BYTES",
"StreamSummary",
"summarize_mqtt_streams",
),
".stream_summary",
),
**dict.fromkeys(
(
"DEFAULT_EDGE_MARGIN_PIXELS",
"K1ValidFovMask",
"K1ValidFovMaskError",
"prepare_k1_valid_fov_mask",
"validate_k1_valid_fov_mask",
),
".valid_fov",
),
}
if set(_EXPORTS) != set(__all__) or len(_EXPORTS) != len(__all__):
raise RuntimeError("XGRIDS K1 analysis lazy export table does not match __all__")
def __getattr__(name: str) -> Any:
module_name = _EXPORTS.get(name)
if module_name is None:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
value: Any = getattr(import_module(module_name, __name__), name)
globals()[name] = value
return value
def __dir__() -> list[str]:
return sorted({*globals(), *__all__})