fix glb + scene urls

This commit is contained in:
Brandon Thomas committed 2024-03-18 19:17:48 -04:00
1 parent 7dd8b473be
commit cf2871c129
2 files changed
+12 -1

No files matched your search

@@ -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");
});
});
@@ -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
) {