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