diff --git a/visual/fonts/Font.ttf b/assets/fonts/Font.ttf
similarity index 100%
rename from visual/fonts/Font.ttf
rename to assets/fonts/Font.ttf
diff --git a/visual/fonts/Font.ttf.import b/assets/fonts/Font.ttf.import
similarity index 69%
rename from visual/fonts/Font.ttf.import
rename to assets/fonts/Font.ttf.import
index 7a6fe51..3f9a876 100644
--- a/visual/fonts/Font.ttf.import
+++ b/assets/fonts/Font.ttf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://clpf84p1lfwlp"
-path="res://.godot/imported/Font.ttf-ab23156a8f74313018e59a9482cc956b.fontdata"
+path="res://.godot/imported/Font.ttf-cd7c0215f158f1afe430aeecbfb5d51b.fontdata"
[deps]
-source_file="res://visual/fonts/Font.ttf"
-dest_files=["res://.godot/imported/Font.ttf-ab23156a8f74313018e59a9482cc956b.fontdata"]
+source_file="res://assets/fonts/Font.ttf"
+dest_files=["res://.godot/imported/Font.ttf-cd7c0215f158f1afe430aeecbfb5d51b.fontdata"]
[params]
diff --git a/visual/fonts/FontBold.ttf b/assets/fonts/FontBold.ttf
similarity index 100%
rename from visual/fonts/FontBold.ttf
rename to assets/fonts/FontBold.ttf
diff --git a/visual/fonts/FontBold.ttf.import b/assets/fonts/FontBold.ttf.import
similarity index 68%
rename from visual/fonts/FontBold.ttf.import
rename to assets/fonts/FontBold.ttf.import
index 8a6ce9a..737848c 100644
--- a/visual/fonts/FontBold.ttf.import
+++ b/assets/fonts/FontBold.ttf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://dc0w4sx0h0fui"
-path="res://.godot/imported/FontBold.ttf-1e1f4e9653596be23836f0f07c44b39f.fontdata"
+path="res://.godot/imported/FontBold.ttf-5d725167d8320de4282b923e311a7f32.fontdata"
[deps]
-source_file="res://visual/fonts/FontBold.ttf"
-dest_files=["res://.godot/imported/FontBold.ttf-1e1f4e9653596be23836f0f07c44b39f.fontdata"]
+source_file="res://assets/fonts/FontBold.ttf"
+dest_files=["res://.godot/imported/FontBold.ttf-5d725167d8320de4282b923e311a7f32.fontdata"]
[params]
diff --git a/visual/fonts/FontMono.ttf b/assets/fonts/FontMono.ttf
similarity index 100%
rename from visual/fonts/FontMono.ttf
rename to assets/fonts/FontMono.ttf
diff --git a/visual/fonts/FontMono.ttf.import b/assets/fonts/FontMono.ttf.import
similarity index 68%
rename from visual/fonts/FontMono.ttf.import
rename to assets/fonts/FontMono.ttf.import
index 8f3cabc..f61482f 100644
--- a/visual/fonts/FontMono.ttf.import
+++ b/assets/fonts/FontMono.ttf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://depydd16jq777"
-path="res://.godot/imported/FontMono.ttf-a376ecc2a480b8f7f1be2af334133b0b.fontdata"
+path="res://.godot/imported/FontMono.ttf-c924fdc7809f760b3a747e0cce04fa12.fontdata"
[deps]
-source_file="res://visual/fonts/FontMono.ttf"
-dest_files=["res://.godot/imported/FontMono.ttf-a376ecc2a480b8f7f1be2af334133b0b.fontdata"]
+source_file="res://assets/fonts/FontMono.ttf"
+dest_files=["res://.godot/imported/FontMono.ttf-c924fdc7809f760b3a747e0cce04fa12.fontdata"]
[params]
diff --git a/visual/icons/ApplyMatrix.svg b/assets/icons/ApplyMatrix.svg
similarity index 100%
rename from visual/icons/ApplyMatrix.svg
rename to assets/icons/ApplyMatrix.svg
diff --git a/visual/icons/ApplyMatrix.svg.import b/assets/icons/ApplyMatrix.svg.import
similarity index 74%
rename from visual/icons/ApplyMatrix.svg.import
rename to assets/icons/ApplyMatrix.svg.import
index b83dd89..cb41847 100644
--- a/visual/icons/ApplyMatrix.svg.import
+++ b/assets/icons/ApplyMatrix.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cqg7ga6y3m0v1"
-path="res://.godot/imported/ApplyMatrix.svg-85441c3c62f19555e11c22758f980cc0.ctex"
+path="res://.godot/imported/ApplyMatrix.svg-4b4fb4d9ae9b2b8df69ee71dac2db3d2.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/ApplyMatrix.svg"
-dest_files=["res://.godot/imported/ApplyMatrix.svg-85441c3c62f19555e11c22758f980cc0.ctex"]
+source_file="res://assets/icons/ApplyMatrix.svg"
+dest_files=["res://.godot/imported/ApplyMatrix.svg-4b4fb4d9ae9b2b8df69ee71dac2db3d2.ctex"]
[params]
diff --git a/visual/icons/Arrow.svg b/assets/icons/Arrow.svg
similarity index 100%
rename from visual/icons/Arrow.svg
rename to assets/icons/Arrow.svg
diff --git a/visual/icons/Arrow.svg.import b/assets/icons/Arrow.svg.import
similarity index 76%
rename from visual/icons/Arrow.svg.import
rename to assets/icons/Arrow.svg.import
index 50c5698..3f2255b 100644
--- a/visual/icons/Arrow.svg.import
+++ b/assets/icons/Arrow.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://coda6chhcatal"
-path="res://.godot/imported/Arrow.svg-06042df8f20de397330083634dd52037.ctex"
+path="res://.godot/imported/Arrow.svg-454f1a120b660e1c200a4fee4bc9d4e9.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Arrow.svg"
-dest_files=["res://.godot/imported/Arrow.svg-06042df8f20de397330083634dd52037.ctex"]
+source_file="res://assets/icons/Arrow.svg"
+dest_files=["res://.godot/imported/Arrow.svg-454f1a120b660e1c200a4fee4bc9d4e9.ctex"]
[params]
diff --git a/visual/icons/BWHandle.svg b/assets/icons/BWHandle.svg
similarity index 100%
rename from visual/icons/BWHandle.svg
rename to assets/icons/BWHandle.svg
diff --git a/visual/icons/BWHandle.svg.import b/assets/icons/BWHandle.svg.import
similarity index 75%
rename from visual/icons/BWHandle.svg.import
rename to assets/icons/BWHandle.svg.import
index b00f88f..1078b13 100644
--- a/visual/icons/BWHandle.svg.import
+++ b/assets/icons/BWHandle.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ksx758sjihau"
-path="res://.godot/imported/BWHandle.svg-1e493ae0ac9b732c45fbf2fb919a9134.ctex"
+path="res://.godot/imported/BWHandle.svg-9588bc79a1c5a24e3ab185d58c8cacd6.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/BWHandle.svg"
-dest_files=["res://.godot/imported/BWHandle.svg-1e493ae0ac9b732c45fbf2fb919a9134.ctex"]
+source_file="res://assets/icons/BWHandle.svg"
+dest_files=["res://.godot/imported/BWHandle.svg-9588bc79a1c5a24e3ab185d58c8cacd6.ctex"]
[params]
diff --git a/visual/icons/Clear.svg b/assets/icons/Clear.svg
similarity index 100%
rename from visual/icons/Clear.svg
rename to assets/icons/Clear.svg
diff --git a/visual/icons/Clear.svg.import b/assets/icons/Clear.svg.import
similarity index 76%
rename from visual/icons/Clear.svg.import
rename to assets/icons/Clear.svg.import
index 8766345..5eab9d8 100644
--- a/visual/icons/Clear.svg.import
+++ b/assets/icons/Clear.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dw7ho4df0uh4p"
-path="res://.godot/imported/Clear.svg-2c0cdf62d3484d1eb69367197ad3b84f.ctex"
+path="res://.godot/imported/Clear.svg-3a871eef1b434e2f0f43b3b19cfa4303.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Clear.svg"
-dest_files=["res://.godot/imported/Clear.svg-2c0cdf62d3484d1eb69367197ad3b84f.ctex"]
+source_file="res://assets/icons/Clear.svg"
+dest_files=["res://.godot/imported/Clear.svg-3a871eef1b434e2f0f43b3b19cfa4303.ctex"]
[params]
diff --git a/visual/icons/CodeOptions.svg b/assets/icons/CodeOptions.svg
similarity index 100%
rename from visual/icons/CodeOptions.svg
rename to assets/icons/CodeOptions.svg
diff --git a/visual/icons/CodeOptions.svg.import b/assets/icons/CodeOptions.svg.import
similarity index 74%
rename from visual/icons/CodeOptions.svg.import
rename to assets/icons/CodeOptions.svg.import
index a996359..af09a94 100644
--- a/visual/icons/CodeOptions.svg.import
+++ b/assets/icons/CodeOptions.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dthdjf4v2vlvg"
-path="res://.godot/imported/CodeOptions.svg-630dea7e96ec4acaf0722955addc9e0d.ctex"
+path="res://.godot/imported/CodeOptions.svg-494ca15fb7ae22eb042af52beb4677fd.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/CodeOptions.svg"
-dest_files=["res://.godot/imported/CodeOptions.svg-630dea7e96ec4acaf0722955addc9e0d.ctex"]
+source_file="res://assets/icons/CodeOptions.svg"
+dest_files=["res://.godot/imported/CodeOptions.svg-494ca15fb7ae22eb042af52beb4677fd.ctex"]
[params]
diff --git a/visual/icons/Compress.svg b/assets/icons/Compress.svg
similarity index 100%
rename from visual/icons/Compress.svg
rename to assets/icons/Compress.svg
diff --git a/visual/icons/Compress.svg.import b/assets/icons/Compress.svg.import
similarity index 75%
rename from visual/icons/Compress.svg.import
rename to assets/icons/Compress.svg.import
index efefae8..7837613 100644
--- a/visual/icons/Compress.svg.import
+++ b/assets/icons/Compress.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c5kgvxffw35gi"
-path="res://.godot/imported/Compress.svg-5a36a4a01a7f614fe441ad5c7140a46a.ctex"
+path="res://.godot/imported/Compress.svg-108f53e6f660b13f0dc7d2a72d7cff0f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Compress.svg"
-dest_files=["res://.godot/imported/Compress.svg-5a36a4a01a7f614fe441ad5c7140a46a.ctex"]
+source_file="res://assets/icons/Compress.svg"
+dest_files=["res://.godot/imported/Compress.svg-108f53e6f660b13f0dc7d2a72d7cff0f.ctex"]
[params]
diff --git a/visual/icons/Config.svg b/assets/icons/Config.svg
similarity index 100%
rename from visual/icons/Config.svg
rename to assets/icons/Config.svg
diff --git a/visual/icons/Config.svg.import b/assets/icons/Config.svg.import
similarity index 75%
rename from visual/icons/Config.svg.import
rename to assets/icons/Config.svg.import
index 1c79dd5..aef5154 100644
--- a/visual/icons/Config.svg.import
+++ b/assets/icons/Config.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://qm5bah5fncuy"
-path="res://.godot/imported/Config.svg-53c5c618e9ee45891932df3eddd7fb88.ctex"
+path="res://.godot/imported/Config.svg-2731db6c5d5933d8f40d2eb4ac5c9112.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Config.svg"
-dest_files=["res://.godot/imported/Config.svg-53c5c618e9ee45891932df3eddd7fb88.ctex"]
+source_file="res://assets/icons/Config.svg"
+dest_files=["res://.godot/imported/Config.svg-2731db6c5d5933d8f40d2eb4ac5c9112.ctex"]
[params]
diff --git a/visual/icons/Copy.svg b/assets/icons/Copy.svg
similarity index 100%
rename from visual/icons/Copy.svg
rename to assets/icons/Copy.svg
diff --git a/visual/icons/Copy.svg.import b/assets/icons/Copy.svg.import
similarity index 76%
rename from visual/icons/Copy.svg.import
rename to assets/icons/Copy.svg.import
index 1731ec0..8d9ac91 100644
--- a/visual/icons/Copy.svg.import
+++ b/assets/icons/Copy.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ccvjkdd0s7rb4"
-path="res://.godot/imported/Copy.svg-7e33a9d04f1760f77f046a9130800e38.ctex"
+path="res://.godot/imported/Copy.svg-ff5026a49044a654e1790e2dfe8ef364.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Copy.svg"
-dest_files=["res://.godot/imported/Copy.svg-7e33a9d04f1760f77f046a9130800e38.ctex"]
+source_file="res://assets/icons/Copy.svg"
+dest_files=["res://.godot/imported/Copy.svg-ff5026a49044a654e1790e2dfe8ef364.ctex"]
[params]
diff --git a/visual/icons/CreateFolder.svg b/assets/icons/CreateFolder.svg
similarity index 100%
rename from visual/icons/CreateFolder.svg
rename to assets/icons/CreateFolder.svg
diff --git a/visual/icons/CreateFolder.svg.import b/assets/icons/CreateFolder.svg.import
similarity index 74%
rename from visual/icons/CreateFolder.svg.import
rename to assets/icons/CreateFolder.svg.import
index 0b09051..a1eaf7f 100644
--- a/visual/icons/CreateFolder.svg.import
+++ b/assets/icons/CreateFolder.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bhxd4l64dq2jy"
-path="res://.godot/imported/CreateFolder.svg-370cf817a2360b6c5b8636733afc198b.ctex"
+path="res://.godot/imported/CreateFolder.svg-913d7182fde1b4bb6fe68c275a28a374.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/CreateFolder.svg"
-dest_files=["res://.godot/imported/CreateFolder.svg-370cf817a2360b6c5b8636733afc198b.ctex"]
+source_file="res://assets/icons/CreateFolder.svg"
+dest_files=["res://.godot/imported/CreateFolder.svg-913d7182fde1b4bb6fe68c275a28a374.ctex"]
[params]
diff --git a/assets/icons/Cube.svg b/assets/icons/Cube.svg
new file mode 100644
index 0000000..ed09fdf
--- /dev/null
+++ b/assets/icons/Cube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icons/Cube.svg.import b/assets/icons/Cube.svg.import
new file mode 100644
index 0000000..cc7604c
--- /dev/null
+++ b/assets/icons/Cube.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7vnn8bloi26s"
+path="res://.godot/imported/Cube.svg-e714e55d7ae8d48f4e15ef31cdfdb647.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/icons/Cube.svg"
+dest_files=["res://.godot/imported/Cube.svg-e714e55d7ae8d48f4e15ef31cdfdb647.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/visual/icons/Cut.svg b/assets/icons/Cut.svg
similarity index 100%
rename from visual/icons/Cut.svg
rename to assets/icons/Cut.svg
diff --git a/visual/icons/Cut.svg.import b/assets/icons/Cut.svg.import
similarity index 76%
rename from visual/icons/Cut.svg.import
rename to assets/icons/Cut.svg.import
index b368290..a43c34c 100644
--- a/visual/icons/Cut.svg.import
+++ b/assets/icons/Cut.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://boihbt4421eu8"
-path="res://.godot/imported/Cut.svg-572771d34f38096fd1c16e22164ddba7.ctex"
+path="res://.godot/imported/Cut.svg-9fcfd8686ef77f78ed2688cfb69d7644.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Cut.svg"
-dest_files=["res://.godot/imported/Cut.svg-572771d34f38096fd1c16e22164ddba7.ctex"]
+source_file="res://assets/icons/Cut.svg"
+dest_files=["res://.godot/imported/Cut.svg-9fcfd8686ef77f78ed2688cfb69d7644.ctex"]
[params]
diff --git a/visual/icons/Debug.svg b/assets/icons/Debug.svg
similarity index 100%
rename from visual/icons/Debug.svg
rename to assets/icons/Debug.svg
diff --git a/visual/icons/Debug.svg.import b/assets/icons/Debug.svg.import
similarity index 76%
rename from visual/icons/Debug.svg.import
rename to assets/icons/Debug.svg.import
index 10167b1..e691f2b 100644
--- a/visual/icons/Debug.svg.import
+++ b/assets/icons/Debug.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bfqay6kyf0guc"
-path="res://.godot/imported/Debug.svg-08b356bced56a0ef8e4f673afa1601c7.ctex"
+path="res://.godot/imported/Debug.svg-10e83314f10b353cebaa94e1c70de967.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Debug.svg"
-dest_files=["res://.godot/imported/Debug.svg-08b356bced56a0ef8e4f673afa1601c7.ctex"]
+source_file="res://assets/icons/Debug.svg"
+dest_files=["res://.godot/imported/Debug.svg-10e83314f10b353cebaa94e1c70de967.ctex"]
[params]
diff --git a/visual/icons/Delete.svg b/assets/icons/Delete.svg
similarity index 100%
rename from visual/icons/Delete.svg
rename to assets/icons/Delete.svg
diff --git a/visual/icons/Delete.svg.import b/assets/icons/Delete.svg.import
similarity index 75%
rename from visual/icons/Delete.svg.import
rename to assets/icons/Delete.svg.import
index a913fe0..1c35cb2 100644
--- a/visual/icons/Delete.svg.import
+++ b/assets/icons/Delete.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cj5x2ti8150ja"
-path="res://.godot/imported/Delete.svg-6b52ae4e460482dae4928e13c83b94c0.ctex"
+path="res://.godot/imported/Delete.svg-fb617ed67411fb32cbb6cbd03041205f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Delete.svg"
-dest_files=["res://.godot/imported/Delete.svg-6b52ae4e460482dae4928e13c83b94c0.ctex"]
+source_file="res://assets/icons/Delete.svg"
+dest_files=["res://.godot/imported/Delete.svg-fb617ed67411fb32cbb6cbd03041205f.ctex"]
[params]
diff --git a/visual/icons/DirDesktop.svg b/assets/icons/DirDesktop.svg
similarity index 100%
rename from visual/icons/DirDesktop.svg
rename to assets/icons/DirDesktop.svg
diff --git a/visual/icons/DirDesktop.svg.import b/assets/icons/DirDesktop.svg.import
similarity index 74%
rename from visual/icons/DirDesktop.svg.import
rename to assets/icons/DirDesktop.svg.import
index bf6712a..27e1288 100644
--- a/visual/icons/DirDesktop.svg.import
+++ b/assets/icons/DirDesktop.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://7tukdjdfcrwg"
-path="res://.godot/imported/DirDesktop.svg-acb7dad19a064fd6b7cbb149a66be88c.ctex"
+path="res://.godot/imported/DirDesktop.svg-b7a2d67676de3b45f53c5d5fb9d04055.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirDesktop.svg"
-dest_files=["res://.godot/imported/DirDesktop.svg-acb7dad19a064fd6b7cbb149a66be88c.ctex"]
+source_file="res://assets/icons/DirDesktop.svg"
+dest_files=["res://.godot/imported/DirDesktop.svg-b7a2d67676de3b45f53c5d5fb9d04055.ctex"]
[params]
diff --git a/visual/icons/DirDocuments.svg b/assets/icons/DirDocuments.svg
similarity index 100%
rename from visual/icons/DirDocuments.svg
rename to assets/icons/DirDocuments.svg
diff --git a/visual/icons/DirDocuments.svg.import b/assets/icons/DirDocuments.svg.import
similarity index 74%
rename from visual/icons/DirDocuments.svg.import
rename to assets/icons/DirDocuments.svg.import
index a79b997..782e225 100644
--- a/visual/icons/DirDocuments.svg.import
+++ b/assets/icons/DirDocuments.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bpmks3pbl18rl"
-path="res://.godot/imported/DirDocuments.svg-b1ef55a3e2fd0b6809986fa07c707238.ctex"
+path="res://.godot/imported/DirDocuments.svg-df89f18957b052f6296002d8d0a41440.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirDocuments.svg"
-dest_files=["res://.godot/imported/DirDocuments.svg-b1ef55a3e2fd0b6809986fa07c707238.ctex"]
+source_file="res://assets/icons/DirDocuments.svg"
+dest_files=["res://.godot/imported/DirDocuments.svg-df89f18957b052f6296002d8d0a41440.ctex"]
[params]
diff --git a/visual/icons/DirDownloads.svg b/assets/icons/DirDownloads.svg
similarity index 100%
rename from visual/icons/DirDownloads.svg
rename to assets/icons/DirDownloads.svg
diff --git a/visual/icons/DirDownloads.svg.import b/assets/icons/DirDownloads.svg.import
similarity index 74%
rename from visual/icons/DirDownloads.svg.import
rename to assets/icons/DirDownloads.svg.import
index ea620f9..21f39aa 100644
--- a/visual/icons/DirDownloads.svg.import
+++ b/assets/icons/DirDownloads.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://biq08throgeuw"
-path="res://.godot/imported/DirDownloads.svg-749be2df5e3e8e86654497d33aaef37a.ctex"
+path="res://.godot/imported/DirDownloads.svg-5704048e3ee9a7ac86a49b059bd6a059.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirDownloads.svg"
-dest_files=["res://.godot/imported/DirDownloads.svg-749be2df5e3e8e86654497d33aaef37a.ctex"]
+source_file="res://assets/icons/DirDownloads.svg"
+dest_files=["res://.godot/imported/DirDownloads.svg-5704048e3ee9a7ac86a49b059bd6a059.ctex"]
[params]
diff --git a/visual/icons/DirMovies.svg b/assets/icons/DirMovies.svg
similarity index 100%
rename from visual/icons/DirMovies.svg
rename to assets/icons/DirMovies.svg
diff --git a/visual/icons/DirMovies.svg.import b/assets/icons/DirMovies.svg.import
similarity index 75%
rename from visual/icons/DirMovies.svg.import
rename to assets/icons/DirMovies.svg.import
index 9cf6229..36bef7b 100644
--- a/visual/icons/DirMovies.svg.import
+++ b/assets/icons/DirMovies.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bix0itrhquk43"
-path="res://.godot/imported/DirMovies.svg-6502b6ed30bc262e78e211e2590f4935.ctex"
+path="res://.godot/imported/DirMovies.svg-2d6571f0e062e42f434e9d816096b73f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirMovies.svg"
-dest_files=["res://.godot/imported/DirMovies.svg-6502b6ed30bc262e78e211e2590f4935.ctex"]
+source_file="res://assets/icons/DirMovies.svg"
+dest_files=["res://.godot/imported/DirMovies.svg-2d6571f0e062e42f434e9d816096b73f.ctex"]
[params]
diff --git a/visual/icons/DirMusic.svg b/assets/icons/DirMusic.svg
similarity index 100%
rename from visual/icons/DirMusic.svg
rename to assets/icons/DirMusic.svg
diff --git a/visual/icons/DirMusic.svg.import b/assets/icons/DirMusic.svg.import
similarity index 75%
rename from visual/icons/DirMusic.svg.import
rename to assets/icons/DirMusic.svg.import
index 5cb3915..9ad0806 100644
--- a/visual/icons/DirMusic.svg.import
+++ b/assets/icons/DirMusic.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://yspvgvx4p5i7"
-path="res://.godot/imported/DirMusic.svg-1579bce19495d8501e24ddf74840513b.ctex"
+path="res://.godot/imported/DirMusic.svg-a00acecf89df9970f2430b62ecb1c948.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirMusic.svg"
-dest_files=["res://.godot/imported/DirMusic.svg-1579bce19495d8501e24ddf74840513b.ctex"]
+source_file="res://assets/icons/DirMusic.svg"
+dest_files=["res://.godot/imported/DirMusic.svg-a00acecf89df9970f2430b62ecb1c948.ctex"]
[params]
diff --git a/visual/icons/DirPictures.svg b/assets/icons/DirPictures.svg
similarity index 100%
rename from visual/icons/DirPictures.svg
rename to assets/icons/DirPictures.svg
diff --git a/visual/icons/DirPictures.svg.import b/assets/icons/DirPictures.svg.import
similarity index 74%
rename from visual/icons/DirPictures.svg.import
rename to assets/icons/DirPictures.svg.import
index 2e8e277..d4adfe7 100644
--- a/visual/icons/DirPictures.svg.import
+++ b/assets/icons/DirPictures.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ctulth0ybk2l7"
-path="res://.godot/imported/DirPictures.svg-031ed7212e88372d0a1bdba18111386e.ctex"
+path="res://.godot/imported/DirPictures.svg-d937c884a9108699c403087d49b8911d.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DirPictures.svg"
-dest_files=["res://.godot/imported/DirPictures.svg-031ed7212e88372d0a1bdba18111386e.ctex"]
+source_file="res://assets/icons/DirPictures.svg"
+dest_files=["res://.godot/imported/DirPictures.svg-d937c884a9108699c403087d49b8911d.ctex"]
[params]
diff --git a/visual/icons/DotPatternSegment.svg b/assets/icons/DotPatternSegment.svg
similarity index 100%
rename from visual/icons/DotPatternSegment.svg
rename to assets/icons/DotPatternSegment.svg
diff --git a/visual/icons/DotPatternSegment.svg.import b/assets/icons/DotPatternSegment.svg.import
similarity index 73%
rename from visual/icons/DotPatternSegment.svg.import
rename to assets/icons/DotPatternSegment.svg.import
index 6fba5c1..3a89838 100644
--- a/visual/icons/DotPatternSegment.svg.import
+++ b/assets/icons/DotPatternSegment.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bjo2bdb1cgusy"
-path="res://.godot/imported/DotPatternSegment.svg-49e63108d16131894df25789f083ec6c.ctex"
+path="res://.godot/imported/DotPatternSegment.svg-014783b79e9ccf4aa6aad42fedc56aec.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/DotPatternSegment.svg"
-dest_files=["res://.godot/imported/DotPatternSegment.svg-49e63108d16131894df25789f083ec6c.ctex"]
+source_file="res://assets/icons/DotPatternSegment.svg"
+dest_files=["res://.godot/imported/DotPatternSegment.svg-014783b79e9ccf4aa6aad42fedc56aec.ctex"]
[params]
diff --git a/visual/icons/Duplicate.svg b/assets/icons/Duplicate.svg
similarity index 100%
rename from visual/icons/Duplicate.svg
rename to assets/icons/Duplicate.svg
diff --git a/visual/icons/Duplicate.svg.import b/assets/icons/Duplicate.svg.import
similarity index 75%
rename from visual/icons/Duplicate.svg.import
rename to assets/icons/Duplicate.svg.import
index ae2dc99..496fa81 100644
--- a/visual/icons/Duplicate.svg.import
+++ b/assets/icons/Duplicate.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c47mt41k028j2"
-path="res://.godot/imported/Duplicate.svg-a96e56abfa87da0d41172358b51ddd87.ctex"
+path="res://.godot/imported/Duplicate.svg-959ae53cae0657548eb01f107c8bac01.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Duplicate.svg"
-dest_files=["res://.godot/imported/Duplicate.svg-a96e56abfa87da0d41172358b51ddd87.ctex"]
+source_file="res://assets/icons/Duplicate.svg"
+dest_files=["res://.godot/imported/Duplicate.svg-959ae53cae0657548eb01f107c8bac01.ctex"]
[params]
diff --git a/visual/icons/Edit.svg b/assets/icons/Edit.svg
similarity index 100%
rename from visual/icons/Edit.svg
rename to assets/icons/Edit.svg
diff --git a/visual/icons/Edit.svg.import b/assets/icons/Edit.svg.import
similarity index 76%
rename from visual/icons/Edit.svg.import
rename to assets/icons/Edit.svg.import
index 1b2757e..632d472 100644
--- a/visual/icons/Edit.svg.import
+++ b/assets/icons/Edit.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dr2erka82g6j4"
-path="res://.godot/imported/Edit.svg-e5dee2c17c2a6c10301ffeb8557d98f5.ctex"
+path="res://.godot/imported/Edit.svg-40006b452883af7dafa16974b9dda14a.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Edit.svg"
-dest_files=["res://.godot/imported/Edit.svg-e5dee2c17c2a6c10301ffeb8557d98f5.ctex"]
+source_file="res://assets/icons/Edit.svg"
+dest_files=["res://.godot/imported/Edit.svg-40006b452883af7dafa16974b9dda14a.ctex"]
[params]
diff --git a/visual/icons/Export.svg b/assets/icons/Export.svg
similarity index 100%
rename from visual/icons/Export.svg
rename to assets/icons/Export.svg
diff --git a/visual/icons/Export.svg.import b/assets/icons/Export.svg.import
similarity index 75%
rename from visual/icons/Export.svg.import
rename to assets/icons/Export.svg.import
index 31bcf86..25bd0d6 100644
--- a/visual/icons/Export.svg.import
+++ b/assets/icons/Export.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d0uvwj0t44n6v"
-path="res://.godot/imported/Export.svg-eacbdbc551152fc9aa15a8742664dc96.ctex"
+path="res://.godot/imported/Export.svg-6941de360a1bbebc9741d069d3bfeced.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Export.svg"
-dest_files=["res://.godot/imported/Export.svg-eacbdbc551152fc9aa15a8742664dc96.ctex"]
+source_file="res://assets/icons/Export.svg"
+dest_files=["res://.godot/imported/Export.svg-6941de360a1bbebc9741d069d3bfeced.ctex"]
[params]
diff --git a/visual/icons/Eyedropper.svg b/assets/icons/Eyedropper.svg
similarity index 100%
rename from visual/icons/Eyedropper.svg
rename to assets/icons/Eyedropper.svg
diff --git a/visual/icons/Eyedropper.svg.import b/assets/icons/Eyedropper.svg.import
similarity index 74%
rename from visual/icons/Eyedropper.svg.import
rename to assets/icons/Eyedropper.svg.import
index 4c43427..2812627 100644
--- a/visual/icons/Eyedropper.svg.import
+++ b/assets/icons/Eyedropper.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://brff7fx0puj6"
-path="res://.godot/imported/Eyedropper.svg-b9d66bd811781eadfab67a99bccdb4a1.ctex"
+path="res://.godot/imported/Eyedropper.svg-22a2f037b51e69561fa914953a212e31.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Eyedropper.svg"
-dest_files=["res://.godot/imported/Eyedropper.svg-b9d66bd811781eadfab67a99bccdb4a1.ctex"]
+source_file="res://assets/icons/Eyedropper.svg"
+dest_files=["res://.godot/imported/Eyedropper.svg-22a2f037b51e69561fa914953a212e31.ctex"]
[params]
diff --git a/visual/icons/FileBroken.svg b/assets/icons/FileBroken.svg
similarity index 100%
rename from visual/icons/FileBroken.svg
rename to assets/icons/FileBroken.svg
diff --git a/visual/icons/FileBroken.svg.import b/assets/icons/FileBroken.svg.import
similarity index 74%
rename from visual/icons/FileBroken.svg.import
rename to assets/icons/FileBroken.svg.import
index 485684c..562824b 100644
--- a/visual/icons/FileBroken.svg.import
+++ b/assets/icons/FileBroken.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cr4fc0hsu58lf"
-path="res://.godot/imported/FileBroken.svg-08ba8dbd963d3e7aff9ab514b7618a79.ctex"
+path="res://.godot/imported/FileBroken.svg-e9da65d10479a56ef147774312af3ca7.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/FileBroken.svg"
-dest_files=["res://.godot/imported/FileBroken.svg-08ba8dbd963d3e7aff9ab514b7618a79.ctex"]
+source_file="res://assets/icons/FileBroken.svg"
+dest_files=["res://.godot/imported/FileBroken.svg-e9da65d10479a56ef147774312af3ca7.ctex"]
[params]
diff --git a/visual/icons/Folder.svg b/assets/icons/Folder.svg
similarity index 100%
rename from visual/icons/Folder.svg
rename to assets/icons/Folder.svg
diff --git a/visual/icons/Folder.svg.import b/assets/icons/Folder.svg.import
similarity index 75%
rename from visual/icons/Folder.svg.import
rename to assets/icons/Folder.svg.import
index 74a588f..1b399a2 100644
--- a/visual/icons/Folder.svg.import
+++ b/assets/icons/Folder.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cba8p7b8tjiv3"
-path="res://.godot/imported/Folder.svg-82fa99ce41a31c247dc49e3ac68cce3f.ctex"
+path="res://.godot/imported/Folder.svg-22bb452791dc5b3ede2a4bc12d5c1d9b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Folder.svg"
-dest_files=["res://.godot/imported/Folder.svg-82fa99ce41a31c247dc49e3ac68cce3f.ctex"]
+source_file="res://assets/icons/Folder.svg"
+dest_files=["res://.godot/imported/Folder.svg-22bb452791dc5b3ede2a4bc12d5c1d9b.ctex"]
[params]
diff --git a/visual/icons/FolderUp.svg b/assets/icons/FolderUp.svg
similarity index 100%
rename from visual/icons/FolderUp.svg
rename to assets/icons/FolderUp.svg
diff --git a/visual/icons/FolderUp.svg.import b/assets/icons/FolderUp.svg.import
similarity index 75%
rename from visual/icons/FolderUp.svg.import
rename to assets/icons/FolderUp.svg.import
index abe92ee..106ede5 100644
--- a/visual/icons/FolderUp.svg.import
+++ b/assets/icons/FolderUp.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://rrhdja8l17cn"
-path="res://.godot/imported/FolderUp.svg-ea80ed3af2557e3c1b26b83ba445e18e.ctex"
+path="res://.godot/imported/FolderUp.svg-7eb1d635a1955e89cf029a3e96626a9c.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/FolderUp.svg"
-dest_files=["res://.godot/imported/FolderUp.svg-ea80ed3af2557e3c1b26b83ba445e18e.ctex"]
+source_file="res://assets/icons/FolderUp.svg"
+dest_files=["res://.godot/imported/FolderUp.svg-7eb1d635a1955e89cf029a3e96626a9c.ctex"]
[params]
diff --git a/visual/icons/Gear.svg b/assets/icons/Gear.svg
similarity index 100%
rename from visual/icons/Gear.svg
rename to assets/icons/Gear.svg
diff --git a/visual/icons/Gear.svg.import b/assets/icons/Gear.svg.import
similarity index 76%
rename from visual/icons/Gear.svg.import
rename to assets/icons/Gear.svg.import
index 4a30dbc..d1ec47d 100644
--- a/visual/icons/Gear.svg.import
+++ b/assets/icons/Gear.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ckkkgof1hcbld"
-path="res://.godot/imported/Gear.svg-226d4138ca06ad01c6b34d0babb9a611.ctex"
+path="res://.godot/imported/Gear.svg-ca94d59e8c536d42f979019c85e0d8ba.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Gear.svg"
-dest_files=["res://.godot/imported/Gear.svg-226d4138ca06ad01c6b34d0babb9a611.ctex"]
+source_file="res://assets/icons/Gear.svg"
+dest_files=["res://.godot/imported/Gear.svg-ca94d59e8c536d42f979019c85e0d8ba.ctex"]
[params]
diff --git a/visual/icons/GearOutlined.svg b/assets/icons/GearOutlined.svg
similarity index 100%
rename from visual/icons/GearOutlined.svg
rename to assets/icons/GearOutlined.svg
diff --git a/visual/icons/GearOutlined.svg.import b/assets/icons/GearOutlined.svg.import
similarity index 74%
rename from visual/icons/GearOutlined.svg.import
rename to assets/icons/GearOutlined.svg.import
index db07644..e47d10e 100644
--- a/visual/icons/GearOutlined.svg.import
+++ b/assets/icons/GearOutlined.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bhxr0nv6bs5j2"
-path="res://.godot/imported/GearOutlined.svg-fb7b428da24b6bf77179a772ac33e058.ctex"
+path="res://.godot/imported/GearOutlined.svg-9ffca79f703b36dfc1fb5067906e0876.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/GearOutlined.svg"
-dest_files=["res://.godot/imported/GearOutlined.svg-fb7b428da24b6bf77179a772ac33e058.ctex"]
+source_file="res://assets/icons/GearOutlined.svg"
+dest_files=["res://.godot/imported/GearOutlined.svg-9ffca79f703b36dfc1fb5067906e0876.ctex"]
[params]
diff --git a/visual/icons/Heart.svg b/assets/icons/Heart.svg
similarity index 100%
rename from visual/icons/Heart.svg
rename to assets/icons/Heart.svg
diff --git a/visual/icons/Heart.svg.import b/assets/icons/Heart.svg.import
similarity index 76%
rename from visual/icons/Heart.svg.import
rename to assets/icons/Heart.svg.import
index 07842c4..a64364d 100644
--- a/visual/icons/Heart.svg.import
+++ b/assets/icons/Heart.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bvm6h1qda67ys"
-path="res://.godot/imported/Heart.svg-d1f3e41c521e9a05fafb36726218b620.ctex"
+path="res://.godot/imported/Heart.svg-0ab6963a35d0b59270531cd65b47ee68.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Heart.svg"
-dest_files=["res://.godot/imported/Heart.svg-d1f3e41c521e9a05fafb36726218b620.ctex"]
+source_file="res://assets/icons/Heart.svg"
+dest_files=["res://.godot/imported/Heart.svg-0ab6963a35d0b59270531cd65b47ee68.ctex"]
[params]
diff --git a/visual/icons/Import.svg b/assets/icons/Import.svg
similarity index 100%
rename from visual/icons/Import.svg
rename to assets/icons/Import.svg
diff --git a/visual/icons/Import.svg.import b/assets/icons/Import.svg.import
similarity index 75%
rename from visual/icons/Import.svg.import
rename to assets/icons/Import.svg.import
index 295c148..63e3e82 100644
--- a/visual/icons/Import.svg.import
+++ b/assets/icons/Import.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://6ymbl3jqersp"
-path="res://.godot/imported/Import.svg-d30fdeea68f95dc865c354812697f82b.ctex"
+path="res://.godot/imported/Import.svg-192a814e11a31699451eba5a11b8d95f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Import.svg"
-dest_files=["res://.godot/imported/Import.svg-d30fdeea68f95dc865c354812697f82b.ctex"]
+source_file="res://assets/icons/Import.svg"
+dest_files=["res://.godot/imported/Import.svg-192a814e11a31699451eba5a11b8d95f.ctex"]
[params]
diff --git a/visual/icons/Info.svg b/assets/icons/Info.svg
similarity index 100%
rename from visual/icons/Info.svg
rename to assets/icons/Info.svg
diff --git a/visual/icons/Info.svg.import b/assets/icons/Info.svg.import
similarity index 76%
rename from visual/icons/Info.svg.import
rename to assets/icons/Info.svg.import
index e15e4a4..447e8eb 100644
--- a/visual/icons/Info.svg.import
+++ b/assets/icons/Info.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://v0lqyuvo50yq"
-path="res://.godot/imported/Info.svg-a0bd86299cd403b0d575a18fe797918e.ctex"
+path="res://.godot/imported/Info.svg-b6a970b105b815abf501807a06233c56.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Info.svg"
-dest_files=["res://.godot/imported/Info.svg-a0bd86299cd403b0d575a18fe797918e.ctex"]
+source_file="res://assets/icons/Info.svg"
+dest_files=["res://.godot/imported/Info.svg-b6a970b105b815abf501807a06233c56.ctex"]
[params]
diff --git a/visual/icons/InsertAfter.svg b/assets/icons/InsertAfter.svg
similarity index 100%
rename from visual/icons/InsertAfter.svg
rename to assets/icons/InsertAfter.svg
diff --git a/visual/icons/InsertAfter.svg.import b/assets/icons/InsertAfter.svg.import
similarity index 74%
rename from visual/icons/InsertAfter.svg.import
rename to assets/icons/InsertAfter.svg.import
index 37d5c10..78c9f31 100644
--- a/visual/icons/InsertAfter.svg.import
+++ b/assets/icons/InsertAfter.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c5iyi2abx0ja1"
-path="res://.godot/imported/InsertAfter.svg-c4347bcebe6a850de014fa5769f69e11.ctex"
+path="res://.godot/imported/InsertAfter.svg-ecdb8075972644ee5295e10c7410dd81.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/InsertAfter.svg"
-dest_files=["res://.godot/imported/InsertAfter.svg-c4347bcebe6a850de014fa5769f69e11.ctex"]
+source_file="res://assets/icons/InsertAfter.svg"
+dest_files=["res://.godot/imported/InsertAfter.svg-ecdb8075972644ee5295e10c7410dd81.ctex"]
[params]
diff --git a/visual/icons/InsertBefore.svg b/assets/icons/InsertBefore.svg
similarity index 100%
rename from visual/icons/InsertBefore.svg
rename to assets/icons/InsertBefore.svg
diff --git a/visual/icons/InsertBefore.svg.import b/assets/icons/InsertBefore.svg.import
similarity index 74%
rename from visual/icons/InsertBefore.svg.import
rename to assets/icons/InsertBefore.svg.import
index 8397fbd..846aa06 100644
--- a/visual/icons/InsertBefore.svg.import
+++ b/assets/icons/InsertBefore.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dav1phw6au0c1"
-path="res://.godot/imported/InsertBefore.svg-1891196005597a7a2989220268121f4e.ctex"
+path="res://.godot/imported/InsertBefore.svg-8dc67cab8823221d311f91e90cdd6e9b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/InsertBefore.svg"
-dest_files=["res://.godot/imported/InsertBefore.svg-1891196005597a7a2989220268121f4e.ctex"]
+source_file="res://assets/icons/InsertBefore.svg"
+dest_files=["res://.godot/imported/InsertBefore.svg-8dc67cab8823221d311f91e90cdd6e9b.ctex"]
[params]
diff --git a/visual/icons/Languages.svg b/assets/icons/Languages.svg
similarity index 100%
rename from visual/icons/Languages.svg
rename to assets/icons/Languages.svg
diff --git a/visual/icons/Languages.svg.import b/assets/icons/Languages.svg.import
similarity index 75%
rename from visual/icons/Languages.svg.import
rename to assets/icons/Languages.svg.import
index 8f2fe7d..0f5f11f 100644
--- a/visual/icons/Languages.svg.import
+++ b/assets/icons/Languages.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c528knojuxbw6"
-path="res://.godot/imported/Languages.svg-3edf7294fd0402c1da641f8f9a267120.ctex"
+path="res://.godot/imported/Languages.svg-56e992e4c3e11801226f5281fef7e603.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Languages.svg"
-dest_files=["res://.godot/imported/Languages.svg-3edf7294fd0402c1da641f8f9a267120.ctex"]
+source_file="res://assets/icons/Languages.svg"
+dest_files=["res://.godot/imported/Languages.svg-56e992e4c3e11801226f5281fef7e603.ctex"]
[params]
diff --git a/visual/icons/Link.svg b/assets/icons/Link.svg
similarity index 100%
rename from visual/icons/Link.svg
rename to assets/icons/Link.svg
diff --git a/visual/icons/Link.svg.import b/assets/icons/Link.svg.import
similarity index 76%
rename from visual/icons/Link.svg.import
rename to assets/icons/Link.svg.import
index 1d36523..7d8908e 100644
--- a/visual/icons/Link.svg.import
+++ b/assets/icons/Link.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cgxpm1e3v0i3v"
-path="res://.godot/imported/Link.svg-b275e609ae3d23dd9c12467a9eaccb3e.ctex"
+path="res://.godot/imported/Link.svg-84f27e7b995bc01f3def6f6291cc9881.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Link.svg"
-dest_files=["res://.godot/imported/Link.svg-b275e609ae3d23dd9c12467a9eaccb3e.ctex"]
+source_file="res://assets/icons/Link.svg"
+dest_files=["res://.godot/imported/Link.svg-84f27e7b995bc01f3def6f6291cc9881.ctex"]
[params]
diff --git a/visual/icons/Matrix.svg b/assets/icons/Matrix.svg
similarity index 100%
rename from visual/icons/Matrix.svg
rename to assets/icons/Matrix.svg
diff --git a/visual/icons/Matrix.svg.import b/assets/icons/Matrix.svg.import
similarity index 75%
rename from visual/icons/Matrix.svg.import
rename to assets/icons/Matrix.svg.import
index bef54db..b03ee3e 100644
--- a/visual/icons/Matrix.svg.import
+++ b/assets/icons/Matrix.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://crtn52j7mlh11"
-path="res://.godot/imported/Matrix.svg-50ccb4c66db121034fb4bd8ffaf9f823.ctex"
+path="res://.godot/imported/Matrix.svg-6cf1c1474bd06db6496e8f3cc865c4b5.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Matrix.svg"
-dest_files=["res://.godot/imported/Matrix.svg-50ccb4c66db121034fb4bd8ffaf9f823.ctex"]
+source_file="res://assets/icons/Matrix.svg"
+dest_files=["res://.godot/imported/Matrix.svg-6cf1c1474bd06db6496e8f3cc865c4b5.ctex"]
[params]
diff --git a/visual/icons/Minus.svg b/assets/icons/Minus.svg
similarity index 100%
rename from visual/icons/Minus.svg
rename to assets/icons/Minus.svg
diff --git a/visual/icons/Minus.svg.import b/assets/icons/Minus.svg.import
similarity index 76%
rename from visual/icons/Minus.svg.import
rename to assets/icons/Minus.svg.import
index cd1a58b..b3f5fc2 100644
--- a/visual/icons/Minus.svg.import
+++ b/assets/icons/Minus.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c2h5snkvemm4p"
-path="res://.godot/imported/Minus.svg-6d4ddb6244a94e6ab29f4f7a8b1dc29e.ctex"
+path="res://.godot/imported/Minus.svg-ad675dfc85c1db1496d38b10f0c0cd89.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Minus.svg"
-dest_files=["res://.godot/imported/Minus.svg-6d4ddb6244a94e6ab29f4f7a8b1dc29e.ctex"]
+source_file="res://assets/icons/Minus.svg"
+dest_files=["res://.godot/imported/Minus.svg-ad675dfc85c1db1496d38b10f0c0cd89.ctex"]
[params]
diff --git a/visual/icons/More.svg b/assets/icons/More.svg
similarity index 100%
rename from visual/icons/More.svg
rename to assets/icons/More.svg
diff --git a/visual/icons/More.svg.import b/assets/icons/More.svg.import
similarity index 76%
rename from visual/icons/More.svg.import
rename to assets/icons/More.svg.import
index ad89155..1b44a24 100644
--- a/visual/icons/More.svg.import
+++ b/assets/icons/More.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ccbta5q43jobk"
-path="res://.godot/imported/More.svg-68029a77f6adbeb369f91e1bc201c533.ctex"
+path="res://.godot/imported/More.svg-5dd0ba59b51b3ab03606873cef088a40.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/More.svg"
-dest_files=["res://.godot/imported/More.svg-68029a77f6adbeb369f91e1bc201c533.ctex"]
+source_file="res://assets/icons/More.svg"
+dest_files=["res://.godot/imported/More.svg-5dd0ba59b51b3ab03606873cef088a40.ctex"]
[params]
diff --git a/visual/icons/MoveDown.svg b/assets/icons/MoveDown.svg
similarity index 100%
rename from visual/icons/MoveDown.svg
rename to assets/icons/MoveDown.svg
diff --git a/visual/icons/MoveDown.svg.import b/assets/icons/MoveDown.svg.import
similarity index 75%
rename from visual/icons/MoveDown.svg.import
rename to assets/icons/MoveDown.svg.import
index 8e463ba..303338f 100644
--- a/visual/icons/MoveDown.svg.import
+++ b/assets/icons/MoveDown.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ciirlvjd2efd3"
-path="res://.godot/imported/MoveDown.svg-8705323c42c89169e30f63736c2290ec.ctex"
+path="res://.godot/imported/MoveDown.svg-f1fb57bee54d2faca78973dd8c78186f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/MoveDown.svg"
-dest_files=["res://.godot/imported/MoveDown.svg-8705323c42c89169e30f63736c2290ec.ctex"]
+source_file="res://assets/icons/MoveDown.svg"
+dest_files=["res://.godot/imported/MoveDown.svg-f1fb57bee54d2faca78973dd8c78186f.ctex"]
[params]
diff --git a/visual/icons/MoveUp.svg b/assets/icons/MoveUp.svg
similarity index 100%
rename from visual/icons/MoveUp.svg
rename to assets/icons/MoveUp.svg
diff --git a/visual/icons/MoveUp.svg.import b/assets/icons/MoveUp.svg.import
similarity index 75%
rename from visual/icons/MoveUp.svg.import
rename to assets/icons/MoveUp.svg.import
index 9c1998d..49c16a4 100644
--- a/visual/icons/MoveUp.svg.import
+++ b/assets/icons/MoveUp.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dgfyegqnsoqgd"
-path="res://.godot/imported/MoveUp.svg-476a742e19b47aac065618bd710e5938.ctex"
+path="res://.godot/imported/MoveUp.svg-2cc1a895a069a8144f501bfb0706c099.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/MoveUp.svg"
-dest_files=["res://.godot/imported/MoveUp.svg-476a742e19b47aac065618bd710e5938.ctex"]
+source_file="res://assets/icons/MoveUp.svg"
+dest_files=["res://.godot/imported/MoveUp.svg-2cc1a895a069a8144f501bfb0706c099.ctex"]
[params]
diff --git a/assets/icons/NoneColor.svg b/assets/icons/NoneColor.svg
new file mode 100644
index 0000000..39de2cd
--- /dev/null
+++ b/assets/icons/NoneColor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/visual/icons/NoneColor.svg.import b/assets/icons/NoneColor.svg.import
similarity index 75%
rename from visual/icons/NoneColor.svg.import
rename to assets/icons/NoneColor.svg.import
index de43ac3..8dfcf2f 100644
--- a/visual/icons/NoneColor.svg.import
+++ b/assets/icons/NoneColor.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d36qn2f7a0nok"
-path="res://.godot/imported/NoneColor.svg-035e27ac232b9837a5db250d09cebaa9.ctex"
+path="res://.godot/imported/NoneColor.svg-e4f700f4b24e186abc5e7387ac1bab3a.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/NoneColor.svg"
-dest_files=["res://.godot/imported/NoneColor.svg-035e27ac232b9837a5db250d09cebaa9.ctex"]
+source_file="res://assets/icons/NoneColor.svg"
+dest_files=["res://.godot/imported/NoneColor.svg-e4f700f4b24e186abc5e7387ac1bab3a.ctex"]
[params]
diff --git a/visual/icons/OpenFile.svg b/assets/icons/OpenFile.svg
similarity index 100%
rename from visual/icons/OpenFile.svg
rename to assets/icons/OpenFile.svg
diff --git a/visual/icons/OpenFile.svg.import b/assets/icons/OpenFile.svg.import
similarity index 75%
rename from visual/icons/OpenFile.svg.import
rename to assets/icons/OpenFile.svg.import
index d4e722f..516e884 100644
--- a/visual/icons/OpenFile.svg.import
+++ b/assets/icons/OpenFile.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ckw03ghmca5ho"
-path="res://.godot/imported/OpenFile.svg-42f0a0a44b925d5dac646829ffa58c3e.ctex"
+path="res://.godot/imported/OpenFile.svg-f562e243f1340cda3a0958b28a11a58e.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/OpenFile.svg"
-dest_files=["res://.godot/imported/OpenFile.svg-42f0a0a44b925d5dac646829ffa58c3e.ctex"]
+source_file="res://assets/icons/OpenFile.svg"
+dest_files=["res://.godot/imported/OpenFile.svg-f562e243f1340cda3a0958b28a11a58e.ctex"]
[params]
diff --git a/visual/icons/OpenFolder.svg b/assets/icons/OpenFolder.svg
similarity index 100%
rename from visual/icons/OpenFolder.svg
rename to assets/icons/OpenFolder.svg
diff --git a/visual/icons/OpenFolder.svg.import b/assets/icons/OpenFolder.svg.import
similarity index 74%
rename from visual/icons/OpenFolder.svg.import
rename to assets/icons/OpenFolder.svg.import
index 9b9136f..d5229cd 100644
--- a/visual/icons/OpenFolder.svg.import
+++ b/assets/icons/OpenFolder.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dn3bunuaxmdru"
-path="res://.godot/imported/OpenFolder.svg-3c3b60a3c8e615159cb5e9cd75db1cfd.ctex"
+path="res://.godot/imported/OpenFolder.svg-db8ccfafc61095e1348d9d50464796f6.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/OpenFolder.svg"
-dest_files=["res://.godot/imported/OpenFolder.svg-3c3b60a3c8e615159cb5e9cd75db1cfd.ctex"]
+source_file="res://assets/icons/OpenFolder.svg"
+dest_files=["res://.godot/imported/OpenFolder.svg-db8ccfafc61095e1348d9d50464796f6.ctex"]
[params]
diff --git a/visual/icons/Paste.svg b/assets/icons/Paste.svg
similarity index 100%
rename from visual/icons/Paste.svg
rename to assets/icons/Paste.svg
diff --git a/visual/icons/Paste.svg.import b/assets/icons/Paste.svg.import
similarity index 76%
rename from visual/icons/Paste.svg.import
rename to assets/icons/Paste.svg.import
index a471575..c122755 100644
--- a/visual/icons/Paste.svg.import
+++ b/assets/icons/Paste.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dngu00dcl6ate"
-path="res://.godot/imported/Paste.svg-1b97ec08e7b642bbcccfbd52bb18e082.ctex"
+path="res://.godot/imported/Paste.svg-d9eab6865dcb4939a280855c07f79527.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Paste.svg"
-dest_files=["res://.godot/imported/Paste.svg-1b97ec08e7b642bbcccfbd52bb18e082.ctex"]
+source_file="res://assets/icons/Paste.svg"
+dest_files=["res://.godot/imported/Paste.svg-d9eab6865dcb4939a280855c07f79527.ctex"]
[params]
diff --git a/visual/icons/Placeholder.svg b/assets/icons/Placeholder.svg
similarity index 100%
rename from visual/icons/Placeholder.svg
rename to assets/icons/Placeholder.svg
diff --git a/visual/icons/Placeholder.svg.import b/assets/icons/Placeholder.svg.import
similarity index 74%
rename from visual/icons/Placeholder.svg.import
rename to assets/icons/Placeholder.svg.import
index 80f86f4..f8d6387 100644
--- a/visual/icons/Placeholder.svg.import
+++ b/assets/icons/Placeholder.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b4fycrn6ejomu"
-path="res://.godot/imported/Placeholder.svg-3b027d3af1c5cd9ce8a4efec5e9d6bc9.ctex"
+path="res://.godot/imported/Placeholder.svg-9c0dcc2e6f90dd567f3e217a181e4e00.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Placeholder.svg"
-dest_files=["res://.godot/imported/Placeholder.svg-3b027d3af1c5cd9ce8a4efec5e9d6bc9.ctex"]
+source_file="res://assets/icons/Placeholder.svg"
+dest_files=["res://.godot/imported/Placeholder.svg-9c0dcc2e6f90dd567f3e217a181e4e00.ctex"]
[params]
diff --git a/visual/icons/PlatformLinux.svg b/assets/icons/PlatformLinux.svg
similarity index 100%
rename from visual/icons/PlatformLinux.svg
rename to assets/icons/PlatformLinux.svg
diff --git a/visual/icons/PlatformLinux.svg.import b/assets/icons/PlatformLinux.svg.import
similarity index 74%
rename from visual/icons/PlatformLinux.svg.import
rename to assets/icons/PlatformLinux.svg.import
index 4956226..440f402 100644
--- a/visual/icons/PlatformLinux.svg.import
+++ b/assets/icons/PlatformLinux.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bg37vrltk5npr"
-path="res://.godot/imported/PlatformLinux.svg-b723c9506b815e291b1cebd620332bcd.ctex"
+path="res://.godot/imported/PlatformLinux.svg-2b9393fef43df6991d3292a35024aa68.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/PlatformLinux.svg"
-dest_files=["res://.godot/imported/PlatformLinux.svg-b723c9506b815e291b1cebd620332bcd.ctex"]
+source_file="res://assets/icons/PlatformLinux.svg"
+dest_files=["res://.godot/imported/PlatformLinux.svg-2b9393fef43df6991d3292a35024aa68.ctex"]
[params]
diff --git a/visual/icons/PlatformMacOS.svg b/assets/icons/PlatformMacOS.svg
similarity index 100%
rename from visual/icons/PlatformMacOS.svg
rename to assets/icons/PlatformMacOS.svg
diff --git a/visual/icons/PlatformMacOS.svg.import b/assets/icons/PlatformMacOS.svg.import
similarity index 74%
rename from visual/icons/PlatformMacOS.svg.import
rename to assets/icons/PlatformMacOS.svg.import
index 1d9342d..054f378 100644
--- a/visual/icons/PlatformMacOS.svg.import
+++ b/assets/icons/PlatformMacOS.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c5mof6sypo2j0"
-path="res://.godot/imported/PlatformMacOS.svg-320de73a297585307fa935a8444e413e.ctex"
+path="res://.godot/imported/PlatformMacOS.svg-eb55b56d762e1eeb8182c190d04b7895.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/PlatformMacOS.svg"
-dest_files=["res://.godot/imported/PlatformMacOS.svg-320de73a297585307fa935a8444e413e.ctex"]
+source_file="res://assets/icons/PlatformMacOS.svg"
+dest_files=["res://.godot/imported/PlatformMacOS.svg-eb55b56d762e1eeb8182c190d04b7895.ctex"]
[params]
diff --git a/visual/icons/PlatformWindows.svg b/assets/icons/PlatformWindows.svg
similarity index 100%
rename from visual/icons/PlatformWindows.svg
rename to assets/icons/PlatformWindows.svg
diff --git a/visual/icons/PlatformWindows.svg.import b/assets/icons/PlatformWindows.svg.import
similarity index 73%
rename from visual/icons/PlatformWindows.svg.import
rename to assets/icons/PlatformWindows.svg.import
index 005d9f4..f2ed689 100644
--- a/visual/icons/PlatformWindows.svg.import
+++ b/assets/icons/PlatformWindows.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c0xmtbtcke0hx"
-path="res://.godot/imported/PlatformWindows.svg-c43309e2a4a6d38a54d0d337df873c15.ctex"
+path="res://.godot/imported/PlatformWindows.svg-d7704fc273c534bb6222a0f5b4001182.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/PlatformWindows.svg"
-dest_files=["res://.godot/imported/PlatformWindows.svg-c43309e2a4a6d38a54d0d337df873c15.ctex"]
+source_file="res://assets/icons/PlatformWindows.svg"
+dest_files=["res://.godot/imported/PlatformWindows.svg-d7704fc273c534bb6222a0f5b4001182.ctex"]
[params]
diff --git a/visual/icons/Plus.svg b/assets/icons/Plus.svg
similarity index 100%
rename from visual/icons/Plus.svg
rename to assets/icons/Plus.svg
diff --git a/visual/icons/Plus.svg.import b/assets/icons/Plus.svg.import
similarity index 76%
rename from visual/icons/Plus.svg.import
rename to assets/icons/Plus.svg.import
index 72ef8ad..0bfd335 100644
--- a/visual/icons/Plus.svg.import
+++ b/assets/icons/Plus.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://eif2ioi0mw17"
-path="res://.godot/imported/Plus.svg-23cb888c0ab80094e07ec795584fa07c.ctex"
+path="res://.godot/imported/Plus.svg-70cbe6fe53491e8891df68dbf74967ef.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Plus.svg"
-dest_files=["res://.godot/imported/Plus.svg-23cb888c0ab80094e07ec795584fa07c.ctex"]
+source_file="res://assets/icons/Plus.svg"
+dest_files=["res://.godot/imported/Plus.svg-70cbe6fe53491e8891df68dbf74967ef.ctex"]
[params]
diff --git a/visual/icons/PresetGrayscale.svg b/assets/icons/PresetGrayscale.svg
similarity index 100%
rename from visual/icons/PresetGrayscale.svg
rename to assets/icons/PresetGrayscale.svg
diff --git a/visual/icons/PresetGrayscale.svg.import b/assets/icons/PresetGrayscale.svg.import
similarity index 73%
rename from visual/icons/PresetGrayscale.svg.import
rename to assets/icons/PresetGrayscale.svg.import
index d82d0a3..bfc851f 100644
--- a/visual/icons/PresetGrayscale.svg.import
+++ b/assets/icons/PresetGrayscale.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dv1aldaqix1bo"
-path="res://.godot/imported/PresetGrayscale.svg-97fda39896888e8fa58760878560e192.ctex"
+path="res://.godot/imported/PresetGrayscale.svg-bbea35708ad1c100df741b38f49d3124.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/PresetGrayscale.svg"
-dest_files=["res://.godot/imported/PresetGrayscale.svg-97fda39896888e8fa58760878560e192.ctex"]
+source_file="res://assets/icons/PresetGrayscale.svg"
+dest_files=["res://.godot/imported/PresetGrayscale.svg-bbea35708ad1c100df741b38f49d3124.ctex"]
[params]
diff --git a/visual/icons/PresetPure.svg b/assets/icons/PresetPure.svg
similarity index 100%
rename from visual/icons/PresetPure.svg
rename to assets/icons/PresetPure.svg
diff --git a/visual/icons/PresetPure.svg.import b/assets/icons/PresetPure.svg.import
similarity index 74%
rename from visual/icons/PresetPure.svg.import
rename to assets/icons/PresetPure.svg.import
index a1ee04b..77b8ce6 100644
--- a/visual/icons/PresetPure.svg.import
+++ b/assets/icons/PresetPure.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://doonh5ev61dlb"
-path="res://.godot/imported/PresetPure.svg-d7d82cb8d83554db0e2a5c87035ccde6.ctex"
+path="res://.godot/imported/PresetPure.svg-7dd9763847a507207d95c81435faf89f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/PresetPure.svg"
-dest_files=["res://.godot/imported/PresetPure.svg-d7d82cb8d83554db0e2a5c87035ccde6.ctex"]
+source_file="res://assets/icons/PresetPure.svg"
+dest_files=["res://.godot/imported/PresetPure.svg-7dd9763847a507207d95c81435faf89f.ctex"]
[params]
diff --git a/visual/icons/QuestionMark.svg b/assets/icons/QuestionMark.svg
similarity index 100%
rename from visual/icons/QuestionMark.svg
rename to assets/icons/QuestionMark.svg
diff --git a/visual/icons/QuestionMark.svg.import b/assets/icons/QuestionMark.svg.import
similarity index 74%
rename from visual/icons/QuestionMark.svg.import
rename to assets/icons/QuestionMark.svg.import
index d5af8bf..40a1bf7 100644
--- a/visual/icons/QuestionMark.svg.import
+++ b/assets/icons/QuestionMark.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bi38k4pq83omf"
-path="res://.godot/imported/QuestionMark.svg-706a36696e12b13ee00f5b609867eda1.ctex"
+path="res://.godot/imported/QuestionMark.svg-df448d271c6b8fa0659330eda85bb8f6.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/QuestionMark.svg"
-dest_files=["res://.godot/imported/QuestionMark.svg-706a36696e12b13ee00f5b609867eda1.ctex"]
+source_file="res://assets/icons/QuestionMark.svg"
+dest_files=["res://.godot/imported/QuestionMark.svg-df448d271c6b8fa0659330eda85bb8f6.ctex"]
[params]
diff --git a/visual/icons/Redo.svg b/assets/icons/Redo.svg
similarity index 100%
rename from visual/icons/Redo.svg
rename to assets/icons/Redo.svg
diff --git a/visual/icons/Redo.svg.import b/assets/icons/Redo.svg.import
similarity index 76%
rename from visual/icons/Redo.svg.import
rename to assets/icons/Redo.svg.import
index 60046d2..3a23f50 100644
--- a/visual/icons/Redo.svg.import
+++ b/assets/icons/Redo.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://x7hsvbn0k3i8"
-path="res://.godot/imported/Redo.svg-b9bcb0629162613f0b861b003a3759a5.ctex"
+path="res://.godot/imported/Redo.svg-1cd6dd40037832a4dcd7098e88d1d853.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Redo.svg"
-dest_files=["res://.godot/imported/Redo.svg-b9bcb0629162613f0b861b003a3759a5.ctex"]
+source_file="res://assets/icons/Redo.svg"
+dest_files=["res://.godot/imported/Redo.svg-1cd6dd40037832a4dcd7098e88d1d853.ctex"]
[params]
diff --git a/visual/icons/Reference.svg b/assets/icons/Reference.svg
similarity index 100%
rename from visual/icons/Reference.svg
rename to assets/icons/Reference.svg
diff --git a/visual/icons/Reference.svg.import b/assets/icons/Reference.svg.import
similarity index 75%
rename from visual/icons/Reference.svg.import
rename to assets/icons/Reference.svg.import
index 328ccc1..c7661bd 100644
--- a/visual/icons/Reference.svg.import
+++ b/assets/icons/Reference.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://iglrqrqyg4kn"
-path="res://.godot/imported/Reference.svg-28e3f2638dc2f67db7899c414706e462.ctex"
+path="res://.godot/imported/Reference.svg-c3d4e58aff06c4a897251410324037f7.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Reference.svg"
-dest_files=["res://.godot/imported/Reference.svg-28e3f2638dc2f67db7899c414706e462.ctex"]
+source_file="res://assets/icons/Reference.svg"
+dest_files=["res://.godot/imported/Reference.svg-c3d4e58aff06c4a897251410324037f7.ctex"]
[params]
diff --git a/visual/icons/Reload.svg b/assets/icons/Reload.svg
similarity index 100%
rename from visual/icons/Reload.svg
rename to assets/icons/Reload.svg
diff --git a/visual/icons/Reload.svg.import b/assets/icons/Reload.svg.import
similarity index 75%
rename from visual/icons/Reload.svg.import
rename to assets/icons/Reload.svg.import
index 18ea7fa..8990ad6 100644
--- a/visual/icons/Reload.svg.import
+++ b/assets/icons/Reload.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cvh3kwbucf2n1"
-path="res://.godot/imported/Reload.svg-1e3724a1c699a578c5d203ced4804f13.ctex"
+path="res://.godot/imported/Reload.svg-dc62252f416f3dae43a809a2b7e34a97.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Reload.svg"
-dest_files=["res://.godot/imported/Reload.svg-1e3724a1c699a578c5d203ced4804f13.ctex"]
+source_file="res://assets/icons/Reload.svg"
+dest_files=["res://.godot/imported/Reload.svg-dc62252f416f3dae43a809a2b7e34a97.ctex"]
[params]
diff --git a/visual/icons/Rename.svg b/assets/icons/Rename.svg
similarity index 100%
rename from visual/icons/Rename.svg
rename to assets/icons/Rename.svg
diff --git a/visual/icons/Rename.svg.import b/assets/icons/Rename.svg.import
similarity index 75%
rename from visual/icons/Rename.svg.import
rename to assets/icons/Rename.svg.import
index 7dc1801..7fa6542 100644
--- a/visual/icons/Rename.svg.import
+++ b/assets/icons/Rename.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bjajwlfhfgo38"
-path="res://.godot/imported/Rename.svg-413ad8755110ee80c4a07766b97d68c3.ctex"
+path="res://.godot/imported/Rename.svg-1fe4ae6b401a2b2e6c18a5b851cbea12.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Rename.svg"
-dest_files=["res://.godot/imported/Rename.svg-413ad8755110ee80c4a07766b97d68c3.ctex"]
+source_file="res://assets/icons/Rename.svg"
+dest_files=["res://.godot/imported/Rename.svg-1fe4ae6b401a2b2e6c18a5b851cbea12.ctex"]
[params]
diff --git a/visual/icons/Rotate.svg b/assets/icons/Rotate.svg
similarity index 100%
rename from visual/icons/Rotate.svg
rename to assets/icons/Rotate.svg
diff --git a/visual/icons/Rotate.svg.import b/assets/icons/Rotate.svg.import
similarity index 75%
rename from visual/icons/Rotate.svg.import
rename to assets/icons/Rotate.svg.import
index d3d64bf..f4ed6a8 100644
--- a/visual/icons/Rotate.svg.import
+++ b/assets/icons/Rotate.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://mop8xvnp8qcv"
-path="res://.godot/imported/Rotate.svg-c7caf5f8cfbb912608d36310b5f83a91.ctex"
+path="res://.godot/imported/Rotate.svg-cf69348aedb12eed0517c4deb4d4a3d9.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Rotate.svg"
-dest_files=["res://.godot/imported/Rotate.svg-c7caf5f8cfbb912608d36310b5f83a91.ctex"]
+source_file="res://assets/icons/Rotate.svg"
+dest_files=["res://.godot/imported/Rotate.svg-cf69348aedb12eed0517c4deb4d4a3d9.ctex"]
[params]
diff --git a/visual/icons/Save.svg b/assets/icons/Save.svg
similarity index 100%
rename from visual/icons/Save.svg
rename to assets/icons/Save.svg
diff --git a/visual/icons/Save.svg.import b/assets/icons/Save.svg.import
similarity index 76%
rename from visual/icons/Save.svg.import
rename to assets/icons/Save.svg.import
index 281e8d3..9849c1c 100644
--- a/visual/icons/Save.svg.import
+++ b/assets/icons/Save.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://rxfu7kcmo7c1"
-path="res://.godot/imported/Save.svg-7220a8e5be4485153ca68c35b0008a2c.ctex"
+path="res://.godot/imported/Save.svg-f607b0fa97b42169cf4d3d08791c1dd2.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Save.svg"
-dest_files=["res://.godot/imported/Save.svg-7220a8e5be4485153ca68c35b0008a2c.ctex"]
+source_file="res://assets/icons/Save.svg"
+dest_files=["res://.godot/imported/Save.svg-f607b0fa97b42169cf4d3d08791c1dd2.ctex"]
[params]
diff --git a/visual/icons/Scale.svg b/assets/icons/Scale.svg
similarity index 100%
rename from visual/icons/Scale.svg
rename to assets/icons/Scale.svg
diff --git a/visual/icons/Scale.svg.import b/assets/icons/Scale.svg.import
similarity index 76%
rename from visual/icons/Scale.svg.import
rename to assets/icons/Scale.svg.import
index f1704c6..ffbaacf 100644
--- a/visual/icons/Scale.svg.import
+++ b/assets/icons/Scale.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b2cpjg74rpkjs"
-path="res://.godot/imported/Scale.svg-359378c9a1c7f6bef869ecb7b7cd43ad.ctex"
+path="res://.godot/imported/Scale.svg-e6ed2a774e150c90b08960eddeb56b79.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Scale.svg"
-dest_files=["res://.godot/imported/Scale.svg-359378c9a1c7f6bef869ecb7b7cd43ad.ctex"]
+source_file="res://assets/icons/Scale.svg"
+dest_files=["res://.godot/imported/Scale.svg-e6ed2a774e150c90b08960eddeb56b79.ctex"]
[params]
diff --git a/visual/icons/Search.svg b/assets/icons/Search.svg
similarity index 100%
rename from visual/icons/Search.svg
rename to assets/icons/Search.svg
diff --git a/visual/icons/Search.svg.import b/assets/icons/Search.svg.import
similarity index 75%
rename from visual/icons/Search.svg.import
rename to assets/icons/Search.svg.import
index 1b2c30e..2160cae 100644
--- a/visual/icons/Search.svg.import
+++ b/assets/icons/Search.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d4c7haflm8evm"
-path="res://.godot/imported/Search.svg-2dd99ab889ce67e689ca0f3320130c17.ctex"
+path="res://.godot/imported/Search.svg-d0bd9765f428db07389c3df694314dd0.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Search.svg"
-dest_files=["res://.godot/imported/Search.svg-2dd99ab889ce67e689ca0f3320130c17.ctex"]
+source_file="res://assets/icons/Search.svg"
+dest_files=["res://.godot/imported/Search.svg-d0bd9765f428db07389c3df694314dd0.ctex"]
[params]
diff --git a/visual/icons/SideSliderArrow.svg b/assets/icons/SideSliderArrow.svg
similarity index 100%
rename from visual/icons/SideSliderArrow.svg
rename to assets/icons/SideSliderArrow.svg
diff --git a/visual/icons/SideSliderArrow.svg.import b/assets/icons/SideSliderArrow.svg.import
similarity index 73%
rename from visual/icons/SideSliderArrow.svg.import
rename to assets/icons/SideSliderArrow.svg.import
index 63f9793..ff8de68 100644
--- a/visual/icons/SideSliderArrow.svg.import
+++ b/assets/icons/SideSliderArrow.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cmu6r4ipti60x"
-path="res://.godot/imported/SideSliderArrow.svg-71eb756fca2bc3834582408862523b24.ctex"
+path="res://.godot/imported/SideSliderArrow.svg-12020a4c094bbac9e72e1e1468d7b2eb.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SideSliderArrow.svg"
-dest_files=["res://.godot/imported/SideSliderArrow.svg-71eb756fca2bc3834582408862523b24.ctex"]
+source_file="res://assets/icons/SideSliderArrow.svg"
+dest_files=["res://.godot/imported/SideSliderArrow.svg-12020a4c094bbac9e72e1e1468d7b2eb.ctex"]
[params]
diff --git a/visual/icons/SkewX.svg b/assets/icons/SkewX.svg
similarity index 100%
rename from visual/icons/SkewX.svg
rename to assets/icons/SkewX.svg
diff --git a/visual/icons/SkewX.svg.import b/assets/icons/SkewX.svg.import
similarity index 76%
rename from visual/icons/SkewX.svg.import
rename to assets/icons/SkewX.svg.import
index 43fb80e..9763763 100644
--- a/visual/icons/SkewX.svg.import
+++ b/assets/icons/SkewX.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://mkfxc0srhfek"
-path="res://.godot/imported/SkewX.svg-56890bb7794b621acab9fa8f99847072.ctex"
+path="res://.godot/imported/SkewX.svg-9d46edf162778638ca700ba521a7233e.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SkewX.svg"
-dest_files=["res://.godot/imported/SkewX.svg-56890bb7794b621acab9fa8f99847072.ctex"]
+source_file="res://assets/icons/SkewX.svg"
+dest_files=["res://.godot/imported/SkewX.svg-9d46edf162778638ca700ba521a7233e.ctex"]
[params]
diff --git a/visual/icons/SkewY.svg b/assets/icons/SkewY.svg
similarity index 100%
rename from visual/icons/SkewY.svg
rename to assets/icons/SkewY.svg
diff --git a/visual/icons/SkewY.svg.import b/assets/icons/SkewY.svg.import
similarity index 76%
rename from visual/icons/SkewY.svg.import
rename to assets/icons/SkewY.svg.import
index 4ee09b8..bfa16f7 100644
--- a/visual/icons/SkewY.svg.import
+++ b/assets/icons/SkewY.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c7mdaue5rmbt3"
-path="res://.godot/imported/SkewY.svg-1daad0e69d015563fea2c70d36f497b7.ctex"
+path="res://.godot/imported/SkewY.svg-9134b8e566b5fa1dd453f9cc051d0e02.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SkewY.svg"
-dest_files=["res://.godot/imported/SkewY.svg-1daad0e69d015563fea2c70d36f497b7.ctex"]
+source_file="res://assets/icons/SkewY.svg"
+dest_files=["res://.godot/imported/SkewY.svg-9134b8e566b5fa1dd453f9cc051d0e02.ctex"]
[params]
diff --git a/visual/icons/SliderArrow.svg b/assets/icons/SliderArrow.svg
similarity index 100%
rename from visual/icons/SliderArrow.svg
rename to assets/icons/SliderArrow.svg
diff --git a/visual/icons/SliderArrow.svg.import b/assets/icons/SliderArrow.svg.import
similarity index 74%
rename from visual/icons/SliderArrow.svg.import
rename to assets/icons/SliderArrow.svg.import
index d45b6b3..7678ff6 100644
--- a/visual/icons/SliderArrow.svg.import
+++ b/assets/icons/SliderArrow.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cnq1u5hrcqrho"
-path="res://.godot/imported/SliderArrow.svg-6b7d47b794eb3da71fd45e482d52179a.ctex"
+path="res://.godot/imported/SliderArrow.svg-3255a7e763b23bacca933c954b6460e9.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SliderArrow.svg"
-dest_files=["res://.godot/imported/SliderArrow.svg-6b7d47b794eb3da71fd45e482d52179a.ctex"]
+source_file="res://assets/icons/SliderArrow.svg"
+dest_files=["res://.godot/imported/SliderArrow.svg-3255a7e763b23bacca933c954b6460e9.ctex"]
[params]
diff --git a/visual/icons/SmallMore.svg b/assets/icons/SmallMore.svg
similarity index 100%
rename from visual/icons/SmallMore.svg
rename to assets/icons/SmallMore.svg
diff --git a/visual/icons/SmallMore.svg.import b/assets/icons/SmallMore.svg.import
similarity index 75%
rename from visual/icons/SmallMore.svg.import
rename to assets/icons/SmallMore.svg.import
index 328cace..033f5b3 100644
--- a/visual/icons/SmallMore.svg.import
+++ b/assets/icons/SmallMore.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cmepkbqde0jh0"
-path="res://.godot/imported/SmallMore.svg-ae74108d3677c7a59c41391c15546438.ctex"
+path="res://.godot/imported/SmallMore.svg-498d9628e37505d7aed18d97a65e9a4f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SmallMore.svg"
-dest_files=["res://.godot/imported/SmallMore.svg-ae74108d3677c7a59c41391c15546438.ctex"]
+source_file="res://assets/icons/SmallMore.svg"
+dest_files=["res://.godot/imported/SmallMore.svg-498d9628e37505d7aed18d97a65e9a4f.ctex"]
[params]
diff --git a/visual/icons/SmallQuestionMark.svg b/assets/icons/SmallQuestionMark.svg
similarity index 100%
rename from visual/icons/SmallQuestionMark.svg
rename to assets/icons/SmallQuestionMark.svg
diff --git a/visual/icons/SmallQuestionMark.svg.import b/assets/icons/SmallQuestionMark.svg.import
similarity index 73%
rename from visual/icons/SmallQuestionMark.svg.import
rename to assets/icons/SmallQuestionMark.svg.import
index d081029..f22d3fd 100644
--- a/visual/icons/SmallQuestionMark.svg.import
+++ b/assets/icons/SmallQuestionMark.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://crx4kcj4o01bs"
-path="res://.godot/imported/SmallQuestionMark.svg-896c2402fe31c497e9a9a3ae5f5cca9a.ctex"
+path="res://.godot/imported/SmallQuestionMark.svg-45851b1324383ed0de300bfbcf33768f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/SmallQuestionMark.svg"
-dest_files=["res://.godot/imported/SmallQuestionMark.svg-896c2402fe31c497e9a9a3ae5f5cca9a.ctex"]
+source_file="res://assets/icons/SmallQuestionMark.svg"
+dest_files=["res://.godot/imported/SmallQuestionMark.svg-45851b1324383ed0de300bfbcf33768f.ctex"]
[params]
diff --git a/visual/icons/Snap.svg b/assets/icons/Snap.svg
similarity index 100%
rename from visual/icons/Snap.svg
rename to assets/icons/Snap.svg
diff --git a/visual/icons/Snap.svg.import b/assets/icons/Snap.svg.import
similarity index 76%
rename from visual/icons/Snap.svg.import
rename to assets/icons/Snap.svg.import
index dadf2ac..0e6e3ee 100644
--- a/visual/icons/Snap.svg.import
+++ b/assets/icons/Snap.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://buire51l0mifg"
-path="res://.godot/imported/Snap.svg-aaf873ca94baf0be5c4181b38842ca88.ctex"
+path="res://.godot/imported/Snap.svg-29a77ee514cb049b624c9e02f460f90d.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Snap.svg"
-dest_files=["res://.godot/imported/Snap.svg-aaf873ca94baf0be5c4181b38842ca88.ctex"]
+source_file="res://assets/icons/Snap.svg"
+dest_files=["res://.godot/imported/Snap.svg-29a77ee514cb049b624c9e02f460f90d.ctex"]
[params]
diff --git a/visual/icons/TextFile.svg b/assets/icons/TextFile.svg
similarity index 100%
rename from visual/icons/TextFile.svg
rename to assets/icons/TextFile.svg
diff --git a/visual/icons/TextFile.svg.import b/assets/icons/TextFile.svg.import
similarity index 75%
rename from visual/icons/TextFile.svg.import
rename to assets/icons/TextFile.svg.import
index 3b5edbf..85ec33c 100644
--- a/visual/icons/TextFile.svg.import
+++ b/assets/icons/TextFile.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bjlwi2il3cimk"
-path="res://.godot/imported/TextFile.svg-8bb9d1875e5b37af67c2afd245d9c564.ctex"
+path="res://.godot/imported/TextFile.svg-6ff5d6328ddeeb7ed6f836de669cd220.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/TextFile.svg"
-dest_files=["res://.godot/imported/TextFile.svg-8bb9d1875e5b37af67c2afd245d9c564.ctex"]
+source_file="res://assets/icons/TextFile.svg"
+dest_files=["res://.godot/imported/TextFile.svg-6ff5d6328ddeeb7ed6f836de669cd220.ctex"]
[params]
diff --git a/visual/icons/Translate.svg b/assets/icons/Translate.svg
similarity index 100%
rename from visual/icons/Translate.svg
rename to assets/icons/Translate.svg
diff --git a/visual/icons/Translate.svg.import b/assets/icons/Translate.svg.import
similarity index 75%
rename from visual/icons/Translate.svg.import
rename to assets/icons/Translate.svg.import
index 3581d97..6631433 100644
--- a/visual/icons/Translate.svg.import
+++ b/assets/icons/Translate.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b7r171i82g3xl"
-path="res://.godot/imported/Translate.svg-cacb854b6c1e693d938f9f1ee2332d07.ctex"
+path="res://.godot/imported/Translate.svg-6935e923a254420d209e5265a6bcc11e.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Translate.svg"
-dest_files=["res://.godot/imported/Translate.svg-cacb854b6c1e693d938f9f1ee2332d07.ctex"]
+source_file="res://assets/icons/Translate.svg"
+dest_files=["res://.godot/imported/Translate.svg-6935e923a254420d209e5265a6bcc11e.ctex"]
[params]
diff --git a/visual/icons/Undo.svg b/assets/icons/Undo.svg
similarity index 100%
rename from visual/icons/Undo.svg
rename to assets/icons/Undo.svg
diff --git a/visual/icons/Undo.svg.import b/assets/icons/Undo.svg.import
similarity index 76%
rename from visual/icons/Undo.svg.import
rename to assets/icons/Undo.svg.import
index d48fd28..cdc68f1 100644
--- a/visual/icons/Undo.svg.import
+++ b/assets/icons/Undo.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dgwjiijcgblou"
-path="res://.godot/imported/Undo.svg-60bb38c07ff5ce85a84d6d068819a1b3.ctex"
+path="res://.godot/imported/Undo.svg-cf90b08882c5b785e9e31418171ad387.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Undo.svg"
-dest_files=["res://.godot/imported/Undo.svg-60bb38c07ff5ce85a84d6d068819a1b3.ctex"]
+source_file="res://assets/icons/Undo.svg"
+dest_files=["res://.godot/imported/Undo.svg-cf90b08882c5b785e9e31418171ad387.ctex"]
[params]
diff --git a/visual/icons/ViewInList.svg b/assets/icons/ViewInList.svg
similarity index 100%
rename from visual/icons/ViewInList.svg
rename to assets/icons/ViewInList.svg
diff --git a/visual/icons/ViewInList.svg.import b/assets/icons/ViewInList.svg.import
similarity index 74%
rename from visual/icons/ViewInList.svg.import
rename to assets/icons/ViewInList.svg.import
index 0e6b52c..cf3cb8e 100644
--- a/visual/icons/ViewInList.svg.import
+++ b/assets/icons/ViewInList.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://oha0oauf4kup"
-path="res://.godot/imported/ViewInList.svg-177b801a748f0446d7a4ce810b0cf9a6.ctex"
+path="res://.godot/imported/ViewInList.svg-e0595b44695503f2072a608f260e2171.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/ViewInList.svg"
-dest_files=["res://.godot/imported/ViewInList.svg-177b801a748f0446d7a4ce810b0cf9a6.ctex"]
+source_file="res://assets/icons/ViewInList.svg"
+dest_files=["res://.godot/imported/ViewInList.svg-e0595b44695503f2072a608f260e2171.ctex"]
[params]
diff --git a/visual/icons/Visuals.svg b/assets/icons/Visuals.svg
similarity index 100%
rename from visual/icons/Visuals.svg
rename to assets/icons/Visuals.svg
diff --git a/visual/icons/Visuals.svg.import b/assets/icons/Visuals.svg.import
similarity index 75%
rename from visual/icons/Visuals.svg.import
rename to assets/icons/Visuals.svg.import
index 9171d34..c2d715c 100644
--- a/visual/icons/Visuals.svg.import
+++ b/assets/icons/Visuals.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://kkxyv1gyrjgj"
-path="res://.godot/imported/Visuals.svg-60921e039c6a3b2059ba1e1c9e297fcf.ctex"
+path="res://.godot/imported/Visuals.svg-cd178d1fd0b469993938ca905876831b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Visuals.svg"
-dest_files=["res://.godot/imported/Visuals.svg-60921e039c6a3b2059ba1e1c9e297fcf.ctex"]
+source_file="res://assets/icons/Visuals.svg"
+dest_files=["res://.godot/imported/Visuals.svg-cd178d1fd0b469993938ca905876831b.ctex"]
[params]
diff --git a/visual/icons/Warning.svg b/assets/icons/Warning.svg
similarity index 100%
rename from visual/icons/Warning.svg
rename to assets/icons/Warning.svg
diff --git a/visual/icons/Warning.svg.import b/assets/icons/Warning.svg.import
similarity index 75%
rename from visual/icons/Warning.svg.import
rename to assets/icons/Warning.svg.import
index 4116d15..5c247d2 100644
--- a/visual/icons/Warning.svg.import
+++ b/assets/icons/Warning.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dbyjet4nt246k"
-path="res://.godot/imported/Warning.svg-c02c0d4aa90451c8e0910c52102adcca.ctex"
+path="res://.godot/imported/Warning.svg-1fa9c55d4ce2374a5650b357c6c25038.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/Warning.svg"
-dest_files=["res://.godot/imported/Warning.svg-c02c0d4aa90451c8e0910c52102adcca.ctex"]
+source_file="res://assets/icons/Warning.svg"
+dest_files=["res://.godot/imported/Warning.svg-1fa9c55d4ce2374a5650b357c6c25038.ctex"]
[params]
diff --git a/visual/icons/backgrounds/Checkerboard.svg b/assets/icons/backgrounds/Checkerboard.svg
similarity index 100%
rename from visual/icons/backgrounds/Checkerboard.svg
rename to assets/icons/backgrounds/Checkerboard.svg
diff --git a/visual/icons/backgrounds/Checkerboard.svg.import b/assets/icons/backgrounds/Checkerboard.svg.import
similarity index 73%
rename from visual/icons/backgrounds/Checkerboard.svg.import
rename to assets/icons/backgrounds/Checkerboard.svg.import
index 62654e7..5146c91 100644
--- a/visual/icons/backgrounds/Checkerboard.svg.import
+++ b/assets/icons/backgrounds/Checkerboard.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c68og6bsqt0lb"
-path="res://.godot/imported/Checkerboard.svg-1ca7da602c821f83425dbd4b34ca6a4f.ctex"
+path="res://.godot/imported/Checkerboard.svg-f7e80961b46cfe0abb1fe7c57bd5c311.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/backgrounds/Checkerboard.svg"
-dest_files=["res://.godot/imported/Checkerboard.svg-1ca7da602c821f83425dbd4b34ca6a4f.ctex"]
+source_file="res://assets/icons/backgrounds/Checkerboard.svg"
+dest_files=["res://.godot/imported/Checkerboard.svg-f7e80961b46cfe0abb1fe7c57bd5c311.ctex"]
[params]
diff --git a/visual/icons/backgrounds/CheckerboardMini.svg b/assets/icons/backgrounds/CheckerboardMini.svg
similarity index 100%
rename from visual/icons/backgrounds/CheckerboardMini.svg
rename to assets/icons/backgrounds/CheckerboardMini.svg
diff --git a/visual/icons/backgrounds/CheckerboardMini.svg.import b/assets/icons/backgrounds/CheckerboardMini.svg.import
similarity index 72%
rename from visual/icons/backgrounds/CheckerboardMini.svg.import
rename to assets/icons/backgrounds/CheckerboardMini.svg.import
index 92b1d6c..465afec 100644
--- a/visual/icons/backgrounds/CheckerboardMini.svg.import
+++ b/assets/icons/backgrounds/CheckerboardMini.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://stpallv5q0rb"
-path="res://.godot/imported/CheckerboardMini.svg-baf28e8b9517e069c5be3205f847ba8c.ctex"
+path="res://.godot/imported/CheckerboardMini.svg-231a39c4ad6a476f0b2ee9407382b18a.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/backgrounds/CheckerboardMini.svg"
-dest_files=["res://.godot/imported/CheckerboardMini.svg-baf28e8b9517e069c5be3205f847ba8c.ctex"]
+source_file="res://assets/icons/backgrounds/CheckerboardMini.svg"
+dest_files=["res://.godot/imported/CheckerboardMini.svg-231a39c4ad6a476f0b2ee9407382b18a.ctex"]
[params]
diff --git a/visual/icons/backgrounds/ColorButtonBG.svg b/assets/icons/backgrounds/ColorButtonBG.svg
similarity index 100%
rename from visual/icons/backgrounds/ColorButtonBG.svg
rename to assets/icons/backgrounds/ColorButtonBG.svg
diff --git a/visual/icons/backgrounds/ColorButtonBG.svg.import b/assets/icons/backgrounds/ColorButtonBG.svg.import
similarity index 73%
rename from visual/icons/backgrounds/ColorButtonBG.svg.import
rename to assets/icons/backgrounds/ColorButtonBG.svg.import
index 27035f6..db03505 100644
--- a/visual/icons/backgrounds/ColorButtonBG.svg.import
+++ b/assets/icons/backgrounds/ColorButtonBG.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://y0l74x73w0co"
-path="res://.godot/imported/ColorButtonBG.svg-faa73f9c26fd9ec929af3bcf2f359ee1.ctex"
+path="res://.godot/imported/ColorButtonBG.svg-f05e8d9d784151a74a26cfdebd155a7f.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/backgrounds/ColorButtonBG.svg"
-dest_files=["res://.godot/imported/ColorButtonBG.svg-faa73f9c26fd9ec929af3bcf2f359ee1.ctex"]
+source_file="res://assets/icons/backgrounds/ColorButtonBG.svg"
+dest_files=["res://.godot/imported/ColorButtonBG.svg-f05e8d9d784151a74a26cfdebd155a7f.ctex"]
[params]
diff --git a/visual/icons/element/circle.svg b/assets/icons/element/circle.svg
similarity index 100%
rename from visual/icons/element/circle.svg
rename to assets/icons/element/circle.svg
diff --git a/visual/icons/element/circle.svg.import b/assets/icons/element/circle.svg.import
similarity index 75%
rename from visual/icons/element/circle.svg.import
rename to assets/icons/element/circle.svg.import
index fb0d078..3ec4af7 100644
--- a/visual/icons/element/circle.svg.import
+++ b/assets/icons/element/circle.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://i3nv3rexgpfx"
-path="res://.godot/imported/circle.svg-725abe113fd004f5ec246fd5b176778a.ctex"
+path="res://.godot/imported/circle.svg-254daa85021abdd2364d2dd025bedc16.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/circle.svg"
-dest_files=["res://.godot/imported/circle.svg-725abe113fd004f5ec246fd5b176778a.ctex"]
+source_file="res://assets/icons/element/circle.svg"
+dest_files=["res://.godot/imported/circle.svg-254daa85021abdd2364d2dd025bedc16.ctex"]
[params]
diff --git a/visual/icons/element/ellipse.svg b/assets/icons/element/ellipse.svg
similarity index 100%
rename from visual/icons/element/ellipse.svg
rename to assets/icons/element/ellipse.svg
diff --git a/visual/icons/element/ellipse.svg.import b/assets/icons/element/ellipse.svg.import
similarity index 74%
rename from visual/icons/element/ellipse.svg.import
rename to assets/icons/element/ellipse.svg.import
index a5e5a27..419e5b1 100644
--- a/visual/icons/element/ellipse.svg.import
+++ b/assets/icons/element/ellipse.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c1atigsxatxdg"
-path="res://.godot/imported/ellipse.svg-7fe80cd5e6c2b8dc8d9f91cc0bf5266f.ctex"
+path="res://.godot/imported/ellipse.svg-f48ede7bc4d2db2cf368294bd6f65f65.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/ellipse.svg"
-dest_files=["res://.godot/imported/ellipse.svg-7fe80cd5e6c2b8dc8d9f91cc0bf5266f.ctex"]
+source_file="res://assets/icons/element/ellipse.svg"
+dest_files=["res://.godot/imported/ellipse.svg-f48ede7bc4d2db2cf368294bd6f65f65.ctex"]
[params]
diff --git a/visual/icons/element/g.svg b/assets/icons/element/g.svg
similarity index 100%
rename from visual/icons/element/g.svg
rename to assets/icons/element/g.svg
diff --git a/visual/icons/element/g.svg.import b/assets/icons/element/g.svg.import
similarity index 76%
rename from visual/icons/element/g.svg.import
rename to assets/icons/element/g.svg.import
index acffb1f..2454bf3 100644
--- a/visual/icons/element/g.svg.import
+++ b/assets/icons/element/g.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://v4diytxx43vs"
-path="res://.godot/imported/g.svg-35fa1a7e56277cc79f0b48355193d486.ctex"
+path="res://.godot/imported/g.svg-a723a78028fb034e0a1d8d362d47af18.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/g.svg"
-dest_files=["res://.godot/imported/g.svg-35fa1a7e56277cc79f0b48355193d486.ctex"]
+source_file="res://assets/icons/element/g.svg"
+dest_files=["res://.godot/imported/g.svg-a723a78028fb034e0a1d8d362d47af18.ctex"]
[params]
diff --git a/visual/icons/element/image.svg b/assets/icons/element/image.svg
similarity index 100%
rename from visual/icons/element/image.svg
rename to assets/icons/element/image.svg
diff --git a/visual/icons/element/image.svg.import b/assets/icons/element/image.svg.import
similarity index 75%
rename from visual/icons/element/image.svg.import
rename to assets/icons/element/image.svg.import
index a2230fd..30b43d7 100644
--- a/visual/icons/element/image.svg.import
+++ b/assets/icons/element/image.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://qolmbksjgn8e"
-path="res://.godot/imported/image.svg-abcd3e48461fec76e7dba399f049b613.ctex"
+path="res://.godot/imported/image.svg-4cc52c9b2f69e61f2b8246fc15eaf0de.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/image.svg"
-dest_files=["res://.godot/imported/image.svg-abcd3e48461fec76e7dba399f049b613.ctex"]
+source_file="res://assets/icons/element/image.svg"
+dest_files=["res://.godot/imported/image.svg-4cc52c9b2f69e61f2b8246fc15eaf0de.ctex"]
[params]
diff --git a/visual/icons/element/line.svg b/assets/icons/element/line.svg
similarity index 100%
rename from visual/icons/element/line.svg
rename to assets/icons/element/line.svg
diff --git a/visual/icons/element/line.svg.import b/assets/icons/element/line.svg.import
similarity index 75%
rename from visual/icons/element/line.svg.import
rename to assets/icons/element/line.svg.import
index fc4325d..116f9be 100644
--- a/visual/icons/element/line.svg.import
+++ b/assets/icons/element/line.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dckywhfjhuxke"
-path="res://.godot/imported/line.svg-6ace526b70cd2a51c7ee6427c3b9e688.ctex"
+path="res://.godot/imported/line.svg-44f9040ac1bfabe0cb9ef28359626b8e.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/line.svg"
-dest_files=["res://.godot/imported/line.svg-6ace526b70cd2a51c7ee6427c3b9e688.ctex"]
+source_file="res://assets/icons/element/line.svg"
+dest_files=["res://.godot/imported/line.svg-44f9040ac1bfabe0cb9ef28359626b8e.ctex"]
[params]
diff --git a/visual/icons/element/linearGradient.svg b/assets/icons/element/linearGradient.svg
similarity index 100%
rename from visual/icons/element/linearGradient.svg
rename to assets/icons/element/linearGradient.svg
diff --git a/visual/icons/element/linearGradient.svg.import b/assets/icons/element/linearGradient.svg.import
similarity index 73%
rename from visual/icons/element/linearGradient.svg.import
rename to assets/icons/element/linearGradient.svg.import
index 99109e6..2330d4d 100644
--- a/visual/icons/element/linearGradient.svg.import
+++ b/assets/icons/element/linearGradient.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ld6hoxtl7q6y"
-path="res://.godot/imported/linearGradient.svg-28e2b2f50b182ec4d1fb0c3964b5bcc8.ctex"
+path="res://.godot/imported/linearGradient.svg-8506328381653c4530e74ebe8f871359.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/linearGradient.svg"
-dest_files=["res://.godot/imported/linearGradient.svg-28e2b2f50b182ec4d1fb0c3964b5bcc8.ctex"]
+source_file="res://assets/icons/element/linearGradient.svg"
+dest_files=["res://.godot/imported/linearGradient.svg-8506328381653c4530e74ebe8f871359.ctex"]
[params]
diff --git a/visual/icons/element/mask.svg b/assets/icons/element/mask.svg
similarity index 100%
rename from visual/icons/element/mask.svg
rename to assets/icons/element/mask.svg
diff --git a/visual/icons/element/mask.svg.import b/assets/icons/element/mask.svg.import
similarity index 75%
rename from visual/icons/element/mask.svg.import
rename to assets/icons/element/mask.svg.import
index 7699fa8..bb9d459 100644
--- a/visual/icons/element/mask.svg.import
+++ b/assets/icons/element/mask.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cq12fgmfrreh5"
-path="res://.godot/imported/mask.svg-6c8d6b21581c979b47fd2419667320d8.ctex"
+path="res://.godot/imported/mask.svg-28cbb8910d54bf756daeb08a25dbd973.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/mask.svg"
-dest_files=["res://.godot/imported/mask.svg-6c8d6b21581c979b47fd2419667320d8.ctex"]
+source_file="res://assets/icons/element/mask.svg"
+dest_files=["res://.godot/imported/mask.svg-28cbb8910d54bf756daeb08a25dbd973.ctex"]
[params]
diff --git a/visual/icons/element/path.svg b/assets/icons/element/path.svg
similarity index 100%
rename from visual/icons/element/path.svg
rename to assets/icons/element/path.svg
diff --git a/visual/icons/element/path.svg.import b/assets/icons/element/path.svg.import
similarity index 75%
rename from visual/icons/element/path.svg.import
rename to assets/icons/element/path.svg.import
index e42e124..162f9af 100644
--- a/visual/icons/element/path.svg.import
+++ b/assets/icons/element/path.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dtogqqow1jfum"
-path="res://.godot/imported/path.svg-13514c0561f2be5b38d54b1cd34a19f3.ctex"
+path="res://.godot/imported/path.svg-ee6b5ae9f042c5906830667e7a304e4b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/path.svg"
-dest_files=["res://.godot/imported/path.svg-13514c0561f2be5b38d54b1cd34a19f3.ctex"]
+source_file="res://assets/icons/element/path.svg"
+dest_files=["res://.godot/imported/path.svg-ee6b5ae9f042c5906830667e7a304e4b.ctex"]
[params]
diff --git a/visual/icons/element/polygon.svg b/assets/icons/element/polygon.svg
similarity index 100%
rename from visual/icons/element/polygon.svg
rename to assets/icons/element/polygon.svg
diff --git a/visual/icons/element/polygon.svg.import b/assets/icons/element/polygon.svg.import
similarity index 74%
rename from visual/icons/element/polygon.svg.import
rename to assets/icons/element/polygon.svg.import
index b78652c..297e626 100644
--- a/visual/icons/element/polygon.svg.import
+++ b/assets/icons/element/polygon.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://g7je50vyh0l8"
-path="res://.godot/imported/polygon.svg-12604860eadd073bb182ba679d61fd71.ctex"
+path="res://.godot/imported/polygon.svg-30f7ae5550207b78aaf4e1aa664e8a70.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/polygon.svg"
-dest_files=["res://.godot/imported/polygon.svg-12604860eadd073bb182ba679d61fd71.ctex"]
+source_file="res://assets/icons/element/polygon.svg"
+dest_files=["res://.godot/imported/polygon.svg-30f7ae5550207b78aaf4e1aa664e8a70.ctex"]
[params]
diff --git a/visual/icons/element/polyline.svg b/assets/icons/element/polyline.svg
similarity index 100%
rename from visual/icons/element/polyline.svg
rename to assets/icons/element/polyline.svg
diff --git a/visual/icons/element/polyline.svg.import b/assets/icons/element/polyline.svg.import
similarity index 74%
rename from visual/icons/element/polyline.svg.import
rename to assets/icons/element/polyline.svg.import
index 517c08a..3685c6e 100644
--- a/visual/icons/element/polyline.svg.import
+++ b/assets/icons/element/polyline.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bmuevffyav7ev"
-path="res://.godot/imported/polyline.svg-afb338410c232e8c5cf7c84dbd224032.ctex"
+path="res://.godot/imported/polyline.svg-2bbaec19007f0e891c2042cdc620cec8.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/polyline.svg"
-dest_files=["res://.godot/imported/polyline.svg-afb338410c232e8c5cf7c84dbd224032.ctex"]
+source_file="res://assets/icons/element/polyline.svg"
+dest_files=["res://.godot/imported/polyline.svg-2bbaec19007f0e891c2042cdc620cec8.ctex"]
[params]
diff --git a/visual/icons/element/radialGradient.svg b/assets/icons/element/radialGradient.svg
similarity index 100%
rename from visual/icons/element/radialGradient.svg
rename to assets/icons/element/radialGradient.svg
diff --git a/visual/icons/element/radialGradient.svg.import b/assets/icons/element/radialGradient.svg.import
similarity index 73%
rename from visual/icons/element/radialGradient.svg.import
rename to assets/icons/element/radialGradient.svg.import
index 6030c7d..44521a3 100644
--- a/visual/icons/element/radialGradient.svg.import
+++ b/assets/icons/element/radialGradient.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://m0bt2nyq6axl"
-path="res://.godot/imported/radialGradient.svg-16a4cedabf11a5b2a79c437c5202a29b.ctex"
+path="res://.godot/imported/radialGradient.svg-9a92a6ab7242431f519efb0f151b16d3.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/radialGradient.svg"
-dest_files=["res://.godot/imported/radialGradient.svg-16a4cedabf11a5b2a79c437c5202a29b.ctex"]
+source_file="res://assets/icons/element/radialGradient.svg"
+dest_files=["res://.godot/imported/radialGradient.svg-9a92a6ab7242431f519efb0f151b16d3.ctex"]
[params]
diff --git a/visual/icons/element/rect.svg b/assets/icons/element/rect.svg
similarity index 100%
rename from visual/icons/element/rect.svg
rename to assets/icons/element/rect.svg
diff --git a/visual/icons/element/rect.svg.import b/assets/icons/element/rect.svg.import
similarity index 75%
rename from visual/icons/element/rect.svg.import
rename to assets/icons/element/rect.svg.import
index 0801983..1f8a883 100644
--- a/visual/icons/element/rect.svg.import
+++ b/assets/icons/element/rect.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d32xg5svmjkb5"
-path="res://.godot/imported/rect.svg-7748784271fc3a6db5e315695b2b20b2.ctex"
+path="res://.godot/imported/rect.svg-d6a3f7f28d2b15590d408089237cd0f2.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/rect.svg"
-dest_files=["res://.godot/imported/rect.svg-7748784271fc3a6db5e315695b2b20b2.ctex"]
+source_file="res://assets/icons/element/rect.svg"
+dest_files=["res://.godot/imported/rect.svg-d6a3f7f28d2b15590d408089237cd0f2.ctex"]
[params]
diff --git a/visual/icons/element/stop.svg b/assets/icons/element/stop.svg
similarity index 100%
rename from visual/icons/element/stop.svg
rename to assets/icons/element/stop.svg
diff --git a/visual/icons/element/stop.svg.import b/assets/icons/element/stop.svg.import
similarity index 75%
rename from visual/icons/element/stop.svg.import
rename to assets/icons/element/stop.svg.import
index 0267a4d..fdeba47 100644
--- a/visual/icons/element/stop.svg.import
+++ b/assets/icons/element/stop.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cpict35mitaab"
-path="res://.godot/imported/stop.svg-e483991c84b39078760d49b590a8c73b.ctex"
+path="res://.godot/imported/stop.svg-2d7bf5bf2ae7f3caeb19ddca64f29801.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/stop.svg"
-dest_files=["res://.godot/imported/stop.svg-e483991c84b39078760d49b590a8c73b.ctex"]
+source_file="res://assets/icons/element/stop.svg"
+dest_files=["res://.godot/imported/stop.svg-2d7bf5bf2ae7f3caeb19ddca64f29801.ctex"]
[params]
diff --git a/visual/icons/element/svg.svg b/assets/icons/element/svg.svg
similarity index 100%
rename from visual/icons/element/svg.svg
rename to assets/icons/element/svg.svg
diff --git a/visual/icons/element/svg.svg.import b/assets/icons/element/svg.svg.import
similarity index 75%
rename from visual/icons/element/svg.svg.import
rename to assets/icons/element/svg.svg.import
index 3e282cc..fb555d2 100644
--- a/visual/icons/element/svg.svg.import
+++ b/assets/icons/element/svg.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d04w7h3k83w8u"
-path="res://.godot/imported/svg.svg-fda69fd582ebeeec8bf85515322a83b2.ctex"
+path="res://.godot/imported/svg.svg-01f7f70f43cb14a0bd0e88e66f5f601c.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/svg.svg"
-dest_files=["res://.godot/imported/svg.svg-fda69fd582ebeeec8bf85515322a83b2.ctex"]
+source_file="res://assets/icons/element/svg.svg"
+dest_files=["res://.godot/imported/svg.svg-01f7f70f43cb14a0bd0e88e66f5f601c.ctex"]
[params]
diff --git a/visual/icons/element/text.svg b/assets/icons/element/text.svg
similarity index 100%
rename from visual/icons/element/text.svg
rename to assets/icons/element/text.svg
diff --git a/visual/icons/element/text.svg.import b/assets/icons/element/text.svg.import
similarity index 75%
rename from visual/icons/element/text.svg.import
rename to assets/icons/element/text.svg.import
index 6643e56..496802d 100644
--- a/visual/icons/element/text.svg.import
+++ b/assets/icons/element/text.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c2ienefxrtut"
-path="res://.godot/imported/text.svg-2e6aa7ee99b0bb99cb575439c3119d4e.ctex"
+path="res://.godot/imported/text.svg-61984c9e1264a1413aac57ad546d8800.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/text.svg"
-dest_files=["res://.godot/imported/text.svg-2e6aa7ee99b0bb99cb575439c3119d4e.ctex"]
+source_file="res://assets/icons/element/text.svg"
+dest_files=["res://.godot/imported/text.svg-61984c9e1264a1413aac57ad546d8800.ctex"]
[params]
diff --git a/visual/icons/element/unrecognized.svg b/assets/icons/element/unrecognized.svg
similarity index 100%
rename from visual/icons/element/unrecognized.svg
rename to assets/icons/element/unrecognized.svg
diff --git a/visual/icons/element/unrecognized.svg.import b/assets/icons/element/unrecognized.svg.import
similarity index 73%
rename from visual/icons/element/unrecognized.svg.import
rename to assets/icons/element/unrecognized.svg.import
index 5143c74..7157acc 100644
--- a/visual/icons/element/unrecognized.svg.import
+++ b/assets/icons/element/unrecognized.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://brua6wag257kc"
-path="res://.godot/imported/unrecognized.svg-e7c5d91725032f830d590306c0348693.ctex"
+path="res://.godot/imported/unrecognized.svg-6aef9b7b04edb69be4536f6db80bf7de.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/unrecognized.svg"
-dest_files=["res://.godot/imported/unrecognized.svg-e7c5d91725032f830d590306c0348693.ctex"]
+source_file="res://assets/icons/element/unrecognized.svg"
+dest_files=["res://.godot/imported/unrecognized.svg-6aef9b7b04edb69be4536f6db80bf7de.ctex"]
[params]
diff --git a/visual/icons/element/xmlnodeCDATA.svg b/assets/icons/element/xmlnodeCDATA.svg
similarity index 100%
rename from visual/icons/element/xmlnodeCDATA.svg
rename to assets/icons/element/xmlnodeCDATA.svg
diff --git a/visual/icons/element/xmlnodeCDATA.svg.import b/assets/icons/element/xmlnodeCDATA.svg.import
similarity index 73%
rename from visual/icons/element/xmlnodeCDATA.svg.import
rename to assets/icons/element/xmlnodeCDATA.svg.import
index 27dca74..356a45d 100644
--- a/visual/icons/element/xmlnodeCDATA.svg.import
+++ b/assets/icons/element/xmlnodeCDATA.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cah2rt7uoi1qe"
-path="res://.godot/imported/xmlnodeCDATA.svg-4294cb70073d7930aabb94e1e128bf4a.ctex"
+path="res://.godot/imported/xmlnodeCDATA.svg-821b4f23e43a14458164d978a1c917fa.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/xmlnodeCDATA.svg"
-dest_files=["res://.godot/imported/xmlnodeCDATA.svg-4294cb70073d7930aabb94e1e128bf4a.ctex"]
+source_file="res://assets/icons/element/xmlnodeCDATA.svg"
+dest_files=["res://.godot/imported/xmlnodeCDATA.svg-821b4f23e43a14458164d978a1c917fa.ctex"]
[params]
diff --git a/visual/icons/element/xmlnodeComment.svg b/assets/icons/element/xmlnodeComment.svg
similarity index 100%
rename from visual/icons/element/xmlnodeComment.svg
rename to assets/icons/element/xmlnodeComment.svg
diff --git a/visual/icons/element/xmlnodeComment.svg.import b/assets/icons/element/xmlnodeComment.svg.import
similarity index 73%
rename from visual/icons/element/xmlnodeComment.svg.import
rename to assets/icons/element/xmlnodeComment.svg.import
index 7eb3fe0..e30985f 100644
--- a/visual/icons/element/xmlnodeComment.svg.import
+++ b/assets/icons/element/xmlnodeComment.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bpr1u3rvovpne"
-path="res://.godot/imported/xmlnodeComment.svg-45e1722a1752bee3f467366946975e5a.ctex"
+path="res://.godot/imported/xmlnodeComment.svg-e64e8cdac96d13dedef1f5b7f5fb6d44.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/xmlnodeComment.svg"
-dest_files=["res://.godot/imported/xmlnodeComment.svg-45e1722a1752bee3f467366946975e5a.ctex"]
+source_file="res://assets/icons/element/xmlnodeComment.svg"
+dest_files=["res://.godot/imported/xmlnodeComment.svg-e64e8cdac96d13dedef1f5b7f5fb6d44.ctex"]
[params]
diff --git a/visual/icons/element/xmlnodeText.svg b/assets/icons/element/xmlnodeText.svg
similarity index 100%
rename from visual/icons/element/xmlnodeText.svg
rename to assets/icons/element/xmlnodeText.svg
diff --git a/visual/icons/element/xmlnodeText.svg.import b/assets/icons/element/xmlnodeText.svg.import
similarity index 73%
rename from visual/icons/element/xmlnodeText.svg.import
rename to assets/icons/element/xmlnodeText.svg.import
index 7125dd1..ff4d728 100644
--- a/visual/icons/element/xmlnodeText.svg.import
+++ b/assets/icons/element/xmlnodeText.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://df4xrdgy2buli"
-path="res://.godot/imported/xmlnodeText.svg-da994d752b407a892ed99298c0481899.ctex"
+path="res://.godot/imported/xmlnodeText.svg-1f05904b91e0239ca71b1204fe3661ac.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/element/xmlnodeText.svg"
-dest_files=["res://.godot/imported/xmlnodeText.svg-da994d752b407a892ed99298c0481899.ctex"]
+source_file="res://assets/icons/element/xmlnodeText.svg"
+dest_files=["res://.godot/imported/xmlnodeText.svg-1f05904b91e0239ca71b1204fe3661ac.ctex"]
[params]
diff --git a/visual/icons/foreign_logos/GithubLogo.svg b/assets/icons/foreign_logos/GithubLogo.svg
similarity index 100%
rename from visual/icons/foreign_logos/GithubLogo.svg
rename to assets/icons/foreign_logos/GithubLogo.svg
diff --git a/visual/icons/foreign_logos/GithubLogo.svg.import b/assets/icons/foreign_logos/GithubLogo.svg.import
similarity index 73%
rename from visual/icons/foreign_logos/GithubLogo.svg.import
rename to assets/icons/foreign_logos/GithubLogo.svg.import
index fed3e69..0dbd776 100644
--- a/visual/icons/foreign_logos/GithubLogo.svg.import
+++ b/assets/icons/foreign_logos/GithubLogo.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ccc0q21h8owg1"
-path="res://.godot/imported/GithubLogo.svg-b383215fefdfa3c53c826272590e8afa.ctex"
+path="res://.godot/imported/GithubLogo.svg-87728d1afe1eb4558de9b480e244157b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/foreign_logos/GithubLogo.svg"
-dest_files=["res://.godot/imported/GithubLogo.svg-b383215fefdfa3c53c826272590e8afa.ctex"]
+source_file="res://assets/icons/foreign_logos/GithubLogo.svg"
+dest_files=["res://.godot/imported/GithubLogo.svg-87728d1afe1eb4558de9b480e244157b.ctex"]
[params]
diff --git a/visual/icons/foreign_logos/KoFiLogo.svg b/assets/icons/foreign_logos/KoFiLogo.svg
similarity index 100%
rename from visual/icons/foreign_logos/KoFiLogo.svg
rename to assets/icons/foreign_logos/KoFiLogo.svg
diff --git a/visual/icons/foreign_logos/KoFiLogo.svg.import b/assets/icons/foreign_logos/KoFiLogo.svg.import
similarity index 74%
rename from visual/icons/foreign_logos/KoFiLogo.svg.import
rename to assets/icons/foreign_logos/KoFiLogo.svg.import
index 2f44fb8..6801ccf 100644
--- a/visual/icons/foreign_logos/KoFiLogo.svg.import
+++ b/assets/icons/foreign_logos/KoFiLogo.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dcn1rq4e0p2jt"
-path="res://.godot/imported/KoFiLogo.svg-ca1d4f68b66b3cf071069be2c0846beb.ctex"
+path="res://.godot/imported/KoFiLogo.svg-c60c977b7417aae3dea96e2b4511aab1.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/foreign_logos/KoFiLogo.svg"
-dest_files=["res://.godot/imported/KoFiLogo.svg-ca1d4f68b66b3cf071069be2c0846beb.ctex"]
+source_file="res://assets/icons/foreign_logos/KoFiLogo.svg"
+dest_files=["res://.godot/imported/KoFiLogo.svg-c60c977b7417aae3dea96e2b4511aab1.ctex"]
[params]
diff --git a/visual/icons/foreign_logos/PatreonLogo.svg b/assets/icons/foreign_logos/PatreonLogo.svg
similarity index 100%
rename from visual/icons/foreign_logos/PatreonLogo.svg
rename to assets/icons/foreign_logos/PatreonLogo.svg
diff --git a/visual/icons/foreign_logos/PatreonLogo.svg.import b/assets/icons/foreign_logos/PatreonLogo.svg.import
similarity index 73%
rename from visual/icons/foreign_logos/PatreonLogo.svg.import
rename to assets/icons/foreign_logos/PatreonLogo.svg.import
index 3b167e8..21e3675 100644
--- a/visual/icons/foreign_logos/PatreonLogo.svg.import
+++ b/assets/icons/foreign_logos/PatreonLogo.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dq1muwo84c6yv"
-path="res://.godot/imported/PatreonLogo.svg-96b1b85888976f880a2d38c20ec63b31.ctex"
+path="res://.godot/imported/PatreonLogo.svg-936c5e07b71ef46c2ce08ed38c6f3f4b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/foreign_logos/PatreonLogo.svg"
-dest_files=["res://.godot/imported/PatreonLogo.svg-96b1b85888976f880a2d38c20ec63b31.ctex"]
+source_file="res://assets/icons/foreign_logos/PatreonLogo.svg"
+dest_files=["res://.godot/imported/PatreonLogo.svg-936c5e07b71ef46c2ce08ed38c6f3f4b.ctex"]
[params]
diff --git a/visual/icons/theme/GuiBoxChecked.svg b/assets/icons/theme/GuiBoxChecked.svg
similarity index 100%
rename from visual/icons/theme/GuiBoxChecked.svg
rename to assets/icons/theme/GuiBoxChecked.svg
diff --git a/visual/icons/theme/GuiBoxChecked.svg.import b/assets/icons/theme/GuiBoxChecked.svg.import
similarity index 73%
rename from visual/icons/theme/GuiBoxChecked.svg.import
rename to assets/icons/theme/GuiBoxChecked.svg.import
index 2a524c5..a763af2 100644
--- a/visual/icons/theme/GuiBoxChecked.svg.import
+++ b/assets/icons/theme/GuiBoxChecked.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://wdrpwa7gwmg"
-path="res://.godot/imported/GuiBoxChecked.svg-72c72039dbc1e536f6e371fb8146583d.ctex"
+path="res://.godot/imported/GuiBoxChecked.svg-0b81fe49eae795bf0c65b284c995bf23.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiBoxChecked.svg"
-dest_files=["res://.godot/imported/GuiBoxChecked.svg-72c72039dbc1e536f6e371fb8146583d.ctex"]
+source_file="res://assets/icons/theme/GuiBoxChecked.svg"
+dest_files=["res://.godot/imported/GuiBoxChecked.svg-0b81fe49eae795bf0c65b284c995bf23.ctex"]
[params]
diff --git a/visual/icons/theme/GuiBoxCheckedDisabled.svg b/assets/icons/theme/GuiBoxCheckedDisabled.svg
similarity index 100%
rename from visual/icons/theme/GuiBoxCheckedDisabled.svg
rename to assets/icons/theme/GuiBoxCheckedDisabled.svg
diff --git a/visual/icons/theme/GuiBoxCheckedDisabled.svg.import b/assets/icons/theme/GuiBoxCheckedDisabled.svg.import
similarity index 71%
rename from visual/icons/theme/GuiBoxCheckedDisabled.svg.import
rename to assets/icons/theme/GuiBoxCheckedDisabled.svg.import
index 6fc4774..bf9ec9a 100644
--- a/visual/icons/theme/GuiBoxCheckedDisabled.svg.import
+++ b/assets/icons/theme/GuiBoxCheckedDisabled.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d07xfjdtgtvop"
-path="res://.godot/imported/GuiBoxCheckedDisabled.svg-512d4bfc03a442881dcc2e48ad574478.ctex"
+path="res://.godot/imported/GuiBoxCheckedDisabled.svg-1a93efc893aebadff9e0b4f29007f60b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiBoxCheckedDisabled.svg"
-dest_files=["res://.godot/imported/GuiBoxCheckedDisabled.svg-512d4bfc03a442881dcc2e48ad574478.ctex"]
+source_file="res://assets/icons/theme/GuiBoxCheckedDisabled.svg"
+dest_files=["res://.godot/imported/GuiBoxCheckedDisabled.svg-1a93efc893aebadff9e0b4f29007f60b.ctex"]
[params]
diff --git a/visual/icons/theme/GuiBoxUnchecked.svg b/assets/icons/theme/GuiBoxUnchecked.svg
similarity index 100%
rename from visual/icons/theme/GuiBoxUnchecked.svg
rename to assets/icons/theme/GuiBoxUnchecked.svg
diff --git a/visual/icons/theme/GuiBoxUnchecked.svg.import b/assets/icons/theme/GuiBoxUnchecked.svg.import
similarity index 73%
rename from visual/icons/theme/GuiBoxUnchecked.svg.import
rename to assets/icons/theme/GuiBoxUnchecked.svg.import
index 34f028b..c52fa69 100644
--- a/visual/icons/theme/GuiBoxUnchecked.svg.import
+++ b/assets/icons/theme/GuiBoxUnchecked.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d3a3xgsb8klyk"
-path="res://.godot/imported/GuiBoxUnchecked.svg-d53b47a39110bf333339d2803d03d549.ctex"
+path="res://.godot/imported/GuiBoxUnchecked.svg-6e192c9acff30a10fef6cd012185a66d.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiBoxUnchecked.svg"
-dest_files=["res://.godot/imported/GuiBoxUnchecked.svg-d53b47a39110bf333339d2803d03d549.ctex"]
+source_file="res://assets/icons/theme/GuiBoxUnchecked.svg"
+dest_files=["res://.godot/imported/GuiBoxUnchecked.svg-6e192c9acff30a10fef6cd012185a66d.ctex"]
[params]
diff --git a/visual/icons/theme/GuiBoxUncheckedDisabled.svg b/assets/icons/theme/GuiBoxUncheckedDisabled.svg
similarity index 100%
rename from visual/icons/theme/GuiBoxUncheckedDisabled.svg
rename to assets/icons/theme/GuiBoxUncheckedDisabled.svg
diff --git a/visual/icons/theme/GuiBoxUncheckedDisabled.svg.import b/assets/icons/theme/GuiBoxUncheckedDisabled.svg.import
similarity index 71%
rename from visual/icons/theme/GuiBoxUncheckedDisabled.svg.import
rename to assets/icons/theme/GuiBoxUncheckedDisabled.svg.import
index 1997dc6..2d9df12 100644
--- a/visual/icons/theme/GuiBoxUncheckedDisabled.svg.import
+++ b/assets/icons/theme/GuiBoxUncheckedDisabled.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://xbycstdv7g3m"
-path="res://.godot/imported/GuiBoxUncheckedDisabled.svg-d36e9a6981fb9dde0e9f6d2018ee1708.ctex"
+path="res://.godot/imported/GuiBoxUncheckedDisabled.svg-f3e230fd3d62561ea43cf23f6a6a4132.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiBoxUncheckedDisabled.svg"
-dest_files=["res://.godot/imported/GuiBoxUncheckedDisabled.svg-d36e9a6981fb9dde0e9f6d2018ee1708.ctex"]
+source_file="res://assets/icons/theme/GuiBoxUncheckedDisabled.svg"
+dest_files=["res://.godot/imported/GuiBoxUncheckedDisabled.svg-f3e230fd3d62561ea43cf23f6a6a4132.ctex"]
[params]
diff --git a/visual/icons/theme/GuiToggleChecked.svg b/assets/icons/theme/GuiToggleChecked.svg
similarity index 100%
rename from visual/icons/theme/GuiToggleChecked.svg
rename to assets/icons/theme/GuiToggleChecked.svg
diff --git a/visual/icons/theme/GuiToggleChecked.svg.import b/assets/icons/theme/GuiToggleChecked.svg.import
similarity index 72%
rename from visual/icons/theme/GuiToggleChecked.svg.import
rename to assets/icons/theme/GuiToggleChecked.svg.import
index 3fda897..76d65be 100644
--- a/visual/icons/theme/GuiToggleChecked.svg.import
+++ b/assets/icons/theme/GuiToggleChecked.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dwlr4bgptgwho"
-path="res://.godot/imported/GuiToggleChecked.svg-f91b95d5018255c5664dd8770df65181.ctex"
+path="res://.godot/imported/GuiToggleChecked.svg-4019ea7f600c5c80e2418ed0d8365df3.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiToggleChecked.svg"
-dest_files=["res://.godot/imported/GuiToggleChecked.svg-f91b95d5018255c5664dd8770df65181.ctex"]
+source_file="res://assets/icons/theme/GuiToggleChecked.svg"
+dest_files=["res://.godot/imported/GuiToggleChecked.svg-4019ea7f600c5c80e2418ed0d8365df3.ctex"]
[params]
diff --git a/visual/icons/theme/GuiToggleUnchecked.svg b/assets/icons/theme/GuiToggleUnchecked.svg
similarity index 100%
rename from visual/icons/theme/GuiToggleUnchecked.svg
rename to assets/icons/theme/GuiToggleUnchecked.svg
diff --git a/visual/icons/theme/GuiToggleUnchecked.svg.import b/assets/icons/theme/GuiToggleUnchecked.svg.import
similarity index 72%
rename from visual/icons/theme/GuiToggleUnchecked.svg.import
rename to assets/icons/theme/GuiToggleUnchecked.svg.import
index f4b4de1..8106f30 100644
--- a/visual/icons/theme/GuiToggleUnchecked.svg.import
+++ b/assets/icons/theme/GuiToggleUnchecked.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c12tg3dnydily"
-path="res://.godot/imported/GuiToggleUnchecked.svg-d89f39a367ae50fcc380cd5262331cf3.ctex"
+path="res://.godot/imported/GuiToggleUnchecked.svg-e2841c8a1316d6f4769485b0082b165b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/GuiToggleUnchecked.svg"
-dest_files=["res://.godot/imported/GuiToggleUnchecked.svg-d89f39a367ae50fcc380cd5262331cf3.ctex"]
+source_file="res://assets/icons/theme/GuiToggleUnchecked.svg"
+dest_files=["res://.godot/imported/GuiToggleUnchecked.svg-e2841c8a1316d6f4769485b0082b165b.ctex"]
[params]
diff --git a/visual/icons/theme/SplitGrabber.svg b/assets/icons/theme/SplitGrabber.svg
similarity index 100%
rename from visual/icons/theme/SplitGrabber.svg
rename to assets/icons/theme/SplitGrabber.svg
diff --git a/visual/icons/theme/SplitGrabber.svg.import b/assets/icons/theme/SplitGrabber.svg.import
similarity index 73%
rename from visual/icons/theme/SplitGrabber.svg.import
rename to assets/icons/theme/SplitGrabber.svg.import
index 9d0c35a..b331cc1 100644
--- a/visual/icons/theme/SplitGrabber.svg.import
+++ b/assets/icons/theme/SplitGrabber.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cnig3sejwsrf3"
-path="res://.godot/imported/SplitGrabber.svg-1251102e754f1f37eee20b4e69a24890.ctex"
+path="res://.godot/imported/SplitGrabber.svg-b13ab8037db30039b965a06e36bacf27.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/SplitGrabber.svg"
-dest_files=["res://.godot/imported/SplitGrabber.svg-1251102e754f1f37eee20b4e69a24890.ctex"]
+source_file="res://assets/icons/theme/SplitGrabber.svg"
+dest_files=["res://.godot/imported/SplitGrabber.svg-b13ab8037db30039b965a06e36bacf27.ctex"]
[params]
diff --git a/visual/icons/theme/SplitGrabber2.svg b/assets/icons/theme/SplitGrabber2.svg
similarity index 100%
rename from visual/icons/theme/SplitGrabber2.svg
rename to assets/icons/theme/SplitGrabber2.svg
diff --git a/visual/icons/theme/SplitGrabber2.svg.import b/assets/icons/theme/SplitGrabber2.svg.import
similarity index 73%
rename from visual/icons/theme/SplitGrabber2.svg.import
rename to assets/icons/theme/SplitGrabber2.svg.import
index 34d5bd2..a5a30a7 100644
--- a/visual/icons/theme/SplitGrabber2.svg.import
+++ b/assets/icons/theme/SplitGrabber2.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://co75w07yqmcro"
-path="res://.godot/imported/SplitGrabber2.svg-18d40ab670e2b5a72dfeedf569d260c4.ctex"
+path="res://.godot/imported/SplitGrabber2.svg-5f4dbb5977ce370963d5ee5a6881e9b5.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icons/theme/SplitGrabber2.svg"
-dest_files=["res://.godot/imported/SplitGrabber2.svg-18d40ab670e2b5a72dfeedf569d260c4.ctex"]
+source_file="res://assets/icons/theme/SplitGrabber2.svg"
+dest_files=["res://.godot/imported/SplitGrabber2.svg-5f4dbb5977ce370963d5ee5a6881e9b5.ctex"]
[params]
diff --git a/visual/icon.icns b/assets/logos/icon.icns
similarity index 100%
rename from visual/icon.icns
rename to assets/logos/icon.icns
diff --git a/visual/icon.ico b/assets/logos/icon.ico
similarity index 100%
rename from visual/icon.ico
rename to assets/logos/icon.ico
diff --git a/visual/icon.png b/assets/logos/icon.png
similarity index 100%
rename from visual/icon.png
rename to assets/logos/icon.png
diff --git a/visual/icon.png.import b/assets/logos/icon.png.import
similarity index 73%
rename from visual/icon.png.import
rename to assets/logos/icon.png.import
index 98442ec..eec5f4f 100644
--- a/visual/icon.png.import
+++ b/assets/logos/icon.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://v7hej5yexkvl"
-path="res://.godot/imported/icon.png-e9d1429201c190d11a3351ce85f1bc64.ctex"
+path="res://.godot/imported/icon.png-b10c6e7536cb4421f7ec0b345666f4b2.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icon.png"
-dest_files=["res://.godot/imported/icon.png-e9d1429201c190d11a3351ce85f1bc64.ctex"]
+source_file="res://assets/logos/icon.png"
+dest_files=["res://.godot/imported/icon.png-b10c6e7536cb4421f7ec0b345666f4b2.ctex"]
[params]
diff --git a/visual/icon.svg b/assets/logos/icon.svg
similarity index 100%
rename from visual/icon.svg
rename to assets/logos/icon.svg
diff --git a/visual/icon.svg.import b/assets/logos/icon.svg.import
similarity index 76%
rename from visual/icon.svg.import
rename to assets/logos/icon.svg.import
index b25e82e..57dec04 100644
--- a/visual/icon.svg.import
+++ b/assets/logos/icon.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://barsurula6j8n"
-path="res://.godot/imported/icon.svg-4135024f1e47fffc8bac3039c30445db.ctex"
+path="res://.godot/imported/icon.svg-6128c91ba220bf70fcc2a632eba0b81d.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/icon.svg"
-dest_files=["res://.godot/imported/icon.svg-4135024f1e47fffc8bac3039c30445db.ctex"]
+source_file="res://assets/logos/icon.svg"
+dest_files=["res://.godot/imported/icon.svg-6128c91ba220bf70fcc2a632eba0b81d.ctex"]
[params]
diff --git a/visual/splash.png b/assets/logos/splash.png
similarity index 100%
rename from visual/splash.png
rename to assets/logos/splash.png
diff --git a/visual/splash.png.import b/assets/logos/splash.png.import
similarity index 72%
rename from visual/splash.png.import
rename to assets/logos/splash.png.import
index 3852703..a504a73 100644
--- a/visual/splash.png.import
+++ b/assets/logos/splash.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bom8y28xu652f"
-path="res://.godot/imported/splash.png-2e737774984f5a274381090076e4098a.ctex"
+path="res://.godot/imported/splash.png-fa4245d1b4ba6de106b46168106d9e6b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://visual/splash.png"
-dest_files=["res://.godot/imported/splash.png-2e737774984f5a274381090076e4098a.ctex"]
+source_file="res://assets/logos/splash.png"
+dest_files=["res://.godot/imported/splash.png-fa4245d1b4ba6de106b46168106d9e6b.ctex"]
[params]
diff --git a/translations/GodSVG.pot b/assets/translations/GodSVG.pot
similarity index 99%
rename from translations/GodSVG.pot
rename to assets/translations/GodSVG.pot
index e869d97..1d082ad 100644
--- a/translations/GodSVG.pot
+++ b/assets/translations/GodSVG.pot
@@ -311,6 +311,11 @@ msgstr ""
msgid "Dimensions"
msgstr ""
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr ""
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr ""
@@ -862,16 +867,12 @@ msgstr ""
msgid "Delete color"
msgstr ""
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr ""
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
+msgid "Color keywords"
msgstr ""
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
+msgid "Eyedropper"
msgstr ""
#: src/ui_widgets/palette_config.gd
diff --git a/translations/README.md b/assets/translations/README.md
similarity index 100%
rename from translations/README.md
rename to assets/translations/README.md
diff --git a/translations/bg.po b/assets/translations/bg.po
similarity index 98%
rename from translations/bg.po
rename to assets/translations/bg.po
index 775cf6f..0ba56c8 100644
--- a/translations/bg.po
+++ b/assets/translations/bg.po
@@ -313,6 +313,11 @@ msgstr "Добави елемент"
msgid "Dimensions"
msgstr "Измерения"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Неименуван"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Размер"
@@ -795,7 +800,7 @@ msgstr "Настройки на панела с бързи клавиши"
msgid "Layout"
msgstr "Оформление"
-#: src/ui_parts/shortcut_panel_config.gd=
+#: src/ui_parts/shortcut_panel_config.gd
msgid "Horizontal strip"
msgstr "Хоризонтална лента"
@@ -873,17 +878,13 @@ msgstr "Промени името на цвета"
msgid "Delete color"
msgstr "Изтрий цвета"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Неименуван"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "Включи цвета"
+msgid "Color keywords"
+msgstr "Ключови цветове"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "Изключи цвета"
+msgid "Eyedropper"
+msgstr "Пипета"
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1120,3 +1121,9 @@ msgstr ""
#: src/utils/TranslationUtils.gd
msgid "The file extension is empty. Only {extension_list} files are supported."
msgstr "Форматът е празен. Единствено {extension_list} файловете са подържани."
+
+#~ msgid "Enable the color"
+#~ msgstr "Включи цвета"
+
+#~ msgid "Disable the color"
+#~ msgstr "Изключи цвета"
diff --git a/translations/de.po b/assets/translations/de.po
similarity index 98%
rename from translations/de.po
rename to assets/translations/de.po
index 79c67c9..30ff28b 100644
--- a/translations/de.po
+++ b/assets/translations/de.po
@@ -312,6 +312,11 @@ msgstr "Neues Element"
msgid "Dimensions"
msgstr ""
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Unbenannt"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Größe"
@@ -878,17 +883,14 @@ msgstr "Farbnamen ändern"
msgid "Delete color"
msgstr "Farbe löschen"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Unbenannt"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "Farbe aktivieren"
+#, fuzzy
+msgid "Color keywords"
+msgstr "Farbauswahl"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "Farbe deaktivieren"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1129,6 +1131,12 @@ msgstr ""
"Die Dateierweiterung ist leer. Nur {extension_list} Dateien werden "
"unterstützt."
+#~ msgid "Enable the color"
+#~ msgstr "Farbe aktivieren"
+
+#~ msgid "Disable the color"
+#~ msgstr "Farbe deaktivieren"
+
#~ msgid "Invalid"
#~ msgstr "Ungültig"
diff --git a/translations/en.po b/assets/translations/en.po
similarity index 99%
rename from translations/en.po
rename to assets/translations/en.po
index e8735f0..84187b7 100644
--- a/translations/en.po
+++ b/assets/translations/en.po
@@ -311,6 +311,11 @@ msgstr ""
msgid "Dimensions"
msgstr ""
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr ""
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr ""
@@ -862,16 +867,12 @@ msgstr ""
msgid "Delete color"
msgstr ""
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr ""
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
+msgid "Color keywords"
msgstr ""
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
+msgid "Eyedropper"
msgstr ""
#: src/ui_widgets/palette_config.gd
diff --git a/translations/fr.po b/assets/translations/fr.po
similarity index 98%
rename from translations/fr.po
rename to assets/translations/fr.po
index 0a2ad9d..cb6a1e0 100644
--- a/translations/fr.po
+++ b/assets/translations/fr.po
@@ -313,6 +313,11 @@ msgstr "Nouvel élément"
msgid "Dimensions"
msgstr "Dimensions"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Sans nom"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Taille"
@@ -879,17 +884,14 @@ msgstr "Éditer le nom de la couleur"
msgid "Delete color"
msgstr "Supprimer la couleur"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Sans nom"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "Activer la couleur"
+#, fuzzy
+msgid "Color keywords"
+msgstr "Pipette"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "Désactiver la couleur"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1129,3 +1131,9 @@ msgid "The file extension is empty. Only {extension_list} files are supported."
msgstr ""
"L'extension de fichier est vide. Seuls les fichiers {extension_list} sont "
"supportés."
+
+#~ msgid "Enable the color"
+#~ msgstr "Activer la couleur"
+
+#~ msgid "Disable the color"
+#~ msgstr "Désactiver la couleur"
diff --git a/translations/nl.po b/assets/translations/nl.po
similarity index 97%
rename from translations/nl.po
rename to assets/translations/nl.po
index 1d4a52a..937cab7 100644
--- a/translations/nl.po
+++ b/assets/translations/nl.po
@@ -313,6 +313,11 @@ msgstr "Nieuw element"
msgid "Dimensions"
msgstr "Afmetingen"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Onbenoemd"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Maat"
@@ -447,8 +452,8 @@ msgid ""
"A file named \"{file_name}\" already exists. Replacing will overwrite its "
"contents!"
msgstr ""
-"Er bestaat al een bestand genaamt \"{file_name}\". Deze vervangen zal zijn inhoud "
-"aanpassen!"
+"Er bestaat al een bestand genaamt \"{file_name}\". Deze vervangen zal zijn "
+"inhoud aanpassen!"
#: src/ui_parts/handles_manager.gd
msgid "New shape"
@@ -755,16 +760,17 @@ msgid ""
"If turned on, scrolling will pan the view. To zoom, hold CTRL while "
"scrolling."
msgstr ""
-"Als ingeschakeld, scrollen zal het weergave verschuiven. Om te zoomen,"
-"houd CTRL ingedrukt tijdens scrollen."
+"Als ingeschakeld, scrollen zal het weergave verschuiven. Om te zoomen,houd "
+"CTRL ingedrukt tijdens scrollen."
#: src/ui_parts/settings_menu.gd
msgid ""
"If turned on, uses your operating system's native file dialog. If turned "
"off, uses GodSVG's built-in file dialog."
msgstr ""
-"Waneer ingeschakeld, gebruikt jouw besturingssysteem's inheemse bestandendialoog. "
-"Wanneer uitgeschakeld, gebruikt GodSVG's ingebouwde bestandendialoog."
+"Waneer ingeschakeld, gebruikt jouw besturingssysteem's inheemse "
+"bestandendialoog. Wanneer uitgeschakeld, gebruikt GodSVG's ingebouwde "
+"bestandendialoog."
#: src/ui_parts/settings_menu.gd
msgid ""
@@ -775,7 +781,8 @@ msgstr ""
"achteloos van het huidige bestand."
#: src/ui_parts/settings_menu.gd
-msgid "Changes the visual size and grabbing area of Handles."
+#, fuzzy
+msgid "Changes the visual size and grabbing area of handles."
msgstr "Verandert de visuele grootte en grijpgebied van Handvaten."
#: src/ui_parts/settings_menu.gd
@@ -872,17 +879,14 @@ msgstr "Kleurnaam bewerken"
msgid "Delete color"
msgstr "Kleur verwijderen"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Onbenoemd"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "De kleur inschakelen"
+#, fuzzy
+msgid "Color keywords"
+msgstr "Kleurenplukker"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "De kleur uitzetten"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1118,7 +1122,15 @@ msgstr ""
#: src/utils/TranslationUtils.gd
msgid "The file extension is empty. Only {extension_list} files are supported."
-msgstr "Deze bestandsextensie is leeg. Alleen {extension_list} bestanden zijn ondersteund."
+msgstr ""
+"Deze bestandsextensie is leeg. Alleen {extension_list} bestanden zijn "
+"ondersteund."
+
+#~ msgid "Enable the color"
+#~ msgstr "De kleur inschakelen"
+
+#~ msgid "Disable the color"
+#~ msgstr "De kleur uitzetten"
#~ msgid "Invalid"
#~ msgstr "Ongeldig"
diff --git a/translations/ru.po b/assets/translations/ru.po
similarity index 98%
rename from translations/ru.po
rename to assets/translations/ru.po
index 2b6dc19..9b42f36 100644
--- a/translations/ru.po
+++ b/assets/translations/ru.po
@@ -314,6 +314,11 @@ msgstr "Новый элемент"
msgid "Dimensions"
msgstr "Размеры"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Без названия"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Размер"
@@ -880,17 +885,14 @@ msgstr "Редактировать название цвета"
msgid "Delete color"
msgstr "Удалить цвет"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Без названия"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "Активировать цвет"
+#, fuzzy
+msgid "Color keywords"
+msgstr "Цветовая пипетка"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "Деактивировать цвет"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1129,6 +1131,12 @@ msgstr ""
msgid "The file extension is empty. Only {extension_list} files are supported."
msgstr "Расширение файла пустое. Поддерживаются только {extension_list} файлы."
+#~ msgid "Enable the color"
+#~ msgstr "Активировать цвет"
+
+#~ msgid "Disable the color"
+#~ msgstr "Деактивировать цвет"
+
#~ msgid "Invalid"
#~ msgstr "Неправильно"
diff --git a/translations/uk.po b/assets/translations/uk.po
similarity index 98%
rename from translations/uk.po
rename to assets/translations/uk.po
index db3deea..84d72d3 100644
--- a/translations/uk.po
+++ b/assets/translations/uk.po
@@ -314,6 +314,11 @@ msgstr "Новий елемент"
msgid "Dimensions"
msgstr "Розміри"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "Без назви"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "Розмір"
@@ -884,17 +889,14 @@ msgstr "Редагувати назву кольору"
msgid "Delete color"
msgstr "Видалити колір"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "Без назви"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "Активувати колір"
+#, fuzzy
+msgid "Color keywords"
+msgstr "Кольорова піпетка"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "Деактивувати колір"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1134,6 +1136,12 @@ msgstr ""
msgid "The file extension is empty. Only {extension_list} files are supported."
msgstr "Розширення файлу порожнє. Тільки {extension_list} файли підтримуються."
+#~ msgid "Enable the color"
+#~ msgstr "Активувати колір"
+
+#~ msgid "Disable the color"
+#~ msgstr "Деактивувати колір"
+
#~ msgid "Invalid"
#~ msgstr "Неправильно"
diff --git a/translations/zh.po b/assets/translations/zh.po
similarity index 98%
rename from translations/zh.po
rename to assets/translations/zh.po
index 00f41a1..ffd4ca3 100644
--- a/translations/zh.po
+++ b/assets/translations/zh.po
@@ -311,6 +311,11 @@ msgstr "新元素"
msgid "Dimensions"
msgstr "大小"
+#: src/ui_parts/export_menu.gd src/ui_widgets/configure_color_popup.gd
+#: src/ui_widgets/palette_config.gd
+msgid "Unnamed"
+msgstr "未命名"
+
#: src/ui_parts/export_menu.gd
msgid "Size"
msgstr "大小"
@@ -870,17 +875,14 @@ msgstr "编辑颜色名称"
msgid "Delete color"
msgstr "删除颜色"
-#: src/ui_widgets/configure_color_popup.gd src/ui_widgets/palette_config.gd
-msgid "Unnamed"
-msgstr "未命名"
-
#: src/ui_widgets/good_color_picker.gd
-msgid "Enable the color"
-msgstr "启用该颜色"
+#, fuzzy
+msgid "Color keywords"
+msgstr "取色器"
#: src/ui_widgets/good_color_picker.gd
-msgid "Disable the color"
-msgstr "禁用该颜色"
+msgid "Eyedropper"
+msgstr ""
#: src/ui_widgets/palette_config.gd
msgid "Unnamed palettes won't be shown."
@@ -1118,6 +1120,12 @@ msgstr ""
msgid "The file extension is empty. Only {extension_list} files are supported."
msgstr "文件扩展名为空。只有 {extension_list} 内的文件受支持。"
+#~ msgid "Enable the color"
+#~ msgstr "启用该颜色"
+
+#~ msgid "Disable the color"
+#~ msgstr "禁用该颜色"
+
#~ msgid "Invalid"
#~ msgstr "无效"
diff --git a/export_presets.cfg b/export_presets.cfg
index 9236934..7944ab4 100644
--- a/export_presets.cfg
+++ b/export_presets.cfg
@@ -8,7 +8,7 @@ dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
-exclude_filter="godot_only/*, web-build/*, *.md, *.ico, *.icns"
+exclude_filter="godot_only/*, *.md, *.ico, *.icns"
export_path=""
encryption_include_filters=""
encryption_exclude_filters=""
diff --git a/project.godot b/project.godot
index 171b552..1da6740 100644
--- a/project.godot
+++ b/project.godot
@@ -18,9 +18,9 @@ config/use_custom_user_dir=true
config/features=PackedStringArray("4.3")
run/low_processor_mode=true
boot_splash/bg_color=Color(0.1065, 0.1181, 0.15, 1)
-boot_splash/image="res://visual/splash.png"
+boot_splash/image="res://assets/logos/splash.png"
boot_splash/fullsize=false
-config/icon="res://visual/icon.png"
+config/icon="res://assets/logos/icon.png"
config/macos_native_icon="res://visual/icon.icns"
config/windows_native_icon="res://visual/icon.ico"
@@ -325,7 +325,7 @@ pointing/android/enable_pan_and_scale_gestures=true
[internationalization]
-locale/translations=PackedStringArray("res://translations/bg.po", "res://translations/de.po", "res://translations/en.po", "res://translations/fr.po", "res://translations/nl.po", "res://translations/ru.po", "res://translations/uk.po", "res://translations/zh.po")
+locale/translations=PackedStringArray("res://assets/translations/bg.po", "res://assets/translations/de.po", "res://assets/translations/en.po", "res://assets/translations/fr.po", "res://assets/translations/nl.po", "res://assets/translations/ru.po", "res://assets/translations/uk.po", "res://assets/translations/zh.po")
[rendering]
diff --git a/src/autoload/HandlerGUI.gd b/src/autoload/HandlerGUI.gd
index 5865d4b..9d4e85e 100644
--- a/src/autoload/HandlerGUI.gd
+++ b/src/autoload/HandlerGUI.gd
@@ -34,7 +34,8 @@ func _ready() -> void:
func _notification(what: int) -> void:
if what == NOTIFICATION_WM_ABOUT:
- open_about()
+ # TODO Keep track of #101410.
+ open_about.call_deferred()
# Drag-and-drop of files.
func _on_files_dropped(files: PackedStringArray) -> void:
@@ -273,19 +274,26 @@ func update_ui_scale() -> void:
# How much can the default size be increased before it takes all usable screen space.
var max_expansion := Vector2(usable_screen_size) / Vector2(window_default_size)
var max_scale := snappedf(minf(max_expansion.x, max_expansion.y) - 0.125, 0.25)
- if OS.get_name() == "Android":
- # This is a temporary fix for smaller UI scale on Android.
- # TODO Update this logic after moving to Godot 4.4
- max_scale *= 1.5
- var final_scale := minf(Configs.savedata.ui_scale * _calculate_auto_scale(), max_scale)
- var resize_factor := final_scale / old_scale_factor
+ var min_scale := snappedf(max_scale / 2.0 - 0.125, 0.25)
+
+ var final_scale := Configs.savedata.ui_scale
+ if Configs.savedata.auto_ui_scale:
+ # The wider the screen, the bigger the automatically chosen UI scale.
+ var aspect_ratio := float(usable_screen_size.x) / usable_screen_size.y
+ var auto_scale := max_scale * clampf(aspect_ratio * 0.375, 0.6, 0.8)
+ if OS.get_name() == "Android":
+ auto_scale *= 1.1 # Default to giving mobile a bit more space.
+ final_scale = snappedf(final_scale * auto_scale, 0.25)
+ final_scale = clampf(final_scale, min_scale, max_scale)
+ var resize_factor := final_scale / old_scale_factor
if not OS.get_name() in ["Android", "Web"]:
- # TODO Check later if this workaround is still necessary for Windows.
- if OS.get_name() != "Windows" or window.mode == Window.MODE_WINDOWED:
+ if window.mode == Window.MODE_WINDOWED:
# The window's minimum size can mess with the size change, so we set it to zero.
window.min_size = Vector2i.ZERO
- window.size *= resize_factor
+ window.size = Vector2i(mini(int(window.size.x * resize_factor),
+ usable_screen_size.x), mini(int(window.size.y * resize_factor),
+ usable_screen_size.y))
window.min_size = window_default_size * final_scale
window.content_scale_factor = final_scale
@@ -325,47 +333,6 @@ func open_export() -> void:
Translator.translate("Export"), FileUtils.open_export_dialog.bind(svg_export_data))
-func _calculate_auto_scale() -> float:
- if not Configs.savedata.auto_ui_scale:
- return 1.0
-
- # Credit: Godots (MIT, by MakovWait and contributors)
-
- var screen := DisplayServer.window_get_current_screen()
- if DisplayServer.screen_get_size(screen) == Vector2i():
- return 1.0
-
- # Use the smallest dimension to use a correct display scale on portrait displays.
- var smallest_dimension := mini(DisplayServer.screen_get_size(screen).x,
- DisplayServer.screen_get_size(screen).y)
-
- var dpi := DisplayServer.screen_get_dpi(screen)
- if dpi != 72:
- if dpi < 72:
- return 0.75
- elif dpi <= 96:
- return 1.0
- elif dpi <= 120:
- return 1.25
- elif dpi <= 160:
- return 1.5
- elif dpi <= 200:
- return 2.0
- elif dpi <= 240:
- return 2.5
- elif dpi <= 320:
- return 3.0
- elif dpi <= 480:
- return 4.0
- else: # dpi > 480
- return 5.0
- elif smallest_dimension >= 1700:
- # Likely a hiDPI display, but we aren't certain due to the returned DPI.
- # Use an intermediate scale to handle this situation.
- return 1.5
- return 1.0
-
-
# Helpers
# Used to trigger a mouse motion event, which can be used to update some things,
diff --git a/src/autoload/Indications.gd b/src/autoload/Indications.gd
index 2ec3b15..6a3315e 100644
--- a/src/autoload/Indications.gd
+++ b/src/autoload/Indications.gd
@@ -527,10 +527,10 @@ func get_selection_context(popup_method: Callable, context: Context) -> ContextP
btn_arr.append(ContextPopup.create_button(
Translator.translate("View In List"),
view_in_list.bind(selected_xids[0]), false,
- load("res://visual/icons/ViewInList.svg")))
+ load("res://assets/icons/ViewInList.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Duplicate"),
- duplicate_selected, false, load("res://visual/icons/Duplicate.svg"),
+ duplicate_selected, false, load("res://assets/icons/Duplicate.svg"),
"duplicate"))
var xnode := SVG.root_element.get_xnode(selected_xids[0])
@@ -539,21 +539,21 @@ func get_selection_context(popup_method: Callable, context: Context) -> ContextP
btn_arr.append(ContextPopup.create_button(
Translator.translate("Convert To"),
popup_convert_to_context.bind(popup_method), false,
- load("res://visual/icons/Reload.svg")))
+ load("res://assets/icons/Reload.svg")))
if can_move_up:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Move Up"),
move_up_selected, false,
- load("res://visual/icons/MoveUp.svg"), "move_up"))
+ load("res://assets/icons/MoveUp.svg"), "move_up"))
if can_move_down:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Move Down"),
move_down_selected, false,
- load("res://visual/icons/MoveDown.svg"), "move_down"))
+ load("res://assets/icons/MoveDown.svg"), "move_down"))
btn_arr.append(ContextPopup.create_button(Translator.translate("Delete"),
- delete_selected, false, load("res://visual/icons/Delete.svg"), "delete"))
+ delete_selected, false, load("res://assets/icons/Delete.svg"), "delete"))
elif not inner_selections.is_empty() and not semi_selected_xid.is_empty():
var element_ref := SVG.root_element.get_xnode(semi_selected_xid)
@@ -562,29 +562,29 @@ func get_selection_context(popup_method: Callable, context: Context) -> ContextP
btn_arr.append(ContextPopup.create_button(
Translator.translate("View In List"),
view_in_list.bind(semi_selected_xid), false,
- load("res://visual/icons/ViewInList.svg")))
+ load("res://assets/icons/ViewInList.svg")))
match element_ref.name:
"path":
if inner_selections.size() == 1:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Insert After"),
popup_insert_command_after_context.bind(popup_method), false,
- load("res://visual/icons/Plus.svg")))
+ load("res://assets/icons/Plus.svg")))
if inner_selections[0] != 0 or\
element_ref.get_attribute("d").get_command(0).command_char != "M":
btn_arr.append(ContextPopup.create_button(
Translator.translate("Convert To"),
popup_convert_to_context.bind(popup_method), false,
- load("res://visual/icons/Reload.svg")))
+ load("res://assets/icons/Reload.svg")))
"polygon", "polyline":
if inner_selections.size() == 1:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Insert After"),
insert_point_after_selection, false,
- load("res://visual/icons/Plus.svg")))
+ load("res://assets/icons/Plus.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Delete"),
- delete_selected, false, load("res://visual/icons/Delete.svg"), "delete"))
+ delete_selected, false, load("res://assets/icons/Delete.svg"), "delete"))
var element_context := ContextPopup.new()
element_context.setup(btn_arr, true)
diff --git a/src/config_classes/ColorPalette.gd b/src/config_classes/ColorPalette.gd
index 4fca196..a7ab358 100644
--- a/src/config_classes/ColorPalette.gd
+++ b/src/config_classes/ColorPalette.gd
@@ -23,14 +23,33 @@ signal layout_changed
title = new_value
emit_changed()
-@export var _colors: PackedStringArray
-@export var _color_names: PackedStringArray
+@export var _colors: PackedStringArray:
+ set(new_value):
+ if _colors != new_value:
+ _colors = new_value
+ _validate()
+ emit_changed()
+
+@export var _color_names: PackedStringArray:
+ set(new_value):
+ if _color_names != new_value:
+ _color_names = new_value
+ _validate()
+ emit_changed()
+
func _init(new_title := "", new_preset := Preset.EMPTY) -> void:
title = new_title
apply_preset(new_preset)
super()
+
+func get_colors() -> PackedStringArray:
+ return _colors
+
+func get_color_names() -> PackedStringArray:
+ return _color_names
+
func get_color(idx: int) -> String:
return _colors[idx]
@@ -53,7 +72,7 @@ func insert_color(idx: int, color: String, color_name: String) -> void:
layout_changed.emit()
func add_new_color() -> void:
- _colors.append("none")
+ _colors.append("black")
_color_names.append("")
emit_changed()
layout_changed.emit()
@@ -121,10 +140,10 @@ func to_text() -> String:
return text + ""
func _validate() -> void:
- if _color_names.size() > _colors.size():
- _color_names.resize(_colors.size())
- elif _color_names.size() < _colors.size():
- _colors.resize(_color_names.size())
+ for i in range(_colors.size() - 1, -1, -1):
+ if not ColorParser.is_valid(_colors[i]):
+ _colors[i] = "#000"
+ _color_names.resize(_colors.size())
static func text_to_palettes(text: String) -> Array[ColorPalette]:
diff --git a/src/data_classes/AttributeColor.gd b/src/data_classes/AttributeColor.gd
index e2f479e..3b34a69 100644
--- a/src/data_classes/AttributeColor.gd
+++ b/src/data_classes/AttributeColor.gd
@@ -4,13 +4,14 @@ class_name AttributeColor extends Attribute
# No direct color representation for this attribute type. There are too many quirks.
func set_value(new_value: String) -> void:
- super(new_value if ColorParser.is_valid(new_value,
- name in DB.attribute_color_url_allowed) else "")
+ super(new_value if ColorParser.is_valid(new_value, false,
+ name in DB.attribute_color_url_allowed, name in DB.attribute_color_none_allowed,
+ name in DB.attribute_color_current_color_allowed) else "")
func format(text: String) -> String:
text = text.strip_edges()
- if text.is_empty() or text in special_colors:
+ if text.is_empty() or text in ["none", "currentColor"]:
return text
elif ColorParser.is_valid_url(text):
return "url(" + text.substr(4, text.length() - 5).strip_edges() + ")"
@@ -19,8 +20,8 @@ func format(text: String) -> String:
# First make sure we have a 6-digit hex.
if ColorParser.is_valid_rgb(text) or ColorParser.is_valid_hsl(text):
text = "#" + ColorParser.text_to_color(text).to_html(false)
- if text in named_colors:
- text = named_colors[text]
+ if text in get_named_colors():
+ text = get_named_colors()[text]
if ColorParser.is_valid_hex(text) and text.length() == 4:
text = "#" + text[1] + text[1] + text[2] + text[2] + text[3] + text[3]
@@ -43,11 +44,11 @@ func format(text: String) -> String:
if ColorParser.is_valid_hex(hex) and hex.length() == 4:
hex = "#" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3]
- if hex in AttributeColor.named_colors.values():
+ if hex in AttributeColor.get_named_colors().values():
if named_colors_usage == Formatter.NamedColorUse.ALWAYS:
- text = AttributeColor.named_colors.find_key(hex)
+ text = AttributeColor.get_named_colors().find_key(hex)
else:
- var named_color_text: String = AttributeColor.named_colors.find_key(hex)
+ var named_color_text: String = AttributeColor.get_named_colors().find_key(hex)
if named_color_text.length() < text.length() or\
(named_colors_usage == Formatter.NamedColorUse.WHEN_SHORTER_OR_EQUAL and\
named_color_text.length() == text.length()):
@@ -55,9 +56,15 @@ func format(text: String) -> String:
return text
-const special_colors = ["transparent", "none", "currentColor"]
+static func get_named_colors(include_alpha := false) -> Dictionary:
+ if include_alpha:
+ var extended_named_colors := _named_colors.duplicate()
+ extended_named_colors["transparent"] = "#00000000"
+ return extended_named_colors
+ else:
+ return _named_colors
-const named_colors = { # Dictionary{String: String}
+const _named_colors = { # Dictionary{String: String}
"aliceblue": "#f0f8ff",
"antiquewhite": "#faebd7",
"aqua": "#00ffff",
diff --git a/src/data_classes/AttributeList.gd b/src/data_classes/AttributeList.gd
index 5b5d48d..df32fd7 100644
--- a/src/data_classes/AttributeList.gd
+++ b/src/data_classes/AttributeList.gd
@@ -56,7 +56,7 @@ static func text_to_list(string: String) -> PackedFloat64Array:
@warning_ignore("shadowed_global_identifier")
var char := string[pos]
match char:
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "+", ".", "e":
+ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "+", ".", "e", "E":
current_num_string += char
" ":
if current_num_string.is_empty():
diff --git a/src/data_classes/AttributePathdata.gd b/src/data_classes/AttributePathdata.gd
index 0539863..2f5d523 100644
--- a/src/data_classes/AttributePathdata.gd
+++ b/src/data_classes/AttributePathdata.gd
@@ -354,7 +354,7 @@ static func pathdata_to_arrays(text: String) -> Array[Array]:
else:
comma_exhausted = true
number_proceed = false
- "e":
+ "e", "E":
if passed_decimal_point:
return new_commands
else:
diff --git a/src/data_classes/AttributeTransformList.gd b/src/data_classes/AttributeTransformList.gd
index 2e947ba..c7eff9c 100644
--- a/src/data_classes/AttributeTransformList.gd
+++ b/src/data_classes/AttributeTransformList.gd
@@ -2,15 +2,7 @@
class_name AttributeTransformList extends Attribute
var _transform_list: Array[Transform] = []
-
-# Automatically updated with the precise transform.
-var _final_transform := Transform2D.IDENTITY
-
-var _final_precise_transform := PackedFloat64Array([1.0, 0.0, 0.0, 1.0, 0.0, 0.0]):
- set(new_value):
- _final_precise_transform = new_value
- _final_transform = Utils64Bit.get_transform(_final_precise_transform)
-
+var _final_precise_transform := PackedFloat64Array([1.0, 0.0, 0.0, 1.0, 0.0, 0.0])
func _sync() -> void:
_transform_list = text_to_transform_list(get_value())
@@ -41,9 +33,6 @@ func get_transform_count() -> int:
func get_transform(idx: int) -> Transform:
return _transform_list[idx]
-func get_final_transform() -> Transform2D:
- return _final_transform
-
func get_final_precise_transform() -> PackedFloat64Array:
return _final_precise_transform
@@ -181,7 +170,7 @@ static func text_to_transform_list(text: String) -> Array[Transform]:
else:
comma_exhausted = true
number_proceed = false
- "e":
+ "e", "E":
if passed_decimal_point:
return []
else:
diff --git a/src/data_classes/ColorParser.gd b/src/data_classes/ColorParser.gd
index 562a667..fef0efb 100644
--- a/src/data_classes/ColorParser.gd
+++ b/src/data_classes/ColorParser.gd
@@ -7,10 +7,13 @@ static func add_hash_if_hex(color: String) -> String:
color = "#" + color
return color
-static func is_valid(color: String, allow_alpha := false, allow_url := true) -> bool:
+static func is_valid(color: String, allow_alpha := false, allow_url := false,
+allow_none := false, allow_current_color := false) -> bool:
+ color = color.strip_edges()
return is_valid_hex(color, allow_alpha) or is_valid_rgb(color, allow_alpha) or\
is_valid_hsl(color, allow_alpha) or is_valid_named(color, allow_alpha) or\
- (allow_url and is_valid_url(color))
+ (allow_url and is_valid_url(color)) or (allow_none and color == "none") or\
+ (allow_current_color and color == "currentColor")
static func is_valid_hex(color: String, allow_alpha := false) -> bool:
color = color.strip_edges()
@@ -85,15 +88,8 @@ static func _hsl_check(stripped_color: String) -> bool:
return _is_valid_number(channels[0]) and _is_valid_percentage(channels[1]) and\
_is_valid_percentage(channels[2])
-static func is_valid_named(color: String, enable_alpha := false) -> bool:
- color = color.strip_edges()
- if AttributeColor.named_colors.has(color):
- return true
-
- var checked_arr := AttributeColor.special_colors.duplicate()
- if not enable_alpha:
- checked_arr.erase("transparent")
- return color in checked_arr
+static func is_valid_named(color: String, allow_alpha := false) -> bool:
+ return AttributeColor.get_named_colors(allow_alpha).has(color.strip_edges())
static func is_valid_url(color: String) -> bool:
color = color.strip_edges()
@@ -109,15 +105,11 @@ static func _get_url_id(stripped_color: String) -> String:
static func text_to_color(color: String, backup := Color.BLACK,
allow_alpha := false) -> Color:
color = color.strip_edges()
- if is_valid_named(color):
- if color == "none":
- return Color(0, 0, 0, 0)
- elif color == "transparent":
- return Color(0, 0, 0, 0) if allow_alpha else backup
- elif color == "currentColor":
- return backup
- else:
- return Color(AttributeColor.named_colors[color])
+ if is_valid_named(color, allow_alpha):
+ return Color(AttributeColor.get_named_colors(allow_alpha)[color])
+ elif color == "none":
+ return Color(0, 0, 0, 0)
+
elif is_valid_rgb(color, allow_alpha):
var inside_brackets := color.substr(4, color.length() - 5)
var args := inside_brackets.split(",", false)
@@ -163,11 +155,11 @@ allow_alpha := false) -> Color:
static func are_colors_same(col1: String, col2: String) -> bool:
col1 = col1.strip_edges()
col2 = col2.strip_edges()
- # Ensure that the two colors aren't the same,
- # but of a type that can't be represented as hex.
+ # Handle color keywords that can't be represented as hex.
if col1 == col2:
return true
- elif col1 in AttributeColor.special_colors or col2 in AttributeColor.special_colors:
+ elif col1 == "none" or col2 == "none" or col1 == "currentColor" or\
+ col2 == "currentColor":
return false
else:
var is_col1_url := is_valid_url(col1)
@@ -185,8 +177,8 @@ static func are_colors_same(col1: String, col2: String) -> bool:
col = text_to_color(col).to_html(false)
elif is_valid_hex(col) and col.length() == 4:
col = col[1] + col[1] + col[2] + col[2] + col[3] + col[3]
- elif is_valid_named(col):
- col = AttributeColor.named_colors[col]
+ elif is_valid_named(col, true):
+ col = AttributeColor.get_named_colors()[col]
col = col.trim_prefix("#")
# End of conversion logic.
if i == 0:
diff --git a/src/data_classes/DB.gd b/src/data_classes/DB.gd
index 74fd7bd..f17a36a 100644
--- a/src/data_classes/DB.gd
+++ b/src/data_classes/DB.gd
@@ -9,31 +9,33 @@ const recognized_elements = ["svg", "g", "circle", "ellipse", "rect", "path", "l
"polyline", "polygon", "stop", "linearGradient", "radialGradient"]
const element_icons = {
- "circle": preload("res://visual/icons/element/circle.svg"),
- "ellipse": preload("res://visual/icons/element/ellipse.svg"),
- "rect": preload("res://visual/icons/element/rect.svg"),
- "path": preload("res://visual/icons/element/path.svg"),
- "line": preload("res://visual/icons/element/line.svg"),
- "polygon": preload("res://visual/icons/element/polygon.svg"),
- "polyline": preload("res://visual/icons/element/polyline.svg"),
- "svg": preload("res://visual/icons/element/svg.svg"),
- "g": preload("res://visual/icons/element/g.svg"),
- "linearGradient": preload("res://visual/icons/element/linearGradient.svg"),
- "radialGradient": preload("res://visual/icons/element/radialGradient.svg"),
- "stop": preload("res://visual/icons/element/stop.svg"),
+ "circle": preload("res://assets/icons/element/circle.svg"),
+ "ellipse": preload("res://assets/icons/element/ellipse.svg"),
+ "rect": preload("res://assets/icons/element/rect.svg"),
+ "path": preload("res://assets/icons/element/path.svg"),
+ "line": preload("res://assets/icons/element/line.svg"),
+ "polygon": preload("res://assets/icons/element/polygon.svg"),
+ "polyline": preload("res://assets/icons/element/polyline.svg"),
+ "svg": preload("res://assets/icons/element/svg.svg"),
+ "g": preload("res://assets/icons/element/g.svg"),
+ "linearGradient": preload("res://assets/icons/element/linearGradient.svg"),
+ "radialGradient": preload("res://assets/icons/element/radialGradient.svg"),
+ "stop": preload("res://assets/icons/element/stop.svg"),
}
-const unrecognized_xnode_icon = preload("res://visual/icons/element/unrecognized.svg")
+const unrecognized_xnode_icon = preload("res://assets/icons/element/unrecognized.svg")
const xnode_icons = {
- BasicXNode.NodeType.COMMENT: preload("res://visual/icons/element/xmlnodeComment.svg"),
- BasicXNode.NodeType.TEXT: preload("res://visual/icons/element/xmlnodeText.svg"),
- BasicXNode.NodeType.CDATA: preload("res://visual/icons/element/xmlnodeCDATA.svg"),
+ BasicXNode.NodeType.COMMENT: preload("res://assets/icons/element/xmlnodeComment.svg"),
+ BasicXNode.NodeType.TEXT: preload("res://assets/icons/element/xmlnodeText.svg"),
+ BasicXNode.NodeType.CDATA: preload("res://assets/icons/element/xmlnodeCDATA.svg"),
}
const recognized_attributes = { # Dictionary{String: Array[String]}
# TODO this is just propagated_attributes, but it ruins the const because of Godot bug.
+ # TODO Add "color" to "g" when we're ready.
"svg": ["xmlns", "x", "y", "width", "height", "viewBox", "fill", "fill-opacity",
- "stroke", "stroke-opacity", "stroke-width", "stroke-linecap", "stroke-linejoin"],
+ "stroke", "stroke-opacity", "stroke-width", "stroke-linecap", "stroke-linejoin",
+ "color"],
"g": ["transform", "opacity", "fill", "fill-opacity", "stroke", "stroke-opacity",
"stroke-width", "stroke-linecap", "stroke-linejoin"],
"linearGradient": ["id", "gradientTransform", "gradientUnits", "spreadMethod",
@@ -75,7 +77,7 @@ const valid_children = { # Dictionary{String: Array[String]}
}
const propagated_attributes = ["fill", "fill-opacity", "stroke", "stroke-opacity",
- "stroke-width", "stroke-linecap", "stroke-linejoin"]
+ "stroke-width", "stroke-linecap", "stroke-linejoin", "color"]
const attribute_types = {
"viewBox": AttributeType.LIST,
@@ -100,6 +102,7 @@ const attribute_types = {
"stroke-width": AttributeType.NUMERIC,
"stroke-linecap": AttributeType.ENUM,
"stroke-linejoin": AttributeType.ENUM,
+ "color": AttributeType.COLOR,
"d": AttributeType.PATHDATA,
"points": AttributeType.LIST,
"transform": AttributeType.TRANSFORM_LIST,
@@ -142,6 +145,8 @@ const attribute_number_range = {
}
const attribute_color_url_allowed = ["fill", "stroke"]
+const attribute_color_none_allowed = ["fill", "stroke"]
+const attribute_color_current_color_allowed = ["fill", "stroke", "stop-color"]
static func get_recognized_attributes(element_name: String) -> Array:
diff --git a/src/data_classes/Element.gd b/src/data_classes/Element.gd
index c40c5d2..9bb9e00 100644
--- a/src/data_classes/Element.gd
+++ b/src/data_classes/Element.gd
@@ -173,6 +173,16 @@ func get_attribute_num(attribute_name: String) -> float:
DB.PercentageHandling.NORMALIZED: return svg.normalized_diagonal * num
return num
+func get_attribute_true_color(attribute_name: String) -> String:
+ if DB.get_attribute_type(attribute_name) != DB.AttributeType.COLOR:
+ push_error("Attribute not the correct type.")
+ var attrib: AttributeColor = _attributes[attribute_name] if\
+ has_attribute(attribute_name) else new_default_attribute(attribute_name)
+ var attrib_value := attrib.get_value()
+ if attrib_value == "currentColor":
+ return get_default("color")
+ return attrib_value
+
func is_attribute_percentage(attribute_name: String) -> bool:
if DB.get_attribute_type(attribute_name) != DB.AttributeType.NUMERIC:
push_error("Attribute not the correct type.")
@@ -208,13 +218,6 @@ func get_attribute_transforms(attribute_name: String) -> Array[Transform]:
has_attribute(attribute_name) else new_default_attribute(attribute_name)
return attrib.get_transform_list()
-func get_attribute_final_transform(attribute_name: String) -> Transform2D:
- if DB.get_attribute_type(attribute_name) != DB.AttributeType.TRANSFORM_LIST:
- push_error("Attribute not the correct type.")
- var attrib: AttributeTransformList = _attributes[attribute_name] if\
- has_attribute(attribute_name) else new_default_attribute(attribute_name)
- return attrib.get_final_transform()
-
func get_attribute_final_precise_transform(attribute_name: String) -> PackedFloat64Array:
if DB.get_attribute_type(attribute_name) != DB.AttributeType.TRANSFORM_LIST:
push_error("Attribute not the correct type.")
@@ -329,13 +332,6 @@ func user_setup(_what = null) -> void:
func is_parent_g() -> bool:
return parent != null and parent is ElementG
-func get_transform() -> Transform2D:
- var result := Transform2D.IDENTITY
- if is_parent_g():
- result *= parent.get_transform()
- if has_attribute("transform"):
- result *= get_attribute_final_transform("transform")
- return result
func get_precise_transform() -> PackedFloat64Array:
var result := PackedFloat64Array([1.0, 0.0, 0.0, 1.0, 0.0, 0.0])
@@ -346,6 +342,9 @@ func get_precise_transform() -> PackedFloat64Array:
get_attribute_final_precise_transform("transform"))
return result
+func get_transform() -> Transform2D:
+ return Utils64Bit.get_transform(get_precise_transform())
+
func new_attribute(name: String, value := "") -> Attribute:
var attrib := _create_attribute(name, value)
attrib.value_changed.connect(_on_attribute_value_changed.bind(attrib))
diff --git a/src/data_classes/ElementLinearGradient.gd b/src/data_classes/ElementLinearGradient.gd
index 0acd99a..6b1bce8 100644
--- a/src/data_classes/ElementLinearGradient.gd
+++ b/src/data_classes/ElementLinearGradient.gd
@@ -28,16 +28,22 @@ func get_config_warnings() -> PackedStringArray:
var first_stop_opacity := -1.0
var is_solid_color := true
for child in get_children():
- if child is ElementStop:
- if first_stop_color.is_empty():
- first_stop_color = child.get_attribute_value("stop-color")
- first_stop_opacity = maxf(0.0, child.get_attribute_num("stop-opacity"))
- elif is_solid_color and not (ColorParser.are_colors_same(first_stop_color,
- child.get_attribute_value("stop-color")) and\
- first_stop_opacity == child.get_attribute_num("stop-opacity")) and\
- not (first_stop_opacity == 0 and child.get_attribute_num("stop-opacity") <= 0):
- is_solid_color = false
- break
+ if not child is ElementStop:
+ continue
+
+ var stop_opacity: float = maxf(child.get_attribute_num("stop-opacity"), 0.0)
+ var stop_color: String = child.get_attribute_value("stop-color")
+ if stop_color.strip_edges() == "currentColor":
+ stop_color = child.get_attribute_value("color")
+
+ if first_stop_color.is_empty():
+ first_stop_opacity = stop_opacity
+ first_stop_color = stop_color
+ elif is_solid_color and not (ColorParser.are_colors_same(first_stop_color,
+ stop_color) and first_stop_opacity == stop_opacity) and\
+ not (first_stop_opacity == 0 and stop_opacity <= 0):
+ is_solid_color = false
+ break
if first_stop_color.is_empty():
warnings.append(Translator.translate("No elements under this gradient."))
diff --git a/src/data_classes/ElementRadialGradient.gd b/src/data_classes/ElementRadialGradient.gd
index b0dc795..99f33b9 100644
--- a/src/data_classes/ElementRadialGradient.gd
+++ b/src/data_classes/ElementRadialGradient.gd
@@ -27,16 +27,22 @@ func get_config_warnings() -> PackedStringArray:
var first_stop_opacity := -1.0
var is_solid_color := true
for child in get_children():
- if child is ElementStop:
- if first_stop_color.is_empty():
- first_stop_color = child.get_attribute_value("stop-color")
- first_stop_opacity = maxf(0.0, child.get_attribute_num("stop-opacity"))
- elif is_solid_color and not (ColorParser.are_colors_same(first_stop_color,
- child.get_attribute_value("stop-color")) and\
- first_stop_opacity == child.get_attribute_num("stop-opacity")) and\
- not (first_stop_opacity == 0 and child.get_attribute_num("stop-opacity") <= 0):
- is_solid_color = false
- break
+ if not child is ElementStop:
+ continue
+
+ var stop_opacity: float = maxf(child.get_attribute_num("stop-opacity"), 0.0)
+ var stop_color: String = child.get_attribute_value("stop-color")
+ if stop_color.strip_edges() == "currentColor":
+ stop_color = child.get_attribute_value("color")
+
+ if first_stop_color.is_empty():
+ first_stop_opacity = stop_opacity
+ first_stop_color = stop_color
+ elif is_solid_color and not (ColorParser.are_colors_same(first_stop_color,
+ stop_color) and first_stop_opacity == stop_opacity) and\
+ not (first_stop_opacity == 0 and stop_opacity <= 0):
+ is_solid_color = false
+ break
if first_stop_color.is_empty():
warnings.append(Translator.translate("No elements under this gradient."))
diff --git a/src/data_classes/ElementRoot.gd b/src/data_classes/ElementRoot.gd
index c00b6b5..90fd51d 100644
--- a/src/data_classes/ElementRoot.gd
+++ b/src/data_classes/ElementRoot.gd
@@ -46,6 +46,7 @@ func _get_own_default(attribute_name: String) -> String:
"stroke-width": return "1"
"stroke-linecap": return "butt"
"stroke-linejoin": return "miter"
+ "color": return "black"
_: return ""
diff --git a/src/data_classes/NumstringParser.gd b/src/data_classes/NumstringParser.gd
index 5111c2f..c3adf68 100644
--- a/src/data_classes/NumstringParser.gd
+++ b/src/data_classes/NumstringParser.gd
@@ -39,6 +39,27 @@ func numstr_arr_to_text(numstr_arr: PackedStringArray) -> String:
static func evaluate(text: String) -> float:
text = text.strip_edges()
text = text.trim_prefix("+") # Expression can't handle unary plus.
+
+ # Expression can't handle exponents with capital E. This contrived logic replaces
+ # valid capital E exponents with a lowercase E.
+ var exponent := ""
+ while text.right(1) in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]:
+ exponent = text.right(1) + exponent
+ text = text.left(-1)
+ if text.is_empty():
+ text = exponent
+ else:
+ if text.right(1) in ["-", "+"]:
+ exponent = text.right(1) + exponent
+ text = text.left(-1)
+ if text.is_empty():
+ text = exponent
+ else:
+ if text.right(1) == "E":
+ text = text.left(-1) + "e" + exponent
+ else:
+ text = text + exponent
+
var expr := Expression.new()
var err := expr.parse(text.replace(",", "."))
if err == OK:
diff --git a/src/ui_parts/about_menu.tscn b/src/ui_parts/about_menu.tscn
index 7af1911..d1c3284 100644
--- a/src/ui_parts/about_menu.tscn
+++ b/src/ui_parts/about_menu.tscn
@@ -1,10 +1,10 @@
[gd_scene load_steps=8 format=3 uid="uid://mhfp37lr7q4f"]
[ext_resource type="Script" path="res://src/ui_parts/about_menu.gd" id="1_xxltt"]
-[ext_resource type="Texture2D" uid="uid://barsurula6j8n" path="res://visual/icon.svg" id="2_t7fbd"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="3_e8i1t"]
-[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://visual/fonts/FontBold.ttf" id="4_n6gp0"]
-[ext_resource type="Texture2D" uid="uid://cgxpm1e3v0i3v" path="res://visual/icons/Link.svg" id="6_hbk78"]
+[ext_resource type="Texture2D" uid="uid://barsurula6j8n" path="res://assets/logos/icon.svg" id="2_t7fbd"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="3_e8i1t"]
+[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="4_n6gp0"]
+[ext_resource type="Texture2D" uid="uid://cgxpm1e3v0i3v" path="res://assets/icons/Link.svg" id="6_hbk78"]
[ext_resource type="Script" path="res://src/ui_widgets/GridDrawingControl.gd" id="7_nvctb"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jtvwe"]
diff --git a/src/ui_parts/alert_dialog.tscn b/src/ui_parts/alert_dialog.tscn
index e64ea83..927399e 100644
--- a/src/ui_parts/alert_dialog.tscn
+++ b/src/ui_parts/alert_dialog.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://c0x44loihhyyo"]
-[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://visual/fonts/FontBold.ttf" id="1_3yrpq"]
+[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="1_3yrpq"]
[ext_resource type="Script" path="res://src/ui_parts/alert_dialog.gd" id="1_qntyo"]
[node name="AlertDialog" type="PanelContainer"]
diff --git a/src/ui_parts/choose_name_dialog.tscn b/src/ui_parts/choose_name_dialog.tscn
index 52f3051..61840d2 100644
--- a/src/ui_parts/choose_name_dialog.tscn
+++ b/src/ui_parts/choose_name_dialog.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://2vlktxj118su"]
[ext_resource type="Script" path="res://src/ui_parts/choose_name_dialog.gd" id="1_qr08l"]
-[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://visual/fonts/FontBold.ttf" id="2_h3hxy"]
+[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="2_h3hxy"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="3_q0a2q"]
[node name="ChooseNameDialog" type="PanelContainer"]
diff --git a/src/ui_parts/code_editor.gd b/src/ui_parts/code_editor.gd
index a50a27e..50d4399 100644
--- a/src/ui_parts/code_editor.gd
+++ b/src/ui_parts/code_editor.gd
@@ -158,18 +158,18 @@ func _on_svg_code_edit_focus_entered() -> void:
func _on_file_button_pressed() -> void:
var btn_array: Array[Button] = []
btn_array.append(ContextPopup.create_button(Translator.translate("Save SVG"),
- FileUtils.save_svg, false, load("res://visual/icons/Save.svg"), "save"))
+ FileUtils.save_svg, false, load("res://assets/icons/Save.svg"), "save"))
btn_array.append(ContextPopup.create_button(Translator.translate("Open file"),
ShortcutUtils.fn("open_svg"),
not FileAccess.file_exists(Configs.savedata.current_file_path),
- load("res://visual/icons/OpenFile.svg"), "open_svg"))
+ load("res://assets/icons/OpenFile.svg"), "open_svg"))
btn_array.append(ContextPopup.create_button(Translator.translate("Reset SVG"),
ShortcutUtils.fn("reset_svg"),
FileUtils.compare_svg_to_disk_contents() != FileUtils.FileState.DIFFERENT,
- load("res://visual/icons/Reload.svg"), "reset_svg"))
+ load("res://assets/icons/Reload.svg"), "reset_svg"))
btn_array.append(ContextPopup.create_button(
Translator.translate("Clear saving path"),
- ShortcutUtils.fn("clear_file_path"), false, load("res://visual/icons/Clear.svg"),
+ ShortcutUtils.fn("clear_file_path"), false, load("res://assets/icons/Clear.svg"),
"clear_file_path"))
var context_popup := ContextPopup.new()
context_popup.setup(btn_array, true, file_button.size.x)
@@ -179,7 +179,7 @@ func _on_file_button_pressed() -> void:
func _on_size_button_pressed() -> void:
var btn_array: Array[Button] = [
ContextPopup.create_button(Translator.translate("Optimize"),
- ShortcutUtils.fn("optimize"), false, load("res://visual/icons/Compress.svg"),
+ ShortcutUtils.fn("optimize"), false, load("res://assets/icons/Compress.svg"),
"optimize")]
var context_popup := ContextPopup.new()
context_popup.setup(btn_array, true)
@@ -191,10 +191,10 @@ func _on_options_button_pressed() -> void:
var btn_array: Array[Button] = []
btn_array.append(ContextPopup.create_button(
Translator.translate("Copy all text"), ShortcutUtils.fn("copy_svg_text"),
- false, load("res://visual/icons/Copy.svg"), "copy_svg_text"))
+ false, load("res://assets/icons/Copy.svg"), "copy_svg_text"))
btn_array.append(ContextPopup.create_button(
Translator.translate("Clear SVG"), ShortcutUtils.fn("clear_svg"),
- SVG.text == SVG.DEFAULT, load("res://visual/icons/Clear.svg"), "clear_svg"))
+ SVG.text == SVG.DEFAULT, load("res://assets/icons/Clear.svg"), "clear_svg"))
var context_popup := ContextPopup.new()
context_popup.setup(btn_array, true)
HandlerGUI.popup_under_rect_center(context_popup, options_button.get_global_rect(),
diff --git a/src/ui_parts/code_editor.tscn b/src/ui_parts/code_editor.tscn
index d1df373..7b0ded5 100644
--- a/src/ui_parts/code_editor.tscn
+++ b/src/ui_parts/code_editor.tscn
@@ -1,11 +1,11 @@
[gd_scene load_steps=10 format=3 uid="uid://cr1fdlmbknnko"]
[ext_resource type="Script" path="res://src/ui_parts/code_editor.gd" id="1_nffk0"]
-[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://visual/fonts/FontBold.ttf" id="2_hl52o"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="2_p4nol"]
-[ext_resource type="Texture2D" uid="uid://6ymbl3jqersp" path="res://visual/icons/Import.svg" id="4_cuhac"]
-[ext_resource type="Texture2D" uid="uid://dthdjf4v2vlvg" path="res://visual/icons/CodeOptions.svg" id="4_sos04"]
-[ext_resource type="Texture2D" uid="uid://d0uvwj0t44n6v" path="res://visual/icons/Export.svg" id="5_pgurh"]
+[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="2_hl52o"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="2_p4nol"]
+[ext_resource type="Texture2D" uid="uid://6ymbl3jqersp" path="res://assets/icons/Import.svg" id="4_cuhac"]
+[ext_resource type="Texture2D" uid="uid://dthdjf4v2vlvg" path="res://assets/icons/CodeOptions.svg" id="4_sos04"]
+[ext_resource type="Texture2D" uid="uid://d0uvwj0t44n6v" path="res://assets/icons/Export.svg" id="5_pgurh"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterTextEdit.gd" id="8_ser4i"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_q56qh"]
diff --git a/src/ui_parts/confirm_dialog.tscn b/src/ui_parts/confirm_dialog.tscn
index 4e069de..d3f0a49 100644
--- a/src/ui_parts/confirm_dialog.tscn
+++ b/src/ui_parts/confirm_dialog.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://ywarfvqdho0"]
[ext_resource type="Script" path="res://src/ui_parts/confirm_dialog.gd" id="1_g3djf"]
-[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://visual/fonts/FontBold.ttf" id="2_drhgn"]
+[ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="2_drhgn"]
[node name="AlertDialog" type="PanelContainer"]
anchors_preset = 8
diff --git a/src/ui_parts/display.gd b/src/ui_parts/display.gd
index 9644b7a..a2d3fb4 100644
--- a/src/ui_parts/display.gd
+++ b/src/ui_parts/display.gd
@@ -103,7 +103,7 @@ func _on_reference_pressed() -> void:
var btn_arr: Array[Button] = [
ContextPopup.create_button(Translator.translate("Load reference image"),
FileUtils.open_image_import_dialog.bind(finish_reference_import), false,
- load("res://visual/icons/Reference.svg"), "load_reference"),
+ load("res://assets/icons/Reference.svg"), "load_reference"),
ContextPopup.create_checkbox(Translator.translate("Show reference"),
toggle_reference_image, reference_texture.visible, "view_show_reference"),
ContextPopup.create_checkbox(Translator.translate("Overlay reference"),
@@ -136,27 +136,27 @@ func _on_more_options_pressed() -> void:
var buttons_arr: Array[Button] = []
buttons_arr.append(ContextPopup.create_button(Translator.translate(
"Check for updates"), ShortcutUtils.fn("check_updates"), false,
- load("res://visual/icons/Reload.svg"), "check_updates"))
+ load("res://assets/icons/Reload.svg"), "check_updates"))
if can_show_savedata_folder:
buttons_arr.append(ContextPopup.create_button(Translator.translate(
"View savedata"), open_savedata_folder , false,
- load("res://visual/icons/OpenFolder.svg")))
+ load("res://assets/icons/OpenFolder.svg")))
var about_btn := ContextPopup.create_button(Translator.translate("About…"),
- ShortcutUtils.fn("about_info"), false, load("res://visual/icon.png"),
+ ShortcutUtils.fn("about_info"), false, load("res://assets/logos/icon.png"),
"about_info")
about_btn.expand_icon = true
buttons_arr.append(about_btn)
buttons_arr.append(ContextPopup.create_button(Translator.translate(
"Donate…"), ShortcutUtils.fn("about_donate"), false,
- load("res://visual/icons/Heart.svg"), "about_donate"))
+ load("res://assets/icons/Heart.svg"), "about_donate"))
buttons_arr.append(ContextPopup.create_button(Translator.translate(
"GodSVG repository"), ShortcutUtils.fn("about_repo"), false,
- load("res://visual/icons/Link.svg"), "about_repo"))
+ load("res://assets/icons/Link.svg"), "about_repo"))
buttons_arr.append(ContextPopup.create_button(Translator.translate(
"GodSVG website"), ShortcutUtils.fn("about_website"), false,
- load("res://visual/icons/Link.svg"), "about_website"))
+ load("res://assets/icons/Link.svg"), "about_website"))
var separator_indices := PackedInt32Array([1, 3])
if can_show_savedata_folder:
separator_indices = PackedInt32Array([2, 4])
@@ -192,9 +192,9 @@ func toggle_reference_overlay() -> void:
else:
viewport.move_child(reference_texture, 0)
-func finish_reference_import(data: Variant, path: String) -> void:
+func finish_reference_import(data: Variant, file_path: String) -> void:
var img := Image.new()
- match path.get_extension().to_lower():
+ match file_path.get_extension().to_lower():
"svg": img.load_svg_from_string(data)
"png": img.load_png_from_buffer(data)
"jpg", "jpeg": img.load_jpg_from_buffer(data)
diff --git a/src/ui_parts/display.tscn b/src/ui_parts/display.tscn
index b2a19bd..e56c001 100644
--- a/src/ui_parts/display.tscn
+++ b/src/ui_parts/display.tscn
@@ -1,17 +1,17 @@
[gd_scene load_steps=18 format=3 uid="uid://bvrncl7e6yn5b"]
[ext_resource type="Script" path="res://src/ui_parts/display.gd" id="1_oib5g"]
-[ext_resource type="Texture2D" uid="uid://ccbta5q43jobk" path="res://visual/icons/More.svg" id="2_3wliq"]
-[ext_resource type="Texture2D" uid="uid://ckkkgof1hcbld" path="res://visual/icons/Gear.svg" id="3_0w618"]
-[ext_resource type="Texture2D" uid="uid://iglrqrqyg4kn" path="res://visual/icons/Reference.svg" id="4_2hiq7"]
-[ext_resource type="Texture2D" uid="uid://kkxyv1gyrjgj" path="res://visual/icons/Visuals.svg" id="4_n3qjt"]
-[ext_resource type="Texture2D" uid="uid://buire51l0mifg" path="res://visual/icons/Snap.svg" id="5_1k2cq"]
+[ext_resource type="Texture2D" uid="uid://ccbta5q43jobk" path="res://assets/icons/More.svg" id="2_3wliq"]
+[ext_resource type="Texture2D" uid="uid://ckkkgof1hcbld" path="res://assets/icons/Gear.svg" id="3_0w618"]
+[ext_resource type="Texture2D" uid="uid://iglrqrqyg4kn" path="res://assets/icons/Reference.svg" id="4_2hiq7"]
+[ext_resource type="Texture2D" uid="uid://kkxyv1gyrjgj" path="res://assets/icons/Visuals.svg" id="4_n3qjt"]
+[ext_resource type="Texture2D" uid="uid://buire51l0mifg" path="res://assets/icons/Snap.svg" id="5_1k2cq"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterToggleButton.gd" id="6_3v3ve"]
[ext_resource type="PackedScene" uid="uid://dad7fkhmsooc6" path="res://src/ui_widgets/number_edit.tscn" id="7_wrrfr"]
[ext_resource type="PackedScene" uid="uid://oltvrf01xrxl" path="res://src/ui_parts/zoom_menu.tscn" id="8_xtdmn"]
[ext_resource type="Script" path="res://src/ui_parts/viewport.gd" id="9_4xrk7"]
[ext_resource type="Shader" path="res://src/shaders/zoom_shader.gdshader" id="10_x7ybk"]
-[ext_resource type="Texture2D" uid="uid://c68og6bsqt0lb" path="res://visual/icons/backgrounds/Checkerboard.svg" id="11_1bm1s"]
+[ext_resource type="Texture2D" uid="uid://c68og6bsqt0lb" path="res://assets/icons/backgrounds/Checkerboard.svg" id="11_1bm1s"]
[ext_resource type="Script" path="res://src/ui_parts/display_texture.gd" id="12_qi23s"]
[ext_resource type="Script" path="res://src/ui_parts/handles_manager.gd" id="13_lwhwy"]
[ext_resource type="Script" path="res://src/ui_parts/camera.gd" id="15_hevpa"]
diff --git a/src/ui_parts/donate_menu.tscn b/src/ui_parts/donate_menu.tscn
index 6b386ab..a932dad 100644
--- a/src/ui_parts/donate_menu.tscn
+++ b/src/ui_parts/donate_menu.tscn
@@ -1,9 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://dhydn476cr0pv"]
[ext_resource type="Script" path="res://src/ui_parts/donate_menu.gd" id="1_yjfkr"]
-[ext_resource type="Texture2D" uid="uid://ccc0q21h8owg1" path="res://visual/icons/foreign_logos/GithubLogo.svg" id="2_3gj3j"]
-[ext_resource type="Texture2D" uid="uid://dcn1rq4e0p2jt" path="res://visual/icons/foreign_logos/KoFiLogo.svg" id="3_5q1ti"]
-[ext_resource type="Texture2D" uid="uid://dq1muwo84c6yv" path="res://visual/icons/foreign_logos/PatreonLogo.svg" id="4_0irlu"]
+[ext_resource type="Texture2D" uid="uid://ccc0q21h8owg1" path="res://assets/icons/foreign_logos/GithubLogo.svg" id="2_3gj3j"]
+[ext_resource type="Texture2D" uid="uid://dcn1rq4e0p2jt" path="res://assets/icons/foreign_logos/KoFiLogo.svg" id="3_5q1ti"]
+[ext_resource type="Texture2D" uid="uid://dq1muwo84c6yv" path="res://assets/icons/foreign_logos/PatreonLogo.svg" id="4_0irlu"]
[node name="DonateMenu" type="PanelContainer"]
custom_minimum_size = Vector2(300, 240)
diff --git a/src/ui_parts/export_menu.tscn b/src/ui_parts/export_menu.tscn
index 693cb17..49b9fd0 100644
--- a/src/ui_parts/export_menu.tscn
+++ b/src/ui_parts/export_menu.tscn
@@ -3,8 +3,8 @@
[ext_resource type="Script" path="res://src/ui_parts/export_menu.gd" id="1_objnb"]
[ext_resource type="Script" path="res://src/ui_widgets/HTitledPanel.gd" id="2_07m68"]
[ext_resource type="PackedScene" uid="uid://xh26qa68xed4" path="res://src/ui_widgets/preview_rect.tscn" id="2_ewk0a"]
-[ext_resource type="Texture2D" uid="uid://v0lqyuvo50yq" path="res://visual/icons/Info.svg" id="2_rk3rd"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="5_s3e6m"]
+[ext_resource type="Texture2D" uid="uid://v0lqyuvo50yq" path="res://assets/icons/Info.svg" id="2_rk3rd"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="5_s3e6m"]
[ext_resource type="PackedScene" uid="uid://dbu1lvajypafb" path="res://src/ui_widgets/dropdown.tscn" id="5_y6ex0"]
[ext_resource type="PackedScene" uid="uid://dad7fkhmsooc6" path="res://src/ui_widgets/number_edit.tscn" id="6_w1sag"]
diff --git a/src/ui_parts/global_menu.gd b/src/ui_parts/global_menu.gd
index 443940f..2e1fe6d 100644
--- a/src/ui_parts/global_menu.gd
+++ b/src/ui_parts/global_menu.gd
@@ -98,12 +98,12 @@ func _clear_menu_items() -> void:
func _setup_menu_items() -> void:
# Included App and Help menus.
_add_action(appl_rid, "open_settings")
- _add_icon_item(help_rid, "open_settings", load("res://visual/icons/Gear.svg"))
- _add_icon_item(help_rid, "about_repo", load("res://visual/icons/Link.svg"))
- _add_icon_item(help_rid, "about_info", load("res://visual/icon.svg"))
- _add_icon_item(help_rid, "about_donate", load("res://visual/icons/Heart.svg"))
- _add_icon_item(help_rid, "about_website", load("res://visual/icons/Link.svg"))
- _add_icon_item(help_rid, "check_updates", load("res://visual/icons/Reload.svg"))
+ _add_icon_item(help_rid, "open_settings", load("res://assets/icons/Gear.svg"))
+ _add_icon_item(help_rid, "about_repo", load("res://assets/icons/Link.svg"))
+ _add_icon_item(help_rid, "about_info", load("res://assets/logos/icon.svg"))
+ _add_icon_item(help_rid, "about_donate", load("res://assets/icons/Heart.svg"))
+ _add_icon_item(help_rid, "about_website", load("res://assets/icons/Link.svg"))
+ _add_icon_item(help_rid, "check_updates", load("res://assets/icons/Reload.svg"))
# File menu.
_add_action(file_rid, "import")
_add_action(file_rid, "export")
diff --git a/src/ui_parts/good_file_dialog.gd b/src/ui_parts/good_file_dialog.gd
index 9d6283e..eb6e5fa 100644
--- a/src/ui_parts/good_file_dialog.gd
+++ b/src/ui_parts/good_file_dialog.gd
@@ -7,9 +7,9 @@ const AlertDialog = preload("res://src/ui_parts/alert_dialog.tscn")
signal file_selected(path: String)
-const folder_icon = preload("res://visual/icons/Folder.svg")
-const broken_file_icon = preload("res://visual/icons/FileBroken.svg")
-const text_file_icon = preload("res://visual/icons/TextFile.svg")
+const folder_icon = preload("res://assets/icons/Folder.svg")
+const broken_file_icon = preload("res://assets/icons/FileBroken.svg")
+const text_file_icon = preload("res://assets/icons/TextFile.svg")
const system_dirs_to_show = [OS.SYSTEM_DIR_DESKTOP, OS.SYSTEM_DIR_DOCUMENTS,
OS.SYSTEM_DIR_DOWNLOADS, OS.SYSTEM_DIR_MOVIES, OS.SYSTEM_DIR_MUSIC,
@@ -309,10 +309,10 @@ func open_dir_context(dir: String) -> void:
var context_popup := ContextPopup.new()
var btn_arr: Array[Button] = [
ContextPopup.create_button(Translator.translate("Open"),
- enter_dir.bind(dir), false, load("res://visual/icons/OpenFolder.svg"),
+ enter_dir.bind(dir), false, load("res://assets/icons/OpenFolder.svg"),
"ui_accept"),
ContextPopup.create_button(Translator.translate("Copy path"),
- copy_path, false, load("res://visual/icons/Copy.svg"))]
+ copy_path, false, load("res://assets/icons/Copy.svg"))]
context_popup.setup(btn_arr, true)
var vp := get_viewport()
HandlerGUI.popup_under_pos(context_popup, vp.get_mouse_position(), vp)
@@ -321,9 +321,9 @@ func open_file_context(file: String) -> void:
focus_file(file)
var btn_arr: Array[Button] = [
ContextPopup.create_button(special_button.text,
- select_file, false, load("res://visual/icons/OpenFile.svg"), "ui_accept"),
+ select_file, false, load("res://assets/icons/OpenFile.svg"), "ui_accept"),
ContextPopup.create_button(Translator.translate("Copy path"),
- copy_path, false, load("res://visual/icons/Copy.svg"))]
+ copy_path, false, load("res://assets/icons/Copy.svg"))]
var context_popup := ContextPopup.new()
context_popup.setup(btn_arr, true)
var vp := get_viewport()
@@ -341,7 +341,7 @@ func _on_file_list_empty_clicked(_at_position: Vector2, mouse_button_index: int)
var context_popup := ContextPopup.new()
var btn_arr: Array[Button] = [
ContextPopup.create_button(Translator.translate("Create new folder"),
- create_folder, false, load("res://visual/icons/CreateFolder.svg"))]
+ create_folder, false, load("res://assets/icons/CreateFolder.svg"))]
context_popup.setup(btn_arr, true)
var vp := get_viewport()
HandlerGUI.popup_under_pos(context_popup, vp.get_mouse_position(), vp)
@@ -427,17 +427,17 @@ var system_dir_paths := {}
func get_drive_icon(path: String) -> Texture2D:
if path == system_dir_paths[OS.SYSTEM_DIR_DESKTOP]:
- return load("res://visual/icons/DirDesktop.svg")
+ return load("res://assets/icons/DirDesktop.svg")
elif path == system_dir_paths[OS.SYSTEM_DIR_DOCUMENTS]:
- return load("res://visual/icons/DirDocuments.svg")
+ return load("res://assets/icons/DirDocuments.svg")
elif path == system_dir_paths[OS.SYSTEM_DIR_DOWNLOADS]:
- return load("res://visual/icons/DirDownloads.svg")
+ return load("res://assets/icons/DirDownloads.svg")
elif path == system_dir_paths[OS.SYSTEM_DIR_MOVIES]:
- return load("res://visual/icons/DirMovies.svg")
+ return load("res://assets/icons/DirMovies.svg")
elif path == system_dir_paths[OS.SYSTEM_DIR_MUSIC]:
- return load("res://visual/icons/DirMusic.svg")
+ return load("res://assets/icons/DirMusic.svg")
elif path == system_dir_paths[OS.SYSTEM_DIR_PICTURES]:
- return load("res://visual/icons/DirPictures.svg")
+ return load("res://assets/icons/DirPictures.svg")
else:
return folder_icon
diff --git a/src/ui_parts/good_file_dialog.tscn b/src/ui_parts/good_file_dialog.tscn
index 9052d74..cc72361 100644
--- a/src/ui_parts/good_file_dialog.tscn
+++ b/src/ui_parts/good_file_dialog.tscn
@@ -2,11 +2,11 @@
[ext_resource type="Script" path="res://src/ui_parts/good_file_dialog.gd" id="1_awdto"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="2_52puw"]
-[ext_resource type="Texture2D" uid="uid://rrhdja8l17cn" path="res://visual/icons/FolderUp.svg" id="2_i2mtk"]
-[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://visual/icons/Reload.svg" id="4_udwbh"]
-[ext_resource type="Texture2D" uid="uid://kkxyv1gyrjgj" path="res://visual/icons/Visuals.svg" id="5_2ggtv"]
-[ext_resource type="Texture2D" uid="uid://d4c7haflm8evm" path="res://visual/icons/Search.svg" id="6_otods"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="7_eeq17"]
+[ext_resource type="Texture2D" uid="uid://rrhdja8l17cn" path="res://assets/icons/FolderUp.svg" id="2_i2mtk"]
+[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://assets/icons/Reload.svg" id="4_udwbh"]
+[ext_resource type="Texture2D" uid="uid://kkxyv1gyrjgj" path="res://assets/icons/Visuals.svg" id="5_2ggtv"]
+[ext_resource type="Texture2D" uid="uid://d4c7haflm8evm" path="res://assets/icons/Search.svg" id="6_otods"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="7_eeq17"]
[node name="GoodFileDialog" type="PanelContainer"]
offset_right = 684.0
diff --git a/src/ui_parts/import_warning_menu.tscn b/src/ui_parts/import_warning_menu.tscn
index 467d097..e4e6cee 100644
--- a/src/ui_parts/import_warning_menu.tscn
+++ b/src/ui_parts/import_warning_menu.tscn
@@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://src/ui_parts/import_warning_menu.gd" id="1_1rv5w"]
[ext_resource type="PackedScene" uid="uid://xh26qa68xed4" path="res://src/ui_widgets/preview_rect.tscn" id="2_j1v8v"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="4_rpfrk"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="4_rpfrk"]
[node name="ImportWarningPanel" type="PanelContainer"]
anchors_preset = 8
diff --git a/src/ui_parts/inspector.tscn b/src/ui_parts/inspector.tscn
index e4973f1..9663f46 100644
--- a/src/ui_parts/inspector.tscn
+++ b/src/ui_parts/inspector.tscn
@@ -3,7 +3,7 @@
[ext_resource type="Script" path="res://src/ui_parts/inspector.gd" id="1_16ggy"]
[ext_resource type="PackedScene" uid="uid://bktmk76u7dsu0" path="res://src/ui_parts/root_element_editor.tscn" id="2_jnl50"]
[ext_resource type="Script" path="res://src/ui_parts/element_container.gd" id="3_qeptj"]
-[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://visual/icons/Plus.svg" id="3_vo6hf"]
+[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="3_vo6hf"]
[ext_resource type="Script" path="res://src/ui_parts/move_to_overlay.gd" id="5_otlmf"]
[node name="Inspector" type="Container"]
diff --git a/src/ui_parts/main_scene.tscn b/src/ui_parts/main_scene.tscn
index a8ee3d8..50f4613 100644
--- a/src/ui_parts/main_scene.tscn
+++ b/src/ui_parts/main_scene.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=6 format=3 uid="uid://ce6j54x27pom"]
[ext_resource type="PackedScene" uid="uid://cr1fdlmbknnko" path="res://src/ui_parts/code_editor.tscn" id="1_0jgh3"]
-[ext_resource type="Texture2D" uid="uid://co75w07yqmcro" path="res://visual/icons/theme/SplitGrabber2.svg" id="1_7y812"]
+[ext_resource type="Texture2D" uid="uid://co75w07yqmcro" path="res://assets/icons/theme/SplitGrabber2.svg" id="1_7y812"]
[ext_resource type="PackedScene" uid="uid://ccynisiuyn5qn" path="res://src/ui_parts/inspector.tscn" id="1_afxvd"]
[ext_resource type="Script" path="res://src/ui_parts/main_scene.gd" id="1_c0fkj"]
[ext_resource type="PackedScene" uid="uid://bvrncl7e6yn5b" path="res://src/ui_parts/display.tscn" id="3_qbqbs"]
diff --git a/src/ui_parts/root_element_editor.gd b/src/ui_parts/root_element_editor.gd
index c8044a6..b00faf9 100644
--- a/src/ui_parts/root_element_editor.gd
+++ b/src/ui_parts/root_element_editor.gd
@@ -41,7 +41,7 @@ func _ready() -> void:
func _on_any_attribute_changed(xid: PackedInt32Array) -> void:
if xid.is_empty():
- update_attributes()
+ update_editable()
func update_attributes() -> void:
@@ -69,17 +69,17 @@ func update_attributes() -> void:
unknown_container.get_child(0).add_child(input_field)
if not has_unrecognized_attributes and is_instance_valid(unknown_container):
unknown_container.queue_free()
-
+ update_editable()
+
+
+func update_editable() -> void:
width_edit.set_value(SVG.root_element.width, false)
height_edit.set_value(SVG.root_element.height, false)
viewbox_edit_x.set_value(SVG.root_element.viewbox.position.x, false)
viewbox_edit_y.set_value(SVG.root_element.viewbox.position.y, false)
viewbox_edit_w.set_value(SVG.root_element.viewbox.size.x, false)
viewbox_edit_h.set_value(SVG.root_element.viewbox.size.y, false)
- update_editable()
-
-
-func update_editable() -> void:
+
var is_width_valid := SVG.root_element.has_attribute("width")
var is_height_valid := SVG.root_element.has_attribute("height")
var is_viewbox_valid: bool = SVG.root_element.has_attribute("viewBox") and\
diff --git a/src/ui_parts/root_element_editor.tscn b/src/ui_parts/root_element_editor.tscn
index 616893a..381c1fd 100644
--- a/src/ui_parts/root_element_editor.tscn
+++ b/src/ui_parts/root_element_editor.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://bktmk76u7dsu0"]
[ext_resource type="Script" path="res://src/ui_parts/root_element_editor.gd" id="1_xgyg0"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="2_fm5sa"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="2_fm5sa"]
[ext_resource type="PackedScene" uid="uid://dad7fkhmsooc6" path="res://src/ui_widgets/number_edit.tscn" id="3_1gu7n"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterToggleButton.gd" id="4_7r848"]
diff --git a/src/ui_parts/settings_menu.gd b/src/ui_parts/settings_menu.gd
index f2d20e6..c5d911f 100644
--- a/src/ui_parts/settings_menu.gd
+++ b/src/ui_parts/settings_menu.gd
@@ -6,9 +6,9 @@ const ShortcutShowcaseWidget = preload("res://src/ui_widgets/presented_shortcut.
const SettingFrame = preload("res://src/ui_widgets/setting_frame.tscn")
const ProfileFrame = preload("res://src/ui_widgets/profile_frame.tscn")
-const plus_icon = preload("res://visual/icons/Plus.svg")
-const import_icon = preload("res://visual/icons/Import.svg")
-const reset_icon = preload("res://visual/icons/Reload.svg")
+const plus_icon = preload("res://assets/icons/Plus.svg")
+const import_icon = preload("res://assets/icons/Import.svg")
+const reset_icon = preload("res://assets/icons/Reload.svg")
@onready var lang_button: Button = $VBoxContainer/Language
@onready var content_container: ScrollContainer = %ContentContainer
@@ -310,17 +310,25 @@ func hide_advice(setting: String) -> void:
func _on_language_pressed() -> void:
+ var strings_count := TranslationServer.get_translation_object("en").get_message_count()
+
var btn_arr: Array[Button] = []
for lang in TranslationServer.get_loaded_locales():
# Translation percentages.
+ # TODO Godot drove me insane here. So Translation.get_translated_message() gets
+ # all the translations, even the fuzzied ones that aren't used... whuh?
+ # So I tried to use Translation.get_message_list(), and it gets the messages
+ # for all the translations... except the fuzzied ones for some reason? WHAT?!
+ # We solve this by finding the number of fuzzied strings by subtracting the
+ # message count of English messages by the message count of the locale.
if lang != "en":
var translation_obj := TranslationServer.get_translation_object(lang)
- var translated_count := 0
- for msg in translation_obj.get_translated_message_list():
+ var fuzzied_count := strings_count - translation_obj.get_message_count()
+ var translated_count := -fuzzied_count
+ for msg in translation_obj.get_message_list():
if not msg.is_empty():
translated_count += 1
- var percentage := String.num(translated_count * 100.0 /\
- translation_obj.get_message_count(), 1) + "%"
+ var percentage := String.num(translated_count * 100.0 / strings_count, 1) + "%"
var is_current_locale := lang == TranslationServer.get_locale()
var new_btn := ContextPopup.create_button(
@@ -391,10 +399,10 @@ func update_language_button() -> void:
func _popup_xml_palette_options(palette_xml_button: Button) -> void:
var btn_arr: Array[Button] = []
btn_arr.append(ContextPopup.create_button(Translator.translate("Import XML"),
- add_imported_palette, false, load("res://visual/icons/Import.svg")))
+ add_imported_palette, false, load("res://assets/icons/Import.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Paste XML"),
add_pasted_palette, !ColorPalette.is_valid_palette(Utils.get_clipboard_web_safe()),
- load("res://visual/icons/Paste.svg")))
+ load("res://assets/icons/Paste.svg")))
var context_popup := ContextPopup.new()
context_popup.setup(btn_arr, true)
@@ -411,7 +419,7 @@ func add_pasted_palette() -> void:
func add_imported_palette() -> void:
FileUtils.open_xml_import_dialog(_on_import_palette_finished)
-func _on_import_palette_finished(file_text: String, _file_name: String) -> void:
+func _on_import_palette_finished(file_text: String) -> void:
_shared_add_palettes_logic(ColorPalette.text_to_palettes(file_text))
func _shared_add_palettes_logic(palettes: Array[ColorPalette]) -> void:
diff --git a/src/ui_parts/settings_menu.tscn b/src/ui_parts/settings_menu.tscn
index 3972be0..387c35c 100644
--- a/src/ui_parts/settings_menu.tscn
+++ b/src/ui_parts/settings_menu.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://1rylg17uwltw"]
[ext_resource type="Script" path="res://src/ui_parts/settings_menu.gd" id="1_1gf4m"]
-[ext_resource type="Texture2D" uid="uid://c528knojuxbw6" path="res://visual/icons/Languages.svg" id="2_ndyp7"]
+[ext_resource type="Texture2D" uid="uid://c528knojuxbw6" path="res://assets/icons/Languages.svg" id="2_ndyp7"]
[node name="SettingsMenu" type="PanelContainer"]
custom_minimum_size = Vector2(640, 400)
diff --git a/src/ui_parts/shortcut_panel.gd b/src/ui_parts/shortcut_panel.gd
index 9b4589b..aba0b49 100644
--- a/src/ui_parts/shortcut_panel.gd
+++ b/src/ui_parts/shortcut_panel.gd
@@ -4,8 +4,8 @@ enum Layout {HORIZONTAL_STRIP, HORIZONTAL_TWO_ROWS, VERTICAL_STRIP}
const ShortcutPanelConfig = preload("res://src/ui_parts/shortcut_panel_config.tscn")
-const dot_pattern = preload("res://visual/icons/DotPatternSegment.svg")
-const config_icon = preload("res://visual/icons/Config.svg")
+const dot_pattern = preload("res://assets/icons/DotPatternSegment.svg")
+const config_icon = preload("res://assets/icons/Config.svg")
# Where on the dotted pattern the dragging started.
var drag_offset := Vector2.ZERO
diff --git a/src/ui_parts/shortcut_panel_config.gd b/src/ui_parts/shortcut_panel_config.gd
index 3be7b51..0f27109 100644
--- a/src/ui_parts/shortcut_panel_config.gd
+++ b/src/ui_parts/shortcut_panel_config.gd
@@ -1,6 +1,6 @@
extends PanelContainer
-const clear_icon = preload("res://visual/icons/Clear.svg")
+const clear_icon = preload("res://assets/icons/Clear.svg")
const Dropdown = preload("res://src/ui_widgets/dropdown.tscn")
const DropdownType = preload("res://src/ui_widgets/dropdown.gd")
diff --git a/src/ui_parts/zoom_menu.tscn b/src/ui_parts/zoom_menu.tscn
index eecc1bb..a075005 100644
--- a/src/ui_parts/zoom_menu.tscn
+++ b/src/ui_parts/zoom_menu.tscn
@@ -1,8 +1,8 @@
[gd_scene load_steps=10 format=3 uid="uid://oltvrf01xrxl"]
-[ext_resource type="Texture2D" uid="uid://c2h5snkvemm4p" path="res://visual/icons/Minus.svg" id="1_8ggy2"]
+[ext_resource type="Texture2D" uid="uid://c2h5snkvemm4p" path="res://assets/icons/Minus.svg" id="1_8ggy2"]
[ext_resource type="Script" path="res://src/ui_parts/zoom_menu.gd" id="1_18ab8"]
-[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://visual/icons/Plus.svg" id="2_284x5"]
+[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="2_284x5"]
[sub_resource type="InputEventAction" id="InputEventAction_mnex0"]
action = &"zoom_out"
diff --git a/src/ui_widgets/BetterLineEdit.gd b/src/ui_widgets/BetterLineEdit.gd
index 82d1c8e..c46811e 100644
--- a/src/ui_widgets/BetterLineEdit.gd
+++ b/src/ui_widgets/BetterLineEdit.gd
@@ -108,25 +108,25 @@ func _gui_input(event: InputEvent) -> void:
if editable:
btn_arr.append(ContextPopup.create_button(Translator.translate("Undo"),
menu_option.bind(LineEdit.MENU_UNDO), false,
- load("res://visual/icons/Undo.svg"), "ui_undo"))
+ load("res://assets/icons/Undo.svg"), "ui_undo"))
btn_arr.append(ContextPopup.create_button(Translator.translate("Redo"),
menu_option.bind(LineEdit.MENU_REDO), false,
- load("res://visual/icons/Redo.svg"), "ui_redo"))
+ load("res://assets/icons/Redo.svg"), "ui_redo"))
if DisplayServer.has_feature(DisplayServer.FEATURE_CLIPBOARD):
separator_arr = [2]
btn_arr.append(ContextPopup.create_button(Translator.translate("Cut"),
menu_option.bind(LineEdit.MENU_CUT), text.is_empty(),
- load("res://visual/icons/Cut.svg"), "ui_cut"))
+ load("res://assets/icons/Cut.svg"), "ui_cut"))
btn_arr.append(ContextPopup.create_button(Translator.translate("Copy"),
menu_option.bind(LineEdit.MENU_COPY), text.is_empty(),
- load("res://visual/icons/Copy.svg"), "ui_copy"))
+ load("res://assets/icons/Copy.svg"), "ui_copy"))
btn_arr.append(ContextPopup.create_button(Translator.translate("Paste"),
menu_option.bind(LineEdit.MENU_PASTE), !Utils.has_clipboard_web_safe(),
- load("res://visual/icons/Paste.svg"), "ui_paste"))
+ load("res://assets/icons/Paste.svg"), "ui_paste"))
else:
btn_arr.append(ContextPopup.create_button( Translator.translate("Copy"),
menu_option.bind(LineEdit.MENU_COPY), text.is_empty(),
- load("res://visual/icons/Copy.svg"), "ui_copy"))
+ load("res://assets/icons/Copy.svg"), "ui_copy"))
var vp := get_viewport()
var context_popup := ContextPopup.new()
diff --git a/src/ui_widgets/BetterTextEdit.gd b/src/ui_widgets/BetterTextEdit.gd
index 0ea57d4..fbd4854 100644
--- a/src/ui_widgets/BetterTextEdit.gd
+++ b/src/ui_widgets/BetterTextEdit.gd
@@ -133,26 +133,26 @@ func _gui_input(event: InputEvent) -> void:
if editable:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Undo"), undo,
- !has_undo(), load("res://visual/icons/Undo.svg"), "ui_undo"))
+ !has_undo(), load("res://assets/icons/Undo.svg"), "ui_undo"))
btn_arr.append(ContextPopup.create_button(
Translator.translate("Redo"), redo,
- !has_redo(), load("res://visual/icons/Redo.svg"), "ui_redo"))
+ !has_redo(), load("res://assets/icons/Redo.svg"), "ui_redo"))
if DisplayServer.has_feature(DisplayServer.FEATURE_CLIPBOARD):
separator_arr = PackedInt32Array([2])
btn_arr.append(ContextPopup.create_button(
Translator.translate("Cut"), cut,
- text.is_empty(), load("res://visual/icons/Cut.svg"), "ui_cut"))
+ text.is_empty(), load("res://assets/icons/Cut.svg"), "ui_cut"))
btn_arr.append(ContextPopup.create_button(
Translator.translate("Copy"), copy,
- text.is_empty(), load("res://visual/icons/Copy.svg"), "ui_copy"))
+ text.is_empty(), load("res://assets/icons/Copy.svg"), "ui_copy"))
btn_arr.append(ContextPopup.create_button(
Translator.translate("Paste"), paste,
!Utils.has_clipboard_web_safe(),
- load("res://visual/icons/Paste.svg"), "ui_paste"))
+ load("res://assets/icons/Paste.svg"), "ui_paste"))
else:
btn_arr.append(ContextPopup.create_button(
Translator.translate("Copy"), copy,
- text.is_empty(), load("res://visual/icons/Copy.svg"), "ui_copy"))
+ text.is_empty(), load("res://assets/icons/Copy.svg"), "ui_copy"))
var context_popup := ContextPopup.new()
context_popup.setup(btn_arr, true, -1, -1, separator_arr)
diff --git a/src/ui_widgets/color_edit.gd b/src/ui_widgets/color_edit.gd
index 715a615..e0ab11e 100644
--- a/src/ui_widgets/color_edit.gd
+++ b/src/ui_widgets/color_edit.gd
@@ -3,7 +3,7 @@ extends LineEditButton
const ColorPopup = preload("res://src/ui_widgets/color_popup.tscn")
const ColorPickerPopup = preload("res://src/ui_widgets/color_picker_popup.tscn")
-const checkerboard = preload("res://visual/icons/backgrounds/ColorButtonBG.svg")
+const checkerboard = preload("res://assets/icons/backgrounds/ColorButtonBG.svg")
@onready var color_picker: Control
@@ -14,7 +14,7 @@ signal value_changed(new_value: String)
var value: String:
set(new_value):
new_value = ColorParser.add_hash_if_hex(new_value)
- if ColorParser.is_valid(new_value, enable_alpha, false):
+ if ColorParser.is_valid(new_value, enable_alpha):
if new_value != value:
value = new_value
value_changed.emit(value)
@@ -31,9 +31,6 @@ func _ready() -> void:
custom_minimum_size.x += 14.0
sync(value)
-func is_color_valid_non_url(new_value: String) -> bool:
- new_value = ColorParser.add_hash_if_hex(new_value)
- return ColorParser.is_valid(new_value, enable_alpha, false)
func sync(new_value: String) -> void:
text = new_value.trim_prefix("#")
@@ -43,7 +40,6 @@ func sync(new_value: String) -> void:
func _on_pressed() -> void:
color_picker = ColorPopup.instantiate() if enable_palettes\
else ColorPickerPopup.instantiate()
- color_picker.show_disable_color = false
if enable_alpha:
color_picker.enable_alpha = true
color_picker.current_value = ColorParser.add_hash_if_hex(value)
@@ -51,7 +47,8 @@ func _on_pressed() -> void:
color_picker.color_picked.connect(_on_color_picked)
func _on_text_changed(new_text: String) -> void:
- font_color = Configs.savedata.get_validity_color(!is_color_valid_non_url(new_text))
+ font_color = Configs.savedata.get_validity_color(
+ ColorParser.is_valid(ColorParser.add_hash_if_hex(new_text), enable_alpha))
func _draw() -> void:
super()
diff --git a/src/ui_widgets/color_field.gd b/src/ui_widgets/color_field.gd
index 8c8d3c5..8e98b5e 100644
--- a/src/ui_widgets/color_field.gd
+++ b/src/ui_widgets/color_field.gd
@@ -6,11 +6,15 @@ var attribute_name: String: # May propagate.
set(new_value):
attribute_name = new_value
cached_allow_url = attribute_name in DB.attribute_color_url_allowed
+ cached_allow_none = attribute_name in DB.attribute_color_none_allowed
+ cached_allow_current_color = attribute_name in DB.attribute_color_current_color_allowed
var cached_allow_url: bool
+var cached_allow_none: bool
+var cached_allow_current_color: bool
const ColorPopup = preload("res://src/ui_widgets/color_popup.tscn")
-const checkerboard = preload("res://visual/icons/backgrounds/ColorButtonBG.svg")
+const checkerboard = preload("res://assets/icons/backgrounds/ColorButtonBG.svg")
@onready var color_popup: Control
@@ -44,10 +48,9 @@ func _ready() -> void:
text_change_canceled.connect(sync_to_attribute)
pressed.connect(_on_pressed)
button_gui_input.connect(_on_button_gui_input)
- # If URL is allowed, we need to always check if the gradient has changed.
- if cached_allow_url:
- element.root.any_attribute_changed.connect(_on_svg_changed.unbind(1))
- element.root.xnode_layout_changed.connect(_on_svg_changed)
+ # URLs and currentColor require to always listen for changes to the SVG.
+ element.root.any_attribute_changed.connect(_on_svg_changed.unbind(1))
+ element.root.xnode_layout_changed.connect(_on_svg_changed)
tooltip_text = attribute_name
setup_placeholder()
@@ -66,16 +69,38 @@ func sync_to_attribute() -> void:
# Redraw in case the gradient might have changed.
func _on_svg_changed() -> void:
- if ColorParser.is_valid_url(element.get_attribute_value(attribute_name, false)):
+ if cached_allow_url and\
+ ColorParser.is_valid_url(element.get_attribute_value(attribute_name, false)):
update_gradient_texture()
queue_redraw()
+ elif element.get_attribute_value(attribute_name, true) == "currentColor":
+ queue_redraw()
func _on_pressed() -> void:
color_popup = ColorPopup.instantiate()
color_popup.current_value = element.get_attribute_value(attribute_name, true)
color_popup.effective_color = ColorParser.text_to_color(
- element.get_attribute_value(attribute_name, false))
+ element.get_attribute_true_color(attribute_name))
color_popup.show_url = cached_allow_url
+ # If it's a color attribute, or there's no color attribute children of this element,
+ # mark the current color keyword as uninteresting (won't be shown in palettes).
+ if not cached_allow_current_color:
+ color_popup.current_color_availability =\
+ color_popup.CurrentColorAvailability.UNAVAILABLE
+ else:
+ var has_color_attribute_parent := false
+ for element_depth in range(0, element.xid.size()):
+ var checked_xid := element.xid.duplicate()
+ checked_xid.resize(element_depth)
+ if SVG.root_element.get_xnode(checked_xid).has_attribute("color"):
+ has_color_attribute_parent = true
+ break
+ color_popup.current_color_availability =\
+ color_popup.CurrentColorAvailability.INTERESTING if\
+ has_color_attribute_parent else\
+ color_popup.CurrentColorAvailability.UNINTERESTING
+ color_popup.current_color = element.get_default("color")
+ color_popup.is_none_keyword_available = cached_allow_none
color_popup.color_picked.connect(_on_color_picked)
HandlerGUI.popup_under_rect(color_popup, get_global_rect(), get_viewport())
@@ -116,7 +141,8 @@ func _draw() -> void:
var stylebox := StyleBoxFlat.new()
stylebox.corner_radius_top_right = r
stylebox.corner_radius_bottom_right = r
- stylebox.bg_color = ColorParser.text_to_color(color_value, Color.TRANSPARENT)
+ stylebox.bg_color = ColorParser.text_to_color(
+ element.get_attribute_true_color(attribute_name), Color.TRANSPARENT)
stylebox.draw(ci, Rect2(h_offset, 1, BUTTON_WIDTH - 1, size.y - 2))
# Draw the button border.
if is_instance_valid(temp_button) and temp_button.button_pressed:
@@ -134,7 +160,8 @@ func _on_color_picked(new_color: String, close_picker: bool) -> void:
color_popup.queue_free()
func is_valid(color_text: String) -> bool:
- return ColorParser.is_valid(ColorParser.add_hash_if_hex(color_text), cached_allow_url)
+ return ColorParser.is_valid(ColorParser.add_hash_if_hex(color_text), false,
+ cached_allow_url, cached_allow_none, cached_allow_current_color)
func _on_text_changed(new_text: String) -> void:
diff --git a/src/ui_widgets/color_picker_popup.gd b/src/ui_widgets/color_picker_popup.gd
index 0e45605..8101952 100644
--- a/src/ui_widgets/color_picker_popup.gd
+++ b/src/ui_widgets/color_picker_popup.gd
@@ -6,14 +6,16 @@ const GoodColorPicker = preload("res://src/ui_widgets/good_color_picker.tscn")
signal color_picked(new_color: String, final: bool)
var enable_alpha := false
-var show_disable_color := false
+var is_none_keyword_available := false
+var is_current_color_keyword_available := false
var current_value: String
var effective_color: Color
func _ready() -> void:
var color_picker := GoodColorPicker.instantiate()
color_picker.alpha_enabled = enable_alpha
- color_picker.show_disable_color = show_disable_color
+ color_picker.is_none_keyword_available = is_none_keyword_available
+ color_picker.is_current_color_keyword_available = is_current_color_keyword_available
margin_container.add_child(color_picker)
await get_tree().process_frame
color_picker.setup_color(current_value, effective_color)
diff --git a/src/ui_widgets/color_popup.gd b/src/ui_widgets/color_popup.gd
index 9e9a416..6873eba 100644
--- a/src/ui_widgets/color_popup.gd
+++ b/src/ui_widgets/color_popup.gd
@@ -1,16 +1,35 @@
# A popup for picking a color.
extends PanelContainer
+# Useful here, because it avoids the ColorPalette validation.
+class MockPalette extends RefCounted:
+ var title: String
+ var colors: PackedStringArray
+ var color_names: PackedStringArray
+
+ func _init(new_title: String, new_colors: PackedStringArray,
+ new_color_names: PackedStringArray):
+ title = new_title
+ colors = new_colors
+ color_names = new_color_names
+
+# If the currentColor keyword is available, but uninteresting, don't show it.
+enum CurrentColorAvailability {UNAVAILABLE, UNINTERESTING, INTERESTING}
+
const GoodColorPickerType = preload("res://src/ui_widgets/good_color_picker.gd")
const ColorSwatchType = preload("res://src/ui_widgets/color_swatch.gd")
const ColorSwatch = preload("res://src/ui_widgets/color_swatch.tscn")
signal color_picked(new_color: String, final: bool)
+var is_none_keyword_available := false
var current_value: String
var effective_color: Color
var show_url: bool
+var current_color_availability := CurrentColorAvailability.UNAVAILABLE
+var current_color := Color.BLACK
+
var palette_mode := true
var _palettes_pending_update := false # Palettes will update when visible.
@@ -25,6 +44,10 @@ var _palettes_pending_update := false # Palettes will update when visible.
var swatches_list: Array[ColorSwatchType] = [] # Updated manually.
func _ready() -> void:
+ color_picker.is_none_keyword_available = is_none_keyword_available
+ color_picker.is_current_color_keyword_available =\
+ (current_color_availability != CurrentColorAvailability.UNAVAILABLE)
+ color_picker.update_keyword_button()
# Setup the switch mode button.
switch_mode_button.pressed.connect(_on_switch_mode_button_pressed)
_palettes_pending_update = true
@@ -49,8 +72,14 @@ func update_palettes(search_text := "") -> void:
for child in palettes_content_container.get_children():
child.queue_free()
search_field.placeholder_text = Translator.translate("Search color")
- var reserved_colors := PackedStringArray(["none"])
- var reserved_color_names := PackedStringArray(["No color"])
+ var reserved_colors := PackedStringArray()
+ var reserved_color_names := PackedStringArray()
+ if is_none_keyword_available:
+ reserved_colors.append("none")
+ reserved_color_names.append("No color")
+ if current_color_availability == CurrentColorAvailability.INTERESTING:
+ reserved_colors.append("currentColor")
+ reserved_color_names.append("Current color")
if show_url:
for element in SVG.root_element.get_all_element_descendants():
if element.has_attribute("id"):
@@ -60,19 +89,19 @@ func update_palettes(search_text := "") -> void:
elif element is ElementRadialGradient:
reserved_color_names.append("Radial gradient")
reserved_colors.append("url(#%s)" % element.get_attribute_value("id"))
- var reserved_palette := ColorPalette.new()
- reserved_palette.setup(reserved_colors, reserved_color_names)
- var displayed_palettes: Array[ColorPalette] = [reserved_palette]
+ var reserved_palette := MockPalette.new("", reserved_colors, reserved_color_names)
+ var displayed_palettes: Array[MockPalette] = [reserved_palette]
for palette in Configs.savedata.get_palettes():
if Configs.savedata.is_palette_valid(palette):
- displayed_palettes.append(palette)
+ displayed_palettes.append(MockPalette.new(palette.title, palette.get_colors(),
+ palette.get_color_names()))
for palette in displayed_palettes:
var indices_to_show := PackedInt32Array()
- for i in palette.get_color_count():
+ for i in palette.colors.size():
if search_text.is_empty() or\
- search_text.is_subsequence_ofn(palette.get_color_name(i)):
+ search_text.is_subsequence_ofn(palette.color_names[i]):
indices_to_show.append(i)
if indices_to_show.is_empty():
@@ -91,9 +120,10 @@ func update_palettes(search_text := "") -> void:
swatch_container.add_theme_constant_override("h_separation", 3)
for i in indices_to_show:
var swatch := ColorSwatch.instantiate()
- var color_to_show := palette.get_color(i)
- swatch.palette = palette
- swatch.idx = i
+ var color_to_show := palette.colors[i]
+ swatch.color = color_to_show
+ swatch.color_name = palette.color_names[i]
+ swatch.current_color = current_color
swatch.pressed.connect(pick_palette_color.bind(color_to_show))
swatch_container.add_child(swatch)
swatches_list.append(swatch)
diff --git a/src/ui_widgets/color_popup.tscn b/src/ui_widgets/color_popup.tscn
index c20c38e..aca2272 100644
--- a/src/ui_widgets/color_popup.tscn
+++ b/src/ui_widgets/color_popup.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://f5cljfdpe85v"]
[ext_resource type="Script" path="res://src/ui_widgets/color_popup.gd" id="1_t1mgf"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_5tod5"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_5tod5"]
[ext_resource type="PackedScene" uid="uid://b1eig44cov474" path="res://src/ui_widgets/good_color_picker.tscn" id="2_jv3ea"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="2_lkukd"]
diff --git a/src/ui_widgets/color_swatch.gd b/src/ui_widgets/color_swatch.gd
index c9ca09e..d2a4eaf 100644
--- a/src/ui_widgets/color_swatch.gd
+++ b/src/ui_widgets/color_swatch.gd
@@ -2,18 +2,19 @@ extends Button
const bounds = Vector2(2, 2)
-const checkerboard = preload("res://visual/icons/backgrounds/Checkerboard.svg")
+const checkerboard = preload("res://assets/icons/backgrounds/Checkerboard.svg")
-var palette: ColorPalette
-var idx := -1 # Index inside the palette.
+var color: String
+var color_name: String
var ci := get_canvas_item()
var gradient_texture: GradientTexture2D
+var current_color := Color.BLACK
+
func _ready() -> void:
tooltip_text = "lmofa" # TODO: _make_custom_tooltip() requires some text to work.
# TODO remove this when #25296 is fixed.
- var color := palette.get_color(idx)
if ColorParser.is_valid_url(color):
var id := color.substr(5, color.length() - 6)
var gradient_element := SVG.root_element.get_element_by_id(id)
@@ -21,7 +22,6 @@ func _ready() -> void:
gradient_texture = gradient_element.generate_texture()
func _draw() -> void:
- var color := palette.get_color(idx)
var inside_rect := Rect2(bounds, size - bounds * 2)
if ColorParser.is_valid_url(color):
checkerboard.draw_rect(ci, inside_rect, false)
@@ -31,6 +31,9 @@ func _draw() -> void:
gradient_texture.draw_rect(ci, inside_rect, false)
else:
var parsed_color := ColorParser.text_to_color(color)
+ if color == "currentColor":
+ parsed_color = current_color
+
if parsed_color.a != 1 or color == "none":
checkerboard.draw_rect(ci, inside_rect, false)
if color != "none" and parsed_color.a != 0:
@@ -43,10 +46,9 @@ func _make_custom_tooltip(_for_text: String) -> Object:
rtl.bbcode_enabled = true
rtl.add_theme_font_override("mono_font", ThemeUtils.mono_font)
# Set up the text.
- var color_name := palette.get_color_name(idx)
if not color_name.is_empty():
rtl.add_text(color_name)
rtl.newline()
rtl.push_mono()
- rtl.add_text(palette.get_color(idx))
+ rtl.add_text(color)
return rtl
diff --git a/src/ui_widgets/color_swatch.tscn b/src/ui_widgets/color_swatch.tscn
index 27665c6..c10d6df 100644
--- a/src/ui_widgets/color_swatch.tscn
+++ b/src/ui_widgets/color_swatch.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=2 format=3 uid="uid://cpvtf3kaa2ltr"]
+[gd_scene load_steps=2 format=3 uid="uid://bujllg1bqlub6"]
[ext_resource type="Script" path="res://src/ui_widgets/color_swatch.gd" id="1_2b2yq"]
diff --git a/src/ui_widgets/color_swatch_config.gd b/src/ui_widgets/color_swatch_config.gd
index 9dedfd0..a13b4b5 100644
--- a/src/ui_widgets/color_swatch_config.gd
+++ b/src/ui_widgets/color_swatch_config.gd
@@ -1,7 +1,7 @@
extends Button
-const checkerboard = preload("res://visual/icons/backgrounds/Checkerboard.svg")
-const gear_icon = preload("res://visual/icons/GearOutlined.svg")
+const checkerboard = preload("res://assets/icons/backgrounds/Checkerboard.svg")
+const gear_icon = preload("res://assets/icons/GearOutlined.svg")
const ColorSwatch = preload("res://src/ui_widgets/color_swatch.tscn")
@@ -83,8 +83,8 @@ func _get_drag_data(_at_position: Vector2) -> Variant:
var data := DropData.new(palette, idx)
# Set up a preview.
var preview := ColorSwatch.instantiate()
- preview.palette = palette
- preview.idx = idx
+ preview.color = palette.get_color(idx)
+ preview.color_name = palette.get_color_name(idx)
preview.modulate = Color(1, 1, 1, 0.85)
set_drag_preview(preview)
modulate = Color(1, 1, 1, 0.55)
diff --git a/src/ui_widgets/configure_color_popup.tscn b/src/ui_widgets/configure_color_popup.tscn
index 5739dc2..fe8df82 100644
--- a/src/ui_widgets/configure_color_popup.tscn
+++ b/src/ui_widgets/configure_color_popup.tscn
@@ -2,10 +2,10 @@
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="1_i4wi2"]
[ext_resource type="Script" path="res://src/ui_widgets/configure_color_popup.gd" id="1_x6cll"]
-[ext_resource type="Texture2D" uid="uid://dr2erka82g6j4" path="res://visual/icons/Edit.svg" id="2_0dind"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_j4qfn"]
+[ext_resource type="Texture2D" uid="uid://dr2erka82g6j4" path="res://assets/icons/Edit.svg" id="2_0dind"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_j4qfn"]
[ext_resource type="PackedScene" uid="uid://5f8uxavn1or1" path="res://src/ui_widgets/color_edit.tscn" id="3_dq5ly"]
-[ext_resource type="Texture2D" uid="uid://cj5x2ti8150ja" path="res://visual/icons/Delete.svg" id="5_5n8tt"]
+[ext_resource type="Texture2D" uid="uid://cj5x2ti8150ja" path="res://assets/icons/Delete.svg" id="5_5n8tt"]
[node name="ConfigurePopup" type="PanelContainer"]
custom_minimum_size = Vector2(128, 40)
diff --git a/src/ui_widgets/dropdown.tscn b/src/ui_widgets/dropdown.tscn
index 580cb92..fe3663c 100644
--- a/src/ui_widgets/dropdown.tscn
+++ b/src/ui_widgets/dropdown.tscn
@@ -2,8 +2,8 @@
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="1_0ifbb"]
[ext_resource type="Script" path="res://src/ui_widgets/dropdown.gd" id="1_133xu"]
-[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://visual/icons/Arrow.svg" id="2_4oygd"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_s4ro5"]
+[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://assets/icons/Arrow.svg" id="2_4oygd"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_s4ro5"]
[node name="Dropdown" type="HBoxContainer"]
custom_minimum_size = Vector2(0, 22)
diff --git a/src/ui_widgets/element_frame.gd b/src/ui_widgets/element_frame.gd
index c4a40c9..9e66385 100644
--- a/src/ui_widgets/element_frame.gd
+++ b/src/ui_widgets/element_frame.gd
@@ -1,6 +1,6 @@
extends VTitledPanel
-const warning_icon = preload("res://visual/icons/Warning.svg")
+const warning_icon = preload("res://assets/icons/Warning.svg")
const element_content_types = {
"path": preload("res://src/ui_widgets/element_content_path.tscn"),
@@ -38,6 +38,7 @@ func _ready() -> void:
title_bar.draw.connect(_on_title_bar_draw)
mouse_entered.connect(_on_mouse_entered)
mouse_exited.connect(_on_mouse_exited)
+ element.ancestor_attribute_changed.connect(title_bar.queue_redraw.unbind(1))
element.descendant_attribute_changed.connect(title_bar.queue_redraw.unbind(1))
element.attribute_changed.connect(title_bar.queue_redraw.unbind(1))
determine_selection_highlight()
diff --git a/src/ui_widgets/enum_dropdown.tscn b/src/ui_widgets/enum_dropdown.tscn
index 278fb1b..27a7a11 100644
--- a/src/ui_widgets/enum_dropdown.tscn
+++ b/src/ui_widgets/enum_dropdown.tscn
@@ -1,9 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://bp1iblavfxjvu"]
[ext_resource type="Script" path="res://src/ui_widgets/enum_dropdown.gd" id="1_fmykh"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_qeova"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_qeova"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="3_w88iq"]
-[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://visual/icons/Arrow.svg" id="4_tk7o3"]
+[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://assets/icons/Arrow.svg" id="4_tk7o3"]
[node name="EnumDropdown" type="HBoxContainer"]
custom_minimum_size = Vector2(0, 22)
diff --git a/src/ui_widgets/enum_field.gd b/src/ui_widgets/enum_field.gd
index ddaf147..613093f 100644
--- a/src/ui_widgets/enum_field.gd
+++ b/src/ui_widgets/enum_field.gd
@@ -4,7 +4,7 @@ extends LineEditButton
var element: Element
var attribute_name: String # May propagate.
-const reload_icon = preload("res://visual/icons/Reload.svg")
+const reload_icon = preload("res://assets/icons/Reload.svg")
func set_value(new_value: String, save := false) -> void:
sync(new_value)
diff --git a/src/ui_widgets/enum_field.tscn b/src/ui_widgets/enum_field.tscn
index 947d971..6813451 100644
--- a/src/ui_widgets/enum_field.tscn
+++ b/src/ui_widgets/enum_field.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://d2da0thyq5rq8"]
[ext_resource type="Script" path="res://src/ui_widgets/enum_field.gd" id="1_1jqoy"]
-[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://visual/icons/Arrow.svg" id="3_vhd8v"]
+[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://assets/icons/Arrow.svg" id="3_vhd8v"]
[node name="EnumField" type="Control"]
custom_minimum_size = Vector2(75, 0)
diff --git a/src/ui_widgets/flag_field.tscn b/src/ui_widgets/flag_field.tscn
index 3eed3ef..217ecd6 100644
--- a/src/ui_widgets/flag_field.tscn
+++ b/src/ui_widgets/flag_field.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=7 format=3 uid="uid://br8g7w38jguh4"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="1_p8s8y"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="1_p8s8y"]
[ext_resource type="Script" path="res://src/ui_widgets/flag_field.gd" id="2_0bhg4"]
[sub_resource type="FontVariation" id="FontVariation_46ud6"]
diff --git a/src/ui_widgets/good_color_picker.gd b/src/ui_widgets/good_color_picker.gd
index 561f0c9..d62b17b 100644
--- a/src/ui_widgets/good_color_picker.gd
+++ b/src/ui_widgets/good_color_picker.gd
@@ -2,13 +2,14 @@ extends VBoxContainer
const EyedropperPopup = preload("res://src/ui_parts/eyedropper_popup.tscn")
-const handle_texture = preload("res://visual/icons/BWHandle.svg")
-const slider_arrow = preload("res://visual/icons/SliderArrow.svg")
-const side_slider_arrow = preload("res://visual/icons/SideSliderArrow.svg")
-const bg_pattern = preload("res://visual/icons/backgrounds/CheckerboardMini.svg")
+const handle_texture = preload("res://assets/icons/BWHandle.svg")
+const slider_arrow = preload("res://assets/icons/SliderArrow.svg")
+const side_slider_arrow = preload("res://assets/icons/SideSliderArrow.svg")
+const bg_pattern = preload("res://assets/icons/backgrounds/CheckerboardMini.svg")
var alpha_enabled := false
-var show_disable_color := true
+var is_none_keyword_available := false
+var is_current_color_keyword_available := false
var UR := UndoRedo.new()
@@ -40,8 +41,9 @@ var slider_mode: SliderMode:
@onready var hsv_button: Button = $SliderContainer/ColorSpaceContainer/HSV
@onready var start_color_rect: Control = %ColorsDisplay/StartColorRect
@onready var color_rect: Control = %ColorsDisplay/ColorRect
-@onready var none_button: Button = $ColorContainer/NoneButton
+@onready var keyword_button: Button = $ColorContainer/KeywordButton
@onready var reset_color_button: Button = %ColorsDisplay/ColorRect/ResetColorButton
+@onready var eyedropper_button: Button = $ColorContainer/EyedropperButton
@onready var center: Vector2 = color_wheel_drawn.get_rect().get_center()
var color_wheel_surface := RenderingServer.canvas_item_create()
@@ -99,6 +101,13 @@ func setup_color(new_color: String, default_color: Color) -> void:
slider_mode = Configs.savedata.color_picker_slider_mode
update()
+# Workaround to set up these values after ready.
+func update_keyword_button() -> void:
+ if is_none_keyword_available or is_current_color_keyword_available:
+ keyword_button.tooltip_text = Translator.translate("Color keywords")
+ keyword_button.pressed.connect(_on_keyword_button_pressed)
+ keyword_button.show()
+
func _ready() -> void:
# Set up signals.
widgets_arr[0].gui_input.connect(parse_slider_input.bind(0, true))
@@ -107,8 +116,9 @@ func _ready() -> void:
if alpha_enabled:
alpha_slider.visible = alpha_enabled
widgets_arr[4].gui_input.connect(parse_slider_input.bind(4))
- if show_disable_color:
- none_button.show()
+ update_keyword_button()
+ eyedropper_button.pressed.connect(_on_eyedropper_pressed)
+ eyedropper_button.tooltip_text = Translator.translate("Eyedropper")
# Set up the rest.
RenderingServer.canvas_item_set_parent(color_wheel_surface,
color_wheel_drawn.get_canvas_item())
@@ -156,11 +166,6 @@ func update() -> void:
tracks_arr[i].material.set_shader_parameter("base_color", display_color)
if alpha_enabled:
tracks_arr[4].material.set_shader_parameter("base_color", display_color)
- # Setup the "none" button.
- var is_none := (color == "none")
- none_button.button_pressed = is_none
- none_button.tooltip_text = Translator.translate("Enable the color") if is_none\
- else Translator.translate("Disable the color")
# Redraw widgets, color indicators, color wheel.
color_rect.queue_redraw()
start_color_rect.queue_redraw()
@@ -314,14 +319,33 @@ func _slider_set_text(field: BetterLineEdit, number: float) -> void:
field.text = String.num_uint64(roundi(number))
-func _on_none_button_pressed() -> void:
+func _on_keyword_button_pressed() -> void:
+ var btn_arr: Array[Button] = []
+ if is_none_keyword_available:
+ btn_arr.append(ContextPopup.create_button("none",
+ set_to_keyword.bind("none"), color == "none",
+ load("res://assets/icons/NoneColor.svg")))
+ if is_current_color_keyword_available:
+ btn_arr.append(ContextPopup.create_button("currentColor",
+ set_to_keyword.bind("currentColor"), color == "currentColor",
+ load("res://assets/icons/Paste.svg")))
+
+ for btn in btn_arr:
+ btn.add_theme_font_override("font", ThemeUtils.mono_font)
+
+ var context_popup := ContextPopup.new()
+ context_popup.setup(btn_arr, true)
+ HandlerGUI.popup_under_rect(context_popup, keyword_button.get_global_rect(),
+ get_viewport())
+
+func set_to_keyword(keyword: String) -> void:
UR.create_action("")
- if color.strip_edges() == "none":
+ if color.strip_edges() == keyword:
UR.add_do_method(set_color.bind(backup_color, backup_display_color))
UR.add_undo_method(set_color.bind(color, display_color))
else:
backup()
- UR.add_do_method(set_color.bind("none", display_color))
+ UR.add_do_method(set_color.bind(keyword, display_color))
UR.add_undo_method(set_color.bind(color, display_color))
UR.commit_action()
diff --git a/src/ui_widgets/good_color_picker.tscn b/src/ui_widgets/good_color_picker.tscn
index 267e3f4..2b9eee8 100644
--- a/src/ui_widgets/good_color_picker.tscn
+++ b/src/ui_widgets/good_color_picker.tscn
@@ -2,12 +2,12 @@
[ext_resource type="Script" path="res://src/ui_widgets/good_color_picker.gd" id="1_0pc78"]
[ext_resource type="Shader" path="res://src/shaders/color_wheel.gdshader" id="2_nf1uk"]
+[ext_resource type="Texture2D" uid="uid://7vnn8bloi26s" path="res://assets/icons/Cube.svg" id="4_ewifk"]
[ext_resource type="Shader" path="res://src/shaders/slider_visuals.gdshader" id="5_acxpg"]
-[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://visual/icons/Reload.svg" id="5_rh0xc"]
-[ext_resource type="Texture2D" uid="uid://d36qn2f7a0nok" path="res://visual/icons/NoneColor.svg" id="5_rnr60"]
+[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://assets/icons/Reload.svg" id="5_rh0xc"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="6_aqyoh"]
-[ext_resource type="Texture2D" uid="uid://stpallv5q0rb" path="res://visual/icons/backgrounds/CheckerboardMini.svg" id="6_qq1j3"]
-[ext_resource type="Texture2D" uid="uid://brff7fx0puj6" path="res://visual/icons/Eyedropper.svg" id="6_titg4"]
+[ext_resource type="Texture2D" uid="uid://stpallv5q0rb" path="res://assets/icons/backgrounds/CheckerboardMini.svg" id="6_qq1j3"]
+[ext_resource type="Texture2D" uid="uid://brff7fx0puj6" path="res://assets/icons/Eyedropper.svg" id="6_titg4"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wl372"]
shader = ExtResource("2_nf1uk")
@@ -107,15 +107,13 @@ layout_mode = 2
theme_override_constants/separation = 6
alignment = 1
-[node name="NoneButton" type="Button" parent="ColorContainer"]
+[node name="KeywordButton" type="Button" parent="ColorContainer"]
visible = false
layout_mode = 2
focus_mode = 0
mouse_default_cursor_shape = 2
theme_type_variation = &"IconButton"
-theme_override_font_sizes/font_size = 10
-toggle_mode = true
-icon = ExtResource("5_rnr60")
+icon = ExtResource("4_ewifk")
[node name="ColorsDisplay" type="HBoxContainer" parent="ColorContainer"]
unique_name_in_owner = true
@@ -324,12 +322,9 @@ script = ExtResource("6_aqyoh")
[connection signal="gui_input" from="ShapeContainer/ColorWheel" to="." method="_on_color_wheel_gui_input"]
[connection signal="draw" from="ShapeContainer/SideSlider" to="." method="_on_side_slider_draw"]
-[connection signal="pressed" from="ColorContainer/NoneButton" to="." method="_on_none_button_pressed"]
[connection signal="draw" from="ColorContainer/ColorsDisplay/StartColorRect" to="." method="_on_start_color_rect_draw"]
[connection signal="draw" from="ColorContainer/ColorsDisplay/ColorRect" to="." method="_on_color_rect_draw"]
-[connection signal="gui_input" from="ColorContainer/ColorsDisplay/ColorRect/ResetColorButton" to="." method="_on_reset_color_button_gui_input"]
[connection signal="pressed" from="ColorContainer/ColorsDisplay/ColorRect/ResetColorButton" to="." method="_on_reset_color_button_pressed"]
-[connection signal="pressed" from="ColorContainer/EyedropperButton" to="." method="_on_eyedropper_pressed"]
[connection signal="pressed" from="SliderContainer/ColorSpaceContainer/RGB" to="." method="_on_rgb_pressed"]
[connection signal="pressed" from="SliderContainer/ColorSpaceContainer/HSV" to="." method="_on_hsv_pressed"]
[connection signal="draw" from="SliderContainer/HBoxContainer/TracksContainer/Slider1/MarginContainer" to="." method="_on_slider1_draw"]
diff --git a/src/ui_widgets/number_dropdown.tscn b/src/ui_widgets/number_dropdown.tscn
index 8ffdeab..710cb14 100644
--- a/src/ui_widgets/number_dropdown.tscn
+++ b/src/ui_widgets/number_dropdown.tscn
@@ -1,9 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://b4qgdo1od11hx"]
[ext_resource type="Script" path="res://src/ui_widgets/number_dropdown.gd" id="1_axymu"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_v4n2i"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_v4n2i"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="3_y7lt6"]
-[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://visual/icons/Arrow.svg" id="4_vet1k"]
+[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://assets/icons/Arrow.svg" id="4_vet1k"]
[node name="NumberDropdown" type="HBoxContainer"]
custom_minimum_size = Vector2(0, 22)
diff --git a/src/ui_widgets/palette_config.gd b/src/ui_widgets/palette_config.gd
index 11ff414..17a5a67 100644
--- a/src/ui_widgets/palette_config.gd
+++ b/src/ui_widgets/palette_config.gd
@@ -4,7 +4,7 @@ const ColorSwatchType = preload("res://src/ui_widgets/color_swatch_config.gd")
const ColorSwatch = preload("res://src/ui_widgets/color_swatch_config.tscn")
const ConfigurePopup = preload("res://src/ui_widgets/configure_color_popup.tscn")
-const plus_icon = preload("res://visual/icons/Plus.svg")
+const plus_icon = preload("res://assets/icons/Plus.svg")
signal layout_changed
@@ -188,15 +188,15 @@ func open_palette_options() -> void:
btn_arr.append(ContextPopup.create_button("Pure",
apply_preset.bind(ColorPalette.Preset.PURE),
palette.is_same_as_preset(ColorPalette.Preset.PURE),
- load("res://visual/icons/PresetPure.svg")))
+ load("res://assets/icons/PresetPure.svg")))
btn_arr.append(ContextPopup.create_button("Grayscale",
apply_preset.bind(ColorPalette.Preset.GRAYSCALE),
palette.is_same_as_preset(ColorPalette.Preset.GRAYSCALE),
- load("res://visual/icons/PresetGrayscale.svg")))
+ load("res://assets/icons/PresetGrayscale.svg")))
btn_arr.append(ContextPopup.create_button("Empty",
apply_preset.bind(ColorPalette.Preset.EMPTY),
palette.is_same_as_preset(ColorPalette.Preset.EMPTY),
- load("res://visual/icons/Clear.svg")))
+ load("res://assets/icons/Clear.svg")))
var context_popup := ContextPopup.new()
context_popup.setup(btn_arr, true)
@@ -217,23 +217,23 @@ func _on_palette_button_pressed() -> void:
var palette_idx := find_palette_index()
var btn_arr: Array[Button] = []
btn_arr.append(ContextPopup.create_button(Translator.translate("Rename"),
- popup_edit_name, false, load("res://visual/icons/Rename.svg")))
+ popup_edit_name, false, load("res://assets/icons/Rename.svg")))
if palette_idx >= 1:
btn_arr.append(ContextPopup.create_button(Translator.translate("Move Up"),
- move_up, false, load("res://visual/icons/MoveUp.svg")))
+ move_up, false, load("res://assets/icons/MoveUp.svg")))
if palette_idx < Configs.savedata.get_palette_count() - 1:
btn_arr.append(ContextPopup.create_button(Translator.translate("Move Down"),
- move_down, false, load("res://visual/icons/MoveDown.svg")))
+ move_down, false, load("res://assets/icons/MoveDown.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Copy as XML"),
DisplayServer.clipboard_set.bind(Configs.savedata.get_palette(palette_idx).\
- to_text()), false, load("res://visual/icons/Copy.svg")))
+ to_text()), false, load("res://assets/icons/Copy.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Paste XML"),
paste_palette, !ColorPalette.is_valid_palette(Utils.get_clipboard_web_safe()),
- load("res://visual/icons/Paste.svg")))
+ load("res://assets/icons/Paste.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Apply Preset"),
- open_palette_options, false, load("res://visual/icons/Import.svg")))
+ open_palette_options, false, load("res://assets/icons/Import.svg")))
btn_arr.append(ContextPopup.create_button(Translator.translate("Delete"),
- delete, false, load("res://visual/icons/Delete.svg")))
+ delete, false, load("res://assets/icons/Delete.svg")))
var context_popup := ContextPopup.new()
context_popup.setup(btn_arr, true)
diff --git a/src/ui_widgets/palette_config.tscn b/src/ui_widgets/palette_config.tscn
index ef2cb27..86b3b2c 100644
--- a/src/ui_widgets/palette_config.tscn
+++ b/src/ui_widgets/palette_config.tscn
@@ -2,8 +2,8 @@
[ext_resource type="Script" path="res://src/ui_widgets/palette_config.gd" id="1_2fy8k"]
[ext_resource type="Script" path="res://src/ui_widgets/BetterLineEdit.gd" id="2_coqnx"]
-[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://visual/fonts/Font.ttf" id="2_cttpy"]
-[ext_resource type="Texture2D" uid="uid://dbyjet4nt246k" path="res://visual/icons/Warning.svg" id="4_43bpt"]
+[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="2_cttpy"]
+[ext_resource type="Texture2D" uid="uid://dbyjet4nt246k" path="res://assets/icons/Warning.svg" id="4_43bpt"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lq3bn"]
draw_center = false
diff --git a/src/ui_widgets/pathdata_field.gd b/src/ui_widgets/pathdata_field.gd
index c86bd33..d2105aa 100644
--- a/src/ui_widgets/pathdata_field.gd
+++ b/src/ui_widgets/pathdata_field.gd
@@ -23,8 +23,8 @@ signal focused
const MiniNumberField = preload("mini_number_field.tscn")
const FlagField = preload("flag_field.tscn")
-const more_icon = preload("res://visual/icons/SmallMore.svg")
-const plus_icon = preload("res://visual/icons/Plus.svg")
+const more_icon = preload("res://assets/icons/SmallMore.svg")
+const plus_icon = preload("res://assets/icons/Plus.svg")
var mini_line_edit_stylebox := get_theme_stylebox("normal", "MiniLineEdit")
var mini_line_edit_font_size := get_theme_font_size("font_size", "MiniLineEdit")
diff --git a/src/ui_widgets/points_field.gd b/src/ui_widgets/points_field.gd
index 46c052f..a86eb4d 100644
--- a/src/ui_widgets/points_field.gd
+++ b/src/ui_widgets/points_field.gd
@@ -15,8 +15,8 @@ signal focused
const MiniNumberField = preload("mini_number_field.tscn")
-const more_icon = preload("res://visual/icons/SmallMore.svg")
-const plus_icon = preload("res://visual/icons/Plus.svg")
+const more_icon = preload("res://assets/icons/SmallMore.svg")
+const plus_icon = preload("res://assets/icons/Plus.svg")
var mini_line_edit_stylebox := get_theme_stylebox("normal", "MiniLineEdit")
var mini_line_edit_font_size := get_theme_font_size("font_size", "MiniLineEdit")
diff --git a/src/ui_widgets/preview_rect.tscn b/src/ui_widgets/preview_rect.tscn
index 4fb0f6e..233ce08 100644
--- a/src/ui_widgets/preview_rect.tscn
+++ b/src/ui_widgets/preview_rect.tscn
@@ -2,8 +2,8 @@
[ext_resource type="Script" path="res://src/ui_widgets/preview_rect.gd" id="1_n2xbu"]
[ext_resource type="Shader" path="res://src/shaders/zoom_shader.gdshader" id="2_qrqjp"]
-[ext_resource type="Texture2D" uid="uid://c68og6bsqt0lb" path="res://visual/icons/backgrounds/Checkerboard.svg" id="3_tuqha"]
-[ext_resource type="Texture2D" uid="uid://crx4kcj4o01bs" path="res://visual/icons/SmallQuestionMark.svg" id="4_g76n0"]
+[ext_resource type="Texture2D" uid="uid://c68og6bsqt0lb" path="res://assets/icons/backgrounds/Checkerboard.svg" id="3_tuqha"]
+[ext_resource type="Texture2D" uid="uid://crx4kcj4o01bs" path="res://assets/icons/SmallQuestionMark.svg" id="4_g76n0"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_y7eee"]
shader = ExtResource("2_qrqjp")
diff --git a/src/ui_widgets/setting_frame.tscn b/src/ui_widgets/setting_frame.tscn
index 7e8c35e..4dbb83b 100644
--- a/src/ui_widgets/setting_frame.tscn
+++ b/src/ui_widgets/setting_frame.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://speqrhruag5k"]
[ext_resource type="Script" path="res://src/ui_widgets/setting_frame.gd" id="1_p1ngn"]
-[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://visual/icons/Reload.svg" id="2_8lqnd"]
+[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://assets/icons/Reload.svg" id="2_8lqnd"]
[node name="SettingFrame" type="Control"]
custom_minimum_size = Vector2(0, 28)
diff --git a/src/ui_widgets/setting_shortcut.gd b/src/ui_widgets/setting_shortcut.gd
index e61e993..ab45050 100644
--- a/src/ui_widgets/setting_shortcut.gd
+++ b/src/ui_widgets/setting_shortcut.gd
@@ -1,6 +1,6 @@
extends PanelContainer
-const delete_icon := preload("res://visual/icons/Delete.svg")
+const delete_icon := preload("res://assets/icons/Delete.svg")
@onready var label: Label = %MainContainer/Label
@onready var reset_button: Button = %MainContainer/HBoxContainer/ResetButton
diff --git a/src/ui_widgets/setting_shortcut.tscn b/src/ui_widgets/setting_shortcut.tscn
index dfff799..5fbc119 100644
--- a/src/ui_widgets/setting_shortcut.tscn
+++ b/src/ui_widgets/setting_shortcut.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://b7fw7bodu5fbb"]
[ext_resource type="Script" path="res://src/ui_widgets/setting_shortcut.gd" id="1_4c8oc"]
-[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://visual/icons/Reload.svg" id="2_n8e0s"]
+[ext_resource type="Texture2D" uid="uid://cvh3kwbucf2n1" path="res://assets/icons/Reload.svg" id="2_n8e0s"]
[node name="SettingShortcut" type="PanelContainer"]
offset_right = 172.0
diff --git a/src/ui_widgets/transform_editor.tscn b/src/ui_widgets/transform_editor.tscn
index 71ed746..0b750df 100644
--- a/src/ui_widgets/transform_editor.tscn
+++ b/src/ui_widgets/transform_editor.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://c7xhf7bodwnl1"]
[ext_resource type="Script" path="res://src/ui_widgets/transform_editor.gd" id="1_q14io"]
-[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://visual/fonts/FontMono.ttf" id="2_84xsl"]
+[ext_resource type="FontFile" uid="uid://depydd16jq777" path="res://assets/fonts/FontMono.ttf" id="2_84xsl"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_af5dq"]
content_margin_left = 2.0
diff --git a/src/ui_widgets/transform_field.tscn b/src/ui_widgets/transform_field.tscn
index 0f22d75..b932bed 100644
--- a/src/ui_widgets/transform_field.tscn
+++ b/src/ui_widgets/transform_field.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bc45fp38kar6a"]
[ext_resource type="Script" path="res://src/ui_widgets/transform_field.gd" id="1_5gokr"]
-[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://visual/icons/Arrow.svg" id="2_2uudq"]
+[ext_resource type="Texture2D" uid="uid://coda6chhcatal" path="res://assets/icons/Arrow.svg" id="2_2uudq"]
[node name="TransformField" type="Control"]
custom_minimum_size = Vector2(162, 0)
diff --git a/src/ui_widgets/transform_popup.gd b/src/ui_widgets/transform_popup.gd
index 4d6ba4c..c9e8a20 100644
--- a/src/ui_widgets/transform_popup.gd
+++ b/src/ui_widgets/transform_popup.gd
@@ -7,12 +7,12 @@ const MiniNumberField = preload("res://src/ui_widgets/mini_number_field.tscn")
const TransformEditor = preload("res://src/ui_widgets/transform_editor.tscn")
const icons_dict := {
- "matrix": preload("res://visual/icons/Matrix.svg"),
- "translate": preload("res://visual/icons/Translate.svg"),
- "rotate": preload("res://visual/icons/Rotate.svg"),
- "scale": preload("res://visual/icons/Scale.svg"),
- "skewX": preload("res://visual/icons/SkewX.svg"),
- "skewY": preload("res://visual/icons/SkewY.svg"),
+ "matrix": preload("res://assets/icons/Matrix.svg"),
+ "translate": preload("res://assets/icons/Translate.svg"),
+ "rotate": preload("res://assets/icons/Rotate.svg"),
+ "scale": preload("res://assets/icons/Scale.svg"),
+ "skewX": preload("res://assets/icons/SkewX.svg"),
+ "skewY": preload("res://assets/icons/SkewY.svg"),
}
var attribute_ref: AttributeTransformList
@@ -129,37 +129,37 @@ func delete_transform(idx: int) -> void:
UR.commit_action()
func _on_apply_matrix_pressed() -> void:
- var final_transform := attribute_ref.get_final_transform()
+ var final_transform := attribute_ref.get_final_precise_transform()
UR.create_action("")
UR.add_do_method(attribute_ref.set_transform_list.bind([
- Transform.TransformMatrix.new(final_transform.x.x, final_transform.x.y,
- final_transform.y.x, final_transform.y.y, final_transform.origin.x,
- final_transform.origin.y)] as Array[Transform]))
+ Transform.TransformMatrix.new(final_transform[0], final_transform[1],
+ final_transform[2], final_transform[3], final_transform[4],
+ final_transform[5])] as Array[Transform]))
UR.add_do_method(rebuild)
UR.add_undo_method(attribute_ref.set_transform_list.bind(get_transform_list()))
UR.add_undo_method(rebuild)
UR.commit_action()
func update_final_transform() -> void:
- var final_transform := attribute_ref.get_final_transform()
- x1_edit.set_value(final_transform[0].x)
- x2_edit.set_value(final_transform[0].y)
- y1_edit.set_value(final_transform[1].x)
- y2_edit.set_value(final_transform[1].y)
- o1_edit.set_value(final_transform[2].x)
- o2_edit.set_value(final_transform[2].y)
+ var final_transform := attribute_ref.get_final_precise_transform()
+ x1_edit.set_value(final_transform[0])
+ x2_edit.set_value(final_transform[1])
+ y1_edit.set_value(final_transform[2])
+ y2_edit.set_value(final_transform[3])
+ o1_edit.set_value(final_transform[4])
+ o2_edit.set_value(final_transform[5])
func popup_transform_actions(idx: int, control: Control) -> void:
var btn_array: Array[Button] = []
btn_array.append(ContextPopup.create_button(Translator.translate("Insert After"),
popup_new_transform_context.bind(idx + 1, control), false,
- load("res://visual/icons/InsertAfter.svg")))
+ load("res://assets/icons/InsertAfter.svg")))
btn_array.append(ContextPopup.create_button(Translator.translate("Insert Before"),
popup_new_transform_context.bind(idx, control), false,
- load("res://visual/icons/InsertBefore.svg")))
+ load("res://assets/icons/InsertBefore.svg")))
btn_array.append(ContextPopup.create_button(Translator.translate("Delete"),
- delete_transform.bind(idx), false, load("res://visual/icons/Delete.svg")))
+ delete_transform.bind(idx), false, load("res://assets/icons/Delete.svg")))
var context_popup := ContextPopup.new()
context_popup.setup(btn_array, true)
diff --git a/src/ui_widgets/transform_popup.tscn b/src/ui_widgets/transform_popup.tscn
index c0b7b64..de4a005 100644
--- a/src/ui_widgets/transform_popup.tscn
+++ b/src/ui_widgets/transform_popup.tscn
@@ -2,8 +2,8 @@
[ext_resource type="Script" path="res://src/ui_widgets/transform_popup.gd" id="1_ye80i"]
[ext_resource type="PackedScene" uid="uid://dad7fkhmsooc6" path="res://src/ui_widgets/number_edit.tscn" id="2_tdse4"]
-[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://visual/icons/Plus.svg" id="2_w40hh"]
-[ext_resource type="Texture2D" uid="uid://cqg7ga6y3m0v1" path="res://visual/icons/ApplyMatrix.svg" id="3_eegha"]
+[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="2_w40hh"]
+[ext_resource type="Texture2D" uid="uid://cqg7ga6y3m0v1" path="res://assets/icons/ApplyMatrix.svg" id="3_eegha"]
[node name="TransformPopup" type="PanelContainer"]
custom_minimum_size = Vector2(168, 0)
diff --git a/src/ui_widgets/unrecognized_field.tscn b/src/ui_widgets/unrecognized_field.tscn
index 580c257..c23a0aa 100644
--- a/src/ui_widgets/unrecognized_field.tscn
+++ b/src/ui_widgets/unrecognized_field.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://mr2c1hti43k4"]
[ext_resource type="Script" path="res://src/ui_widgets/unrecognized_field.gd" id="1_decfb"]
-[ext_resource type="Texture2D" uid="uid://crx4kcj4o01bs" path="res://visual/icons/SmallQuestionMark.svg" id="1_sd7sr"]
+[ext_resource type="Texture2D" uid="uid://crx4kcj4o01bs" path="res://assets/icons/SmallQuestionMark.svg" id="1_sd7sr"]
[node name="UnrecognizedField" type="LineEdit"]
custom_minimum_size = Vector2(78, 22)
diff --git a/src/utils/FileUtils.gd b/src/utils/FileUtils.gd
index c993614..45454a5 100644
--- a/src/utils/FileUtils.gd
+++ b/src/utils/FileUtils.gd
@@ -156,17 +156,17 @@ allowed_extensions: PackedStringArray) -> Error:
alert_dialog.setup(error)
return ERR_FILE_CANT_OPEN
- var file_name := file_path.get_file()
- if file_extension in ["svg", "xml"]:
- completion_callback.call(file.get_as_text(), file_name)
- else:
- completion_callback.call(file.get_buffer(file.get_length()), file_name)
+ # The XML callbacks happen to not need the file path.
+ match file_extension:
+ "svg": completion_callback.call(file.get_as_text(), file_path)
+ "xml": completion_callback.call(file.get_as_text())
+ _: completion_callback.call(file.get_buffer(file.get_length()), file_path)
return OK
-static func _apply_svg(data: Variant, file_name: String) -> Error:
+static func _apply_svg(data: Variant, file_path: String) -> Error:
var warning_panel := ImportWarningMenu.instantiate()
- warning_panel.imported.connect(_finish_svg_import.bind(data, file_name))
+ warning_panel.imported.connect(_finish_svg_import.bind(data, file_path))
warning_panel.set_svg(data)
HandlerGUI.add_menu(warning_panel)
return OK
diff --git a/src/utils/ShortcutUtils.gd b/src/utils/ShortcutUtils.gd
index 88c60a1..1dc07db 100644
--- a/src/utils/ShortcutUtils.gd
+++ b/src/utils/ShortcutUtils.gd
@@ -104,27 +104,27 @@ static func fn(shortcut: String) -> Callable:
static func get_shortcut_icon(shortcut: String) -> CompressedTexture2D:
match shortcut:
- "import": return load("res://visual/icons/Import.svg")
- "export": return load("res://visual/icons/Export.svg")
- "save": return load("res://visual/icons/Save.svg")
- "copy_svg_text": return load("res://visual/icons/Copy.svg")
- "clear_svg", "clear_file_path": return load("res://visual/icons/Clear.svg")
- "optimize": return load("res://visual/icons/Compress.svg")
- "reset_svg", "zoom_reset": return load("res://visual/icons/Reload.svg")
- "open_svg": return load("res://visual/icons/OpenFile.svg")
- "undo": return load("res://visual/icons/Undo.svg")
- "redo": return load("res://visual/icons/Redo.svg")
- "duplicate": return load("res://visual/icons/Duplicate.svg")
- "move_up": return load("res://visual/icons/MoveUp.svg")
- "move_down": return load("res://visual/icons/MoveDown.svg")
- "delete": return load("res://visual/icons/Delete.svg")
- "find": return load("res://visual/icons/Search.svg")
- "zoom_in": return load("res://visual/icons/Plus.svg")
- "zoom_out": return load("res://visual/icons/Minus.svg")
- "debug": return load("res://visual/icons/Debug.svg")
- "toggle_snap": return load("res://visual/icons/Snap.svg")
- "open_settings": return load("res://visual/icons/Gear.svg")
- _: return load("res://visual/icons/Placeholder.svg")
+ "import": return load("res://assets/icons/Import.svg")
+ "export": return load("res://assets/icons/Export.svg")
+ "save": return load("res://assets/icons/Save.svg")
+ "copy_svg_text": return load("res://assets/icons/Copy.svg")
+ "clear_svg", "clear_file_path": return load("res://assets/icons/Clear.svg")
+ "optimize": return load("res://assets/icons/Compress.svg")
+ "reset_svg", "zoom_reset": return load("res://assets/icons/Reload.svg")
+ "open_svg": return load("res://assets/icons/OpenFile.svg")
+ "undo": return load("res://assets/icons/Undo.svg")
+ "redo": return load("res://assets/icons/Redo.svg")
+ "duplicate": return load("res://assets/icons/Duplicate.svg")
+ "move_up": return load("res://assets/icons/MoveUp.svg")
+ "move_down": return load("res://assets/icons/MoveDown.svg")
+ "delete": return load("res://assets/icons/Delete.svg")
+ "find": return load("res://assets/icons/Search.svg")
+ "zoom_in": return load("res://assets/icons/Plus.svg")
+ "zoom_out": return load("res://assets/icons/Minus.svg")
+ "debug": return load("res://assets/icons/Debug.svg")
+ "toggle_snap": return load("res://assets/icons/Snap.svg")
+ "open_settings": return load("res://assets/icons/Gear.svg")
+ _: return load("res://assets/icons/Placeholder.svg")
static func get_shortcuts(category: String) -> PackedStringArray:
return _shortcut_categories_dict[category].keys()
diff --git a/src/utils/ThemeUtils.gd b/src/utils/ThemeUtils.gd
index 4165b8e..84d6247 100644
--- a/src/utils/ThemeUtils.gd
+++ b/src/utils/ThemeUtils.gd
@@ -1,8 +1,8 @@
class_name ThemeUtils extends RefCounted
-const regular_font = preload("res://visual/fonts/Font.ttf")
-const bold_font = preload("res://visual/fonts/FontBold.ttf")
-const mono_font = preload("res://visual/fonts/FontMono.ttf")
+const regular_font = preload("res://assets/fonts/Font.ttf")
+const bold_font = preload("res://assets/fonts/FontBold.ttf")
+const mono_font = preload("res://assets/fonts/FontMono.ttf")
const focus_color = Color("66ccffcc")
const common_panel_inner_color = Color("191926")
@@ -934,4 +934,4 @@ static func _setup_tooltip(theme: Theme) -> void:
static func _icon(name: String) -> Texture2D:
- return load("res://visual/icons/theme/" + name + ".svg")
+ return load("res://assets/icons/theme/" + name + ".svg")
diff --git a/visual/icons/NoneColor.svg b/visual/icons/NoneColor.svg
deleted file mode 100644
index 93c98e0..0000000
--- a/visual/icons/NoneColor.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file