Adds a to-scale footprint (a building box) at the view centre. Drag it into place,
then set its height/yaw in the panel. Footprints in cm; not affiliated with the LEGO Group.
-
+
+
+
+
+
Layouts
+
Each layout stores this scene and its playlist. Save the current arrangement
+ under a name, then load any saved layout to switch the live exhibit (all viewers update).
+ Save your current edits first — loading replaces the live scene.
+
+
+
+
+
`;
@@ -311,6 +330,57 @@ setList.querySelectorAll('[data-fp]').forEach(b => b.onclick = () => {
buildAll(); panel();
});
+// ---------- layouts (save / load / delete) ----------
+const layoutsModal = document.getElementById('layoutsModal');
+const layoutList = document.getElementById('layoutList');
+async function refreshLayouts() {
+ let data;
+ try { data = await api('/api/layouts'); }
+ catch { layoutList.innerHTML = 'Could not load layouts.'; return; }
+ const { layouts, activeSlug } = data;
+ if (!layouts.length) { layoutList.innerHTML = 'No saved layouts yet. Name one above and Save current.'; return; }
+ layoutList.innerHTML = layouts.map(l => `