Scenes can be serialized to JSON for saving and loading:

// Serialize scene to JSON
const serializedScene = BABYLON.SceneSerializer.Serialize(scene);
const sceneString = JSON.stringify(serializedScene);

// Save to localStorage or server...
localStorage.setItem('savedScene', sceneString);

// Later, load the scene
const loadedScene = new BABYLON.Scene(engine);
const savedData = localStorage.getItem('savedScene');
BABYLON.SceneLoader.Append("", "data:" + savedData, loadedScene);