{ "schema_version": "missioncore.observatory-domain-ontology/v1", "ontology_id": "mission-core.observatory", "version": "1.3.0", "owner": "NODE.DC Mission Core", "lifecycle": "local-runtime-canonical", "entities": [ { "id": "mission.transport-unit", "identity": "transport_id", "owner": "transport registry", "lifecycle": "registered-to-retired" }, { "id": "mission.equipment-unit", "identity": "equipment_id", "owner": "equipment registry", "lifecycle": "registered-to-retired" }, { "id": "observatory.equipment-mount", "identity": "mount_id", "owner": "equipment capture registry", "lifecycle": "time-bounded" }, { "id": "observatory.capture-profile", "identity": "capture_profile_id", "owner": "equipment capture registry", "lifecycle": "versioned" }, { "id": "observatory.recorded-session", "identity": "source_session_id", "owner": "session archive", "lifecycle": "recording-to-immutable" }, { "id": "observatory.module-version", "identity": "module_sha256", "owner": "module registry", "lifecycle": "installed-or-retired" }, { "id": "observatory.container-image", "identity": "image_sha256", "owner": "module registry", "lifecycle": "built-to-retired" }, { "id": "observatory.worker-node", "identity": "worker_node_id", "owner": "worker registry", "lifecycle": "registered-to-retired" }, { "id": "observatory.composition", "identity": "composition_sha256", "owner": "composition store", "lifecycle": "immutable" }, { "id": "observatory.composition-run", "identity": "run_id", "owner": "composition run store", "lifecycle": "append-only" }, { "id": "observatory.recorded-job", "identity": "job_id", "owner": "recorded job queue", "lifecycle": "queued-to-terminal" }, { "id": "observatory.portable-result", "identity": "result_id", "owner": "portable result publisher", "lifecycle": "immutable" }, { "id": "observatory.lab-projection", "identity": "result_id", "owner": "session catalog", "lifecycle": "published" }, { "id": "observatory.lab-view-profile", "identity": "result_id", "owner": "replay presentation", "lifecycle": "mutable-per-result" }, { "id": "observatory.viewer-pane", "identity": "pane_id", "owner": "replay presentation", "lifecycle": "versioned-contract" }, { "id": "observatory.viewer-layer", "identity": "layer_id", "owner": "replay presentation", "lifecycle": "versioned-contract" } ], "relations": [ { "id": "observatory.equipment-mount.mounts_equipment", "from": "observatory.equipment-mount", "to": "mission.equipment-unit", "cardinality": "many-to-one" }, { "id": "observatory.equipment-mount.attaches_to_transport", "from": "observatory.equipment-mount", "to": "mission.transport-unit", "cardinality": "many-to-one" }, { "id": "observatory.recorded-session.captured_on_transport", "from": "observatory.recorded-session", "to": "mission.transport-unit", "cardinality": "many-to-zero-or-one" }, { "id": "observatory.recorded-session.captured_with_equipment", "from": "observatory.recorded-session", "to": "mission.equipment-unit", "cardinality": "many-to-many" }, { "id": "observatory.recorded-session.uses_equipment_mount", "from": "observatory.recorded-session", "to": "observatory.equipment-mount", "cardinality": "many-to-many" }, { "id": "observatory.recorded-session.uses_capture_profile", "from": "observatory.recorded-session", "to": "observatory.capture-profile", "cardinality": "many-to-one" }, { "id": "observatory.composition-run.uses_recorded_session", "from": "observatory.composition-run", "to": "observatory.recorded-session", "cardinality": "many-to-one" }, { "id": "observatory.composition.contains_module", "from": "observatory.composition", "to": "observatory.module-version", "cardinality": "one-to-many" }, { "id": "observatory.module-version.implemented_by_image", "from": "observatory.module-version", "to": "observatory.container-image", "cardinality": "many-to-one" }, { "id": "observatory.container-image.installed_on_worker", "from": "observatory.container-image", "to": "observatory.worker-node", "cardinality": "many-to-many" }, { "id": "observatory.composition-run.applies_composition", "from": "observatory.composition-run", "to": "observatory.composition", "cardinality": "many-to-one" }, { "id": "observatory.composition-run.uses_job", "from": "observatory.composition-run", "to": "observatory.recorded-job", "cardinality": "one-to-many" }, { "id": "observatory.recorded-job.executes_on_worker", "from": "observatory.recorded-job", "to": "observatory.worker-node", "cardinality": "many-to-one" }, { "id": "observatory.recorded-job.publishes_result", "from": "observatory.recorded-job", "to": "observatory.portable-result", "cardinality": "one-to-zero-or-one" }, { "id": "observatory.composition-run.projects_lab", "from": "observatory.composition-run", "to": "observatory.lab-projection", "cardinality": "one-to-zero-or-one" }, { "id": "observatory.lab-projection.has_view_profile", "from": "observatory.lab-projection", "to": "observatory.lab-view-profile", "cardinality": "one-to-zero-or-one" }, { "id": "observatory.module-version.exposes_layer", "from": "observatory.module-version", "to": "observatory.viewer-layer", "cardinality": "many-to-many" }, { "id": "observatory.viewer-layer.belongs_to_pane", "from": "observatory.viewer-layer", "to": "observatory.viewer-pane", "cardinality": "many-to-one" } ], "panes": [ { "pane_id": "camera", "label": "Камера", "order": 10 }, { "pane_id": "spatial", "label": "Облако точек", "order": 20 } ], "layers": [ { "layer_id": "camera.source", "pane_id": "camera", "label": "КАМЕРА", "control": "toggle", "order": 10 }, { "layer_id": "camera.ddrnet", "pane_id": "camera", "label": "DDRNET", "control": "toggle", "order": 20 }, { "layer_id": "camera.eomt", "pane_id": "camera", "label": "EOMT", "control": "toggle", "order": 30 }, { "layer_id": "camera.detections", "pane_id": "camera", "label": "РАМКИ", "control": "toggle", "order": 40 }, { "layer_id": "spatial.source-points", "pane_id": "spatial", "label": "ИСХ. ТОЧКИ", "control": "toggle", "order": 10 }, { "layer_id": "spatial.local-slam", "pane_id": "spatial", "label": "ЛОК. SLAM", "control": "toggle-with-settings", "order": 20 }, { "layer_id": "spatial.tgs", "pane_id": "spatial", "label": "TGS", "control": "toggle", "order": 30 } ], "module_projections": [ { "module_id": "ddrnet", "configuration_label": "DDRNet-39 · GOOSE", "layers": [ "camera.source", "camera.ddrnet" ] }, { "module_id": "eomt", "configuration_label": "EoMT Large · Cityscapes", "layers": [ "camera.source", "camera.eomt" ] }, { "module_id": "rf-detr", "configuration_label": "RF-DETR Large", "layers": [ "camera.source", "camera.detections" ] }, { "module_id": "tgs", "configuration_label": "TRAVEL TGS", "layers": [ "spatial.source-points", "spatial.local-slam", "spatial.tgs" ] }, { "module_id": "object-distance", "configuration_label": "Дистанция до объектов · K1 LiDAR", "layers": [ "camera.source", "camera.detections", "spatial.source-points", "spatial.local-slam" ] } ], "named_queries": [ "recording.capture-context", "composition.configuration-label", "composition.member-results", "composition.viewer-layers", "composition.ready-state", "lab.view-profile" ], "platform_sync": { "mode": "none", "promotion_gate": "stable cross-product meaning with an agreed Platform Ontology migration", "platform_repository_is_runtime_dependency": false } }