feat(observatory): ship modular AI inference labs
This commit is contained in:
@@ -0,0 +1,336 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user