diff --git a/GUI/View/Realspace/RealspaceOptions.h b/GUI/View/Realspace/RealspaceOptions.h
index db6f6a2f4db2f37d258cbab6367e855bd331ad52..124e695809821c0f91d43f1275ff24d0152984dc 100644
--- a/GUI/View/Realspace/RealspaceOptions.h
+++ b/GUI/View/Realspace/RealspaceOptions.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      GUI/View/Realspace/RealspaceOptions.h
-//! @brief     Defines class RealspaceCanvas
+//! @brief     Defines class SceneGeometry
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
diff --git a/GUI/View/Realspace/RealspaceCanvas.cpp b/GUI/View/Realspace/RealspaceWidget.cpp
similarity index 88%
rename from GUI/View/Realspace/RealspaceCanvas.cpp
rename to GUI/View/Realspace/RealspaceWidget.cpp
index cee502eb26a2bea1835aa65eafa5d15a1287b854..2889ccbbff20d13ef78705046df7761af138bda4 100644
--- a/GUI/View/Realspace/RealspaceCanvas.cpp
+++ b/GUI/View/Realspace/RealspaceWidget.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/View/Realspace/RealspaceCanvas.cpp
+//! @file      GUI/View/Realspace/RealspaceWidget.cpp
 //! @brief     Implements class RealspaceScene
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/View/Realspace/RealspaceCanvas.h"
+#include "GUI/View/Realspace/RealspaceWidget.h"
 #include "GUI/Application/ApplicationSettings.h"
 #include "GUI/Model/Data/SessionData.h"
 #include "GUI/Model/Project/ProjectDocument.h"
@@ -28,7 +28,7 @@
 #include <QVBoxLayout>
 #include <memory>
 
-RealspaceCanvas::RealspaceCanvas(QWidget* parent)
+RealspaceWidget::RealspaceWidget(QWidget* parent)
     : QWidget(parent)
     , m_view(new Img3D::Canvas)
     , m_cautionSign(new CautionSign(this))
@@ -42,7 +42,7 @@ RealspaceCanvas::RealspaceCanvas(QWidget* parent)
     setLayout(layout);
 }
 
-void RealspaceCanvas::setCurrentItem(MultiLayerItem* containingMultiLayerItem,
+void RealspaceWidget::setCurrentItem(MultiLayerItem* containingMultiLayerItem,
                                      ItemForRealspace item)
 {
     bool isValid = false;
@@ -57,7 +57,7 @@ void RealspaceCanvas::setCurrentItem(MultiLayerItem* containingMultiLayerItem,
         resetScene();
 }
 
-void RealspaceCanvas::changeLayerSize(double layerSizeChangeScale)
+void RealspaceWidget::changeLayerSize(double layerSizeChangeScale)
 {
     // when no object is selected --> take no action
     if (!m_currentItem)
@@ -67,14 +67,14 @@ void RealspaceCanvas::changeLayerSize(double layerSizeChangeScale)
     updateScene();
 }
 
-void RealspaceCanvas::savePicture()
+void RealspaceWidget::savePicture()
 {
     QPixmap pixmap(this->size());
     render(&pixmap, QPoint(), childrenRegion());
     savePicture(pixmap);
 }
 
-void RealspaceCanvas::showEvent(QShowEvent*)
+void RealspaceWidget::showEvent(QShowEvent*)
 {
     updateScene();
     if (m_firstView)
@@ -82,7 +82,7 @@ void RealspaceCanvas::showEvent(QShowEvent*)
     m_firstView = false;
 }
 
-void RealspaceCanvas::savePicture(const QPixmap& pixmap)
+void RealspaceWidget::savePicture(const QPixmap& pixmap)
 {
     QString dirname = gSessionData->projectDocument.value()->userExportDir();
     QString defaultExtension = ".png";
@@ -108,7 +108,7 @@ void RealspaceCanvas::savePicture(const QPixmap& pixmap)
     }
 }
 
-void RealspaceCanvas::updateScene()
+void RealspaceWidget::updateScene()
 {
     if (!isVisible()) // to improve performance
         return;
@@ -141,7 +141,7 @@ void RealspaceCanvas::updateScene()
     QApplication::restoreOverrideCursor();
 }
 
-void RealspaceCanvas::resetScene()
+void RealspaceWidget::resetScene()
 {
     m_realspaceModel.reset();
     m_view->setModel(nullptr);
@@ -149,17 +149,17 @@ void RealspaceCanvas::resetScene()
     m_containingMultiLayerItem = nullptr;
 }
 
-void RealspaceCanvas::defaultView()
+void RealspaceWidget::defaultView()
 {
     m_view->defaultView();
 }
 
-void RealspaceCanvas::sideView()
+void RealspaceWidget::sideView()
 {
     m_view->sideView();
 }
 
-void RealspaceCanvas::topView()
+void RealspaceWidget::topView()
 {
     m_view->topView();
 }
diff --git a/GUI/View/Realspace/RealspaceCanvas.h b/GUI/View/Realspace/RealspaceWidget.h
similarity index 83%
rename from GUI/View/Realspace/RealspaceCanvas.h
rename to GUI/View/Realspace/RealspaceWidget.h
index 69022773b010450cfcf447336735b16a1b2b131c..5a590124472cc494a66265677c23257cbec72ca0 100644
--- a/GUI/View/Realspace/RealspaceCanvas.h
+++ b/GUI/View/Realspace/RealspaceWidget.h
@@ -2,8 +2,8 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/View/Realspace/RealspaceCanvas.h
-//! @brief     Defines class RealspaceCanvas
+//! @file      GUI/View/Realspace/RealspaceWidget.h
+//! @brief     Defines class RealspaceWidget
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACECANVAS_H
-#define BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACECANVAS_H
+#ifndef BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACEWIDGET_H
+#define BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACEWIDGET_H
 
 #include "GUI/View/Realspace/RealspaceOptions.h"
 #include <QWidget>
@@ -33,7 +33,7 @@ class Model;
 } // namespace Img3D
 
 //! Provides 3D object generation for Realspace presentation.
-class RealspaceCanvas : public QWidget {
+class RealspaceWidget : public QWidget {
     Q_OBJECT
 
 public:
@@ -41,7 +41,7 @@ public:
     using ItemForRealspace =
         std::variant<MultiLayerItem*, LayerItem*, ParticleLayoutItem*, ItemWithParticles*>;
 
-    RealspaceCanvas(QWidget* parent = nullptr);
+    RealspaceWidget(QWidget* parent = nullptr);
 
     void setCurrentItem(MultiLayerItem* containingMultiLayerItem, ItemForRealspace item);
     template <typename T>
@@ -70,7 +70,7 @@ private:
 };
 
 template <typename T>
-T RealspaceCanvas::currentItemAs() const
+T RealspaceWidget::currentItemAs() const
 {
     if (!m_currentItem)
         return nullptr;
@@ -80,4 +80,4 @@ T RealspaceCanvas::currentItemAs() const
     return ppCurrent ? *ppCurrent : nullptr;
 }
 
-#endif // BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACECANVAS_H
+#endif // BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACEWIDGET_H
diff --git a/GUI/View/SampleDesigner/RealspacePanel.cpp b/GUI/View/SampleDesigner/RealspacePanel.cpp
index 6e0c427b774dd0ec536479b918c26a09a3cf41b1..5322c2a8defb4fac8a29f49b32c64072e1e2d5ec 100644
--- a/GUI/View/SampleDesigner/RealspacePanel.cpp
+++ b/GUI/View/SampleDesigner/RealspacePanel.cpp
@@ -14,12 +14,12 @@
 
 #include "GUI/View/SampleDesigner/RealspacePanel.h"
 #include "GUI/View/Common/StyledToolbar.h"
-#include "GUI/View/Realspace/RealspaceCanvas.h"
+#include "GUI/View/Realspace/RealspaceWidget.h"
 #include <QVBoxLayout>
 
 RealspacePanel::RealspacePanel(QWidget* parent)
     : QWidget(parent)
-    , m_canvas(new RealspaceCanvas)
+    , m_canvas(new RealspaceWidget)
 {
     setWindowTitle("Real Space");
 
@@ -35,16 +35,16 @@ RealspacePanel::RealspacePanel(QWidget* parent)
     };
 
     auto* action = createAction("Save Picture", "Save 3D real space view as .png file");
-    connect(action, &QAction::triggered, m_canvas, QOverload<>::of(&RealspaceCanvas::savePicture));
+    connect(action, &QAction::triggered, m_canvas, QOverload<>::of(&RealspaceWidget::savePicture));
 
     action = createAction("Default View", "Reset view and zoom level to default");
-    connect(action, &QAction::triggered, m_canvas, &RealspaceCanvas::defaultView);
+    connect(action, &QAction::triggered, m_canvas, &RealspaceWidget::defaultView);
 
     action = createAction("Side View", "View sample from the side at current zoom level");
-    connect(action, &QAction::triggered, m_canvas, &RealspaceCanvas::sideView);
+    connect(action, &QAction::triggered, m_canvas, &RealspaceWidget::sideView);
 
     action = createAction("Top View", "View sample from the top at current zoom level");
-    connect(action, &QAction::triggered, m_canvas, &RealspaceCanvas::topView);
+    connect(action, &QAction::triggered, m_canvas, &RealspaceWidget::topView);
 
     action = createAction("Enlarge", "Increase layer size");
     connect(action, &QAction::triggered, [this]() { m_canvas->changeLayerSize(1.25); });
@@ -65,7 +65,7 @@ QSize RealspacePanel::sizeHint() const
     return QSize(300, 300);
 }
 
-RealspaceCanvas* RealspacePanel::canvas()
+RealspaceWidget* RealspacePanel::canvas()
 {
     return m_canvas;
 }
diff --git a/GUI/View/SampleDesigner/RealspacePanel.h b/GUI/View/SampleDesigner/RealspacePanel.h
index 86d7f121cdb8ef7d37a84ff4bce6025e202f6a7c..bc0b5ad9157270a3be6dc1c0312f93218b0f107b 100644
--- a/GUI/View/SampleDesigner/RealspacePanel.h
+++ b/GUI/View/SampleDesigner/RealspacePanel.h
@@ -17,9 +17,9 @@
 
 #include <QWidget>
 
-class RealspaceCanvas;
+class RealspaceWidget;
 
-//! Panel to show 3D view of sample. Contains toolbar and RealspaceCanvas
+//! Panel to show 3D view of sample. Contains toolbar and RealspaceWidget
 
 class RealspacePanel : public QWidget {
     Q_OBJECT
@@ -28,10 +28,10 @@ public:
     RealspacePanel(QWidget* parent);
 
     QSize sizeHint() const override;
-    RealspaceCanvas* canvas();
+    RealspaceWidget* canvas();
 
 private:
-    RealspaceCanvas* m_canvas;
+    RealspaceWidget* m_canvas;
 };
 
 #endif // BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_REALSPACEPANEL_H
diff --git a/GUI/View/SampleDesigner/SampleView.cpp b/GUI/View/SampleDesigner/SampleView.cpp
index d6986160c04d5ef438ce73ff7760638d3343ab04..88226a175a106b6d3b7e96d1fcf73ff5de2a3547 100644
--- a/GUI/View/SampleDesigner/SampleView.cpp
+++ b/GUI/View/SampleDesigner/SampleView.cpp
@@ -20,7 +20,7 @@
 #include "GUI/Model/Sample/ParticleLayoutItem.h"
 #include "GUI/View/Common/DocksController.h"
 #include "GUI/View/Common/StyledToolbar.h"
-#include "GUI/View/Realspace/RealspaceCanvas.h"
+#include "GUI/View/Realspace/RealspaceWidget.h"
 #include "GUI/View/SampleDesigner/LayerOrientedSampleEditor.h"
 #include "GUI/View/SampleDesigner/RealspacePanel.h"
 #include "GUI/View/SampleDesigner/SampleListView.h"
@@ -100,7 +100,7 @@ SampleView::SampleView(QWidget* parent, ProjectDocument* document)
             m_sampleSelectionView->newSampleAction(), &QAction::trigger, Qt::QueuedConnection);
 
     connect(editor, &LayerOrientedSampleEditor::modified, m_realspacePanel->canvas(),
-            &RealspaceCanvas::updateScene);
+            &RealspaceWidget::updateScene);
 
     connect(editor, &LayerOrientedSampleEditor::modified, m_document, &ProjectDocument::setModified,
             Qt::UniqueConnection);
@@ -116,7 +116,7 @@ void SampleView::updateSingleSampleMode()
 
 void SampleView::onRequestViewInRealspace(SampleItem item)
 {
-    RealspaceCanvas::ItemForRealspace itemForRealspace;
+    RealspaceWidget::ItemForRealspace itemForRealspace;
     if (auto* p = item.get_if<MultiLayerItem*>())
         itemForRealspace = p;
     else if (auto* p = item.get_if<LayerItem*>())