ADR-0034 Storage Path Scheme Update
Publication Date | 2022-05-23 |
---|---|
Last Update | 2022-06-27 |
Status | Accepted |
Amends | ADR-0021 Storage Path Scheme |
Context
Updates on storage paths for all Use Cases in order to more properly reflect on the final applications / services and their operation.
Conclusion
Storage Access Paths in Use Cases
Use Case 1
Changes in contrast with the previous version of UC3 storage path scheme:
- Animation, Avatar, Garment and Storage files are no longer required to be saved in Storage, as they are prebaked in the Unity Application in the form of alembic files.
- No scan functionality is implemented so no need for Scanatar files to be saved in Storage.
Therefore no Storage will be utilized for Use Case 1.
Use Case 2
Filename | Description | Type | Folder Path |
---|---|---|---|
avatar-file-{timestamp} | The Metail avatar that is created for each user | .bin(*) | avatar >user >{userID} |
garment-file-{group_id} | The garment 3D design file | .bw | garment >internal |
user-media-{timestamp} | A photo taken by the user | .jpg | collection >user >{userID} |
output-{timestamp} | The synthesized image, output from the platform | .jpg | collection >user >{userID} |
scanatar-file-{timestamp} | A temporary 3D Object | .ply | qcscan >user >{userID} |
scanatar-meta-{timestamp} | A JSON file that features details about the Scanatar | .json | qcmeta >user >{userID} |
(*) The bin
file is a proprietary Metail format. For every photograph submitted by the user, we will apply its pose to the bin
file and generate a temporary FBX file that will be used in VStitcher to dress the avatar with the selected garment. See UC2 architecture diagram for details.
Use Case 3
Changes in contrast with the previous version of UC3 storage path scheme:
- Avatar files are no longer needed to be saved in storage. They are included in the mobile application.
- A garment file is now a container that features fbx, texture and obi files.
- Texture files are no longer needed to be saved in storage. They are included inside the garment asset bundles.
- Scanatar files are no longer required because there will be no scan function in the application.
Filename | Description | Type | Folder Path |
---|---|---|---|
garment-file-{timestamp} | The garment asset bundle file. It’s a no filetype file that is read by Unity and contains fbx, texture and obi files. | no filetype |
garment >shared |
photo-{documentID}-{timestamp} | Photos that are saved by the user when trying on a garment using the camera | .jpg | photos >user >{userID} |
Term Index
documentID
: Google Firestore Database saves and handles data into Collections. Data entries written in a collection are assigned a unique id. This ID is used in Firebase Storage to connect assets to collection items.userID
: Each registered user has a unique identifier in Firestore Database. This user id is used in some parts in Firebase Storage path scheme to denote ownership of assets.timestamp
: The timestamp is expressed in milliseconds since the Unix Epoch.group_id
: An identifier (group_id field also in Firestore) of a garment size set bw file.