diff --git a/XplorePlane.sln b/XplorePlane.sln
new file mode 100644
index 0000000..e5c7cfb
--- /dev/null
+++ b/XplorePlane.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36811.4 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XplorePlane", "XplorePlane\XplorePlane.csproj", "{07978DB9-4B88-4F42-9054-73992742BD6A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {07978DB9-4B88-4F42-9054-73992742BD6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {07978DB9-4B88-4F42-9054-73992742BD6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {07978DB9-4B88-4F42-9054-73992742BD6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {07978DB9-4B88-4F42-9054-73992742BD6A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {DB6D69BA-49FD-432F-8069-2A8F64933CDE}
+ EndGlobalSection
+EndGlobal
diff --git a/XplorePlane/App.xaml b/XplorePlane/App.xaml
new file mode 100644
index 0000000..000a134
--- /dev/null
+++ b/XplorePlane/App.xaml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/XplorePlane/App.xaml.cs b/XplorePlane/App.xaml.cs
new file mode 100644
index 0000000..38bec1d
--- /dev/null
+++ b/XplorePlane/App.xaml.cs
@@ -0,0 +1,37 @@
+using System.Windows;
+using XplorePlane.Views;
+using XplorePlane.ViewModels;
+using Prism.Ioc;
+using Prism.DryIoc;
+
+namespace XplorePlane
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+
+ // Initialize Prism with DryIoc
+ var bootstrapper = new AppBootstrapper();
+ bootstrapper.Run();
+ }
+ }
+
+ public class AppBootstrapper : PrismBootstrapper
+ {
+ protected override Window CreateShell()
+ {
+ return Container.Resolve();
+ }
+
+ protected override void RegisterTypes(IContainerRegistry containerRegistry)
+ {
+ containerRegistry.RegisterForNavigation();
+ containerRegistry.Register();
+ }
+ }
+}
diff --git a/XplorePlane/Assets/Icons/.gitkeep b/XplorePlane/Assets/Icons/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/XplorePlane/Models/Models.cs b/XplorePlane/Models/Models.cs
new file mode 100644
index 0000000..b3b8608
--- /dev/null
+++ b/XplorePlane/Models/Models.cs
@@ -0,0 +1,287 @@
+using System;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
+using System.Windows.Input;
+
+namespace XplorePlane.Models
+{
+ // ── Navigation Tree Models ────────────────────────────────────────
+ public class NavGroupNode : INotifyPropertyChanged
+ {
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ private string _name;
+ public string Name
+ {
+ get => _name;
+ set { _name = value; OnPropertyChanged(); }
+ }
+
+ private ObservableCollection