diff --git a/.branding b/.branding
new file mode 100644
index 0000000000..2c4bb8aab9
--- /dev/null
+++ b/.branding
@@ -0,0 +1,2 @@
+https://github.com/Keavon/graphite-branded-assets/archive/f8b02e68c92f5bbd27626bdd7a51102303b70a40.tar.gz
+d06fd7b79fa9b7509c23072fa56745415fdc6eb98575d15214b0acc47ea4dd42
diff --git a/.github/workflows/build-dev-and-ci.yml b/.github/workflows/build-dev-and-ci.yml
index 52beaa02fb..e0aa84373e 100644
--- a/.github/workflows/build-dev-and-ci.yml
+++ b/.github/workflows/build-dev-and-ci.yml
@@ -34,10 +34,10 @@ jobs:
with:
node-version: "latest"
- - name: 🚧 Install Node dependencies
+ - name: 🚧 Install build dependencies
run: |
cd frontend
- npm ci
+ npm run setup
- name: 🦀 Install the latest Rust
run: |
diff --git a/.github/workflows/build-production.yml b/.github/workflows/build-production.yml
index fa58e1865b..6f37a42f71 100644
--- a/.github/workflows/build-production.yml
+++ b/.github/workflows/build-production.yml
@@ -32,10 +32,10 @@ jobs:
with:
node-version: "latest"
- - name: 🚧 Install Node dependencies
+ - name: 🚧 Install build dependencies
run: |
cd frontend
- npm ci
+ npm run setup
- name: 🦀 Install the latest Rust
run: |
diff --git a/.github/workflows/comment-!build-commands.yml b/.github/workflows/comment-!build-commands.yml
index 8d8a0ae096..87b8581b19 100644
--- a/.github/workflows/comment-!build-commands.yml
+++ b/.github/workflows/comment-!build-commands.yml
@@ -59,10 +59,10 @@ jobs:
with:
node-version: "latest"
- - name: 🚧 Install Node dependencies
+ - name: 🚧 Install build dependencies
run: |
cd frontend
- npm ci
+ npm run setup
- name: 🦀 Install the latest Rust
run: |
diff --git a/.gitignore b/.gitignore
index 92eb3381b5..8f569654ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+branding/
target/
result/
*.spv
diff --git a/.nix/pkgs/graphite.nix b/.nix/pkgs/graphite.nix
index 99647b8b9d..31fd507254 100644
--- a/.nix/pkgs/graphite.nix
+++ b/.nix/pkgs/graphite.nix
@@ -14,6 +14,22 @@
}:
let
+ brandingTar = pkgs.fetchurl (
+ let
+ lockContent = builtins.readFile "${info.src}/.branding";
+ lines = builtins.filter (s: s != [ ]) (builtins.split "\n" lockContent);
+ url = builtins.elemAt lines 0;
+ hash = builtins.elemAt lines 1;
+ in
+ {
+ url = url;
+ sha256 = hash;
+ }
+ );
+ branding = pkgs.runCommand "${info.pname}-branding" { } ''
+ mkdir -p $out
+ tar -xvf ${brandingTar} -C $out --strip-components 1
+ '';
resourcesCommon = {
pname = "${info.pname}-resources";
inherit (info) version src;
@@ -32,7 +48,7 @@ let
npmDeps = pkgs.fetchNpmDeps {
inherit (info) pname version;
src = "${info.src}/frontend";
- hash = "sha256-UWuJpKNYj2Xn34rpMDZ75pzMYUOLQjPeGuJ/QlPbX9A=";
+ hash = "sha256-D8VCNK+Ca3gxO+5wriBn8FszG8/x8n/zM6/MPo9E2j4=";
};
npmRoot = "frontend";
@@ -41,11 +57,17 @@ let
nativeBuildInputs = tools.frontend ++ [ pkgs.npmHooks.npmConfigHook ];
+ prePatch = ''
+ mkdir branding
+ cp -r ${branding}/* branding
+ cp ${info.src}/.branding branding/.branding
+ '';
+
buildPhase = ''
export HOME="$TMPDIR"
pushd frontend
- npm run build-native${if dev then "-dev" else ""}
+ npm run native:build-${if dev then "dev" else "production"}
popd
'';
@@ -89,6 +111,11 @@ deps.crane.lib.buildPackage (
{ }
);
+ postUnpack = ''
+ mkdir ./branding
+ cp -r ${branding}/* ./branding
+ '';
+
installPhase = ''
mkdir -p $out/bin
cp target/${if dev then "debug" else "release"}/graphite $out/bin/graphite
@@ -97,7 +124,7 @@ deps.crane.lib.buildPackage (
cp $src/desktop/assets/*.desktop $out/share/applications/
mkdir -p $out/share/icons/hicolor/scalable/apps
- cp $src/desktop/assets/graphite-icon-color.svg $out/share/icons/hicolor/scalable/apps/
+ cp ${branding}/app-icons/graphite.svg $out/share/icons/hicolor/scalable/apps/
'';
postFixup = ''
diff --git a/desktop/assets/graphite-icon-color.ico b/desktop/assets/graphite-icon-color.ico
deleted file mode 100644
index d8005273de..0000000000
Binary files a/desktop/assets/graphite-icon-color.ico and /dev/null differ
diff --git a/desktop/assets/graphite-icon-color.png b/desktop/assets/graphite-icon-color.png
deleted file mode 100644
index f4e2047ca9..0000000000
Binary files a/desktop/assets/graphite-icon-color.png and /dev/null differ
diff --git a/desktop/assets/graphite-icon-color.svg b/desktop/assets/graphite-icon-color.svg
deleted file mode 100644
index 00166c61d8..0000000000
--- a/desktop/assets/graphite-icon-color.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/desktop/assets/rs.graphite.GraphiteEditor.desktop b/desktop/assets/rs.graphite.Graphite.desktop
similarity index 83%
rename from desktop/assets/rs.graphite.GraphiteEditor.desktop
rename to desktop/assets/rs.graphite.Graphite.desktop
index 4080cac69e..c0cf4ef08a 100644
--- a/desktop/assets/rs.graphite.GraphiteEditor.desktop
+++ b/desktop/assets/rs.graphite.Graphite.desktop
@@ -5,7 +5,7 @@ Comment=Open-source vector & raster graphics editor. Featuring node based proced
Exec=graphite
Terminal=false
Type=Application
-Icon=graphite-icon-color
+Icon=graphite
Categories=Graphics;VectorGraphics;RasterGraphics;
Keywords=graphite;editor;vector;raster;procedural;design;
-StartupWMClass=rs.graphite.GraphiteEditor
+StartupWMClass=rs.graphite.Graphite
diff --git a/desktop/bundle/src/mac.rs b/desktop/bundle/src/mac.rs
index 08a5279ce2..b393b57f34 100644
--- a/desktop/bundle/src/mac.rs
+++ b/desktop/bundle/src/mac.rs
@@ -5,7 +5,7 @@ use std::path::{Path, PathBuf};
use crate::common::*;
-const APP_ID: &str = "rs.graphite.GraphiteEditor";
+const APP_ID: &str = "rs.graphite.Graphite";
const PACKAGE: &str = "graphite-desktop-platform-mac";
const HELPER_BIN: &str = "graphite-desktop-platform-mac-helper";
diff --git a/desktop/platform/win/build.rs b/desktop/platform/win/build.rs
index d52ffbedb7..dc979a1265 100644
--- a/desktop/platform/win/build.rs
+++ b/desktop/platform/win/build.rs
@@ -2,7 +2,7 @@ fn main() {
#[cfg(target_os = "windows")]
{
let mut res = winres::WindowsResource::new();
- res.set_icon("../../assets/graphite-icon-color.ico");
+ res.set_icon("../../../branding/app-icons/graphite.ico");
res.compile().expect("Failed to compile Windows resources");
}
}
diff --git a/desktop/src/consts.rs b/desktop/src/consts.rs
index 21e76001d1..431f273374 100644
--- a/desktop/src/consts.rs
+++ b/desktop/src/consts.rs
@@ -1,5 +1,5 @@
pub(crate) const APP_NAME: &str = "Graphite";
-pub(crate) const APP_ID: &str = "rs.graphite.GraphiteEditor";
+pub(crate) const APP_ID: &str = "rs.graphite.Graphite";
pub(crate) const APP_DIRECTORY_NAME: &str = "graphite-editor";
pub(crate) const APP_STATE_FILE_NAME: &str = "state.ron";
diff --git a/frontend/assets/LICENSE.md b/frontend/assets/LICENSE.md
deleted file mode 100644
index 0d2e4c34c6..0000000000
--- a/frontend/assets/LICENSE.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Copyright (c) 2021-2025 Graphite Labs, LLC.
-
-The design assets in this directory (including SVG code for icons and logos) are NOT licensed under the Apache 2.0 license terms applied to other Graphite source code files. This directory and its entire contents are excluded from the Apache 2.0 source code license, and full copyright is held by the rightsholder for the creative works contained as files herein.
-
-Parties interested in using Graphite source code in a capacity that deploys the Graphite editor reference frontend are advised to substitute all assets and "Graphite" branding or otherwise arrange written permission from the rightsholder (see https://graphite.rs/contact/ for contact info). The recommended use case for adopting Graphite open source code is to develop one's own unique frontend user interface implementation that integrates Graphite's backend technology.
diff --git a/frontend/assets/graphics/graphite-logotype-solid.svg b/frontend/assets/graphics/graphite-logotype-solid.svg
deleted file mode 100644
index a7ef01b48c..0000000000
--- a/frontend/assets/graphics/graphite-logotype-solid.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/add.svg b/frontend/assets/icon-12px-solid/add.svg
deleted file mode 100644
index 4fb9442ec3..0000000000
--- a/frontend/assets/icon-12px-solid/add.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/checkmark.svg b/frontend/assets/icon-12px-solid/checkmark.svg
deleted file mode 100644
index 83f0568ce7..0000000000
--- a/frontend/assets/icon-12px-solid/checkmark.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/clipped.svg b/frontend/assets/icon-12px-solid/clipped.svg
deleted file mode 100644
index 76c2e89402..0000000000
--- a/frontend/assets/icon-12px-solid/clipped.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/close-x.svg b/frontend/assets/icon-12px-solid/close-x.svg
deleted file mode 100644
index d40d2973ed..0000000000
--- a/frontend/assets/icon-12px-solid/close-x.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/delay.svg b/frontend/assets/icon-12px-solid/delay.svg
deleted file mode 100644
index 1767c89e39..0000000000
--- a/frontend/assets/icon-12px-solid/delay.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/dot.svg b/frontend/assets/icon-12px-solid/dot.svg
deleted file mode 100644
index 63f4a4e05d..0000000000
--- a/frontend/assets/icon-12px-solid/dot.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/dropdown-arrow.svg b/frontend/assets/icon-12px-solid/dropdown-arrow.svg
deleted file mode 100644
index 7fb5f15bba..0000000000
--- a/frontend/assets/icon-12px-solid/dropdown-arrow.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/edit-12px.svg b/frontend/assets/icon-12px-solid/edit-12px.svg
deleted file mode 100644
index 074f7614ba..0000000000
--- a/frontend/assets/icon-12px-solid/edit-12px.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/empty-12px.svg b/frontend/assets/icon-12px-solid/empty-12px.svg
deleted file mode 100644
index ed62aab166..0000000000
--- a/frontend/assets/icon-12px-solid/empty-12px.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/failure.svg b/frontend/assets/icon-12px-solid/failure.svg
deleted file mode 100644
index c43014bce1..0000000000
--- a/frontend/assets/icon-12px-solid/failure.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/fullscreen-enter.svg b/frontend/assets/icon-12px-solid/fullscreen-enter.svg
deleted file mode 100644
index 87111c995a..0000000000
--- a/frontend/assets/icon-12px-solid/fullscreen-enter.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/fullscreen-exit.svg b/frontend/assets/icon-12px-solid/fullscreen-exit.svg
deleted file mode 100644
index c9d36c9369..0000000000
--- a/frontend/assets/icon-12px-solid/fullscreen-exit.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/grid-dotted.svg b/frontend/assets/icon-12px-solid/grid-dotted.svg
deleted file mode 100644
index 551300be88..0000000000
--- a/frontend/assets/icon-12px-solid/grid-dotted.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/grid.svg b/frontend/assets/icon-12px-solid/grid.svg
deleted file mode 100644
index 0a783514ee..0000000000
--- a/frontend/assets/icon-12px-solid/grid.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/info.svg b/frontend/assets/icon-12px-solid/info.svg
deleted file mode 100644
index 6d28348e00..0000000000
--- a/frontend/assets/icon-12px-solid/info.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-arrow-down.svg b/frontend/assets/icon-12px-solid/keyboard-arrow-down.svg
deleted file mode 100644
index 8f269dba46..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-arrow-down.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-arrow-left.svg b/frontend/assets/icon-12px-solid/keyboard-arrow-left.svg
deleted file mode 100644
index 3d090c9f70..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-arrow-left.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-arrow-right.svg b/frontend/assets/icon-12px-solid/keyboard-arrow-right.svg
deleted file mode 100644
index 8614c82fa8..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-arrow-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-arrow-up.svg b/frontend/assets/icon-12px-solid/keyboard-arrow-up.svg
deleted file mode 100644
index c9611e55c1..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-arrow-up.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-backspace.svg b/frontend/assets/icon-12px-solid/keyboard-backspace.svg
deleted file mode 100644
index e4ae884858..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-backspace.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-command.svg b/frontend/assets/icon-12px-solid/keyboard-command.svg
deleted file mode 100644
index e2ea25c307..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-command.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-control.svg b/frontend/assets/icon-12px-solid/keyboard-control.svg
deleted file mode 100644
index 591d2c0be6..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-control.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-enter.svg b/frontend/assets/icon-12px-solid/keyboard-enter.svg
deleted file mode 100644
index c9e25d54ec..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-enter.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-option.svg b/frontend/assets/icon-12px-solid/keyboard-option.svg
deleted file mode 100644
index 9d6c246b4c..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-option.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-shift.svg b/frontend/assets/icon-12px-solid/keyboard-shift.svg
deleted file mode 100644
index 4e8b732a22..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-shift.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-space.svg b/frontend/assets/icon-12px-solid/keyboard-space.svg
deleted file mode 100644
index 1bcb73ea97..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-space.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/keyboard-tab.svg b/frontend/assets/icon-12px-solid/keyboard-tab.svg
deleted file mode 100644
index 77888255b3..0000000000
--- a/frontend/assets/icon-12px-solid/keyboard-tab.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/license-12px.svg b/frontend/assets/icon-12px-solid/license-12px.svg
deleted file mode 100644
index 18b4d69bc8..0000000000
--- a/frontend/assets/icon-12px-solid/license-12px.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/link.svg b/frontend/assets/icon-12px-solid/link.svg
deleted file mode 100644
index a29d1cccc1..0000000000
--- a/frontend/assets/icon-12px-solid/link.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/overlays.svg b/frontend/assets/icon-12px-solid/overlays.svg
deleted file mode 100644
index 848b2c268f..0000000000
--- a/frontend/assets/icon-12px-solid/overlays.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/remove.svg b/frontend/assets/icon-12px-solid/remove.svg
deleted file mode 100644
index 08da921f70..0000000000
--- a/frontend/assets/icon-12px-solid/remove.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/render-mode-normal.svg b/frontend/assets/icon-12px-solid/render-mode-normal.svg
deleted file mode 100644
index 2b7cec52bc..0000000000
--- a/frontend/assets/icon-12px-solid/render-mode-normal.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/render-mode-outline.svg b/frontend/assets/icon-12px-solid/render-mode-outline.svg
deleted file mode 100644
index 7fba189add..0000000000
--- a/frontend/assets/icon-12px-solid/render-mode-outline.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/render-mode-pixels.svg b/frontend/assets/icon-12px-solid/render-mode-pixels.svg
deleted file mode 100644
index 877c31af66..0000000000
--- a/frontend/assets/icon-12px-solid/render-mode-pixels.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/render-mode-svg.svg b/frontend/assets/icon-12px-solid/render-mode-svg.svg
deleted file mode 100644
index a3ea018b80..0000000000
--- a/frontend/assets/icon-12px-solid/render-mode-svg.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/snapping.svg b/frontend/assets/icon-12px-solid/snapping.svg
deleted file mode 100644
index 2a84016dc8..0000000000
--- a/frontend/assets/icon-12px-solid/snapping.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/swap-horizontal.svg b/frontend/assets/icon-12px-solid/swap-horizontal.svg
deleted file mode 100644
index 97c894977e..0000000000
--- a/frontend/assets/icon-12px-solid/swap-horizontal.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/swap-vertical.svg b/frontend/assets/icon-12px-solid/swap-vertical.svg
deleted file mode 100644
index 0a7742f2a0..0000000000
--- a/frontend/assets/icon-12px-solid/swap-vertical.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/vertical-ellipsis.svg b/frontend/assets/icon-12px-solid/vertical-ellipsis.svg
deleted file mode 100644
index 1a5ff3e19f..0000000000
--- a/frontend/assets/icon-12px-solid/vertical-ellipsis.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/warning.svg b/frontend/assets/icon-12px-solid/warning.svg
deleted file mode 100644
index 977a8ba2c7..0000000000
--- a/frontend/assets/icon-12px-solid/warning.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/window-button-win-close.svg b/frontend/assets/icon-12px-solid/window-button-win-close.svg
deleted file mode 100644
index cbbd7b56cd..0000000000
--- a/frontend/assets/icon-12px-solid/window-button-win-close.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/window-button-win-maximize.svg b/frontend/assets/icon-12px-solid/window-button-win-maximize.svg
deleted file mode 100644
index 0ffb0e88c7..0000000000
--- a/frontend/assets/icon-12px-solid/window-button-win-maximize.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/window-button-win-minimize.svg b/frontend/assets/icon-12px-solid/window-button-win-minimize.svg
deleted file mode 100644
index 28c5d66b1d..0000000000
--- a/frontend/assets/icon-12px-solid/window-button-win-minimize.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/window-button-win-restore-down.svg b/frontend/assets/icon-12px-solid/window-button-win-restore-down.svg
deleted file mode 100644
index c0363e685d..0000000000
--- a/frontend/assets/icon-12px-solid/window-button-win-restore-down.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-12px-solid/working-colors.svg b/frontend/assets/icon-12px-solid/working-colors.svg
deleted file mode 100644
index 58988cbef8..0000000000
--- a/frontend/assets/icon-12px-solid/working-colors.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-bottom.svg b/frontend/assets/icon-16px-solid/align-bottom.svg
deleted file mode 100644
index 8b60abb680..0000000000
--- a/frontend/assets/icon-16px-solid/align-bottom.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-horizontal-center.svg b/frontend/assets/icon-16px-solid/align-horizontal-center.svg
deleted file mode 100644
index 273d1515dc..0000000000
--- a/frontend/assets/icon-16px-solid/align-horizontal-center.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-left.svg b/frontend/assets/icon-16px-solid/align-left.svg
deleted file mode 100644
index 25228e4bcf..0000000000
--- a/frontend/assets/icon-16px-solid/align-left.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-right.svg b/frontend/assets/icon-16px-solid/align-right.svg
deleted file mode 100644
index 4f86e83140..0000000000
--- a/frontend/assets/icon-16px-solid/align-right.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-top.svg b/frontend/assets/icon-16px-solid/align-top.svg
deleted file mode 100644
index 4e62463661..0000000000
--- a/frontend/assets/icon-16px-solid/align-top.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/align-vertical-center.svg b/frontend/assets/icon-16px-solid/align-vertical-center.svg
deleted file mode 100644
index 70299a7a1f..0000000000
--- a/frontend/assets/icon-16px-solid/align-vertical-center.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/artboard.svg b/frontend/assets/icon-16px-solid/artboard.svg
deleted file mode 100644
index 9dd62aed4a..0000000000
--- a/frontend/assets/icon-16px-solid/artboard.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-difference.svg b/frontend/assets/icon-16px-solid/boolean-difference.svg
deleted file mode 100644
index 2a07895c51..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-difference.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-divide.svg b/frontend/assets/icon-16px-solid/boolean-divide.svg
deleted file mode 100644
index fca2f12b35..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-divide.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-intersect.svg b/frontend/assets/icon-16px-solid/boolean-intersect.svg
deleted file mode 100644
index 97afc740a1..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-intersect.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-subtract-back.svg b/frontend/assets/icon-16px-solid/boolean-subtract-back.svg
deleted file mode 100644
index 1a96a198ac..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-subtract-back.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-subtract-front.svg b/frontend/assets/icon-16px-solid/boolean-subtract-front.svg
deleted file mode 100644
index 97046a391a..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-subtract-front.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/boolean-union.svg b/frontend/assets/icon-16px-solid/boolean-union.svg
deleted file mode 100644
index 22da4add6d..0000000000
--- a/frontend/assets/icon-16px-solid/boolean-union.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/bug.svg b/frontend/assets/icon-16px-solid/bug.svg
deleted file mode 100644
index 89f7e52f5c..0000000000
--- a/frontend/assets/icon-16px-solid/bug.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/checkbox-checked.svg b/frontend/assets/icon-16px-solid/checkbox-checked.svg
deleted file mode 100644
index 379232209e..0000000000
--- a/frontend/assets/icon-16px-solid/checkbox-checked.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/checkbox-unchecked.svg b/frontend/assets/icon-16px-solid/checkbox-unchecked.svg
deleted file mode 100644
index 92b7087ba2..0000000000
--- a/frontend/assets/icon-16px-solid/checkbox-unchecked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/close-all.svg b/frontend/assets/icon-16px-solid/close-all.svg
deleted file mode 100644
index dfd44fe037..0000000000
--- a/frontend/assets/icon-16px-solid/close-all.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/close.svg b/frontend/assets/icon-16px-solid/close.svg
deleted file mode 100644
index 469fa0628e..0000000000
--- a/frontend/assets/icon-16px-solid/close.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/code.svg b/frontend/assets/icon-16px-solid/code.svg
deleted file mode 100644
index 700a53b43e..0000000000
--- a/frontend/assets/icon-16px-solid/code.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/copy.svg b/frontend/assets/icon-16px-solid/copy.svg
deleted file mode 100644
index b8e5d45ca3..0000000000
--- a/frontend/assets/icon-16px-solid/copy.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/credits.svg b/frontend/assets/icon-16px-solid/credits.svg
deleted file mode 100644
index b5e7a987cf..0000000000
--- a/frontend/assets/icon-16px-solid/credits.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/custom-color.svg b/frontend/assets/icon-16px-solid/custom-color.svg
deleted file mode 100644
index 949bfdaebd..0000000000
--- a/frontend/assets/icon-16px-solid/custom-color.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/cut.svg b/frontend/assets/icon-16px-solid/cut.svg
deleted file mode 100644
index 4381c828d3..0000000000
--- a/frontend/assets/icon-16px-solid/cut.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/deselect-all.svg b/frontend/assets/icon-16px-solid/deselect-all.svg
deleted file mode 100644
index d80a5b80a8..0000000000
--- a/frontend/assets/icon-16px-solid/deselect-all.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/edit.svg b/frontend/assets/icon-16px-solid/edit.svg
deleted file mode 100644
index 92cf2d568e..0000000000
--- a/frontend/assets/icon-16px-solid/edit.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/empty.svg b/frontend/assets/icon-16px-solid/empty.svg
deleted file mode 100644
index 9e8f62c73d..0000000000
--- a/frontend/assets/icon-16px-solid/empty.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/eye-hidden.svg b/frontend/assets/icon-16px-solid/eye-hidden.svg
deleted file mode 100644
index 960def4e9b..0000000000
--- a/frontend/assets/icon-16px-solid/eye-hidden.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/eye-hide.svg b/frontend/assets/icon-16px-solid/eye-hide.svg
deleted file mode 100644
index 805c7e5b41..0000000000
--- a/frontend/assets/icon-16px-solid/eye-hide.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/eye-show.svg b/frontend/assets/icon-16px-solid/eye-show.svg
deleted file mode 100644
index b34115eba0..0000000000
--- a/frontend/assets/icon-16px-solid/eye-show.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/eye-visible.svg b/frontend/assets/icon-16px-solid/eye-visible.svg
deleted file mode 100644
index 6fbb87df15..0000000000
--- a/frontend/assets/icon-16px-solid/eye-visible.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/eyedropper.svg b/frontend/assets/icon-16px-solid/eyedropper.svg
deleted file mode 100644
index 9da1b9022e..0000000000
--- a/frontend/assets/icon-16px-solid/eyedropper.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/file-export.svg b/frontend/assets/icon-16px-solid/file-export.svg
deleted file mode 100644
index 827a59c3c3..0000000000
--- a/frontend/assets/icon-16px-solid/file-export.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/file-import.svg b/frontend/assets/icon-16px-solid/file-import.svg
deleted file mode 100644
index be504dad92..0000000000
--- a/frontend/assets/icon-16px-solid/file-import.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/file.svg b/frontend/assets/icon-16px-solid/file.svg
deleted file mode 100644
index ac6e7b8aa1..0000000000
--- a/frontend/assets/icon-16px-solid/file.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/flip-horizontal.svg b/frontend/assets/icon-16px-solid/flip-horizontal.svg
deleted file mode 100644
index 30774c4be5..0000000000
--- a/frontend/assets/icon-16px-solid/flip-horizontal.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/flip-vertical.svg b/frontend/assets/icon-16px-solid/flip-vertical.svg
deleted file mode 100644
index 8ea93799b1..0000000000
--- a/frontend/assets/icon-16px-solid/flip-vertical.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/folder-open.svg b/frontend/assets/icon-16px-solid/folder-open.svg
deleted file mode 100644
index bbad2de692..0000000000
--- a/frontend/assets/icon-16px-solid/folder-open.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/folder.svg b/frontend/assets/icon-16px-solid/folder.svg
deleted file mode 100644
index 7c6a8cc0ec..0000000000
--- a/frontend/assets/icon-16px-solid/folder.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/frame-all.svg b/frontend/assets/icon-16px-solid/frame-all.svg
deleted file mode 100644
index 0f547eeff6..0000000000
--- a/frontend/assets/icon-16px-solid/frame-all.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/frame-selected.svg b/frontend/assets/icon-16px-solid/frame-selected.svg
deleted file mode 100644
index 664df6463b..0000000000
--- a/frontend/assets/icon-16px-solid/frame-selected.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/graph-view-closed.svg b/frontend/assets/icon-16px-solid/graph-view-closed.svg
deleted file mode 100644
index b84b9bbe4e..0000000000
--- a/frontend/assets/icon-16px-solid/graph-view-closed.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/graph-view-open.svg b/frontend/assets/icon-16px-solid/graph-view-open.svg
deleted file mode 100644
index 73b4385fd0..0000000000
--- a/frontend/assets/icon-16px-solid/graph-view-open.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/graphite-logo.svg b/frontend/assets/icon-16px-solid/graphite-logo.svg
deleted file mode 100644
index 477fca579f..0000000000
--- a/frontend/assets/icon-16px-solid/graphite-logo.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/handle-visibility-all.svg b/frontend/assets/icon-16px-solid/handle-visibility-all.svg
deleted file mode 100644
index d7ef73c3ff..0000000000
--- a/frontend/assets/icon-16px-solid/handle-visibility-all.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/handle-visibility-frontier.svg b/frontend/assets/icon-16px-solid/handle-visibility-frontier.svg
deleted file mode 100644
index 3c7fb0b199..0000000000
--- a/frontend/assets/icon-16px-solid/handle-visibility-frontier.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/handle-visibility-selected.svg b/frontend/assets/icon-16px-solid/handle-visibility-selected.svg
deleted file mode 100644
index 7609920ba7..0000000000
--- a/frontend/assets/icon-16px-solid/handle-visibility-selected.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/heart.svg b/frontend/assets/icon-16px-solid/heart.svg
deleted file mode 100644
index dd859a60e5..0000000000
--- a/frontend/assets/icon-16px-solid/heart.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/history-redo.svg b/frontend/assets/icon-16px-solid/history-redo.svg
deleted file mode 100644
index 407561cd36..0000000000
--- a/frontend/assets/icon-16px-solid/history-redo.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/history-undo.svg b/frontend/assets/icon-16px-solid/history-undo.svg
deleted file mode 100644
index ad76786873..0000000000
--- a/frontend/assets/icon-16px-solid/history-undo.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/icons-grid.svg b/frontend/assets/icon-16px-solid/icons-grid.svg
deleted file mode 100644
index 52452d6aa3..0000000000
--- a/frontend/assets/icon-16px-solid/icons-grid.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/image.svg b/frontend/assets/icon-16px-solid/image.svg
deleted file mode 100644
index b2faba4b11..0000000000
--- a/frontend/assets/icon-16px-solid/image.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/layer.svg b/frontend/assets/icon-16px-solid/layer.svg
deleted file mode 100644
index 156da1712c..0000000000
--- a/frontend/assets/icon-16px-solid/layer.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/license.svg b/frontend/assets/icon-16px-solid/license.svg
deleted file mode 100644
index 44fbfa6b06..0000000000
--- a/frontend/assets/icon-16px-solid/license.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/new-layer.svg b/frontend/assets/icon-16px-solid/new-layer.svg
deleted file mode 100644
index 4042cbcb85..0000000000
--- a/frontend/assets/icon-16px-solid/new-layer.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-blur.svg b/frontend/assets/icon-16px-solid/node-blur.svg
deleted file mode 100644
index 82f7d64d00..0000000000
--- a/frontend/assets/icon-16px-solid/node-blur.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-brushwork.svg b/frontend/assets/icon-16px-solid/node-brushwork.svg
deleted file mode 100644
index dbf0b5362a..0000000000
--- a/frontend/assets/icon-16px-solid/node-brushwork.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-color-correction.svg b/frontend/assets/icon-16px-solid/node-color-correction.svg
deleted file mode 100644
index eebffffd44..0000000000
--- a/frontend/assets/icon-16px-solid/node-color-correction.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-gradient.svg b/frontend/assets/icon-16px-solid/node-gradient.svg
deleted file mode 100644
index 10b0719945..0000000000
--- a/frontend/assets/icon-16px-solid/node-gradient.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-imaginate.svg b/frontend/assets/icon-16px-solid/node-imaginate.svg
deleted file mode 100644
index aacd8b7a46..0000000000
--- a/frontend/assets/icon-16px-solid/node-imaginate.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-magic-wand.svg b/frontend/assets/icon-16px-solid/node-magic-wand.svg
deleted file mode 100644
index cac734c864..0000000000
--- a/frontend/assets/icon-16px-solid/node-magic-wand.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-mask.svg b/frontend/assets/icon-16px-solid/node-mask.svg
deleted file mode 100644
index dfd8ae6360..0000000000
--- a/frontend/assets/icon-16px-solid/node-mask.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-motion-blur.svg b/frontend/assets/icon-16px-solid/node-motion-blur.svg
deleted file mode 100644
index c5678019ea..0000000000
--- a/frontend/assets/icon-16px-solid/node-motion-blur.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-nodes.svg b/frontend/assets/icon-16px-solid/node-nodes.svg
deleted file mode 100644
index 1d41de7726..0000000000
--- a/frontend/assets/icon-16px-solid/node-nodes.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-output.svg b/frontend/assets/icon-16px-solid/node-output.svg
deleted file mode 100644
index 512037dfc1..0000000000
--- a/frontend/assets/icon-16px-solid/node-output.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-shape.svg b/frontend/assets/icon-16px-solid/node-shape.svg
deleted file mode 100644
index 07b8b3f18d..0000000000
--- a/frontend/assets/icon-16px-solid/node-shape.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-text.svg b/frontend/assets/icon-16px-solid/node-text.svg
deleted file mode 100644
index d636fe6caa..0000000000
--- a/frontend/assets/icon-16px-solid/node-text.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node-transform.svg b/frontend/assets/icon-16px-solid/node-transform.svg
deleted file mode 100644
index b4c21e0dcc..0000000000
--- a/frontend/assets/icon-16px-solid/node-transform.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/node.svg b/frontend/assets/icon-16px-solid/node.svg
deleted file mode 100644
index 872396a4d5..0000000000
--- a/frontend/assets/icon-16px-solid/node.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/padlock-locked.svg b/frontend/assets/icon-16px-solid/padlock-locked.svg
deleted file mode 100644
index 440e2337be..0000000000
--- a/frontend/assets/icon-16px-solid/padlock-locked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/padlock-unlocked.svg b/frontend/assets/icon-16px-solid/padlock-unlocked.svg
deleted file mode 100644
index 006fecd06d..0000000000
--- a/frontend/assets/icon-16px-solid/padlock-unlocked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/paste.svg b/frontend/assets/icon-16px-solid/paste.svg
deleted file mode 100644
index fa211a58ed..0000000000
--- a/frontend/assets/icon-16px-solid/paste.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/pin-active.svg b/frontend/assets/icon-16px-solid/pin-active.svg
deleted file mode 100644
index 169a6cc6ba..0000000000
--- a/frontend/assets/icon-16px-solid/pin-active.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/pin-inactive.svg b/frontend/assets/icon-16px-solid/pin-inactive.svg
deleted file mode 100644
index 21fe58d39a..0000000000
--- a/frontend/assets/icon-16px-solid/pin-inactive.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/playback-pause.svg b/frontend/assets/icon-16px-solid/playback-pause.svg
deleted file mode 100644
index 797ad55f38..0000000000
--- a/frontend/assets/icon-16px-solid/playback-pause.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/playback-play.svg b/frontend/assets/icon-16px-solid/playback-play.svg
deleted file mode 100644
index 2db27a9027..0000000000
--- a/frontend/assets/icon-16px-solid/playback-play.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/playback-to-end.svg b/frontend/assets/icon-16px-solid/playback-to-end.svg
deleted file mode 100644
index 79ce81f629..0000000000
--- a/frontend/assets/icon-16px-solid/playback-to-end.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/playback-to-start.svg b/frontend/assets/icon-16px-solid/playback-to-start.svg
deleted file mode 100644
index a697311f2d..0000000000
--- a/frontend/assets/icon-16px-solid/playback-to-start.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/random.svg b/frontend/assets/icon-16px-solid/random.svg
deleted file mode 100644
index 635cb1b638..0000000000
--- a/frontend/assets/icon-16px-solid/random.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/reload.svg b/frontend/assets/icon-16px-solid/reload.svg
deleted file mode 100644
index 01f83b2a42..0000000000
--- a/frontend/assets/icon-16px-solid/reload.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/reset.svg b/frontend/assets/icon-16px-solid/reset.svg
deleted file mode 100644
index fc72ad2347..0000000000
--- a/frontend/assets/icon-16px-solid/reset.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/resync.svg b/frontend/assets/icon-16px-solid/resync.svg
deleted file mode 100644
index 62555a17a8..0000000000
--- a/frontend/assets/icon-16px-solid/resync.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-left.svg b/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-left.svg
deleted file mode 100644
index c3a16b09e9..0000000000
--- a/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-left.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-right.svg b/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-right.svg
deleted file mode 100644
index 7fde22c2af..0000000000
--- a/frontend/assets/icon-16px-solid/reverse-radial-gradient-to-right.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/reverse.svg b/frontend/assets/icon-16px-solid/reverse.svg
deleted file mode 100644
index 1fc2aec058..0000000000
--- a/frontend/assets/icon-16px-solid/reverse.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/save.svg b/frontend/assets/icon-16px-solid/save.svg
deleted file mode 100644
index 7f87bcc320..0000000000
--- a/frontend/assets/icon-16px-solid/save.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/select-all.svg b/frontend/assets/icon-16px-solid/select-all.svg
deleted file mode 100644
index b1bc15e74c..0000000000
--- a/frontend/assets/icon-16px-solid/select-all.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/select-parent.svg b/frontend/assets/icon-16px-solid/select-parent.svg
deleted file mode 100644
index d42c5b58a4..0000000000
--- a/frontend/assets/icon-16px-solid/select-parent.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/settings.svg b/frontend/assets/icon-16px-solid/settings.svg
deleted file mode 100644
index 938ea819a3..0000000000
--- a/frontend/assets/icon-16px-solid/settings.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/small-dot.svg b/frontend/assets/icon-16px-solid/small-dot.svg
deleted file mode 100644
index 6f472d38cb..0000000000
--- a/frontend/assets/icon-16px-solid/small-dot.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack-bottom.svg b/frontend/assets/icon-16px-solid/stack-bottom.svg
deleted file mode 100644
index a69bf649c4..0000000000
--- a/frontend/assets/icon-16px-solid/stack-bottom.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack-hollow.svg b/frontend/assets/icon-16px-solid/stack-hollow.svg
deleted file mode 100644
index 27209816ce..0000000000
--- a/frontend/assets/icon-16px-solid/stack-hollow.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack-lower.svg b/frontend/assets/icon-16px-solid/stack-lower.svg
deleted file mode 100644
index 421ff3a849..0000000000
--- a/frontend/assets/icon-16px-solid/stack-lower.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack-raise.svg b/frontend/assets/icon-16px-solid/stack-raise.svg
deleted file mode 100644
index 5419c3dead..0000000000
--- a/frontend/assets/icon-16px-solid/stack-raise.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack-reverse.svg b/frontend/assets/icon-16px-solid/stack-reverse.svg
deleted file mode 100644
index 640b7ee564..0000000000
--- a/frontend/assets/icon-16px-solid/stack-reverse.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/stack.svg b/frontend/assets/icon-16px-solid/stack.svg
deleted file mode 100644
index 8f421fd384..0000000000
--- a/frontend/assets/icon-16px-solid/stack.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/tilt-reset.svg b/frontend/assets/icon-16px-solid/tilt-reset.svg
deleted file mode 100644
index 42d9f44565..0000000000
--- a/frontend/assets/icon-16px-solid/tilt-reset.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/tilt.svg b/frontend/assets/icon-16px-solid/tilt.svg
deleted file mode 100644
index fb885ab578..0000000000
--- a/frontend/assets/icon-16px-solid/tilt.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/transformation-grab.svg b/frontend/assets/icon-16px-solid/transformation-grab.svg
deleted file mode 100644
index ce0bf87858..0000000000
--- a/frontend/assets/icon-16px-solid/transformation-grab.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/transformation-rotate.svg b/frontend/assets/icon-16px-solid/transformation-rotate.svg
deleted file mode 100644
index 0ed8ff75cc..0000000000
--- a/frontend/assets/icon-16px-solid/transformation-rotate.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/transformation-scale.svg b/frontend/assets/icon-16px-solid/transformation-scale.svg
deleted file mode 100644
index 29b5a67f22..0000000000
--- a/frontend/assets/icon-16px-solid/transformation-scale.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/trash.svg b/frontend/assets/icon-16px-solid/trash.svg
deleted file mode 100644
index 1ae1bd2683..0000000000
--- a/frontend/assets/icon-16px-solid/trash.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/turn-negative-90.svg b/frontend/assets/icon-16px-solid/turn-negative-90.svg
deleted file mode 100644
index 8e67679185..0000000000
--- a/frontend/assets/icon-16px-solid/turn-negative-90.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/turn-positive-90.svg b/frontend/assets/icon-16px-solid/turn-positive-90.svg
deleted file mode 100644
index 567d6ee0c9..0000000000
--- a/frontend/assets/icon-16px-solid/turn-positive-90.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/user-manual.svg b/frontend/assets/icon-16px-solid/user-manual.svg
deleted file mode 100644
index f156bd45d1..0000000000
--- a/frontend/assets/icon-16px-solid/user-manual.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/viewport-design-mode.svg b/frontend/assets/icon-16px-solid/viewport-design-mode.svg
deleted file mode 100644
index 0e33e8373b..0000000000
--- a/frontend/assets/icon-16px-solid/viewport-design-mode.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/viewport-guide-mode.svg b/frontend/assets/icon-16px-solid/viewport-guide-mode.svg
deleted file mode 100644
index d78860e98d..0000000000
--- a/frontend/assets/icon-16px-solid/viewport-guide-mode.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/viewport-select-mode.svg b/frontend/assets/icon-16px-solid/viewport-select-mode.svg
deleted file mode 100644
index b34fa0b74c..0000000000
--- a/frontend/assets/icon-16px-solid/viewport-select-mode.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/volunteer.svg b/frontend/assets/icon-16px-solid/volunteer.svg
deleted file mode 100644
index 4e178c78a9..0000000000
--- a/frontend/assets/icon-16px-solid/volunteer.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/website.svg b/frontend/assets/icon-16px-solid/website.svg
deleted file mode 100644
index 521db204c4..0000000000
--- a/frontend/assets/icon-16px-solid/website.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/working-colors-primary.svg b/frontend/assets/icon-16px-solid/working-colors-primary.svg
deleted file mode 100644
index 24707a960f..0000000000
--- a/frontend/assets/icon-16px-solid/working-colors-primary.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/working-colors-secondary.svg b/frontend/assets/icon-16px-solid/working-colors-secondary.svg
deleted file mode 100644
index 2a69afac6b..0000000000
--- a/frontend/assets/icon-16px-solid/working-colors-secondary.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/zoom-1x.svg b/frontend/assets/icon-16px-solid/zoom-1x.svg
deleted file mode 100644
index 56d0dbba54..0000000000
--- a/frontend/assets/icon-16px-solid/zoom-1x.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/zoom-2x.svg b/frontend/assets/icon-16px-solid/zoom-2x.svg
deleted file mode 100644
index 74aa887cf1..0000000000
--- a/frontend/assets/icon-16px-solid/zoom-2x.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/zoom-in.svg b/frontend/assets/icon-16px-solid/zoom-in.svg
deleted file mode 100644
index e904fbda7f..0000000000
--- a/frontend/assets/icon-16px-solid/zoom-in.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/zoom-out.svg b/frontend/assets/icon-16px-solid/zoom-out.svg
deleted file mode 100644
index 9e2378deeb..0000000000
--- a/frontend/assets/icon-16px-solid/zoom-out.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-solid/zoom-reset.svg b/frontend/assets/icon-16px-solid/zoom-reset.svg
deleted file mode 100644
index 3740486f6c..0000000000
--- a/frontend/assets/icon-16px-solid/zoom-reset.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-drag.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-drag.svg
deleted file mode 100644
index c92c63220b..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-drag.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-double.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-double.svg
deleted file mode 100644
index 7b13e4d004..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-double.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-drag.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-drag.svg
deleted file mode 100644
index 7845ddcfec..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb-drag.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-lmb.svg
deleted file mode 100644
index 5a7c254632..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-lmb.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-mmb-drag.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-mmb-drag.svg
deleted file mode 100644
index 65a0af7c3e..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-mmb-drag.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-mmb.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-mmb.svg
deleted file mode 100644
index b957d7dad2..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-mmb.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-none.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-none.svg
deleted file mode 100644
index e878396b3f..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-none.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-double.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-double.svg
deleted file mode 100644
index ba32a89904..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-double.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-drag.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-drag.svg
deleted file mode 100644
index d15da0a645..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb-drag.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-rmb.svg
deleted file mode 100644
index 9cf95a9475..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-rmb.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-down.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-down.svg
deleted file mode 100644
index 41df714948..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-down.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-up.svg b/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-up.svg
deleted file mode 100644
index 1f9286b431..0000000000
--- a/frontend/assets/icon-16px-two-tone/mouse-hint-scroll-up.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/assets/icon-24px-two-tone/general-artboard-tool.svg b/frontend/assets/icon-24px-two-tone/general-artboard-tool.svg
deleted file mode 100644
index 22b2e3f77a..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-artboard-tool.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/general-eyedropper-tool.svg b/frontend/assets/icon-24px-two-tone/general-eyedropper-tool.svg
deleted file mode 100644
index 9202b219f4..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-eyedropper-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/general-fill-tool.svg b/frontend/assets/icon-24px-two-tone/general-fill-tool.svg
deleted file mode 100644
index 6e0206ae25..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-fill-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/general-gradient-tool.svg b/frontend/assets/icon-24px-two-tone/general-gradient-tool.svg
deleted file mode 100644
index f303752e74..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-gradient-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/general-navigate-tool.svg b/frontend/assets/icon-24px-two-tone/general-navigate-tool.svg
deleted file mode 100644
index ebd18db117..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-navigate-tool.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/general-select-tool.svg b/frontend/assets/icon-24px-two-tone/general-select-tool.svg
deleted file mode 100644
index 7f0d12d6b0..0000000000
--- a/frontend/assets/icon-24px-two-tone/general-select-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-brush-tool.svg b/frontend/assets/icon-24px-two-tone/raster-brush-tool.svg
deleted file mode 100644
index 20c92c1c50..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-brush-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-clone-tool.svg b/frontend/assets/icon-24px-two-tone/raster-clone-tool.svg
deleted file mode 100644
index 56a10bf254..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-clone-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-detail-tool.svg b/frontend/assets/icon-24px-two-tone/raster-detail-tool.svg
deleted file mode 100644
index ad50629375..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-detail-tool.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-heal-tool.svg b/frontend/assets/icon-24px-two-tone/raster-heal-tool.svg
deleted file mode 100644
index 318927169f..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-heal-tool.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-imaginate-tool.svg b/frontend/assets/icon-24px-two-tone/raster-imaginate-tool.svg
deleted file mode 100644
index 659de1627e..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-imaginate-tool.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-patch-tool.svg b/frontend/assets/icon-24px-two-tone/raster-patch-tool.svg
deleted file mode 100644
index c3edd00b0e..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-patch-tool.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/raster-relight-tool.svg b/frontend/assets/icon-24px-two-tone/raster-relight-tool.svg
deleted file mode 100644
index 93872ecd4c..0000000000
--- a/frontend/assets/icon-24px-two-tone/raster-relight-tool.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-ellipse-tool.svg b/frontend/assets/icon-24px-two-tone/vector-ellipse-tool.svg
deleted file mode 100644
index 7c03d09011..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-ellipse-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-freehand-tool.svg b/frontend/assets/icon-24px-two-tone/vector-freehand-tool.svg
deleted file mode 100644
index df67abc666..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-freehand-tool.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-line-tool.svg b/frontend/assets/icon-24px-two-tone/vector-line-tool.svg
deleted file mode 100644
index b16d130e3d..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-line-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-path-tool.svg b/frontend/assets/icon-24px-two-tone/vector-path-tool.svg
deleted file mode 100644
index 08d38ca2ad..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-path-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-pen-tool.svg b/frontend/assets/icon-24px-two-tone/vector-pen-tool.svg
deleted file mode 100644
index 718e3cf5cd..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-pen-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-polygon-tool.svg b/frontend/assets/icon-24px-two-tone/vector-polygon-tool.svg
deleted file mode 100644
index 93d9cb077c..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-polygon-tool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-rectangle-tool.svg b/frontend/assets/icon-24px-two-tone/vector-rectangle-tool.svg
deleted file mode 100644
index 2c7055cca7..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-rectangle-tool.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-spline-tool.svg b/frontend/assets/icon-24px-two-tone/vector-spline-tool.svg
deleted file mode 100644
index 359fd35e59..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-spline-tool.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/frontend/assets/icon-24px-two-tone/vector-text-tool.svg b/frontend/assets/icon-24px-two-tone/vector-text-tool.svg
deleted file mode 100644
index 2e300368cb..0000000000
--- a/frontend/assets/icon-24px-two-tone/vector-text-tool.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/frontend/assets/images/demo-artwork/thumbnail-changing-seasons.png b/frontend/assets/thumbnail-changing-seasons.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-changing-seasons.png
rename to frontend/assets/thumbnail-changing-seasons.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-isometric-fountain.png b/frontend/assets/thumbnail-isometric-fountain.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-isometric-fountain.png
rename to frontend/assets/thumbnail-isometric-fountain.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-painted-dreams.png b/frontend/assets/thumbnail-painted-dreams.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-painted-dreams.png
rename to frontend/assets/thumbnail-painted-dreams.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-parametric-dunescape.png b/frontend/assets/thumbnail-parametric-dunescape.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-parametric-dunescape.png
rename to frontend/assets/thumbnail-parametric-dunescape.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png b/frontend/assets/thumbnail-procedural-string-lights.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png
rename to frontend/assets/thumbnail-procedural-string-lights.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-red-dress.png b/frontend/assets/thumbnail-red-dress.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-red-dress.png
rename to frontend/assets/thumbnail-red-dress.png
diff --git a/frontend/assets/images/demo-artwork/thumbnail-valley-of-spires.png b/frontend/assets/thumbnail-valley-of-spires.png
similarity index 100%
rename from frontend/assets/images/demo-artwork/thumbnail-valley-of-spires.png
rename to frontend/assets/thumbnail-valley-of-spires.png
diff --git a/frontend/branding-installer.js b/frontend/branding-installer.js
new file mode 100644
index 0000000000..c38caa8e2c
--- /dev/null
+++ b/frontend/branding-installer.js
@@ -0,0 +1,148 @@
+/* eslint-disable no-console */
+
+import crypto from "crypto";
+import fs from "fs";
+import http from "http";
+import https from "https";
+import path from "path";
+import { fileURLToPath } from "url";
+import zlib from "zlib";
+
+import * as tar from "tar";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+const BRANDING_INFO_FILE = path.join(__dirname, "../.branding");
+const BRANDING_DIR = path.join(__dirname, "../branding");
+const INSTALLED_BRANDING_INFO_FILE = path.join(BRANDING_DIR, ".branding");
+const TEMP_FILE = path.join(__dirname, "branding_download.tar.gz");
+
+function downloadFile(url, dest) {
+ return new Promise((resolve, reject) => {
+ const file = fs.createWriteStream(dest);
+ const protocol = url.startsWith("https") ? https : http;
+
+ const request = protocol.get(url, (response) => {
+ if (response.statusCode === 301 || response.statusCode === 302 || response.statusCode === 307) {
+ file.close();
+ fs.unlink(dest, () => {});
+ if (response.headers.location) {
+ downloadFile(response.headers.location, dest).then(resolve).catch(reject);
+ } else {
+ reject(new Error("Redirect location missing"));
+ }
+ return;
+ }
+
+ if (response.statusCode !== 200) {
+ file.close();
+ fs.unlink(dest, () => {});
+ reject(new Error(`Failed to download: ${response.statusCode}`));
+ return;
+ }
+
+ response.pipe(file);
+ file.on("finish", () => {
+ file.close(resolve);
+ });
+ });
+
+ request.on("error", (err) => {
+ fs.unlink(dest, () => {});
+ reject(err);
+ });
+ });
+}
+
+async function main() {
+ if (!fs.existsSync(BRANDING_INFO_FILE)) {
+ console.error(`Branding info file not found at ${BRANDING_INFO_FILE}`);
+ process.exit(1);
+ }
+
+ const content = fs.readFileSync(BRANDING_INFO_FILE, "utf8");
+
+ if (fs.existsSync(INSTALLED_BRANDING_INFO_FILE)) {
+ const installedContent = fs.readFileSync(INSTALLED_BRANDING_INFO_FILE, "utf8");
+ if (content === installedContent) {
+ console.log("Branding assets are up to date.");
+ return;
+ }
+ }
+
+ const lines = content
+ .split("\n")
+ .map((l) => l.trim())
+ .filter((l) => l.length > 0);
+
+ if (lines.length < 2) {
+ console.error("Branding file must contain at least two lines: URL and Hash");
+ process.exit(1);
+ }
+
+ const url = lines[0];
+ const expectedHash = lines[1];
+
+ console.log(`Downloading branding assets from ${url}...`);
+
+ try {
+ await downloadFile(url, TEMP_FILE);
+ } catch (err) {
+ console.error("Download failed:", err);
+ process.exit(1);
+ }
+
+ console.log("Download complete. Verifying hash...");
+
+ const fileBuffer = fs.readFileSync(TEMP_FILE);
+ const hashSum = crypto.createHash("sha256");
+ hashSum.update(fileBuffer);
+ const hex = hashSum.digest("hex");
+
+ if (hex !== expectedHash) {
+ console.error("Hash mismatch!");
+ console.error(`Expected: ${expectedHash}`);
+ console.error(`Actual: ${hex}`);
+ if (fs.existsSync(TEMP_FILE)) fs.unlinkSync(TEMP_FILE);
+ process.exit(1);
+ }
+
+ console.log("Hash verified. Extracting...");
+
+ if (fs.existsSync(BRANDING_DIR)) {
+ fs.rmSync(BRANDING_DIR, { recursive: true, force: true });
+ }
+ fs.mkdirSync(BRANDING_DIR, { recursive: true });
+
+ try {
+ // Extract the tar.gz file
+ await new Promise((resolve, reject) => {
+ fs.createReadStream(TEMP_FILE)
+ .pipe(zlib.createGunzip())
+ .pipe(
+ tar.x({
+ cwd: BRANDING_DIR,
+ strip: 1,
+ }),
+ )
+ .on("error", reject)
+ .on("finish", resolve);
+ });
+ fs.copyFileSync(BRANDING_INFO_FILE, INSTALLED_BRANDING_INFO_FILE);
+ console.log("Extraction complete.");
+ } catch (error) {
+ console.error("Failed to extract archive:", error);
+ } finally {
+ if (fs.existsSync(TEMP_FILE)) {
+ fs.unlinkSync(TEMP_FILE);
+ }
+ }
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((err) => {
+ console.error("An error occurred:", err);
+ process.exit(1);
+ });
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 550ec9e4e6..0508b22ff1 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -5,6 +5,7 @@
"packages": {
"": {
"name": "graphite-web-frontend",
+ "hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"class-transformer": "^0.5.1",
@@ -34,6 +35,7 @@
"sass": "^1.91.0",
"svelte": "4.2.20",
"svelte-preprocess": "^6.0.3",
+ "tar": "^7.5.2",
"ts-node": "^10.9.2",
"typescript": "^5.9.2",
"typescript-eslint": "^8.41.0",
@@ -752,6 +754,19 @@
"url": "https://github.com/sponsors/nzakas"
}
},
+ "node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+ "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@@ -2572,6 +2587,16 @@
"url": "https://paulmillr.com/funding/"
}
},
+ "node_modules/chownr": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/class-transformer": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
@@ -4787,6 +4812,29 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+ "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
"node_modules/moment": {
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
@@ -6201,6 +6249,23 @@
"url": "https://opencollective.com/synckit"
}
},
+ "node_modules/tar": {
+ "version": "7.5.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz",
+ "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.1.0",
+ "yallist": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
@@ -6784,6 +6849,16 @@
"node": ">=10"
}
},
+ "node_modules/yallist": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+ "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index e386458848..4685383011 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -11,18 +11,18 @@
"profiling": "npm run setup && npm run wasm:build-profiling && concurrently -k -n \"VITE,RUST\" \"vite\" \"npm run wasm:watch-profiling\"",
"production": "npm run setup && npm run wasm:build-production && concurrently -k -n \"VITE,RUST\" \"vite\" \"npm run wasm:watch-production\"",
"---------- BUILDS ----------": "",
- "build": "npm run wasm:build-production && vite build",
- "build-dev": "npm run wasm:build-dev && vite build",
- "build-native": "npm run native:build-production && vite build",
- "build-native-dev": "npm run native:build-dev && vite build",
- "build-profiling": "npm run wasm:build-profiling && vite build",
+ "build": "npm run setup && npm run wasm:build-production && vite build",
+ "build-dev": "npm run setup && npm run wasm:build-dev && vite build --mode dev",
+ "build-profiling": "npm run setup && npm run wasm:build-profiling && vite build --mode dev",
+ "build-native": "npm run setup && npm run native:build-production",
+ "build-native-dev": "npm run setup && npm run native:build-dev",
"---------- UTILITIES ----------": "",
"lint": "eslint . && tsc --noEmit",
"lint-fix": "eslint . --fix && tsc --noEmit",
"---------- INTERNAL ----------": "",
- "setup": "node package-installer.js",
- "native:build-dev": "wasm-pack build ./wasm --dev --target=web --no-default-features --features native",
- "native:build-production": "wasm-pack build ./wasm --release --target=web --no-default-features --features native",
+ "setup": "node package-installer.js && node branding-installer.js",
+ "native:build-dev": "wasm-pack build ./wasm --dev --target=web --no-default-features --features native && vite build --mode dev",
+ "native:build-production": "wasm-pack build ./wasm --release --target=web --no-default-features --features native && vite build",
"wasm:build-dev": "wasm-pack build ./wasm --dev --target=web",
"wasm:build-profiling": "wasm-pack build ./wasm --profiling --target=web",
"wasm:build-production": "wasm-pack build ./wasm --release --target=web",
@@ -51,18 +51,19 @@
"eslint-plugin-svelte": "^3.11.0",
"globals": "^16.3.0",
"postcss": "^8.5.6",
- "prettier-plugin-svelte": "^3.4.0",
"prettier": "^3.6.2",
+ "prettier-plugin-svelte": "^3.4.0",
"process": "^0.11.10",
"rollup-plugin-license": "^3.6.0",
"sass": "^1.91.0",
- "svelte-preprocess": "^6.0.3",
"svelte": "4.2.20",
+ "svelte-preprocess": "^6.0.3",
+ "tar": "^7.5.2",
"ts-node": "^10.9.2",
- "typescript-eslint": "^8.41.0",
"typescript": "^5.9.2",
- "vite-multiple-assets": "2.2.5",
- "vite": "^5.4.19"
+ "typescript-eslint": "^8.41.0",
+ "vite": "^5.4.19",
+ "vite-multiple-assets": "2.2.5"
},
"homepage": "https://graphite.rs",
"license": "Apache-2.0",
diff --git a/frontend/public/android-chrome-192x192.png b/frontend/public/android-chrome-192x192.png
deleted file mode 100644
index 9e3f315c80..0000000000
Binary files a/frontend/public/android-chrome-192x192.png and /dev/null differ
diff --git a/frontend/public/android-chrome-512x512.png b/frontend/public/android-chrome-512x512.png
deleted file mode 100644
index c02e22a2e1..0000000000
Binary files a/frontend/public/android-chrome-512x512.png and /dev/null differ
diff --git a/frontend/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png
deleted file mode 100644
index a2c512dd20..0000000000
Binary files a/frontend/public/apple-touch-icon.png and /dev/null differ
diff --git a/frontend/public/browserconfig.xml b/frontend/public/browserconfig.xml
deleted file mode 100644
index 3ec377f7d4..0000000000
--- a/frontend/public/browserconfig.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- #ffffff
-
-
-
diff --git a/frontend/public/favicon-16x16.png b/frontend/public/favicon-16x16.png
deleted file mode 100644
index fe41550084..0000000000
Binary files a/frontend/public/favicon-16x16.png and /dev/null differ
diff --git a/frontend/public/favicon-32x32.png b/frontend/public/favicon-32x32.png
deleted file mode 100644
index e94d3fba40..0000000000
Binary files a/frontend/public/favicon-32x32.png and /dev/null differ
diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico
deleted file mode 100644
index 484a28f36f..0000000000
Binary files a/frontend/public/favicon.ico and /dev/null differ
diff --git a/frontend/public/mstile-144x144.png b/frontend/public/mstile-144x144.png
deleted file mode 100644
index 44f54fd110..0000000000
Binary files a/frontend/public/mstile-144x144.png and /dev/null differ
diff --git a/frontend/public/mstile-150x150.png b/frontend/public/mstile-150x150.png
deleted file mode 100644
index 30bebbdc81..0000000000
Binary files a/frontend/public/mstile-150x150.png and /dev/null differ
diff --git a/frontend/public/mstile-310x150.png b/frontend/public/mstile-310x150.png
deleted file mode 100644
index 4b08b270ef..0000000000
Binary files a/frontend/public/mstile-310x150.png and /dev/null differ
diff --git a/frontend/public/mstile-310x310.png b/frontend/public/mstile-310x310.png
deleted file mode 100644
index 5df1a3b78f..0000000000
Binary files a/frontend/public/mstile-310x310.png and /dev/null differ
diff --git a/frontend/public/mstile-70x70.png b/frontend/public/mstile-70x70.png
deleted file mode 100644
index e6c2562807..0000000000
Binary files a/frontend/public/mstile-70x70.png and /dev/null differ
diff --git a/frontend/public/safari-pinned-tab.svg b/frontend/public/safari-pinned-tab.svg
deleted file mode 100644
index 1aa9c242a0..0000000000
--- a/frontend/public/safari-pinned-tab.svg
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
diff --git a/frontend/public/site.webmanifest b/frontend/public/site.webmanifest
deleted file mode 100644
index a54dec1fc9..0000000000
--- a/frontend/public/site.webmanifest
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Graphite",
- "short_name": "Graphite",
- "start_url": "/",
- "id": "/",
- "icons": [
- {
- "src": "./android-chrome-192x192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "./android-chrome-512x512.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "theme_color": "#ffffff",
- "background_color": "#222222",
- "display": "standalone"
-}
diff --git a/frontend/src/components/views/Graph.svelte b/frontend/src/components/views/Graph.svelte
index 509dfbd96e..819d309229 100644
--- a/frontend/src/components/views/Graph.svelte
+++ b/frontend/src/components/views/Graph.svelte
@@ -4,9 +4,9 @@
import { fade } from "svelte/transition";
import type { Editor } from "@graphite/editor";
+ import type { IconName } from "@graphite/icons";
import type { FrontendGraphInput, FrontendGraphOutput } from "@graphite/messages";
import type { NodeGraphState } from "@graphite/state-providers/node-graph";
- import type { IconName } from "@graphite/utility-functions/icons";
import NodeCatalog from "@graphite/components/floating-menus/NodeCatalog.svelte";
import LayoutCol from "@graphite/components/layout/LayoutCol.svelte";
diff --git a/frontend/src/components/widgets/buttons/IconButton.svelte b/frontend/src/components/widgets/buttons/IconButton.svelte
index 97fbc2c8c9..81ab288a2e 100644
--- a/frontend/src/components/widgets/buttons/IconButton.svelte
+++ b/frontend/src/components/widgets/buttons/IconButton.svelte
@@ -1,5 +1,5 @@