diff --git a/.idea/dictionaries/project.xml b/.idea/dictionaries/project.xml
new file mode 100644
index 0000000..f7827e6
--- /dev/null
+++ b/.idea/dictionaries/project.xml
@@ -0,0 +1,7 @@
+
+
+
+ lerp
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 45476d1..a90c716 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,9 @@ file(GLOB_RECURSE SOURCE_FILES
)
# --- Define target ---
-add_executable(${PROJECT_NAME} ${SOURCE_FILES})
+add_executable(${PROJECT_NAME} ${SOURCE_FILES}
+ src/src/core/utils/PrimitiveGenerator.cpp
+ src/src/core/utils/PrimitiveGenerator.h)
# --- Include directories for this target ---
target_include_directories(${PROJECT_NAME} PRIVATE
diff --git a/imgui.ini b/imgui.ini
index 1e756ff..5da3557 100644
--- a/imgui.ini
+++ b/imgui.ini
@@ -10,52 +10,52 @@ Collapsed=1
[Window][WindowOverViewport_11111111]
Pos=0,19
-Size=32,32
+Size=1920,1158
Collapsed=0
[Window][Inspector]
-Pos=17,19
-Size=15,17
+Pos=1529,19
+Size=391,653
Collapsed=0
DockId=0x0000001B,0
[Window][Scene Tree]
Pos=0,19
-Size=7,15
+Size=340,612
Collapsed=0
DockId=0x0000000F,0
[Window][Viewport]
-Pos=9,19
-Size=6,7
+Pos=342,19
+Size=1185,612
Collapsed=0
-DockId=0x00000011,0
+DockId=0x00000010,0
[Window][##MainMenuBar]
Size=1920,19
Collapsed=0
[Window][Performance Info]
-Pos=25,45
-Size=7,7
+Pos=1587,674
+Size=333,307
Collapsed=0
-DockId=0x00000015,0
+DockId=0x00000013,0
[Window][Console]
-Pos=9,27
-Size=6,7
+Pos=0,633
+Size=760,544
Collapsed=0
-DockId=0x00000012,0
+DockId=0x00000011,0
[Window][Tilemap Editor]
Pos=265,19
Size=1263,674
Collapsed=0
-DockId=0x00000011,1
+DockId=0x00000010,1
[Window][Profiler]
-Pos=343,955
-Size=1232,222
+Pos=0,850
+Size=1920,327
Collapsed=0
DockId=0x00000008,0
@@ -78,8 +78,8 @@ Collapsed=0
DockId=0x00000008,1
[Window][Color Correction]
-Pos=25,49
-Size=7,7
+Pos=1587,1031
+Size=333,146
Collapsed=0
DockId=0x00000016,0
@@ -113,8 +113,8 @@ Collapsed=0
DockId=0x0000000E,0
[Window][Audio Output]
-Pos=17,45
-Size=6,7
+Pos=1529,674
+Size=56,503
Collapsed=0
DockId=0x00000019,0
@@ -136,10 +136,10 @@ Size=550,695
Collapsed=0
[Window][Lua Globals]
-Pos=17,38
-Size=15,7
+Pos=1587,983
+Size=333,46
Collapsed=0
-DockId=0x00000013,0
+DockId=0x00000014,0
[Window][Import Assets]
Pos=626,263
@@ -152,10 +152,10 @@ Size=600,209
Collapsed=0
[Window][File Explorer]
-Pos=0,36
-Size=15,15
+Pos=762,633
+Size=765,544
Collapsed=0
-DockId=0x0000001E,0
+DockId=0x00000012,0
[Window][ConfirmClearScene]
Pos=808,551
@@ -197,30 +197,30 @@ Column 1 Width=86
Column 2 Weight=1.0000
[Docking][Data]
-DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=32,32 Split=X
+DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X
DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=341,701 Split=Y Selected=0x12EF0F59
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,637 HiddenTabBar=1 Selected=0x12EF0F59
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=342,519 HiddenTabBar=1 Selected=0x36AF052B
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1577,701 Split=Y Selected=0xC450F867
- DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,684 Split=X Selected=0xC450F867
+ DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,829 Split=X Selected=0xC450F867
DockNode ID=0x00000017 Parent=0x00000007 SizeRef=1184,860 Split=Y Selected=0xC450F867
- DockNode ID=0x0000001D Parent=0x00000017 SizeRef=1208,763 Split=X Selected=0xC450F867
+ DockNode ID=0x0000001D Parent=0x00000017 SizeRef=1208,283 Split=X Selected=0xC450F867
DockNode ID=0x0000000F Parent=0x0000001D SizeRef=340,399 HiddenTabBar=1 Selected=0x12EF0F59
- DockNode ID=0x00000010 Parent=0x0000001D SizeRef=1185,399 Split=Y Selected=0xC450F867
- DockNode ID=0x00000011 Parent=0x00000010 SizeRef=1185,526 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
- DockNode ID=0x00000012 Parent=0x00000010 SizeRef=1185,235 HiddenTabBar=1 Selected=0xEA83D666
- DockNode ID=0x0000001E Parent=0x00000017 SizeRef=1208,393 HiddenTabBar=1 Selected=0x9C2B5678
+ DockNode ID=0x00000010 Parent=0x0000001D SizeRef=1185,399 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
+ DockNode ID=0x0000001E Parent=0x00000017 SizeRef=1208,544 Split=X Selected=0x9C2B5678
+ DockNode ID=0x00000011 Parent=0x0000001E SizeRef=760,399 HiddenTabBar=1 Selected=0xEA83D666
+ DockNode ID=0x00000012 Parent=0x0000001E SizeRef=765,399 HiddenTabBar=1 Selected=0x9C2B5678
DockNode ID=0x00000018 Parent=0x00000007 SizeRef=391,860 Split=Y Selected=0x36DC96AB
- DockNode ID=0x0000001B Parent=0x00000018 SizeRef=367,636 HiddenTabBar=1 Selected=0x36DC96AB
- DockNode ID=0x0000001C Parent=0x00000018 SizeRef=367,520 Split=Y Selected=0x8CFF897F
- DockNode ID=0x00000013 Parent=0x0000001C SizeRef=367,135 HiddenTabBar=1 Selected=0x8CFF897F
- DockNode ID=0x00000014 Parent=0x0000001C SizeRef=367,383 Split=X Selected=0x56009A08
- DockNode ID=0x00000019 Parent=0x00000014 SizeRef=56,70 HiddenTabBar=1 Selected=0x56009A08
- DockNode ID=0x0000001A Parent=0x00000014 SizeRef=333,70 Split=Y Selected=0x3FC1A724
- DockNode ID=0x00000015 Parent=0x0000001A SizeRef=181,220 HiddenTabBar=1 Selected=0x3FC1A724
- DockNode ID=0x00000016 Parent=0x0000001A SizeRef=181,161 HiddenTabBar=1 Selected=0xA873C17F
- DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,472 HiddenTabBar=1 Selected=0xEA83D666
+ DockNode ID=0x0000001B Parent=0x00000018 SizeRef=367,467 HiddenTabBar=1 Selected=0x36DC96AB
+ DockNode ID=0x0000001C Parent=0x00000018 SizeRef=367,360 Split=X Selected=0x8CFF897F
+ DockNode ID=0x00000019 Parent=0x0000001C SizeRef=56,70 HiddenTabBar=1 Selected=0x56009A08
+ DockNode ID=0x0000001A Parent=0x0000001C SizeRef=333,70 Split=Y Selected=0x3FC1A724
+ DockNode ID=0x00000015 Parent=0x0000001A SizeRef=181,254 Split=Y Selected=0x3FC1A724
+ DockNode ID=0x00000013 Parent=0x00000015 SizeRef=333,219 HiddenTabBar=1 Selected=0x3FC1A724
+ DockNode ID=0x00000014 Parent=0x00000015 SizeRef=333,33 HiddenTabBar=1 Selected=0x8CFF897F
+ DockNode ID=0x00000016 Parent=0x0000001A SizeRef=181,104 HiddenTabBar=1 Selected=0xA873C17F
+ DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,327 HiddenTabBar=1 Selected=0xEA83D666
DockNode ID=0x00000006 Parent=0x11111111 SizeRef=289,1158 Split=Y Selected=0x36DC96AB
DockNode ID=0x00000009 Parent=0x00000006 SizeRef=449,488 Split=Y Selected=0x36DC96AB
DockNode ID=0x0000000B Parent=0x00000009 SizeRef=449,556 Split=Y Selected=0x36DC96AB
diff --git a/src/src/Engine.cpp b/src/src/Engine.cpp
index a03192a..ed50113 100644
--- a/src/src/Engine.cpp
+++ b/src/src/Engine.cpp
@@ -290,15 +290,15 @@ void ShowProfilerTimeline()
// Layout metrics
constexpr float rowH = 24.0f;
int rows = CountNodes(cachedFrame);
- float avail = ImGui::GetContentRegionAvail().x;
+ const float avail = ImGui::GetContentRegionAvail().x;
float width = avail * zoom;
float height = std::min(rows * rowH, 400.0f);
// Begin child & get origin
ImGui::BeginChild("TimelineScroll", ImVec2(0, height), false, ImGuiWindowFlags_HorizontalScrollbar);
- ImVec2 origin = ImGui::GetCursorScreenPos();
+ const ImVec2 origin = ImGui::GetCursorScreenPos();
ImDrawList *draw = ImGui::GetWindowDrawList();
- ImU32 gridCol = ImGui::GetColorU32(ImGuiCol_Border);
+ const ImU32 gridCol = ImGui::GetColorU32(ImGuiCol_Border);
struct Line
{
@@ -469,6 +469,8 @@ void DrawGizmoForObject(const std::shared_ptr