337 lines
8.9 KiB
JSON
337 lines
8.9 KiB
JSON
{
|
|
"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
|
|
}
|
|
}
|