-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
enhance descriptions of some elements
- Loading branch information
1 parent
bf339bd
commit 70ced39
Showing
1 changed file
with
208 additions
and
184 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,189 +1,213 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"type": "object", | ||
"description": "Root object for the JSON data structure", | ||
"properties": { | ||
"metadata": { | ||
"type": "object", | ||
"description": " Part of the 3D asset file https://github.com/asam-ev/OpenMATERIAL/blob/main/content/geometry/general.adoc#3d-asset-file ; contains key information about the asset, including its identity, authorship, technical specifications, and legal details.", | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The display name of the asset, such as 'Car Model A' or 'Urban Scene 1'." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A concise summary of the asset's purpose or features (2–3 sentences)." | ||
}, | ||
"uuid": { | ||
"type": "string", | ||
"description": "A 32-character hexadecimal string serving as a unique identifier for the asset.", | ||
"pattern": "^[a-f0-9]{32}$" | ||
}, | ||
"assetVersion": { | ||
"type": "string", | ||
"description": "The version number of the asset, following Semantic Versioning (e.g., '1.0.0').", | ||
"pattern": "^\\d+\\.\\d+\\.\\d+$" | ||
}, | ||
"openMaterialVersion": { | ||
"type": "string", | ||
"description": "The version of the OpenMATERIAL specification used, adhering to Semantic Versioning.", | ||
"pattern": "^\\d+\\.\\d+\\.\\d+$" | ||
}, | ||
"copyright": { | ||
"type": "string", | ||
"description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.')." | ||
}, | ||
"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." | ||
}, | ||
"author": { | ||
"type": "string", | ||
"description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." | ||
}, | ||
"modelCreationTool": { | ||
"type": "string", | ||
"description": "Specifies the software or tool (and version) used to create the 3D model (e.g., 'Blender 3.5')." | ||
}, | ||
"creationDate": { | ||
"type": "string", | ||
"description": "The date and time of asset creation, formatted in ISO 8601 (e.g., '2024-11-20T15:30:00Z').", | ||
"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'." | ||
}, | ||
"validationDescription": { | ||
"type": "string", | ||
"description": "Details the validation process used to compare the model geometry with real-world objects." | ||
}, | ||
"assetType": { | ||
"type": "string", | ||
"description": "Specifies whether the asset represents an individual object ('object') or a collection of objects ('scene').", | ||
"enum": ["object", "scene"] | ||
}, | ||
"objectClass": { | ||
"type": "string", | ||
"description": "Classifies the object type when 'assetType' is 'object', e.g., 'vehicle' or 'human'.", | ||
"enum": ["vehicle", "human", "road_network", "other"] | ||
}, | ||
"animated": { | ||
"type": "boolean", | ||
"description": "Indicates whether the 3D model contains keyframe animations." | ||
}, | ||
"pbrMaterialWorkflow": { | ||
"type": "string", | ||
"description": "Describes the Physically Based Rendering (PBR) material workflow used, either 'metallic' or 'specular'.", | ||
"enum": ["metallic", "specular", "none"] | ||
}, | ||
"triangleCount": { | ||
"type": "integer", | ||
"description": "The total number of triangles in the model. A quad polygon counts as two triangles." | ||
}, | ||
"meshCount": { | ||
"type": "integer", | ||
"description": "The total number of meshes in the 3D geometry." | ||
}, | ||
"textureResolutions": { | ||
"type": "array", | ||
"description": "Lists all texture resolutions used in the 3D model (e.g., '1K', '2K', '4K').", | ||
"items": { | ||
"type": "string", | ||
"enum": ["1K", "2K", "4K"] | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
}, | ||
"normalMapFormat": { | ||
"type": "string", | ||
"description": "Specifies the format of normal maps, such as 'DirectX' or 'OpenGL'.", | ||
"enum": ["DirectX", "OpenGL", "none"] | ||
}, | ||
"boundingBox": { | ||
"type": "object", | ||
"description": "Defines the axis-aligned bounding box dimensions for the asset.", | ||
"properties": { | ||
"x": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the x-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
}, | ||
"y": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the y-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"type": "object", | ||
"description": "Root object for the JSON data structure", | ||
"properties": { | ||
"metadata": { | ||
"type": "object", | ||
"description": " Part of the 3D asset file https://github.com/asam-ev/OpenMATERIAL/blob/main/content/geometry/general.adoc#3d-asset-file ; contains key information about the asset, including its identity, authorship, technical specifications, and legal details.", | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The display name of the asset, such as 'Car Model A' or 'Urban Scene 1'." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A concise summary of the asset's purpose or features (2-3 sentences)." | ||
}, | ||
"uuid": { | ||
"type": "string", | ||
"description": "Universally unique identifier for the asset. See https://en.wikipedia.org/wiki/Universally_unique_identifier. The uuid stays the same, even if version is updated.", | ||
"pattern": "^[a-f0-9]{32}$" | ||
}, | ||
"assetVersion": { | ||
"type": "string", | ||
"description": "The version number of the asset, following Semantic Versioning (e.g., '1.0.0').", | ||
"pattern": "^\\d+\\.\\d+\\.\\d+$" | ||
}, | ||
"openMaterialVersion": { | ||
"type": "string", | ||
"description": "The version of the OpenMATERIAL specification used, adhering to Semantic Versioning.", | ||
"pattern": "^\\d+\\.\\d+\\.\\d+$" | ||
}, | ||
"copyright": { | ||
"type": "string", | ||
"description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.')." | ||
}, | ||
"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." | ||
}, | ||
"author": { | ||
"type": "string", | ||
"description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." | ||
}, | ||
"modelCreationTool": { | ||
"type": "string", | ||
"description": "Specifies the software or tool (and version) used to create the 3D model (e.g., 'Blender 3.5')." | ||
}, | ||
"creationDate": { | ||
"type": "string", | ||
"description": "The date and time of asset creation, formatted in ISO 8601 (e.g., '2024-11-20T15:30:00Z').", | ||
"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'." | ||
}, | ||
"validationDescription": { | ||
"type": "string", | ||
"description": "Details the validation process used to compare the model geometry with real-world objects." | ||
}, | ||
"assetType": { | ||
"type": "string", | ||
"description": "Specifies whether the asset represents an individual object ('object') or a collection of objects ('scene').", | ||
"enum": [ | ||
"object", | ||
"scene" | ||
] | ||
}, | ||
"objectClass": { | ||
"type": "string", | ||
"description": "Classifies the object type when 'assetType' is 'object', e.g., 'vehicle' or 'human'.", | ||
"enum": [ | ||
"vehicle", | ||
"human", | ||
"road_network", | ||
"other" | ||
] | ||
}, | ||
"animated": { | ||
"type": "boolean", | ||
"description": "Indicates whether the 3D model contains keyframe animations." | ||
}, | ||
"pbrMaterialWorkflow": { | ||
"type": "string", | ||
"description": "Whether the Physically Based Rendering (PBR) material workflow used. If so, workflow should be either 'metallic' or 'specular'.", | ||
"enum": [ | ||
"metallic", | ||
"specular", | ||
"none" | ||
] | ||
}, | ||
"triangleCount": { | ||
"type": "integer", | ||
"description": "The total number of triangles in the model. A quad polygon counts as two triangles." | ||
}, | ||
"meshCount": { | ||
"type": "integer", | ||
"description": "The total number of meshes in the 3D geometry." | ||
}, | ||
"textureResolutions": { | ||
"type": "array", | ||
"description": "Lists all texture resolutions used in the 3D model (e.g., '1K', '2K', '4K').", | ||
"items": { | ||
"type": "string", | ||
"enum": [ | ||
"1K", | ||
"2K", | ||
"4K" | ||
] | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
}, | ||
"normalMapFormat": { | ||
"type": "string", | ||
"description": "Specifies whether the 3D model utilizes normal maps as textures. If so, its format should be either DirectX or OpenGL. ", | ||
"enum": [ | ||
"DirectX", | ||
"OpenGL", | ||
"none" | ||
] | ||
}, | ||
"boundingBox": { | ||
"type": "object", | ||
"description": "Defines the axis-aligned which defines the spatial boundaries of an asset in a 3D space.", | ||
"properties": { | ||
"x": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the x-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
}, | ||
"y": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the y-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
}, | ||
"z": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the z-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
} | ||
}, | ||
"required": [ | ||
"x", | ||
"y", | ||
"z" | ||
] | ||
} | ||
}, | ||
"z": { | ||
"type": "array", | ||
"description": "Minimum and maximum values in meters along the z-axis.", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"minItems": 2, | ||
"maxItems": 2 | ||
"required": [ | ||
"name", | ||
"description", | ||
"uuid", | ||
"assetVersion", | ||
"openMaterialVersion", | ||
"copyright", | ||
"license", | ||
"author", | ||
"creationDate", | ||
"assetType", | ||
"objectClass", | ||
"animated", | ||
"pbrMaterialWorkflow", | ||
"triangleCount", | ||
"meshCount", | ||
"textureResolutions", | ||
"normalMapFormat", | ||
"boundingBox" | ||
] | ||
}, | ||
"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 OpenMATERIAL property files.", | ||
"pattern": ".*\\.xomm$" | ||
}, | ||
"materialTextureAssignment": { | ||
"type": "array", | ||
"description": "Optional array containing material texture assignments. It links material names contained in the 3D model file to OpenMATERIAL assignment textures. In a separate material mapping file, the 'color' values in this texture are linked to OpenMATERIAL property files.", | ||
"items": { | ||
"type": "array", | ||
"items": [ | ||
{ | ||
"type": "string", | ||
"description": "Name of the material in the 3D model file." | ||
}, | ||
{ | ||
"type": "string", | ||
"description": "File path to the OpenMATERIAL assignment texture. Supported texture formats are png and jpg.", | ||
"pattern": "^(\\./|/)?([a-zA-Z0-9_\\-./]+)\\.(png|jpg|jpeg)$" | ||
} | ||
], | ||
"minItems": 2, | ||
"maxItems": 2 | ||
} | ||
}, | ||
"required": ["x", "y", "z"] | ||
} | ||
}, | ||
"required": [ | ||
"name", | ||
"description", | ||
"uuid", | ||
"assetVersion", | ||
"openMaterialVersion", | ||
"copyright", | ||
"license", | ||
"author", | ||
"creationDate", | ||
"assetType", | ||
"objectClass", | ||
"animated", | ||
"pbrMaterialWorkflow", | ||
"triangleCount", | ||
"meshCount", | ||
"textureResolutions", | ||
"normalMapFormat", | ||
"boundingBox" | ||
] | ||
}, | ||
"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 OpenMATERIAL property files.", | ||
"pattern": ".*\\.xomm$" | ||
}, | ||
"materialTextureAssignment": { | ||
"type": "array", | ||
"description": "Optional array containing material texture assignments. It links material names contained in the 3D model file to OpenMATERIAL assignment textures. In a separate material mapping file, the 'color' values in this texture are linked to OpenMATERIAL property files.", | ||
"items": { | ||
"type": "array", | ||
"items": [ | ||
{ | ||
"type": "string", | ||
"description": "Name of the material in the 3D model file." | ||
}, | ||
{ | ||
"type": "string", | ||
"description": "File path to the OpenMATERIAL assignment texture. Supported texture formats are png and jpg.", | ||
"pattern": "^(\\./|/)?([a-zA-Z0-9_\\-./]+)\\.(png|jpg|jpeg)$" | ||
} | ||
], | ||
"minItems": 2, | ||
"maxItems": 2 | ||
} | ||
} | ||
}, | ||
"required": [ | ||
"metadata" | ||
] | ||
} | ||
"required": [ | ||
"metadata" | ||
] | ||
} |