initial commit
authorEduardo <[email protected]>
Fri, 21 Jun 2024 15:53:48 +0000 (17:53 +0200)
committerEduardo <[email protected]>
Fri, 21 Jun 2024 15:53:48 +0000 (17:53 +0200)
need to sync all this

139 files changed:
BACKPAIN_LOGO.png [new file with mode: 0644]
BACKPAIN_LOGO.png.import [new file with mode: 0644]
assets/bodys/.thumb/C1 (copy).png [new file with mode: 0644]
assets/bodys/.thumb/C1.png [new file with mode: 0644]
assets/bodys/C1 (copy).png [new file with mode: 0644]
assets/bodys/C1 (copy).png.import [new file with mode: 0644]
assets/bodys/C1.png [new file with mode: 0644]
assets/bodys/C1.png.import [new file with mode: 0644]
assets/bodys/config.txt [new file with mode: 0644]
assets/ears/.thumb/E1.png [new file with mode: 0644]
assets/ears/.thumb/E2.png [new file with mode: 0644]
assets/ears/.thumb/E3.png [new file with mode: 0644]
assets/ears/E1.png [new file with mode: 0644]
assets/ears/E1.png.import [new file with mode: 0644]
assets/ears/E2.png [new file with mode: 0644]
assets/ears/E2.png.import [new file with mode: 0644]
assets/ears/E3.png [new file with mode: 0644]
assets/ears/E3.png.import [new file with mode: 0644]
assets/ears/config.txt [new file with mode: 0644]
assets/eyes/.thumb/O1.png [new file with mode: 0644]
assets/eyes/.thumb/O2.png [new file with mode: 0644]
assets/eyes/O1.png [new file with mode: 0644]
assets/eyes/O1.png.import [new file with mode: 0644]
assets/eyes/O2.png [new file with mode: 0644]
assets/eyes/O2.png.import [new file with mode: 0644]
assets/eyes/config.txt [new file with mode: 0644]
assets/hair/.thumb/P2.png [new file with mode: 0644]
assets/hair/.thumb/P3.png [new file with mode: 0644]
assets/hair/.thumb/p1.png [new file with mode: 0644]
assets/hair/P2.png [new file with mode: 0644]
assets/hair/P2.png.import [new file with mode: 0644]
assets/hair/P3.png [new file with mode: 0644]
assets/hair/P3.png.import [new file with mode: 0644]
assets/hair/config.txt [new file with mode: 0644]
assets/hair/p1.png [new file with mode: 0644]
assets/hair/p1.png.import [new file with mode: 0644]
assets/read_me.txt [new file with mode: 0644]
back_pain_logo.png [new file with mode: 0644]
back_pain_logo.png.import [new file with mode: 0644]
core [new file with mode: 0644]
export_presets.cfg [new file with mode: 0644]
fonts/Kenney Future Narrow.ttf [new file with mode: 0644]
fonts/Kenney Future Narrow.ttf.import [new file with mode: 0644]
fonts/Kenney Future.ttf [new file with mode: 0644]
fonts/Kenney Future.ttf.import [new file with mode: 0644]
icon.svg [new file with mode: 0644]
icon.svg.import [new file with mode: 0644]
picrowo.png [new file with mode: 0644]
picrowo.png.import [new file with mode: 0644]
project.godot [new file with mode: 0644]
scenes/ImageModel.tscn [new file with mode: 0644]
scenes/interface.gd [new file with mode: 0644]
scenes/interface.tscn [new file with mode: 0644]
scenes/main_window.tscn [new file with mode: 0644]
scenes/splash_screen.tscn [new file with mode: 0644]
scripts/globals.gd [new file with mode: 0644]
scripts/image_model.gd [new file with mode: 0644]
scripts/main_window.gd [new file with mode: 0644]
scripts/splash_screen.gd [new file with mode: 0644]
shaders/color_changer.gdshader [new file with mode: 0644]
sounds/click-b.ogg [new file with mode: 0644]
sounds/click-b.ogg.import [new file with mode: 0644]
sounds/switch-b.ogg [new file with mode: 0644]
sounds/switch-b.ogg.import [new file with mode: 0644]
sounds/tap-a.ogg [new file with mode: 0644]
sounds/tap-a.ogg.import [new file with mode: 0644]
sounds/tap-b.ogg [new file with mode: 0644]
sounds/tap-b.ogg.import [new file with mode: 0644]
ui/arrow_n.svg [new file with mode: 0644]
ui/arrow_n.svg.import [new file with mode: 0644]
ui/arrow_s.svg [new file with mode: 0644]
ui/arrow_s.svg.import [new file with mode: 0644]
ui/busy_circle.svg [new file with mode: 0644]
ui/busy_circle.svg.import [new file with mode: 0644]
ui/busy_circle_fade.svg [new file with mode: 0644]
ui/busy_circle_fade.svg.import [new file with mode: 0644]
ui/button_rectangle_depth_line.svg [new file with mode: 0644]
ui/button_rectangle_depth_line.svg.import [new file with mode: 0644]
ui/button_rectangle_line.svg [new file with mode: 0644]
ui/button_rectangle_line.svg.import [new file with mode: 0644]
ui/button_round_depth_line.svg [new file with mode: 0644]
ui/button_round_depth_line.svg.import [new file with mode: 0644]
ui/button_round_line.svg [new file with mode: 0644]
ui/button_round_line.svg.import [new file with mode: 0644]
ui/button_square_depth_line.svg [new file with mode: 0644]
ui/button_square_depth_line.svg.import [new file with mode: 0644]
ui/button_square_line.svg [new file with mode: 0644]
ui/button_square_line.svg.import [new file with mode: 0644]
ui/divider.svg [new file with mode: 0644]
ui/divider.svg.import [new file with mode: 0644]
ui/divider_edges.svg [new file with mode: 0644]
ui/divider_edges.svg.import [new file with mode: 0644]
ui/dot_large.svg [new file with mode: 0644]
ui/dot_large.svg.import [new file with mode: 0644]
ui/drawing_bucket.svg [new file with mode: 0644]
ui/drawing_bucket.svg.import [new file with mode: 0644]
ui/drawing_eraser.svg [new file with mode: 0644]
ui/drawing_eraser.svg.import [new file with mode: 0644]
ui/drawing_picker.svg [new file with mode: 0644]
ui/drawing_picker.svg.import [new file with mode: 0644]
ui/hand_point.svg [new file with mode: 0644]
ui/hand_point.svg.import [new file with mode: 0644]
ui/icon_cross.svg [new file with mode: 0644]
ui/icon_cross.svg.import [new file with mode: 0644]
ui/icon_repeat_dark.svg [new file with mode: 0644]
ui/icon_repeat_dark.svg.import [new file with mode: 0644]
ui/icon_repeat_light.svg [new file with mode: 0644]
ui/icon_repeat_light.svg.import [new file with mode: 0644]
ui/icon_repeat_outline.svg [new file with mode: 0644]
ui/icon_repeat_outline.svg.import [new file with mode: 0644]
ui/input_outline_rectangle.svg [new file with mode: 0644]
ui/input_outline_rectangle.svg.import [new file with mode: 0644]
ui/input_outline_square.svg [new file with mode: 0644]
ui/input_outline_square.svg.import [new file with mode: 0644]
ui/input_rectangle.svg [new file with mode: 0644]
ui/input_rectangle.svg.import [new file with mode: 0644]
ui/input_square.svg [new file with mode: 0644]
ui/input_square.svg.import [new file with mode: 0644]
ui/mark_exclamation.svg [new file with mode: 0644]
ui/mark_exclamation.svg.import [new file with mode: 0644]
ui/mark_question.svg [new file with mode: 0644]
ui/mark_question.svg.import [new file with mode: 0644]
ui/message_dots_round.svg [new file with mode: 0644]
ui/message_dots_round.svg.import [new file with mode: 0644]
ui/navigation_e.svg [new file with mode: 0644]
ui/navigation_e.svg.import [new file with mode: 0644]
ui/navigation_n.svg [new file with mode: 0644]
ui/navigation_n.svg.import [new file with mode: 0644]
ui/navigation_s.svg [new file with mode: 0644]
ui/navigation_s.svg.import [new file with mode: 0644]
ui/navigation_w.svg [new file with mode: 0644]
ui/navigation_w.svg.import [new file with mode: 0644]
ui/resize_a_cross_diagonal.svg [new file with mode: 0644]
ui/resize_a_cross_diagonal.svg.import [new file with mode: 0644]
ui/rotate_ccw.svg [new file with mode: 0644]
ui/rotate_ccw.svg.import [new file with mode: 0644]
ui/saveTransparentDark32.png [new file with mode: 0644]
ui/tool_wand.svg [new file with mode: 0644]
ui/tool_wand.svg.import [new file with mode: 0644]

diff --git a/BACKPAIN_LOGO.png b/BACKPAIN_LOGO.png
new file mode 100644 (file)
index 0000000..698139b
Binary files /dev/null and b/BACKPAIN_LOGO.png differ
diff --git a/BACKPAIN_LOGO.png.import b/BACKPAIN_LOGO.png.import
new file mode 100644 (file)
index 0000000..1656d37
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://44dxc0bmuxmd"
+path="res://.godot/imported/BACKPAIN_LOGO.png-f158940e3746b1fb3787c1ec5e3a3f06.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://BACKPAIN_LOGO.png"
+dest_files=["res://.godot/imported/BACKPAIN_LOGO.png-f158940e3746b1fb3787c1ec5e3a3f06.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
diff --git a/assets/bodys/.thumb/C1 (copy).png b/assets/bodys/.thumb/C1 (copy).png
new file mode 100644 (file)
index 0000000..daaba10
Binary files /dev/null and b/assets/bodys/.thumb/C1 (copy).png differ
diff --git a/assets/bodys/.thumb/C1.png b/assets/bodys/.thumb/C1.png
new file mode 100644 (file)
index 0000000..b8bd784
Binary files /dev/null and b/assets/bodys/.thumb/C1.png differ
diff --git a/assets/bodys/C1 (copy).png b/assets/bodys/C1 (copy).png
new file mode 100644 (file)
index 0000000..4014c65
Binary files /dev/null and b/assets/bodys/C1 (copy).png differ
diff --git a/assets/bodys/C1 (copy).png.import b/assets/bodys/C1 (copy).png.import
new file mode 100644 (file)
index 0000000..d716bfd
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dj6i86rux170v"
+path="res://.godot/imported/C1 (copy).png-a0172639a9c1056279ffc699f6d01330.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/bodys/C1 (copy).png"
+dest_files=["res://.godot/imported/C1 (copy).png-a0172639a9c1056279ffc699f6d01330.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
diff --git a/assets/bodys/C1.png b/assets/bodys/C1.png
new file mode 100644 (file)
index 0000000..eb251c8
Binary files /dev/null and b/assets/bodys/C1.png differ
diff --git a/assets/bodys/C1.png.import b/assets/bodys/C1.png.import
new file mode 100644 (file)
index 0000000..2ee2efa
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gexkw3esfup7"
+path="res://.godot/imported/C1.png-bb02816bbd0338a715d37b9e5097e92e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/bodys/C1.png"
+dest_files=["res://.godot/imported/C1.png-bb02816bbd0338a715d37b9e5097e92e.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
diff --git a/assets/bodys/config.txt b/assets/bodys/config.txt
new file mode 100644 (file)
index 0000000..ead5cb2
--- /dev/null
@@ -0,0 +1,24 @@
+; Color to be replaced by the color picker
+; default: #FF00FF (full Red and Blue, no Green)
+color_placeholder="#FF00FF"
+
+; The colors you add next will be the suggested ones to colorize the asset, you can add as much as you want
+; example: ["#FF0000", "#00FF00", "#0000FF"]
+; default: [] (no colors, you can use the color picker either way)
+colors=["#FFE7D9", "#FF0000", "#00FF00", "#0000FF"]
+
+; Default position where the asset will be placed. Modify the 0s if you want to move it.
+; First value means horizontal, positive right, negative left. The other one means vertical movement, positive up, negative down. 
+; default: Vector2(0, 0)
+position=Vector2(0, 0)
+
+; Layer to draw
+; By default when you add an asset its always added on top, so you cant add a body part after the eyes as that will be the wrong order, you can modify that here
+; valid values are: "top", "bottom"
+; default: "top"
+new_layer_on="bottom"
+
+; Alternatively you may want to set up a layer for each asset, you can do it here
+; higher means on top of lowers
+; default: 0
+layer=0
diff --git a/assets/ears/.thumb/E1.png b/assets/ears/.thumb/E1.png
new file mode 100644 (file)
index 0000000..f53b73e
Binary files /dev/null and b/assets/ears/.thumb/E1.png differ
diff --git a/assets/ears/.thumb/E2.png b/assets/ears/.thumb/E2.png
new file mode 100644 (file)
index 0000000..17b9d4b
Binary files /dev/null and b/assets/ears/.thumb/E2.png differ
diff --git a/assets/ears/.thumb/E3.png b/assets/ears/.thumb/E3.png
new file mode 100644 (file)
index 0000000..169a751
Binary files /dev/null and b/assets/ears/.thumb/E3.png differ
diff --git a/assets/ears/E1.png b/assets/ears/E1.png
new file mode 100644 (file)
index 0000000..f42842c
Binary files /dev/null and b/assets/ears/E1.png differ
diff --git a/assets/ears/E1.png.import b/assets/ears/E1.png.import
new file mode 100644 (file)
index 0000000..8c86bf0
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0xssxk60ortk"
+path="res://.godot/imported/E1.png-2e3ed90e02874e080dc956e3a423973e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ears/E1.png"
+dest_files=["res://.godot/imported/E1.png-2e3ed90e02874e080dc956e3a423973e.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
diff --git a/assets/ears/E2.png b/assets/ears/E2.png
new file mode 100644 (file)
index 0000000..6d347b6
Binary files /dev/null and b/assets/ears/E2.png differ
diff --git a/assets/ears/E2.png.import b/assets/ears/E2.png.import
new file mode 100644 (file)
index 0000000..faab6da
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vhmbwm8ohy0p"
+path="res://.godot/imported/E2.png-284db307e57b483d6cc3af8f86c275d3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ears/E2.png"
+dest_files=["res://.godot/imported/E2.png-284db307e57b483d6cc3af8f86c275d3.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
diff --git a/assets/ears/E3.png b/assets/ears/E3.png
new file mode 100644 (file)
index 0000000..4b0546c
Binary files /dev/null and b/assets/ears/E3.png differ
diff --git a/assets/ears/E3.png.import b/assets/ears/E3.png.import
new file mode 100644 (file)
index 0000000..d1d40c4
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bc4i0iduin3xi"
+path="res://.godot/imported/E3.png-3ffbffbc33609feee35a3ac98fb38b00.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ears/E3.png"
+dest_files=["res://.godot/imported/E3.png-3ffbffbc33609feee35a3ac98fb38b00.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
diff --git a/assets/ears/config.txt b/assets/ears/config.txt
new file mode 100644 (file)
index 0000000..33aed24
--- /dev/null
@@ -0,0 +1,24 @@
+; Color to be replaced by the color picker
+; default: #FF00FF (full Red and Blue, no Green)
+color_placeholder="#FF00FF"
+
+; The colors you add next will be the suggested ones to colorize the asset, you can add as much as you want
+; example: ["#FF0000", "#00FF00", "#0000FF"]
+; default: [] (no colors, you can use the color picker either way)
+colors=[]
+
+; Default position where the asset will be placed. Modify the 0s if you want to move it.
+; First value means horizontal, positive right, negative left. The other one means vertical movement, positive up, negative down. 
+; default: Vector2(0, 0)
+position=Vector2(0, 0)
+
+; Layer to draw
+; By default when you add an asset its always added on top, so you cant add a body part after the eyes as that will be the wrong order, you can modify that here
+; valid values are: "top", "bottom"
+; default: "top"
+new_layer_on="top"
+
+; Alternatively you may want to set up a layer for each asset, you can do it here
+; higher means on top of lowers
+; default: 0
+layer=2
diff --git a/assets/eyes/.thumb/O1.png b/assets/eyes/.thumb/O1.png
new file mode 100644 (file)
index 0000000..57b236f
Binary files /dev/null and b/assets/eyes/.thumb/O1.png differ
diff --git a/assets/eyes/.thumb/O2.png b/assets/eyes/.thumb/O2.png
new file mode 100644 (file)
index 0000000..ef7406e
Binary files /dev/null and b/assets/eyes/.thumb/O2.png differ
diff --git a/assets/eyes/O1.png b/assets/eyes/O1.png
new file mode 100644 (file)
index 0000000..ab33e44
Binary files /dev/null and b/assets/eyes/O1.png differ
diff --git a/assets/eyes/O1.png.import b/assets/eyes/O1.png.import
new file mode 100644 (file)
index 0000000..42e2224
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7g614u0r8mdy"
+path="res://.godot/imported/O1.png-de9b0401adeea29d8e00381549b89c34.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/eyes/O1.png"
+dest_files=["res://.godot/imported/O1.png-de9b0401adeea29d8e00381549b89c34.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
diff --git a/assets/eyes/O2.png b/assets/eyes/O2.png
new file mode 100644 (file)
index 0000000..34cef63
Binary files /dev/null and b/assets/eyes/O2.png differ
diff --git a/assets/eyes/O2.png.import b/assets/eyes/O2.png.import
new file mode 100644 (file)
index 0000000..bf2dd44
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm583mfkrx7vo"
+path="res://.godot/imported/O2.png-ed94aaba5ce6888384e94e5a1f7c77d1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/eyes/O2.png"
+dest_files=["res://.godot/imported/O2.png-ed94aaba5ce6888384e94e5a1f7c77d1.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
diff --git a/assets/eyes/config.txt b/assets/eyes/config.txt
new file mode 100644 (file)
index 0000000..b72c4ef
--- /dev/null
@@ -0,0 +1,24 @@
+; Color to be replaced by the color picker
+; default: #FF00FF (full Red and Blue, no Green)
+color_placeholder="#FF00FF"
+
+; The colors you add next will be the suggested ones to colorize the asset, you can add as much as you want
+; example: ["#FF0000", "#00FF00", "#0000FF"]
+; default: [] (no colors, you can use the color picker either way)
+colors=[]
+
+; Default position where the asset will be placed. Modify the 0s if you want to move it.
+; First value means horizontal, positive right, negative left. The other one means vertical movement, positive up, negative down. 
+; default: Vector2(0, 0)
+position=Vector2(0, 0)
+
+; Layer to draw
+; By default when you add an asset its always added on top, so you cant add a body part after the eyes as that will be the wrong order, you can modify that here
+; valid values are: "top", "bottom"
+; default: "top"
+new_layer_on="top"
+
+; Alternatively you may want to set up a layer for each asset, you can do it here
+; higher means on top of lowers
+; default: 0
+layer=0
diff --git a/assets/hair/.thumb/P2.png b/assets/hair/.thumb/P2.png
new file mode 100644 (file)
index 0000000..3561144
Binary files /dev/null and b/assets/hair/.thumb/P2.png differ
diff --git a/assets/hair/.thumb/P3.png b/assets/hair/.thumb/P3.png
new file mode 100644 (file)
index 0000000..7177e78
Binary files /dev/null and b/assets/hair/.thumb/P3.png differ
diff --git a/assets/hair/.thumb/p1.png b/assets/hair/.thumb/p1.png
new file mode 100644 (file)
index 0000000..dbb3dde
Binary files /dev/null and b/assets/hair/.thumb/p1.png differ
diff --git a/assets/hair/P2.png b/assets/hair/P2.png
new file mode 100644 (file)
index 0000000..c449ac8
Binary files /dev/null and b/assets/hair/P2.png differ
diff --git a/assets/hair/P2.png.import b/assets/hair/P2.png.import
new file mode 100644 (file)
index 0000000..17cc59a
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0ve8pptnqi2o"
+path="res://.godot/imported/P2.png-f2d1be62463e4c8b53312002e7d2feb6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/hair/P2.png"
+dest_files=["res://.godot/imported/P2.png-f2d1be62463e4c8b53312002e7d2feb6.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
diff --git a/assets/hair/P3.png b/assets/hair/P3.png
new file mode 100644 (file)
index 0000000..64ca182
Binary files /dev/null and b/assets/hair/P3.png differ
diff --git a/assets/hair/P3.png.import b/assets/hair/P3.png.import
new file mode 100644 (file)
index 0000000..7d1ea34
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://diu8e1oc81nxt"
+path="res://.godot/imported/P3.png-cc1f73160a71844510d491aec2ab0f40.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/hair/P3.png"
+dest_files=["res://.godot/imported/P3.png-cc1f73160a71844510d491aec2ab0f40.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
diff --git a/assets/hair/config.txt b/assets/hair/config.txt
new file mode 100644 (file)
index 0000000..b72c4ef
--- /dev/null
@@ -0,0 +1,24 @@
+; Color to be replaced by the color picker
+; default: #FF00FF (full Red and Blue, no Green)
+color_placeholder="#FF00FF"
+
+; The colors you add next will be the suggested ones to colorize the asset, you can add as much as you want
+; example: ["#FF0000", "#00FF00", "#0000FF"]
+; default: [] (no colors, you can use the color picker either way)
+colors=[]
+
+; Default position where the asset will be placed. Modify the 0s if you want to move it.
+; First value means horizontal, positive right, negative left. The other one means vertical movement, positive up, negative down. 
+; default: Vector2(0, 0)
+position=Vector2(0, 0)
+
+; Layer to draw
+; By default when you add an asset its always added on top, so you cant add a body part after the eyes as that will be the wrong order, you can modify that here
+; valid values are: "top", "bottom"
+; default: "top"
+new_layer_on="top"
+
+; Alternatively you may want to set up a layer for each asset, you can do it here
+; higher means on top of lowers
+; default: 0
+layer=0
diff --git a/assets/hair/p1.png b/assets/hair/p1.png
new file mode 100644 (file)
index 0000000..8cd6f08
Binary files /dev/null and b/assets/hair/p1.png differ
diff --git a/assets/hair/p1.png.import b/assets/hair/p1.png.import
new file mode 100644 (file)
index 0000000..0645554
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm3cntddjagyh"
+path="res://.godot/imported/p1.png-f6b41afd87c42bca7b18da245cfc1076.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/hair/p1.png"
+dest_files=["res://.godot/imported/p1.png-f6b41afd87c42bca7b18da245cfc1076.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
diff --git a/assets/read_me.txt b/assets/read_me.txt
new file mode 100644 (file)
index 0000000..f876d1b
--- /dev/null
@@ -0,0 +1,15 @@
+------------------
+       Picreowo
+------------------
+
+Use this folder to store your assets, by default the app creates some folders as example, but you may add as much as you need or want. Those folders will later be loaded as tabs by the app.
+
+Note that if you edit the folders or some of its contents you have to reopen the app as it currently lacks a way to reload the folders.
+
+There is also a config file in each folder, you can use it to configure colors and some other things. If you ignore or delete them the app will work with the default values.
+
+-----------------
+
+Have fun!
+If something broke, find me at [email protected]
+
diff --git a/back_pain_logo.png b/back_pain_logo.png
new file mode 100644 (file)
index 0000000..c2e16f6
Binary files /dev/null and b/back_pain_logo.png differ
diff --git a/back_pain_logo.png.import b/back_pain_logo.png.import
new file mode 100644 (file)
index 0000000..af4d10e
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://04pg0b6jurvq"
+path="res://.godot/imported/back_pain_logo.png-f22c77de3ad49b054e66aa768559bcb2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://back_pain_logo.png"
+dest_files=["res://.godot/imported/back_pain_logo.png-f22c77de3ad49b054e66aa768559bcb2.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
diff --git a/core b/core
new file mode 100644 (file)
index 0000000..b33eaaa
Binary files /dev/null and b/core differ
diff --git a/export_presets.cfg b/export_presets.cfg
new file mode 100644 (file)
index 0000000..009b830
--- /dev/null
@@ -0,0 +1,104 @@
+[preset.0]
+
+name="Windows Desktop"
+platform="Windows Desktop"
+runnable=true
+advanced_options=false
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter="*.png, *.txt"
+export_path="./Local Picrew.exe"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+script_export_mode=2
+
+[preset.0.options]
+
+custom_template/debug=""
+custom_template/release=""
+debug/export_console_wrapper=0
+binary_format/embed_pck=true
+texture_format/s3tc_bptc=true
+texture_format/etc2_astc=false
+binary_format/architecture="x86_64"
+codesign/enable=false
+codesign/timestamp=true
+codesign/timestamp_server_url=""
+codesign/digest_algorithm=1
+codesign/description=""
+codesign/custom_options=PackedStringArray()
+application/modify_resources=true
+application/icon=""
+application/console_wrapper_icon=""
+application/icon_interpolation=4
+application/file_version=""
+application/product_version=""
+application/company_name="Back Pain Games"
+application/product_name=""
+application/file_description=""
+application/copyright=""
+application/trademarks=""
+application/export_angle=0
+application/export_d3d12=0
+application/d3d12_agility_sdk_multiarch=true
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
+$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
+$trigger = New-ScheduledTaskTrigger -Once -At 00:00
+$settings = New-ScheduledTaskSettingsSet
+$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
+Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
+Start-ScheduledTask -TaskName godot_remote_debug
+while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
+ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
+Remove-Item -Recurse -Force '{temp_dir}'"
+
+[preset.1]
+
+name="Linux"
+platform="Linux"
+runnable=true
+advanced_options=false
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="./Local Picrew.x86_64"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+script_export_mode=2
+
+[preset.1.options]
+
+custom_template/debug=""
+custom_template/release=""
+debug/export_console_wrapper=1
+binary_format/embed_pck=true
+texture_format/s3tc_bptc=true
+texture_format/etc2_astc=false
+binary_format/architecture="x86_64"
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="#!/usr/bin/env bash
+export DISPLAY=:0
+unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
+\"{temp_dir}/{exe_name}\" {cmd_args}"
+ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
+kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
+rm -rf \"{temp_dir}\""
diff --git a/fonts/Kenney Future Narrow.ttf b/fonts/Kenney Future Narrow.ttf
new file mode 100644 (file)
index 0000000..c4cc8a0
Binary files /dev/null and b/fonts/Kenney Future Narrow.ttf differ
diff --git a/fonts/Kenney Future Narrow.ttf.import b/fonts/Kenney Future Narrow.ttf.import
new file mode 100644 (file)
index 0000000..56e7d52
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://df2tropap6syh"
+path="res://.godot/imported/Kenney Future Narrow.ttf-8b30cf33c09b6854a79b688282ef6c0b.fontdata"
+
+[deps]
+
+source_file="res://fonts/Kenney Future Narrow.ttf"
+dest_files=["res://.godot/imported/Kenney Future Narrow.ttf-8b30cf33c09b6854a79b688282ef6c0b.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/fonts/Kenney Future.ttf b/fonts/Kenney Future.ttf
new file mode 100644 (file)
index 0000000..17e2b6c
Binary files /dev/null and b/fonts/Kenney Future.ttf differ
diff --git a/fonts/Kenney Future.ttf.import b/fonts/Kenney Future.ttf.import
new file mode 100644 (file)
index 0000000..7afd9ef
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://8qv0u6p73nmb"
+path="res://.godot/imported/Kenney Future.ttf-ff85032a337e841ccb239ef3b6928d6c.fontdata"
+
+[deps]
+
+source_file="res://fonts/Kenney Future.ttf"
+dest_files=["res://.godot/imported/Kenney Future.ttf-ff85032a337e841ccb239ef3b6928d6c.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/icon.svg b/icon.svg
new file mode 100644 (file)
index 0000000..3fe4f4a
--- /dev/null
+++ b/icon.svg
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
diff --git a/icon.svg.import b/icon.svg.import
new file mode 100644 (file)
index 0000000..18cd51d
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bx1pf45gueqqm"
+path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.svg"
+dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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/picrowo.png b/picrowo.png
new file mode 100644 (file)
index 0000000..0383e9f
Binary files /dev/null and b/picrowo.png differ
diff --git a/picrowo.png.import b/picrowo.png.import
new file mode 100644 (file)
index 0000000..619fd07
--- /dev/null
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ctdpcum2yhvbn"
+path="res://.godot/imported/picrowo.png-c0ff0c3d1b1cf3e97df013ad0414b01b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://picrowo.png"
+dest_files=["res://.godot/imported/picrowo.png-c0ff0c3d1b1cf3e97df013ad0414b01b.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
diff --git a/project.godot b/project.godot
new file mode 100644 (file)
index 0000000..1d8a26b
--- /dev/null
@@ -0,0 +1,43 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+;   [section] ; section goes between []
+;   param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="Local Picrew"
+run/main_scene="res://scenes/splash_screen.tscn"
+config/features=PackedStringArray("4.3", "GL Compatibility")
+run/low_processor_mode=true
+boot_splash/bg_color=Color(1, 0.894118, 0.796078, 1)
+boot_splash/image="res://back_pain_logo.png"
+boot_splash/fullsize=false
+config/icon="res://icon.svg"
+
+[autoload]
+
+Globals="*res://scripts/globals.gd"
+
+[display]
+
+window/size/viewport_width=700
+window/size/viewport_height=1000
+window/size/borderless=true
+window/size/transparent=true
+window/energy_saving/keep_screen_on=false
+window/stretch/mode="viewport"
+window/per_pixel_transparency/allowed=true
+
+[physics]
+
+common/physics_ticks_per_second=10
+
+[rendering]
+
+renderer/rendering_method="gl_compatibility"
+renderer/rendering_method.mobile="gl_compatibility"
diff --git a/scenes/ImageModel.tscn b/scenes/ImageModel.tscn
new file mode 100644 (file)
index 0000000..53d4c90
--- /dev/null
@@ -0,0 +1,20 @@
+[gd_scene load_steps=2 format=3 uid="uid://dlbvag0hb0wny"]
+
+[ext_resource type="Script" path="res://scripts/image_model.gd" id="1_4mtp2"]
+
+[node name="ImageModel" type="Control"]
+layout_mode = 3
+anchor_right = 1.25
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_4mtp2")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.899311, 0.80335, 0.76849, 1)
diff --git a/scenes/interface.gd b/scenes/interface.gd
new file mode 100644 (file)
index 0000000..1d493e2
--- /dev/null
@@ -0,0 +1,226 @@
+extends Control
+
+
+enum LAYER_MOVEMENT {MOVE_UP, MOVE_DOWN}
+enum MOVEMENT {MOVE_UP, MOVE_DOWN, MOVE_RIGHT, MOVE_LEFT}
+
+
+@onready var animation_players: Array[AnimationPlayer] = [
+       $AnimationPlayers/AnimationPlayer1, $AnimationPlayers/AnimationPlayer2, $AnimationPlayers/AnimationPlayer3, 
+       $AnimationPlayers/AnimationPlayer4, $AnimationPlayers/AnimationPlayer5, $AnimationPlayers/AnimationPlayer6, 
+       $AnimationPlayers/AnimationPlayer7, $AnimationPlayers/AnimationPlayer8, $AnimationPlayers/AnimationPlayer9, 
+       $AnimationPlayers/AnimationPlayer10]
+var finger_mouse = load("res://ui/hand_point.svg")
+
+@onready var sections_tabs := $SectionsTabContainer
+var sections_columns: int = 5
+
+var movement_multiplier: int = 1
+@onready var movement_multiplier_label: Label = $MovementControlsNinePatch/MultiplierLabel
+
+# move window helpers
+var _mouse_start_position: Vector2
+var _dragging: bool = false
+
+# menu animations helpers
+var layer_controls_open: bool = false
+var movement_controls_open: bool = false
+var colors_menu_open: bool = false
+
+signal move_layer(LAYER_MOVEMENT)
+signal move_drawing(MOVEMENT, multiplier: int)
+
+
+#region build in funcs
+
+
+func _init():
+       Input.set_custom_mouse_cursor(finger_mouse)
+
+
+func _ready():
+       _on_section_list(Globals.sections)
+
+
+#endregion
+
+#region window controls
+
+
+func _on_close_button_pressed():
+       get_tree().quit(0)
+
+
+func _on_maximize_button_pressed():
+       if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MAXIMIZED:
+               DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
+       else:
+               DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MAXIMIZED)
+
+
+func _on_default_cursor_rect_mouse_entered():
+       Input.set_custom_mouse_cursor(null)
+
+
+func _on_default_cursor_rect_mouse_exited():
+       Input.set_custom_mouse_cursor(finger_mouse)
+
+
+#endregion
+
+#region move window
+
+
+func _input(event: InputEvent):
+       if event is InputEventMouseButton:
+               if event.button_index == MOUSE_BUTTON_LEFT && not event.pressed: 
+                       _dragging = false
+       
+       if event is InputEventMouseMotion and _dragging:
+               accept_event()
+               get_window().position = get_global_mouse_position() - _mouse_start_position + (get_window().position as Vector2)
+
+
+func _on_Titlebar_gui_input(event: InputEvent):
+       if event is InputEventMouseButton:
+               if event.button_index == MOUSE_BUTTON_LEFT && event.pressed:
+                       accept_event()
+                       _mouse_start_position = get_global_mouse_position()
+                       _dragging = true
+
+
+#endregion
+
+#region animations
+
+
+func _on_layer_controls_rect_mouse_entered():
+       if layer_controls_open:
+               return
+               
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               animation_player.play("OpenLayer")
+               layer_controls_open = true
+
+
+func _on_layer_controls_rect_mouse_exited():
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               add_timer_with_timeout(animation_player.play_backwards.bind("OpenLayer"))
+               layer_controls_open = false
+
+
+func _on_movement_controls_rect_mouse_entered():
+       if movement_controls_open:
+               return
+       
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               animation_player.play("openPosition")
+               movement_controls_open = true
+
+
+func _on_movement_controls_mouse_exited():
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               add_timer_with_timeout(animation_player.play_backwards.bind("openPosition"))
+               movement_controls_open = false
+
+
+func _on_colors_mouse_entered():
+       if colors_menu_open:
+               return
+       
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               animation_player.play("openColor")
+               colors_menu_open = true
+
+
+func _on_colors_mouse_exited():
+       var animation_player = get_animation_player()
+       if animation_player != null:
+               add_timer_with_timeout(animation_player.play_backwards.bind("openColor"))
+               colors_menu_open = false
+
+
+#endregion
+
+#region buttons
+
+
+func _on_layer_up_button_pressed():
+       move_layer.emit(LAYER_MOVEMENT.MOVE_UP)
+
+
+func _on_layer_down_button_pressed():
+       move_layer.emit(LAYER_MOVEMENT.MOVE_DOWN)
+
+
+func _on_movement_up_button_pressed():
+       move_drawing.emit(MOVEMENT.MOVE_UP, movement_multiplier)
+
+
+func _on_movement_down_button_pressed():
+       move_drawing.emit(MOVEMENT.MOVE_DOWN, movement_multiplier)
+
+
+func _on_movement_left_button_pressed():
+       move_drawing.emit(MOVEMENT.MOVE_LEFT, movement_multiplier)
+
+
+func _on_movement_right_button_pressed():
+       move_drawing.emit(MOVEMENT.MOVE_RIGHT, movement_multiplier)
+
+
+func _on_multiplier_button_pressed():
+       if movement_multiplier == 1:
+               movement_multiplier = 10
+       else:
+               movement_multiplier = 1
+       
+       movement_multiplier_label.text = " " + str(movement_multiplier)
+
+
+#endregion
+
+#region utils
+
+
+func get_animation_player() -> AnimationPlayer:
+       for ap in animation_players:
+               if not ap.is_playing():
+                       return ap
+       
+       return null
+
+
+func add_timer_with_timeout(function: Callable, seconds: float = 2):
+       var timer = Timer.new()
+       timer.autostart = true
+       timer.one_shot = true
+       timer.wait_time = seconds
+       timer.timeout.connect(function)
+       timer.timeout.connect(timer.queue_free)
+       add_child(timer)
+
+#endregion
+
+#region signal callbacks
+
+
+func _on_section_list(sections: Array[Globals.Section]):
+       # TODO: remove: debug only
+       for child in sections_tabs.get_children():
+               sections_tabs.remove_child(child)
+               child.queue_free()
+       
+       for section in sections:
+               var container = GridContainer.new()
+               container.name = section.name
+               container.columns = sections_columns
+               sections_tabs.add_child(container)
+
+
+#endregion
diff --git a/scenes/interface.tscn b/scenes/interface.tscn
new file mode 100644 (file)
index 0000000..2bb4311
--- /dev/null
@@ -0,0 +1,593 @@
+[gd_scene load_steps=34 format=3 uid="uid://bfqis7iljniu4"]
+
+[ext_resource type="Texture2D" uid="uid://bh8r1544r4w0a" path="res://ui/button_square_depth_line.svg" id="1_4tdiw"]
+[ext_resource type="Script" path="res://scenes/interface.gd" id="1_u68dg"]
+[ext_resource type="Texture2D" uid="uid://2ksj38qp50ka" path="res://ui/icon_cross.svg" id="2_wpbrs"]
+[ext_resource type="PackedScene" uid="uid://bl5au3ffuw4pn" path="res://scenes/main_window.tscn" id="3_rbdes"]
+[ext_resource type="Texture2D" uid="uid://d2ynbocejw2m7" path="res://ui/resize_a_cross_diagonal.svg" id="3_xkt53"]
+[ext_resource type="Texture2D" uid="uid://jyvf5d266eyn" path="res://ui/arrow_n.svg" id="4_a6v15"]
+[ext_resource type="Texture2D" uid="uid://dkrtom37um7ci" path="res://ui/arrow_s.svg" id="5_ejge0"]
+[ext_resource type="Texture2D" uid="uid://crv5nkyeki0cf" path="res://ui/navigation_n.svg" id="6_02kmf"]
+[ext_resource type="Texture2D" uid="uid://doeu7gls8gu80" path="res://ui/rotate_ccw.svg" id="6_3hxsm"]
+[ext_resource type="Texture2D" uid="uid://c6wruvu80rcl8" path="res://ui/input_square.svg" id="7_0owde"]
+[ext_resource type="Texture2D" uid="uid://m50filgtqcge" path="res://ui/divider.svg" id="7_gh07i"]
+[ext_resource type="Texture2D" uid="uid://gw8bdod50l7c" path="res://ui/navigation_s.svg" id="7_muiog"]
+[ext_resource type="Texture2D" uid="uid://de5hlr8gsi2qb" path="res://ui/divider_edges.svg" id="8_3567f"]
+[ext_resource type="FontFile" uid="uid://8qv0u6p73nmb" path="res://fonts/Kenney Future.ttf" id="8_prseq"]
+[ext_resource type="Texture2D" uid="uid://bfxqaotf0owrh" path="res://ui/navigation_w.svg" id="8_r4dsd"]
+[ext_resource type="Texture2D" uid="uid://ct60e6ip1847v" path="res://ui/navigation_e.svg" id="9_cw217"]
+[ext_resource type="Texture2D" uid="uid://b40puvvid5axi" path="res://ui/button_round_line.svg" id="10_1tmay"]
+[ext_resource type="Texture2D" uid="uid://bs230jvbr3gbm" path="res://ui/drawing_picker.svg" id="11_ct4lx"]
+[ext_resource type="Texture2D" uid="uid://dhbbx653ihne6" path="res://ui/button_square_line.svg" id="19_rjy61"]
+
+[sub_resource type="LabelSettings" id="LabelSettings_o5aan"]
+line_spacing = 0.0
+font_size = 12
+
+[sub_resource type="Animation" id="Animation_315ma"]
+resource_name = "OpenLayer"
+length = 0.2
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("LayerControlsNinePatchRect:position")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.1998),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [Vector2(555, 80), Vector2(594, 80)]
+}
+
+[sub_resource type="Animation" id="Animation_mvsb0"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("LayerControlsNinePatchRect:position")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(555, 80)]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("MovementControlsNinePatch:position")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(529, 178)]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("ColorsNinePatch:position")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(519, 300)]
+}
+
+[sub_resource type="Animation" id="Animation_iul8l"]
+resource_name = "openColor"
+length = 0.2
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("ColorsNinePatch:position")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [Vector2(519, 300), Vector2(594, 300)]
+}
+
+[sub_resource type="Animation" id="Animation_l6o8m"]
+resource_name = "openPosition"
+length = 0.2
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("MovementControlsNinePatch:position")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [Vector2(529, 178), Vector2(594, 178)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_5jdm1"]
+_data = {
+"OpenLayer": SubResource("Animation_315ma"),
+"RESET": SubResource("Animation_mvsb0"),
+"openColor": SubResource("Animation_iul8l"),
+"openPosition": SubResource("Animation_l6o8m")
+}
+
+[sub_resource type="SystemFont" id="SystemFont_brntw"]
+font_names = PackedStringArray("Monospace")
+font_weight = 500
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4qoqa"]
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_c50r3"]
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_57r7d"]
+texture = ExtResource("1_4tdiw")
+texture_margin_left = 15.0
+texture_margin_top = 10.0
+texture_margin_right = 15.0
+texture_margin_bottom = 10.0
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_swuan"]
+texture = ExtResource("19_rjy61")
+texture_margin_left = 15.0
+texture_margin_top = 10.0
+texture_margin_right = 15.0
+texture_margin_bottom = 10.0
+
+[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_8tjt5"]
+load_path = "res://.godot/imported/button_square_depth_line.svg-1cc590086494f495d62bde393b0a61c8.ctex"
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_rd6hx"]
+texture = SubResource("CompressedTexture2D_8tjt5")
+texture_margin_left = 15.0
+texture_margin_top = 10.0
+texture_margin_right = 15.0
+texture_margin_bottom = 10.0
+
+[sub_resource type="Theme" id="Theme_jeoki"]
+TabContainer/colors/font_hovered_color = Color(0, 0, 0, 1)
+TabContainer/colors/font_outline_color = Color(0, 0, 0, 0)
+TabContainer/colors/font_selected_color = Color(0, 0, 0, 1)
+TabContainer/colors/font_unselected_color = Color(0.314316, 0.314316, 0.314316, 1)
+TabContainer/fonts/font = SubResource("SystemFont_brntw")
+TabContainer/styles/panel = SubResource("StyleBoxEmpty_4qoqa")
+TabContainer/styles/tab_focus = SubResource("StyleBoxEmpty_c50r3")
+TabContainer/styles/tab_hovered = SubResource("StyleBoxTexture_57r7d")
+TabContainer/styles/tab_selected = SubResource("StyleBoxTexture_swuan")
+TabContainer/styles/tab_unselected = SubResource("StyleBoxTexture_rd6hx")
+
+[node name="Interface" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+mouse_filter = 1
+script = ExtResource("1_u68dg")
+metadata/_edit_vertical_guides_ = [592.0, 559.0, 584.0, 25.0, 575.0, 16.0, 620.0, 623.0, 633.0]
+metadata/_edit_horizontal_guides_ = [500.0, 162.0, 178.0, 230.0, 508.0]
+metadata/_edit_lock_ = true
+
+[node name="DefaultCursorColorRect" type="ColorRect" parent="."]
+layout_mode = 0
+offset_left = 623.0
+offset_right = 699.0
+offset_bottom = 422.0
+color = Color(1, 0, 1, 0)
+
+[node name="DefaultCursorColorRect2" type="ColorRect" parent="."]
+layout_mode = 0
+offset_left = 600.0
+offset_top = 415.0
+offset_right = 700.0
+offset_bottom = 1000.0
+color = Color(1, 0, 1, 0)
+
+[node name="LayerControlsNinePatchRect" type="NinePatchRect" parent="."]
+self_modulate = Color(0.5815, 0.888169, 0.625567, 1)
+layout_mode = 1
+offset_left = 555.0
+offset_top = 80.0
+offset_right = 623.0
+offset_bottom = 162.0
+mouse_filter = 0
+texture = ExtResource("7_0owde")
+region_rect = Rect2(0, 0, 64, 64)
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 8
+
+[node name="LayerLabel" type="Label" parent="LayerControlsNinePatchRect"]
+modulate = Color(0.168371, 0.340173, 0.210412, 1)
+layout_mode = 0
+offset_left = 64.0
+offset_top = 3.0
+offset_right = 139.0
+offset_bottom = 21.0
+rotation = 1.5708
+theme_override_fonts/font = ExtResource("8_prseq")
+text = " Layer"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="LayerUpTextureButton" type="TextureButton" parent="LayerControlsNinePatchRect"]
+self_modulate = Color(0.427451, 0.85098, 0.596078, 1)
+layout_mode = 0
+offset_left = 10.0
+offset_top = 7.0
+offset_right = 42.0
+offset_bottom = 39.0
+mouse_filter = 1
+texture_normal = ExtResource("4_a6v15")
+
+[node name="LayerDownTextureButton" type="TextureButton" parent="LayerControlsNinePatchRect"]
+self_modulate = Color(0.427451, 0.85098, 0.596078, 1)
+layout_mode = 0
+offset_left = 10.0
+offset_top = 42.0
+offset_right = 42.0
+offset_bottom = 74.0
+mouse_filter = 1
+texture_normal = ExtResource("5_ejge0")
+
+[node name="MovementControlsNinePatch" type="NinePatchRect" parent="."]
+self_modulate = Color(0.708798, 0.676581, 0.981097, 1)
+layout_mode = 1
+offset_left = 529.0
+offset_top = 178.0
+offset_right = 623.0
+offset_bottom = 281.0
+mouse_filter = 0
+texture = ExtResource("7_0owde")
+region_rect = Rect2(0, 0, 64, 64)
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 8
+
+[node name="MovementLabel" type="Label" parent="MovementControlsNinePatch"]
+modulate = Color(0.293272, 0.160651, 0.633104, 1)
+layout_mode = 0
+offset_left = 88.0
+offset_top = 8.0
+offset_right = 179.0
+offset_bottom = 26.0
+rotation = 1.5708
+theme_override_fonts/font = ExtResource("8_prseq")
+text = "Position"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="UpButton" type="TextureButton" parent="MovementControlsNinePatch"]
+self_modulate = Color(0.521569, 0.419608, 0.941176, 1)
+layout_mode = 0
+offset_left = 27.0
+offset_top = 14.0
+offset_right = 51.0
+offset_bottom = 46.0
+mouse_filter = 1
+texture_normal = ExtResource("6_02kmf")
+ignore_texture_size = true
+stretch_mode = 3
+
+[node name="DownButton" type="TextureButton" parent="MovementControlsNinePatch"]
+self_modulate = Color(0.521282, 0.42067, 0.942318, 1)
+layout_mode = 0
+offset_left = 27.0
+offset_top = 56.0
+offset_right = 51.0
+offset_bottom = 88.0
+mouse_filter = 1
+texture_normal = ExtResource("7_muiog")
+ignore_texture_size = true
+stretch_mode = 3
+
+[node name="LeftButton" type="TextureButton" parent="MovementControlsNinePatch"]
+self_modulate = Color(0.521569, 0.419608, 0.941176, 1)
+layout_mode = 0
+offset_left = 2.0
+offset_top = 39.0
+offset_right = 34.0
+offset_bottom = 63.0
+mouse_filter = 1
+texture_normal = ExtResource("8_r4dsd")
+ignore_texture_size = true
+stretch_mode = 3
+
+[node name="RightButton" type="TextureButton" parent="MovementControlsNinePatch"]
+self_modulate = Color(0.521569, 0.419608, 0.941176, 1)
+layout_mode = 0
+offset_left = 44.0
+offset_top = 39.0
+offset_right = 76.0
+offset_bottom = 63.0
+mouse_filter = 1
+texture_normal = ExtResource("9_cw217")
+ignore_texture_size = true
+stretch_mode = 3
+
+[node name="MultiplierButton" type="TextureButton" parent="MovementControlsNinePatch"]
+self_modulate = Color(0.521569, 0.419608, 0.941176, 1)
+layout_mode = 0
+offset_left = 3.0
+offset_top = 78.0
+offset_right = 31.0
+offset_bottom = 98.0
+mouse_filter = 1
+texture_normal = ExtResource("10_1tmay")
+ignore_texture_size = true
+stretch_mode = 5
+
+[node name="MultiplierLabel" type="Label" parent="MovementControlsNinePatch"]
+modulate = Color(0.293272, 0.160651, 0.633104, 1)
+layout_mode = 0
+offset_left = 7.0
+offset_top = 79.0
+offset_right = 30.0
+offset_bottom = 97.0
+theme_override_fonts/font = ExtResource("8_prseq")
+text = "1"
+label_settings = SubResource("LabelSettings_o5aan")
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="ColorsNinePatch" type="NinePatchRect" parent="."]
+self_modulate = Color(0.832958, 0.681458, 0.641437, 1)
+layout_mode = 1
+offset_left = 519.0
+offset_top = 300.0
+offset_right = 625.0
+offset_bottom = 403.0
+mouse_filter = 0
+texture = ExtResource("7_0owde")
+region_rect = Rect2(0, 0, 64, 64)
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 8
+
+[node name="ColorLabel" type="Label" parent="ColorsNinePatch"]
+self_modulate = Color(0.370436, 0.24592, 0.213604, 1)
+layout_mode = 0
+offset_left = 100.0
+offset_top = 8.0
+offset_right = 191.0
+offset_bottom = 26.0
+rotation = 1.5708
+theme_override_fonts/font = ExtResource("8_prseq")
+text = "Color"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ColorsNinePatch"]
+layout_mode = 0
+offset_left = 7.0
+offset_top = 9.0
+offset_right = 85.0
+offset_bottom = 99.0
+horizontal_scroll_mode = 0
+
+[node name="GridContainer" type="GridContainer" parent="ColorsNinePatch/ScrollContainer"]
+layout_mode = 2
+columns = 3
+
+[node name="ColorPickerButton" type="ColorPickerButton" parent="ColorsNinePatch/ScrollContainer/GridContainer"]
+custom_minimum_size = Vector2(70, 20)
+layout_mode = 2
+mouse_filter = 1
+
+[node name="TextureRect" type="TextureRect" parent="ColorsNinePatch/ScrollContainer/GridContainer/ColorPickerButton"]
+layout_mode = 1
+anchors_preset = -1
+anchor_right = 1.0
+anchor_bottom = 1.0
+texture = ExtResource("11_ct4lx")
+expand_mode = 1
+stretch_mode = 5
+
+[node name="MainNinePatchRect" type="NinePatchRect" parent="."]
+self_modulate = Color(0.895691, 0.882184, 0.888758, 1)
+layout_mode = 1
+anchors_preset = 9
+anchor_bottom = 1.0
+offset_top = 10.0
+offset_right = 600.0
+grow_vertical = 2
+mouse_filter = 0
+texture = ExtResource("1_4tdiw")
+region_rect = Rect2(0, 0, 64, 64)
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 12
+metadata/_edit_lock_ = true
+
+[node name="MainWindow" parent="." instance=ExtResource("3_rbdes")]
+visible = false
+layout_mode = 1
+offset_left = 6.0
+offset_top = 15.0
+offset_right = -4.0
+offset_bottom = -4.0
+
+[node name="Buttons" type="Node" parent="."]
+
+[node name="DragableRect" type="ColorRect" parent="Buttons"]
+anchors_preset = 10
+anchor_right = 1.0
+offset_left = 7.0
+offset_top = 2.0
+offset_right = 7.0
+offset_bottom = 25.0
+grow_horizontal = 2
+color = Color(1, 1, 1, 0)
+metadata/_edit_lock_ = true
+
+[node name="CloseButton" type="TextureButton" parent="Buttons"]
+offset_left = 567.0
+offset_right = 592.0
+offset_bottom = 23.0
+texture_normal = ExtResource("2_wpbrs")
+stretch_mode = 5
+metadata/_edit_lock_ = true
+
+[node name="MaximizeButton" type="TextureButton" parent="Buttons"]
+offset_left = 529.0
+offset_top = -5.0
+offset_right = 564.0
+offset_bottom = 28.0
+texture_normal = ExtResource("3_xkt53")
+stretch_mode = 5
+metadata/_edit_lock_ = true
+
+[node name="ResetButton" type="TextureButton" parent="."]
+layout_mode = 1
+offset_left = 556.0
+offset_top = 47.0
+offset_right = 588.0
+offset_bottom = 79.0
+texture_normal = ExtResource("6_3hxsm")
+
+[node name="Divider" type="Node" parent="."]
+
+[node name="Divider" type="TextureRect" parent="Divider"]
+self_modulate = Color(0.894118, 0.882353, 0.890196, 1)
+offset_left = 409.0
+offset_top = 502.0
+offset_right = 473.0
+offset_bottom = 506.0
+rotation = 3.14135
+scale = Vector2(4.56, 1)
+texture = ExtResource("7_gh07i")
+metadata/_edit_lock_ = true
+
+[node name="DividerEdge" type="TextureRect" parent="Divider"]
+self_modulate = Color(0.894118, 0.882353, 0.890196, 1)
+offset_left = 249.0
+offset_top = 502.0
+offset_right = 473.0
+offset_bottom = 506.0
+rotation = 3.14135
+texture = ExtResource("8_3567f")
+metadata/_edit_lock_ = true
+
+[node name="DividerEdge2" type="TextureRect" parent="Divider"]
+self_modulate = Color(0.894118, 0.882353, 0.890196, 1)
+offset_left = 575.0
+offset_top = 502.0
+offset_right = 835.0
+offset_bottom = 506.0
+rotation = 3.14135
+texture = ExtResource("8_3567f")
+metadata/_edit_lock_ = true
+
+[node name="AnimationPlayers" type="Node" parent="."]
+
+[node name="AnimationPlayer1" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer2" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer3" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer4" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer5" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer6" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer7" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer8" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer9" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="AnimationPlayer10" type="AnimationPlayer" parent="AnimationPlayers"]
+root_node = NodePath("../..")
+libraries = {
+"": SubResource("AnimationLibrary_5jdm1")
+}
+
+[node name="SectionsTabContainer" type="TabContainer" parent="."]
+layout_mode = 0
+offset_left = 7.0
+offset_top = 510.0
+offset_right = 592.0
+offset_bottom = 990.0
+theme = SubResource("Theme_jeoki")
+current_tab = 1
+
+[node name="Example1" type="GridContainer" parent="SectionsTabContainer"]
+visible = false
+layout_mode = 2
+columns = 5
+metadata/_tab_index = 0
+
+[node name="Example2" type="GridContainer" parent="SectionsTabContainer"]
+layout_mode = 2
+metadata/_tab_index = 1
+
+[connection signal="mouse_entered" from="DefaultCursorColorRect" to="." method="_on_default_cursor_rect_mouse_entered"]
+[connection signal="mouse_exited" from="DefaultCursorColorRect" to="." method="_on_default_cursor_rect_mouse_exited"]
+[connection signal="mouse_entered" from="DefaultCursorColorRect2" to="." method="_on_default_cursor_rect_mouse_entered"]
+[connection signal="mouse_exited" from="DefaultCursorColorRect2" to="." method="_on_default_cursor_rect_mouse_exited"]
+[connection signal="mouse_entered" from="LayerControlsNinePatchRect" to="." method="_on_layer_controls_rect_mouse_entered"]
+[connection signal="mouse_exited" from="LayerControlsNinePatchRect" to="." method="_on_layer_controls_rect_mouse_exited"]
+[connection signal="pressed" from="LayerControlsNinePatchRect/LayerUpTextureButton" to="." method="_on_layer_up_button_pressed"]
+[connection signal="pressed" from="LayerControlsNinePatchRect/LayerDownTextureButton" to="." method="_on_layer_down_button_pressed"]
+[connection signal="mouse_entered" from="MovementControlsNinePatch" to="." method="_on_movement_controls_rect_mouse_entered"]
+[connection signal="mouse_exited" from="MovementControlsNinePatch" to="." method="_on_movement_controls_mouse_exited"]
+[connection signal="pressed" from="MovementControlsNinePatch/UpButton" to="." method="_on_movement_up_button_pressed"]
+[connection signal="pressed" from="MovementControlsNinePatch/DownButton" to="." method="_on_movement_down_button_pressed"]
+[connection signal="pressed" from="MovementControlsNinePatch/LeftButton" to="." method="_on_movement_left_button_pressed"]
+[connection signal="pressed" from="MovementControlsNinePatch/RightButton" to="." method="_on_movement_right_button_pressed"]
+[connection signal="pressed" from="MovementControlsNinePatch/MultiplierButton" to="." method="_on_multiplier_button_pressed"]
+[connection signal="mouse_entered" from="ColorsNinePatch" to="." method="_on_colors_mouse_entered"]
+[connection signal="mouse_exited" from="ColorsNinePatch" to="." method="_on_colors_mouse_exited"]
+[connection signal="gui_input" from="Buttons/DragableRect" to="." method="_on_Titlebar_gui_input"]
+[connection signal="pressed" from="Buttons/CloseButton" to="." method="_on_close_button_pressed"]
+[connection signal="pressed" from="Buttons/MaximizeButton" to="." method="_on_maximize_button_pressed"]
diff --git a/scenes/main_window.tscn b/scenes/main_window.tscn
new file mode 100644 (file)
index 0000000..60070cf
--- /dev/null
@@ -0,0 +1,263 @@
+[gd_scene load_steps=3 format=3 uid="uid://bl5au3ffuw4pn"]
+
+[ext_resource type="Script" path="res://scripts/main_window.gd" id="1_u5tua"]
+[ext_resource type="PackedScene" uid="uid://dlbvag0hb0wny" path="res://scenes/ImageModel.tscn" id="2_j40b2"]
+
+[node name="MainWindow" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_u5tua")
+metadata/_edit_vertical_guides_ = [592.0, 8.0, 533.0]
+metadata/_edit_horizontal_guides_ = [8.0, 47.0, 497.0, 479.0, 432.0, 339.0, 448.0, 262.0, 231.0, 223.0, 186.0]
+
+[node name="Background" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ViewportImage" type="SubViewportContainer" parent="."]
+layout_mode = 1
+anchors_preset = 10
+anchor_right = 1.0
+offset_bottom = 512.0
+grow_horizontal = 2
+
+[node name="SubViewport" type="SubViewport" parent="ViewportImage"]
+handle_input_locally = false
+size = Vector2i(600, 500)
+render_target_update_mode = 4
+
+[node name="ImageModel" parent="ViewportImage/SubViewport" instance=ExtResource("2_j40b2")]
+
+[node name="Sections_BG" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 10
+anchor_right = 1.0
+offset_top = 497.0
+offset_bottom = 538.0
+grow_horizontal = 2
+color = Color(0.912289, 0.912289, 0.912289, 1)
+
+[node name="SectionsScrollContainer" type="ScrollContainer" parent="."]
+layout_mode = 1
+anchors_preset = 10
+anchor_right = 1.0
+offset_top = 497.0
+offset_bottom = 538.0
+grow_horizontal = 2
+horizontal_scroll_mode = 2
+vertical_scroll_mode = 0
+
+[node name="SectionsHBoxContainer" type="HBoxContainer" parent="SectionsScrollContainer"]
+layout_mode = 2
+
+[node name="OptionsScrollContainer" type="ScrollContainer" parent="."]
+layout_mode = 1
+anchors_preset = 12
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = 8.0
+offset_top = -454.0
+offset_right = -8.0
+grow_horizontal = 2
+grow_vertical = 0
+horizontal_scroll_mode = 0
+
+[node name="OptionsGridContainer" type="GridContainer" parent="OptionsScrollContainer"]
+layout_mode = 2
+columns = 5
+
+[node name="ButtonExport" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -67.0
+offset_top = 8.0
+offset_right = -8.0
+offset_bottom = 39.0
+grow_horizontal = 0
+text = "Export"
+
+[node name="ButtonReset" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -67.0
+offset_top = 47.0
+offset_right = -8.0
+offset_bottom = 78.0
+grow_horizontal = 0
+text = "Reset"
+
+[node name="LabelMoveLayer" type="Label" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -67.0
+offset_top = 186.0
+offset_right = -8.0
+offset_bottom = 223.0
+grow_horizontal = 0
+theme_override_constants/line_spacing = -9
+text = "Move layer"
+horizontal_alignment = 1
+autowrap_mode = 3
+
+[node name="ButtonLayerUp" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -67.0
+offset_top = 231.0
+offset_right = -42.0
+offset_bottom = 262.0
+grow_horizontal = 0
+text = " ^ "
+
+[node name="ButtonLayerDown" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -33.0
+offset_top = 231.0
+offset_right = -8.0
+offset_bottom = 262.0
+grow_horizontal = 0
+text = " v "
+
+[node name="ButtonMovementAmount" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -65.0
+offset_top = 370.0
+offset_right = -34.0
+offset_bottom = 401.0
+grow_horizontal = 0
+text = " 1x"
+
+[node name="ButtonUp" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -62.0
+offset_top = 339.0
+offset_right = -37.0
+offset_bottom = 370.0
+grow_horizontal = 0
+text = " ^ "
+
+[node name="ButtonRight" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -34.0
+offset_top = 370.0
+offset_right = -8.0
+offset_bottom = 401.0
+grow_horizontal = 0
+text = " > "
+
+[node name="ButtonLeft" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -91.0
+offset_top = 370.0
+offset_right = -65.0
+offset_bottom = 401.0
+grow_horizontal = 0
+text = " < "
+
+[node name="ButtonDown" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -62.0
+offset_top = 401.0
+offset_right = -37.0
+offset_bottom = 432.0
+grow_horizontal = 0
+text = " v "
+
+[node name="ColorPickerButton" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -67.0
+offset_top = 448.0
+offset_right = -8.0
+offset_bottom = 479.0
+grow_horizontal = 0
+text = "Color Picker"
+
+[node name="ColorPickerNode" type="Control" parent="."]
+visible = false
+layout_mode = 2
+anchors_preset = 0
+offset_top = 540.0
+offset_right = 600.0
+offset_bottom = 1000.0
+
+[node name="ColorPickerBG" type="ColorRect" parent="ColorPickerNode"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_top = -2.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.267742, 0.253788, 0.338362, 1)
+
+[node name="ColorPickerScrollContainer" type="ScrollContainer" parent="ColorPickerNode"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+horizontal_scroll_mode = 0
+vertical_scroll_mode = 2
+
+[node name="CenterContainer" type="CenterContainer" parent="ColorPickerNode/ColorPickerScrollContainer"]
+custom_minimum_size = Vector2(100, 100)
+layout_mode = 2
+size_flags_horizontal = 3
+
+[node name="ColorPicker" type="ColorPicker" parent="ColorPickerNode/ColorPickerScrollContainer/CenterContainer"]
+layout_mode = 2
+alignment = 1
+picker_shape = 2
+color_modes_visible = false
+sliders_visible = false
+
+[connection signal="pressed" from="ButtonExport" to="." method="_on_button_export_pressed"]
+[connection signal="pressed" from="ButtonReset" to="." method="_on_button_reset_pressed"]
+[connection signal="pressed" from="ButtonLayerUp" to="." method="_on_button_layer_up_pressed"]
+[connection signal="pressed" from="ButtonLayerDown" to="." method="_on_button_layer_down_pressed"]
+[connection signal="pressed" from="ButtonMovementAmount" to="." method="_on_button_movement_amount_pressed"]
+[connection signal="pressed" from="ButtonUp" to="." method="_on_button_up_pressed"]
+[connection signal="pressed" from="ButtonRight" to="." method="_on_button_right_pressed"]
+[connection signal="pressed" from="ButtonLeft" to="." method="_on_button_left_pressed"]
+[connection signal="pressed" from="ButtonDown" to="." method="_on_button_down_pressed"]
+[connection signal="pressed" from="ColorPickerButton" to="." method="_color_picker_button_pressed"]
+[connection signal="color_changed" from="ColorPickerNode/ColorPickerScrollContainer/CenterContainer/ColorPicker" to="." method="_on_color_picker_color_changed"]
diff --git a/scenes/splash_screen.tscn b/scenes/splash_screen.tscn
new file mode 100644 (file)
index 0000000..a8c8ec1
--- /dev/null
@@ -0,0 +1,41 @@
+[gd_scene load_steps=4 format=3 uid="uid://do25qu52xjvk5"]
+
+[ext_resource type="Script" path="res://scripts/splash_screen.gd" id="1_vvrqc"]
+[ext_resource type="Texture2D" uid="uid://bh8r1544r4w0a" path="res://ui/button_square_depth_line.svg" id="2_ecs8j"]
+[ext_resource type="Texture2D" uid="uid://44dxc0bmuxmd" path="res://BACKPAIN_LOGO.png" id="3_c26vr"]
+
+[node name="SplashScreen" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_vvrqc")
+metadata/_edit_vertical_guides_ = [300.0]
+
+[node name="MainNinePatchRect" type="NinePatchRect" parent="."]
+self_modulate = Color(1, 0.894118, 0.796078, 1)
+layout_mode = 1
+anchors_preset = 9
+anchor_bottom = 1.0
+offset_top = 10.0
+offset_right = 600.0
+grow_vertical = 2
+mouse_filter = 0
+texture = ExtResource("2_ecs8j")
+region_rect = Rect2(0, 0, 64, 64)
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 12
+metadata/_edit_lock_ = true
+
+[node name="TextureRect" type="TextureRect" parent="."]
+layout_mode = 0
+offset_top = 281.0
+offset_right = 600.0
+offset_bottom = 636.0
+texture = ExtResource("3_c26vr")
+expand_mode = 1
+stretch_mode = 5
diff --git a/scripts/globals.gd b/scripts/globals.gd
new file mode 100644 (file)
index 0000000..071758d
--- /dev/null
@@ -0,0 +1,84 @@
+extends Node
+
+
+class Section:
+       var name: String
+       var colors: Array[Color]
+       var image_paths: Array[String]
+
+
+var _thread := Thread.new()
+
+var sections: Array[Section]
+var files_to_process: Array[String]
+
+
+signal image_loaded
+
+
+func _process(_delta):
+       if not _thread.is_started() and not files_to_process.is_empty():
+               _thread.start(_load_texture.bind(files_to_process[0]))
+       elif _thread.is_started() and !_thread.is_alive():
+               _thread.wait_to_finish()
+
+
+func _exit_tree():
+       if _thread.is_started():
+               _thread.wait_to_finish()
+
+
+func _load_texture(image_file_path: String):
+       var start_time := Time.get_ticks_usec()
+       
+       var file_name := image_file_path.split("/")[-1]
+       var miniature_dir := image_file_path.trim_suffix(file_name) + ".thumb"
+       var miniature_file_path := image_file_path.trim_suffix(file_name) + ".thumb/" + file_name
+       
+       # create it if not exists and save it
+       var dir := DirAccess.open("./")
+       dir.make_dir_recursive(miniature_dir)
+       # hide folder in those systems supported
+       if OS.get_name() in ["Windows", "macOS", "iOS", "FreeBSD", "NetBSD", "OpenBSD", "BSD"]:
+               dir.set_hidden_attribute(miniature_dir, true)
+       
+       var image := Image.load_from_file(image_file_path)
+       
+       # remove transparent pixels
+       var first_h := image.get_height()
+       var first_w := image.get_width()
+       var last_h  := 0
+       var last_w  := 0
+       
+       for h in image.get_height():
+               for w in image.get_width():
+                       if image.get_pixel(w, h).a != 0:
+                               if h < first_h: first_h = h
+                               if h > last_h:  last_h  = h
+                               if w < first_w: first_w = w
+                               if w > last_w:  last_w  = w
+       
+       var new_img = Image.create(last_w - first_w, last_h - first_h, true, image.get_format())
+       new_img.blit_rect(image, Rect2(first_w, first_h, last_w - first_w, last_h - first_h), Vector2i(0, 0))
+       new_img.resize(100, 100, Image.INTERPOLATE_LANCZOS)
+       new_img.save_png(miniature_file_path)
+       
+       # remove work from queue
+       files_to_process.remove_at(files_to_process.find(image_file_path))
+       
+       # notify
+       image_loaded.emit()
+       var elapsed_time := Time.get_ticks_usec() - start_time
+       print("Texture ready, took %d microseconds" % elapsed_time)
+
+
+#region utils
+
+
+func get_section_index(section_name: String):
+       for section in sections:
+               if section.name == section_name:
+                       return sections.find(section)
+
+
+#endregion
diff --git a/scripts/image_model.gd b/scripts/image_model.gd
new file mode 100644 (file)
index 0000000..40ad455
--- /dev/null
@@ -0,0 +1,183 @@
+extends Control
+
+
+var section: String
+var section_z_index := 1
+var movement_multiplier := 1
+var default_position := Vector2(0, 0)
+var color_placeholder: Color
+var color_suggestions: Array[Color]
+
+@onready var main_window := $"../../.."
+@onready var image_model := $"."
+
+
+signal colorsLoaded(placeholder: Color, colors: Array[Color])
+
+
+func _ready():
+       get_viewport().transparent_bg = true
+       main_window.sectionChanged.connect(_on_section_changed)
+       main_window.optionPressed.connect(_on_option_pressed)
+       main_window.resetOptions.connect(_on_reset_pressed)
+       main_window.moveLayer.connect(_movement_pressed)
+       main_window.movementMultiplier.connect(_movement_multiplier)
+       main_window.colorPicked.connect(_on_color_picked)
+       main_window.moveLayerUp.connect(_on_layer_moved_up)
+       main_window.moveLayerDown.connect(_on_layer_moved_down)
+
+
+func _on_section_changed(new_section: String):
+       section = new_section
+       load_section_z_index(new_section)
+       load_default_position(new_section)
+       load_colors(new_section)
+       # print_rich("[color=", color_placeholder.to_html(), "]", color_placeholder, "[/color]")
+
+
+func _on_option_pressed(file_path: String):
+       var image := Image.load_from_file(file_path)
+       var image_texture := ImageTexture.create_from_image(image)
+       
+       var texture_rect: TextureRect
+       
+       for child in image_model.get_children():
+               if child.name == section:
+                       texture_rect = child
+                       break
+       
+       if texture_rect == null:
+               texture_rect = TextureRect.new()
+               texture_rect.name = section
+               texture_rect.z_index = section_z_index
+               texture_rect.position = default_position
+               texture_rect.material = ShaderMaterial.new()
+               texture_rect.material.shader = load("res://shaders/color_changer.gdshader")
+               
+               if color_placeholder != null:
+                       texture_rect.material.set("shader_parameter/placeholder_color", color_placeholder)
+               
+               if not color_suggestions.is_empty():
+                       texture_rect.material.set("shader_parameter/target_color", color_suggestions[0])
+       
+       texture_rect.texture = image_texture
+       texture_rect.stretch_mode = TextureRect.StretchMode.STRETCH_KEEP_ASPECT
+       texture_rect.ignore_texture_size = true
+       texture_rect.custom_minimum_size = Vector2(500, 500)
+       
+       image_model.add_child(texture_rect)
+       # print(file_path)
+
+
+func _on_reset_pressed():
+       for child in image_model.get_children():
+               if child is not ColorRect:
+                       child.queue_free()
+
+
+func _movement_pressed(direction: Vector2):
+       var child := image_model.get_node(section) as TextureRect
+       if child != null:
+               child.position += direction * movement_multiplier
+
+
+func _movement_multiplier():
+       if movement_multiplier == 1:
+               movement_multiplier = 10
+       else:
+               movement_multiplier = 1
+
+
+func load_section_z_index(section: String):
+       # reset value
+       section_z_index = 1
+       
+       var config = ConfigFile.new()
+       var err = config.load("./assets/" + section + "/config.txt")
+       
+       if err != OK:
+               return
+       
+       if config.get_value("", "new_layer_on") is String:
+               if config.get_value("", "new_layer_on") == "bottom":
+                       section_z_index = 0
+       
+       if config.get_value("", "layer") is not int:
+               return
+       
+       if config.get_value("", "layer") != 0:
+               section_z_index = config.get_value("", "layer") as int + 1
+
+
+func load_default_position(section: String):
+       # reset value
+       default_position = Vector2(0, 0)
+       
+       var config = ConfigFile.new()
+       var err = config.load("./assets/" + section + "/config.txt")
+       
+       if err != OK:
+               return
+       
+       if config.get_value("", "position") is Vector2:
+               default_position = config.get_value("", "position")
+
+
+func load_colors(section: String):
+       # reset defaults
+       color_placeholder = Color("#000000")
+       color_suggestions.clear()
+       
+       var config = ConfigFile.new()
+       var err = config.load("./assets/" + section + "/config.txt")
+       
+       if err != OK:
+               return
+               
+       if config.get_value("", "color_placeholder") is not String:
+               return
+       
+       color_placeholder = Color(config.get_value("", "color_placeholder"))
+       
+       if config.get_value("", "colors") is not Array:
+               return
+       
+       for color in config.get_value("", "colors"):
+               color_suggestions.append(Color(color))
+               
+       colorsLoaded.emit(color_placeholder, color_suggestions)
+
+
+func _on_color_picked(color: Color):
+       print_rich("[color=", color.to_html(), "]", color, "[/color]")
+       
+       # search texture
+       var texture_rect: TextureRect
+       
+       for child in image_model.get_children():
+               if child.name == section:
+                       texture_rect = child
+                       break
+                       
+       # set color to shaders
+       texture_rect.material.set("shader_parameter/target_color", color)
+
+
+func _on_layer_moved_up():
+       on_layer_moved("UP")
+
+
+func _on_layer_moved_down():
+       on_layer_moved("DOWN")
+
+
+func on_layer_moved(direction: String):
+       var child := image_model.get_node(section) as TextureRect
+       if child == null:
+               return
+       
+       match direction:
+               "UP":
+                       child.z_index += 1
+               "DOWN":
+                       child.z_index -= 1
diff --git a/scripts/main_window.gd b/scripts/main_window.gd
new file mode 100644 (file)
index 0000000..660d5e2
--- /dev/null
@@ -0,0 +1,159 @@
+extends Control
+
+
+var textures: Array[ImageTexture]
+var texture_names: Array[String]
+
+var selected_color: Color
+var color_placeholder: Color
+var suggested_colors: Array[Color]
+
+@onready var viewport_image := $ViewportImage/SubViewport
+@onready var image_model = $ViewportImage/SubViewport/ImageModel
+@onready var sections_container := $SectionsScrollContainer/SectionsHBoxContainer
+@onready var options_container := $OptionsScrollContainer/OptionsGridContainer
+
+
+signal sectionChanged(section: String)
+signal optionPressed(file_path: String)
+signal moveLayer(direction: Vector2)
+signal moveLayerUp
+signal moveLayerDown
+signal movementMultiplier
+signal resetOptions
+signal colorPicked(color: Color)
+
+
+#region build-in
+
+
+func _ready():
+       image_model.colorsLoaded.connect(add_suggested_colors)
+
+#endregion
+
+
+func form_option_color_rect()-> ColorRect:
+       var colorRect := ColorRect.new()
+       colorRect.color = Color.WHITE_SMOKE
+       colorRect.custom_minimum_size = Vector2(100, 100)
+       return colorRect
+
+
+func form_option_texture_button()-> TextureButton:
+       var textBtn := TextureButton.new()
+       textBtn.stretch_mode = TextureButton.StretchMode.STRETCH_KEEP_ASPECT
+       textBtn.ignore_texture_size = true
+       textBtn.custom_minimum_size = Vector2(100, 100)
+       return textBtn
+
+
+func add_texture_to_button(btn: TextureButton, textureName: String):
+       var i := texture_names.find(textureName)
+       if i == -1: 
+               var timer := Timer.new()
+               timer.name = textureName
+               add_child(timer)
+               timer.autostart = true
+               timer.one_shot = true
+               timer.timeout.connect(call_deferred.bind("add_texture_to_button", btn, textureName))
+               timer.start(.25)
+       else:
+               btn.texture_normal = textures[i]
+
+
+
+
+#region buttons
+
+
+func _on_button_export_pressed():
+       $ViewportImage/SubViewport/ImageModel/ColorRect.visible = false
+       await get_tree().create_timer(.03).timeout
+       var img = viewport_image.get_texture().get_image()
+       img.save_png("./picrowo.png")
+       $ViewportImage/SubViewport/ImageModel/ColorRect.visible = true
+
+func _on_button_reset_pressed():
+       resetOptions.emit()
+
+
+func _section_button_pressed(section: String):
+       sectionChanged.emit(section)
+
+
+func _option_button_pressed(file_path: String):
+       optionPressed.emit(file_path)
+
+
+func _option_button_focused(colorRect: ColorRect, focus: bool):
+       if focus:
+               colorRect.color = Color.ALICE_BLUE
+       else:
+               colorRect.color = Color.WHITE_SMOKE
+
+
+func _on_button_up_pressed():
+       moveLayer.emit(Vector2(0, -1))
+
+
+func _on_button_right_pressed():
+       moveLayer.emit(Vector2(1, 0))
+
+
+func _on_button_left_pressed():
+       moveLayer.emit(Vector2(-1, 0))
+
+
+func _on_button_down_pressed():
+       moveLayer.emit(Vector2(0, 1))
+
+
+func _on_button_movement_amount_pressed():
+       movementMultiplier.emit()
+       if $ButtonMovementAmount.text == " 1x":
+               $ButtonMovementAmount.text = "10x"
+       else:
+               $ButtonMovementAmount.text = " 1x"
+
+
+func _on_button_layer_up_pressed():
+       moveLayerUp.emit()
+
+
+func _on_button_layer_down_pressed():
+       moveLayerDown.emit()
+
+
+#endregion
+#region color picker
+
+
+func _color_picker_button_pressed():
+       $ColorPickerNode.visible = !$ColorPickerNode.visible
+
+
+func add_suggested_colors(placeholder: Color, colors: Array[Color]):
+       var colorPicker: ColorPicker = $ColorPickerNode/ColorPickerScrollContainer/CenterContainer/ColorPicker
+
+       if not colors.is_empty():
+               suggested_colors = colors
+               color_placeholder = placeholder
+               selected_color = colors[0]
+       
+       for color in colors:
+               colorPicker.add_preset(color)
+       
+       # open Swatches (FIX: totally a hack)
+       var btn: Button = colorPicker.get_child(0, true).get_child(0, true).get_child(5, true)
+       colorPicker.get_child(0, true).get_child(0, true).get_child(6, true).visible = true
+       btn.set_pressed_no_signal(true)
+       btn.text = "Suggestions"
+
+
+func _on_color_picker_color_changed(color):
+       selected_color = color
+       colorPicked.emit(color)
+
+
+#endregion
diff --git a/scripts/splash_screen.gd b/scripts/splash_screen.gd
new file mode 100644 (file)
index 0000000..ff75821
--- /dev/null
@@ -0,0 +1,128 @@
+extends Control
+
+
+const example_folders := [
+       "assets/eyes",
+       "assets/ears",
+       "assets/hair",
+       "assets/bodys",
+       "assets/backgrouds"
+]
+
+const read_me_content := """\
+------------------
+       Picreowo
+------------------
+
+Use this folder to store your assets, by default the app creates some folders as example, but you may add as much as you need or want. Those folders will later be loaded as tabs by the app.
+
+Note that if you edit the folders or some of its contents you have to reopen the app as it currently lacks a way to reload the folders.
+
+There is also a config file in each folder, you can use it to configure colors and some other things. If you ignore or delete them the app will work with the default values.
+
+
+Have fun!
+If something broke, find me at [email protected]
+
+"""
+
+const config_file_content := """\
+; Color to be replaced by the color picker
+; default: #FF00FF (full Red and Blue, no Green)
+color_placeholder="#FF00FF"
+
+; The colors you add next will be the suggested ones to colorize the asset, you can add as much as you want
+; example: ["#FF0000", "#00FF00", "#0000FF"]
+; default: [] (no colors, you can use the color picker either way)
+colors=[]
+
+; Default position where the asset will be placed. Modify the 0s if you want to move it.
+; First value means horizontal, positive right, negative left. The other one means vertical movement, positive up, negative down. 
+; default: Vector2(0, 0)
+position=Vector2(0, 0)
+
+; Layer to draw
+; By default when you add an asset its always added on top, so you cant add a body part after the eyes as that will be the wrong order, you can modify that here
+; valid values are: "top", "bottom"
+; default: "top"
+new_layer_on="top"
+
+; Alternatively you may want to set up a layer for each asset, you can do it here
+; higher means on top of lowers
+; default: 0
+layer=0
+"""
+
+
+func _ready():
+       create_folder_structure()
+       load_sections()
+       
+       for section in Globals.sections:
+               load_options(section.name)
+       
+       var new_scene = load("res://scenes/interface.tscn")
+       var timer = Timer.new()
+       timer.autostart = true
+       timer.one_shot = true
+       timer.wait_time = .1
+       timer.timeout.connect(get_tree().change_scene_to_packed.bind(new_scene))
+       add_child(timer)
+
+
+func create_folder_structure():
+       var dir := DirAccess.open("./")
+       
+       if not dir.dir_exists("assets"):
+               for folder in example_folders:
+                       dir.make_dir_recursive(folder)
+       
+       # add config files
+       # one in the root
+       if not dir.file_exists("./assets/read_me.txt"):
+
+               var read_me := FileAccess.open("./assets/read_me.txt", FileAccess.WRITE)
+               read_me.store_string(read_me_content)
+               read_me.close()
+       
+       # one in each folder
+       for folder in DirAccess.get_directories_at("./assets"):
+               if not dir.file_exists("assets/" + folder + "/config.txt"):
+                       
+                       var config_file := FileAccess.open("assets/" + folder + "/config.txt", FileAccess.WRITE)
+                       config_file.store_string(config_file_content)
+                       config_file.close()
+
+
+func load_sections():
+       var dir := DirAccess.open("./assets")
+       var sections = dir.get_directories()
+       
+       for section in sections:
+               var section_instance = Globals.Section.new()
+               section_instance.name = section
+               Globals.sections.append(section_instance)
+
+
+func load_options(section: String):
+       var dir := DirAccess.open("./assets" + "/" + section)
+       var file_list := dir.get_files()
+       
+       for file in file_list:
+               if !file.ends_with(".png"):
+                       continue
+                       
+               var file_path := "./assets" + "/" + section + "/" + file
+               
+               Globals.sections[Globals.get_section_index(section)].image_paths.append(file_path)
+               
+               if dir.dir_exists("/.thumb"):
+                       dir.make_dir("/.thumb")
+               
+               var thumbs := DirAccess.get_files_at("./assets/" + section + "/.thumb")
+               if not thumbs.has(file):
+                       Globals.files_to_process.append(file_path)
+
+
+func load_colors():
+       pass
diff --git a/shaders/color_changer.gdshader b/shaders/color_changer.gdshader
new file mode 100644 (file)
index 0000000..23b6305
--- /dev/null
@@ -0,0 +1,12 @@
+shader_type canvas_item;
+render_mode blend_mix;
+
+uniform vec4 placeholder_color : source_color = vec4(1.0, 0.0, 1.0, 1.0);
+uniform vec4 target_color : source_color = vec4(1.0, 1.0, 1.0, 1.0);
+
+void fragment() {
+       if(COLOR == placeholder_color) {
+               COLOR = target_color;
+       }
+}
+
diff --git a/sounds/click-b.ogg b/sounds/click-b.ogg
new file mode 100644 (file)
index 0000000..570102c
Binary files /dev/null and b/sounds/click-b.ogg differ
diff --git a/sounds/click-b.ogg.import b/sounds/click-b.ogg.import
new file mode 100644 (file)
index 0000000..7ee9989
--- /dev/null
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://b71sqgirpg4ov"
+path="res://.godot/imported/click-b.ogg-bcaf03ecf77599cba4f385bb4628a2a6.oggvorbisstr"
+
+[deps]
+
+source_file="res://sounds/click-b.ogg"
+dest_files=["res://.godot/imported/click-b.ogg-bcaf03ecf77599cba4f385bb4628a2a6.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/sounds/switch-b.ogg b/sounds/switch-b.ogg
new file mode 100644 (file)
index 0000000..88b49a8
Binary files /dev/null and b/sounds/switch-b.ogg differ
diff --git a/sounds/switch-b.ogg.import b/sounds/switch-b.ogg.import
new file mode 100644 (file)
index 0000000..523559e
--- /dev/null
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://5bx66g63guwr"
+path="res://.godot/imported/switch-b.ogg-9e6c85a620e5d6276c6d4e18f6f94849.oggvorbisstr"
+
+[deps]
+
+source_file="res://sounds/switch-b.ogg"
+dest_files=["res://.godot/imported/switch-b.ogg-9e6c85a620e5d6276c6d4e18f6f94849.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/sounds/tap-a.ogg b/sounds/tap-a.ogg
new file mode 100644 (file)
index 0000000..931d627
Binary files /dev/null and b/sounds/tap-a.ogg differ
diff --git a/sounds/tap-a.ogg.import b/sounds/tap-a.ogg.import
new file mode 100644 (file)
index 0000000..c951f45
--- /dev/null
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://b15ugdlwpcyio"
+path="res://.godot/imported/tap-a.ogg-09a3cb3fd02a3cfff016896bf8735458.oggvorbisstr"
+
+[deps]
+
+source_file="res://sounds/tap-a.ogg"
+dest_files=["res://.godot/imported/tap-a.ogg-09a3cb3fd02a3cfff016896bf8735458.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/sounds/tap-b.ogg b/sounds/tap-b.ogg
new file mode 100644 (file)
index 0000000..95fcebf
Binary files /dev/null and b/sounds/tap-b.ogg differ
diff --git a/sounds/tap-b.ogg.import b/sounds/tap-b.ogg.import
new file mode 100644 (file)
index 0000000..4f0af95
--- /dev/null
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cd401dg04pnup"
+path="res://.godot/imported/tap-b.ogg-56e1a8f27d472dfb8bb872559c10cba1.oggvorbisstr"
+
+[deps]
+
+source_file="res://sounds/tap-b.ogg"
+dest_files=["res://.godot/imported/tap-b.ogg-56e1a8f27d472dfb8bb872559c10cba1.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/ui/arrow_n.svg b/ui/arrow_n.svg
new file mode 100644 (file)
index 0000000..0e87b6b
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M22 16 L21 16 21 25 Q21 26.2 20.15 27.15 19.2 28 18 28 L14 28 Q12.8 28 11.9 27.15 11 26.2 11 25 L11 16 10 16 Q8.8 16 7.9 15.15 7 14.2 7 13 7 11.8 7.9 10.9 L13.9 4.9 Q14.8 4 16 4 17.2 4 18.15 4.9 L24.15 10.9 Q25 11.8 25 13 25 14.2 24.15 15.15 23.2 16 22 16 M22 14 L22.7 13.7 23 13 22.7 12.3 16.7 6.3 Q16.4 6 16 6 15.6 6 15.3 6.3 L9.3 12.3 Q9 12.6 9 13 9 13.4 9.3 13.7 9.6 14 10 14 L13 14 13 25 Q13 25.4 13.3 25.7 13.6 26 14 26 L18 26 Q18.4 26 18.7 25.7 L19 25 19 14 22 14"/>
+    <path stroke="none" fill="#FFFFFF" d="M22 14 L19 14 19 25 18.7 25.7 Q18.4 26 18 26 L14 26 Q13.6 26 13.3 25.7 13 25.4 13 25 L13 14 10 14 Q9.6 14 9.3 13.7 9 13.4 9 13 9 12.6 9.3 12.3 L15.3 6.3 Q15.6 6 16 6 16.4 6 16.7 6.3 L22.7 12.3 23 13 22.7 13.7 22 14"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/arrow_n.svg.import b/ui/arrow_n.svg.import
new file mode 100644 (file)
index 0000000..0bfb1c5
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jyvf5d266eyn"
+path="res://.godot/imported/arrow_n.svg-94e8167184d59bdbe9064d650be6decf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/arrow_n.svg"
+dest_files=["res://.godot/imported/arrow_n.svg-94e8167184d59bdbe9064d650be6decf.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/ui/arrow_s.svg b/ui/arrow_s.svg
new file mode 100644 (file)
index 0000000..a24bbeb
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M14 6 Q13.6 6 13.3 6.3 13 6.6 13 7 L13 18 10 18 Q9.6 18 9.3 18.3 9 18.6 9 19 9 19.4 9.3 19.7 L15.3 25.7 16 26 16.7 25.7 22.7 19.7 23 19 22.7 18.3 Q22.4 18 22 18 L19 18 19 7 18.7 6.3 Q18.4 6 18 6 L14 6 M18 4 Q19.2 4 20.15 4.9 21 5.8 21 7 L21 16 22 16 Q23.2 16 24.15 16.9 25 17.8 25 19 25 20.2 24.15 21.15 L18.15 27.15 Q17.2 28 16 28 14.8 28 13.9 27.15 L7.9 21.15 Q7 20.2 7 19 7 17.8 7.9 16.9 8.8 16 10 16 L11 16 11 7 Q11 5.8 11.9 4.9 12.8 4 14 4 L18 4"/>
+    <path stroke="none" fill="#FFFFFF" d="M14 6 L18 6 Q18.4 6 18.7 6.3 L19 7 19 18 22 18 Q22.4 18 22.7 18.3 L23 19 22.7 19.7 16.7 25.7 16 26 15.3 25.7 9.3 19.7 Q9 19.4 9 19 9 18.6 9.3 18.3 9.6 18 10 18 L13 18 13 7 Q13 6.6 13.3 6.3 13.6 6 14 6"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/arrow_s.svg.import b/ui/arrow_s.svg.import
new file mode 100644 (file)
index 0000000..82a9199
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkrtom37um7ci"
+path="res://.godot/imported/arrow_s.svg-b2841ee15f18488c2658eef147f09072.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/arrow_s.svg"
+dest_files=["res://.godot/imported/arrow_s.svg-b2841ee15f18488c2658eef147f09072.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/ui/busy_circle.svg b/ui/busy_circle.svg
new file mode 100644 (file)
index 0000000..107dedc
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M21.65 10.35 Q23.65 12.35 23.95 15.1 24 15.5 24.3 15.75 24.55 16 24.95 16 L26.95 16 27.5 15.85 27.85 15.45 27.95 14.95 Q27.6 10.65 24.5 7.5 21 4 16 4 11.15 4 7.7 7.35 L7.5 7.5 7.35 7.7 Q4 11.15 4 16 4 20.9 7.5 24.45 L7.65 24.7 Q10.75 27.65 14.95 27.95 L15.45 27.85 15.85 27.5 16 26.95 16 24.95 15.75 24.3 Q15.5 24 15.1 23.95 12.5 23.65 10.55 21.8 L10.35 21.7 10.3 21.65 Q8 19.25 8 16 8 12.7 10.3 10.35 L10.35 10.3 Q12.7 8 16 8 19.3 8 21.65 10.35 M20.25 11.8 Q18.45 10 16 10 13.5 10 11.75 11.75 L11.8 11.75 11.75 11.8 11.75 11.75 Q10 13.5 10 16 10 18.3 11.55 20.05 L11.95 20.35 Q13.4 21.75 15.35 22 16.55 22.1 17.3 23.05 L17.2 22.9 Q18 23.65 18 24.95 L18 26.95 Q18 27.8 17.6 28.55 L17.45 28.7 16.5 29.6 Q15.65 30.05 14.8 29.95 9.9 29.6 6.3 26.15 L6 25.8 5.9 25.65 Q2 21.55 2 16 2 10.5 5.7 6.55 L6.1 6.1 6.55 5.7 Q10.5 2 16 2 21.85 2 25.95 6.1 29.55 9.8 29.95 14.8 30.05 15.65 29.6 16.5 L28.7 17.45 28.55 17.6 26.95 18 24.95 18 Q23.65 18 22.9 17.2 L23.05 17.3 Q22.15 16.55 22 15.35 L21.95 15.35 Q21.7 13.25 20.25 11.8 M11.7 20.25 L11.75 20.3 11.75 20.25 11.7 20.25"/>
+    <path stroke="none" fill="#FFFFFF" d="M21.65 10.35 Q19.3 8 16 8 12.7 8 10.35 10.3 L10.3 10.35 Q8 12.7 8 16 8 19.25 10.3 21.65 L10.35 21.7 10.55 21.8 Q12.5 23.65 15.1 23.95 15.5 24 15.75 24.3 L16 24.95 16 26.95 15.85 27.5 15.45 27.85 14.95 27.95 Q10.75 27.65 7.65 24.7 L7.5 24.45 Q4 20.9 4 16 4 11.15 7.35 7.7 L7.5 7.5 7.7 7.35 Q11.15 4 16 4 21 4 24.5 7.5 27.6 10.65 27.95 14.95 L27.85 15.45 27.5 15.85 26.95 16 24.95 16 Q24.55 16 24.3 15.75 24 15.5 23.95 15.1 23.65 12.35 21.65 10.35"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/busy_circle.svg.import b/ui/busy_circle.svg.import
new file mode 100644 (file)
index 0000000..a9172e1
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0jkp7avf8stg"
+path="res://.godot/imported/busy_circle.svg-d31c99ad951c01de44ed4cd12cae5e01.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/busy_circle.svg"
+dest_files=["res://.godot/imported/busy_circle.svg-d31c99ad951c01de44ed4cd12cae5e01.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/ui/busy_circle_fade.svg b/ui/busy_circle_fade.svg
new file mode 100644 (file)
index 0000000..63e7e8b
--- /dev/null
@@ -0,0 +1,13 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <linearGradient gradientUnits="userSpaceOnUse" x1="-819.2" x2="819.2" spreadMethod="pad" gradientTransform="matrix(0.0048828125 0.0048828125 -0.005157470703125 0.005157470703125 10.05 21.95)" id="gradient0">
+      <stop offset="0" stop-color="#FFFFFF"/>
+      <stop offset="1"/>
+    </linearGradient>
+  </defs>
+  <g>
+    <path stroke="none" fill="#000000" d="M8 16 Q8 12.7 10.3 10.35 L10.35 10.3 Q12.7 8 16 8 19.3 8 21.65 10.35 23.65 12.35 23.95 15.1 24 15.5 24.3 15.75 24.55 16 24.95 16 L26.95 16 27.5 15.85 27.85 15.45 27.95 14.95 Q27.6 10.65 24.5 7.5 21 4 16 4 11.15 4 7.7 7.35 L7.5 7.5 7.35 7.7 Q4 11.15 4 16 4 20.9 7.5 24.45 L7.65 24.7 Q10.75 27.65 14.95 27.95 L15.45 27.85 15.85 27.5 16 27 16 24.95 15.75 24.3 Q15.5 24 15.1 23.95 12.5 23.65 10.55 21.8 L10.35 21.7 10.3 21.65 Q8 19.25 8 16 M16 2 Q21.85 2 25.95 6.1 29.55 9.8 29.95 14.8 30.05 15.65 29.6 16.5 L28.7 17.45 28.55 17.6 26.95 18 24.95 18 Q23.65 18 22.9 17.2 L23.05 17.3 Q22.15 16.55 22 15.35 L21.95 15.35 Q21.7 13.25 20.25 11.8 18.45 10 16 10 13.5 10 11.75 11.75 L11.8 11.75 11.75 11.8 11.75 11.75 Q10 13.5 10 16 10 18.3 11.55 20.05 L11.95 20.35 Q13.4 21.75 15.35 22 16.55 22.1 17.3 23.05 L17.2 22.9 Q18 23.65 18 24.9 L18 27.05 17.6 28.55 17.45 28.7 16.5 29.6 Q15.65 30.05 14.8 29.95 9.9 29.6 6.3 26.15 L6 25.8 5.9 25.65 Q2 21.55 2 16 2 10.5 5.7 6.55 L6.1 6.1 6.55 5.7 Q10.5 2 16 2 M11.7 20.25 L11.75 20.3 11.75 20.25 11.7 20.25"/>
+    <path stroke="none" fill="#FFFFFF" d="M4 16 Q4 11.15 7.35 7.7 L7.5 7.5 7.7 7.35 Q11.15 4 16 4 21 4 24.5 7.5 27.6 10.65 27.95 14.95 L27.85 15.45 27.5 15.85 26.95 16 24.95 16 Q24.55 16 24.3 15.75 24 15.5 23.95 15.1 23.65 12.35 21.65 10.35 19.3 8 16 8 12.7 8 10.35 10.3 L10.3 10.35 Q8 12.7 8 16 L4 16"/>
+    <path stroke="none" fill="url(#gradient0)" d="M4 16 L8 16 Q8 19.25 10.3 21.65 L10.35 21.7 10.55 21.8 Q12.5 23.65 15.1 23.95 15.5 24 15.75 24.3 L16 24.95 16 27 15.85 27.5 15.45 27.85 14.95 27.95 Q10.75 27.65 7.65 24.7 L7.5 24.45 Q4 20.9 4 16"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/busy_circle_fade.svg.import b/ui/busy_circle_fade.svg.import
new file mode 100644 (file)
index 0000000..74d9467
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deqpv0d5vygrh"
+path="res://.godot/imported/busy_circle_fade.svg-97e71eedf98bb2d495dc6994a3e6800a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/busy_circle_fade.svg"
+dest_files=["res://.godot/imported/busy_circle_fade.svg-97e71eedf98bb2d495dc6994a3e6800a.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/ui/button_rectangle_depth_line.svg b/ui/button_rectangle_depth_line.svg
new file mode 100644 (file)
index 0000000..54e05fc
--- /dev/null
@@ -0,0 +1,10 @@
+<svg width="192" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M189.95 25.2 L190 26 190 54 Q190 58 186 58 L6 58 Q2 58 2 54 L2 26 2.05 25.2 2.05 24.8 2 24 2 6 2.1 5.05 Q2.5 2 6 2 L186 2 Q189.5 2 189.95 5.05 L190 6 190 24 189.95 24.8 189.95 25.2 M6 4 Q4.35 4 4.1 5.3 L4.05 5.5 4 6 4 24 4.05 24.55 4.05 24.8 4.05 25.2 4.05 25.45 4 26 4 54 Q4 56 6 56 L186 56 Q188 56 188 54 L188 26 188 25.45 187.95 25.2 187.95 24.8 188 24.55 188 24 188 6 187.95 5.3 188 5.35 Q187.65 4 186 4 L6 4 M84.7 6 L186 6 186 24 186 24.3 185.95 24.8 185.95 25.2 186 25.75 186 26 186 54 87.55 54 81.8 54 6 54 6 26 6.05 25.8 6.05 25.45 6.05 25.2 6.05 24.8 6.05 24.55 6 24.15 6 24 6 6 81.8 6 84.7 6"/>
+    <path stroke="none" fill="#DADCE7" d="M84.7 6 L81.8 6 6 6 6 24 6 24.15 6.05 24.55 6.05 24.8 6.05 25.2 6.05 25.45 6.05 25.8 6 26 6 54 81.8 54 87.55 54 186 54 186 26 186 25.75 185.95 25.2 185.95 24.8 186 24.3 186 24 186 6 84.7 6 M6 4 L186 4 Q187.65 4 188 5.35 L187.95 5.3 188 6 188 24 188 24.55 187.95 24.8 187.95 25.2 188 25.45 188 26 188 54 Q188 56 186 56 L6 56 Q4 56 4 54 L4 26 4.05 25.45 4.05 25.2 4.05 24.8 4.05 24.55 4 24 4 6 4.05 5.5 4.1 5.3 Q4.35 4 6 4"/>
+    <path stroke="none" fill="#9696A3" d="M0 24.75 L0 6 Q0 0 6 0 L186 0 Q192 0 192 6 L192 24.75 191.95 25 192 25.4 192 54.25 Q191.85 60 186 60 L6 60 Q0.15 60 0 54.25 L0 25.4 0.05 25 0 24.75 M189.95 25.2 L189.95 24.8 190 24 190 6 189.95 5.05 Q189.5 2 186 2 L6 2 Q2.5 2 2.1 5.05 L2 6 2 24 2.05 24.8 2.05 25.2 2 26 2 54 Q2 58 6 58 L186 58 Q190 58 190 54 L190 26 189.95 25.2"/>
+    <path stroke="none" fill="#FF0000" d="M192 24.75 L192 25.4 191.95 25 192 24.75 M0 25.4 L0 24.75 0.05 25 0 25.4"/>
+    <path stroke="none" fill="#747487" d="M192 54.25 L192 58 Q192 64 186 64 L6 64 Q0 64 0 58 L0 54.25 Q0.15 60 6 60 L186 60 Q191.85 60 192 54.25"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_rectangle_depth_line.svg.import b/ui/button_rectangle_depth_line.svg.import
new file mode 100644 (file)
index 0000000..3c468fb
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5qonnbx3tie8"
+path="res://.godot/imported/button_rectangle_depth_line.svg-ad097e92a86e707ed92f71411caebd34.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_rectangle_depth_line.svg"
+dest_files=["res://.godot/imported/button_rectangle_depth_line.svg-ad097e92a86e707ed92f71411caebd34.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/ui/button_rectangle_line.svg b/ui/button_rectangle_line.svg
new file mode 100644 (file)
index 0000000..ebacfbe
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="192" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#9696A3" d="M186.5 2.05 L6 2 5.9 2 5.4 2.05 Q2 2.3 2 5.95 L2 58 Q2 62 6 62 L186 62 Q190 62 190 58 L190 5.95 Q190 2.25 186.5 2.05 M0 58.25 L0 5.95 Q0.05 0 6 0 L186 0 Q192 0 192 5.95 L192 58.25 Q191.85 64 186 64 L6 64 Q0.15 64 0 58.25"/>
+    <path stroke="none" fill="#FFFFFF" d="M186.5 2.05 Q190 2.25 190 5.95 L190 58 Q190 62 186 62 L6 62 Q2 62 2 58 L2 5.95 Q2 2.3 5.4 2.05 L5.9 2 6 2 186.5 2.05 M186.4 4.05 L6.1 4 5.6 4.05 5.55 4.05 Q4 4.2 4 5.95 L4 58 Q4 60 6 60 L186 60 Q188 60 188 58 L188 5.95 Q188 4.2 186.4 4.05 M6.3 6 L186 6.05 186 58 6 58 6 6.05 6.3 6"/>
+    <path stroke="none" fill="#DADCE7" d="M6.3 6 L6 6.05 6 58 186 58 186 6.05 6.3 6 M186.4 4.05 Q188 4.2 188 5.95 L188 58 Q188 60 186 60 L6 60 Q4 60 4 58 L4 5.95 Q4 4.2 5.55 4.05 L5.6 4.05 6.1 4 186.4 4.05"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_rectangle_line.svg.import b/ui/button_rectangle_line.svg.import
new file mode 100644 (file)
index 0000000..dde4f2c
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tmikywrrcq54"
+path="res://.godot/imported/button_rectangle_line.svg-29bb65383c8143d9039f9f63d0f70180.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_rectangle_line.svg"
+dest_files=["res://.godot/imported/button_rectangle_line.svg-29bb65383c8143d9039f9f63d0f70180.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/ui/button_round_depth_line.svg b/ui/button_round_depth_line.svg
new file mode 100644 (file)
index 0000000..e027216
--- /dev/null
@@ -0,0 +1,9 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#DADCE7" d="M13.6 13.7 L13.25 13.95 Q7.2 20.25 6.25 28.75 L6.25 28.9 6.05 30.95 6.05 31.05 6.1 31.55 6.1 31.8 Q6.7 40.45 13.5 46.85 21.15 54 32 54 42.8 54 50.5 46.85 57.3 40.5 57.95 31.9 57.7 30.95 58 30.05 L57.85 28.75 57.9 28.75 Q56.85 20 50.35 13.7 42.65 6 32 6 21.25 6 13.65 13.65 L13.6 13.7 M12.2 12.2 Q20.4 4 32 4 43.5 4 51.75 12.25 58.75 19.1 59.85 28.5 L60 30.4 Q59.7 31 60 31.6 L59.95 31.8 59.95 31.9 Q59.3 41.35 51.85 48.3 43.6 56 32 56 20.35 56 12.1 48.3 4.7 41.35 4.1 31.9 L4.1 31.8 4.05 31.05 4.05 30.95 4.25 28.55 4.25 28.5 Q5.3 19.1 12.15 12.2 L12.15 12.25 12.2 12.2"/>
+    <path stroke="none" fill="#FFFFFF" d="M12.2 12.2 L12.15 12.25 12.15 12.2 Q5.3 19.1 4.25 28.5 L4.25 28.55 4.05 30.95 4.05 31.05 4.1 31.8 4.1 31.9 Q4.7 41.35 12.1 48.3 20.35 56 32 56 43.6 56 51.85 48.3 59.3 41.35 59.95 31.9 L59.95 31.8 60 31.6 Q59.7 31 60 30.4 L59.85 28.5 Q58.75 19.1 51.75 12.25 43.5 4 32 4 20.4 4 12.2 12.2 M13.6 13.7 L13.65 13.65 Q21.25 6 32 6 42.65 6 50.35 13.7 56.85 20 57.9 28.75 L57.85 28.75 58 30.05 Q57.7 30.95 57.95 31.9 57.3 40.5 50.5 46.85 42.8 54 32 54 21.15 54 13.5 46.85 6.7 40.45 6.1 31.8 L6.1 31.55 6.05 31.05 6.05 30.95 6.25 28.9 6.25 28.75 Q7.2 20.25 13.25 13.95 L13.6 13.7 M2.05 31.05 L2.05 30.95 2.25 28.25 Q3.35 18.2 10.7 10.8 L10.75 10.75 Q19.6 2 32 2 44.35 2 53.15 10.8 60.65 18.2 61.8 28.25 L62 30.95 62 31.05 61.95 32 Q61.25 42.25 53.2 49.75 44.4 58 32 58 19.55 58 10.7 49.75 2.75 42.25 2.1 32 L2.05 31.05"/>
+    <path stroke="none" fill="#9696A3" d="M2.05 31.05 L2.1 32 Q2.75 42.25 10.7 49.75 19.55 58 32 58 44.4 58 53.2 49.75 61.25 42.25 61.95 32 L62 31.05 62 30.95 61.8 28.25 Q60.65 18.2 53.15 10.8 44.35 2 32 2 19.6 2 10.75 10.75 L10.7 10.8 Q3.35 18.2 2.25 28.25 L2.05 30.95 2.05 31.05 M0.05 31 L0.25 28.05 Q1.45 17.3 9.3 9.35 18.75 0 32 0 45.2 0 54.55 9.35 62.55 17.3 63.8 28.05 L64 31 64 31.7 63.95 32 Q63.25 43.1 54.55 51.2 45.2 60 32 60 18.75 60 9.3 51.2 0.75 43.1 0.1 32 L0.05 31"/>
+    <path stroke="none" fill="#747487" d="M0.05 31 L0.1 32 Q0.75 43.1 9.3 51.2 18.75 60 32 60 45.2 60 54.55 51.2 63.25 43.1 63.95 32 L64 31.7 64 32 Q64 45.25 54.55 54.6 45.2 64 32 64 18.75 64 9.3 54.6 0 45.25 0 32 L0.05 31"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_round_depth_line.svg.import b/ui/button_round_depth_line.svg.import
new file mode 100644 (file)
index 0000000..0194516
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://j80o5g1y0yeq"
+path="res://.godot/imported/button_round_depth_line.svg-3aaad8e7edb1355951c62e64d7acca6a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_round_depth_line.svg"
+dest_files=["res://.godot/imported/button_round_depth_line.svg-3aaad8e7edb1355951c62e64d7acca6a.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/ui/button_round_line.svg b/ui/button_round_line.svg
new file mode 100644 (file)
index 0000000..306f22f
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#9696A3" d="M2 32 Q2 44.4 10.8 53.2 19.6 62 32 62 44.4 62 53.25 53.2 62 44.4 62 32 62 19.55 53.25 10.8 44.45 2 32 2 19.55 2 10.75 10.8 L10.8 10.8 Q2 19.55 2 32 M64 32 Q64 45.25 54.65 54.6 45.25 64 32 64 18.75 64 9.35 54.6 0 45.25 0 32 0 18.7 9.35 9.35 18.75 0 32 0 45.25 0 54.65 9.35 64 18.7 64 32"/>
+    <path stroke="none" fill="#DADCE7" d="M4 32 Q4 20.4 12.2 12.25 L12.4 12.05 Q20.55 4 32 4 43.6 4 51.85 12.25 60 20.4 60 32 60 43.55 51.85 51.8 43.55 60 32 60 20.45 60 12.25 51.8 4 43.55 4 32 M13.8 13.5 L13.7 13.6 13.6 13.7 Q6 21.25 6 32 6 42.7 13.7 50.4 21.3 58 32 58 42.7 58 50.45 50.4 58 42.7 58 32 58 21.25 50.45 13.7 42.75 6 32 6 21.35 6 13.8 13.5"/>
+    <path stroke="none" fill="#FFFFFF" d="M13.8 13.5 Q21.35 6 32 6 42.75 6 50.45 13.7 58 21.25 58 32 58 42.7 50.45 50.4 42.7 58 32 58 21.3 58 13.7 50.4 6 42.7 6 32 6 21.25 13.6 13.7 L13.7 13.6 13.8 13.5 M2 32 Q2 19.55 10.8 10.8 L10.75 10.8 Q19.55 2 32 2 44.45 2 53.25 10.8 62 19.55 62 32 62 44.4 53.25 53.2 44.4 62 32 62 19.6 62 10.8 53.2 2 44.4 2 32 M4 32 Q4 43.55 12.25 51.8 20.45 60 32 60 43.55 60 51.85 51.8 60 43.55 60 32 60 20.4 51.85 12.25 43.6 4 32 4 20.55 4 12.4 12.05 L12.2 12.25 Q4 20.4 4 32"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_round_line.svg.import b/ui/button_round_line.svg.import
new file mode 100644 (file)
index 0000000..45779ef
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b40puvvid5axi"
+path="res://.godot/imported/button_round_line.svg-9d296915c41610ef5c9c46d9e5437bad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_round_line.svg"
+dest_files=["res://.godot/imported/button_round_line.svg-9d296915c41610ef5c9c46d9e5437bad.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/ui/button_square_depth_line.svg b/ui/button_square_depth_line.svg
new file mode 100644 (file)
index 0000000..0b46e7f
--- /dev/null
@@ -0,0 +1,10 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#9696A3" d="M61.95 25.2 L61.95 24.8 62 24 62 6 61.95 5.05 Q61.5 2 58 2 L6 2 Q2.5 2 2.1 5.05 L2 6 2 24 2.05 24.8 2.05 25.2 2 26 2 54 Q2 58 6 58 L58 58 Q62 58 62 54 L62 26 61.95 25.2 M64 24.75 L63.95 25 64 25.4 64 54.25 Q63.85 60 58 60 L6 60 Q0.15 60 0 54.25 L0 25.4 0.05 25 0 24.75 0 6 Q0 0 6 0 L58 0 Q64 0 64 6 L64 24.75"/>
+    <path stroke="none" fill="#FFFFFF" d="M61.95 25.2 L62 26 62 54 Q62 58 58 58 L6 58 Q2 58 2 54 L2 26 2.05 25.2 2.05 24.8 2 24 2 6 2.1 5.05 Q2.5 2 6 2 L58 2 Q61.5 2 61.95 5.05 L62 6 62 24 61.95 24.8 61.95 25.2 M6 4 Q4.35 4 4.1 5.3 L4.05 5.5 4 6 4 24 4.05 24.55 4.05 24.8 4.05 25.2 4.05 25.45 4 26 4 54 Q4 56 6 56 L58 56 Q60 56 60 54 L60 26 60 25.45 59.95 25.2 59.95 24.8 60 24.55 60 24 60 6 59.95 5.3 60 5.35 Q59.65 4 58 4 L6 4 M26.15 6 L58 6 58 24 58 24.3 57.95 24.8 57.95 25.2 58 25.75 58 26 58 54 26.3 54 26 54 6 54 6 26 6.05 25.8 6.05 25.45 6.05 25.2 6.05 24.8 6.05 24.55 6 24.15 6 24 6 6 26 6 26.15 6"/>
+    <path stroke="none" fill="#DADCE7" d="M26.15 6 L26 6 6 6 6 24 6 24.15 6.05 24.55 6.05 24.8 6.05 25.2 6.05 25.45 6.05 25.8 6 26 6 54 26 54 26.3 54 58 54 58 26 58 25.75 57.95 25.2 57.95 24.8 58 24.3 58 24 58 6 26.15 6 M6 4 L58 4 Q59.65 4 60 5.35 L59.95 5.3 60 6 60 24 60 24.55 59.95 24.8 59.95 25.2 60 25.45 60 26 60 54 Q60 56 58 56 L6 56 Q4 56 4 54 L4 26 4.05 25.45 4.05 25.2 4.05 24.8 4.05 24.55 4 24 4 6 4.05 5.5 4.1 5.3 Q4.35 4 6 4"/>
+    <path stroke="none" fill="#FF0000" d="M64 25.4 L63.95 25 64 24.75 64 25.4 M0 24.75 L0.05 25 0 25.4 0 24.75"/>
+    <path stroke="none" fill="#747487" d="M0 54.25 Q0.15 60 6 60 L58 60 Q63.85 60 64 54.25 L64 58 Q64 64 58 64 L6 64 Q0 64 0 58 L0 54.25"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_square_depth_line.svg.import b/ui/button_square_depth_line.svg.import
new file mode 100644 (file)
index 0000000..9acba75
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bh8r1544r4w0a"
+path="res://.godot/imported/button_square_depth_line.svg-1cc590086494f495d62bde393b0a61c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_square_depth_line.svg"
+dest_files=["res://.godot/imported/button_square_depth_line.svg-1cc590086494f495d62bde393b0a61c8.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/ui/button_square_line.svg b/ui/button_square_line.svg
new file mode 100644 (file)
index 0000000..3df0c37
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#9696A3" d="M62 6 L61.95 5.05 Q61.5 2 58 2 L6 2 Q2.5 2 2.1 5.05 L2 6 2 58 Q2 62 6 62 L58 62 Q62 62 62 58 L62 6 M0 58.25 L0 6 Q0 0 6 0 L58 0 Q64 0 64 6 L64 58.25 Q63.85 64 58 64 L6 64 Q0.15 64 0 58.25"/>
+    <path stroke="none" fill="#FFFFFF" d="M6 4 Q4.35 4 4.1 5.3 L4.05 5.5 4 6 4 58 Q4 60 6 60 L27.45 60 28 60 58 60 Q60 60 60 58 L60 6 59.95 5.3 60 5.35 Q59.65 4 58 4 L6 4 M62 6 L62 58 Q62 62 58 62 L6 62 Q2 62 2 58 L2 6 2.1 5.05 Q2.5 2 6 2 L58 2 Q61.5 2 61.95 5.05 L62 6 M6 6 L58 6 58 58 28 58 27.45 58 6 58 6 6"/>
+    <path stroke="none" fill="#DADCE7" d="M6 6 L6 58 27.45 58 28 58 58 58 58 6 6 6 M6 4 L58 4 Q59.65 4 60 5.35 L59.95 5.3 60 6 60 58 Q60 60 58 60 L28 60 27.45 60 6 60 Q4 60 4 58 L4 6 4.05 5.5 4.1 5.3 Q4.35 4 6 4"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/button_square_line.svg.import b/ui/button_square_line.svg.import
new file mode 100644 (file)
index 0000000..ecc3f3f
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhbbx653ihne6"
+path="res://.godot/imported/button_square_line.svg-7994aaf66030e063d75d9625554db8cf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/button_square_line.svg"
+dest_files=["res://.godot/imported/button_square_line.svg-7994aaf66030e063d75d9625554db8cf.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/ui/divider.svg b/ui/divider.svg
new file mode 100644 (file)
index 0000000..a80151f
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="64" height="4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M64 2 L64 4 0 4 0 2 64 2"/>
+    <path stroke="none" fill="#989AAF" d="M64 2 L0 2 0 0 64 0 64 2"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/divider.svg.import b/ui/divider.svg.import
new file mode 100644 (file)
index 0000000..44c6baf
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://m50filgtqcge"
+path="res://.godot/imported/divider.svg-490866f1e5609c2deee7814b94434af0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/divider.svg"
+dest_files=["res://.godot/imported/divider.svg-490866f1e5609c2deee7814b94434af0.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/ui/divider_edges.svg b/ui/divider_edges.svg
new file mode 100644 (file)
index 0000000..def4844
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="64" height="4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#989AAF" d="M0 2 L2 0 62 0 64 2 0 2"/>
+    <path stroke="none" fill="#FFFFFF" d="M0 2 L64 2 62 4 2 4 0 2"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/divider_edges.svg.import b/ui/divider_edges.svg.import
new file mode 100644 (file)
index 0000000..4bd17b8
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://de5hlr8gsi2qb"
+path="res://.godot/imported/divider_edges.svg-87a6226ea6944bc47ff605b1fa3024ba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/divider_edges.svg"
+dest_files=["res://.godot/imported/divider_edges.svg-87a6226ea6944bc47ff605b1fa3024ba.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/ui/dot_large.svg b/ui/dot_large.svg
new file mode 100644 (file)
index 0000000..eb3b7cd
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M16 10 Q18.5 10 20.25 11.75 22 13.5 22 16 22 18.45 20.25 20.2 L20.2 20.25 Q18.45 22 16 22 13.5 22 11.75 20.25 10 18.5 10 16 10 13.55 11.7 11.8 L11.8 11.7 Q13.55 10 16 10 M20 16 Q20 14.35 18.8 13.15 17.65 12 16 12 14.35 12 13.15 13.15 12 14.35 12 16 12 17.65 13.15 18.8 14.35 20 16 20 17.65 20 18.8 18.8 20 17.65 20 16"/>
+    <path stroke="none" fill="#FFFFFF" d="M20 16 Q20 17.65 18.8 18.8 17.65 20 16 20 14.35 20 13.15 18.8 12 17.65 12 16 12 14.35 13.15 13.15 14.35 12 16 12 17.65 12 18.8 13.15 20 14.35 20 16"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/dot_large.svg.import b/ui/dot_large.svg.import
new file mode 100644 (file)
index 0000000..57bc3ef
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c50gjpjhhtp42"
+path="res://.godot/imported/dot_large.svg-0d3a94effc9df3f3d14faebfcc8a1019.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/dot_large.svg"
+dest_files=["res://.godot/imported/dot_large.svg-0d3a94effc9df3f3d14faebfcc8a1019.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/ui/drawing_bucket.svg b/ui/drawing_bucket.svg
new file mode 100644 (file)
index 0000000..084b2a1
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M14.75 3.45 Q17.45 0.7 20.15 3.25 L22.2 3 22.3 3 Q26.75 2.95 28.4 5.85 L28.5 6 Q30.15 8.45 28.7 11.75 L30.3 13.35 Q34.55 17.6 30.35 21.85 L22.85 29.35 Q18.55 33.6 14.3 29.35 L11.3 26.35 10.5 27.4 10.5 27.35 Q8.9 29 6.55 29 4.25 29 2.65 27.4 1 25.75 1 23.45 L1 16.35 Q1 14.1 2.6 12.45 L2.65 12.4 Q3.1 11.9 3.7 11.6 L3.7 11.55 10.45 7.7 14.75 3.45 M10.1 23.45 L10.1 22.3 15.7 27.9 Q18.55 30.75 21.4 27.9 L28.9 20.4 Q31.7 17.6 28.85 14.75 L26.25 12.15 26.3 12 26.35 11.95 Q28 9.05 26.8 7.05 L26.75 7.05 Q25.6 4.95 22.3 5 L22.25 5 19.5 5.4 18.95 4.85 Q17.55 3.45 16.15 4.85 L11.7 9.35 4.7 13.3 4.05 13.8 Q3 14.9 3 16.35 L3 23.45 Q3 24.9 4.05 25.95 5.1 27 6.55 27 8.05 27 9.05 25.95 10.1 24.9 10.1 23.45 M25.05 8.05 Q25.55 9.15 24.75 10.65 L21.2 7.1 22.35 7 Q24.3 6.95 25.05 8.05 M7.25 16.55 L17.55 6.25 23.6 12.3 20.7 14.55 Q19.6 15.15 18.5 15.55 L18.15 15.15 Q17.25 14.25 16 14.25 14.75 14.3 13.85 15.15 13 16 13 17.25 13 18.45 13.9 19.35 14.75 20.2 16 20.2 17.25 20.2 18.1 19.35 18.9 18.6 19 17.5 L21.7 16.3 Q23.65 15.15 25 13.7 L27.45 16.15 Q28.9 17.6 27.5 19 L20 26.5 17.15 26.45 7.25 16.55"/>
+    <path stroke="none" fill="#FFFFFF" d="M7.25 16.55 L17.15 26.45 20 26.5 27.5 19 Q28.9 17.6 27.45 16.15 L25 13.7 Q23.65 15.15 21.7 16.3 L19 17.5 Q18.9 18.6 18.1 19.35 17.25 20.2 16 20.2 14.75 20.2 13.9 19.35 13 18.45 13 17.25 13 16 13.85 15.15 14.75 14.3 16 14.25 17.25 14.25 18.15 15.15 L18.5 15.55 Q19.6 15.15 20.7 14.55 L23.6 12.3 17.55 6.25 7.25 16.55 M10.1 23.45 Q10.1 24.9 9.05 25.95 8.05 27 6.55 27 5.1 27 4.05 25.95 3 24.9 3 23.45 L3 16.35 Q3 14.9 4.05 13.8 L4.7 13.3 11.7 9.35 16.15 4.85 Q17.55 3.45 18.95 4.85 L19.5 5.4 22.25 5 22.3 5 Q25.6 4.95 26.75 7.05 L26.8 7.05 Q28 9.05 26.35 11.95 L26.3 12 26.25 12.15 28.85 14.75 Q31.7 17.6 28.9 20.4 L21.4 27.9 Q18.55 30.75 15.7 27.9 L10.1 22.3 10.1 23.45 M25.05 8.05 Q24.3 6.95 22.35 7 L21.2 7.1 24.75 10.65 Q25.55 9.15 25.05 8.05"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/drawing_bucket.svg.import b/ui/drawing_bucket.svg.import
new file mode 100644 (file)
index 0000000..8187cae
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bh8nmx3dxc3f1"
+path="res://.godot/imported/drawing_bucket.svg-50eeb2aa2677cb264c0806063fdc296d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/drawing_bucket.svg"
+dest_files=["res://.godot/imported/drawing_bucket.svg-50eeb2aa2677cb264c0806063fdc296d.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/ui/drawing_eraser.svg b/ui/drawing_eraser.svg
new file mode 100644 (file)
index 0000000..4738c58
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M3.9 11.35 Q2.3 12.5 3.7 13.9 L16.4 26.65 Q17.85 28.05 19.45 26.9 L27.65 21.15 Q29.3 20 27.85 18.6 L15.15 5.85 Q13.75 4.45 12.1 5.6 L3.9 11.35 M1.05 12.4 Q1 10.95 2.75 9.75 L10.95 4 10.95 3.95 Q14 1.85 16.6 4.45 L29.3 17.2 Q30.8 18.65 30.55 20.1 30.55 21.55 28.8 22.8 L20.6 28.55 20.65 28.55 Q17.7 30.65 15 28.1 L15 28.05 2.3 15.3 2.3 15.35 Q0.8 13.85 1.05 12.4 M13.5 7 L19.85 13.35 11.65 19.15 5.3 12.75 13.5 7"/>
+    <path stroke="none" fill="#FFFFFF" d="M13.5 7 L5.3 12.75 11.65 19.15 19.85 13.35 13.5 7 M3.9 11.35 L12.1 5.6 Q13.75 4.45 15.15 5.85 L27.85 18.6 Q29.3 20 27.65 21.15 L19.45 26.9 Q17.85 28.05 16.4 26.65 L3.7 13.9 Q2.3 12.5 3.9 11.35"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/drawing_eraser.svg.import b/ui/drawing_eraser.svg.import
new file mode 100644 (file)
index 0000000..2d66e18
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://djiwr64bnmknj"
+path="res://.godot/imported/drawing_eraser.svg-1c06a7d7b1c88f95b2200fe90d88840e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/drawing_eraser.svg"
+dest_files=["res://.godot/imported/drawing_eraser.svg-1c06a7d7b1c88f95b2200fe90d88840e.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/ui/drawing_picker.svg b/ui/drawing_picker.svg
new file mode 100644 (file)
index 0000000..3f05a2a
--- /dev/null
@@ -0,0 +1,13 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <linearGradient gradientUnits="userSpaceOnUse" x1="-819.2" x2="819.2" spreadMethod="pad" gradientTransform="matrix(-0.003448486328125 -0.003448486328125 0.003448486328125 -0.003448486328125 22.6 22.6)" id="gradient0">
+      <stop offset="0" stop-color="#FFFFFF"/>
+      <stop offset="1" stop-color="#CCCCCC"/>
+    </linearGradient>
+  </defs>
+  <g>
+    <path stroke="none" fill="#000000" d="M24.7 13.3 L25.4 14 25.5 14.1 26.2 14.8 Q28.25 16.8 27.3 18.9 28.6 20.45 28.55 22.55 L28.55 22.65 Q28.6 25.1 26.9 26.85 L26.9 26.8 Q25.15 28.6 22.6 28.6 20.45 28.6 18.85 27.3 16.8 28.1 14.85 26.15 L13.3 24.6 Q11.45 22.65 12.2 20.75 L5.65 14.1 5.65 14.15 Q3.9 12.4 3.9 9.9 L3.9 9.55 Q3.05 8.5 3 7.2 L3 6.95 Q3.1 5.3 4.25 4.2 5.45 3 7.05 3 8.45 3 9.6 3.9 L9.85 3.9 Q12.4 3.9 14.15 5.65 L20.7 12.3 Q22.55 11.55 24.55 13.15 L24.7 13.3 M24.7 19.1 L24.7 19.05 Q26.15 17.6 24.75 16.2 L24.05 15.5 23.95 15.4 23.25 14.7 Q21.8 13.5 20.45 14.85 L12.7 7.05 Q11.55 5.9 9.85 5.9 L8.75 6.05 8.45 5.6 Q7.85 5 7.05 5 6.25 5 5.65 5.6 5.05 6.2 5 7.05 5.05 7.85 5.65 8.45 L6 8.8 5.9 9.9 Q5.9 11.55 7.05 12.7 L14.8 20.5 Q13.45 21.85 14.75 23.2 L16.25 24.7 19.05 24.75 19.75 25.45 Q20.95 26.6 22.6 26.6 24.3 26.6 25.45 25.4 26.6 24.25 26.55 22.6 26.6 20.95 25.4 19.8 L24.7 19.1 M16.25 19.1 L8.5 11.3 Q7.95 10.75 7.95 9.9 L7.95 9.3 Q8.1 8.65 7.9 8.05 L7.75 7.7 8.05 7.9 9.25 8 9.85 7.9 9.95 7.9 Q10.75 7.9 11.3 8.45 L19.05 16.25 16.25 19.1"/>
+    <path stroke="none" fill="#FFFFFF" d="M16.25 19.1 L19.05 16.25 11.3 8.45 Q10.75 7.9 9.95 7.9 L9.85 7.9 9.25 8 8.05 7.9 7.75 7.7 7.9 8.05 Q8.1 8.65 7.95 9.3 L7.95 9.9 Q7.95 10.75 8.5 11.3 L16.25 19.1 M19.05 24.75 L16.25 24.7 14.75 23.2 Q13.45 21.85 14.8 20.5 L7.05 12.7 Q5.9 11.55 5.9 9.9 L6 8.8 5.65 8.45 Q5.05 7.85 5 7.05 5.05 6.2 5.65 5.6 6.25 5 7.05 5 7.85 5 8.45 5.6 L8.75 6.05 9.85 5.9 Q11.55 5.9 12.7 7.05 L20.45 14.85 Q21.8 13.5 23.25 14.7 L23.95 15.4 24.05 15.5 24.75 16.2 Q26.15 17.6 24.7 19.05 L24.7 19.1 19.05 24.75"/>
+    <path stroke="none" fill="url(#gradient0)" d="M19.05 24.75 L24.7 19.1 25.4 19.8 Q26.6 20.95 26.55 22.6 26.6 24.25 25.45 25.4 24.3 26.6 22.6 26.6 20.95 26.6 19.75 25.45 L19.05 24.75"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/drawing_picker.svg.import b/ui/drawing_picker.svg.import
new file mode 100644 (file)
index 0000000..10215d4
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bs230jvbr3gbm"
+path="res://.godot/imported/drawing_picker.svg-5ab33d6fff55e7a5812dcdc6a7747f7f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/drawing_picker.svg"
+dest_files=["res://.godot/imported/drawing_picker.svg-5ab33d6fff55e7a5812dcdc6a7747f7f.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/ui/hand_point.svg b/ui/hand_point.svg
new file mode 100644 (file)
index 0000000..62db65c
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M21.15 7.95 Q23.5 7.65 24.95 8.4 L25.1 8.5 Q26.2 9.1 27 10.25 L27.75 11.8 27.8 11.85 29.5 16.35 29.5 16.45 Q30.45 19.25 29.7 22.1 L29.65 22.15 29 23.95 29 24.05 Q27.15 27.95 23.05 29.35 L23.1 29.35 Q20.35 30.3 17.65 29.85 L17.5 29.8 Q15.2 29.15 12.9 27.75 L12.95 27.8 Q11.65 27 10.1 26.75 L8 26.7 8.1 26.7 Q5.85 27 4.1 25.55 2.3 24.15 2.05 22 L2 21.9 Q1.8 19.6 3.2 17.9 L3.15 17.95 Q4.45 16.2 6.65 16 L6.65 15.95 7 15.95 4.45 9.05 Q3.55 6.65 4.45 5 5.1 3.3 7.5 2.45 L7.55 2.4 Q12.15 0.65 14.5 5.2 L14.6 5.4 15.8 8.6 21.1 7.95 21.15 7.95 M14.45 10.75 L12.7 6.1 Q11.2 3.15 8.2 4.3 5.2 5.35 6.3 8.35 L9.85 17.95 Q8.35 17.8 6.85 17.95 5.55 18.1 4.75 19.15 3.85 20.25 4 21.7 4.2 23.1 5.4 24 6.45 24.9 7.8 24.7 L10.45 24.75 Q12.35 25.1 13.95 26.05 16 27.3 18 27.85 20.2 28.25 22.4 27.45 25.7 26.35 27.15 23.2 L27.75 21.55 Q28.35 19.3 27.6 17.05 L25.9 12.55 25.3 11.35 Q24.8 10.6 24.1 10.2 L21.35 9.9 14.45 10.75"/>
+    <path stroke="none" fill="#FFFFFF" d="M14.45 10.75 L21.35 9.9 24.1 10.2 Q24.8 10.6 25.3 11.35 L25.9 12.55 27.6 17.05 Q28.35 19.3 27.75 21.55 L27.15 23.2 Q25.7 26.35 22.4 27.45 20.2 28.25 18 27.85 16 27.3 13.95 26.05 12.35 25.1 10.45 24.75 L7.8 24.7 Q6.45 24.9 5.4 24 4.2 23.1 4 21.7 3.85 20.25 4.75 19.15 5.55 18.1 6.85 17.95 8.35 17.8 9.85 17.95 L6.3 8.35 Q5.2 5.35 8.2 4.3 11.2 3.15 12.7 6.1 L14.45 10.75"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/hand_point.svg.import b/ui/hand_point.svg.import
new file mode 100644 (file)
index 0000000..0e9e00d
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbnqrxqs54l8n"
+path="res://.godot/imported/hand_point.svg-cd30330c006caefea6a0b45be94c9558.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/hand_point.svg"
+dest_files=["res://.godot/imported/hand_point.svg-cd30330c006caefea6a0b45be94c9558.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/ui/icon_cross.svg b/ui/icon_cross.svg
new file mode 100644 (file)
index 0000000..95f4baa
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#871023" d="M6.85 1.15 L9 3.3 11.15 1.15 11.2 1.15 Q12.35 0 14 0 L14.05 0 Q15.65 0 16.85 1.15 L16.85 1.2 Q18 2.35 18 4 L18 4.05 Q18 5.65 16.85 6.85 L14.7 9 16.85 11.15 16.85 11.2 Q18 12.35 18 14 L18 14.05 Q18 15.65 16.85 16.85 15.65 18 14.05 18 L14 18 Q12.35 18 11.2 16.85 L11.15 16.85 9 14.7 6.85 16.85 Q5.65 18 4.05 18 L4 18 Q2.35 18 1.2 16.85 L1.15 16.85 Q0 15.65 0 14.05 L0 14 Q0 12.35 1.15 11.2 L1.15 11.15 3.3 9 1.15 6.85 Q0 5.65 0 4.05 L0 4 Q0 2.35 1.15 1.2 L1.2 1.15 Q2.35 0 4 0 L4.05 0 Q5.65 0 6.85 1.15 M5.45 15.45 L9 11.85 12.6 15.45 Q13.15 16 14 16 14.85 16 15.45 15.45 16 14.85 16 14 16 13.15 15.45 12.6 L11.85 9 15.45 5.45 Q16 4.85 16 4 16 3.15 15.45 2.6 14.85 2 14 2 13.15 2 12.6 2.6 L9 6.15 5.45 2.6 Q4.85 2 4 2 3.15 2 2.6 2.6 2 3.15 2 4 2 4.85 2.6 5.45 L6.15 9 2.6 12.6 Q2 13.15 2 14 2 14.85 2.6 15.45 3.15 16 4 16 4.85 16 5.45 15.45"/>
+    <path stroke="none" fill="#FF627B" d="M5.45 15.45 Q4.85 16 4 16 3.15 16 2.6 15.45 2 14.85 2 14 2 13.15 2.6 12.6 L6.15 9 2.6 5.45 Q2 4.85 2 4 2 3.15 2.6 2.6 3.15 2 4 2 4.85 2 5.45 2.6 L9 6.15 12.6 2.6 Q13.15 2 14 2 14.85 2 15.45 2.6 16 3.15 16 4 16 4.85 15.45 5.45 L11.85 9 15.45 12.6 Q16 13.15 16 14 16 14.85 15.45 15.45 14.85 16 14 16 13.15 16 12.6 15.45 L9 11.85 5.45 15.45"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/icon_cross.svg.import b/ui/icon_cross.svg.import
new file mode 100644 (file)
index 0000000..ba4d079
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2ksj38qp50ka"
+path="res://.godot/imported/icon_cross.svg-12d3cc68c37350adc64025b184970bf0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/icon_cross.svg"
+dest_files=["res://.godot/imported/icon_cross.svg-12d3cc68c37350adc64025b184970bf0.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/ui/icon_repeat_dark.svg b/ui/icon_repeat_dark.svg
new file mode 100644 (file)
index 0000000..cc8ba26
--- /dev/null
@@ -0,0 +1,6 @@
+<svg width="41" height="36" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M30.7 5.3 Q35.55 10.2 35.9 17 L37.9 17 Q39 17 39.9 17.75 L39.85 17.7 Q40.75 18.4 41 19.3 L41 19.55 Q41 20.55 40.4 21.35 L40.35 21.4 33.95 28.2 Q33.35 28.85 32.3 29.1 L30.6 29.05 30.6 29.1 29.1 28.2 29.15 28.2 22.75 21.4 Q21.85 20.5 22.05 19.4 L22.1 19.4 Q22.2 18.45 23.1 17.75 23.9 17 25.15 17 L27.1 17 Q26.8 13.9 24.45 11.55 21.7 8.8 17.95 8.8 14.2 8.8 11.45 11.55 L11.5 11.55 Q8.8 14.25 8.8 18 8.8 21.7 11.55 24.45 L11.6 24.45 Q14.2 27.2 17.95 27.2 19.8 27.2 21.1 28.5 22.35 29.7 22.35 31.6 22.35 33.45 21.15 34.75 L21.1 34.8 Q19.8 36 17.95 36 10.7 36 5.3 30.75 L5.3 30.7 Q0 25.35 0 18 0 10.55 5.3 5.3 10.7 0 17.95 0 25.4 0 30.7 5.3"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/icon_repeat_dark.svg.import b/ui/icon_repeat_dark.svg.import
new file mode 100644 (file)
index 0000000..1be5d62
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://eg0ov7ljkpb2"
+path="res://.godot/imported/icon_repeat_dark.svg-03d877a72cc365598a275bef55071ffa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/icon_repeat_dark.svg"
+dest_files=["res://.godot/imported/icon_repeat_dark.svg-03d877a72cc365598a275bef55071ffa.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/ui/icon_repeat_light.svg b/ui/icon_repeat_light.svg
new file mode 100644 (file)
index 0000000..ad28f56
--- /dev/null
@@ -0,0 +1,6 @@
+<svg width="41" height="36" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M30.7 5.3 Q35.55 10.2 35.9 17 L37.9 17 Q39 17 39.9 17.75 L39.85 17.7 Q40.75 18.4 41 19.3 L41 19.55 Q41 20.55 40.4 21.35 L40.35 21.4 33.95 28.2 Q33.35 28.85 32.3 29.1 L30.6 29.05 30.6 29.1 29.1 28.2 29.15 28.2 22.75 21.4 Q21.85 20.5 22.05 19.4 L22.1 19.4 Q22.2 18.45 23.1 17.75 23.9 17 25.15 17 L27.1 17 Q26.8 13.9 24.45 11.55 21.7 8.8 17.95 8.8 14.2 8.8 11.45 11.55 L11.5 11.55 Q8.8 14.25 8.8 18 8.8 21.7 11.55 24.45 L11.6 24.45 Q14.2 27.2 17.95 27.2 19.8 27.2 21.1 28.5 22.35 29.7 22.35 31.6 22.35 33.45 21.15 34.75 L21.1 34.8 Q19.8 36 17.95 36 10.7 36 5.3 30.75 L5.3 30.7 Q0 25.35 0 18 0 10.55 5.3 5.3 10.7 0 17.95 0 25.4 0 30.7 5.3"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/icon_repeat_light.svg.import b/ui/icon_repeat_light.svg.import
new file mode 100644 (file)
index 0000000..40b58e1
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgpvehbpycrju"
+path="res://.godot/imported/icon_repeat_light.svg-54e336463059780f966501c6b19b7332.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/icon_repeat_light.svg"
+dest_files=["res://.godot/imported/icon_repeat_light.svg-54e336463059780f966501c6b19b7332.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/ui/icon_repeat_outline.svg b/ui/icon_repeat_outline.svg
new file mode 100644 (file)
index 0000000..38c9747
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="45" height="40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M32.7 7.3 Q27.4 2 19.95 2 12.7 2 7.3 7.3 2 12.55 2 20 2 27.35 7.3 32.7 L7.3 32.75 Q12.7 38 19.95 38 21.8 38 23.1 36.8 L23.15 36.75 Q24.35 35.45 24.35 33.6 24.35 31.7 23.1 30.5 21.8 29.2 19.95 29.2 16.2 29.2 13.6 26.45 L13.55 26.45 Q10.8 23.7 10.8 20 10.8 16.25 13.5 13.55 L13.45 13.55 Q16.2 10.8 19.95 10.8 23.7 10.8 26.45 13.55 28.8 15.9 29.1 19 L27.15 19 Q25.9 19 25.1 19.75 24.2 20.45 24.1 21.4 L24.05 21.4 Q23.85 22.5 24.75 23.4 L31.15 30.2 31.1 30.2 Q31.7 30.85 32.6 31.1 L32.6 31.05 34.3 31.1 Q35.35 30.85 35.95 30.2 L42.35 23.4 42.4 23.35 Q43 22.55 43 21.55 L43 21.3 Q42.75 20.4 41.85 19.7 L41.9 19.75 Q41 19 39.9 19 L37.9 19 Q37.55 12.2 32.7 7.3 M23.1 38.8 L23.25 38.75 23.15 38.75 23.1 38.8 M25.05 15 Q22.9 12.8 19.95 12.8 17.2 12.8 15.15 14.75 L14.95 15 Q12.8 17.1 12.8 20 12.8 22.8 14.85 24.9 L15.05 25.1 Q17.05 27.2 19.95 27.2 22.6 27.2 24.5 29.05 L24.55 29.1 Q26.35 30.85 26.35 33.6 26.35 36.25 24.65 38.1 L24.45 38.3 Q22.6 40 19.95 40 11.9 40 5.9 34.2 L5.65 33.85 Q0 28 0 20 0 11.7 5.9 5.9 11.9 0 19.95 0 28.25 0 34.15 5.9 38.85 10.65 39.75 17 L39.9 17 Q41.5 17 42.85 17.95 L43.1 18.15 43.3 18.3 43.35 18.35 Q44.6 19.4 44.95 20.8 L45 21.3 45 21.55 Q45 23.2 44 24.55 L43.8 24.8 43.75 24.85 37.4 31.6 Q36.45 32.65 34.8 33.05 33.55 33.35 32.2 33.05 L32.1 33.05 Q30.6 32.6 29.65 31.55 L29.4 31.25 23.3 24.8 Q21.65 23.1 22.1 21.05 L22.2 20.75 Q22.45 19.35 23.75 18.3 24.85 17.2 26.5 17.05 26 15.95 25.05 15"/>
+    <path stroke="none" fill="#FFFFFF" d="M32.7 7.3 Q37.55 12.2 37.9 19 L39.9 19 Q41 19 41.9 19.75 L41.85 19.7 Q42.75 20.4 43 21.3 L43 21.55 Q43 22.55 42.4 23.35 L42.35 23.4 35.95 30.2 Q35.35 30.85 34.3 31.1 L32.6 31.05 32.6 31.1 Q31.7 30.85 31.1 30.2 L31.15 30.2 24.75 23.4 Q23.85 22.5 24.05 21.4 L24.1 21.4 Q24.2 20.45 25.1 19.75 25.9 19 27.15 19 L29.1 19 Q28.8 15.9 26.45 13.55 23.7 10.8 19.95 10.8 16.2 10.8 13.45 13.55 L13.5 13.55 Q10.8 16.25 10.8 20 10.8 23.7 13.55 26.45 L13.6 26.45 Q16.2 29.2 19.95 29.2 21.8 29.2 23.1 30.5 24.35 31.7 24.35 33.6 24.35 35.45 23.15 36.75 L23.1 36.8 Q21.8 38 19.95 38 12.7 38 7.3 32.75 L7.3 32.7 Q2 27.35 2 20 2 12.55 7.3 7.3 12.7 2 19.95 2 27.4 2 32.7 7.3"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/icon_repeat_outline.svg.import b/ui/icon_repeat_outline.svg.import
new file mode 100644 (file)
index 0000000..47903fd
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkteu8flsnum5"
+path="res://.godot/imported/icon_repeat_outline.svg-d474e839b55aab8acf2c18ddeed93198.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/icon_repeat_outline.svg"
+dest_files=["res://.godot/imported/icon_repeat_outline.svg-d474e839b55aab8acf2c18ddeed93198.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/ui/input_outline_rectangle.svg b/ui/input_outline_rectangle.svg
new file mode 100644 (file)
index 0000000..124da7b
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="192" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#989AAF" d="M6 0 L186 0 Q192 0 192 6 L192 58 Q192 64 186 64 L6 64 Q0 64 0 58 L0 6 Q0 0 6 0 M186 2 L6 2 Q2 2 2 6 L2 58 Q2 62 6 62 L186 62 Q190 62 190 58 L190 6 Q190 2 186 2 M186 4 Q188 4 188 6 L188 58 Q188 60 186 60 L6 60 Q4 60 4 58 L4 6 Q4 4 6 4 L186 4 M186 8 L186 6 6 6 6 8 6 58 186 58 186 8"/>
+    <path stroke="none" fill="#DADCE7" d="M186 8 L6 8 6 6 186 6 186 8 M186 2 Q190 2 190 6 L190 58 Q190 62 186 62 L6 62 Q2 62 2 58 L2 6 Q2 2 6 2 L186 2 M186 4 L6 4 Q4 4 4 6 L4 58 Q4 60 6 60 L186 60 Q188 60 188 58 L188 6 Q188 4 186 4"/>
+    <path stroke="none" fill="#FFFFFF" d="M186 8 L186 58 6 58 6 8 186 8"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/input_outline_rectangle.svg.import b/ui/input_outline_rectangle.svg.import
new file mode 100644 (file)
index 0000000..26d840b
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://s85l7kt4t6xh"
+path="res://.godot/imported/input_outline_rectangle.svg-01e9c87e4b7a1b8bc5ff0744795e5e6c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/input_outline_rectangle.svg"
+dest_files=["res://.godot/imported/input_outline_rectangle.svg-01e9c87e4b7a1b8bc5ff0744795e5e6c.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/ui/input_outline_square.svg b/ui/input_outline_square.svg
new file mode 100644 (file)
index 0000000..8f78e5d
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#DADCE7" d="M6 2 L58 2 Q61.75 2 62 5.55 L62 58.5 Q61.75 62 58 62 L6 62 Q2 62 2 58 L2 6 Q2 2 6 2 M6 8 L6 6 58 6 58 8 6 8 M6 4 Q4 4 4 6 L4 58 Q4 60 6 60 L58 60 Q59.9 60 60 58.2 L60 5.85 Q59.9 4 58 4 L6 4"/>
+    <path stroke="none" fill="#989AAF" d="M6 4 L58 4 Q59.9 4 60 5.85 L60 58.2 Q59.9 60 58 60 L6 60 Q4 60 4 58 L4 6 Q4 4 6 4 M6 0 L58 0 Q64 0 64 6 L64 58 Q64 64 58 64 L6 64 Q0 64 0 58 L0 6 Q0 0 6 0 M58 8 L58 6 6 6 6 8 6 58 58 58 58 8 M6 2 Q2 2 2 6 L2 58 Q2 62 6 62 L58 62 Q61.75 62 62 58.5 L62 5.55 Q61.75 2 58 2 L6 2"/>
+    <path stroke="none" fill="#FFFFFF" d="M58 8 L58 58 6 58 6 8 58 8"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/input_outline_square.svg.import b/ui/input_outline_square.svg.import
new file mode 100644 (file)
index 0000000..d3057b9
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d4lh2gvabny1e"
+path="res://.godot/imported/input_outline_square.svg-2e6421bd83e8c525cf7dc40c3416b1b5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/input_outline_square.svg"
+dest_files=["res://.godot/imported/input_outline_square.svg-2e6421bd83e8c525cf7dc40c3416b1b5.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/ui/input_rectangle.svg b/ui/input_rectangle.svg
new file mode 100644 (file)
index 0000000..a629f08
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="192" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M6 2 Q2 2 2 6 L2 58 Q2 61.9 5.85 62 L186.2 62 Q190 61.9 190 58 L190 6 Q190 2 186 2 L6 2 M188 7.9 L188 58.15 Q187.95 60 186 60 L6 60 Q4.05 60 4 58.15 L4 7.9 Q4.05 6 6 6 L186 6 Q187.95 6 188 7.9 M6 0 L186 0 Q192 0 192 6 L192 58 Q192 64 186 64 L6 64 Q0 64 0 58 L0 6 Q0 0 6 0"/>
+    <path stroke="none" fill="#DADCE7" d="M4 7.9 L4 6 Q4 4 6 4 L186 4 Q188 4 188 6 L188 7.9 Q187.95 6 186 6 L6 6 Q4.05 6 4 7.9"/>
+    <path stroke="none" fill="#989AAF" d="M4 7.9 L4 58.15 Q4.05 60 6 60 L186 60 Q187.95 60 188 58.15 L188 7.9 188 6 Q188 4 186 4 L6 4 Q4 4 4 6 L4 7.9 M6 2 L186 2 Q190 2 190 6 L190 58 Q190 61.9 186.2 62 L5.85 62 Q2 61.9 2 58 L2 6 Q2 2 6 2"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/input_rectangle.svg.import b/ui/input_rectangle.svg.import
new file mode 100644 (file)
index 0000000..6457557
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bw7mx7vcry0rh"
+path="res://.godot/imported/input_rectangle.svg-c018f0af91c67e7fefd1832598c36c77.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/input_rectangle.svg"
+dest_files=["res://.godot/imported/input_rectangle.svg-c018f0af91c67e7fefd1832598c36c77.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/ui/input_square.svg b/ui/input_square.svg
new file mode 100644 (file)
index 0000000..f3a88ee
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M6 2 Q2 2 2 6 L2 58 Q2 61.9 5.85 62 L58.2 62 Q62 61.9 62 58 L62 6 Q62 2 58 2 L6 2 M60 7.9 L60 58.15 Q59.95 60 58 60 L6 60 Q4.05 60 4 58.15 L4 7.9 Q4.05 6 6 6 L58 6 Q59.95 6 60 7.9 M6 0 L58 0 Q64 0 64 6 L64 58 Q64 64 58 64 L6 64 Q0 64 0 58 L0 6 Q0 0 6 0"/>
+    <path stroke="none" fill="#DADCE7" d="M4 7.9 L4 6 Q4 4 6 4 L58 4 Q60 4 60 6 L60 7.9 Q59.95 6 58 6 L6 6 Q4.05 6 4 7.9"/>
+    <path stroke="none" fill="#989AAF" d="M4 7.9 L4 58.15 Q4.05 60 6 60 L58 60 Q59.95 60 60 58.15 L60 7.9 60 6 Q60 4 58 4 L6 4 Q4 4 4 6 L4 7.9 M6 2 L58 2 Q62 2 62 6 L62 58 Q62 61.9 58.2 62 L5.85 62 Q2 61.9 2 58 L2 6 Q2 2 6 2"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/input_square.svg.import b/ui/input_square.svg.import
new file mode 100644 (file)
index 0000000..189af09
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6wruvu80rcl8"
+path="res://.godot/imported/input_square.svg-35d1714538759cb125aadcc5c017bfb2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/input_square.svg"
+dest_files=["res://.godot/imported/input_square.svg-35d1714538759cb125aadcc5c017bfb2.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/ui/mark_exclamation.svg b/ui/mark_exclamation.svg
new file mode 100644 (file)
index 0000000..8266ada
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M20.15 3.9 Q21 4.8 21 6 L21 18 Q21 19.2 20.15 20.15 L19.65 20.55 Q21 22 21 24 21 26.05 19.55 27.5 L19.5 27.55 Q18.05 29 16 29 13.9 29 12.45 27.55 11 26.1 11 24 11 22 12.35 20.55 L11.9 20.15 Q11 19.2 11 18 L11 6 Q11 4.8 11.9 3.9 12.8 3 14 3 L18 3 Q19.2 3 20.15 3.9 M19 24 Q19 22.75 18.1 21.85 17.25 21 16 21 14.75 21 13.85 21.85 13 22.75 13 24 13 25.25 13.85 26.1 14.75 27 16 27 17.25 27 18.1 26.1 19 25.25 19 24 M13 18 Q13 18.4 13.3 18.7 13.6 19 14 19 L18 19 Q18.4 19 18.7 18.7 L19 18 19 6 18.7 5.3 Q18.4 5 18 5 L14 5 Q13.6 5 13.3 5.3 13 5.6 13 6 L13 18"/>
+    <path stroke="none" fill="#FFFFFF" d="M13 18 L13 6 Q13 5.6 13.3 5.3 13.6 5 14 5 L18 5 Q18.4 5 18.7 5.3 L19 6 19 18 18.7 18.7 Q18.4 19 18 19 L14 19 Q13.6 19 13.3 18.7 13 18.4 13 18 M19 24 Q19 25.25 18.1 26.1 17.25 27 16 27 14.75 27 13.85 26.1 13 25.25 13 24 13 22.75 13.85 21.85 14.75 21 16 21 17.25 21 18.1 21.85 19 22.75 19 24"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/mark_exclamation.svg.import b/ui/mark_exclamation.svg.import
new file mode 100644 (file)
index 0000000..18ab6f0
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0rb436k558ph"
+path="res://.godot/imported/mark_exclamation.svg-4bee3a308fc845c68cf57b3793d4ac0e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/mark_exclamation.svg"
+dest_files=["res://.godot/imported/mark_exclamation.svg-4bee3a308fc845c68cf57b3793d4ac0e.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/ui/mark_question.svg b/ui/mark_question.svg
new file mode 100644 (file)
index 0000000..8d51405
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M9 11.7 L9.1 12.05 9.35 12.3 9.6 12.4 14.25 12.4 14.7 12.2 14.85 11.9 Q14.95 11 15.4 10.35 15.65 10.05 16.15 10.05 16.65 10.05 16.9 10.35 L16.95 10.4 17.25 11.35 16.95 12.2 14.95 14.25 Q13.9 15.35 13.55 16.05 13.25 16.7 13.2 17.85 L13.2 18.45 13.35 18.85 13.85 19 18.25 19 18.7 18.85 18.85 18.45 18.85 18.4 18.95 17.6 19.7 16.8 20.5 16 Q21.8 14.9 22.4 13.6 23.8 10.25 21.9 7.55 L21.05 6.65 Q19.2 5 16.25 5 13.25 5 11.4 6.7 9.8 8.2 9.25 10.35 L9 11.7 M16.25 3 Q20 3 22.35 5.1 L22.4 5.15 23.5 6.35 23.55 6.4 Q26.15 10 24.25 14.35 L24.25 14.4 Q23.45 16.1 21.85 17.5 L21.8 17.55 21.2 18.15 21.05 18.3 20.85 18.45 Q20.9 19.25 20.3 20.05 L20.2 20.2 Q21 21.4 21 23 21 25.05 19.6 26.55 L19.55 26.6 Q18.05 28 16 28 13.9 28 12.5 26.6 11 25.1 11 23 11 21.4 11.9 20.2 L11.75 20.05 Q11.15 19.25 11.2 18.45 L11.2 17.8 Q11.25 16.15 11.75 15.2 L11.75 15.15 Q11.9 14.8 12.2 14.4 L9.6 14.4 Q8.6 14.4 7.95 13.75 L7.45 13.15 Q7 12.55 7 11.7 L7.05 11.45 7.3 9.9 7.3 9.85 Q8 7.15 10.05 5.25 12.4 3 16.25 3 M19 23 Q19 21.75 18.15 20.9 17.25 20 16 20 14.75 20 13.9 20.9 13 21.75 13 23 13 24.25 13.9 25.15 14.75 26 16 26 17.25 26 18.15 25.15 19 24.25 19 23"/>
+    <path stroke="none" fill="#FFFFFF" d="M19 23 Q19 24.25 18.15 25.15 17.25 26 16 26 14.75 26 13.9 25.15 13 24.25 13 23 13 21.75 13.9 20.9 14.75 20 16 20 17.25 20 18.15 20.9 19 21.75 19 23 M9 11.7 L9.25 10.35 Q9.8 8.2 11.4 6.7 13.25 5 16.25 5 19.2 5 21.05 6.65 L21.9 7.55 Q23.8 10.25 22.4 13.6 21.8 14.9 20.5 16 L19.7 16.8 18.95 17.6 18.85 18.4 18.85 18.45 18.7 18.85 18.25 19 13.85 19 13.35 18.85 13.2 18.45 13.2 17.85 Q13.25 16.7 13.55 16.05 13.9 15.35 14.95 14.25 L16.95 12.2 17.25 11.35 16.95 10.4 16.9 10.35 Q16.65 10.05 16.15 10.05 15.65 10.05 15.4 10.35 14.95 11 14.85 11.9 L14.7 12.2 14.25 12.4 9.6 12.4 9.35 12.3 9.1 12.05 9 11.7"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/mark_question.svg.import b/ui/mark_question.svg.import
new file mode 100644 (file)
index 0000000..06542d2
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gveobst7cbbh"
+path="res://.godot/imported/mark_question.svg-8aca6fca74a8bda2399cec6379fb239c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/mark_question.svg"
+dest_files=["res://.godot/imported/mark_question.svg-8aca6fca74a8bda2399cec6379fb239c.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/ui/message_dots_round.svg b/ui/message_dots_round.svg
new file mode 100644 (file)
index 0000000..c165ffc
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#FFFFFF" d="M24 14 Q24 13.15 23.4 12.55 22.85 12 22 12 21.15 12 20.55 12.55 20 13.15 20 14 20 14.85 20.55 15.4 21.15 16 22 16 22.85 16 23.4 15.4 24 14.85 24 14 M28 14 Q28 18.15 24.45 21.05 L24.3 21.15 Q22.7 22.45 20.85 23.2 L16.7 27.3 16 27.6 15.3 27.3 11.2 23.2 Q9.2 22.45 7.5 21.05 L7.55 21.05 Q4 18.15 4 14 4 9.9 7.45 7 L7.5 6.9 Q11.05 4 16 4 20.95 4 24.45 6.9 28 9.85 28 14 M18 14 Q18 13.15 17.4 12.55 16.85 12 16 12 15.15 12 14.55 12.55 14 13.15 14 14 14 14.85 14.55 15.4 15.15 16 16 16 16.85 16 17.4 15.4 18 14.85 18 14 M12 14 Q12 13.15 11.4 12.55 10.85 12 10 12 9.15 12 8.55 12.55 8 13.15 8 14 8 14.85 8.55 15.4 9.15 16 10 16 10.85 16 11.4 15.4 12 14.85 12 14"/>
+    <path stroke="none" fill="#000000" d="M12 14 Q12 14.85 11.4 15.4 10.85 16 10 16 9.15 16 8.55 15.4 8 14.85 8 14 8 13.15 8.55 12.55 9.15 12 10 12 10.85 12 11.4 12.55 12 13.15 12 14 M24 14 Q24 14.85 23.4 15.4 22.85 16 22 16 21.15 16 20.55 15.4 20 14.85 20 14 20 13.15 20.55 12.55 21.15 12 22 12 22.85 12 23.4 12.55 24 13.15 24 14 M28 14 Q28 9.85 24.45 6.9 20.95 4 16 4 11.05 4 7.5 6.9 L7.45 7 Q4 9.9 4 14 4 18.15 7.55 21.05 L7.5 21.05 Q9.2 22.45 11.2 23.2 L15.3 27.3 16 27.6 16.7 27.3 20.85 23.2 Q22.7 22.45 24.3 21.15 L24.45 21.05 Q28 18.15 28 14 M25.75 5.35 Q30.05 8.95 30 14 30.05 19.05 25.75 22.6 L25.4 22.85 Q23.8 24.1 22 24.9 L18.1 28.75 18.15 28.75 Q17.2 29.6 16 29.6 14.8 29.6 13.85 28.75 L13.9 28.75 10 24.9 6.6 22.85 6.25 22.6 Q1.95 19.05 2 14 1.95 8.95 6.25 5.35 10.3 2 16 2 21.7 2 25.75 5.35 M18 14 Q18 14.85 17.4 15.4 16.85 16 16 16 15.15 16 14.55 15.4 14 14.85 14 14 14 13.15 14.55 12.55 15.15 12 16 12 16.85 12 17.4 12.55 18 13.15 18 14"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/message_dots_round.svg.import b/ui/message_dots_round.svg.import
new file mode 100644 (file)
index 0000000..d876000
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://eo0lp3j665py"
+path="res://.godot/imported/message_dots_round.svg-81aea32bb43e973b7bf5669de4959c02.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/message_dots_round.svg"
+dest_files=["res://.godot/imported/message_dots_round.svg-81aea32bb43e973b7bf5669de4959c02.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/ui/navigation_e.svg b/ui/navigation_e.svg
new file mode 100644 (file)
index 0000000..357fdab
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M23.7 13.55 L23.8 13.6 Q24.65 14.2 24.85 15.1 L24.9 15.2 24.9 15.3 24.95 15.4 Q25.1 16.05 24.9 16.7 L24.9 16.8 24.85 16.95 Q24.7 17.75 23.8 18.35 L11.8 27.4 11.65 27.55 10.3 28 9.7 28 8.45 27.55 8.2 27.35 7.35 26.4 7.15 25.9 Q6.85 24.9 7.15 24.1 L7.15 24.05 9.9 16 7.15 7.95 Q6.85 7 7.15 6.1 L7.2 5.9 Q7.65 4.9 8.45 4.5 9.2 4 10 4 11.05 4 11.8 4.6 L23.7 13.55 M9.05 24.7 L9.05 25.35 9.45 25.8 10 26 10.6 25.8 22.6 16.75 22.95 16.3 22.95 15.7 22.6 15.2 10.6 6.2 10 6 9.45 6.2 9.05 6.7 9.05 7.3 12 16 9.05 24.7"/>
+    <path stroke="none" fill="#FFFFFF" d="M9.05 24.7 L12 16 9.05 7.3 9.05 6.7 9.45 6.2 10 6 10.6 6.2 22.6 15.2 22.95 15.7 22.95 16.3 22.6 16.75 10.6 25.8 10 26 9.45 25.8 9.05 25.35 9.05 24.7"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/navigation_e.svg.import b/ui/navigation_e.svg.import
new file mode 100644 (file)
index 0000000..98f6b1a
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ct60e6ip1847v"
+path="res://.godot/imported/navigation_e.svg-f9bb745d11100a71ecff4b329a3fcbef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/navigation_e.svg"
+dest_files=["res://.godot/imported/navigation_e.svg-f9bb745d11100a71ecff4b329a3fcbef.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/ui/navigation_n.svg b/ui/navigation_n.svg
new file mode 100644 (file)
index 0000000..6dc4adc
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M16.7 7.1 L16.8 7.15 16.95 7.15 Q17.75 7.3 18.35 8.2 L18.45 8.3 27.4 20.2 27.55 20.4 28 21.75 28 22.35 27.55 23.6 27.35 23.8 26.4 24.7 25.9 24.9 24.1 24.85 24.05 24.85 16 22.15 7.95 24.85 Q7 25.15 6.1 24.85 L5.9 24.8 Q4.9 24.35 4.5 23.6 L4.6 23.7 Q4 22.95 4 22 4 20.95 4.6 20.2 L13.55 8.3 13.6 8.2 Q14.2 7.35 15.1 7.15 L15.2 7.15 15.3 7.1 15.4 7.1 Q16.05 6.9 16.7 7.1 M24.7 22.95 L25.35 22.95 25.8 22.55 26 22 25.8 21.4 16.75 9.4 16.3 9.05 15.7 9.05 15.2 9.4 6.2 21.4 6 22 6.2 22.55 6.7 22.95 7.3 22.95 16 20 24.7 22.95"/>
+    <path stroke="none" fill="#FFFFFF" d="M24.7 22.95 L16 20 7.3 22.95 6.7 22.95 6.2 22.55 6 22 6.2 21.4 15.2 9.4 15.7 9.05 16.3 9.05 16.75 9.4 25.8 21.4 26 22 25.8 22.55 25.35 22.95 24.7 22.95"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/navigation_n.svg.import b/ui/navigation_n.svg.import
new file mode 100644 (file)
index 0000000..ce5acd8
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://crv5nkyeki0cf"
+path="res://.godot/imported/navigation_n.svg-9924fadf02157a8cdcbe0d522a6f44f6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/navigation_n.svg"
+dest_files=["res://.godot/imported/navigation_n.svg-9924fadf02157a8cdcbe0d522a6f44f6.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/ui/navigation_s.svg b/ui/navigation_s.svg
new file mode 100644 (file)
index 0000000..f77df1e
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M7.95 7.15 L16 9.9 24.05 7.15 24.1 7.15 Q24.9 6.85 25.9 7.15 L26.4 7.35 27.35 8.2 27.55 8.45 28 9.7 28 10.3 27.55 11.65 27.4 11.8 18.45 23.7 18.35 23.8 Q17.75 24.7 16.95 24.85 L16.8 24.9 16.7 24.9 15.4 24.95 15.3 24.9 15.2 24.9 15.1 24.85 Q14.2 24.65 13.6 23.8 L4.6 11.8 4.65 11.85 Q4.05 11.1 4 10 4 9.2 4.5 8.45 4.9 7.65 5.9 7.2 L6.1 7.15 Q7 6.85 7.95 7.15 M24.7 9.05 L16 12 7.3 9.05 6.7 9.05 6.2 9.45 6 10 6.2 10.6 15.2 22.6 15.7 22.95 16.3 22.95 16.75 22.6 25.8 10.6 26 10 25.8 9.45 25.35 9.05 24.7 9.05"/>
+    <path stroke="none" fill="#FFFFFF" d="M24.7 9.05 L25.35 9.05 25.8 9.45 26 10 25.8 10.6 16.75 22.6 16.3 22.95 15.7 22.95 15.2 22.6 6.2 10.6 6 10 6.2 9.45 6.7 9.05 7.3 9.05 16 12 24.7 9.05"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/navigation_s.svg.import b/ui/navigation_s.svg.import
new file mode 100644 (file)
index 0000000..fd777d5
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gw8bdod50l7c"
+path="res://.godot/imported/navigation_s.svg-cc341beecdc7f66f6ccc8c745b847ea0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/navigation_s.svg"
+dest_files=["res://.godot/imported/navigation_s.svg-cc341beecdc7f66f6ccc8c745b847ea0.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/ui/navigation_w.svg b/ui/navigation_w.svg
new file mode 100644 (file)
index 0000000..ef977ab
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M20.4 4.5 Q20.95 4.15 21.75 4.05 L22.35 4.05 23.6 4.5 23.8 4.65 24.7 5.65 24.9 6.1 Q25.15 7.1 24.85 7.95 L22.15 16 24.85 24.05 24.85 24.1 Q25.15 25 24.85 25.95 L24.8 26.1 Q24.35 27.1 23.6 27.55 L23.75 27.4 Q22.95 28 22 28 20.95 28 20.2 27.4 L8.3 18.5 8.2 18.4 Q7.35 17.8 7.15 16.95 L7.15 16.85 7.1 16.75 7.1 16.65 Q6.9 15.95 7.1 15.3 L7.15 15.2 7.15 15.1 Q7.3 14.25 8.2 13.65 L20.2 4.6 20.4 4.5 M22.95 7.3 L22.95 6.65 22.55 6.2 22 6 Q21.65 6.05 21.4 6.2 L9.4 15.25 9.05 15.7 9.05 16.3 9.4 16.8 21.4 25.8 Q21.65 26 22 26 L22.55 25.8 22.95 25.3 22.95 24.7 20 16 22.95 7.3"/>
+    <path stroke="none" fill="#FFFFFF" d="M22.95 7.3 L20 16 22.95 24.7 22.95 25.3 22.55 25.8 22 26 Q21.65 26 21.4 25.8 L9.4 16.8 9.05 16.3 9.05 15.7 9.4 15.25 21.4 6.2 Q21.65 6.05 22 6 L22.55 6.2 22.95 6.65 22.95 7.3"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/navigation_w.svg.import b/ui/navigation_w.svg.import
new file mode 100644 (file)
index 0000000..d4471ab
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfxqaotf0owrh"
+path="res://.godot/imported/navigation_w.svg-21c587409867804be72464634914ce85.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/navigation_w.svg"
+dest_files=["res://.godot/imported/navigation_w.svg-21c587409867804be72464634914ce85.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/ui/resize_a_cross_diagonal.svg b/ui/resize_a_cross_diagonal.svg
new file mode 100644 (file)
index 0000000..2a547a7
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M26.1 6 Q26.95 6.8 26.95 8.2 L26.9 23.85 Q26.9 25.25 26.05 26.1 25.2 26.95 23.85 26.95 L18.25 27 17.65 26.95 8.2 26.95 Q6.8 26.95 6 26.1 5.1 25.25 5.1 23.85 L5.05 8.2 Q5.05 6.8 5.95 6 6.75 5.1 8.15 5.1 L23.95 5.1 Q25.3 5.1 26.1 6 M10.25 18.9 L8.85 17.5 8.15 17.2 Q7.65 17.2 7.35 17.5 7.05 17.8 7.05 18.3 L7.1 23.85 Q7.1 24.35 7.4 24.65 7.7 24.95 8.2 24.95 L13.75 25 Q14.25 25 14.55 24.7 L14.85 23.9 14.5 23.15 13.15 21.8 16 18.95 18.85 21.8 17.5 23.15 Q17.15 23.5 17.15 23.9 17.15 24.4 17.45 24.7 L18.25 25 23.8 24.95 Q24.3 24.95 24.6 24.65 L24.9 23.85 24.95 18.3 24.65 17.5 Q24.35 17.2 23.85 17.2 L23.15 17.5 21.75 18.9 18.9 16.05 21.8 13.15 23.15 14.5 Q23.5 14.85 23.9 14.85 L24.7 14.55 25 13.75 24.95 8.2 24.65 7.4 Q24.35 7.1 23.85 7.1 L18.3 7.05 Q17.8 7.05 17.5 7.35 17.2 7.65 17.2 8.15 L17.5 8.85 18.9 10.25 16 13.15 13.1 10.25 14.5 8.85 14.8 8.15 14.5 7.35 Q14.2 7.05 13.7 7.05 L8.15 7.1 Q7.65 7.1 7.35 7.4 7.05 7.7 7.05 8.2 L7 13.75 Q7 14.25 7.3 14.55 7.6 14.85 8.1 14.85 L8.85 14.5 10.2 13.15 13.1 16.05 10.25 18.9"/>
+    <path stroke="none" fill="#FFFFFF" d="M10.25 18.9 L13.1 16.05 10.2 13.15 8.85 14.5 8.1 14.85 Q7.6 14.85 7.3 14.55 7 14.25 7 13.75 L7.05 8.2 Q7.05 7.7 7.35 7.4 7.65 7.1 8.15 7.1 L13.7 7.05 Q14.2 7.05 14.5 7.35 L14.8 8.15 14.5 8.85 13.1 10.25 16 13.15 18.9 10.25 17.5 8.85 17.2 8.15 Q17.2 7.65 17.5 7.35 17.8 7.05 18.3 7.05 L23.85 7.1 Q24.35 7.1 24.65 7.4 L24.95 8.2 25 13.75 24.7 14.55 23.9 14.85 Q23.5 14.85 23.15 14.5 L21.8 13.15 18.9 16.05 21.75 18.9 23.15 17.5 23.85 17.2 Q24.35 17.2 24.65 17.5 L24.95 18.3 24.9 23.85 24.6 24.65 Q24.3 24.95 23.8 24.95 L18.25 25 17.45 24.7 Q17.15 24.4 17.15 23.9 17.15 23.5 17.5 23.15 L18.85 21.8 16 18.95 13.15 21.8 14.5 23.15 14.85 23.9 14.55 24.7 Q14.25 25 13.75 25 L8.2 24.95 Q7.7 24.95 7.4 24.65 7.1 24.35 7.1 23.85 L7.05 18.3 Q7.05 17.8 7.35 17.5 7.65 17.2 8.15 17.2 L8.85 17.5 10.25 18.9"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/resize_a_cross_diagonal.svg.import b/ui/resize_a_cross_diagonal.svg.import
new file mode 100644 (file)
index 0000000..ea67526
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2ynbocejw2m7"
+path="res://.godot/imported/resize_a_cross_diagonal.svg-6e1ab15fe5eeddb02c2febcb2c93a1b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/resize_a_cross_diagonal.svg"
+dest_files=["res://.godot/imported/resize_a_cross_diagonal.svg-6e1ab15fe5eeddb02c2febcb2c93a1b9.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/ui/rotate_ccw.svg b/ui/rotate_ccw.svg
new file mode 100644 (file)
index 0000000..4840c1d
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M20 16 Q20 14.4 18.8 13.25 L18.65 13.05 Q17.5 12 16 12 14.35 12 13.2 13.25 12.75 13.6 12.5 14.1 13.2 14.25 13.8 14.7 L13.9 14.8 Q14.9 15.55 15 16.65 15.15 18 14.2 19.05 L14.2 19 10.45 23 10.45 23.05 Q9.8 23.65 8.95 23.9 L8.9 23.9 Q7.95 24.1 7.2 23.9 L7.1 23.9 5.6 23.05 5.55 23 1.8 19 1.75 18.9 Q1 18.05 1 16.9 L1.1 16.35 Q1.35 15.35 2.3 14.7 L2.15 14.8 Q3.05 14.05 4.15 14 4.7 10.3 7.5 7.55 11 4 16 4 20.85 4 24.45 7.55 28 11 28 16 28 20.95 24.5 24.5 L24.45 24.5 Q20.85 28 16 28 14.35 28 13.2 26.95 L13.1 26.8 Q12 25.65 12 24 12 22.3 13.15 21.2 14.3 20 16 20 17.6 20 18.8 18.8 20 17.6 20 16"/>
+    <path stroke="none" fill="#FFFFFF" d="M23.05 23.05 Q20.05 26 16 26 15.15 26 14.55 25.45 14 24.85 14 24 14 23.15 14.55 22.6 15.15 22 16 22 18.45 22 20.2 20.2 22 18.4 22 16 22 13.55 20.2 11.8 L20.25 11.8 Q18.45 10 16 10 13.55 10 11.75 11.8 10 13.55 10 16 L11.75 16 Q12.25 16 12.6 16.3 L13 16.9 12.75 17.6 9 21.6 8.4 21.95 7.65 21.95 7 21.6 3.25 17.6 3 16.9 3.45 16.3 Q3.8 16 4.25 16 L6 16 Q6 11.85 8.9 8.95 11.85 6 16 6 20.05 6 23.05 8.95 26 11.85 26 16 26 20.1 23.05 23.05"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/rotate_ccw.svg.import b/ui/rotate_ccw.svg.import
new file mode 100644 (file)
index 0000000..a88d986
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://doeu7gls8gu80"
+path="res://.godot/imported/rotate_ccw.svg-ede0620ee97da7519f1f1b30e94ed67e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/rotate_ccw.svg"
+dest_files=["res://.godot/imported/rotate_ccw.svg-ede0620ee97da7519f1f1b30e94ed67e.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/ui/saveTransparentDark32.png b/ui/saveTransparentDark32.png
new file mode 100644 (file)
index 0000000..8f4c00e
Binary files /dev/null and b/ui/saveTransparentDark32.png differ
diff --git a/ui/tool_wand.svg b/ui/tool_wand.svg
new file mode 100644 (file)
index 0000000..341634f
--- /dev/null
@@ -0,0 +1,7 @@
+<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g>
+    <path stroke="none" fill="#000000" d="M11.25 5.9 L11.3 6.05 11.55 6.7 12.25 6.9 12.35 6.95 Q12.35 5.45 13.4 4.25 L13.6 4.05 Q14.85 3 16.35 3 17.9 3 19.1 4.1 L19.25 4.2 Q20.4 5.45 20.35 7 20.35 8.6 19.25 9.7 L19.1 9.85 18.9 10.05 20 10.9 29.9 20.8 31.1 22.55 Q31.8 24.5 29.9 26.5 L29.25 27.2 28.1 28.35 28.05 28.4 Q26 30.4 24.05 29.55 L22.4 28.35 12.45 18.4 Q10.2 16.05 11.65 13.8 L11.55 13.85 11.3 14.45 Q10.25 17.65 8.05 17.3 6.05 17.65 4.75 14.6 L4.65 14.45 4.45 13.75 3.95 13.55 Q0.7 12.5 1.05 10.3 0.7 8.3 3.75 7 L3.95 6.9 4.5 6.75 4.65 6.1 4.75 5.85 Q6.05 3 8.05 3.3 10.15 3 11.25 5.9 M13.95 14.15 Q12.5 15.55 13.9 17 L16.25 19.35 17.35 18.25 17.6 18.05 17.65 17.95 20.95 14.7 18.55 12.3 Q17.15 10.85 15.75 12.3 L13.95 14.15 M9.4 13.8 L9.9 12.15 11.65 11.65 Q13.05 11.15 13.05 10.3 13.05 9.45 11.65 8.8 L9.9 8.4 9.4 6.7 Q8.9 5.3 8.05 5.3 7.2 5.3 6.55 6.7 6.3 7.5 6.2 8.45 L4.55 8.8 Q3.05 9.45 3.05 10.3 3.05 11.15 4.55 11.65 5.3 12 6.2 12.15 6.3 13.05 6.55 13.8 7.2 15.3 8.05 15.3 8.9 15.3 9.4 13.8 M18.35 7 Q18.35 6.2 17.75 5.55 17.15 5 16.35 5 15.55 5 14.9 5.55 14.35 6.2 14.35 7 14.35 7.8 14.9 8.35 15.55 9 16.35 9 17.15 9 17.75 8.35 18.35 7.8 18.35 7 M28.45 22.2 L22.35 16.1 20.25 18.2 19.1 19.35 19.05 19.4 17.7 20.8 23.8 26.9 Q25.05 28.2 26.35 27.25 L26.65 26.95 28.45 25.1 Q29.85 23.65 28.45 22.2"/>
+    <path stroke="none" fill="#FFFFFF" d="M28.45 22.2 Q29.85 23.65 28.45 25.1 L26.65 26.95 26.35 27.25 Q25.05 28.2 23.8 26.9 L17.7 20.8 19.05 19.4 19.1 19.35 20.25 18.2 22.35 16.1 28.45 22.2 M18.35 7 Q18.35 7.8 17.75 8.35 17.15 9 16.35 9 15.55 9 14.9 8.35 14.35 7.8 14.35 7 14.35 6.2 14.9 5.55 15.55 5 16.35 5 17.15 5 17.75 5.55 18.35 6.2 18.35 7 M9.4 13.8 Q8.9 15.3 8.05 15.3 7.2 15.3 6.55 13.8 6.3 13.05 6.2 12.15 5.3 12 4.55 11.65 3.05 11.15 3.05 10.3 3.05 9.45 4.55 8.8 L6.2 8.45 Q6.3 7.5 6.55 6.7 7.2 5.3 8.05 5.3 8.9 5.3 9.4 6.7 L9.9 8.4 11.65 8.8 Q13.05 9.45 13.05 10.3 13.05 11.15 11.65 11.65 L9.9 12.15 9.4 13.8 M13.95 14.15 L15.75 12.3 Q17.15 10.85 18.55 12.3 L20.95 14.7 17.65 17.95 17.6 18.05 17.35 18.25 16.25 19.35 13.9 17 Q12.5 15.55 13.95 14.15"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/ui/tool_wand.svg.import b/ui/tool_wand.svg.import
new file mode 100644 (file)
index 0000000..0e90fdc
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnerx2ae8utxi"
+path="res://.godot/imported/tool_wand.svg-6b2511af22ebb5217316219138c89373.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://ui/tool_wand.svg"
+dest_files=["res://.godot/imported/tool_wand.svg-6b2511af22ebb5217316219138c89373.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