diff --git a/src/components/ModelStateIndicator.tsx b/src/components/ModelStateIndicator.tsx
index 378e90eec..641d1edad 100644
--- a/src/components/ModelStateIndicator.tsx
+++ b/src/components/ModelStateIndicator.tsx
@@ -29,6 +29,12 @@ export const ModelStateIndicator = () => {
name="checkmark"
/>
)
+ } else if (lastCommandType === 'export-done') {
+ className +=
+ 'border-6 border border-solid border-chalkboard-60 dark:border-chalkboard-80 bg-chalkboard-20 dark:bg-chalkboard-80 !group-disabled:bg-chalkboard-30 !dark:group-disabled:bg-chalkboard-80 rounded-sm bg-succeed-10/30 dark:bg-succeed'
+ icon = (
+
+ )
}
return (
diff --git a/src/lang/std/engineConnection.ts b/src/lang/std/engineConnection.ts
index 169b198d4..078962a24 100644
--- a/src/lang/std/engineConnection.ts
+++ b/src/lang/std/engineConnection.ts
@@ -1252,6 +1252,10 @@ export type CommandLog =
type: 'execution-done'
data: null
}
+ | {
+ type: 'export-done'
+ data: null
+ }
export enum EngineCommandManagerEvents {
// engineConnection is available but scene setup may not have run
@@ -1918,7 +1922,13 @@ export class EngineCommandManager extends EventTarget {
} else if (cmd.type === 'export') {
const promise = new Promise((resolve, reject) => {
this.pendingExport = {
- resolve,
+ resolve: (passThrough) => {
+ this.addCommandLog({
+ type: 'export-done',
+ data: null,
+ })
+ resolve(passThrough)
+ },
reject: (reason: string) => {
this.exportIntent = null
reject(reason)