1     Definition 2     Functional Requirements 3     Syntax
4     Semantics 5    Conformance Testing 6     Performance Assessment

1    Definition

A Data Type including:

  1. Visual Data perceptible by a visual device or visible to a human when rendered.
  2. 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:

  1. The ID of a Virtual Space (M-Instance) where it is or is intended to be located.
  2. The ID of the Basic Object.
  3. The ID(s) of Objects at a preceding time (Parent Objects) supporting two cases:
    1. The Parent Object has spawned two (or more) Objects.
    2. Two (or more) Parent Objects have merged into one.
  4. The Space-Time information of Parent Objects in an M-Instance.
  5. The ID(s) of Objects at a following time (Child Objects).
  6. The Space-Time information of Child Objects in an M-Instance.
  7. The Space-Time information of the Basic Object in an M-Instance.
  8. The Qualifier of the specific Data Type.
  9. Additional Basic Visual Object information
    1. Mass
    2. Subject to Gravity or not.
  10. The set of Annotations including, for each Annotation:
    1. Space-Time information of the Annotation.
    2. Rights to perform Actions on the Annotation.
  11. 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:

  1. The Data validates against the Basic Object’s JSON Schema.
  2. All Data in the Basic Object’s JSON Schema
    1. Have the specified type
    2. Validate against their JSON Schemas
    3. Conform with their Data Qualifiers, if present.

6     Performance Assessment