From 41e8a418e71cfb4ccdb2edfc922b417ca07a56fb Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 18 Mar 2024 19:34:54 -0400 Subject: [PATCH] remove an invalid URL type from engine url mapping --- .../common/Scene3D/GetEngineUrl.test.ts | 18 +++++++++--------- .../components/common/Scene3D/GetEngineUrl.ts | 18 ++++-------------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts index b2d08a08be..14fb4514b8 100644 --- a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts +++ b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts @@ -104,15 +104,6 @@ describe('media files', () => { const url = GetEngineUrl({mode: EngineMode.Studio, asset: mediaFile }); expect(url).toEqual("https://engine.fakeyou.com/?mode=studio&scene=remote://MEDIA_FILE_TOKEN.scn.ron"); }); - - test('from media subtype and media type (.glb)', () => { - mediaFile.media_type = MediaFileType.GLB; - mediaFile.media_class = MediaFileClass.Scene; - mediaFile.maybe_media_subtype = MediaFileSubtype.StorytellerScene; - - const url = GetEngineUrl({mode: EngineMode.Studio, asset: mediaFile }); - expect(url).toEqual("https://engine.fakeyou.com/?mode=studio&sceneImport=remote://MEDIA_FILE_TOKEN.glb"); - }); }); // Production examples: @@ -136,6 +127,15 @@ describe('media files', () => { const url = GetEngineUrl({mode: EngineMode.Viewer, asset: mediaFile }); expect(url).toEqual("https://engine.fakeyou.com/?mode=viewer&sceneImport=https://storage.googleapis.com/dev-vocodes-public/path/to/file.gltf"); }); + + test('glb with scene media_class and storyteller_scene subtype', () => { + mediaFile.media_type = MediaFileType.GLB; + mediaFile.media_class = MediaFileClass.Scene; + mediaFile.maybe_media_subtype = MediaFileSubtype.StorytellerScene; + + const url = GetEngineUrl({mode: EngineMode.Studio, asset: mediaFile }); + expect(url).toEqual("https://engine.fakeyou.com/?mode=studio&sceneImport=remote://MEDIA_FILE_TOKEN.glb"); + }); }); // Production examples: diff --git a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts index 170bc38e20..19c6bbf023 100644 --- a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts +++ b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts @@ -57,8 +57,9 @@ export function GetEngineUrl(args: GetEngineUrlArgs) : string { args.asset.media_class === MediaFileClass.Scene && args.asset.maybe_media_subtype === MediaFileSubtype.StorytellerScene ) { - // TODO: GLB docs - // NB: Not sure if `maybe_media_subtype` may or may not be required? + // GLB Scenes + // NB: Not sure if `maybe_media_subtype` is required to be "storyteller_scene". + // We'll require it in the file for now, but may loosen this restriction. const sceneUrlRef = `remote://${args.asset.token}.glb`; engineUrl += `&sceneImport=${sceneUrlRef}`; } else if ( @@ -69,18 +70,7 @@ export function GetEngineUrl(args: GetEngineUrlArgs) : string { // 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. - let extension; - - switch (args.asset.media_type) { - case MediaFileType.SceneRon: - extension = "scn.ron"; - break; - case MediaFileType.GLB: - default: - extension = "glb"; - break; - } - const sceneUrlRef = `remote://${args.asset.token}.${extension}`; + const sceneUrlRef = `remote://${args.asset.token}.scn.ron`; engineUrl += `&scene=${sceneUrlRef}`; } else if ( args.asset.maybe_media_subtype === MediaFileSubtype.Mixamo