diff --git a/packages/components/src/api/_common/enums/MediaFileType.ts b/packages/components/src/api/_common/enums/MediaFileType.ts
index e207978397..4ca8a0b07f 100644
--- a/packages/components/src/api/_common/enums/MediaFileType.ts
+++ b/packages/components/src/api/_common/enums/MediaFileType.ts
@@ -2,9 +2,27 @@ export enum MediaFileType {
Audio = "audio",
Video = "video",
Image = "image",
+
+ // BVH is a very popular file format for motion capture.
+ // It is compatible with our engine.
BVH = "bvh",
+
+ // GLTF is the text-based format of GLB. Unforunately it requires a
+ // second file to include the visual data, so we strongly discourage
+ // the use of this format in favor of GLB.
GLTF = "gltf",
+
+ // GLB is the format we convert FBX files into. It's a very popular
+ // open source 3D file format.
GLB = "glb",
+
+ // FBX isn't supported by Storyteller Engine, but we can get
+ // uploads in this format. It's a very popular 3D graphics format.
FBX = "fbx",
+
+ // Full Storyteller Engine scenes (RON = Rusty Object Notation)
+ // This is a temporary format that will eventually go away.
+ SceneRon = "scene_ron",
+
None = "none",
}
diff --git a/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx b/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
index eafc6fbab6..dbfd1c360a 100644
--- a/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
@@ -226,6 +226,19 @@ export default function MediaPage() {
}}
/>
);
+ case MediaFileType.SceneRon:
+ // NB: Storyteller Engine makes the API call to load the scene.
+ // We don't need to pass the bucket path.
+ // The engine, does, however, need a `.scn.ron` file extension.
+ const sceneRonUrl = `remote://${mediaFile.token}.scn.ron`;
+ return (
+
+ );
case MediaFileType.FBX:
return (