Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update schemas #8

Merged
merged 2 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 35 additions & 29 deletions qc_openmaterial/schemas/1.0.0/asset_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"definitions": {
"Axle": {
"type": "object",
"description": "The definition of vehicle axle. based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Axle.html[OpenSCENARIO vehicle axle definition].",
"description": "The definition of vehicle axle based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Axle.html[OpenSCENARIO vehicle axle definition].",
"properties": {
"maxSteering": {
"type": "number",
Expand Down Expand Up @@ -57,43 +57,51 @@
},
"uuid": {
"type": "string",
"description": "Universally unique identifier for the asset in 8-4-4-4-12 format, see https://en.wikipedia.org/wiki/Universally_unique_identifier. The uuid stays the same, even if version is updated.",
"description": "Universally unique identifier for the asset in 8-4-4-4-12 format, see cite:[uui]. The uuid stays the same, even if version is updated.",
"pattern": "\\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\b$"
},
"assetVersion": {
"type": "string",
"description": "The version number of the asset, following semantic versioning (e.g., '1.0.0').",
"description": "The version number of the asset, following semantic versioning (for example, '1.0.0').",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"openMaterialVersion": {
"type": "string",
"description": "The version of the ASAM OpenMATERIAL 3D specification used, adhering to semantic versioning (e.g., '1.0.0').",
"description": "The version of the ASAM OpenMATERIAL 3D specification used, adhering to semantic versioning (for example, '1.0.0').",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"copyright": {
"type": "string",
"description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.')."
"copyrights": {
"type": "array",
"description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.').",
"items": {
"type": "string"
},
"minItems": 1
},
"license": {
"type": "string",
"description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses."
"description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (for example, 'MIT'), or provide a URL or filename for proprietary licenses."
},
"author": {
"type": "string",
"description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated."
"authors": {
"type": "array",
"description": "Lists the author(s) of the asset as a name, email, or company.",
"items": {
"type": "string"
},
"minItems": 1
},
"modelCreationTool": {
"type": "string",
"description": "Specifies the software or tool (and version) used to create the 3D model (e.g., 'Blender 3.5')."
"description": "Specifies the software or tool (and version) used to create the 3D model (for example, 'Blender 3.5')."
},
"creationDate": {
"type": "string",
"description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').",
"description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (for example, '20240703T101728Z').",
"pattern": "^\\d{8}T\\d{6}Z$"
},
"modelingMethod": {
"type": "string",
"description": "Indicates how the model was created, e.g., '3D scan', 'photo-based modeling', or 'freehand design'."
"description": "Indicates how the model was created, for example, '3D scan', 'photo-based modeling', or 'freehand design'."
},
"validationDescription": {
"type": "string",
Expand All @@ -109,7 +117,7 @@
},
"objectClass": {
"type": "string",
"description": "Classifies the object type when 'assetType' is 'object', i.e., 'vehicle', 'human', 'environment', 'other'.",
"description": "Classifies the object type when 'assetType' is 'object', meaning, 'vehicle', 'human', 'environment', 'other'.",
"enum": [
"vehicle",
"human",
Expand All @@ -119,7 +127,7 @@
},
"vehicleClassData": {
"type": "object",
"description": "Vehicle specific data. This SHALL be filled if 'objectClass' is 'vehicle' based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Vehicle.html[OpenSCENARIO vehicle definition].",
"description": "Vehicle specific data. This shall be filled if 'objectClass' is 'vehicle' based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Vehicle.html[OpenSCENARIO vehicle definition].",
"properties": {
"vehicleCategory": {
"type": "string",
Expand Down Expand Up @@ -164,19 +172,17 @@
},
"axles": {
"type": "object",
"description": "A set of the axles of a vehicle. A vehicle must have a front axle and a rear axle. It might have additional axles.",
"description": "A set of the axles of a vehicle. A vehicle must have a front axle and a rear axle. It might have additional axles. The information about the rear axle is needed to transform the origin of the model to coordinate systems of other ASAM standards, for example the ASAM OpenSCENARIO XML vehicle coordinate system or the ASAM OSI host vehicle coordinate system.",
"properties": {
"frontAxle": {
"$ref": "#/definitions/Axle",
"description": "Details about the front axle."
"$ref": "#/definitions/Axle"
},
"rearAxle": {
"$ref": "#/definitions/Axle",
"description": "Details about the rear axle."
"$ref": "#/definitions/Axle"
},
"additionalAxles": {
"type": "array",
"description": "An optional array of additional axles with the same properties as frontAxle and rearAxle.",
"description": "An optional array of additional axles with the same properties as 'frontAxle' and 'rearAxle'.",
"items": {
"$ref": "#/definitions/Axle"
}
Expand All @@ -196,7 +202,7 @@
},
"humanClassData": {
"type": "object",
"description": "Human specific data. This SHALL be filled if 'objectClass' is 'human' based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Pedestrian.html[OpenSCENARIO pedestrian definition].",
"description": "Human specific data. This shall be filled if 'objectClass' is 'human' based on the https://releases.asam.net/OpenSCENARIO/1.0.0/Model-Documentation/content/Pedestrian.html[OpenSCENARIO pedestrian definition].",
"properties": {
"mass": {
"type": "number",
Expand Down Expand Up @@ -226,11 +232,11 @@
},
"meshCount": {
"type": "integer",
"description": "The total number of meshes in the 3D geometry. A model geometry typically consists of several sub-meshes."
"description": "The total number of meshes in the 3D model file. A model geometry typically consists of several sub-meshes."
},
"textureResolutions": {
"type": "array",
"description": "Lists all the used texture resolutions in the 3D model i.e. albedo, normal or displacement textures. Possible values are '1K', '2K', '4K'. If no textures are used in the model, add empty element ''",
"description": "Lists all the used texture resolutions in the 3D model, meaning 'albedo', 'normal', or 'displacement' textures. Possible values are '1K', '2K', '4K'. If no textures are used in the model, add empty element ' '.",
"items": {
"type": "string",
"enum": [
Expand Down Expand Up @@ -296,9 +302,9 @@
"uuid",
"assetVersion",
"openMaterialVersion",
"copyright",
"copyrights",
"license",
"author",
"authors",
"assetType",
"objectClass",
"animated",
Expand All @@ -312,7 +318,7 @@
},
"materialMappingUri": {
"type": "string",
"description": "Relative path to a material mapping file (.xomm). In this file, material names from the 3D model file or texture color codes from textures assigned in materialTextureAssignment are linked to ASAM OpenMATERIAL 3D property files.",
"description": "Relative path to a material mapping file (.xomm). In this file, material names from the 3D model file or texture color codes from textures assigned in 'materialTextureAssignment' are linked to ASAM OpenMATERIAL 3D property files.",
"pattern": ".*\\.xomm$"
},
"materialTextureAssignment": {
Expand All @@ -327,7 +333,7 @@
},
{
"type": "string",
"description": "File path to the ASAM OpenMATERIAL 3D assignment texture. Supported texture formats are png and jpg.",
"description": "File path to the ASAM OpenMATERIAL 3D assignment texture. Supported texture formats are 'png' and 'jpg'.",
"pattern": "^(\\./|/)?([a-zA-Z0-9_\\-./]+)\\.(png|jpg|jpeg)$"
}
],
Expand Down
34 changes: 21 additions & 13 deletions qc_openmaterial/schemas/1.0.0/mapping_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,42 @@
},
"uuid": {
"type": "string",
"description": "Universally unique identifier for the mapping table in 8-4-4-4-12 format, see https://en.wikipedia.org/wiki/Universally_unique_identifier. The uuid stays the same, even if version is updated.",
"description": "Universally unique identifier for the mapping table in 8-4-4-4-12 format, see cite:[uui]. The uuid stays the same, even if version is updated.",
"pattern": "\\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\b$"
},
"mappingVersion": {
"type": "string",
"description": "The version number of the mapping table, following semantic versioning (e.g., '1.0.0').",
"description": "The version number of the mapping table, following semantic versioning (for example, '1.0.0').",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"openMaterialVersion": {
"type": "string",
"description": "The version of the ASAM OpenMATERIAL 3D specification used, adhering to semantic versioning (e.g., '1.0.0').",
"description": "The version of the ASAM OpenMATERIAL 3D specification used, adhering to semantic versioning (for example, '1.0.0').",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"copyright": {
"type": "string",
"description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.')."
"copyrights": {
"type": "array",
"description": "Indicates copyright details, including the year and copyright holder (for example, '© 2024 ACME Inc.').",
"items": {
"type": "string"
},
"minItems": 1
},
"license": {
"type": "string",
"description": "Describes the license for mapping table distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses."
"description": "Describes the license for mapping table distribution. Use an SPDX identifier for open-source licenses (for example, 'MIT'), or provide a URL or filename for proprietary licenses."
},
"author": {
"type": "string",
"description": "Lists the author(s) of the mapping table as a name, email, or company. Multiple authors should be comma-separated."
"authors": {
"type": "array",
"description": "Lists the author(s) of the mapping table as a name, email, or company.",
"items": {
"type": "string"
},
"minItems": 1
},
"creationDate": {
"type": "string",
"description": "The date and time of mapping table creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').",
"description": "The date and time of mapping table creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 cite:[iso8601] (for example, '20240703T101728Z').",
"pattern": "^\\d{8}T\\d{6}Z$"
}
},
Expand All @@ -53,9 +61,9 @@
"uuid",
"mappingVersion",
"openMaterialVersion",
"copyright",
"copyrights",
"license",
"author"
"authors"
]
},
"materialMapping": {
Expand Down
Loading
Loading