diff --git a/models/csharp/PinpointModels.cs b/models/csharp/PinpointModels.cs
index 94b127a..bba4416 100644
--- a/models/csharp/PinpointModels.cs
+++ b/models/csharp/PinpointModels.cs
@@ -4,44 +4,114 @@
 [Serializable]
 public struct AffineTransformModel
 {
+    public string Name;
+    public string Prefix;
     public Vector3 Scaling;
     public Vector3 Rotation;
 
-    public AffineTransformModel(Vector3 scaling, Vector3 rotation)
+    public AffineTransformModel(string name, string prefix, Vector3 scaling, Vector3 rotation)
     {
+        Name = name;
+        Prefix = prefix;
         Scaling = scaling;
         Rotation = rotation;
     }
 }
 
+
 [Serializable]
-public struct CraniotomyGroup
+public struct CraniotomyModel
 {
-    public string Atlas;
-    public CraniotomyModel[] Data;
+    public int Index;
+    public Vector2 Size;
+    public Vector3 Position;
 
-    public CraniotomyGroup(string atlas, CraniotomyModel[] data)
+    public CraniotomyModel(int index, Vector2 size, Vector3 position)
     {
-        Atlas = atlas;
-        Data = data;
+        Index = index;
+        Size = size;
+        Position = position;
     }
 }
 
 
 [Serializable]
-public struct CraniotomyModel
+public struct InsertionModel
 {
-    public int Index;
-    public Vector2 Size;
     public Vector3 Position;
-    public bool Rectangle;
+    public Vector3 Angles;
+    public string AtlasName;
+    public string TransformName;
+    public Vector3 ReferenceCoord;
 
-    public CraniotomyModel(int index, Vector2 size, Vector3 position, bool rectangle)
+    public InsertionModel(Vector3 position, Vector3 angles, string atlasName, string transformName, Vector3 referenceCoord)
     {
-        Index = index;
-        Size = size;
         Position = position;
-        Rectangle = rectangle;
+        Angles = angles;
+        AtlasName = atlasName;
+        TransformName = transformName;
+        ReferenceCoord = referenceCoord;
+    }
+}
+
+
+[Serializable]
+public struct ProbeModel
+{
+    public InsertionModel Insertion;
+    public string Uuid;
+    public string Name;
+    public Color Color;
+
+    public ProbeModel(InsertionModel insertion, string uuid, string name, Color color)
+    {
+        Insertion = insertion;
+        Uuid = uuid;
+        Name = name;
+        Color = color;
+    }
+}
+
+
+[Serializable]
+public struct RigModel
+{
+    public string Name;
+    public string Image;
+    public Vector3 Position;
+    public Vector3 Rotation;
+    public bool Active;
+
+    public RigModel(string name, string image, Vector3 position, Vector3 rotation, bool active)
+    {
+        Name = name;
+        Image = image;
+        Position = position;
+        Rotation = rotation;
+        Active = active;
+    }
+}
+
+[Serializable]
+public struct SceneModel
+{
+    public string AtlasName;
+    public string TransformName;
+    public ProbeModel[] Probes;
+    public RigModel[] Rigs;
+    public CraniotomyModel[] Craniotomies;
+    public string[] SceneData;
+    public string Settings;
+
+    public SceneModel(string atlasName, string transformName, ProbeModel[] probes, RigModel[] rigs, CraniotomyModel[] craniotomies, string[] sceneData, string settings)
+    {
+        AtlasName = atlasName;
+        TransformName = transformName;
+        Probes = probes;
+        Rigs = rigs;
+        Craniotomies = craniotomies;
+        SceneData = sceneData;
+        Settings = settings;
     }
 }
 
diff --git a/models/schemas/ephys_link/AngularResponse.json b/models/schemas/ephys_link/AngularResponse.json
index 25bad09..72977e4 100644
--- a/models/schemas/ephys_link/AngularResponse.json
+++ b/models/schemas/ephys_link/AngularResponse.json
@@ -1 +1 @@
-{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "description": "Response format for the manipulator angles.\n\n:param angles: Position of the manipulator.\n:type angles: Vector3", "properties": {"Angles": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "AngularResponse", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "description": "Response format for the manipulator angles.\n\n:param angles: Position of the manipulator.\n:type angles: Vector3", "properties": {"Angles": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "AngularResponse", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/ephys_link/GetManipulatorsResponse.json b/models/schemas/ephys_link/GetManipulatorsResponse.json
index 8839bd8..8ccbeba 100644
--- a/models/schemas/ephys_link/GetManipulatorsResponse.json
+++ b/models/schemas/ephys_link/GetManipulatorsResponse.json
@@ -1 +1 @@
-{"$defs": {"Vector4": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}, "w": {"default": 0.0, "title": "W", "type": "number"}}, "title": "Vector4", "type": "object"}}, "description": "Response format for requesting available manipulators.\n\n:param manipulators: List of manipulators.\n:type manipulators: list[str]\n:param num_axes: Number of axes for the manipulators.\n:type num_axes: int\n:param dimensions: Dimensions of the manipulators (3-axis manipulators should set w to 0).\n:type dimensions: Vector4\n:param error: Error message if any.\n:type error: str", "properties": {"Manipulators": {"items": {"type": "string"}, "title": "Manipulators", "type": "array"}, "NumAxes": {"default": 0, "minimum": -1, "title": "Numaxes", "type": "integer"}, "Dimensions": {"allOf": [{"$ref": "#/$defs/Vector4"}], "default": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "GetManipulatorsResponse", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector4": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}, "w": {"default": 0.0, "title": "W", "type": "number"}}, "title": "Vector4", "type": "object"}}, "description": "Response format for requesting available manipulators.\n\n:param manipulators: List of manipulators.\n:type manipulators: list[str]\n:param num_axes: Number of axes for the manipulators.\n:type num_axes: int\n:param dimensions: Dimensions of the manipulators (3-axis manipulators should set w to 0).\n:type dimensions: Vector4\n:param error: Error message if any.\n:type error: str", "properties": {"Manipulators": {"items": {"type": "string"}, "title": "Manipulators", "type": "array"}, "NumAxes": {"default": 0, "minimum": -1, "title": "Numaxes", "type": "integer"}, "Dimensions": {"$ref": "#/$defs/Vector4", "default": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "GetManipulatorsResponse", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/ephys_link/PositionalResponse.json b/models/schemas/ephys_link/PositionalResponse.json
index 88d236f..ebd4e34 100644
--- a/models/schemas/ephys_link/PositionalResponse.json
+++ b/models/schemas/ephys_link/PositionalResponse.json
@@ -1 +1 @@
-{"$defs": {"Vector4": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}, "w": {"default": 0.0, "title": "W", "type": "number"}}, "title": "Vector4", "type": "object"}}, "description": "Response format for the manipulator position.\n\n:param position: Position of the manipulator.\n:type position: Vector4\n:param error: Error message if any.\n:type error: str", "properties": {"Position": {"allOf": [{"$ref": "#/$defs/Vector4"}], "default": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "PositionalResponse", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector4": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}, "w": {"default": 0.0, "title": "W", "type": "number"}}, "title": "Vector4", "type": "object"}}, "description": "Response format for the manipulator position.\n\n:param position: Position of the manipulator.\n:type position: Vector4\n:param error: Error message if any.\n:type error: str", "properties": {"Position": {"$ref": "#/$defs/Vector4", "default": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 0.0}}, "Error": {"default": "", "title": "Error", "type": "string"}}, "title": "PositionalResponse", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/AffineTransformModel.json b/models/schemas/pinpoint/AffineTransformModel.json
index 98d2ca0..62a1f31 100644
--- a/models/schemas/pinpoint/AffineTransformModel.json
+++ b/models/schemas/pinpoint/AffineTransformModel.json
@@ -1 +1 @@
-{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Scaling": {"$ref": "#/$defs/Vector3"}, "Rotation": {"$ref": "#/$defs/Vector3"}}, "required": ["Scaling", "Rotation"], "title": "AffineTransformModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Name": {"title": "Name", "type": "string"}, "Prefix": {"title": "Prefix", "type": "string"}, "Scaling": {"$ref": "#/$defs/Vector3"}, "Rotation": {"$ref": "#/$defs/Vector3"}}, "required": ["Name", "Prefix", "Scaling", "Rotation"], "title": "AffineTransformModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/CraniotomyGroup.json b/models/schemas/pinpoint/CraniotomyGroup.json
deleted file mode 100644
index 6ccead5..0000000
--- a/models/schemas/pinpoint/CraniotomyGroup.json
+++ /dev/null
@@ -1 +0,0 @@
-{"$defs": {"CraniotomyModel": {"properties": {"Index": {"title": "Index", "type": "integer"}, "Size": {"$ref": "#/$defs/Vector2"}, "Position": {"$ref": "#/$defs/Vector3"}, "Rectangle": {"default": false, "title": "Rectangle", "type": "boolean"}}, "required": ["Index", "Size", "Position"], "title": "CraniotomyModel", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Atlas": {"title": "Atlas", "type": "string"}, "Data": {"items": {"$ref": "#/$defs/CraniotomyModel"}, "title": "Data", "type": "array"}}, "required": ["Atlas", "Data"], "title": "CraniotomyGroup", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/CraniotomyModel.json b/models/schemas/pinpoint/CraniotomyModel.json
index 9a0e27d..d3dab63 100644
--- a/models/schemas/pinpoint/CraniotomyModel.json
+++ b/models/schemas/pinpoint/CraniotomyModel.json
@@ -1 +1 @@
-{"$defs": {"Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Index": {"title": "Index", "type": "integer"}, "Size": {"$ref": "#/$defs/Vector2"}, "Position": {"$ref": "#/$defs/Vector3"}, "Rectangle": {"default": false, "title": "Rectangle", "type": "boolean"}}, "required": ["Index", "Size", "Position"], "title": "CraniotomyModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Index": {"title": "Index", "type": "integer"}, "Size": {"$ref": "#/$defs/Vector2"}, "Position": {"$ref": "#/$defs/Vector3"}}, "required": ["Index", "Size", "Position"], "title": "CraniotomyModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/InsertionModel.json b/models/schemas/pinpoint/InsertionModel.json
new file mode 100644
index 0000000..4cf7607
--- /dev/null
+++ b/models/schemas/pinpoint/InsertionModel.json
@@ -0,0 +1 @@
+{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Position": {"$ref": "#/$defs/Vector3"}, "Angles": {"$ref": "#/$defs/Vector3"}, "AtlasName": {"title": "Atlasname", "type": "string"}, "TransformName": {"title": "Transformname", "type": "string"}, "ReferenceCoord": {"$ref": "#/$defs/Vector3"}}, "required": ["Position", "Angles", "AtlasName", "TransformName", "ReferenceCoord"], "title": "InsertionModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/ProbeModel.json b/models/schemas/pinpoint/ProbeModel.json
new file mode 100644
index 0000000..d0d654b
--- /dev/null
+++ b/models/schemas/pinpoint/ProbeModel.json
@@ -0,0 +1 @@
+{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "InsertionModel": {"properties": {"Position": {"$ref": "#/$defs/Vector3"}, "Angles": {"$ref": "#/$defs/Vector3"}, "AtlasName": {"title": "Atlasname", "type": "string"}, "TransformName": {"title": "Transformname", "type": "string"}, "ReferenceCoord": {"$ref": "#/$defs/Vector3"}}, "required": ["Position", "Angles", "AtlasName", "TransformName", "ReferenceCoord"], "title": "InsertionModel", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Insertion": {"$ref": "#/$defs/InsertionModel"}, "Uuid": {"title": "Uuid", "type": "string"}, "Name": {"title": "Name", "type": "string"}, "Color": {"$ref": "#/$defs/Color"}}, "required": ["Insertion", "Uuid", "Name", "Color"], "title": "ProbeModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/RigModel.json b/models/schemas/pinpoint/RigModel.json
new file mode 100644
index 0000000..c21fbb8
--- /dev/null
+++ b/models/schemas/pinpoint/RigModel.json
@@ -0,0 +1 @@
+{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Name": {"title": "Name", "type": "string"}, "Image": {"title": "Image", "type": "string"}, "Position": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Rotation": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Active": {"title": "Active", "type": "boolean"}}, "required": ["Name", "Image", "Active"], "title": "RigModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/pinpoint/SceneModel.json b/models/schemas/pinpoint/SceneModel.json
new file mode 100644
index 0000000..f383dea
--- /dev/null
+++ b/models/schemas/pinpoint/SceneModel.json
@@ -0,0 +1 @@
+{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "CraniotomyModel": {"properties": {"Index": {"title": "Index", "type": "integer"}, "Size": {"$ref": "#/$defs/Vector2"}, "Position": {"$ref": "#/$defs/Vector3"}}, "required": ["Index", "Size", "Position"], "title": "CraniotomyModel", "type": "object"}, "InsertionModel": {"properties": {"Position": {"$ref": "#/$defs/Vector3"}, "Angles": {"$ref": "#/$defs/Vector3"}, "AtlasName": {"title": "Atlasname", "type": "string"}, "TransformName": {"title": "Transformname", "type": "string"}, "ReferenceCoord": {"$ref": "#/$defs/Vector3"}}, "required": ["Position", "Angles", "AtlasName", "TransformName", "ReferenceCoord"], "title": "InsertionModel", "type": "object"}, "ProbeModel": {"properties": {"Insertion": {"$ref": "#/$defs/InsertionModel"}, "Uuid": {"title": "Uuid", "type": "string"}, "Name": {"title": "Name", "type": "string"}, "Color": {"$ref": "#/$defs/Color"}}, "required": ["Insertion", "Uuid", "Name", "Color"], "title": "ProbeModel", "type": "object"}, "RigModel": {"properties": {"Name": {"title": "Name", "type": "string"}, "Image": {"title": "Image", "type": "string"}, "Position": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Rotation": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Active": {"title": "Active", "type": "boolean"}}, "required": ["Name", "Image", "Active"], "title": "RigModel", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"AtlasName": {"title": "Atlasname", "type": "string"}, "TransformName": {"title": "Transformname", "type": "string"}, "Probes": {"items": {"$ref": "#/$defs/ProbeModel"}, "title": "Probes", "type": "array"}, "Rigs": {"items": {"$ref": "#/$defs/RigModel"}, "title": "Rigs", "type": "array"}, "Craniotomies": {"items": {"$ref": "#/$defs/CraniotomyModel"}, "title": "Craniotomies", "type": "array"}, "SceneData": {"items": {"type": "string"}, "title": "Scenedata", "type": "array"}, "Settings": {"title": "Settings", "type": "string"}}, "required": ["AtlasName", "TransformName", "Probes", "Rigs", "Craniotomies", "SceneData", "Settings"], "title": "SceneModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/urchin/AtlasModel.json b/models/schemas/urchin/AtlasModel.json
index 9d63eae..2c9f50e 100644
--- a/models/schemas/urchin/AtlasModel.json
+++ b/models/schemas/urchin/AtlasModel.json
@@ -1 +1 @@
-{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "ColormapModel": {"properties": {"Name": {"default": "", "title": "Name", "type": "string"}, "Min": {"default": 0, "title": "Min", "type": "number"}, "Max": {"default": 1, "title": "Max", "type": "number"}}, "title": "ColormapModel", "type": "object"}, "StructureModel": {"properties": {"Name": {"title": "Name", "type": "string"}, "Acronym": {"title": "Acronym", "type": "string"}, "AtlasId": {"title": "Atlasid", "type": "integer"}, "Color": {"$ref": "#/$defs/Color"}, "Visible": {"default": false, "title": "Visible", "type": "boolean"}, "ColorIntensity": {"default": -1, "title": "Colorintensity", "type": "number"}, "Side": {"default": 0, "title": "Side", "type": "integer"}, "Material": {"default": "default", "title": "Material", "type": "string"}}, "required": ["Name", "Acronym", "AtlasId", "Color"], "title": "StructureModel", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Name": {"title": "Name", "type": "string"}, "ReferenceCoord": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": null}, "Areas": {"items": {"$ref": "#/$defs/StructureModel"}, "title": "Areas", "type": "array"}, "Colormap": {"$ref": "#/$defs/ColormapModel"}}, "required": ["Name", "Areas", "Colormap"], "title": "AtlasModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "ColormapModel": {"properties": {"Name": {"default": "", "title": "Name", "type": "string"}, "Min": {"default": 0, "title": "Min", "type": "number"}, "Max": {"default": 1, "title": "Max", "type": "number"}}, "title": "ColormapModel", "type": "object"}, "StructureModel": {"properties": {"Name": {"title": "Name", "type": "string"}, "Acronym": {"title": "Acronym", "type": "string"}, "AtlasId": {"title": "Atlasid", "type": "integer"}, "Color": {"$ref": "#/$defs/Color"}, "Visible": {"default": false, "title": "Visible", "type": "boolean"}, "ColorIntensity": {"default": -1, "title": "Colorintensity", "type": "number"}, "Side": {"default": 0, "title": "Side", "type": "integer"}, "Material": {"default": "default", "title": "Material", "type": "string"}}, "required": ["Name", "Acronym", "AtlasId", "Color"], "title": "StructureModel", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"Name": {"title": "Name", "type": "string"}, "ReferenceCoord": {"$ref": "#/$defs/Vector3", "default": null}, "Areas": {"items": {"$ref": "#/$defs/StructureModel"}, "title": "Areas", "type": "array"}, "Colormap": {"$ref": "#/$defs/ColormapModel"}}, "required": ["Name", "Areas", "Colormap"], "title": "AtlasModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/urchin/CameraModel.json b/models/schemas/urchin/CameraModel.json
index adde2bc..d7671cb 100644
--- a/models/schemas/urchin/CameraModel.json
+++ b/models/schemas/urchin/CameraModel.json
@@ -1 +1 @@
-{"$defs": {"CameraMode": {"enum": [0, 1], "title": "CameraMode", "type": "integer"}, "Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Position": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": null}, "Rotation": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Target": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": null}, "Zoom": {"default": 16, "title": "Zoom", "type": "number"}, "Pan": {"allOf": [{"$ref": "#/$defs/Vector2"}], "default": {"x": 0.0, "y": 0.0}}, "Mode": {"allOf": [{"$ref": "#/$defs/CameraMode"}], "default": 0, "enum_keys": ["orthographic", "perspective"]}, "BackgroundColor": {"allOf": [{"$ref": "#/$defs/Color"}], "default": {"r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0}}, "Controllable": {"default": true, "title": "Controllable", "type": "boolean"}, "Main": {"default": false, "title": "Main", "type": "boolean"}}, "required": ["ID"], "title": "CameraModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"CameraMode": {"enum": [0, 1], "title": "CameraMode", "type": "integer"}, "Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Position": {"$ref": "#/$defs/Vector3", "default": null}, "Rotation": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "Target": {"$ref": "#/$defs/Vector3", "default": null}, "Zoom": {"default": 16, "title": "Zoom", "type": "number"}, "Pan": {"$ref": "#/$defs/Vector2", "default": {"x": 0.0, "y": 0.0}}, "Mode": {"$ref": "#/$defs/CameraMode", "default": 0, "enum_keys": ["orthographic", "perspective"]}, "BackgroundColor": {"$ref": "#/$defs/Color", "default": {"r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0}}, "Controllable": {"default": true, "title": "Controllable", "type": "boolean"}, "Main": {"default": false, "title": "Main", "type": "boolean"}}, "required": ["ID"], "title": "CameraModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/urchin/CustomMeshModel.json b/models/schemas/urchin/CustomMeshModel.json
index 61f9523..c711262 100644
--- a/models/schemas/urchin/CustomMeshModel.json
+++ b/models/schemas/urchin/CustomMeshModel.json
@@ -1 +1 @@
-{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Vertices": {"items": {"$ref": "#/$defs/Vector3"}, "title": "Vertices", "type": "array"}, "Triangles": {"items": {"type": "integer"}, "title": "Triangles", "type": "array"}, "Normals": {"default": null, "items": {"$ref": "#/$defs/Vector3"}, "title": "Normals", "type": "array"}, "Position": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "UseReference": {"default": true, "title": "Usereference", "type": "boolean"}, "Scale": {"allOf": [{"$ref": "#/$defs/Vector3"}], "default": {"x": 1.0, "y": 1.0, "z": 1.0}}}, "required": ["ID", "Vertices", "Triangles"], "title": "CustomMeshModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Vertices": {"items": {"$ref": "#/$defs/Vector3"}, "title": "Vertices", "type": "array"}, "Triangles": {"items": {"type": "integer"}, "title": "Triangles", "type": "array"}, "Normals": {"default": null, "items": {"$ref": "#/$defs/Vector3"}, "title": "Normals", "type": "array"}, "Position": {"$ref": "#/$defs/Vector3", "default": {"x": 0.0, "y": 0.0, "z": 0.0}}, "UseReference": {"default": true, "title": "Usereference", "type": "boolean"}, "Scale": {"$ref": "#/$defs/Vector3", "default": {"x": 1.0, "y": 1.0, "z": 1.0}}}, "required": ["ID", "Vertices", "Triangles"], "title": "CustomMeshModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/urchin/LineModel.json b/models/schemas/urchin/LineModel.json
index 4ab354c..a363c79 100644
--- a/models/schemas/urchin/LineModel.json
+++ b/models/schemas/urchin/LineModel.json
@@ -1 +1 @@
-{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Positions": {"items": {"$ref": "#/$defs/Vector3"}, "title": "Positions", "type": "array"}, "Color": {"allOf": [{"$ref": "#/$defs/Color"}], "default": {"r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0}}}, "required": ["ID"], "title": "LineModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector3": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}, "z": {"default": 0.0, "title": "Z", "type": "number"}}, "title": "Vector3", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Positions": {"items": {"$ref": "#/$defs/Vector3"}, "title": "Positions", "type": "array"}, "Color": {"$ref": "#/$defs/Color", "default": {"r": 1.0, "g": 1.0, "b": 1.0, "a": 1.0}}}, "required": ["ID"], "title": "LineModel", "type": "object"}
\ No newline at end of file
diff --git a/models/schemas/urchin/TextModel.json b/models/schemas/urchin/TextModel.json
index da6b097..6e3c154 100644
--- a/models/schemas/urchin/TextModel.json
+++ b/models/schemas/urchin/TextModel.json
@@ -1 +1 @@
-{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Text": {"title": "Text", "type": "string"}, "Color": {"allOf": [{"$ref": "#/$defs/Color"}], "default": {"r": 0.0, "g": 0.0, "b": 0.0, "a": 1.0}}, "FontSize": {"default": 12, "title": "Fontsize", "type": "integer"}, "Position": {"allOf": [{"$ref": "#/$defs/Vector2"}], "default": {"x": 0.0, "y": 0.0}}}, "required": ["ID", "Text"], "title": "TextModel", "type": "object"}
\ No newline at end of file
+{"$defs": {"Color": {"properties": {"r": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "R", "type": "number"}, "g": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "G", "type": "number"}, "b": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "B", "type": "number"}, "a": {"default": 1, "maximum": 1.0, "minimum": 0.0, "title": "A", "type": "number"}}, "title": "Color", "type": "object"}, "Vector2": {"properties": {"x": {"default": 0.0, "title": "X", "type": "number"}, "y": {"default": 0.0, "title": "Y", "type": "number"}}, "title": "Vector2", "type": "object"}}, "properties": {"ID": {"title": "Id", "type": "string"}, "Text": {"title": "Text", "type": "string"}, "Color": {"$ref": "#/$defs/Color", "default": {"r": 0.0, "g": 0.0, "b": 0.0, "a": 1.0}}, "FontSize": {"default": 12, "title": "Fontsize", "type": "integer"}, "Position": {"$ref": "#/$defs/Vector2", "default": {"x": 0.0, "y": 0.0}}}, "required": ["ID", "Text"], "title": "TextModel", "type": "object"}
\ No newline at end of file