diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java
index bb2fbde8b..7785defd6 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java
@@ -69,7 +69,7 @@
 extension = {"j3md", "J3MD"})
 @DataObject.Registration(
     mimeType = "text/jme-materialdefinition",
-iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
+iconBase = "com/jme3/gde/materialdefinition/editor/icons/matdef.png",
 displayName = "#LBL_MatDef_LOADER",
 position = 300)
 @ActionReferences({
@@ -192,7 +192,7 @@ public Lookup getLookup() {
     
     @MultiViewElement.Registration(
         displayName = "#LBL_MatDef_EDITOR",
-    iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
+    iconBase = "com/jme3/gde/materialdefinition/editor/icons/matdef.png",
     mimeType = "text/jme-materialdefinition",
     persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
     preferredID = "MatDef",
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java
index 3fc259a61..ae182f175 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java
@@ -31,7 +31,7 @@
  */
 package com.jme3.gde.materialdefinition.dialog;
 
-import com.jme3.gde.core.editor.nodes.Diagram;
+import com.jme3.gde.materialdefinition.editor.nodes.Diagram;
 import com.jme3.gde.materialdefinition.editor.ShaderNodeDiagram;
 import com.jme3.shader.VarType;
 import java.awt.Point;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java
index 7929ea8fe..3bfbc7e55 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java
@@ -35,7 +35,7 @@
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.core.util.TreeUtil;
 import com.jme3.gde.materialdefinition.editor.ShaderNodeDiagram;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.utils.DocFormatter;
 import com.jme3.shader.Shader;
 import com.jme3.shader.ShaderNodeDefinition;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form
index c0c1e1080..fd7654638 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form
@@ -57,7 +57,7 @@
               
             
             
-              
+              
             
             
               
@@ -68,7 +68,7 @@
             
             
             
-              
+              
             
             
             
@@ -94,7 +94,7 @@
               
             
             
-              
+              
             
             
               
@@ -105,7 +105,7 @@
             
             
             
-              
+              
             
             
             
@@ -131,7 +131,7 @@
               
             
             
-              
+              
             
             
               
@@ -142,7 +142,7 @@
             
             
             
-              
+              
             
             
             
@@ -168,7 +168,7 @@
               
             
             
-              
+              
             
             
               
@@ -179,7 +179,7 @@
             
             
             
-              
+              
             
             
             
@@ -205,7 +205,7 @@
               
             
             
-              
+              
             
             
               
@@ -216,7 +216,7 @@
             
             
             
-              
+              
             
             
             
@@ -242,7 +242,7 @@
               
             
             
-              
+              
             
             
               
@@ -253,7 +253,7 @@
             
             
             
-              
+              
             
             
             
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java
index 6e353af7f..dd34443c6 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java
@@ -31,7 +31,7 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.Diagram;
+import com.jme3.gde.materialdefinition.editor.nodes.Diagram;
 import com.jme3.gde.materials.MaterialPreviewRenderer;
 import com.jme3.material.Material;
 import java.awt.Container;
@@ -144,7 +144,7 @@ private void initComponents() {
         toolBar.setOpaque(false);
 
         reloadButton.setBackground(new java.awt.Color(153, 153, 153));
-        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/reload.png"))); // NOI18N
+        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/reload.png"))); // NOI18N
         reloadButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.reloadButton.toolTipText")); // NOI18N
         reloadButton.setBorder(null);
         reloadButton.setBorderPainted(false);
@@ -170,7 +170,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         expandButton.setBackground(new java.awt.Color(153, 153, 153));
-        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/collapse.png"))); // NOI18N
+        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/collapse.png"))); // NOI18N
         expandButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.expandButton.toolTipText")); // NOI18N
         expandButton.setBorder(null);
         expandButton.setBorderPainted(false);
@@ -196,7 +196,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         sphereButton.setBackground(new java.awt.Color(153, 153, 153));
-        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Sphere.png"))); // NOI18N
+        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/Sphere.png"))); // NOI18N
         sphereButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.sphereButton.toolTipText")); // NOI18N
         sphereButton.setBorder(null);
         sphereButton.setBorderPainted(false);
@@ -222,7 +222,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         boxButton.setBackground(new java.awt.Color(153, 153, 153));
-        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/cube.png"))); // NOI18N
+        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/cube.png"))); // NOI18N
         boxButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.boxButton.toolTipText")); // NOI18N
         boxButton.setBorder(null);
         boxButton.setBorderPainted(false);
@@ -248,7 +248,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         quadButton.setBackground(new java.awt.Color(153, 153, 153));
-        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Quad.png"))); // NOI18N
+        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/Quad.png"))); // NOI18N
         quadButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.quadButton.toolTipText")); // NOI18N
         quadButton.setBorder(null);
         quadButton.setBorderPainted(false);
@@ -274,7 +274,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         bringToFrontButton.setBackground(new java.awt.Color(153, 153, 153));
-        bringToFrontButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/frontBack.png"))); // NOI18N
+        bringToFrontButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/frontBack.png"))); // NOI18N
         bringToFrontButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.bringToFrontButton.toolTipText")); // NOI18N
         bringToFrontButton.setBorder(null);
         bringToFrontButton.setBorderPainted(false);
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form
index 0c1e4ffc0..443fc0955 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form
@@ -75,7 +75,7 @@
     
       
         
-          
+          
         
         
           
@@ -112,7 +112,7 @@
     
       
         
-          
+          
         
         
           
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java
index 9230a7c53..d9c7cd100 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java
@@ -115,7 +115,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
             }
         });
 
-        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/add.png"))); // NOI18N
+        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/add.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.jButton1.text")); // NOI18N
         jButton1.setToolTipText(org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.jButton1.toolTipText")); // NOI18N
         jButton1.setMargin(new java.awt.Insets(2, 5, 2, 5));
@@ -135,7 +135,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
             }
         });
 
-        jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/repeat.png"))); // NOI18N
+        jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/repeat.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(jToggleButton2, org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.toggleLiveUpdates.text")); // NOI18N
         jToggleButton2.setToolTipText(org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.toggleLiveUpdates.toolTipText")); // NOI18N
         jToggleButton2.setActionCommand(org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.toggleLiveUpdates.actionCommand")); // NOI18N
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java
index b94717012..d76956a3e 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java
@@ -31,12 +31,12 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
-import com.jme3.gde.core.editor.nodes.Connection;
-import com.jme3.gde.core.editor.nodes.NodeEditor;
-import com.jme3.gde.core.editor.nodes.Diagram;
-import com.jme3.gde.core.editor.nodes.NodePanel;
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.materialdefinition.editor.nodes.Connection;
+import com.jme3.gde.materialdefinition.editor.nodes.NodeEditor;
+import com.jme3.gde.materialdefinition.editor.nodes.Diagram;
+import com.jme3.gde.materialdefinition.editor.nodes.NodePanel;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.core.errorreport.ExceptionPanel;
 import com.jme3.gde.materialdefinition.EditableMatDefFile;
@@ -101,7 +101,7 @@
 
 @MultiViewElement.Registration(
         displayName = "#LBL_MatDef_EDITOR",
-        iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
+        iconBase = "com/jme3/gde/materialdefinition/editor/icons/matdef.png",
         mimeType = "text/jme-materialdefinition",
         persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
         preferredID = "MatDefVisual",
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form
index af9e8a6eb..c33798d12 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form
@@ -74,7 +74,7 @@
               
             
             
-              
+              
             
             
             
@@ -83,7 +83,7 @@
             
             
             
-              
+              
             
             
             
@@ -109,7 +109,7 @@
               
             
             
-              
+              
             
             
             
@@ -118,7 +118,7 @@
             
             
             
-              
+              
             
             
             
@@ -144,7 +144,7 @@
               
             
             
-              
+              
             
             
             
@@ -153,7 +153,7 @@
             
             
             
-              
+              
             
             
             
@@ -179,7 +179,7 @@
               
             
             
-              
+              
             
             
             
@@ -188,7 +188,7 @@
             
             
             
-              
+              
             
             
             
@@ -214,7 +214,7 @@
               
             
             
-              
+              
             
             
             
@@ -223,7 +223,7 @@
             
             
             
-              
+              
             
             
             
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java
index 94525a6bd..0459350fe 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java
@@ -104,7 +104,7 @@ private void initComponents() {
         toolBar.setOpaque(false);
 
         sphereButton.setBackground(new java.awt.Color(153, 153, 153));
-        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Sphere.png"))); // NOI18N
+        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/Sphere.png"))); // NOI18N
         sphereButton.setToolTipText("Sphere");
         sphereButton.setBorder(null);
         sphereButton.setBorderPainted(false);
@@ -130,7 +130,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         boxButton.setBackground(new java.awt.Color(153, 153, 153));
-        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/cube.png"))); // NOI18N
+        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/cube.png"))); // NOI18N
         boxButton.setToolTipText("Cube");
         boxButton.setBorder(null);
         boxButton.setBorderPainted(false);
@@ -156,7 +156,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         reloadButton.setBackground(new java.awt.Color(153, 153, 153));
-        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/reload.png"))); // NOI18N
+        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/reload.png"))); // NOI18N
         reloadButton.setToolTipText("Refresh");
         reloadButton.setBorder(null);
         reloadButton.setBorderPainted(false);
@@ -182,7 +182,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         quadButton.setBackground(new java.awt.Color(153, 153, 153));
-        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Quad.png"))); // NOI18N
+        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/Quad.png"))); // NOI18N
         quadButton.setToolTipText("Quad");
         quadButton.setBorder(null);
         quadButton.setBorderPainted(false);
@@ -208,7 +208,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
 
         expandButton.setBackground(new java.awt.Color(153, 153, 153));
-        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/expend.png"))); // NOI18N
+        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/expend.png"))); // NOI18N
         expandButton.setToolTipText("Display Backdrop");
         expandButton.setBorder(null);
         expandButton.setBorderPainted(false);
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form
index 34de6809d..58e114b1a 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form
@@ -101,7 +101,7 @@
             
             
             
-              
+              
             
             
               
@@ -114,7 +114,7 @@
               
             
             
-              
+              
             
             
               
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java
index a9b0f8649..a09fde0cc 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java
@@ -233,11 +233,11 @@ private void initComponents() {
 
         headerText.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
         headerText.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
-        headerText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/fragment.png"))); // NOI18N
+        headerText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/fragment.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(headerText, org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.headerText.text")); // NOI18N
 
         closeButton.setFont(new java.awt.Font("Tahoma", 1, 8)); // NOI18N
-        closeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/out.png"))); // NOI18N
+        closeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/out.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.closeButton.text")); // NOI18N
         closeButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.closeButton.toolTipText")); // NOI18N
         closeButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java
index 5559e34ef..f1f994d40 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java
@@ -31,10 +31,10 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.Connection;
-import com.jme3.gde.core.editor.nodes.Diagram;
-import com.jme3.gde.core.editor.nodes.NodePanel;
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.Connection;
+import com.jme3.gde.materialdefinition.editor.nodes.Diagram;
+import com.jme3.gde.materialdefinition.editor.nodes.NodePanel;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.materialdefinition.dialog.AddAttributeDialog;
 import com.jme3.gde.materialdefinition.dialog.AddMaterialParameterDialog;
@@ -43,7 +43,7 @@
 import com.jme3.gde.materialdefinition.editor.ShaderNodePanel.NodeType;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.core.errorreport.ExceptionUtils;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import com.jme3.material.Material;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java
index 833809ecd..e3333fc5e 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java
@@ -31,8 +31,8 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.shader.Shader;
 import com.jme3.shader.ShaderUtils;
 
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java
index e63919af0..4157f76ce 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java
@@ -31,13 +31,13 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
-import com.jme3.gde.core.editor.nodes.NodePanel;
+import com.jme3.gde.materialdefinition.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.materialdefinition.editor.nodes.NodePanel;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.DefinitionBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.OutputMappingBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.editor.previews.BasePreview;
 import com.jme3.gde.materialdefinition.editor.previews.PreviewFactory;
 import com.jme3.shader.Shader;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form
index ec74ec498..24d954b3e 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form
@@ -23,7 +23,7 @@
           
         
         
-          
+          
         
         
           
@@ -34,7 +34,7 @@
         
         
         
-          
+          
         
         
         
@@ -45,7 +45,7 @@
           
         
         
-          
+          
         
       
       
@@ -63,7 +63,7 @@
           
         
         
-          
+          
         
         
           
@@ -77,7 +77,7 @@
         
         
         
-          
+          
         
         
         
@@ -88,7 +88,7 @@
           
         
         
-          
+          
         
       
       
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java
index 88cc2b8aa..3e08e7e2d 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java
@@ -31,7 +31,7 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.NodeToolBar;
+import com.jme3.gde.materialdefinition.editor.nodes.NodeToolBar;
 
 /**
  * This class displays a small bar with an edit and remove icon.
@@ -78,7 +78,7 @@ protected void initComponents() {
         setLayout(layout);
 
         codeButton.setBackground(new java.awt.Color(255, 255, 255));
-        codeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/code.png"))); // NOI18N
+        codeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/code.png"))); // NOI18N
         codeButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.codeButton.toolTipText")); // NOI18N
         codeButton.setBorder(null);
         codeButton.setBorderPainted(false);
@@ -88,7 +88,7 @@ protected void initComponents() {
         codeButton.setIconTextGap(0);
         codeButton.setMaximumSize(new java.awt.Dimension(24, 24));
         codeButton.setMinimumSize(new java.awt.Dimension(24, 24));
-        codeButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/codeHover.png"))); // NOI18N
+        codeButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/codeHover.png"))); // NOI18N
         codeButton.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 codeButtonActionPerformed(evt);
@@ -97,7 +97,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         add(codeButton, new java.awt.GridBagConstraints());
 
         deleteButton.setBackground(new java.awt.Color(255, 255, 255));
-        deleteButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/deleteNode.png"))); // NOI18N
+        deleteButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/deleteNode.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(deleteButton, org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.deleteButton.text")); // NOI18N
         deleteButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.deleteButton.toolTipText")); // NOI18N
         deleteButton.setBorder(null);
@@ -108,7 +108,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         deleteButton.setIconTextGap(0);
         deleteButton.setMaximumSize(new java.awt.Dimension(24, 24));
         deleteButton.setMinimumSize(new java.awt.Dimension(24, 24));
-        deleteButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/deleteNodeHover.png"))); // NOI18N
+        deleteButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/deleteNodeHover.png"))); // NOI18N
         deleteButton.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 deleteButtonActionPerformed(evt);
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java
index 95ef43201..577d7ea33 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java
@@ -31,10 +31,10 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.core.editor.nodes.DraggablePanel;
-import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
-import com.jme3.gde.core.editor.nodes.Diagram;
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.DraggablePanel;
+import com.jme3.gde.materialdefinition.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.materialdefinition.editor.nodes.Diagram;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.OutputMappingBlock;
 import com.jme3.material.Material;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/Icons.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Icons.java
similarity index 96%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/Icons.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Icons.java
index 805e3088d..69a9c96f6 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/icons/Icons.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Icons.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.icons;
+package com.jme3.gde.materialdefinition.editor.icons;
 
 import javax.swing.ImageIcon;
 
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/Quad.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Quad.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/Quad.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Quad.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/Sphere.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Sphere.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/Sphere.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/Sphere.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/add.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/add.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/add.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/add.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/attrib.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/attrib.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/attrib.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/attrib.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/busOutput.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/busOutput.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/busOutput.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/busOutput.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/code.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/code.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/code.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/code.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/codeHover.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/codeHover.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/codeHover.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/codeHover.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/collapse.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/collapse.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/collapse.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/collapse.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/cube.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/cube.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/cube.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/cube.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/cube.psd b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/cube.psd
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/cube.psd
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/cube.psd
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/deleteNode.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/deleteNode.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/deleteNode.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/deleteNode.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/deleteNodeHover.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/deleteNodeHover.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/deleteNodeHover.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/deleteNodeHover.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/dot.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dot.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/dot.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dot.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/dotGreen.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotGreen.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/dotGreen.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotGreen.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/dotOrange.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotOrange.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/dotOrange.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotOrange.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/dotRed.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotRed.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/dotRed.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/dotRed.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/earth.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/earth.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/earth.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/earth.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/earth_1.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/earth_1.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/earth_1.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/earth_1.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/error.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/error.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/error.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/error.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/expend.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/expend.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/expend.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/expend.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/flip.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/flip.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/flip.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/flip.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/fragment.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/fragment.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/fragment.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/fragment.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/frontBack.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/frontBack.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/frontBack.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/frontBack.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/in.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/in.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/in.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/in.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/inputOutput.psd b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/inputOutput.psd
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/inputOutput.psd
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/inputOutput.psd
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/mat.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/mat.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/mat.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/mat.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/matdef.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/matdef.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/matdef.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/matdef.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/node.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/node.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/node.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/node.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/node.psd b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/node.psd
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/node.psd
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/node.psd
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/ouptut.psd b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/ouptut.psd
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/ouptut.psd
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/ouptut.psd
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/out.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/out.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/out.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/out.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/output.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/output.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/output.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/output.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/previewIcons.psd b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/previewIcons.psd
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/previewIcons.psd
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/previewIcons.psd
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/reload.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/reload.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/reload.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/reload.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/remove.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/remove.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/remove.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/remove.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/repeat.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/repeat.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/repeat.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/repeat.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/tech.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/tech.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/tech.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/tech.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/icons/vert.png b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/vert.png
similarity index 100%
rename from jme3-core/src/com/jme3/gde/core/editor/icons/vert.png
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/icons/vert.png
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/Connection.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Connection.java
similarity index 95%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/Connection.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Connection.java
index 8de092eeb..f5a969169 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/Connection.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Connection.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 /**
  * Form a Connection between two ConnectionEndpoints
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionCurve.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionCurve.java
similarity index 99%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionCurve.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionCurve.java
index 0c4221424..9dab4cccf 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionCurve.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionCurve.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionEndpoint.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionEndpoint.java
similarity index 95%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionEndpoint.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionEndpoint.java
index c6783f829..7123d1b79 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionEndpoint.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionEndpoint.java
@@ -29,9 +29,9 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.Graphics;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionStraight.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionStraight.java
new file mode 100644
index 000000000..eb9a587fa
--- /dev/null
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/ConnectionStraight.java
@@ -0,0 +1,579 @@
+/*
+ *  Copyright (c) 2009-2018 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.materialdefinition.editor.nodes;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Point;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
+import javax.swing.event.MenuDragMouseEvent;
+import javax.swing.event.MouseInputListener;
+
+/**
+ *
+ * Kept this class in case of.
+ * This is the old staright connection class, now ConnectionCurve is used
+ * @author Nehon
+ */
+@Deprecated
+public class ConnectionStraight extends JPanel implements ComponentListener, 
+        MouseInputListener, KeyListener, Selectable, PropertyChangeListener {
+
+    protected ConnectionEndpoint start;
+    protected ConnectionEndpoint end;
+    private final Point[] points = new Point[6];
+    private int pointsSize = 6;
+    private final Corner[] corners = new Corner[6];
+    private String key = "";
+    protected Object mapping;
+
+    private MouseEvent convertEvent(MouseEvent e) {
+        MouseEvent me = null;
+        //workaround for swing utilities removing mouse button when converting events.
+        if (e instanceof MouseWheelEvent || e instanceof MenuDragMouseEvent) {
+            SwingUtilities.convertMouseEvent(this, e, getDiagram());
+        } else {
+            Point p = SwingUtilities.convertPoint(this, new Point(e.getX(),
+                    e.getY()),
+                    getDiagram());
+
+            me = new MouseEvent(getDiagram(),
+                    e.getID(),
+                    e.getWhen(),
+                    e.getModifiers()
+                    | e.getModifiersEx(),
+                    p.x, p.y,
+                    e.getXOnScreen(),
+                    e.getYOnScreen(),
+                    e.getClickCount(),
+                    e.isPopupTrigger(),
+                    e.getButton());
+        }
+        return me;
+    }
+
+    private enum Corner {
+
+        RightBottom,
+        BottomRight,
+        BottomLeft,
+        LeftBottom,
+        RightTop,
+        TopRight,
+        LeftTop,
+        TopLeft,
+        Top,
+        Bottom,
+        None,}
+
+    public ConnectionStraight(ConnectionEndpoint start, ConnectionEndpoint end) {
+
+
+        if (start.getParamType() == ConnectionEndpoint.ParamType.Output
+                || (start.getParamType() == ConnectionEndpoint.ParamType.Both && end.getParamType() != ConnectionEndpoint.ParamType.Output)
+                || (end.getParamType() == ConnectionEndpoint.ParamType.Both && start.getParamType() != ConnectionEndpoint.ParamType.Input)) {
+            this.start = start;
+            this.end = end;
+        } else {
+            this.start = end;
+            this.end = start;
+        }
+
+        for (int i = 0; i < 6; i++) {
+            points[i] = new Point();
+        }
+        resize(this.start, this.end);
+        addMouseMotionListener(this);
+        addMouseListener(this);
+        addKeyListener(this);
+        setFocusable(true);
+        setOpaque(false);
+
+    }
+
+    private void translate(Point p, Point store) {
+        store.x = p.x - getLocation().x - 1;
+        store.y = p.y - getLocation().y - 1;
+    }
+    private final Point p1 = new Point();
+    private final Point p2 = new Point();
+    private final Point tp1 = new Point();
+    private final Point bp1 = new Point();
+    private final Point tp2 = new Point();
+    private final Point bp2 = new Point();
+
+    @Override
+    protected void paintBorder(Graphics g) {
+//        super.paintBorder(g);
+//
+//        g.setColor(Color.GRAY);
+//        g.drawLine(0, 0, getWidth(), 0);
+//        g.drawLine(getWidth(), 0, getWidth(), getHeight() - 1);
+//        g.drawLine(getWidth(), getHeight() - 1, 0, getHeight() - 1);
+//        g.drawLine(0, getHeight() - 1, 0, 0);
+    }
+
+    @Override
+    public String getKey() {
+        return key;
+    }
+
+    protected void makeKey(Object mapping, String techName) {
+        /* Doesn't work as Connection doesnt extend ConnectionStraight. Actually
+         * those classes should've been made the other way round: ConnectionStraight
+         * extending Connection and not the opposite way.
+        if (this instanceof Connection) {
+            key = getDiagram().makeKeyForConnection(this, mapping);
+            this.mapping = mapping;
+        } else { */
+            key = "error";
+        /* } */
+    }
+
+    private void adjustCorners(Corner corner, Point tp, Point bp) {
+        switch (corner) {
+            case LeftTop:
+            case TopLeft:
+                tp.x -= 1;
+                bp.x += 1;
+                tp.y += 1;
+                bp.y -= 1;
+                break;
+            case RightBottom:
+            case BottomRight:
+                tp.x += 1;
+                bp.x -= 1;
+                tp.y -= 1;
+                bp.y += 1;
+                break;
+            case RightTop:
+            case TopRight:
+                tp.x -= 1;
+                bp.x += 1;
+                tp.y -= 1;
+                bp.y += 1;
+                break;
+            case LeftBottom:
+            case BottomLeft:
+                tp.x += 1;
+                bp.x -= 1;
+                tp.y += 1;
+                bp.y -= 1;
+                break;
+            case None:
+                tp.y -= 1;
+                bp.y += 1;
+                break;
+            case Top:
+                tp.x -= 1;
+                bp.x += 1;
+                break;
+            case Bottom:
+                tp.x += 1;
+                bp.x -= 1;
+                break;
+        }
+    }
+
+    @Override
+    protected void paintComponent(Graphics g) {
+        if (paintDebug) {
+            for (int i = 0; i < pointsSize - 1; i++) {
+                translate(points[i], p1);
+                p1.x -= MARGIN;
+                p1.y -= MARGIN;
+                translate(points[i + 1], p2);
+                p2.x += MARGIN;
+                p2.y += MARGIN;
+                g.setColor(Color.GRAY);
+                g.drawLine(p1.x, p1.y, p2.x, p1.y);
+                g.drawLine(p2.x, p1.y, p2.x, p2.y);
+                g.drawLine(p2.x, p2.y, p1.x, p2.y);
+                g.drawLine(p1.x, p2.y, p1.x, p1.y);
+
+
+            }
+
+            paintDebug = false;
+        }
+
+        for (int i = 0; i < pointsSize - 1; i++) {
+
+            g.setColor(Color.YELLOW);
+            translate(points[i], p1);
+            translate(points[i + 1], p2);
+            g.drawLine(p1.x, p1.y, p2.x, p2.y);
+
+
+            if (getDiagram().getSelectedItems().contains(this)) {
+                g.setColor(Color.CYAN);
+            } else {
+                g.setColor(Color.GRAY);
+            }
+            tp1.setLocation(p1);
+            bp1.setLocation(p1);
+            tp2.setLocation(p2);
+            bp2.setLocation(p2);
+            adjustCorners(corners[i], tp1, bp1);
+            adjustCorners(corners[i + 1], tp2, bp2);
+            g.drawLine(tp1.x, tp1.y, tp2.x, tp2.y);
+            g.drawLine(bp1.x, bp1.y, bp2.x, bp2.y);
+
+        }
+
+    }
+    public final static int MARGIN = 10;
+
+    private int getOffset() {
+        return 5 * start.getIndex();
+    }
+
+    private int getHMiddle() {
+        int st = start.getNode().getLocation().y + start.getNode().getHeight();
+        int diff = end.getNode().getLocation().y - st;
+        return st + diff / 2 + getOffset();
+
+    }
+
+    private int getVMiddleStart() {
+        Point startLocation = start.getStartLocation();
+        Point endLocation = end.getEndLocation();
+        return startLocation.x + Math.max(MARGIN, (endLocation.x - startLocation.x) / 2) + getOffset();
+    }
+
+    private int getVMiddleStartClampedRight() {
+        Point startLocation = start.getStartLocation();
+        Point endLocation = end.getEndLocation();
+        int right = end.getNode().getLocation().x + end.getNode().getWidth() + MARGIN;
+        int loc = startLocation.x + Math.max(MARGIN, (endLocation.x - startLocation.x) / 2);
+        return Math.max(loc, right) + getOffset();
+    }
+
+    private int getVMiddleEnd() {
+        Point startLocation = start.getStartLocation();
+        Point endLocation = end.getEndLocation();
+        return endLocation.x - Math.max(0, Math.max(MARGIN, (endLocation.x - startLocation.x) / 2) + getOffset());
+
+    }
+
+    private int getVMiddleEndClampedLeft() {
+        Point startLocation = start.getStartLocation();
+        Point endLocation = end.getEndLocation();
+        int left = start.getNode().getLocation().x - MARGIN;//+ end.getNode().getWidth() + MARGIN;
+        int loc = endLocation.x - Math.max(0, Math.max(MARGIN, (endLocation.x - startLocation.x) / 2));
+        return Math.min(loc, left) + getOffset();
+
+    }
+
+    private int getHBottom() {
+        int endBottom = end.getNode().getLocation().y + end.getNode().getHeight() + MARGIN;
+        int startBottom = start.getNode().getLocation().y + start.getNode().getHeight() + MARGIN;
+        return Math.max(endBottom, startBottom) + getOffset();
+
+    }
+
+    public final void resize(ConnectionEndpoint start, ConnectionEndpoint end) {
+        Point startLocation = start.getStartLocation();
+        Point endLocation = end.getEndLocation();
+
+        if (start.getParamType() == ConnectionEndpoint.ParamType.Both) {
+            startLocation.x = endLocation.x - MARGIN * 2;
+            pointsSize = 3;
+            points[0].setLocation(startLocation);
+            points[1].x = startLocation.x;
+            points[1].y = endLocation.y;
+            points[2].setLocation(endLocation);
+            if (startLocation.y <= endLocation.y) {
+                corners[0] = Corner.Bottom;
+                corners[1] = Corner.BottomRight;
+                corners[2] = Corner.None;
+            } else {
+                corners[0] = Corner.Top;
+                corners[1] = Corner.TopRight;
+                corners[2] = Corner.None;
+            }
+        } else if (end.getParamType() == ConnectionEndpoint.ParamType.Both) {
+            endLocation.x = startLocation.x + MARGIN * 2;
+            pointsSize = 3;
+            points[0].setLocation(startLocation);
+            points[1].x = endLocation.x;
+            points[1].y = startLocation.y;
+            points[2].setLocation(endLocation);
+            if (startLocation.y <= endLocation.y) {
+                corners[0] = Corner.None;
+                corners[1] = Corner.RightBottom;
+                corners[2] = Corner.Bottom;
+            } else {
+                corners[0] = Corner.None;
+                corners[1] = Corner.RightTop;
+                corners[2] = Corner.Top;
+            }
+        } else if (startLocation.x + MARGIN <= endLocation.x - MARGIN) {
+            pointsSize = 4;
+            points[0].setLocation(startLocation);
+            points[1].x = getVMiddleStart();
+            points[1].y = startLocation.y;
+            points[2].x = getVMiddleStart();
+            points[2].y = endLocation.y;
+            corners[0] = Corner.None;
+            corners[3] = Corner.None;
+            points[3].setLocation(endLocation);
+            if (startLocation.y <= endLocation.y) {
+                corners[1] = Corner.RightBottom;
+                corners[2] = Corner.BottomRight;
+            } else {
+                corners[1] = Corner.RightTop;
+                corners[2] = Corner.TopRight;
+            }
+
+        } else {
+            pointsSize = 6;
+            points[0].setLocation(startLocation);
+            points[5].setLocation(endLocation);
+            points[1].x = getVMiddleStart();
+            points[1].y = startLocation.y;
+
+            points[4].x = getVMiddleEnd();
+            points[4].y = endLocation.y;
+            corners[0] = Corner.None;
+            corners[5] = Corner.None;
+            if ((start.getNode().getLocation().y + start.getNode().getHeight() + MARGIN
+                    > end.getNode().getLocation().y - MARGIN)
+                    && (end.getNode().getLocation().y + end.getNode().getHeight() + MARGIN
+                    > start.getNode().getLocation().y - MARGIN)) {
+
+                if (startLocation.y + MARGIN <= endLocation.y - MARGIN) {
+                    points[1].x = getVMiddleStartClampedRight();
+                    points[2].x = getVMiddleStartClampedRight();
+                } else {
+                    points[1].x = getVMiddleStart();
+                    points[2].x = getVMiddleStart();
+                }
+                points[2].y = getHBottom();
+
+                if (startLocation.y + MARGIN > endLocation.y - MARGIN) {
+                    points[3].x = getVMiddleEndClampedLeft();
+                    points[4].x = getVMiddleEndClampedLeft();
+
+                } else {
+                    points[3].x = getVMiddleEnd();
+                    points[4].x = getVMiddleEnd();
+                }
+
+                points[3].y = getHBottom();
+
+                corners[1] = Corner.RightBottom;
+                corners[2] = Corner.BottomLeft;
+                corners[3] = Corner.LeftTop;
+                corners[4] = Corner.TopRight;
+
+            } else {
+
+                points[2].x = getVMiddleStart();
+                points[2].y = getHMiddle();
+
+                points[3].x = getVMiddleEnd();
+                points[3].y = getHMiddle();
+
+
+                if (startLocation.y <= endLocation.y) {
+                    corners[1] = Corner.RightBottom;
+                    corners[2] = Corner.BottomLeft;
+                    corners[3] = Corner.LeftBottom;
+                    corners[4] = Corner.BottomRight;
+                } else {
+                    corners[1] = Corner.RightTop;
+                    corners[2] = Corner.TopLeft;
+                    corners[3] = Corner.LeftTop;
+                    corners[4] = Corner.TopRight;
+                }
+            }
+        }
+        updateBounds();
+    }
+
+    private void updateBounds() {
+        int minX = Integer.MAX_VALUE, minY = Integer.MAX_VALUE, maxX = Integer.MIN_VALUE, maxY = Integer.MIN_VALUE;
+        for (int i = 0; i < pointsSize; i++) {
+            if (points[i].x < minX) {
+                minX = points[i].x;
+            }
+            if (points[i].y < minY) {
+                minY = points[i].y;
+            }
+
+            if (points[i].x > maxX) {
+                maxX = points[i].x;
+            }
+            if (points[i].y > maxY) {
+                maxY = points[i].y;
+            }
+        }
+        maxX += MARGIN;
+        maxY += MARGIN;
+        minX -= MARGIN;
+        minY -= MARGIN;
+
+        setLocation(minX, minY);
+        setSize(maxX - minX, maxY - minY);
+    }
+
+    private Diagram getDiagram() {
+        return start.getDiagram();
+    }
+
+    @Override
+    public void mouseDragged(MouseEvent e) {
+        dispatchEventToDiagram(e);
+    }
+
+    private void dispatchEventToDiagram(MouseEvent e) {
+        MouseEvent me;
+        me = convertEvent(e);
+        getDiagram().dispatchEvent(me);
+    }
+
+    @Override
+    public void mouseMoved(MouseEvent e) {
+        dispatchEventToDiagram(e);
+    }
+    private boolean paintDebug = false;
+
+    private void debug() {
+        paintDebug = true;
+        repaint();
+    }
+
+    @Override
+    public void mouseClicked(MouseEvent e) {
+        dispatchEventToDiagram(e);
+    }
+
+    @Override
+    public void mousePressed(MouseEvent e) {
+        dispatchEventToDiagram(e);
+    }
+
+    @Override
+    public void mouseReleased(MouseEvent e) {
+        dispatchEventToDiagram(e);
+    }
+
+    public void select(MouseEvent e) {
+        boolean selected = false;
+        requestFocusInWindow(true);
+        for (int i = 0; i < pointsSize - 1; i++) {
+            translate(points[i], p1);
+            translate(points[i + 1], p2);
+            if (p1.x > p2.x || p1.y > p2.y) {
+                tp1.setLocation(p1);
+                p1.setLocation(p2);
+                p2.setLocation(tp1);
+            }
+
+            p1.x -= MARGIN / 2;
+            p1.y -= MARGIN / 2;
+
+            p2.x += MARGIN / 2;
+            p2.y += MARGIN / 2;
+
+
+            if (e.getX() >= p1.x && e.getX() <= p2.x
+                    && e.getY() >= p1.y && e.getY() <= p2.y) {
+                selected = true;
+            }
+        }
+
+        if (selected) {
+            getDiagram().select(this, e.isShiftDown() || e.isControlDown());
+            e.consume();
+        }
+    }
+
+    @Override
+    public void mouseEntered(MouseEvent e) {
+    }
+
+    @Override
+    public void mouseExited(MouseEvent e) {
+    }
+
+    @Override
+    public void keyTyped(KeyEvent e) {
+    }
+
+    @Override
+    public void keyPressed(KeyEvent e) {
+
+        if (e.getKeyCode() == KeyEvent.VK_DELETE) {
+            Diagram diag = getDiagram();
+            diag.removeSelected();
+        }
+    }
+
+    @Override
+    public void keyReleased(KeyEvent e) {
+    }
+
+    @Override
+    public void componentResized(ComponentEvent e) {
+    }
+
+    @Override
+    public void componentMoved(ComponentEvent e) {
+        resize(start, end);
+    }
+
+    @Override
+    public void componentShown(ComponentEvent e) {
+    }
+
+    @Override
+    public void componentHidden(ComponentEvent e) {
+    }
+
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        mapping = evt.getSource();
+        key = "error";
+        //key = MaterialUtils.makeKey(mapping, getDiagram().getCurrentTechniqueName());
+    }
+}
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/Diagram.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Diagram.java
similarity index 96%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/Diagram.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Diagram.java
index 739a720ac..afc963945 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/Diagram.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Diagram.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 import java.awt.Color;
 import java.awt.Component;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/DraggablePanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/DraggablePanel.java
similarity index 96%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/DraggablePanel.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/DraggablePanel.java
index 80a25c13f..a711018a1 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/DraggablePanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/DraggablePanel.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 import java.awt.Dimension;
 import java.awt.event.MouseEvent;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodeEditor.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeEditor.java
similarity index 98%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/NodeEditor.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeEditor.java
index 1d0985599..91c4acffc 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodeEditor.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeEditor.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 import java.awt.Point;
 
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodePanel.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodePanel.java
similarity index 96%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/NodePanel.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodePanel.java
index e0ed2813f..4dfb9f436 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodePanel.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodePanel.java
@@ -29,9 +29,9 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.GradientPaint;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodeToolBar.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeToolBar.java
similarity index 98%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/NodeToolBar.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeToolBar.java
index 330c59968..765893ca8 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/NodeToolBar.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/NodeToolBar.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
diff --git a/jme3-core/src/com/jme3/gde/core/editor/nodes/Selectable.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Selectable.java
similarity index 95%
rename from jme3-core/src/com/jme3/gde/core/editor/nodes/Selectable.java
rename to jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Selectable.java
index fc70388b8..4de2f2af4 100644
--- a/jme3-core/src/com/jme3/gde/core/editor/nodes/Selectable.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/nodes/Selectable.java
@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.core.editor.nodes;
+package com.jme3.gde.materialdefinition.editor.nodes;
 
 /**
  * A marker interface for selectable items (Nodes and Connections)
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/util/MatDefEditorUtil.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/util/MatDefEditorUtil.java
index a52387b24..7240edbf9 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/util/MatDefEditorUtil.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/util/MatDefEditorUtil.java
@@ -34,7 +34,7 @@
 
 import com.jme3.asset.AssetManager;
 import com.jme3.asset.ShaderNodeDefinitionKey;
-import com.jme3.gde.core.editor.nodes.Connection;
+import com.jme3.gde.materialdefinition.editor.nodes.Connection;
 import com.jme3.gde.materialdefinition.editor.InOut;
 import com.jme3.gde.materialdefinition.editor.ShaderOutBusPanel;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java
index 2662f6ec6..d09e7add8 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java
@@ -41,9 +41,9 @@
 public class Icons {
     public static ImageIcon getIconForShaderType(ShaderNodePanel.NodeType type) {
         if (type == ShaderNodePanel.NodeType.Fragment) {
-            return com.jme3.gde.core.editor.icons.Icons.frag;
+            return com.jme3.gde.materialdefinition.editor.icons.Icons.frag;
         } else {
-            return com.jme3.gde.core.editor.icons.Icons.vert;
+            return com.jme3.gde.materialdefinition.editor.icons.Icons.vert;
         }
     }
 }
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java
index 983477871..9f591b68e 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java
@@ -5,10 +5,10 @@
 package com.jme3.gde.materialdefinition.navigator.node;
 
 import com.jme3.gde.materialdefinition.MatDefDataObject;
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import java.awt.Image;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java
index 8809f0b1b..71c446f8c 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java
@@ -4,10 +4,10 @@
  */
 package com.jme3.gde.materialdefinition.navigator.node;
 
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.MatDefBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import java.awt.Image;
 import java.beans.PropertyChangeEvent;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java
index a20bc3def..241cb3580 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java
@@ -6,12 +6,12 @@
 
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.materialdefinition.MatDefDataObject;
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.MatDefBlock;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import com.jme3.shader.Shader;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java
index 1b3916639..ee8abcd97 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java
@@ -4,10 +4,10 @@
  */
 package com.jme3.gde.materialdefinition.navigator.node;
 
-import com.jme3.gde.core.editor.nodes.Selectable;
+import com.jme3.gde.materialdefinition.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import java.awt.Image;
 import java.beans.PropertyChangeEvent;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java
index 53d1d21cf..38624f923 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java
@@ -47,7 +47,7 @@
 
 @MultiViewElement.Registration(
     displayName = "#LBL_MatDef_SHADER",
-iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
+iconBase = "com/jme3/gde/materialdefinition/editor/icons/matdef.png",
 mimeType = "text/jme-materialdefinition",
 persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
 preferredID = "MatDefVisual",
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java
index 0be20bc48..616ad4aea 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java
@@ -4,7 +4,7 @@
  */
 package com.jme3.gde.materialdefinition.shadervisual;
 
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.shader.Shader;
 
 /**
diff --git a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java
index dee8bff95..20c36c607 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java
@@ -5,7 +5,7 @@
 package com.jme3.gde.materialdefinition.utils;
 
 import com.jme3.gde.materialdefinition.dialog.AddNodeDialog;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.shader.ShaderNodeDefinition;
 import java.util.logging.Level;
 import java.util.logging.Logger;
diff --git a/jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java b/jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java
index 321e4fd39..9c172f62a 100644
--- a/jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java
+++ b/jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java
@@ -11,7 +11,7 @@
 import com.jme3.gde.core.scene.SceneApplication;
 import com.jme3.gde.core.scene.SceneListener;
 import com.jme3.gde.core.scene.SceneRequest;
-import com.jme3.gde.core.editor.icons.Icons;
+import com.jme3.gde.materialdefinition.editor.icons.Icons;
 import com.jme3.material.MatParam;
 import com.jme3.material.Material;
 import com.jme3.math.FastMath;
diff --git a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java
index 1d1948d42..badc77362 100644
--- a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java
+++ b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java
@@ -57,7 +57,7 @@
 )
 @DataObject.Registration(
         mimeType = "text/x-j3sn",
-        iconBase = "com/jme3/gde/core/editor/icons/node.png",
+        iconBase = "com/jme3/gde/materialdefinition/editor/icons/node.png",
         displayName = "#LBL_SNDef_LOADER",
         position = 300
 )
@@ -127,7 +127,7 @@ protected int associateLookup() {
 
     @MultiViewElement.Registration(
             displayName = "#LBL_SNDef_EDITOR",
-            iconBase = "com/jme3/gde/core/editor/icons/node.png",
+            iconBase = "com/jme3/gde/materialdefinition/editor/icons/node.png",
             mimeType = "text/x-j3sn",
             persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
             preferredID = "SNDef",
diff --git a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java
index 53b60c6de..9a2ad856c 100644
--- a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java
+++ b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java
@@ -45,7 +45,7 @@
 
 @MultiViewElement.Registration(
         displayName = "#LBL_SNDef_VISUAL",
-        iconBase = "com/jme3/gde/core/editor/icons/node.png",
+        iconBase = "com/jme3/gde/materialdefinition/editor/icons/node.png",
         mimeType = "text/x-j3sn",
         persistenceType = TopComponent.PERSISTENCE_NEVER,
         preferredID = "SNDefVisual",
diff --git a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.form b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.form
index 1168da167..0c28fa00e 100644
--- a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.form
+++ b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.form
@@ -56,7 +56,6 @@
     
     
       
-        
         
       
 
@@ -77,7 +76,7 @@
           
             
               
-                  
+                  
               
             
             
@@ -90,7 +89,7 @@
         
           
             
-              
+              
             
             
               
@@ -107,7 +106,7 @@
         
           
             
-              
+              
             
             
               
diff --git a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.java b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.java
index 6f8b42736..a2d08948a 100644
--- a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.java
+++ b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefVisualPanel2.java
@@ -149,7 +149,6 @@ public Class getColumnClass(int columnIndex) {
         });
         jScrollPane1.setViewportView(varTable);
 
-        jToolBar1.setFloatable(false);
         jToolBar1.setRollover(true);
 
         org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(SNDefVisualPanel2.class, "SNDefVisualPanel2.titleLabel.text")); // NOI18N
@@ -161,7 +160,7 @@ public Class getColumnClass(int columnIndex) {
         jPanel1.setLayout(jPanel1Layout);
         jPanel1Layout.setHorizontalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 372, Short.MAX_VALUE)
+            .addGap(0, 332, Short.MAX_VALUE)
         );
         jPanel1Layout.setVerticalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -170,7 +169,7 @@ public Class getColumnClass(int columnIndex) {
 
         jToolBar1.add(jPanel1);
 
-        addButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/add.png"))); // NOI18N
+        addButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/add.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(addButton, org.openide.util.NbBundle.getMessage(SNDefVisualPanel2.class, "SNDefVisualPanel2.addButton.text")); // NOI18N
         addButton.setToolTipText(org.openide.util.NbBundle.getMessage(SNDefVisualPanel2.class, "SNDefVisualPanel2.addButton.toolTipText")); // NOI18N
         addButton.setAlignmentX(0.5F);
@@ -181,7 +180,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         });
         jToolBar1.add(addButton);
 
-        delButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/remove.png"))); // NOI18N
+        delButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/editor/icons/remove.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(delButton, org.openide.util.NbBundle.getMessage(SNDefVisualPanel2.class, "SNDefVisualPanel2.delButton.text")); // NOI18N
         delButton.setToolTipText(org.openide.util.NbBundle.getMessage(SNDefVisualPanel2.class, "SNDefVisualPanel2.delButton.toolTipText")); // NOI18N
         delButton.setAlignmentX(0.5F);
diff --git a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java
index 0d20d0fa9..7327fc2ce 100644
--- a/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java
+++ b/jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java
@@ -58,7 +58,7 @@
 
 // TODO define position attribute
 @TemplateRegistrations({
-    @TemplateRegistration(folder = "Material", content = "../SNDefTemplate.j3sn", displayName = "Shader Node Definition", iconBase = "com/jme3/gde/core/editor/icons/node.png", description = "./sNDef.html", scriptEngine = "freemarker"),
+    @TemplateRegistration(folder = "Material", content = "../SNDefTemplate.j3sn", displayName = "Shader Node Definition", iconBase = "com/jme3/gde/materialdefinition/editor/icons/node.png", description = "./sNDef.html", scriptEngine = "freemarker"),
     @TemplateRegistration(folder = "Material", content = "../ShaderNodeSource", scriptEngine = "freemarker")
 })
 @Messages("SNDefWizardIterator_displayName=Shader Node Definition")