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 f60ab56ce2..b2d08a08be 100644 --- a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts +++ b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.test.ts @@ -107,10 +107,11 @@ describe('media files', () => { 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&scene=remote://MEDIA_FILE_TOKEN.glb"); + expect(url).toEqual("https://engine.fakeyou.com/?mode=studio&sceneImport=remote://MEDIA_FILE_TOKEN.glb"); }); }); diff --git a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts index 49d735f680..170bc38e20 100644 --- a/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts +++ b/packages/fakeyou.com/src/components/common/Scene3D/GetEngineUrl.ts @@ -4,6 +4,7 @@ import { EngineMode } from "./EngineMode"; import { MediaFileSubtype } from "@storyteller/components/src/api/enums/MediaFileSubtype"; import { MediaFileType } from "@storyteller/components/src/api/_common/enums/MediaFileType"; import { BucketConfig } from "@storyteller/components/src/api/BucketConfig"; +import { MediaFileClass } from "@storyteller/components/src/api/enums/MediaFileClass"; // Storyteller Engine parameters // These are documented here: @@ -52,6 +53,15 @@ export function GetEngineUrl(args: GetEngineUrlArgs) : string { const bucketAssetUrl = new BucketConfig().getGcsUrl(args.asset.public_bucket_path); if ( + args.asset.media_type === MediaFileType.GLB && + 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? + const sceneUrlRef = `remote://${args.asset.token}.glb`; + engineUrl += `&sceneImport=${sceneUrlRef}`; + } else if ( args.asset.maybe_media_subtype === MediaFileSubtype.StorytellerScene || args.asset.media_type === MediaFileType.SceneRon ) {