# Scenes & Serialization SimVX scenes can be saved to JSON and loaded back, preserving the full node hierarchy and settings. ## Save & Load ```python from simvx.core import save_scene, load_scene # Save entire scene tree to JSON save_scene(root_node, "scenes/level1.json") # Load scene from file scene = load_scene("scenes/level1.json") tree.set_root(scene) ``` ## PackedScene `PackedScene` creates reusable prefabs from scene branches: ```python from simvx.core import PackedScene # Create a prefab from an existing node tree packed = PackedScene(enemy_template) # Instantiate copies enemy1 = packed.instance() enemy2 = packed.instance() root.add_child(enemy1) root.add_child(enemy2) ``` ## JSON Format Scenes serialize as JSON with type annotations: ```json { "__type__": "Node3D", "name": "Player", "settings": { "position": [0, 1, 0] }, "children": [ { "__type__": "Camera3D", "name": "Camera", "settings": { "fov": 75.0 } } ] } ``` ## API Reference See {py:mod}`simvx.core.scene` for the complete serialization API.