mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-09 11:31:27 +00:00
added overrideURL prop to Scene3D for dev/debugging
This commit is contained in:
1 parent
6d91d0fbf5
commit
f183cf913c
3 files changed
+38
-27
No files matched your search
@@ -13,6 +13,9 @@ import { MediaFileClass } from "@storyteller/components/src/api/enums/MediaFileC
|
||||
interface GetEngineUrlArgs {
|
||||
mode: EngineMode,
|
||||
|
||||
// override the URL for local development
|
||||
overrideURL?: string,
|
||||
|
||||
// Polymorphic type of asset we're loading into the engine.
|
||||
asset: LoadableAsset
|
||||
|
||||
@@ -53,7 +56,7 @@ export type LoadableAsset = MediaFile | EngineObject | StorytellerSceneMediaFile
|
||||
const ENGINE_BASE_URL = "https://engine.fakeyou.com";
|
||||
|
||||
export function GetEngineUrl(args: GetEngineUrlArgs) : string {
|
||||
let engineUrl = `${ENGINE_BASE_URL}/?mode=${args.mode}`;
|
||||
let engineUrl = `${args.overrideURL || ENGINE_BASE_URL}/?mode=${args.mode}`;
|
||||
|
||||
|
||||
if (args.skybox) {
|
||||
|
||||
@@ -13,6 +13,9 @@ interface Scene3DProps {
|
||||
// The mode to open the engine in.
|
||||
mode: EngineMode;
|
||||
|
||||
// for local dev
|
||||
overrideURL?: string,
|
||||
|
||||
// A polymorphic asset type.
|
||||
// See `GetEngineUrl()` for usage.
|
||||
asset: LoadableAsset,
|
||||
@@ -43,14 +46,15 @@ export default function Scene3D({
|
||||
className,
|
||||
onSceneReadyCallback,
|
||||
onSceneSavedCallback,
|
||||
overrideURL,
|
||||
}: Scene3DProps) {
|
||||
|
||||
const iframeRef = useRef<HTMLIFrameElement>(null);
|
||||
|
||||
const onMessage = useCallback((event: MessageEvent) => {
|
||||
console.log("engine message received", event.data, event);
|
||||
console.log("🟢 engine message received", event.data, event, onSceneReadyCallback !== undefined);
|
||||
|
||||
if (event.origin !== CHECK_FRAME_URL)
|
||||
if (!overrideURL && event.origin !== CHECK_FRAME_URL)
|
||||
return;
|
||||
|
||||
if (event.data === "studio-ready") {
|
||||
@@ -81,7 +85,7 @@ export default function Scene3D({
|
||||
} else if (event.data === "scene-save-failed") {
|
||||
console.error("Failed to save the scene!");
|
||||
}
|
||||
}, [onSceneReadyCallback, onSceneSavedCallback]);
|
||||
}, [onSceneReadyCallback, onSceneSavedCallback, overrideURL]);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
@@ -91,8 +95,12 @@ export default function Scene3D({
|
||||
}
|
||||
}, [onMessage]);
|
||||
|
||||
|
||||
let engineUrl = GetEngineUrl({mode: mode, asset: asset, skybox: skybox})
|
||||
let engineUrl = GetEngineUrl({
|
||||
mode: mode,
|
||||
overrideURL,
|
||||
asset: asset,
|
||||
skybox: skybox
|
||||
});
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -86,20 +86,6 @@ export default function StudioTutorial(props: Props) {
|
||||
|
||||
const styleMediaLink = styleMediaToken && styleMedia && new BucketConfig().getGcsUrl(styleMedia?.public_bucket_path || "");
|
||||
|
||||
console.log("🚒 tutorial overall state",{
|
||||
compositeJobStatus,
|
||||
compositing,
|
||||
compositeMediaToken,
|
||||
queryCompositeJob,
|
||||
queryStyleJob,
|
||||
styleJobStatus,
|
||||
styleEnqueued,
|
||||
styling,
|
||||
styleMediaToken,
|
||||
urlQueries,
|
||||
styleMediaLink
|
||||
});
|
||||
|
||||
// If the user saves the scene in the engine, we'll need to use the new token
|
||||
// for subsequent steps of this flow.
|
||||
const [savedMediaToken, setSavedMediaToken] = useState(mediaToken);
|
||||
@@ -270,17 +256,31 @@ export default function StudioTutorial(props: Props) {
|
||||
vstValues
|
||||
]);
|
||||
|
||||
console.log("🚒 tutorial overall state",{
|
||||
compositeJobStatus,
|
||||
compositing,
|
||||
compositeMediaToken,
|
||||
queryCompositeJob,
|
||||
queryStyleJob,
|
||||
sceneIsLoadedCount,
|
||||
styleJobStatus,
|
||||
styleEnqueued,
|
||||
styling,
|
||||
styleMediaToken,
|
||||
urlQueries,
|
||||
styleMediaLink
|
||||
});
|
||||
|
||||
return !props.sessionWrapper.canAccessStudio() ?
|
||||
<StudioNotAvailable /> :
|
||||
<div className="studio-tutorial-page">
|
||||
<Scene3D
|
||||
// fullScreen={true}
|
||||
mode={EngineMode.Studio}
|
||||
asset={assetDescriptor}
|
||||
onSceneReadyCallback={onSceneReadyCallback}
|
||||
onSceneSavedCallback={onSaveCallback}
|
||||
/>
|
||||
<Scene3D {...{
|
||||
asset: assetDescriptor,
|
||||
mode: EngineMode.Studio,
|
||||
onSaveCallback,
|
||||
onSceneReadyCallback,
|
||||
// overrideURL: "http://127.0.0.1:4200", // COMMENT OUT BEFORE PUSHING
|
||||
}}/>
|
||||
<div {...{ className: "studio-tutorial-style" }}>
|
||||
<BasicTabs {...{
|
||||
onChange: ({ target }: { target: any }) => selectedTabSet(target.value),
|
||||
|
||||
Reference in new issue
Block a user