You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: spec.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# AssetFetch Specification - Draft Version 0.2
1
+
# AssetFetch Specification - Version 0.2
2
2
3
3
This document specifies **AssetFetch**, an HTTP- and JSON-based system for browsing, retrieving and handling/importing digital assets for media creation.
4
4
The AssetFetch Protocol aims to provide a standardized way for artists to browse libraries of downloadable assets offered by providers *outside* their current production environment/pipeline, such as those of commercial or non-profit 3D asset vendors, marketplaces or other repositories of models, textures or any other kind of digital assets.
@@ -347,6 +347,7 @@ Examples for proper user-agents are:
347
347
cinema4d/2024.2 MyAssetFetchPlugin/1.2.3
348
348
3dsmax/2023u1 AssetFetchFor3dsMax/0.5.7
349
349
blender/4.0.3 BlenderAssetFetch/v17
350
+
standaloneAssetFetchClient/1.4.2.7
350
351
```
351
352
352
353
## Variable and Fixed Queries
@@ -396,8 +397,6 @@ A typical example for a fixed query is a download option for a file where the cl
396
397
397
398
The full field list of a fixed query object can be found in the [`fixed_query` datablock template](#fixed_query).
398
399
399
-
400
-
401
400
## HTTP Codes and Error Handling
402
401
403
402
Every response sent from an AssetFetch provider MUST use HTTP Status codes appropriately.
@@ -505,7 +504,7 @@ The response on this endpoint MUST have the following structure:
505
504
- The `data` field MUST always contain the datablock `asset_list_query`.
506
505
- The `data` field SHOULD always contain the datablock `text`.
507
506
- The `data` field MAY contain the datablocks `branding`, `authors`, `license`, and/or `web_references`.
508
-
- The `data` field MUST contain the datablock `headers` if other parts of the API require header-based authentication to function. It MAY still be used for other purposes.
507
+
- The `data` field MUST contain the datablock `headers` if other parts of the API require header-based authentication to function.
509
508
510
509
## Asset List
511
510
@@ -519,7 +518,7 @@ The response on this endpoint MUST have the following structure:
519
518
|`data`|`datablock_collection`| yes ||
520
519
|`assets`| array of `asset`| yes ||
521
520
522
-
- The `data` field MAY contain the datablocks `next_query`, `response_statistics`and/or `text`.
521
+
- The `data` field MAY contain the datablocks `next_query`and/or `response_statistics`.
523
522
- The `assets` field MUST NOT contain more than 100 entries for one response. If more assets than this are contained in the response, the `next_query` datablock SHOULD be used to define a new query that the client can use to fetch more results.
524
523
525
524
### `asset` Structure
@@ -832,7 +831,7 @@ The destination is defined via the `file_info` datablock.
832
831
833
832
These datablocks relate to how assets and their details are displayed to the user.
General text information to be displayed to the user.
837
836
838
837
| Field | Format | Required | Description |
@@ -1085,8 +1084,7 @@ This allows the use of `.mtlx` files with mesh file formats that do not have the
1085
1084
### Using loose material declarations
1086
1085
The workflow outlined in the previous section is not always easily achievable since not all file 3D file formats offer up-to-date (or any) support for defining materials.
1087
1086
In those cases it is common practice to simply distribute the necessary material maps along with the mesh files without any concrete machine-readable description for how the maps should be applied
1088
-
The `loose_material_*` datablocks exist to limit the negative impacts of this limitation.
1089
-
The `loose_material_define` and `loose_material_apply` make it possible to define basic PBR materials through datablocks on the individual map components and reference them on the mesh component.
1087
+
The `loose_material_*` datablocks exist to limit the negative impacts of this limitation. They make it possible to define basic PBR materials through datablocks on the individual map components and reference them on the mesh component.
1090
1088
1091
1089
Providers SHOULD make use of this notation if, and only if, other more native representations of the material are unavailable of severely insufficient.
0 commit comments