spatialdds 0.7.2__tar.gz → 0.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {spatialdds-0.7.2 → spatialdds-0.7.4}/PKG-INFO +42 -6
- {spatialdds-0.7.2 → spatialdds-0.7.4}/README.md +41 -5
- {spatialdds-0.7.2 → spatialdds-0.7.4}/pyproject.toml +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/__init__.py +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/openapi.html +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/openapi.yaml +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/registry.json +43 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/__init__.py +5 -3
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/_participant.py +104 -24
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/codec.py +55 -4
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/record.py +5 -2
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/registry.py +34 -4
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/manifests/content-fountain-label.json +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/manifests/content-fountain-marker.json +1 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/records.py +31 -6
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/serve.py +6 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/gateway.py +28 -4
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/gw_http.py +13 -2
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/idlmodel.py +36 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/mcapmeta.py +5 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/pin.py +1 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/webjson.py +127 -1
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/xcdr2.py +7 -2
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/PKG-INFO +42 -6
- {spatialdds-0.7.2 → spatialdds-0.7.4}/setup.cfg +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/anchors.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/argeo.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/common.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/core.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/discovery.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/events.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/lidar.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/mapping.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/provisional/owm.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/provisional/radio.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/provisional/rf_beam.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/rad.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/semantics.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/slam_frontend.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/types.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/vio.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/idl/vision.idl +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/builtin_Time.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_anchors_AnchorDelta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_anchors_AnchorEntry.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_anchors_AnchorSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_anchors_AnchorSetRequest.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_anchors_AnchorSetResponse.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_argeo_NodeGeo.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_argeo_QualityRequirements.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_argeo_VpsRequest.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_argeo_VpsResponse.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_common_AssetRef.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_common_FrameRef.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_common_KV.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_common_MetaKV.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_common_Vec2.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_Aabb3.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_BlobChunk.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_BlobRef.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_ComponentRef.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_Edge.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_EntityBinding.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_FrameTransform.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_FramedPose.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_GeoAnchor.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_GeoPose.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_NavSatStatus.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_Node.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_PlannedTrajectory.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_PlannedWaypoint.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_PoseSE3.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_SnapshotRequest.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_SnapshotResponse.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_TileKey.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_TileMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_core_TilePatch.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_Announce.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_Capabilities.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_ContentAnnounce.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_CoverageElement.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_CoverageFilter.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_CoverageHint.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_CoverageQuery.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_CoverageResponse.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_Depart.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_KV.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_ProfileSupport.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_ServiceSummary.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_TopicMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_Transform.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_disco_ValidityWindow.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_events_CrossingLine.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_events_SpatialEvent.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_events_SpatialZone.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_events_ZoneState.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_mapping_Edge.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_mapping_MapAlignment.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_mapping_MapEvent.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_mapping_MapMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_mapping_MapQuality.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_owm_Entity.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_owm_ModelCommand.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_owm_ModelPose.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_Detection2D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_Detection2DSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_Detection3D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_Detection3DSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_FusedTrack.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_FusedTrackSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_Keypoint3D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_semantics_KeypointLink.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_Axis.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_FrameHeader.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_FrameQuality.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_Linspace.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_ROI.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_ROIReply.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_ROIRequest.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_common_StreamMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_lidar_LidarDetection.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_lidar_LidarDetectionSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_lidar_LidarFrame.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_lidar_LidarMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rad_RadDetection.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rad_RadDetectionSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rad_RadSensorMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rad_RadTensorFrame.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rad_RadTensorMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_radio_RadioObservation.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_radio_RadioScan.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_radio_RadioSensorMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rf_beam_RfBeamArraySet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rf_beam_RfBeamFrame.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_rf_beam_RfBeamMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_CamIntrinsics.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_Keypoint2D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_Track2D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_VisionDetections.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_VisionFrame.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_sensing_vision_VisionMeta.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_CameraInfo.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_Feature2D.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_FeatureMatch.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_KeyframeFeatures.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_Landmark.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_MatchSet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_TrackObs.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_slam_frontend_Tracklet.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_vio_FusedState.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_vio_ImuInfo.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_vio_ImuSample.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_vio_MagnetometerSample.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/schemas/spatial_vio_SensorFusionSample.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/artifacts/serializer_tables.json +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/canonical.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/canonjson.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/client.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/_extra.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/blob.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/qos.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/_field_aliases.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/builtin/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/builtin/_types.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/anchors/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/anchors/_anchors.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/argeo/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/argeo/_argeo.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/common/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/common/_types.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/core/GnssService/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/core/GnssService/_core.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/core/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/core/_core.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/disco/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/disco/_discovery.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/crossing_direction_enum/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/crossing_direction_enum/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/event_state_enum/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/event_state_enum/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/event_type_enum/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/event_type_enum/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/severity_enum/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/severity_enum/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/zone_kind_enum/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/events/enums/zone_kind_enum/_events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/alignment_method/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/alignment_method/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/edge_type/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/edge_type/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_event_kind/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_event_kind/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_kind/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_kind/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_status/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/mapping/enums/map_status/_mapping.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/owm/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/owm/_owm.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/semantics/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/semantics/_semantics.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/common/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/common/_common.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/lidar/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/lidar/_lidar.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/rad/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/rad/_rad.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/radio/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/radio/_radio.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/rf_beam/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/rf_beam/_rf_beam.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/vision/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/sensing/vision/_vision.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/slam_frontend/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/slam_frontend/_slam_frontend.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/vio/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/dds/types/spatial/vio/_vio.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/assets/duck.gltf +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/assets/fountain-label.txt +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/assets/fountain-marker.gltf +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/demo/fountain-anchors.mcap +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/errors.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/events.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/frames.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/journal.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/recency.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/__init__.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/commands.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/limits.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/publish.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/server/tenancy.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds/tokens.py +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/SOURCES.txt +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/dependency_links.txt +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/entry_points.txt +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/requires.txt +0 -0
- {spatialdds-0.7.2 → spatialdds-0.7.4}/spatialdds.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: spatialdds
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
4
4
|
Summary: SpatialDDS for programs: a client for the web binding (Appendix N), a native DDS participant, and the reference registry behind one command.
|
|
5
5
|
Author: Open AR Cloud
|
|
6
6
|
License: Apache-2.0
|
|
@@ -114,7 +114,7 @@ What it asks of you, and what it will not guess:
|
|
|
114
114
|
| `service_id` and `authority` | to write or announce |
|
|
115
115
|
| `qos_profile` | where the §3.3.2 row names none, as `model_entity`'s and `model_pose`'s do; the refusal lists the §3.3.3 profiles that fit, or pass a `sd.dds.Profile(...)` extension |
|
|
116
116
|
| `on_exit="keep"` or `"withdraw"` | on every latched, keyed writer: whether a record outlives its writer is a claim only you can make |
|
|
117
|
-
| `withdraw(key, reason
|
|
117
|
+
| `withdraw(key, reason=..., **changes)` | with an empty reason, or a change to the members it sets itself or to the key |
|
|
118
118
|
|
|
119
119
|
And what it does without being asked:
|
|
120
120
|
|
|
@@ -139,14 +139,18 @@ scene:
|
|
|
139
139
|
tick, a framework's timer, or a request handler.
|
|
140
140
|
- **`topic=`** on `writer()` and `reader()` gives the whole name, for another
|
|
141
141
|
scene's lane or one the spec names only by example. It is held to §3.3.1's
|
|
142
|
-
grammar,
|
|
143
|
-
|
|
142
|
+
grammar, a templated type to its template, and a name that fills §2's
|
|
143
|
+
template for its type is admitted though it is longer
|
|
144
|
+
(`spatialdds/<scene>/plan/<agent_id>/trajectory/v1`). `history=` sets a
|
|
145
|
+
reader's own cache, for a reply reader that must keep every reply.
|
|
144
146
|
- **`ignore_local=True`** on a reader drops the participant's own writes, for
|
|
145
147
|
a bridge that writes and reads one lane. **`matched()`** and
|
|
146
148
|
**`wait_matched()`** on writers and readers count the other side.
|
|
147
149
|
- **`p.announce(transforms=...)`** carries the service's frame placement.
|
|
148
150
|
`service_id=` and `topics=` announce several services from one
|
|
149
|
-
participant.
|
|
151
|
+
participant. `topics=` may list readers as well as writers, for a service
|
|
152
|
+
that announces where requests go, and `auth_hint=` and
|
|
153
|
+
`coverage_frame_ref=` pass through.
|
|
150
154
|
- **`p.relay()`** re-publishes other services' announces. It uses a writer of
|
|
151
155
|
its own and marks each with a `relayed_by` hint naming the relay, so it
|
|
152
156
|
never speaks as the asserter.
|
|
@@ -598,6 +602,38 @@ explicitly was tried first and is what missed two paths.
|
|
|
598
602
|
|
|
599
603
|
If your clients are not browsers, nothing here changes anything for you.
|
|
600
604
|
|
|
605
|
+
## New in 0.7.4: what the first extension found
|
|
606
|
+
|
|
607
|
+
A deployment's own type, registered with `sd.dds.extend()`, is now served
|
|
608
|
+
the way a pinned one is. The gateway publishes a schema for it, written from
|
|
609
|
+
the model it decodes the type with by the specification generator's rules,
|
|
610
|
+
because N.2 requires a schema for every type an endpoint serves. A
|
|
611
|
+
recording's extension lane is served latched when its writer opened it so,
|
|
612
|
+
and `serve --public FQN` opens it to uncredentialed readers.
|
|
613
|
+
|
|
614
|
+
- `withdraw(key, reason=..., **changes)` sets other members on the terminal
|
|
615
|
+
sample, such as a closed validity interval.
|
|
616
|
+
- `close()` finishes when a reader is slow to acknowledge (cyclonedds-python
|
|
617
|
+
11.0.1 raised on that timeout).
|
|
618
|
+
- `sd.stamp` keeps `nanosec` in range, and floors a time before the epoch.
|
|
619
|
+
- `sd.dds.extensions()` and `sd.dds.extension_of()` are exported.
|
|
620
|
+
|
|
621
|
+
## New in 0.7.3: what the first migration found
|
|
622
|
+
|
|
623
|
+
Mostly additive; one fix changes bytes. Every frame this package builds now
|
|
624
|
+
carries the uuid its name derives to, because Appendix G makes the uuid a
|
|
625
|
+
frame's identity. Until 0.7.3 the earth-fixed frame's uuid was empty in
|
|
626
|
+
announces, built manifests and the gateway's manifest, and a conforming
|
|
627
|
+
consumer could match it to nothing. If you compare such documents by digest,
|
|
628
|
+
expect the uuid, and the ETags over it, to change.
|
|
629
|
+
|
|
630
|
+
- `check_topic` and `topic=` admit §2's lane templates, so the six-segment
|
|
631
|
+
plan lane opens.
|
|
632
|
+
- `p.announce(topics=)` takes readers, plus `auth_hint=` and
|
|
633
|
+
`coverage_frame_ref=`.
|
|
634
|
+
- `sd.dds.from_json(..., strict=True)` refuses unknown members by name.
|
|
635
|
+
- `sd.dds.WireError` is exported and is a `ValueError`.
|
|
636
|
+
|
|
601
637
|
## New in 0.7.2: a deployment's own types
|
|
602
638
|
|
|
603
639
|
`sd.dds.extend(name, cls, idl)` brings a deployment's own documented type
|
|
@@ -659,7 +695,7 @@ Two changes may need a line of yours:
|
|
|
659
695
|
The security fixes, the limits table and the details are in the
|
|
660
696
|
[changelog](https://github.com/OpenArCloud/spatialdds-py/blob/main/lib/spatialdds/CHANGELOG.md).
|
|
661
697
|
|
|
662
|
-
## Not in 0.7.
|
|
698
|
+
## Not in 0.7.4
|
|
663
699
|
|
|
664
700
|
Stated so nobody waits for them:
|
|
665
701
|
|
|
@@ -86,7 +86,7 @@ What it asks of you, and what it will not guess:
|
|
|
86
86
|
| `service_id` and `authority` | to write or announce |
|
|
87
87
|
| `qos_profile` | where the §3.3.2 row names none, as `model_entity`'s and `model_pose`'s do; the refusal lists the §3.3.3 profiles that fit, or pass a `sd.dds.Profile(...)` extension |
|
|
88
88
|
| `on_exit="keep"` or `"withdraw"` | on every latched, keyed writer: whether a record outlives its writer is a claim only you can make |
|
|
89
|
-
| `withdraw(key, reason
|
|
89
|
+
| `withdraw(key, reason=..., **changes)` | with an empty reason, or a change to the members it sets itself or to the key |
|
|
90
90
|
|
|
91
91
|
And what it does without being asked:
|
|
92
92
|
|
|
@@ -111,14 +111,18 @@ scene:
|
|
|
111
111
|
tick, a framework's timer, or a request handler.
|
|
112
112
|
- **`topic=`** on `writer()` and `reader()` gives the whole name, for another
|
|
113
113
|
scene's lane or one the spec names only by example. It is held to §3.3.1's
|
|
114
|
-
grammar,
|
|
115
|
-
|
|
114
|
+
grammar, a templated type to its template, and a name that fills §2's
|
|
115
|
+
template for its type is admitted though it is longer
|
|
116
|
+
(`spatialdds/<scene>/plan/<agent_id>/trajectory/v1`). `history=` sets a
|
|
117
|
+
reader's own cache, for a reply reader that must keep every reply.
|
|
116
118
|
- **`ignore_local=True`** on a reader drops the participant's own writes, for
|
|
117
119
|
a bridge that writes and reads one lane. **`matched()`** and
|
|
118
120
|
**`wait_matched()`** on writers and readers count the other side.
|
|
119
121
|
- **`p.announce(transforms=...)`** carries the service's frame placement.
|
|
120
122
|
`service_id=` and `topics=` announce several services from one
|
|
121
|
-
participant.
|
|
123
|
+
participant. `topics=` may list readers as well as writers, for a service
|
|
124
|
+
that announces where requests go, and `auth_hint=` and
|
|
125
|
+
`coverage_frame_ref=` pass through.
|
|
122
126
|
- **`p.relay()`** re-publishes other services' announces. It uses a writer of
|
|
123
127
|
its own and marks each with a `relayed_by` hint naming the relay, so it
|
|
124
128
|
never speaks as the asserter.
|
|
@@ -570,6 +574,38 @@ explicitly was tried first and is what missed two paths.
|
|
|
570
574
|
|
|
571
575
|
If your clients are not browsers, nothing here changes anything for you.
|
|
572
576
|
|
|
577
|
+
## New in 0.7.4: what the first extension found
|
|
578
|
+
|
|
579
|
+
A deployment's own type, registered with `sd.dds.extend()`, is now served
|
|
580
|
+
the way a pinned one is. The gateway publishes a schema for it, written from
|
|
581
|
+
the model it decodes the type with by the specification generator's rules,
|
|
582
|
+
because N.2 requires a schema for every type an endpoint serves. A
|
|
583
|
+
recording's extension lane is served latched when its writer opened it so,
|
|
584
|
+
and `serve --public FQN` opens it to uncredentialed readers.
|
|
585
|
+
|
|
586
|
+
- `withdraw(key, reason=..., **changes)` sets other members on the terminal
|
|
587
|
+
sample, such as a closed validity interval.
|
|
588
|
+
- `close()` finishes when a reader is slow to acknowledge (cyclonedds-python
|
|
589
|
+
11.0.1 raised on that timeout).
|
|
590
|
+
- `sd.stamp` keeps `nanosec` in range, and floors a time before the epoch.
|
|
591
|
+
- `sd.dds.extensions()` and `sd.dds.extension_of()` are exported.
|
|
592
|
+
|
|
593
|
+
## New in 0.7.3: what the first migration found
|
|
594
|
+
|
|
595
|
+
Mostly additive; one fix changes bytes. Every frame this package builds now
|
|
596
|
+
carries the uuid its name derives to, because Appendix G makes the uuid a
|
|
597
|
+
frame's identity. Until 0.7.3 the earth-fixed frame's uuid was empty in
|
|
598
|
+
announces, built manifests and the gateway's manifest, and a conforming
|
|
599
|
+
consumer could match it to nothing. If you compare such documents by digest,
|
|
600
|
+
expect the uuid, and the ETags over it, to change.
|
|
601
|
+
|
|
602
|
+
- `check_topic` and `topic=` admit §2's lane templates, so the six-segment
|
|
603
|
+
plan lane opens.
|
|
604
|
+
- `p.announce(topics=)` takes readers, plus `auth_hint=` and
|
|
605
|
+
`coverage_frame_ref=`.
|
|
606
|
+
- `sd.dds.from_json(..., strict=True)` refuses unknown members by name.
|
|
607
|
+
- `sd.dds.WireError` is exported and is a `ValueError`.
|
|
608
|
+
|
|
573
609
|
## New in 0.7.2: a deployment's own types
|
|
574
610
|
|
|
575
611
|
`sd.dds.extend(name, cls, idl)` brings a deployment's own documented type
|
|
@@ -631,7 +667,7 @@ Two changes may need a line of yours:
|
|
|
631
667
|
The security fixes, the limits table and the details are in the
|
|
632
668
|
[changelog](https://github.com/OpenArCloud/spatialdds-py/blob/main/lib/spatialdds/CHANGELOG.md).
|
|
633
669
|
|
|
634
|
-
## Not in 0.7.
|
|
670
|
+
## Not in 0.7.4
|
|
635
671
|
|
|
636
672
|
Stated so nobody waits for them:
|
|
637
673
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "spatialdds"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.4"
|
|
8
8
|
description = "SpatialDDS for programs: a client for the web binding (Appendix N), a native DDS participant, and the reference registry behind one command."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -41,7 +41,7 @@ __all__ = [
|
|
|
41
41
|
"participant", "MissingExtra", "dds", "events", "frames", "Recency",
|
|
42
42
|
]
|
|
43
43
|
|
|
44
|
-
__version__ = "0.7.
|
|
44
|
+
__version__ = "0.7.4"
|
|
45
45
|
#: The SpatialDDS-spec commit whose Appendix N and generated artifacts this
|
|
46
46
|
#: package implements. Package versions and specification versions move
|
|
47
47
|
#: independently; this is the one that says what the wire looks like.
|
|
@@ -14,4 +14,4 @@ border-bottom:1px solid var(--line)}p{margin:.35rem 0}.mut,.sum .auth{color:
|
|
|
14
14
|
var(--mut)}.auth{font-size:.85rem;margin-left:.4rem}.v{display:inline-block;
|
|
15
15
|
min-width:4.2rem;font:600 12px ui-monospace,monospace;letter-spacing:.04em;
|
|
16
16
|
color:var(--acc)}.codes{font:12px ui-monospace,monospace;color:var(--mut)}
|
|
17
|
-
.s{margin-right:.5rem}.s4,.s5{color:#b5482c}a{color:var(--acc)}</style></head><body><main><h1>SpatialDDS web binding (spatialdds-py)</h1><p class=mut>Version 0.7.2 · OpenAPI 3.1.0 · generated, never hand-written · <a href='openapi'>openapi.yaml</a></p><p>Generated by <code>tools/gen_openapi.py</code> from the gateway's own tables and the published JSON Schemas; never edited by hand. Reads are open; writes take a bearer token scoped to scenes. The WebSocket streams (N.5) are described on each collection path, not modelled.</p><h2>Operations</h2><section id="search"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/search</code></h3><p class="sum">Services near a geohash (§8.2.3 manifests) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="searchPost"><h3><span class="v post">POST</span> <code>/.well-known/spatialdds/search</code></h3><p class="sum">The same search, as a POST body <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="listSchemas"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/schemas</code></h3><p class="sum">The published JSON Schemas, by type <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="getSchema"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/schemas/{type}</code></h3><p class="sum"> <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="bootstrap"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/bootstrap</code></h3><p class="sum">DDS-join material (N.2); optional <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="resolverMetadata"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/resolver</code></h3><p class="sum">§7.5.2 resolver metadata <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="openapi"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/openapi</code></h3><p class="sum">This document <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="openapiPage"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/openapi.html</code></h3><p class="sum">This document as a static reference page <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="resolve"><h3><span class="v get">GET</span> <code>/spatialdds/resolve</code></h3><p class="sum">Resolve a URI to its manifest (§7.5.2) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">400</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putManifest"><h3><span class="v put">PUT</span> <code>/spatialdds/resolve</code></h3><p class="sum">Publish a manifest, keyed by its own <code>id</code> <span class="auth">token</span></p><p>The <code>uri</code> parameter is not used; the body's <code>id</code> is the key. Its scene segment is the lane. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>).</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawManifest"><h3><span class="v delete">DELETE</span> <code>/spatialdds/resolve</code></h3><p class="sum">Withdraw a manifest; <code>resolve</code> then answers 404 <span class="auth">token</span></p><p>Owner-checked by the URI's scene segment. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>).</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="getAsset"><h3><span class="v get">GET</span> <code>/assets/{name}</code></h3><p class="sum">Asset bytes this endpoint hosts (implementation-defined) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="listAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/announce/v1</code></h3><p class="sum">Every spatial.disco.Announce instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandAnnounce"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/announce/v1</code></h3><p class="sum">An N.6 command addressed through the announce lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">One spatial.disco.Announce instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putAnnounce"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.disco.Announce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawAnnounce"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.disco.Announce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listContentAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/content_announce/v1</code></h3><p class="sum">Every spatial.disco.ContentAnnounce instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandContentAnnounce"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/content_announce/v1</code></h3><p class="sum">An N.6 command addressed through the content_announce lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getContentAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">One spatial.disco.ContentAnnounce instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putContentAnnounce"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.disco.ContentAnnounce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawContentAnnounce"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.disco.ContentAnnounce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listGeoAnchor"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/geo_anchor/v1</code></h3><p class="sum">Every spatial.core.GeoAnchor instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandGeoAnchor"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/geo_anchor/v1</code></h3><p class="sum">An N.6 command addressed through the geo_anchor lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getGeoAnchor"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">One spatial.core.GeoAnchor instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putGeoAnchor"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.core.GeoAnchor <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawGeoAnchor"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.core.GeoAnchor <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listInstances"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/{type}/{version}</code></h3><p class="sum">Any other served topic, read-only <span class="auth">token for operator-scoped</span></p><p>Latched types answer with the latched set; streamed types with the replayed window. Public or operator-scoped per the type: <code>spatial.core.FrameTransform</code> latched public, <code>spatial.events.CrossingLine</code> latched public, <code>spatial.events.SpatialEvent</code> stream bearer, <code>spatial.events.SpatialZone</code> latched public, <code>spatial.owm.Entity</code> latched bearer, <code>spatial.owm.ModelPose</code> stream bearer, <code>spatial.semantics.Detection2DSet</code> stream bearer, <code>spatial.semantics.Detection3DSet</code> stream bearer, <code>spatial.semantics.FusedTrackSet</code> stream bearer. **The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listWellKnownInstances"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/{stream}/{type}/{version}</code></h3><p class="sum">A four-segment topic's collection <span class="auth">token for operator-scoped</span></p><p>A four-segment topic (<code>spatialdds/<stream>/<type>/<version></code>, no scene), such as the discovery announce lane, served exactly as a scene-scoped collection is: latched set, <code>ETag</code>, <code>304</code>, the same access classes, and the N.5 stream by upgrading the same path. Read-only: a topic with no scene is in no lane. **The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="getWellKnownInstance"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/{stream}/{type}/{version}/{key}</code></h3><p class="sum">One instance of a four-segment topic <span class="auth">token for operator-scoped</span></p><p>A four-segment topic (<code>spatialdds/<stream>/<type>/<version></code>, no scene), such as the discovery announce lane, served exactly as a scene-scoped collection is: latched set, <code>ETag</code>, <code>304</code>, the same access classes, and the N.5 stream by upgrading the same path. Read-only: a topic with no scene is in no lane. </p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><h2>Schemas</h2><p class=mut>115 components, from the published JSON Schemas at <code>/.well-known/spatialdds/schemas</code>.</p></main></body></html>
|
|
17
|
+
.s{margin-right:.5rem}.s4,.s5{color:#b5482c}a{color:var(--acc)}</style></head><body><main><h1>SpatialDDS web binding (spatialdds-py)</h1><p class=mut>Version 0.7.4 · OpenAPI 3.1.0 · generated, never hand-written · <a href='openapi'>openapi.yaml</a></p><p>Generated by <code>tools/gen_openapi.py</code> from the gateway's own tables and the published JSON Schemas; never edited by hand. Reads are open; writes take a bearer token scoped to scenes. The WebSocket streams (N.5) are described on each collection path, not modelled.</p><h2>Operations</h2><section id="search"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/search</code></h3><p class="sum">Services near a geohash (§8.2.3 manifests) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="searchPost"><h3><span class="v post">POST</span> <code>/.well-known/spatialdds/search</code></h3><p class="sum">The same search, as a POST body <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="listSchemas"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/schemas</code></h3><p class="sum">The published JSON Schemas, by type <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="getSchema"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/schemas/{type}</code></h3><p class="sum"> <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="bootstrap"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/bootstrap</code></h3><p class="sum">DDS-join material (N.2); optional <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="resolverMetadata"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/resolver</code></h3><p class="sum">§7.5.2 resolver metadata <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="openapi"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/openapi</code></h3><p class="sum">This document <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="openapiPage"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/openapi.html</code></h3><p class="sum">This document as a static reference page <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">429</span></p></section><section id="resolve"><h3><span class="v get">GET</span> <code>/spatialdds/resolve</code></h3><p class="sum">Resolve a URI to its manifest (§7.5.2) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">400</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putManifest"><h3><span class="v put">PUT</span> <code>/spatialdds/resolve</code></h3><p class="sum">Publish a manifest, keyed by its own <code>id</code> <span class="auth">token</span></p><p>The <code>uri</code> parameter is not used; the body's <code>id</code> is the key. Its scene segment is the lane. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>).</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawManifest"><h3><span class="v delete">DELETE</span> <code>/spatialdds/resolve</code></h3><p class="sum">Withdraw a manifest; <code>resolve</code> then answers 404 <span class="auth">token</span></p><p>Owner-checked by the URI's scene segment. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>).</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="getAsset"><h3><span class="v get">GET</span> <code>/assets/{name}</code></h3><p class="sum">Asset bytes this endpoint hosts (implementation-defined) <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="listAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/announce/v1</code></h3><p class="sum">Every spatial.disco.Announce instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandAnnounce"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/announce/v1</code></h3><p class="sum">An N.6 command addressed through the announce lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">One spatial.disco.Announce instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putAnnounce"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.disco.Announce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawAnnounce"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/announce/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.disco.Announce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listContentAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/content_announce/v1</code></h3><p class="sum">Every spatial.disco.ContentAnnounce instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandContentAnnounce"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/content_announce/v1</code></h3><p class="sum">An N.6 command addressed through the content_announce lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getContentAnnounce"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">One spatial.disco.ContentAnnounce instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putContentAnnounce"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.disco.ContentAnnounce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawContentAnnounce"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/content_announce/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.disco.ContentAnnounce <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listGeoAnchor"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/geo_anchor/v1</code></h3><p class="sum">Every spatial.core.GeoAnchor instance in the latched set <span class="auth">open</span></p><p>**The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="commandGeoAnchor"><h3><span class="v post">POST</span> <code>/{scene}/{stream}/geo_anchor/v1</code></h3><p class="sum">An N.6 command addressed through the geo_anchor lane <span class="auth">token</span></p><p>Accepted only on a lane whose topic advertises <code>accepts_commands</code>; otherwise <code>405</code>. **Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch.</p><p class="codes"><span class="s s2">202</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">409</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span></p></section><section id="getGeoAnchor"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">One spatial.core.GeoAnchor instance <span class="auth">open</span></p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">404</span> <span class="s s4">429</span></p></section><section id="putGeoAnchor"><h3><span class="v put">PUT</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">Publish or replace a spatial.core.GeoAnchor <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). Every member of the record is required: a body is a whole record, never a patch. The body's key must equal the URL's. <code>If-Match</code> is honoured when present.</p><p class="codes"><span class="s s2">200</span> <span class="s s2">201</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">405</span> <span class="s s4">412</span> <span class="s s4">429</span> <span class="s s4">413</span> <span class="s s4">415</span> <span class="s s5">503</span></p></section><section id="withdrawGeoAnchor"><h3><span class="v delete">DELETE</span> <code>/{scene}/{stream}/geo_anchor/v1/{key}</code></h3><p class="sum">Withdraw (dispose) a spatial.core.GeoAnchor <span class="auth">token</span></p><p>**Writes are per lane.** The path's first segment is the scene; the bearer token must be granted it (<code>tenancy.WRITE_REFUSALS</code>). The dispose streams on the collection's WebSocket with its <code>reason</code>.</p><p class="codes"><span class="s s2">204</span> <span class="s s4">400</span> <span class="s s4">401</span> <span class="s s4">403</span> <span class="s s4">404</span> <span class="s s4">405</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listInstances"><h3><span class="v get">GET</span> <code>/{scene}/{stream}/{type}/{version}</code></h3><p class="sum">Any other served topic, read-only <span class="auth">token for operator-scoped</span></p><p>Latched types answer with the latched set; streamed types with the replayed window. Public or operator-scoped per the type: <code>spatial.core.FrameTransform</code> latched public, <code>spatial.events.CrossingLine</code> latched public, <code>spatial.events.SpatialEvent</code> stream bearer, <code>spatial.events.SpatialZone</code> latched public, <code>spatial.owm.Entity</code> latched bearer, <code>spatial.owm.ModelPose</code> stream bearer, <code>spatial.semantics.Detection2DSet</code> stream bearer, <code>spatial.semantics.Detection3DSet</code> stream bearer, <code>spatial.semantics.FusedTrackSet</code> stream bearer. **The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="listWellKnownInstances"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/{stream}/{type}/{version}</code></h3><p class="sum">A four-segment topic's collection <span class="auth">token for operator-scoped</span></p><p>A four-segment topic (<code>spatialdds/<stream>/<type>/<version></code>, no scene), such as the discovery announce lane, served exactly as a scene-scoped collection is: latched set, <code>ETag</code>, <code>304</code>, the same access classes, and the N.5 stream by upgrading the same path. Read-only: a topic with no scene is in no lane. **The same URL is also a WebSocket** (N.5): connect with <code>wss://</code> and receive the latched set as <code>sample</code> events, exactly one <code>end_of_replay</code> carrying the replay count, then live <code>sample</code> and <code>dispose</code> events (<code>{event, topic, key, data | reason}</code>). Not modelled here; see [Appendix N.5](https://spatialdds.org/v1.8/appendix-n/).</p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><section id="getWellKnownInstance"><h3><span class="v get">GET</span> <code>/.well-known/spatialdds/{stream}/{type}/{version}/{key}</code></h3><p class="sum">One instance of a four-segment topic <span class="auth">token for operator-scoped</span></p><p>A four-segment topic (<code>spatialdds/<stream>/<type>/<version></code>, no scene), such as the discovery announce lane, served exactly as a scene-scoped collection is: latched set, <code>ETag</code>, <code>304</code>, the same access classes, and the N.5 stream by upgrading the same path. Read-only: a topic with no scene is in no lane. </p><p class="codes"><span class="s s2">200</span> <span class="s s3">304</span> <span class="s s4">401</span> <span class="s s4">404</span> <span class="s s4">429</span> <span class="s s5">503</span></p></section><h2>Schemas</h2><p class=mut>115 components, from the published JSON Schemas at <code>/.well-known/spatialdds/schemas</code>.</p></main></body></html>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
openapi: 3.1.0
|
|
3
3
|
info:
|
|
4
4
|
title: SpatialDDS web binding (spatialdds-py)
|
|
5
|
-
version: 0.7.
|
|
5
|
+
version: 0.7.4
|
|
6
6
|
summary: SpatialDDS 1.8 Appendix N over HTTPS, plus this endpoint's write surface.
|
|
7
7
|
description: Generated by `tools/gen_openapi.py` from the gateway's own tables and the published JSON Schemas; never edited by hand. Reads are open; writes take a bearer token scoped to scenes. The WebSocket streams (N.5) are described on each collection path, not modelled.
|
|
8
8
|
servers:
|
|
@@ -216,6 +216,7 @@
|
|
|
216
216
|
"anchor_delta": {
|
|
217
217
|
"idl": "spatial::anchors::AnchorDelta",
|
|
218
218
|
"profile": "ANCHOR_DELTA",
|
|
219
|
+
"profile_template": null,
|
|
219
220
|
"provisional": false,
|
|
220
221
|
"spelled_qos": {},
|
|
221
222
|
"topic_template": null
|
|
@@ -223,6 +224,7 @@
|
|
|
223
224
|
"crossing_line": {
|
|
224
225
|
"idl": "spatial::events::CrossingLine",
|
|
225
226
|
"profile": "ZONE_META",
|
|
227
|
+
"profile_template": null,
|
|
226
228
|
"provisional": false,
|
|
227
229
|
"spelled_qos": {},
|
|
228
230
|
"topic_template": null
|
|
@@ -230,6 +232,7 @@
|
|
|
230
232
|
"desc_array": {
|
|
231
233
|
"idl": "spatial::slam_frontend::KeyframeFeatures",
|
|
232
234
|
"profile": "DESC_BATCH",
|
|
235
|
+
"profile_template": null,
|
|
233
236
|
"provisional": false,
|
|
234
237
|
"spelled_qos": {},
|
|
235
238
|
"topic_template": null
|
|
@@ -237,6 +240,7 @@
|
|
|
237
240
|
"detection2d": {
|
|
238
241
|
"idl": "spatial::semantics::Detection2DSet",
|
|
239
242
|
"profile": "DET_RT",
|
|
243
|
+
"profile_template": null,
|
|
240
244
|
"provisional": false,
|
|
241
245
|
"spelled_qos": {},
|
|
242
246
|
"topic_template": null
|
|
@@ -244,6 +248,7 @@
|
|
|
244
248
|
"detection3d": {
|
|
245
249
|
"idl": "spatial::semantics::Detection3DSet",
|
|
246
250
|
"profile": "DET_RT",
|
|
251
|
+
"profile_template": null,
|
|
247
252
|
"provisional": false,
|
|
248
253
|
"spelled_qos": {},
|
|
249
254
|
"topic_template": null
|
|
@@ -251,6 +256,10 @@
|
|
|
251
256
|
"entity_binding": {
|
|
252
257
|
"idl": "spatial::core::EntityBinding",
|
|
253
258
|
"profile": null,
|
|
259
|
+
"profile_template": {
|
|
260
|
+
"level": "SHOULD",
|
|
261
|
+
"topic": "spatialdds/<scene>/entity/binding/v1"
|
|
262
|
+
},
|
|
254
263
|
"provisional": false,
|
|
255
264
|
"spelled_qos": {},
|
|
256
265
|
"topic_template": null
|
|
@@ -258,6 +267,7 @@
|
|
|
258
267
|
"framed_pose": {
|
|
259
268
|
"idl": "spatial::core::FramedPose",
|
|
260
269
|
"profile": "POSE_RT",
|
|
270
|
+
"profile_template": null,
|
|
261
271
|
"provisional": false,
|
|
262
272
|
"spelled_qos": {},
|
|
263
273
|
"topic_template": null
|
|
@@ -265,6 +275,7 @@
|
|
|
265
275
|
"fused_track": {
|
|
266
276
|
"idl": "spatial::semantics::FusedTrackSet",
|
|
267
277
|
"profile": "DET_RT",
|
|
278
|
+
"profile_template": null,
|
|
268
279
|
"provisional": false,
|
|
269
280
|
"spelled_qos": {},
|
|
270
281
|
"topic_template": null
|
|
@@ -272,6 +283,7 @@
|
|
|
272
283
|
"geometry_tile": {
|
|
273
284
|
"idl": "spatial::core::TileMeta",
|
|
274
285
|
"profile": "GEOM_TILE",
|
|
286
|
+
"profile_template": null,
|
|
275
287
|
"provisional": false,
|
|
276
288
|
"spelled_qos": {},
|
|
277
289
|
"topic_template": null
|
|
@@ -279,6 +291,7 @@
|
|
|
279
291
|
"geopose": {
|
|
280
292
|
"idl": "spatial::core::GeoPose",
|
|
281
293
|
"profile": "POSE_RT",
|
|
294
|
+
"profile_template": null,
|
|
282
295
|
"provisional": false,
|
|
283
296
|
"spelled_qos": {},
|
|
284
297
|
"topic_template": null
|
|
@@ -286,6 +299,7 @@
|
|
|
286
299
|
"imu_sample": {
|
|
287
300
|
"idl": "spatial::vio::ImuSample",
|
|
288
301
|
"profile": "IMU_RT",
|
|
302
|
+
"profile_template": null,
|
|
289
303
|
"provisional": false,
|
|
290
304
|
"spelled_qos": {},
|
|
291
305
|
"topic_template": null
|
|
@@ -293,6 +307,7 @@
|
|
|
293
307
|
"lidar_frame": {
|
|
294
308
|
"idl": "spatial::sensing::lidar::LidarFrame",
|
|
295
309
|
"profile": "LIDAR_RT",
|
|
310
|
+
"profile_template": null,
|
|
296
311
|
"provisional": false,
|
|
297
312
|
"spelled_qos": {},
|
|
298
313
|
"topic_template": null
|
|
@@ -300,6 +315,7 @@
|
|
|
300
315
|
"lidar_meta": {
|
|
301
316
|
"idl": "spatial::sensing::lidar::LidarMeta",
|
|
302
317
|
"profile": "SENSOR_META",
|
|
318
|
+
"profile_template": null,
|
|
303
319
|
"provisional": false,
|
|
304
320
|
"spelled_qos": {},
|
|
305
321
|
"topic_template": null
|
|
@@ -307,6 +323,7 @@
|
|
|
307
323
|
"map_alignment": {
|
|
308
324
|
"idl": "spatial::mapping::MapAlignment",
|
|
309
325
|
"profile": "MAP_META",
|
|
326
|
+
"profile_template": null,
|
|
310
327
|
"provisional": false,
|
|
311
328
|
"spelled_qos": {},
|
|
312
329
|
"topic_template": null
|
|
@@ -314,6 +331,7 @@
|
|
|
314
331
|
"map_event": {
|
|
315
332
|
"idl": "spatial::mapping::MapEvent",
|
|
316
333
|
"profile": "MAP_META",
|
|
334
|
+
"profile_template": null,
|
|
317
335
|
"provisional": false,
|
|
318
336
|
"spelled_qos": {},
|
|
319
337
|
"topic_template": null
|
|
@@ -321,6 +339,7 @@
|
|
|
321
339
|
"map_meta": {
|
|
322
340
|
"idl": "spatial::mapping::MapMeta",
|
|
323
341
|
"profile": "MAP_META",
|
|
342
|
+
"profile_template": null,
|
|
324
343
|
"provisional": false,
|
|
325
344
|
"spelled_qos": {},
|
|
326
345
|
"topic_template": null
|
|
@@ -328,6 +347,7 @@
|
|
|
328
347
|
"model_command": {
|
|
329
348
|
"idl": "spatial::owm::ModelCommand",
|
|
330
349
|
"profile": null,
|
|
350
|
+
"profile_template": null,
|
|
331
351
|
"provisional": true,
|
|
332
352
|
"spelled_qos": {
|
|
333
353
|
"durability": "VOLATILE",
|
|
@@ -341,6 +361,7 @@
|
|
|
341
361
|
"model_entity": {
|
|
342
362
|
"idl": "spatial::owm::Entity",
|
|
343
363
|
"profile": null,
|
|
364
|
+
"profile_template": null,
|
|
344
365
|
"provisional": true,
|
|
345
366
|
"spelled_qos": {
|
|
346
367
|
"durability": "TRANSIENT_LOCAL",
|
|
@@ -355,6 +376,7 @@
|
|
|
355
376
|
"model_pose": {
|
|
356
377
|
"idl": "spatial::owm::ModelPose",
|
|
357
378
|
"profile": null,
|
|
379
|
+
"profile_template": null,
|
|
358
380
|
"provisional": true,
|
|
359
381
|
"spelled_qos": {
|
|
360
382
|
"durability": "VOLATILE",
|
|
@@ -368,6 +390,7 @@
|
|
|
368
390
|
"navsat_status": {
|
|
369
391
|
"idl": "spatial::core::NavSatStatus",
|
|
370
392
|
"profile": null,
|
|
393
|
+
"profile_template": null,
|
|
371
394
|
"provisional": false,
|
|
372
395
|
"spelled_qos": {},
|
|
373
396
|
"topic_template": null
|
|
@@ -375,6 +398,10 @@
|
|
|
375
398
|
"planned_trajectory": {
|
|
376
399
|
"idl": "spatial::core::PlannedTrajectory",
|
|
377
400
|
"profile": "EVENT_RT",
|
|
401
|
+
"profile_template": {
|
|
402
|
+
"level": "SHOULD",
|
|
403
|
+
"topic": "spatialdds/<scene>/plan/<agent_id>/trajectory/v1"
|
|
404
|
+
},
|
|
378
405
|
"provisional": false,
|
|
379
406
|
"spelled_qos": {},
|
|
380
407
|
"topic_template": null
|
|
@@ -382,6 +409,7 @@
|
|
|
382
409
|
"rad_sensor_meta": {
|
|
383
410
|
"idl": "spatial::sensing::rad::RadSensorMeta",
|
|
384
411
|
"profile": "SENSOR_META",
|
|
412
|
+
"profile_template": null,
|
|
385
413
|
"provisional": false,
|
|
386
414
|
"spelled_qos": {},
|
|
387
415
|
"topic_template": null
|
|
@@ -389,6 +417,7 @@
|
|
|
389
417
|
"radar_detection": {
|
|
390
418
|
"idl": "spatial::sensing::rad::RadDetectionSet",
|
|
391
419
|
"profile": "RADAR_RT",
|
|
420
|
+
"profile_template": null,
|
|
392
421
|
"provisional": false,
|
|
393
422
|
"spelled_qos": {},
|
|
394
423
|
"topic_template": null
|
|
@@ -396,6 +425,7 @@
|
|
|
396
425
|
"radar_tensor": {
|
|
397
426
|
"idl": "spatial::sensing::rad::RadTensorFrame",
|
|
398
427
|
"profile": "RADAR_RT",
|
|
428
|
+
"profile_template": null,
|
|
399
429
|
"provisional": false,
|
|
400
430
|
"spelled_qos": {},
|
|
401
431
|
"topic_template": null
|
|
@@ -403,6 +433,7 @@
|
|
|
403
433
|
"radar_tensor_meta": {
|
|
404
434
|
"idl": "spatial::sensing::rad::RadTensorMeta",
|
|
405
435
|
"profile": "SENSOR_META",
|
|
436
|
+
"profile_template": null,
|
|
406
437
|
"provisional": false,
|
|
407
438
|
"spelled_qos": {},
|
|
408
439
|
"topic_template": null
|
|
@@ -410,6 +441,7 @@
|
|
|
410
441
|
"radio_scan": {
|
|
411
442
|
"idl": "spatial::sensing::radio::RadioScan",
|
|
412
443
|
"profile": "RADIO_SCAN_RT",
|
|
444
|
+
"profile_template": null,
|
|
413
445
|
"provisional": true,
|
|
414
446
|
"spelled_qos": {},
|
|
415
447
|
"topic_template": null
|
|
@@ -417,6 +449,7 @@
|
|
|
417
449
|
"radio_sensor_meta": {
|
|
418
450
|
"idl": "spatial::sensing::radio::RadioSensorMeta",
|
|
419
451
|
"profile": "SENSOR_META",
|
|
452
|
+
"profile_template": null,
|
|
420
453
|
"provisional": true,
|
|
421
454
|
"spelled_qos": {},
|
|
422
455
|
"topic_template": null
|
|
@@ -424,6 +457,7 @@
|
|
|
424
457
|
"rf_beam": {
|
|
425
458
|
"idl": "spatial::sensing::rf_beam::RfBeamFrame",
|
|
426
459
|
"profile": "RF_BEAM_RT",
|
|
460
|
+
"profile_template": null,
|
|
427
461
|
"provisional": true,
|
|
428
462
|
"spelled_qos": {},
|
|
429
463
|
"topic_template": null
|
|
@@ -431,6 +465,7 @@
|
|
|
431
465
|
"rf_beam_meta": {
|
|
432
466
|
"idl": "spatial::sensing::rf_beam::RfBeamMeta",
|
|
433
467
|
"profile": "SENSOR_META",
|
|
468
|
+
"profile_template": null,
|
|
434
469
|
"provisional": true,
|
|
435
470
|
"spelled_qos": {},
|
|
436
471
|
"topic_template": null
|
|
@@ -438,6 +473,7 @@
|
|
|
438
473
|
"seg_mask": {
|
|
439
474
|
"idl": "spatial::sensing::vision::VisionFrame",
|
|
440
475
|
"profile": "SEG_MASK_RT",
|
|
476
|
+
"profile_template": null,
|
|
441
477
|
"provisional": false,
|
|
442
478
|
"spelled_qos": {},
|
|
443
479
|
"topic_template": null
|
|
@@ -445,6 +481,7 @@
|
|
|
445
481
|
"spatial_event": {
|
|
446
482
|
"idl": "spatial::events::SpatialEvent",
|
|
447
483
|
"profile": "EVENT_RT",
|
|
484
|
+
"profile_template": null,
|
|
448
485
|
"provisional": false,
|
|
449
486
|
"spelled_qos": {},
|
|
450
487
|
"topic_template": null
|
|
@@ -452,6 +489,7 @@
|
|
|
452
489
|
"spatial_zone": {
|
|
453
490
|
"idl": "spatial::events::SpatialZone",
|
|
454
491
|
"profile": "ZONE_META",
|
|
492
|
+
"profile_template": null,
|
|
455
493
|
"provisional": false,
|
|
456
494
|
"spelled_qos": {},
|
|
457
495
|
"topic_template": null
|
|
@@ -459,6 +497,7 @@
|
|
|
459
497
|
"video_frame": {
|
|
460
498
|
"idl": "spatial::sensing::vision::VisionFrame",
|
|
461
499
|
"profile": "VIDEO_LIVE",
|
|
500
|
+
"profile_template": null,
|
|
462
501
|
"provisional": false,
|
|
463
502
|
"spelled_qos": {},
|
|
464
503
|
"topic_template": null
|
|
@@ -466,6 +505,7 @@
|
|
|
466
505
|
"video_meta": {
|
|
467
506
|
"idl": "spatial::sensing::vision::VisionMeta",
|
|
468
507
|
"profile": "SENSOR_META",
|
|
508
|
+
"profile_template": null,
|
|
469
509
|
"provisional": false,
|
|
470
510
|
"spelled_qos": {},
|
|
471
511
|
"topic_template": null
|
|
@@ -473,6 +513,7 @@
|
|
|
473
513
|
"vps_query": {
|
|
474
514
|
"idl": "spatial::argeo::VpsRequest",
|
|
475
515
|
"profile": "VPS_REQ",
|
|
516
|
+
"profile_template": null,
|
|
476
517
|
"provisional": false,
|
|
477
518
|
"spelled_qos": {},
|
|
478
519
|
"topic_template": null
|
|
@@ -480,6 +521,7 @@
|
|
|
480
521
|
"vps_response": {
|
|
481
522
|
"idl": "spatial::argeo::VpsResponse",
|
|
482
523
|
"profile": "VPS_RESP",
|
|
524
|
+
"profile_template": null,
|
|
483
525
|
"provisional": false,
|
|
484
526
|
"spelled_qos": {},
|
|
485
527
|
"topic_template": null
|
|
@@ -487,6 +529,7 @@
|
|
|
487
529
|
"zone_state": {
|
|
488
530
|
"idl": "spatial::events::ZoneState",
|
|
489
531
|
"profile": "ZONE_META",
|
|
532
|
+
"profile_template": null,
|
|
490
533
|
"provisional": false,
|
|
491
534
|
"spelled_qos": {},
|
|
492
535
|
"topic_template": null
|