1 Definition | 2 Functional Requirements | 3 Syntax |
4 Semantics | 5 Conformance Testing | 6 Performance Assessment |
1 Definition
A Data Type including:
- Visual Data perceptible by a visual device or visible to a human when rendered.
- Descriptive Data regarding Sub-Types, Formats and Attributes of the Visual Data (optionally).
In the following, Data, Qualifier, and Object should be read as Visual Data, Visual Qualifiers, and Visual Object, respectively.
2 Functional Requirements
A Basic Object may include:
- The ID of a Virtual Space (M-Instance) where it is or is intended to be located.
- The ID of the Basic Object.
- The ID(s) of Objects at a preceding time (Parent Objects) supporting two cases:
- The Parent Object has spawned two (or more) Objects.
- Two (or more) Parent Objects have merged into one.
- The Space-Time information of Parent Objects in an M-Instance.
- The ID(s) of Objects at a following time (Child Objects).
- The Space-Time information of Child Objects in an M-Instance.
- The Space-Time information of the Basic Object in an M-Instance.
- The Qualifier of the specific Data Type.
- Additional Basic Visual Object information
- Mass
- Subject to Gravity or not.
- The set of Annotations including, for each Annotation:
- Space-Time information of the Annotation.
- Rights to perform Actions on the Annotation.
- The Rights that can be exercised on the Basic Object.
3 Syntax
https://schemas.mpai.community/OSD/V1.4/data/BasicVisualObject.json
4 Semantics
Label | Size | Description |
Header | N1 Bytes | Visual Object Header |
– Standard-VisualObject | 9 Bytes | The characters “OSD-BVO-V” |
– Version | N2 Bytes | Major version – 1 or 2 characters |
– Dot-separator | 1 Byte | The character “.” |
– Subversion | N3 Bytes | Minor version – 1 or 2 characters |
MInstanceID | N4 Bytes | Identifier of M-Instance. |
VisualObjectID | N5 Bytes | Identifier of the Visual Object. |
ParentVisualObjects[] | N6 Bytes | Identifier(s) of Parent Visual Objects. |
– ParentVisualObjectID | N7 Bytes | Identifier of a Parent Visual Object. |
– ParentVisualDataSpaceTime | N8 Bytes | SpaceTime of a Parent Visual Object. |
ChildVisualObjects[] | N9 Bytes | Identifier(s) of Parent Visual Objects. |
– ChildVisualObjectID | N10 Bytes | Identifier of a Child Visual Object. |
– ChildVisualDataSpaceTime | N11 Bytes | SpaceTime of a Child Visual Object. |
BasicObjectSpace-Time | N12 Bytes | Space-Time info of Visual Data. |
VisualDataQualifier | N13 Bytes | Qualifier of Visual Data. |
BasicVisualObjectAttributes | N14 Bytes | Additional information on Object |
– Mass | N15 Bytes | Mass of the Object |
– Gravity | N16 Bytes | Value of Gravity |
BasicVisualObjectsAnnotations[] | N17 Bytes | Annotations of Visual Data |
– Annotation | N18 Bytes | ID of Annotation |
– AnnotationSpaceTime | N19 Bytes | Where/when Annotation is attached. |
– RightsID | N20 Bytes | What is possible to do with the Annotation |
BasicVisualObjectRights | N21 Bytes | Rights to Act on the Basic Visual Object. |
DescrMetadata | N22 Bytes | Descriptive Metadata |
5 Conformance Testing
A Data instance Conforms with Basic Object V1.3 if:
- The Data validates against the Basic Object’s JSON Schema.
- All Data in the Basic Object’s JSON Schema
- Have the specified type
- Validate against their JSON Schemas
- Conform with their Data Qualifiers, if present.