From 3de01793015f4d229c14b3afa0ec724b8d284741 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 22 Mar 2022 20:33:24 +0100 Subject: [PATCH 1/9] Marked legacy JSON schemas as 'deprecated' --- specification/schema/TileFormats/b3dm.featureTable.schema.json | 1 + specification/schema/TileFormats/batchTable.schema.json | 1 + specification/schema/TileFormats/featureTable.schema.json | 1 + specification/schema/TileFormats/i3dm.featureTable.schema.json | 1 + specification/schema/TileFormats/pnts.featureTable.schema.json | 1 + 5 files changed, 5 insertions(+) diff --git a/specification/schema/TileFormats/b3dm.featureTable.schema.json b/specification/schema/TileFormats/b3dm.featureTable.schema.json index 2bcd23494..f6c450c2a 100644 --- a/specification/schema/TileFormats/b3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/b3dm.featureTable.schema.json @@ -4,6 +4,7 @@ "title": "Batched 3D Model Feature Table", "type": "object", "description": "A set of Batched 3D Model semantics that contain additional information about features in a tile.", + "deprecated" : true, "allOf": [ { "$ref": "featureTable.schema.json" diff --git a/specification/schema/TileFormats/batchTable.schema.json b/specification/schema/TileFormats/batchTable.schema.json index d9c6cfc07..0e3958ba5 100644 --- a/specification/schema/TileFormats/batchTable.schema.json +++ b/specification/schema/TileFormats/batchTable.schema.json @@ -4,6 +4,7 @@ "title": "Batch Table", "type": "object", "description": "A set of properties defining application-specific metadata for features in a tile.", + "deprecated" : true, "allOf": [ { "$ref": "rootProperty.schema.json" diff --git a/specification/schema/TileFormats/featureTable.schema.json b/specification/schema/TileFormats/featureTable.schema.json index 86e47d0ba..4f47491ad 100644 --- a/specification/schema/TileFormats/featureTable.schema.json +++ b/specification/schema/TileFormats/featureTable.schema.json @@ -4,6 +4,7 @@ "title": "Feature Table", "type": "object", "description": "A set of semantics containing per-tile and per-feature values defining the position and appearance properties for features in a tile.", + "deprecated" : true, "allOf": [ { "$ref": "rootProperty.schema.json" diff --git a/specification/schema/TileFormats/i3dm.featureTable.schema.json b/specification/schema/TileFormats/i3dm.featureTable.schema.json index 550c2b621..31b0301d0 100644 --- a/specification/schema/TileFormats/i3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/i3dm.featureTable.schema.json @@ -4,6 +4,7 @@ "title": "Instanced 3D Model Feature Table", "type": "object", "description": "A set of Instanced 3D Model semantics that contains values defining the position and appearance properties for instanced models in a tile.", + "deprecated" : true, "allOf": [ { "$ref": "featureTable.schema.json" diff --git a/specification/schema/TileFormats/pnts.featureTable.schema.json b/specification/schema/TileFormats/pnts.featureTable.schema.json index f45b26e2b..43902e417 100644 --- a/specification/schema/TileFormats/pnts.featureTable.schema.json +++ b/specification/schema/TileFormats/pnts.featureTable.schema.json @@ -4,6 +4,7 @@ "title": "Point Cloud Feature Table", "type": "object", "description": "A set of Point Cloud semantics that contains values defining the position and appearance properties for points in a tile.", + "deprecated" : true, "allOf": [ { "$ref": "featureTable.schema.json" From 72fd2c3bb5e4df6c737c9e1029f80026a89f9abe Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 22 Mar 2022 21:13:08 +0100 Subject: [PATCH 2/9] Minor wording pass for JSON schema descriptions --- .../PropertyTable/propertyTable.property.schema.json | 2 +- specification/schema/Schema/class.property.schema.json | 4 ++-- specification/schema/Subtree/availability.schema.json | 2 +- specification/schema/common/rootProperty.schema.json | 1 + specification/schema/content.schema.json | 2 +- specification/schema/metadataEntity.schema.json | 2 +- specification/schema/templateUri.schema.json | 2 +- specification/schema/tile.schema.json | 8 ++++---- specification/schema/tileset.schema.json | 10 +++++----- 9 files changed, 17 insertions(+), 16 deletions(-) diff --git a/specification/schema/PropertyTable/propertyTable.property.schema.json b/specification/schema/PropertyTable/propertyTable.property.schema.json index 5ab9678c7..1b7319dfb 100644 --- a/specification/schema/PropertyTable/propertyTable.property.schema.json +++ b/specification/schema/PropertyTable/propertyTable.property.schema.json @@ -3,7 +3,7 @@ "$id": "propertyTable.property.schema.json", "title": "Property Table Property", "type": "object", - "description": "An array of binary property values.", + "description": "An array of binary property values. This represents one column of a property table, and contains one value of a certain property for each metadata entity.", "allOf": [ { "$ref": "rootProperty.schema.json" diff --git a/specification/schema/Schema/class.property.schema.json b/specification/schema/Schema/class.property.schema.json index b8cfa290a..6b9760896 100644 --- a/specification/schema/Schema/class.property.schema.json +++ b/specification/schema/Schema/class.property.schema.json @@ -3,7 +3,7 @@ "$id": "class.property.schema.json", "title": "Class Property", "type": "object", - "description": "A class property.", + "description": "A single property of a metadata class.", "allOf": [ { "$ref": "rootProperty.schema.json" @@ -108,7 +108,7 @@ "count": { "type": "integer", "minimum": 2, - "description": "The number of array elements. May only be defined when `array` is true." + "description": "The number of array elements. May only be defined when `array` is `true`." }, "normalized": { "type": "boolean", diff --git a/specification/schema/Subtree/availability.schema.json b/specification/schema/Subtree/availability.schema.json index f673c2e5d..5c403b4b0 100644 --- a/specification/schema/Subtree/availability.schema.json +++ b/specification/schema/Subtree/availability.schema.json @@ -11,7 +11,7 @@ ], "properties": { "bitstream": { - "description": "Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the [3D Metadata specification](../../specification/Metadata). If an element is available, its bit is 1, and if it is unavailable, its bit is 0.", + "description": "Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the 3D Metadata specification. If an element is available, its bit is 1, and if it is unavailable, its bit is 0.", "type": "integer", "minimum": 0 }, diff --git a/specification/schema/common/rootProperty.schema.json b/specification/schema/common/rootProperty.schema.json index ed21d5d86..17d4c7834 100644 --- a/specification/schema/common/rootProperty.schema.json +++ b/specification/schema/common/rootProperty.schema.json @@ -3,6 +3,7 @@ "$id": "rootProperty.schema.json", "title": "Root Property", "type": "object", + "description": "A basis for storing extensions and extras.", "properties": { "extensions": { "$ref": "extension.schema.json" diff --git a/specification/schema/content.schema.json b/specification/schema/content.schema.json index dde12f757..8701bc126 100644 --- a/specification/schema/content.schema.json +++ b/specification/schema/content.schema.json @@ -24,7 +24,7 @@ "$ref": "metadataEntity.schema.json" } ], - "description": "Content metadata." + "description": "Metadata that is associated with this content." }, "group": { "type": "integer", diff --git a/specification/schema/metadataEntity.schema.json b/specification/schema/metadataEntity.schema.json index f2bac1e57..138ec8025 100644 --- a/specification/schema/metadataEntity.schema.json +++ b/specification/schema/metadataEntity.schema.json @@ -12,7 +12,7 @@ "properties": { "class": { "type": "string", - "description": "The class that property values conform to. The value must be a class ID declared in the `classes` dictionary." + "description": "The class that property values conform to. The value must be a class ID declared in the `classes` dictionary of the metadata schema." }, "properties": { "type": "object", diff --git a/specification/schema/templateUri.schema.json b/specification/schema/templateUri.schema.json index c02cea6a5..85e894b52 100644 --- a/specification/schema/templateUri.schema.json +++ b/specification/schema/templateUri.schema.json @@ -3,5 +3,5 @@ "$id": "templateUri.schema.json", "title": "Template URI", "type": "string", - "description": "A URI with embedded expressions. Allowed expressions are `{level}`, `{x}` and `{y}`. `{level}` is substituted with the level of the node, `{x}` is substituted with the x index of the node within the level, and `{y}` is substituted with the y index of the node within the level. For subdivision scheme `OCTREE`, `{z}` may also be given, and it is substituted with the z index of the node within the level." + "description": "A URI with embedded expressions that describes the resource that is associated with an implicit tile in an implicit tileset. Allowed expressions are `{level}`, `{x}`, `{y}`, and `{z}`. `{level}` is substituted with the level of the node, `{x}` is substituted with the x index of the node within the level, and `{y}` is substituted with the y index of the node within the level. `{z}` may only be given when the subdivision scheme is `OCTREE`, and it is substituted with the z index of the node within the level." } \ No newline at end of file diff --git a/specification/schema/tile.schema.json b/specification/schema/tile.schema.json index 85a4e3253..ce6bb08cf 100644 --- a/specification/schema/tile.schema.json +++ b/specification/schema/tile.schema.json @@ -65,13 +65,13 @@ ] }, "content": { - "description": "Metadata about the tile's content and a link to the content. When this is omitted the tile is just used for culling.", + "description": "Metadata about the tile's content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then `contents` must be undefined.", "$ref": "content.schema.json", "deprecated": true }, "contents": { "type": "array", - "description": "An array of contents.", + "description": "An array of contents. When this is defined, then `content` must be undefined.", "items": { "$ref": "content.schema.json" }, @@ -83,7 +83,7 @@ "$ref": "metadataEntity.schema.json" } ], - "description": "Tile metadata." + "description": "A metadata entity that is associated with this tile." }, "implicitTiling": { "allOf": [ @@ -91,7 +91,7 @@ "$ref": "tile.implicitTiling.schema.json" } ], - "description": "Implicit tiling." + "description": "An object that describes the implicit subdivision of this tile." }, "children": { "type": "array", diff --git a/specification/schema/tileset.schema.json b/specification/schema/tileset.schema.json index f978ce5e2..aca4cb627 100644 --- a/specification/schema/tileset.schema.json +++ b/specification/schema/tileset.schema.json @@ -28,11 +28,11 @@ "$ref": "schema.schema.json" } ], - "description": "An object defining classes and enums." + "description": "An object defining the structure of metadata classes and enums. When this is defined, then `schemaUri` must be undefined." }, "schemaUri": { "type": "string", - "description": "The URI (or IRI) of the external schema file.", + "description": "The URI (or IRI) of the external schema file. When this is defined, then `schema` must be undefined.", "format": "iri-reference" }, "statistics": { @@ -41,11 +41,11 @@ "$ref": "statistics.schema.json" } ], - "description": "An object containing statistics about entities." + "description": "An object containing statistics about metadata entities." }, "groups": { "type": "array", - "description": "An array of groups.", + "description": "An array of groups that tile content may belong to. Each element of this array is a metadata entity that describes the group. The tile content `group` property is an index into this array.", "items": { "$ref": "group.schema.json" }, @@ -57,7 +57,7 @@ "$ref": "metadataEntity.schema.json" } ], - "description": "Tileset metadata." + "description": "A metadata entity that is associated with this tileset." }, "geometricError": { "type": "number", From d3b64913e1c22b82615135df22c6d6fa83c3bff2 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 22 Mar 2022 21:32:52 +0100 Subject: [PATCH 3/9] Replaced single-allOf with ref except for root properties --- .../statistics.class.property.schema.json | 42 ++-------- .../schema/Styling/style.schema.json | 6 +- .../TileFormats/i3dm.featureTable.schema.json | 84 ++++--------------- .../TileFormats/pnts.featureTable.schema.json | 84 ++++--------------- specification/schema/tile.schema.json | 12 +-- 5 files changed, 38 insertions(+), 190 deletions(-) diff --git a/specification/schema/Statistics/statistics.class.property.schema.json b/specification/schema/Statistics/statistics.class.property.schema.json index 14a304793..bac56e4ba 100644 --- a/specification/schema/Statistics/statistics.class.property.schema.json +++ b/specification/schema/Statistics/statistics.class.property.schema.json @@ -11,59 +11,31 @@ ], "properties": { "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The minimum property value occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The maximum property value occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "mean": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The arithmetic mean of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the mean of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "median": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The median of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the median of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "standardDeviation": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The standard deviation of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the standard deviation of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "variance": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The variance of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the variance of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "sum": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The sum of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the sum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "occurrences": { diff --git a/specification/schema/Styling/style.schema.json b/specification/schema/Styling/style.schema.json index 110d27c71..bdc22db64 100644 --- a/specification/schema/Styling/style.schema.json +++ b/specification/schema/Styling/style.schema.json @@ -42,11 +42,7 @@ "default": "color('#FFFFFF')" }, "meta": { - "allOf": [ - { - "$ref": "style.meta.schema.json" - } - ], + "$ref": "style.meta.schema.json", "description": "A `meta` object which determines the values of non-visual properties of the feature." }, "extensions": {}, diff --git a/specification/schema/TileFormats/i3dm.featureTable.schema.json b/specification/schema/TileFormats/i3dm.featureTable.schema.json index 31b0301d0..2e3a70e63 100644 --- a/specification/schema/TileFormats/i3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/i3dm.featureTable.schema.json @@ -13,115 +13,59 @@ "properties": { "POSITION": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "POSITION_QUANTIZED": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL_UP": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL_RIGHT": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL_UP_OCT32P": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL_RIGHT_OCT32P": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "SCALE": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "SCALE_NON_UNIFORM": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "BATCH_ID": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "INSTANCES_LENGTH": { "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" }, "RTC_CENTER": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "QUANTIZED_VOLUME_OFFSET": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "QUANTIZED_VOLUME_SCALE": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "EAST_NORTH_UP": { "description": "A `GlobalPropertyBoolean` object defining a boolean property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyBoolean" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyBoolean" }, "extensions": {}, "extras": {} diff --git a/specification/schema/TileFormats/pnts.featureTable.schema.json b/specification/schema/TileFormats/pnts.featureTable.schema.json index 43902e417..a408381ef 100644 --- a/specification/schema/TileFormats/pnts.featureTable.schema.json +++ b/specification/schema/TileFormats/pnts.featureTable.schema.json @@ -13,115 +13,59 @@ "properties": { "POSITION": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "POSITION_QUANTIZED": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "RGBA": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "RGB": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "RGB565": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "NORMAL_OCT16P": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "BATCH_ID": { "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - } - ] + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" }, "POINTS_LENGTH": { "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" }, "RTC_CENTER": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "QUANTIZED_VOLUME_OFFSET": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "QUANTIZED_VOLUME_SCALE": { "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" }, "CONSTANT_RGBA": { "description": "A `GlobalPropertyCartesian4` object defining a 4-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian4" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian4" }, "BATCH_LENGTH": { "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" }, "extensions": {}, "extras": {} diff --git a/specification/schema/tile.schema.json b/specification/schema/tile.schema.json index ce6bb08cf..4857f1e08 100644 --- a/specification/schema/tile.schema.json +++ b/specification/schema/tile.schema.json @@ -78,19 +78,11 @@ "minItems": 1 }, "metadata": { - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], + "$ref": "metadataEntity.schema.json", "description": "A metadata entity that is associated with this tile." }, "implicitTiling": { - "allOf": [ - { - "$ref": "tile.implicitTiling.schema.json" - } - ], + "$ref": "tile.implicitTiling.schema.json", "description": "An object that describes the implicit subdivision of this tile." }, "children": { From 090e50a1b0b57f93d3d5e24b617bcb813c514d9b Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Sat, 26 Mar 2022 14:52:25 +0100 Subject: [PATCH 4/9] Removed deprecation for tile content --- specification/schema/tile.schema.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/schema/tile.schema.json b/specification/schema/tile.schema.json index 4857f1e08..f625c5f44 100644 --- a/specification/schema/tile.schema.json +++ b/specification/schema/tile.schema.json @@ -66,8 +66,7 @@ }, "content": { "description": "Metadata about the tile's content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then `contents` must be undefined.", - "$ref": "content.schema.json", - "deprecated": true + "$ref": "content.schema.json" }, "contents": { "type": "array", From d7707c7e315abc78eb231d67fd4fe0fcaa3e7576 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Sat, 26 Mar 2022 14:53:36 +0100 Subject: [PATCH 5/9] Formatting for deprecated property --- specification/schema/TileFormats/b3dm.featureTable.schema.json | 2 +- specification/schema/TileFormats/batchTable.schema.json | 2 +- specification/schema/TileFormats/featureTable.schema.json | 2 +- specification/schema/TileFormats/i3dm.featureTable.schema.json | 2 +- specification/schema/TileFormats/pnts.featureTable.schema.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/specification/schema/TileFormats/b3dm.featureTable.schema.json b/specification/schema/TileFormats/b3dm.featureTable.schema.json index f6c450c2a..99abd0722 100644 --- a/specification/schema/TileFormats/b3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/b3dm.featureTable.schema.json @@ -4,7 +4,7 @@ "title": "Batched 3D Model Feature Table", "type": "object", "description": "A set of Batched 3D Model semantics that contain additional information about features in a tile.", - "deprecated" : true, + "deprecated": true, "allOf": [ { "$ref": "featureTable.schema.json" diff --git a/specification/schema/TileFormats/batchTable.schema.json b/specification/schema/TileFormats/batchTable.schema.json index 0e3958ba5..53572d318 100644 --- a/specification/schema/TileFormats/batchTable.schema.json +++ b/specification/schema/TileFormats/batchTable.schema.json @@ -4,7 +4,7 @@ "title": "Batch Table", "type": "object", "description": "A set of properties defining application-specific metadata for features in a tile.", - "deprecated" : true, + "deprecated": true, "allOf": [ { "$ref": "rootProperty.schema.json" diff --git a/specification/schema/TileFormats/featureTable.schema.json b/specification/schema/TileFormats/featureTable.schema.json index 4f47491ad..aee83e214 100644 --- a/specification/schema/TileFormats/featureTable.schema.json +++ b/specification/schema/TileFormats/featureTable.schema.json @@ -4,7 +4,7 @@ "title": "Feature Table", "type": "object", "description": "A set of semantics containing per-tile and per-feature values defining the position and appearance properties for features in a tile.", - "deprecated" : true, + "deprecated": true, "allOf": [ { "$ref": "rootProperty.schema.json" diff --git a/specification/schema/TileFormats/i3dm.featureTable.schema.json b/specification/schema/TileFormats/i3dm.featureTable.schema.json index 2e3a70e63..48e4dbd57 100644 --- a/specification/schema/TileFormats/i3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/i3dm.featureTable.schema.json @@ -4,7 +4,7 @@ "title": "Instanced 3D Model Feature Table", "type": "object", "description": "A set of Instanced 3D Model semantics that contains values defining the position and appearance properties for instanced models in a tile.", - "deprecated" : true, + "deprecated": true, "allOf": [ { "$ref": "featureTable.schema.json" diff --git a/specification/schema/TileFormats/pnts.featureTable.schema.json b/specification/schema/TileFormats/pnts.featureTable.schema.json index a408381ef..baf0a5994 100644 --- a/specification/schema/TileFormats/pnts.featureTable.schema.json +++ b/specification/schema/TileFormats/pnts.featureTable.schema.json @@ -4,7 +4,7 @@ "title": "Point Cloud Feature Table", "type": "object", "description": "A set of Point Cloud semantics that contains values defining the position and appearance properties for points in a tile.", - "deprecated" : true, + "deprecated": true, "allOf": [ { "$ref": "featureTable.schema.json" From 1c1cad475e54a4c54e27d9423c176671d0a29e34 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Sat, 26 Mar 2022 15:09:41 +0100 Subject: [PATCH 6/9] Replaced single-element allOf with ref --- .../3DTILES_batch_table_hierarchy.schema.json | 28 ++--------- ...ume.3DTILES_bounding_volume_S2.schema.json | 7 +-- .../tileset.3DTILES_content_gltf.schema.json | 7 +-- ...o_point_compression.batchTable.schema.json | 7 +-- ...point_compression.featureTable.schema.json | 7 +-- .../schema/subtree/availability.schema.json | 7 +-- .../schema/subtree/buffer.schema.json | 7 +-- .../schema/subtree/bufferView.schema.json | 7 +-- .../propertyTable.property.schema.json | 31 ++---------- .../schema/subtree/propertyTable.schema.json | 7 +-- .../schema/subtree/subtree.schema.json | 25 ++-------- .../subtree/subtreeMetadata.schema.json | 7 +-- .../schema/subtrees.schema.json | 13 +---- .../tile.3DTILES_implicit_tiling.schema.json | 13 +---- .../schema/class.property.schema.json | 43 +++------------- .../3DTILES_metadata/schema/class.schema.json | 7 +-- .../content.3DTILES_metadata.schema.json | 7 +-- .../3DTILES_metadata/schema/enum.schema.json | 7 +-- .../schema/enum.value.schema.json | 7 +-- .../3DTILES_metadata/schema/group.schema.json | 7 +-- .../schema/metadataEntity.schema.json | 7 +-- .../schema/schema.schema.json | 7 +-- .../statistics.class.property.schema.json | 49 +++---------------- .../schema/statistics.class.schema.json | 7 +-- .../schema/statistics.schema.json | 7 +-- .../schema/tile.3DTILES_metadata.schema.json | 7 +-- .../tileset.3DTILES_metadata.schema.json | 25 ++-------- .../schema/tileset.schema.json | 7 +-- ...tile.3DTILES_multiple_contents.schema.json | 7 +-- .../propertyTable.property.schema.json | 31 ++---------- .../PropertyTable/propertyTable.schema.json | 7 +-- .../schema/Schema/class.property.schema.json | 43 +++------------- specification/schema/Schema/class.schema.json | 7 +-- specification/schema/Schema/enum.schema.json | 7 +-- .../schema/Schema/enum.value.schema.json | 7 +-- .../schema/Schema/schema.schema.json | 7 +-- .../statistics.class.property.schema.json | 7 +-- .../Statistics/statistics.class.schema.json | 7 +-- .../schema/Statistics/statistics.schema.json | 7 +-- .../Styling/style.conditions.schema.json | 7 +-- .../schema/Styling/style.meta.schema.json | 7 +-- .../schema/Styling/style.schema.json | 7 +-- .../schema/Subtree/availability.schema.json | 7 +-- .../schema/Subtree/buffer.schema.json | 7 +-- .../schema/Subtree/bufferView.schema.json | 7 +-- .../schema/Subtree/subtree.schema.json | 25 ++-------- .../TileFormats/b3dm.featureTable.schema.json | 16 ++---- .../schema/TileFormats/batchTable.schema.json | 14 +----- .../TileFormats/featureTable.schema.json | 28 ++--------- specification/schema/asset.schema.json | 7 +-- .../schema/boundingVolume.schema.json | 7 +-- specification/schema/content.schema.json | 13 +---- specification/schema/group.schema.json | 7 +-- .../schema/metadataEntity.schema.json | 7 +-- specification/schema/properties.schema.json | 7 +-- specification/schema/subtrees.schema.json | 13 +---- .../schema/tile.implicitTiling.schema.json | 13 +---- specification/schema/tile.schema.json | 7 +-- specification/schema/tileset.schema.json | 25 ++-------- 59 files changed, 113 insertions(+), 622 deletions(-) diff --git a/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json b/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json index a5c8736c0..3891f2148 100644 --- a/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json +++ b/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json @@ -2,23 +2,13 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "3DTILES_batch_table_hierarchy.schema.json", "title": "3DTILES_batch_table_hierarchy extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "3D Tiles extension for representing metadata hierarchies.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "classes": { "type": "array", "items": { - "type": "object", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "name": { "type": "string" @@ -61,12 +51,7 @@ }, "definitions": { "binaryBodyReference": { - "type": "object", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "byteOffset": { "type": "integer", @@ -149,12 +134,7 @@ } }, "integerBinaryBodyReference": { - "type": "object", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "byteOffset": { "type": "integer", diff --git a/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json b/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json index 8e531ad08..6025c0094 100644 --- a/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json +++ b/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "boundingVolume.3DTILES_bounding_volume_S2.schema.json", "title": "3DTILES_bounding_volume_S2 extension", - "type": "object", "description": "3D Tiles extension for S2 bounding volumes.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "token": { "type": "string", diff --git a/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json b/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json index 2a101554a..ff0260188 100644 --- a/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json +++ b/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tileset.3DTILES_content_gltf.schema.json", "title": "3DTILES_content_gltf extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "3D Tiles extension that allows a tileset to use glTF models directly as tile content.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "extensionsUsed": { "type": "array", diff --git a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json index e2518ed5c..b96099ae0 100644 --- a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json +++ b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "3DTILES_draco_point_compression.batchTable.schema.json", "title": "3DTILES_draco_point_compression Batch Table extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Specifies the compressed Batch Table properties.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "properties": { "type": "object", diff --git a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json index 491492298..f4585d08f 100644 --- a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json +++ b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "3DTILES_draco_point_compression.featureTable.schema.json", "title": "3DTILES_draco_point_compression Feature Table extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Specifies the compressed Feature Table properties and the location of the compressed data in the Feature Table binary.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "properties": { "type": "object", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json index fd9d0d7f7..cfa583385 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "availability.schema.json", "title": "Availability", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "An object describing the availability of a set of elements.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "bitstream": { "description": "Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the [3D Metadata specification](../../specification/Metadata). If an element is available, its bit is 1, and if it is unavailable, its bit is 0.", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json index e050d337f..88c0ab6c9 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "buffer.schema.json", "title": "Buffer", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "uri": { "type": "string", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json index 2bdc7ab62..9b9e512c3 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "bufferView.schema.json", "title": "Buffer View", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "A contiguous subset of a buffer", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "buffer": { "type": "integer", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json index 89b28dde2..e4cd7d325 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "propertyTable.property.schema.json", "title": "Property Table Property", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "An array of binary property values.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "values": { "type": "integer", @@ -68,35 +63,19 @@ ] }, "offset": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "An offset to apply to property values. Only applicable when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`. Overrides the class property's `offset` if both are defined." }, "scale": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "A scale to apply to property values. Only applicable when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`. Overrides the class property's `scale` if both are defined." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Maximum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "extensions": {}, diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json index 0762ab8a2..d48ba1b04 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "propertyTable.schema.json", "title": "Property Table", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "Properties conforming to a class, organized as property values stored in binary columnar arrays.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json index 6b71732f2..79883c83d 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "subtree.schema.json", "title": "Subtree", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "An object describing the availability of tiles and content in a subtree, as well as availability of children subtrees. May also store metadata for available tiles and content.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "buffers": { "type": "array", @@ -35,11 +30,7 @@ "description": "An array of property tables." }, "tileAvailability": { - "allOf": [ - { - "$ref": "availability.schema.json" - } - ], + "$ref": "availability.schema.json", "description": "The availability of tiles in the subtree. The availability bitstream is a 1D boolean array where tiles are ordered by their level in the subtree and Morton index within that level. A tile's availability is determined by a single bit, 1 meaning a tile exists at that spatial index, and 0 meaning it does not. The number of elements in the array is `(N^subtreeLevels - 1)/(N - 1)` where N is 4 for subdivision scheme `QUADTREE` and 8 for `OCTREE`. Availability may be stored in a buffer view or as a constant value that applies to all tiles. If a non-root tile's availability is 1 its parent tile's availability must also be 1. `tileAvailability.constant: 0` is disallowed, as subtrees must have at least one tile." }, "contentAvailability": { @@ -51,11 +42,7 @@ "description": "An array of content availability objects. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements." }, "childSubtreeAvailability": { - "allOf": [ - { - "$ref": "availability.schema.json" - } - ], + "$ref": "availability.schema.json", "description": "The availability of children subtrees. The availability bitstream is a 1D boolean array where subtrees are ordered by their Morton index in the level of the tree immediately below the bottom row of the subtree. A child subtree's availability is determined by a single bit, 1 meaning a subtree exists at that spatial index, and 0 meaning it does not. The number of elements in the array is `N^subtreeLevels` where N is 4 for subdivision scheme `QUADTREE` and 8 for `OCTREE`. Availability may be stored in a buffer view or as a constant value that applies to all child subtrees. If availability is 0 for all child subtrees, then the tileset does not subdivide further." }, "tileMetadata": { @@ -73,11 +60,7 @@ "description": "An array of indexes to property tables containing content metadata. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by EXT_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements. Content metadata only exists for available contents and is tightly packed by increasing tile index. To access individual content metadata, implementations may create a mapping from tile indices to content metadata indices." }, "subtreeMetadata": { - "allOf": [ - { - "$ref": "subtreeMetadata.schema.json" - } - ], + "$ref": "subtreeMetadata.schema.json", "description": "Subtree metadata encoded in JSON." }, "extensions": {}, diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json index 6e5c2951b..8d774940f 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "subtreeMetadata.schema.json", "title": "Subtree Metadata", - "type": "object", + "$ref": "subtreeProperty.schema.json", "description": "An object containing a reference to a class from a metadata schema, and property values that conform to the properties of that class.", - "allOf": [ - { - "$ref": "subtreeProperty.schema.json" - } - ], "properties": { "class": { "type": "string", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json index 26a210ae1..d59993b04 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json @@ -2,20 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "subtrees.schema.json", "title": "Subtrees", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object describing the location of subtree files.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "uri": { - "allOf": [ - { - "$ref": "templateUri.schema.json" - } - ], + "$ref": "templateUri.schema.json", "description": "A template URI pointing to subtree files. A subtree is a fixed-depth (defined by `subtreeLevels`) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root's global level, x, and y. For subdivision scheme `OCTREE`, z must also be given. Relative paths are relative to the tileset JSON." }, "extensions": {}, diff --git a/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json b/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json index e512de142..854d737eb 100644 --- a/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tile.3DTILES_implicit_tiling.schema.json", "title": "3DTILES_implicit_tiling tile extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "This extension allows a tile to be implicitly subdivided. Tile and content availability and metadata is stored in subtrees which are referenced externally.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "subdivisionScheme": { "description": "A string describing the subdivision scheme used within the tileset.", @@ -35,11 +30,7 @@ "minimum": 1 }, "subtrees": { - "allOf": [ - { - "$ref": "subtrees.schema.json" - } - ], + "$ref": "subtrees.schema.json", "description": "An object describing the location of subtree files." }, "extensions": {}, diff --git a/extensions/3DTILES_metadata/schema/class.property.schema.json b/extensions/3DTILES_metadata/schema/class.property.schema.json index b8cfa290a..a765d3826 100644 --- a/extensions/3DTILES_metadata/schema/class.property.schema.json +++ b/extensions/3DTILES_metadata/schema/class.property.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "class.property.schema.json", "title": "Class Property", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A class property.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", @@ -116,35 +111,19 @@ "default": false }, "offset": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "An offset to apply to property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`." }, "scale": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "A scale to apply to property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Maximum allowed value for the property. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum allowed value for the property. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "required": { @@ -153,19 +132,11 @@ "default": false }, "noData": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/noDataValue" - } - ], + "$ref": "definitions.schema.json#/definitions/noDataValue", "description": "A `noData` value represents missing data — also known as a sentinel value — wherever it appears. `BOOLEAN` properties may not specify `noData` values. This is given as the plain property value, without the transforms from the `normalized`, `offset`, and `scale` properties. Must not be defined if `required` is true." }, "default": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/anyValue" - } - ], + "$ref": "definitions.schema.json#/definitions/anyValue", "description": "A default value to use when encountering a `noData` value or an omitted property. The value is given in its final form, taking the effect of `normalized`, `offset`, and `scale` properties into account. Must not be defined if `required` is true." }, "semantic": { diff --git a/extensions/3DTILES_metadata/schema/class.schema.json b/extensions/3DTILES_metadata/schema/class.schema.json index c3d3366bc..460d19018 100644 --- a/extensions/3DTILES_metadata/schema/class.schema.json +++ b/extensions/3DTILES_metadata/schema/class.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "class.schema.json", "title": "Class", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A class containing a set of properties.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json index db28d81e2..81585d555 100644 --- a/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "content.3DTILES_metadata.schema.json", "title": "3DTILES_metadata tile content extension", - "type": "object", + "$ref": "metadataEntity.schema.json", "description": "An object containing metadata about content. This extension must not be added to contents of tiles using the `3DTILES_implicit_tiling` extension since content metadata is provided separately in the subtrees.", - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], "properties": { "group": { "type": "integer", diff --git a/extensions/3DTILES_metadata/schema/enum.schema.json b/extensions/3DTILES_metadata/schema/enum.schema.json index fc362b2c3..052e23cbd 100644 --- a/extensions/3DTILES_metadata/schema/enum.schema.json +++ b/extensions/3DTILES_metadata/schema/enum.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "enum.schema.json", "title": "Enum", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining the values of an enum.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/enum.value.schema.json b/extensions/3DTILES_metadata/schema/enum.value.schema.json index a4ac66109..aa86c9542 100644 --- a/extensions/3DTILES_metadata/schema/enum.value.schema.json +++ b/extensions/3DTILES_metadata/schema/enum.value.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "enum.value.schema.json", "title": "Enum value", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An enum value.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/group.schema.json b/extensions/3DTILES_metadata/schema/group.schema.json index fede9464b..ac8bbf47b 100644 --- a/extensions/3DTILES_metadata/schema/group.schema.json +++ b/extensions/3DTILES_metadata/schema/group.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "group.schema.json", "title": "Group Metadata", - "type": "object", + "$ref": "metadataEntity.schema.json", "description": "An object containing metadata about a group.", - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], "properties": { "id": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/metadataEntity.schema.json b/extensions/3DTILES_metadata/schema/metadataEntity.schema.json index f2bac1e57..25d3c93f4 100644 --- a/extensions/3DTILES_metadata/schema/metadataEntity.schema.json +++ b/extensions/3DTILES_metadata/schema/metadataEntity.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "metadataEntity.schema.json", "title": "Metadata Entity", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object containing a reference to a class from a metadata schema, and property values that conform to the properties of that class.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "class": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/schema.schema.json b/extensions/3DTILES_metadata/schema/schema.schema.json index 65a697bed..2143e8087 100644 --- a/extensions/3DTILES_metadata/schema/schema.schema.json +++ b/extensions/3DTILES_metadata/schema/schema.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "schema.schema.json", "title": "Schema", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining classes and enums.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "id": { "type": "string", diff --git a/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json b/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json index 14a304793..cdb93e075 100644 --- a/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json @@ -2,68 +2,35 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.class.property.schema.json", "title": "Property Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about property values.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The minimum property value occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The maximum property value occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "mean": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The arithmetic mean of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the mean of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "median": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The median of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the median of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "standardDeviation": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The standard deviation of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the standard deviation of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "variance": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The variance of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the variance of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "sum": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "The sum of property values occurring in the tileset. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the sum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "occurrences": { diff --git a/extensions/3DTILES_metadata/schema/statistics.class.schema.json b/extensions/3DTILES_metadata/schema/statistics.class.schema.json index 55223a366..4915f87cc 100644 --- a/extensions/3DTILES_metadata/schema/statistics.class.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.class.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.class.schema.json", "title": "Class Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about entities that conform to a class.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "count": { "type": "integer", diff --git a/extensions/3DTILES_metadata/schema/statistics.schema.json b/extensions/3DTILES_metadata/schema/statistics.schema.json index d10d5d09e..f61f7e139 100644 --- a/extensions/3DTILES_metadata/schema/statistics.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.schema.json", "title": "Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about entities.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "classes": { "type": "object", diff --git a/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json index 94bc621ec..a078b6336 100644 --- a/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tile.3DTILES_metadata.schema.json", "title": "3DTILES_metadata tile extension", - "type": "object", + "$ref": "metadataEntity.schema.json", "description": "An object containing metadata about a tile. This extension must not be added to tiles using the `3DTILES_implicit_tiling` extension since tile metadata is provided separately in the subtrees.", - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], "properties": { "class": {}, "properties": {}, diff --git a/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json index c93fc18e8..800c139c6 100644 --- a/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json @@ -2,20 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tileset.3DTILES_metadata.schema.json", "title": "3DTILES_metadata 3D Tiles extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "3D Tiles extension that defines metadata for a tileset.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "schema": { - "allOf": [ - { - "$ref": "schema.schema.json" - } - ], + "$ref": "schema.schema.json", "description": "An object defining classes and enums." }, "schemaUri": { @@ -24,11 +15,7 @@ "format": "iri-reference" }, "statistics": { - "allOf": [ - { - "$ref": "statistics.schema.json" - } - ], + "$ref": "statistics.schema.json", "description": "An object containing statistics about entities." }, "groups": { @@ -40,11 +27,7 @@ "minItems": 1 }, "tileset": { - "allOf": [ - { - "$ref": "tileset.schema.json" - } - ], + "$ref": "tileset.schema.json", "description": "An object containing metadata about the tileset." }, "extensions": {}, diff --git a/extensions/3DTILES_metadata/schema/tileset.schema.json b/extensions/3DTILES_metadata/schema/tileset.schema.json index e6a1a93d3..306fd4b35 100644 --- a/extensions/3DTILES_metadata/schema/tileset.schema.json +++ b/extensions/3DTILES_metadata/schema/tileset.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tilesetMetadata.schema.json", "title": "Tileset Metadata", - "type": "object", + "$ref": "metadataEntity.schema.json", "description": "An object containing metadata about the tileset.", - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], "properties": { "class": {}, "properties": {}, diff --git a/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json b/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json index 3a55f2d42..87a348944 100644 --- a/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json +++ b/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tile.3DTILES_multiple_contents.schema.json", "title": "3DTILES_multiple_contents tile extension", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Extends a tile to have multiple contents. When this extension is used the tile's `content` property must be omitted.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "contents": { "type": "array", diff --git a/specification/schema/PropertyTable/propertyTable.property.schema.json b/specification/schema/PropertyTable/propertyTable.property.schema.json index 1b7319dfb..85e33ae98 100644 --- a/specification/schema/PropertyTable/propertyTable.property.schema.json +++ b/specification/schema/PropertyTable/propertyTable.property.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "propertyTable.property.schema.json", "title": "Property Table Property", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An array of binary property values. This represents one column of a property table, and contains one value of a certain property for each metadata entity.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "values": { "type": "integer", @@ -68,35 +63,19 @@ ] }, "offset": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "An offset to apply to property values. Only applicable when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`. Overrides the class property's `offset` if both are defined." }, "scale": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "A scale to apply to property values. Only applicable when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`. Overrides the class property's `scale` if both are defined." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Maximum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "extensions": {}, diff --git a/specification/schema/PropertyTable/propertyTable.schema.json b/specification/schema/PropertyTable/propertyTable.schema.json index 8da843a2a..f46029b4d 100644 --- a/specification/schema/PropertyTable/propertyTable.schema.json +++ b/specification/schema/PropertyTable/propertyTable.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "propertyTable.schema.json", "title": "Property Table", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Properties conforming to a class, organized as property values stored in binary columnar arrays.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/specification/schema/Schema/class.property.schema.json b/specification/schema/Schema/class.property.schema.json index 6b9760896..1ac51dbd3 100644 --- a/specification/schema/Schema/class.property.schema.json +++ b/specification/schema/Schema/class.property.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "class.property.schema.json", "title": "Class Property", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A single property of a metadata class.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", @@ -116,35 +111,19 @@ "default": false }, "offset": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "An offset to apply to property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`." }, "scale": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "A scale to apply to property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types when the component type is `FLOAT32` or `FLOAT64`, or when the property is `normalized`." }, "max": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Maximum allowed value for the property. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the maximum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "min": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/numericValue" - } - ], + "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum allowed value for the property. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." }, "required": { @@ -153,19 +132,11 @@ "default": false }, "noData": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/noDataValue" - } - ], + "$ref": "definitions.schema.json#/definitions/noDataValue", "description": "A `noData` value represents missing data — also known as a sentinel value — wherever it appears. `BOOLEAN` properties may not specify `noData` values. This is given as the plain property value, without the transforms from the `normalized`, `offset`, and `scale` properties. Must not be defined if `required` is true." }, "default": { - "allOf": [ - { - "$ref": "definitions.schema.json#/definitions/anyValue" - } - ], + "$ref": "definitions.schema.json#/definitions/anyValue", "description": "A default value to use when encountering a `noData` value or an omitted property. The value is given in its final form, taking the effect of `normalized`, `offset`, and `scale` properties into account. Must not be defined if `required` is true." }, "semantic": { diff --git a/specification/schema/Schema/class.schema.json b/specification/schema/Schema/class.schema.json index c3d3366bc..460d19018 100644 --- a/specification/schema/Schema/class.schema.json +++ b/specification/schema/Schema/class.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "class.schema.json", "title": "Class", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A class containing a set of properties.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/specification/schema/Schema/enum.schema.json b/specification/schema/Schema/enum.schema.json index fc362b2c3..052e23cbd 100644 --- a/specification/schema/Schema/enum.schema.json +++ b/specification/schema/Schema/enum.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "enum.schema.json", "title": "Enum", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining the values of an enum.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/specification/schema/Schema/enum.value.schema.json b/specification/schema/Schema/enum.value.schema.json index a4ac66109..aa86c9542 100644 --- a/specification/schema/Schema/enum.value.schema.json +++ b/specification/schema/Schema/enum.value.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "enum.value.schema.json", "title": "Enum value", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An enum value.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "name": { "type": "string", diff --git a/specification/schema/Schema/schema.schema.json b/specification/schema/Schema/schema.schema.json index 65a697bed..2143e8087 100644 --- a/specification/schema/Schema/schema.schema.json +++ b/specification/schema/Schema/schema.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "schema.schema.json", "title": "Schema", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining classes and enums.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "id": { "type": "string", diff --git a/specification/schema/Statistics/statistics.class.property.schema.json b/specification/schema/Statistics/statistics.class.property.schema.json index bac56e4ba..cdb93e075 100644 --- a/specification/schema/Statistics/statistics.class.property.schema.json +++ b/specification/schema/Statistics/statistics.class.property.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.class.property.schema.json", "title": "Property Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about property values.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "min": { "$ref": "definitions.schema.json#/definitions/numericValue", diff --git a/specification/schema/Statistics/statistics.class.schema.json b/specification/schema/Statistics/statistics.class.schema.json index 55223a366..4915f87cc 100644 --- a/specification/schema/Statistics/statistics.class.schema.json +++ b/specification/schema/Statistics/statistics.class.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.class.schema.json", "title": "Class Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about entities that conform to a class.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "count": { "type": "integer", diff --git a/specification/schema/Statistics/statistics.schema.json b/specification/schema/Statistics/statistics.schema.json index d10d5d09e..f61f7e139 100644 --- a/specification/schema/Statistics/statistics.schema.json +++ b/specification/schema/Statistics/statistics.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "statistics.schema.json", "title": "Statistics", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Statistics about entities.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "classes": { "type": "object", diff --git a/specification/schema/Styling/style.conditions.schema.json b/specification/schema/Styling/style.conditions.schema.json index 579f28f12..1bf740342 100644 --- a/specification/schema/Styling/style.conditions.schema.json +++ b/specification/schema/Styling/style.conditions.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "style.conditions.schema.json", "title": "Conditions", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A series of conditions evaluated in order, like a series of if...else statements that result in an expression being evaluated.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "conditions": { "type": "array", diff --git a/specification/schema/Styling/style.meta.schema.json b/specification/schema/Styling/style.meta.schema.json index d44ed3485..32ecd31f8 100644 --- a/specification/schema/Styling/style.meta.schema.json +++ b/specification/schema/Styling/style.meta.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "style.meta.schema.json", "title": "Meta", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A series of property names and the `expression` to evaluate for the value of that property.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "additionalProperties": { "$ref": "style.expression.schema.json" } diff --git a/specification/schema/Styling/style.schema.json b/specification/schema/Styling/style.schema.json index bdc22db64..533ddef53 100644 --- a/specification/schema/Styling/style.schema.json +++ b/specification/schema/Styling/style.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "style.schema.json", "title": "Style", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A 3D Tiles style.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "defines": { "type": "object", diff --git a/specification/schema/Subtree/availability.schema.json b/specification/schema/Subtree/availability.schema.json index 5c403b4b0..b2a4f6e08 100644 --- a/specification/schema/Subtree/availability.schema.json +++ b/specification/schema/Subtree/availability.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "availability.schema.json", "title": "Availability", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object describing the availability of a set of elements.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "bitstream": { "description": "Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the 3D Metadata specification. If an element is available, its bit is 1, and if it is unavailable, its bit is 0.", diff --git a/specification/schema/Subtree/buffer.schema.json b/specification/schema/Subtree/buffer.schema.json index 911f81c99..6dcae2495 100644 --- a/specification/schema/Subtree/buffer.schema.json +++ b/specification/schema/Subtree/buffer.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "buffer.schema.json", "title": "Buffer", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "uri": { "type": "string", diff --git a/specification/schema/Subtree/bufferView.schema.json b/specification/schema/Subtree/bufferView.schema.json index 4d97061b5..54b4b779f 100644 --- a/specification/schema/Subtree/bufferView.schema.json +++ b/specification/schema/Subtree/bufferView.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "bufferView.schema.json", "title": "Buffer View", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A contiguous subset of a buffer", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "buffer": { "type": "integer", diff --git a/specification/schema/Subtree/subtree.schema.json b/specification/schema/Subtree/subtree.schema.json index 6ba459446..aa59bab1a 100644 --- a/specification/schema/Subtree/subtree.schema.json +++ b/specification/schema/Subtree/subtree.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "subtree.schema.json", "title": "Subtree", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object describing the availability of tiles and content in a subtree, as well as availability of children subtrees. May also store metadata for available tiles and content.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "buffers": { "type": "array", @@ -35,11 +30,7 @@ "description": "An array of property tables." }, "tileAvailability": { - "allOf": [ - { - "$ref": "availability.schema.json" - } - ], + "$ref": "availability.schema.json", "description": "The availability of tiles in the subtree. The availability bitstream is a 1D boolean array where tiles are ordered by their level in the subtree and Morton index within that level. A tile's availability is determined by a single bit, 1 meaning a tile exists at that spatial index, and 0 meaning it does not. The number of elements in the array is `(N^subtreeLevels - 1)/(N - 1)` where N is 4 for subdivision scheme `QUADTREE` and 8 for `OCTREE`. Availability may be stored in a buffer view or as a constant value that applies to all tiles. If a non-root tile's availability is 1 its parent tile's availability must also be 1. `tileAvailability.constant: 0` is disallowed, as subtrees must have at least one tile." }, "contentAvailability": { @@ -51,11 +42,7 @@ "description": "An array of content availability objects. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements." }, "childSubtreeAvailability": { - "allOf": [ - { - "$ref": "availability.schema.json" - } - ], + "$ref": "availability.schema.json", "description": "The availability of children subtrees. The availability bitstream is a 1D boolean array where subtrees are ordered by their Morton index in the level of the tree immediately below the bottom row of the subtree. A child subtree's availability is determined by a single bit, 1 meaning a subtree exists at that spatial index, and 0 meaning it does not. The number of elements in the array is `N^subtreeLevels` where N is 4 for subdivision scheme `QUADTREE` and 8 for `OCTREE`. Availability may be stored in a buffer view or as a constant value that applies to all child subtrees. If availability is 0 for all child subtrees, then the tileset does not subdivide further." }, "tileMetadata": { @@ -73,11 +60,7 @@ "description": "An array of indexes to property tables containing content metadata. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by EXT_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements. Content metadata only exists for available contents and is tightly packed by increasing tile index. To access individual content metadata, implementations may create a mapping from tile indices to content metadata indices." }, "subtreeMetadata": { - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], + "$ref": "metadataEntity.schema.json", "description": "Subtree metadata encoded in JSON." }, "extensions": {}, diff --git a/specification/schema/TileFormats/b3dm.featureTable.schema.json b/specification/schema/TileFormats/b3dm.featureTable.schema.json index 99abd0722..9678e087d 100644 --- a/specification/schema/TileFormats/b3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/b3dm.featureTable.schema.json @@ -12,20 +12,12 @@ { "properties": { "BATCH_LENGTH": { - "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger", + "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." }, "RTC_CENTER": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics).", - "allOf": [ - { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - } - ] + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3", + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." }, "extensions": {}, "extras": {} diff --git a/specification/schema/TileFormats/batchTable.schema.json b/specification/schema/TileFormats/batchTable.schema.json index 53572d318..85fd3055f 100644 --- a/specification/schema/TileFormats/batchTable.schema.json +++ b/specification/schema/TileFormats/batchTable.schema.json @@ -2,27 +2,17 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "batchTable.schema.json", "title": "Batch Table", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A set of properties defining application-specific metadata for features in a tile.", "deprecated": true, - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "additionalProperties": { "$ref": "#/definitions/property" }, "definitions": { "binaryBodyReference": { "title": "BinaryBodyReference", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining the reference to a section of the binary body of the batch table where the property values are stored if not defined directly in the JSON.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "byteOffset": { "type": "integer", diff --git a/specification/schema/TileFormats/featureTable.schema.json b/specification/schema/TileFormats/featureTable.schema.json index aee83e214..bb1d6d1c8 100644 --- a/specification/schema/TileFormats/featureTable.schema.json +++ b/specification/schema/TileFormats/featureTable.schema.json @@ -2,27 +2,17 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "featureTable.schema.json", "title": "Feature Table", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A set of semantics containing per-tile and per-feature values defining the position and appearance properties for features in a tile.", "deprecated": true, - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "additionalProperties": { "$ref": "#/definitions/property" }, "definitions": { "binaryBodyReference": { "title": "BinaryBodyReference", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object defining the reference to a section of the binary body of the features table where the property values are stored if not defined directly in the JSON.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "byteOffset": { "type": "integer", @@ -148,12 +138,7 @@ "description": "An object defining a global 3-component numeric property values for all features.", "oneOf": [ { - "type": "object", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "byteOffset": { "type": "integer", @@ -182,12 +167,7 @@ "description": "An object defining a global 4-component numeric property values for all features.", "oneOf": [ { - "type": "object", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], + "$ref": "rootProperty.schema.json", "properties": { "byteOffset": { "type": "integer", diff --git a/specification/schema/asset.schema.json b/specification/schema/asset.schema.json index 04fb75ff8..9f7a53084 100644 --- a/specification/schema/asset.schema.json +++ b/specification/schema/asset.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "asset.schema.json", "title": "Asset", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Metadata about the entire tileset.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "version": { "type": "string", diff --git a/specification/schema/boundingVolume.schema.json b/specification/schema/boundingVolume.schema.json index 5fbc6336e..e338cb402 100644 --- a/specification/schema/boundingVolume.schema.json +++ b/specification/schema/boundingVolume.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "boundingVolume.schema.json", "title": "Bounding Volume", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A bounding volume that encloses a tile or its content. At least one bounding volume property is required. Bounding volumes include `box`, `region`, or `sphere`.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "minProperties": 1, "properties": { "box": { diff --git a/specification/schema/content.schema.json b/specification/schema/content.schema.json index 8701bc126..9aad8d0e7 100644 --- a/specification/schema/content.schema.json +++ b/specification/schema/content.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "content.schema.json", "title": "Content", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "Metadata about the tile's content and a link to the content.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "boundingVolume": { "description": "An optional bounding volume that tightly encloses tile content. tile.boundingVolume provides spatial coherence and tile.content.boundingVolume enables tight view frustum culling. When this is omitted, tile.boundingVolume is used.", @@ -19,11 +14,7 @@ "description": "A uri that points to tile content. When the uri is relative, it is relative to the referring tileset JSON file." }, "metadata": { - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], + "$ref": "metadataEntity.schema.json", "description": "Metadata that is associated with this content." }, "group": { diff --git a/specification/schema/group.schema.json b/specification/schema/group.schema.json index f229673fd..e9facc1fa 100644 --- a/specification/schema/group.schema.json +++ b/specification/schema/group.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "group.schema.json", "title": "Group Metadata", - "type": "object", + "$ref": "metadataEntity.schema.json", "description": "An object containing metadata about a group.", - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], "properties": { "id": { "type": "string", diff --git a/specification/schema/metadataEntity.schema.json b/specification/schema/metadataEntity.schema.json index 138ec8025..92d877363 100644 --- a/specification/schema/metadataEntity.schema.json +++ b/specification/schema/metadataEntity.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "metadataEntity.schema.json", "title": "Metadata Entity", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object containing a reference to a class from a metadata schema, and property values that conform to the properties of that class.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "class": { "type": "string", diff --git a/specification/schema/properties.schema.json b/specification/schema/properties.schema.json index 48262a616..8259070c1 100644 --- a/specification/schema/properties.schema.json +++ b/specification/schema/properties.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "properties.schema.json", "title": "Properties", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A dictionary object of metadata about per-feature properties.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "maximum": { "type": "number", diff --git a/specification/schema/subtrees.schema.json b/specification/schema/subtrees.schema.json index 26a210ae1..d59993b04 100644 --- a/specification/schema/subtrees.schema.json +++ b/specification/schema/subtrees.schema.json @@ -2,20 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "subtrees.schema.json", "title": "Subtrees", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "An object describing the location of subtree files.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "uri": { - "allOf": [ - { - "$ref": "templateUri.schema.json" - } - ], + "$ref": "templateUri.schema.json", "description": "A template URI pointing to subtree files. A subtree is a fixed-depth (defined by `subtreeLevels`) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root's global level, x, and y. For subdivision scheme `OCTREE`, z must also be given. Relative paths are relative to the tileset JSON." }, "extensions": {}, diff --git a/specification/schema/tile.implicitTiling.schema.json b/specification/schema/tile.implicitTiling.schema.json index ec9903201..f924b2a99 100644 --- a/specification/schema/tile.implicitTiling.schema.json +++ b/specification/schema/tile.implicitTiling.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tile.implicitTiling.schema.json", "title": "Implicit tiling", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "This object allows a tile to be implicitly subdivided. Tile and content availability and metadata is stored in subtrees which are referenced externally.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "subdivisionScheme": { "description": "A string describing the subdivision scheme used within the tileset.", @@ -35,11 +30,7 @@ "minimum": 1 }, "subtrees": { - "allOf": [ - { - "$ref": "subtrees.schema.json" - } - ], + "$ref": "subtrees.schema.json", "description": "An object describing the location of subtree files." }, "extensions": {}, diff --git a/specification/schema/tile.schema.json b/specification/schema/tile.schema.json index f625c5f44..12ddbcec4 100644 --- a/specification/schema/tile.schema.json +++ b/specification/schema/tile.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tile.schema.json", "title": "Tile", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A tile in a 3D Tiles tileset.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "boundingVolume": { "description": "The bounding volume that encloses the tile.", diff --git a/specification/schema/tileset.schema.json b/specification/schema/tileset.schema.json index aca4cb627..84f8e6fd8 100644 --- a/specification/schema/tileset.schema.json +++ b/specification/schema/tileset.schema.json @@ -2,13 +2,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "tileset.schema.json", "title": "Tileset", - "type": "object", + "$ref": "rootProperty.schema.json", "description": "A 3D Tiles tileset.", - "allOf": [ - { - "$ref": "rootProperty.schema.json" - } - ], "properties": { "asset": { "description": "Metadata about the entire tileset.", @@ -23,11 +18,7 @@ "deprecated": true }, "schema": { - "allOf": [ - { - "$ref": "schema.schema.json" - } - ], + "$ref": "schema.schema.json", "description": "An object defining the structure of metadata classes and enums. When this is defined, then `schemaUri` must be undefined." }, "schemaUri": { @@ -36,11 +27,7 @@ "format": "iri-reference" }, "statistics": { - "allOf": [ - { - "$ref": "statistics.schema.json" - } - ], + "$ref": "statistics.schema.json", "description": "An object containing statistics about metadata entities." }, "groups": { @@ -52,11 +39,7 @@ "minItems": 1 }, "metadata": { - "allOf": [ - { - "$ref": "metadataEntity.schema.json" - } - ], + "$ref": "metadataEntity.schema.json", "description": "A metadata entity that is associated with this tileset." }, "geometricError": { From dd3f43659f9fafad492beb5ec60d6898900b2457 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Sat, 26 Mar 2022 15:12:58 +0100 Subject: [PATCH 7/9] Cases where replacing allOf with ref changed the structure --- .../schema/Styling/pnts.style.schema.json | 39 ++-- .../TileFormats/b3dm.featureTable.schema.json | 35 ++-- .../TileFormats/i3dm.featureTable.schema.json | 181 +++++++++--------- .../TileFormats/pnts.featureTable.schema.json | 163 ++++++++-------- 4 files changed, 195 insertions(+), 223 deletions(-) diff --git a/specification/schema/Styling/pnts.style.schema.json b/specification/schema/Styling/pnts.style.schema.json index 391785417..d797808fd 100644 --- a/specification/schema/Styling/pnts.style.schema.json +++ b/specification/schema/Styling/pnts.style.schema.json @@ -2,29 +2,22 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "pnts.style.schema.json", "title": "Point Cloud Style", - "type": "object", + "$ref": "style.schema.json", "description": "A 3D Tiles style with additional properties for Point Clouds.", - "allOf": [ - { - "$ref": "style.schema.json" - }, - { - "properties": { - "pointSize": { - "oneOf": [ - { - "$ref": "style.numberExpression.schema.json" - }, - { - "$ref": "style.conditions.schema.json" - } - ], - "description": "A `number expression` or `conditions` property which determines the size of the points in pixels.", - "default": 1.0 + "properties": { + "pointSize": { + "oneOf": [ + { + "$ref": "style.numberExpression.schema.json" }, - "extensions": {}, - "extras": {} - } - } - ] + { + "$ref": "style.conditions.schema.json" + } + ], + "description": "A `number expression` or `conditions` property which determines the size of the points in pixels.", + "default": 1.0 + }, + "extensions": {}, + "extras": {} + } } \ No newline at end of file diff --git a/specification/schema/TileFormats/b3dm.featureTable.schema.json b/specification/schema/TileFormats/b3dm.featureTable.schema.json index 9678e087d..6926b6be9 100644 --- a/specification/schema/TileFormats/b3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/b3dm.featureTable.schema.json @@ -2,29 +2,22 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "b3dm.featureTable.schema.json", "title": "Batched 3D Model Feature Table", - "type": "object", + "$ref": "featureTable.schema.json", "description": "A set of Batched 3D Model semantics that contain additional information about features in a tile.", "deprecated": true, - "allOf": [ - { - "$ref": "featureTable.schema.json" + "properties": { + "BATCH_LENGTH": { + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger", + "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." }, - { - "properties": { - "BATCH_LENGTH": { - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger", - "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." - }, - "RTC_CENTER": { - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3", - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." - }, - "extensions": {}, - "extras": {} - }, - "required": [ - "BATCH_LENGTH" - ] - } + "RTC_CENTER": { + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3", + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." + }, + "extensions": {}, + "extras": {} + }, + "required": [ + "BATCH_LENGTH" ] } \ No newline at end of file diff --git a/specification/schema/TileFormats/i3dm.featureTable.schema.json b/specification/schema/TileFormats/i3dm.featureTable.schema.json index 48e4dbd57..1062c6e5b 100644 --- a/specification/schema/TileFormats/i3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/i3dm.featureTable.schema.json @@ -2,107 +2,100 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "i3dm.featureTable.schema.json", "title": "Instanced 3D Model Feature Table", - "type": "object", + "$ref": "featureTable.schema.json", "description": "A set of Instanced 3D Model semantics that contains values defining the position and appearance properties for instanced models in a tile.", "deprecated": true, - "allOf": [ + "properties": { + "POSITION": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "POSITION_QUANTIZED": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL_UP": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL_RIGHT": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL_UP_OCT32P": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL_RIGHT_OCT32P": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "SCALE": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "SCALE_NON_UNIFORM": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "BATCH_ID": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "INSTANCES_LENGTH": { + "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" + }, + "RTC_CENTER": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "QUANTIZED_VOLUME_OFFSET": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "QUANTIZED_VOLUME_SCALE": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "EAST_NORTH_UP": { + "description": "A `GlobalPropertyBoolean` object defining a boolean property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyBoolean" + }, + "extensions": {}, + "extras": {} + }, + "oneOf": [ { - "$ref": "featureTable.schema.json" + "required": [ + "POSITION" + ] }, { - "properties": { - "POSITION": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "POSITION_QUANTIZED": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL_UP": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL_RIGHT": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL_UP_OCT32P": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL_RIGHT_OCT32P": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "SCALE": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "SCALE_NON_UNIFORM": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "BATCH_ID": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "INSTANCES_LENGTH": { - "description": "A `GlobalPropertyInteger` object defining an integer property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - }, - "RTC_CENTER": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "QUANTIZED_VOLUME_OFFSET": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "QUANTIZED_VOLUME_SCALE": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "EAST_NORTH_UP": { - "description": "A `GlobalPropertyBoolean` object defining a boolean property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyBoolean" - }, - "extensions": {}, - "extras": {} - }, - "oneOf": [ - { - "required": [ - "POSITION" - ] - }, - { - "required": [ - "POSITION_QUANTIZED" - ] - } - ], - "dependencies": { - "POSITION_QUANTIZED": [ - "QUANTIZED_VOLUME_OFFSET", - "QUANTIZED_VOLUME_SCALE" - ], - "NORMAL_UP": [ - "NORMAL_RIGHT" - ], - "NORMAL_RIGHT": [ - "NORMAL_UP" - ], - "NORMAL_UP_OCT32P": [ - "NORMAL_RIGHT_OCT32P" - ], - "NORMAL_RIGHT_OCT32P": [ - "NORMAL_UP_OCT32P" - ] - }, "required": [ - "INSTANCES_LENGTH" + "POSITION_QUANTIZED" ] } + ], + "dependencies": { + "POSITION_QUANTIZED": [ + "QUANTIZED_VOLUME_OFFSET", + "QUANTIZED_VOLUME_SCALE" + ], + "NORMAL_UP": [ + "NORMAL_RIGHT" + ], + "NORMAL_RIGHT": [ + "NORMAL_UP" + ], + "NORMAL_UP_OCT32P": [ + "NORMAL_RIGHT_OCT32P" + ], + "NORMAL_RIGHT_OCT32P": [ + "NORMAL_UP_OCT32P" + ] + }, + "required": [ + "INSTANCES_LENGTH" ] } \ No newline at end of file diff --git a/specification/schema/TileFormats/pnts.featureTable.schema.json b/specification/schema/TileFormats/pnts.featureTable.schema.json index baf0a5994..b9f27045c 100644 --- a/specification/schema/TileFormats/pnts.featureTable.schema.json +++ b/specification/schema/TileFormats/pnts.featureTable.schema.json @@ -2,98 +2,91 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "pnts.featureTable.schema.json", "title": "Point Cloud Feature Table", - "type": "object", + "$ref": "featureTable.schema.json", "description": "A set of Point Cloud semantics that contains values defining the position and appearance properties for points in a tile.", "deprecated": true, - "allOf": [ + "properties": { + "POSITION": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "POSITION_QUANTIZED": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "RGBA": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "RGB": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "RGB565": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "NORMAL_OCT16P": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "BATCH_ID": { + "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" + }, + "POINTS_LENGTH": { + "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" + }, + "RTC_CENTER": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "QUANTIZED_VOLUME_OFFSET": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "QUANTIZED_VOLUME_SCALE": { + "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" + }, + "CONSTANT_RGBA": { + "description": "A `GlobalPropertyCartesian4` object defining a 4-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian4" + }, + "BATCH_LENGTH": { + "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", + "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" + }, + "extensions": {}, + "extras": {} + }, + "anyOf": [ { - "$ref": "featureTable.schema.json" + "required": [ + "POSITION" + ] }, { - "properties": { - "POSITION": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "POSITION_QUANTIZED": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "RGBA": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "RGB": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "RGB565": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "NORMAL_OCT16P": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "BATCH_ID": { - "description": "A `BinaryBodyReference` object defining the reference to a section of the binary body where the property values are stored. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/binaryBodyReference" - }, - "POINTS_LENGTH": { - "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - }, - "RTC_CENTER": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "QUANTIZED_VOLUME_OFFSET": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "QUANTIZED_VOLUME_SCALE": { - "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3" - }, - "CONSTANT_RGBA": { - "description": "A `GlobalPropertyCartesian4` object defining a 4-component numeric property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian4" - }, - "BATCH_LENGTH": { - "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", - "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - }, - "extensions": {}, - "extras": {} - }, - "anyOf": [ - { - "required": [ - "POSITION" - ] - }, - { - "required": [ - "POSITION_QUANTIZED" - ] - } - ], - "dependencies": { - "POSITION_QUANTIZED": [ - "QUANTIZED_VOLUME_OFFSET", - "QUANTIZED_VOLUME_SCALE" - ], - "BATCH_ID": [ - "BATCH_LENGTH" - ] - }, "required": [ - "POINTS_LENGTH" + "POSITION_QUANTIZED" ] } + ], + "dependencies": { + "POSITION_QUANTIZED": [ + "QUANTIZED_VOLUME_OFFSET", + "QUANTIZED_VOLUME_SCALE" + ], + "BATCH_ID": [ + "BATCH_LENGTH" + ] + }, + "required": [ + "POINTS_LENGTH" ] } \ No newline at end of file From d1d3dbddbbc2ef525b32186af5d58f1f8246ab6e Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Mon, 28 Mar 2022 20:07:40 +0200 Subject: [PATCH 8/9] Removed obsolete empty property definitions --- .../PropertyTable/propertyTable.property.schema.json | 4 +--- .../schema/PropertyTable/propertyTable.schema.json | 4 +--- .../schema/Schema/class.property.schema.json | 4 +--- specification/schema/Schema/class.schema.json | 4 +--- specification/schema/Schema/enum.schema.json | 4 +--- specification/schema/Schema/enum.value.schema.json | 4 +--- specification/schema/Schema/schema.schema.json | 4 +--- .../Statistics/statistics.class.property.schema.json | 4 +--- .../schema/Statistics/statistics.class.schema.json | 4 +--- .../schema/Statistics/statistics.schema.json | 4 +--- specification/schema/Styling/pnts.style.schema.json | 4 +--- .../schema/Styling/style.conditions.schema.json | 4 +--- specification/schema/Styling/style.schema.json | 4 +--- .../schema/Subtree/availability.schema.json | 4 +--- specification/schema/Subtree/buffer.schema.json | 4 +--- specification/schema/Subtree/bufferView.schema.json | 4 +--- specification/schema/Subtree/subtree.schema.json | 4 +--- .../schema/TileFormats/b3dm.featureTable.schema.json | 4 +--- .../schema/TileFormats/batchTable.schema.json | 4 +--- .../schema/TileFormats/featureTable.schema.json | 12 +++--------- .../schema/TileFormats/i3dm.featureTable.schema.json | 4 +--- .../schema/TileFormats/pnts.featureTable.schema.json | 4 +--- specification/schema/asset.schema.json | 4 +--- specification/schema/boundingVolume.schema.json | 4 +--- specification/schema/common/extension.schema.json | 1 - specification/schema/content.schema.json | 4 +--- specification/schema/group.schema.json | 8 +------- specification/schema/metadataEntity.schema.json | 4 +--- specification/schema/properties.schema.json | 4 +--- specification/schema/subtrees.schema.json | 4 +--- specification/schema/tile.implicitTiling.schema.json | 4 +--- specification/schema/tile.schema.json | 4 +--- specification/schema/tileset.schema.json | 4 +--- 33 files changed, 34 insertions(+), 107 deletions(-) diff --git a/specification/schema/PropertyTable/propertyTable.property.schema.json b/specification/schema/PropertyTable/propertyTable.property.schema.json index 85e33ae98..397fc3072 100644 --- a/specification/schema/PropertyTable/propertyTable.property.schema.json +++ b/specification/schema/PropertyTable/propertyTable.property.schema.json @@ -77,9 +77,7 @@ "min": { "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "values" diff --git a/specification/schema/PropertyTable/propertyTable.schema.json b/specification/schema/PropertyTable/propertyTable.schema.json index f46029b4d..e707b500f 100644 --- a/specification/schema/PropertyTable/propertyTable.schema.json +++ b/specification/schema/PropertyTable/propertyTable.schema.json @@ -26,9 +26,7 @@ "additionalProperties": { "$ref": "propertyTable.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "class", diff --git a/specification/schema/Schema/class.property.schema.json b/specification/schema/Schema/class.property.schema.json index 1ac51dbd3..93386157f 100644 --- a/specification/schema/Schema/class.property.schema.json +++ b/specification/schema/Schema/class.property.schema.json @@ -143,9 +143,7 @@ "type": "string", "minLength": 1, "description": "An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "type" diff --git a/specification/schema/Schema/class.schema.json b/specification/schema/Schema/class.schema.json index 460d19018..4600c2def 100644 --- a/specification/schema/Schema/class.schema.json +++ b/specification/schema/Schema/class.schema.json @@ -22,8 +22,6 @@ "additionalProperties": { "$ref": "class.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Schema/enum.schema.json b/specification/schema/Schema/enum.schema.json index 052e23cbd..9c64fa400 100644 --- a/specification/schema/Schema/enum.schema.json +++ b/specification/schema/Schema/enum.schema.json @@ -55,9 +55,7 @@ "$ref": "enum.value.schema.json" }, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "values" diff --git a/specification/schema/Schema/enum.value.schema.json b/specification/schema/Schema/enum.value.schema.json index aa86c9542..dc9ad961c 100644 --- a/specification/schema/Schema/enum.value.schema.json +++ b/specification/schema/Schema/enum.value.schema.json @@ -18,9 +18,7 @@ "value": { "type": "integer", "description": "The integer enum value." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "name", diff --git a/specification/schema/Schema/schema.schema.json b/specification/schema/Schema/schema.schema.json index 2143e8087..8f1dc1869 100644 --- a/specification/schema/Schema/schema.schema.json +++ b/specification/schema/Schema/schema.schema.json @@ -40,9 +40,7 @@ "additionalProperties": { "$ref": "enum.schema.json" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "id" diff --git a/specification/schema/Statistics/statistics.class.property.schema.json b/specification/schema/Statistics/statistics.class.property.schema.json index cdb93e075..4391f32f6 100644 --- a/specification/schema/Statistics/statistics.class.property.schema.json +++ b/specification/schema/Statistics/statistics.class.property.schema.json @@ -51,8 +51,6 @@ } ] } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Statistics/statistics.class.schema.json b/specification/schema/Statistics/statistics.class.schema.json index 4915f87cc..f5a2ef2c5 100644 --- a/specification/schema/Statistics/statistics.class.schema.json +++ b/specification/schema/Statistics/statistics.class.schema.json @@ -17,8 +17,6 @@ "additionalProperties": { "$ref": "statistics.class.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Statistics/statistics.schema.json b/specification/schema/Statistics/statistics.schema.json index f61f7e139..036659acc 100644 --- a/specification/schema/Statistics/statistics.schema.json +++ b/specification/schema/Statistics/statistics.schema.json @@ -12,8 +12,6 @@ "additionalProperties": { "$ref": "statistics.class.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Styling/pnts.style.schema.json b/specification/schema/Styling/pnts.style.schema.json index d797808fd..577f27a0f 100644 --- a/specification/schema/Styling/pnts.style.schema.json +++ b/specification/schema/Styling/pnts.style.schema.json @@ -16,8 +16,6 @@ ], "description": "A `number expression` or `conditions` property which determines the size of the points in pixels.", "default": 1.0 - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Styling/style.conditions.schema.json b/specification/schema/Styling/style.conditions.schema.json index 1bf740342..47dc5f77e 100644 --- a/specification/schema/Styling/style.conditions.schema.json +++ b/specification/schema/Styling/style.conditions.schema.json @@ -11,8 +11,6 @@ "items": { "$ref": "style.conditions.condition.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Styling/style.schema.json b/specification/schema/Styling/style.schema.json index 533ddef53..61d50849d 100644 --- a/specification/schema/Styling/style.schema.json +++ b/specification/schema/Styling/style.schema.json @@ -39,8 +39,6 @@ "meta": { "$ref": "style.meta.schema.json", "description": "A `meta` object which determines the values of non-visual properties of the feature." - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/Subtree/availability.schema.json b/specification/schema/Subtree/availability.schema.json index b2a4f6e08..be4faca9d 100644 --- a/specification/schema/Subtree/availability.schema.json +++ b/specification/schema/Subtree/availability.schema.json @@ -32,9 +32,7 @@ "type": "integer" } ] - }, - "extensions": {}, - "extras": {} + } }, "oneOf": [ { diff --git a/specification/schema/Subtree/buffer.schema.json b/specification/schema/Subtree/buffer.schema.json index 6dcae2495..fdb29bf60 100644 --- a/specification/schema/Subtree/buffer.schema.json +++ b/specification/schema/Subtree/buffer.schema.json @@ -19,9 +19,7 @@ "type": "string", "minLength": 1, "description": "The name of the buffer." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteLength" diff --git a/specification/schema/Subtree/bufferView.schema.json b/specification/schema/Subtree/bufferView.schema.json index 54b4b779f..ae9eb713d 100644 --- a/specification/schema/Subtree/bufferView.schema.json +++ b/specification/schema/Subtree/bufferView.schema.json @@ -24,9 +24,7 @@ "type": "string", "minLength": 1, "description": "The name of the `bufferView`." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "buffer", diff --git a/specification/schema/Subtree/subtree.schema.json b/specification/schema/Subtree/subtree.schema.json index aa59bab1a..058570f30 100644 --- a/specification/schema/Subtree/subtree.schema.json +++ b/specification/schema/Subtree/subtree.schema.json @@ -62,9 +62,7 @@ "subtreeMetadata": { "$ref": "metadataEntity.schema.json", "description": "Subtree metadata encoded in JSON." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "tileAvailability", diff --git a/specification/schema/TileFormats/b3dm.featureTable.schema.json b/specification/schema/TileFormats/b3dm.featureTable.schema.json index 6926b6be9..29df7e4f8 100644 --- a/specification/schema/TileFormats/b3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/b3dm.featureTable.schema.json @@ -13,9 +13,7 @@ "RTC_CENTER": { "$ref": "featureTable.schema.json#/definitions/globalPropertyCartesian3", "description": "A `GlobalPropertyCartesian3` object defining a 3-component numeric property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Batched3DModel/README.md#semantics)." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "BATCH_LENGTH" diff --git a/specification/schema/TileFormats/batchTable.schema.json b/specification/schema/TileFormats/batchTable.schema.json index 85fd3055f..3c98c53fc 100644 --- a/specification/schema/TileFormats/batchTable.schema.json +++ b/specification/schema/TileFormats/batchTable.schema.json @@ -70,9 +70,7 @@ "type": "string" } ] - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset", diff --git a/specification/schema/TileFormats/featureTable.schema.json b/specification/schema/TileFormats/featureTable.schema.json index bb1d6d1c8..dfc255355 100644 --- a/specification/schema/TileFormats/featureTable.schema.json +++ b/specification/schema/TileFormats/featureTable.schema.json @@ -50,9 +50,7 @@ "type": "string" } ] - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset" @@ -144,9 +142,7 @@ "type": "integer", "description": "The offset into the buffer in bytes.", "minimum": 0 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset" @@ -173,9 +169,7 @@ "type": "integer", "description": "The offset into the buffer in bytes.", "minimum": 0 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset" diff --git a/specification/schema/TileFormats/i3dm.featureTable.schema.json b/specification/schema/TileFormats/i3dm.featureTable.schema.json index 1062c6e5b..4a462dcd4 100644 --- a/specification/schema/TileFormats/i3dm.featureTable.schema.json +++ b/specification/schema/TileFormats/i3dm.featureTable.schema.json @@ -61,9 +61,7 @@ "EAST_NORTH_UP": { "description": "A `GlobalPropertyBoolean` object defining a boolean property for all features. See the corresponding property semantic in [Semantics](/specification/TileFormats/Instanced3DModel/README.md#semantics).", "$ref": "featureTable.schema.json#/definitions/globalPropertyBoolean" - }, - "extensions": {}, - "extras": {} + } }, "oneOf": [ { diff --git a/specification/schema/TileFormats/pnts.featureTable.schema.json b/specification/schema/TileFormats/pnts.featureTable.schema.json index b9f27045c..8ff3e885f 100644 --- a/specification/schema/TileFormats/pnts.featureTable.schema.json +++ b/specification/schema/TileFormats/pnts.featureTable.schema.json @@ -61,9 +61,7 @@ "BATCH_LENGTH": { "description": "A `GlobalPropertyInteger` object defining an integer property for all points. See the corresponding property semantic in [Semantics](/specification/TileFormats/PointCloud/README.md#semantics).", "$ref": "featureTable.schema.json#/definitions/globalPropertyInteger" - }, - "extensions": {}, - "extras": {} + } }, "anyOf": [ { diff --git a/specification/schema/asset.schema.json b/specification/schema/asset.schema.json index 9f7a53084..e4b9bd2b1 100644 --- a/specification/schema/asset.schema.json +++ b/specification/schema/asset.schema.json @@ -12,9 +12,7 @@ "tilesetVersion": { "type": "string", "description": "Application-specific version of this tileset, e.g., for when an existing tileset is updated." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "version" diff --git a/specification/schema/boundingVolume.schema.json b/specification/schema/boundingVolume.schema.json index e338cb402..9cbff627c 100644 --- a/specification/schema/boundingVolume.schema.json +++ b/specification/schema/boundingVolume.schema.json @@ -32,8 +32,6 @@ }, "minItems": 4, "maxItems": 4 - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/specification/schema/common/extension.schema.json b/specification/schema/common/extension.schema.json index 02d177262..9a658abbe 100644 --- a/specification/schema/common/extension.schema.json +++ b/specification/schema/common/extension.schema.json @@ -4,7 +4,6 @@ "title": "Extension", "type": "object", "description": "Dictionary object with extension-specific objects.", - "properties": {}, "additionalProperties": { "type": "object" } diff --git a/specification/schema/content.schema.json b/specification/schema/content.schema.json index 9aad8d0e7..8082f4347 100644 --- a/specification/schema/content.schema.json +++ b/specification/schema/content.schema.json @@ -21,9 +21,7 @@ "type": "integer", "minimum": 0, "description": "The group this content belongs to. The value is an index into the array of `groups` that is defined for the containing tileset." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "uri" diff --git a/specification/schema/group.schema.json b/specification/schema/group.schema.json index c1e5605be..dd57b03d8 100644 --- a/specification/schema/group.schema.json +++ b/specification/schema/group.schema.json @@ -3,11 +3,5 @@ "$id": "group.schema.json", "title": "Group Metadata", "$ref": "metadataEntity.schema.json", - "description": "An object containing metadata about a group.", - "properties": { - "class": {}, - "properties": {}, - "extensions": {}, - "extras": {} - } + "description": "An object containing metadata about a group." } \ No newline at end of file diff --git a/specification/schema/metadataEntity.schema.json b/specification/schema/metadataEntity.schema.json index 92d877363..e9dc7045f 100644 --- a/specification/schema/metadataEntity.schema.json +++ b/specification/schema/metadataEntity.schema.json @@ -16,9 +16,7 @@ "additionalProperties": { "$ref": "definitions.schema.json#/definitions/anyValue" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "class" diff --git a/specification/schema/properties.schema.json b/specification/schema/properties.schema.json index 8259070c1..4bcd68249 100644 --- a/specification/schema/properties.schema.json +++ b/specification/schema/properties.schema.json @@ -12,9 +12,7 @@ "minimum": { "type": "number", "description": "The minimum value of this property of all the features in the tileset." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "maximum", diff --git a/specification/schema/subtrees.schema.json b/specification/schema/subtrees.schema.json index d59993b04..6924acbc4 100644 --- a/specification/schema/subtrees.schema.json +++ b/specification/schema/subtrees.schema.json @@ -8,9 +8,7 @@ "uri": { "$ref": "templateUri.schema.json", "description": "A template URI pointing to subtree files. A subtree is a fixed-depth (defined by `subtreeLevels`) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root's global level, x, and y. For subdivision scheme `OCTREE`, z must also be given. Relative paths are relative to the tileset JSON." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "uri" diff --git a/specification/schema/tile.implicitTiling.schema.json b/specification/schema/tile.implicitTiling.schema.json index f924b2a99..df273cf51 100644 --- a/specification/schema/tile.implicitTiling.schema.json +++ b/specification/schema/tile.implicitTiling.schema.json @@ -32,9 +32,7 @@ "subtrees": { "$ref": "subtrees.schema.json", "description": "An object describing the location of subtree files." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "subdivisionScheme", diff --git a/specification/schema/tile.schema.json b/specification/schema/tile.schema.json index 12ddbcec4..c36e6fd38 100644 --- a/specification/schema/tile.schema.json +++ b/specification/schema/tile.schema.json @@ -87,9 +87,7 @@ }, "uniqueItems": true, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "boundingVolume", diff --git a/specification/schema/tileset.schema.json b/specification/schema/tileset.schema.json index 84f8e6fd8..7bc9d9c8f 100644 --- a/specification/schema/tileset.schema.json +++ b/specification/schema/tileset.schema.json @@ -68,9 +68,7 @@ }, "uniqueItems": true, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "asset", From 4735974fe70f8e620cd1442ce31e4fe6bacd1ce1 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Mon, 28 Mar 2022 20:11:23 +0200 Subject: [PATCH 9/9] Removed obsolete empty property definitions in extensions --- .../3DTILES_batch_table_hierarchy.schema.json | 16 ++++------------ ...Volume.3DTILES_bounding_volume_S2.schema.json | 4 +--- .../tileset.3DTILES_content_gltf.schema.json | 4 +--- ...raco_point_compression.batchTable.schema.json | 4 +--- ...co_point_compression.featureTable.schema.json | 4 +--- .../schema/subtree/availability.schema.json | 4 +--- .../schema/subtree/buffer.schema.json | 4 +--- .../schema/subtree/bufferView.schema.json | 4 +--- .../schema/subtree/extension.schema.json | 1 - .../subtree/propertyTable.property.schema.json | 4 +--- .../schema/subtree/propertyTable.schema.json | 4 +--- .../schema/subtree/subtree.schema.json | 4 +--- .../schema/subtree/subtreeMetadata.schema.json | 4 +--- .../schema/subtrees.schema.json | 4 +--- .../tile.3DTILES_implicit_tiling.schema.json | 4 +--- .../schema/class.property.schema.json | 4 +--- .../3DTILES_metadata/schema/class.schema.json | 4 +--- .../schema/content.3DTILES_metadata.schema.json | 6 +----- .../3DTILES_metadata/schema/enum.schema.json | 4 +--- .../schema/enum.value.schema.json | 4 +--- .../3DTILES_metadata/schema/group.schema.json | 11 +---------- .../schema/metadataEntity.schema.json | 4 +--- .../3DTILES_metadata/schema/schema.schema.json | 4 +--- .../schema/statistics.class.property.schema.json | 4 +--- .../schema/statistics.class.schema.json | 4 +--- .../schema/statistics.schema.json | 4 +--- .../schema/tile.3DTILES_metadata.schema.json | 8 +------- .../schema/tileset.3DTILES_metadata.schema.json | 4 +--- .../3DTILES_metadata/schema/tileset.schema.json | 8 +------- .../tile.3DTILES_multiple_contents.schema.json | 4 +--- 30 files changed, 32 insertions(+), 114 deletions(-) diff --git a/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json b/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json index 3891f2148..74977d048 100644 --- a/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json +++ b/extensions/3DTILES_batch_table_hierarchy/schema/3DTILES_batch_table_hierarchy.schema.json @@ -22,9 +22,7 @@ "additionalProperties": { "$ref": "#/definitions/property" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "name", @@ -45,9 +43,7 @@ }, "parentIds": { "$ref": "#/definitions/integerProperty" - }, - "extensions": {}, - "extras": {} + } }, "definitions": { "binaryBodyReference": { @@ -106,9 +102,7 @@ "type": "string" } ] - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset", @@ -155,9 +149,7 @@ "type": "string" } ] - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteOffset" diff --git a/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json b/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json index 6025c0094..1e1b72806 100644 --- a/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json +++ b/extensions/3DTILES_bounding_volume_S2/schema/boundingVolume.3DTILES_bounding_volume_S2.schema.json @@ -16,9 +16,7 @@ "maximumHeight": { "type": "number", "description": "The maximum height of the tile, specified in meters above (or below) the WGS84 ellipsoid." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "token", diff --git a/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json b/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json index ff0260188..3cfbee13f 100644 --- a/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json +++ b/extensions/3DTILES_content_gltf/schema/tileset.3DTILES_content_gltf.schema.json @@ -20,8 +20,6 @@ "type": "string" }, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json index b96099ae0..4ffed20cd 100644 --- a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json +++ b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.batchTable.schema.json @@ -13,9 +13,7 @@ "type": "integer", "minimum": 0 } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "properties" diff --git a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json index f4585d08f..6350a12e1 100644 --- a/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json +++ b/extensions/3DTILES_draco_point_compression/schema/3DTILES_draco_point_compression.featureTable.schema.json @@ -23,9 +23,7 @@ "type": "integer", "description": "The length, in bytes, of the compressed data.", "minimum": 0 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "properties", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json index cfa583385..282cadb36 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/availability.schema.json @@ -32,9 +32,7 @@ "type": "integer" } ] - }, - "extensions": {}, - "extras": {} + } }, "oneOf": [ { diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json index 88c0ab6c9..2938dfa9e 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/buffer.schema.json @@ -19,9 +19,7 @@ "type": "string", "minLength": 1, "description": "The name of the buffer." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "byteLength" diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json index 9b9e512c3..5ae1a8aba 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/bufferView.schema.json @@ -24,9 +24,7 @@ "type": "string", "minLength": 1, "description": "The name of the `bufferView`." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "buffer", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/extension.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/extension.schema.json index 02d177262..9a658abbe 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/extension.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/extension.schema.json @@ -4,7 +4,6 @@ "title": "Extension", "type": "object", "description": "Dictionary object with extension-specific objects.", - "properties": {}, "additionalProperties": { "type": "object" } diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json index e4cd7d325..088af18fb 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.property.schema.json @@ -77,9 +77,7 @@ "min": { "$ref": "definitions.schema.json#/definitions/numericValue", "description": "Minimum value present in the property values. Only applicable to `SCALAR`, `VECN`, and `MATN` types. This is the minimum of all property values, after the transforms based on the `normalized`, `offset`, and `scale` properties have been applied." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "values" diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json index d48ba1b04..1e232a9fc 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/propertyTable.schema.json @@ -26,9 +26,7 @@ "additionalProperties": { "$ref": "propertyTable.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "class", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json index 79883c83d..b52d6a7f2 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/subtree.schema.json @@ -62,9 +62,7 @@ "subtreeMetadata": { "$ref": "subtreeMetadata.schema.json", "description": "Subtree metadata encoded in JSON." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "tileAvailability", diff --git a/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json index 8d774940f..778faa624 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtree/subtreeMetadata.schema.json @@ -44,9 +44,7 @@ } ] } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "class" diff --git a/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json b/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json index d59993b04..6924acbc4 100644 --- a/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/subtrees.schema.json @@ -8,9 +8,7 @@ "uri": { "$ref": "templateUri.schema.json", "description": "A template URI pointing to subtree files. A subtree is a fixed-depth (defined by `subtreeLevels`) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root's global level, x, and y. For subdivision scheme `OCTREE`, z must also be given. Relative paths are relative to the tileset JSON." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "uri" diff --git a/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json b/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json index 854d737eb..2ec029d92 100644 --- a/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json +++ b/extensions/3DTILES_implicit_tiling/schema/tile.3DTILES_implicit_tiling.schema.json @@ -32,9 +32,7 @@ "subtrees": { "$ref": "subtrees.schema.json", "description": "An object describing the location of subtree files." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "subdivisionScheme", diff --git a/extensions/3DTILES_metadata/schema/class.property.schema.json b/extensions/3DTILES_metadata/schema/class.property.schema.json index a765d3826..e9887da79 100644 --- a/extensions/3DTILES_metadata/schema/class.property.schema.json +++ b/extensions/3DTILES_metadata/schema/class.property.schema.json @@ -143,9 +143,7 @@ "type": "string", "minLength": 1, "description": "An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "type" diff --git a/extensions/3DTILES_metadata/schema/class.schema.json b/extensions/3DTILES_metadata/schema/class.schema.json index 460d19018..4600c2def 100644 --- a/extensions/3DTILES_metadata/schema/class.schema.json +++ b/extensions/3DTILES_metadata/schema/class.schema.json @@ -22,8 +22,6 @@ "additionalProperties": { "$ref": "class.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json index 81585d555..e4adf3de0 100644 --- a/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/content.3DTILES_metadata.schema.json @@ -8,10 +8,6 @@ "group": { "type": "integer", "description": "The group this content belongs to. The value is an index into the array of `groups` that is defined for the containing tileset." - }, - "class": {}, - "properties": {}, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/enum.schema.json b/extensions/3DTILES_metadata/schema/enum.schema.json index 052e23cbd..9c64fa400 100644 --- a/extensions/3DTILES_metadata/schema/enum.schema.json +++ b/extensions/3DTILES_metadata/schema/enum.schema.json @@ -55,9 +55,7 @@ "$ref": "enum.value.schema.json" }, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "values" diff --git a/extensions/3DTILES_metadata/schema/enum.value.schema.json b/extensions/3DTILES_metadata/schema/enum.value.schema.json index aa86c9542..dc9ad961c 100644 --- a/extensions/3DTILES_metadata/schema/enum.value.schema.json +++ b/extensions/3DTILES_metadata/schema/enum.value.schema.json @@ -18,9 +18,7 @@ "value": { "type": "integer", "description": "The integer enum value." - }, - "extensions": {}, - "extras": {} + } }, "required": [ "name", diff --git a/extensions/3DTILES_metadata/schema/group.schema.json b/extensions/3DTILES_metadata/schema/group.schema.json index 2ddf4ad33..dd57b03d8 100644 --- a/extensions/3DTILES_metadata/schema/group.schema.json +++ b/extensions/3DTILES_metadata/schema/group.schema.json @@ -3,14 +3,5 @@ "$id": "group.schema.json", "title": "Group Metadata", "$ref": "metadataEntity.schema.json", - "description": "An object containing metadata about a group.", - "properties": { - "class": {}, - "properties": {}, - "extensions": {}, - "extras": {} - }, - "required": [ - "id" - ] + "description": "An object containing metadata about a group." } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/metadataEntity.schema.json b/extensions/3DTILES_metadata/schema/metadataEntity.schema.json index 25d3c93f4..cecae0478 100644 --- a/extensions/3DTILES_metadata/schema/metadataEntity.schema.json +++ b/extensions/3DTILES_metadata/schema/metadataEntity.schema.json @@ -16,9 +16,7 @@ "additionalProperties": { "$ref": "definitions.schema.json#/definitions/anyValue" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "class" diff --git a/extensions/3DTILES_metadata/schema/schema.schema.json b/extensions/3DTILES_metadata/schema/schema.schema.json index 2143e8087..8f1dc1869 100644 --- a/extensions/3DTILES_metadata/schema/schema.schema.json +++ b/extensions/3DTILES_metadata/schema/schema.schema.json @@ -40,9 +40,7 @@ "additionalProperties": { "$ref": "enum.schema.json" } - }, - "extensions": {}, - "extras": {} + } }, "required": [ "id" diff --git a/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json b/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json index cdb93e075..4391f32f6 100644 --- a/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.class.property.schema.json @@ -51,8 +51,6 @@ } ] } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/statistics.class.schema.json b/extensions/3DTILES_metadata/schema/statistics.class.schema.json index 4915f87cc..f5a2ef2c5 100644 --- a/extensions/3DTILES_metadata/schema/statistics.class.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.class.schema.json @@ -17,8 +17,6 @@ "additionalProperties": { "$ref": "statistics.class.property.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/statistics.schema.json b/extensions/3DTILES_metadata/schema/statistics.schema.json index f61f7e139..036659acc 100644 --- a/extensions/3DTILES_metadata/schema/statistics.schema.json +++ b/extensions/3DTILES_metadata/schema/statistics.schema.json @@ -12,8 +12,6 @@ "additionalProperties": { "$ref": "statistics.class.schema.json" } - }, - "extensions": {}, - "extras": {} + } } } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json index a078b6336..7817a6f9b 100644 --- a/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/tile.3DTILES_metadata.schema.json @@ -3,11 +3,5 @@ "$id": "tile.3DTILES_metadata.schema.json", "title": "3DTILES_metadata tile extension", "$ref": "metadataEntity.schema.json", - "description": "An object containing metadata about a tile. This extension must not be added to tiles using the `3DTILES_implicit_tiling` extension since tile metadata is provided separately in the subtrees.", - "properties": { - "class": {}, - "properties": {}, - "extensions": {}, - "extras": {} - } + "description": "An object containing metadata about a tile. This extension must not be added to tiles using the `3DTILES_implicit_tiling` extension since tile metadata is provided separately in the subtrees." } \ No newline at end of file diff --git a/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json b/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json index 800c139c6..4696714bb 100644 --- a/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json +++ b/extensions/3DTILES_metadata/schema/tileset.3DTILES_metadata.schema.json @@ -29,9 +29,7 @@ "tileset": { "$ref": "tileset.schema.json", "description": "An object containing metadata about the tileset." - }, - "extensions": {}, - "extras": {} + } }, "oneOf": [ { diff --git a/extensions/3DTILES_metadata/schema/tileset.schema.json b/extensions/3DTILES_metadata/schema/tileset.schema.json index 306fd4b35..6520246bf 100644 --- a/extensions/3DTILES_metadata/schema/tileset.schema.json +++ b/extensions/3DTILES_metadata/schema/tileset.schema.json @@ -3,11 +3,5 @@ "$id": "tilesetMetadata.schema.json", "title": "Tileset Metadata", "$ref": "metadataEntity.schema.json", - "description": "An object containing metadata about the tileset.", - "properties": { - "class": {}, - "properties": {}, - "extensions": {}, - "extras": {} - } + "description": "An object containing metadata about the tileset." } \ No newline at end of file diff --git a/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json b/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json index 87a348944..f85a11a28 100644 --- a/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json +++ b/extensions/3DTILES_multiple_contents/schema/tile.3DTILES_multiple_contents.schema.json @@ -12,9 +12,7 @@ "$ref": "content.schema.json" }, "minItems": 1 - }, - "extensions": {}, - "extras": {} + } }, "required": [ "content"