diff --git a/server/render.html b/server/render.html
index 4c1dd90..9059329 100644
--- a/server/render.html
+++ b/server/render.html
@@ -106,13 +106,17 @@
ctx.fillStyle=fill;
ctx.fillRect(-rOffX,-rOffY,asset.width,asset.height);
} else if(asset.kind==='circle'){
+ var cOffX=layer.offsetX!=null?layer.offsetX:0;
+ var cOffY=layer.offsetY!=null?layer.offsetY:0;
ctx.fillStyle=fill;
- ctx.beginPath(); ctx.arc(0,0,asset.radius,0,Math.PI*2); ctx.fill();
+ ctx.beginPath(); ctx.arc(-cOffX,-cOffY,asset.radius,0,Math.PI*2); ctx.fill();
} else if(asset.kind==='text'){
+ var tOffX=layer.offsetX!=null?layer.offsetX:0;
+ var tOffY=layer.offsetY!=null?layer.offsetY:0;
ctx.fillStyle=fill;
ctx.font=asset.fontSize+'px sans-serif';
ctx.textBaseline='top';
- ctx.fillText(asset.text,0,0);
+ ctx.fillText(asset.text,-tOffX,-tOffY);
} else if(asset.kind==='image'){
var img=images[asset.id];
if(img){
diff --git a/src/components/AssetSidebar.vue b/src/components/AssetSidebar.vue
index 9c8dad1..6fcd0f8 100644
--- a/src/components/AssetSidebar.vue
+++ b/src/components/AssetSidebar.vue
@@ -1,8 +1,10 @@
@@ -131,11 +166,51 @@ const assetsWithUsage = computed(() =>
/>
{{ uploadError }}
- Bibliothek
-
+
{
+
+
+
diff --git a/src/components/ExportDialog.vue b/src/components/ExportDialog.vue
index 9db7e12..78315b6 100644
--- a/src/components/ExportDialog.vue
+++ b/src/components/ExportDialog.vue
@@ -3,12 +3,13 @@ import { onBeforeUnmount, onMounted, ref } from 'vue'
import {
PhCode,
PhDownloadSimple,
+ PhEngine,
PhFileHtml,
PhFilmSlate,
PhX,
} from '@phosphor-icons/vue'
import { useSceneStore } from '@/stores/scene'
-import { downloadExampleHtml, downloadExport } from '@/lib/exportPlayer'
+import { downloadExampleHtml, downloadRuntime, downloadSceneExport } from '@/lib/exportPlayer'
import { downloadSceneAsVideo, pickMimeType } from '@/lib/videoExport'
import { downloadFromServer } from '@/lib/serverExport'
@@ -31,8 +32,13 @@ function sceneClone() {
return JSON.parse(JSON.stringify(store.scene))
}
-function exportJs() {
- downloadExport(sceneClone())
+function exportScene() {
+ downloadSceneExport(sceneClone())
+ close()
+}
+
+function exportRuntime() {
+ downloadRuntime()
close()
}
@@ -133,14 +139,26 @@ onBeforeUnmount(() => document.removeEventListener('keydown', onKeyDown))
-