auto-git:

[change] src/main.tsx
This commit is contained in:
2026-05-01 18:52:20 +02:00
parent f69cd4d269
commit 30aae4f846

View File

@@ -4,7 +4,11 @@ import ReactDOM from "react-dom/client";
import { App } from "./app/App";
import "./app/app.css";
import { createEditorStore } from "./app/editor-store";
import { getBrowserStorageAccess, loadOrCreateSceneDocument } from "./serialization/local-draft-storage";
import {
createBrowserEditorDraftStorage,
loadOrCreateEditorDraft
} from "./serialization/editor-draft-storage";
import { getBrowserStorageAccess } from "./serialization/local-draft-storage";
const rootElement = document.getElementById("root");
@@ -12,21 +16,45 @@ if (rootElement === null) {
throw new Error("Expected #root element to bootstrap the editor.");
}
const storageAccess = getBrowserStorageAccess();
const bootstrapResult = loadOrCreateSceneDocument(storageAccess.storage);
const editorStore = createEditorStore({
initialProjectDocument: bootstrapResult.document,
initialViewportLayoutState: bootstrapResult.viewportLayoutState ?? undefined,
storage: storageAccess.storage
});
const initialStatusMessage = [storageAccess.diagnostic, bootstrapResult.diagnostic].filter(Boolean).join(" ") || undefined;
async function bootstrapEditor() {
const storageAccess = getBrowserStorageAccess();
const draftStorageAccess = await createBrowserEditorDraftStorage({
legacyStorage: storageAccess.storage
});
const bootstrapResult = await loadOrCreateEditorDraft(
draftStorageAccess.storage
);
const editorStore = createEditorStore({
initialProjectDocument: bootstrapResult.document,
initialViewportLayoutState: bootstrapResult.viewportLayoutState ?? undefined,
storage: storageAccess.storage
});
const initialStatusMessage =
[
storageAccess.diagnostic,
draftStorageAccess.diagnostic,
bootstrapResult.diagnostic
]
.filter(Boolean)
.join(" ") || undefined;
if (import.meta.env.DEV) {
(window as Window & { __webeditor3dEditorStore?: typeof editorStore }).__webeditor3dEditorStore = editorStore;
if (import.meta.env.DEV) {
(
window as Window & { __webeditor3dEditorStore?: typeof editorStore }
).__webeditor3dEditorStore = editorStore;
}
ReactDOM.createRoot(rootElement!).render(
<React.StrictMode>
<App
store={editorStore}
draftStorage={draftStorageAccess.storage}
initialStatusMessage={initialStatusMessage}
/>
</React.StrictMode>
);
}
ReactDOM.createRoot(rootElement).render(
<React.StrictMode>
<App store={editorStore} initialStatusMessage={initialStatusMessage} />
</React.StrictMode>
);
void bootstrapEditor().catch((error) => {
throw error;
});