diff --git a/.nix/flake.nix b/.nix/flake.nix index fc0cb6cbe4..a3e15eedb0 100644 --- a/.nix/flake.nix +++ b/.nix/flake.nix @@ -36,7 +36,7 @@ pkgs-unstable = import nixpkgs-unstable { inherit system overlays; }; - + rustc-wasm = pkgs.rust-bin.stable.latest.default.override { targets = [ "wasm32-unknown-unknown" ]; extensions = [ "rust-src" "rust-analyzer" "clippy" "cargo" ]; @@ -49,21 +49,6 @@ vulkan-loader mesa libraw - - - # Tauri dependencies: keep in sync with https://v2.tauri.app/start/prerequisites/#system-dependencies (under the NixOS tab) - at-spi2-atk - atkmm - cairo - gdk-pixbuf - glib - gtk3 - harfbuzz - librsvg - libsoup_3 - pango - webkitgtk_4_1 - openssl ]; # Development tools that don't need to be in LD_LIBRARY_PATH @@ -88,12 +73,11 @@ cargo-watch cargo-nextest cargo-expand - + # Profiling tools gnuplot samply cargo-flamegraph - ]; in { @@ -104,7 +88,6 @@ LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs; GIO_MODULE_DIR="${pkgs.glib-networking}/lib/gio/modules/"; XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:$XDG_DATA_DIRS"; - shellHook = '' alias cargo='mold --run cargo' diff --git a/Cargo.toml b/Cargo.toml index 35c5e7040d..74c4c1bf68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,6 @@ members = [ "editor", "proc-macros", "frontend/wasm", - "frontend/src-tauri", "node-graph/gapplication-io", "node-graph/gbrush", "node-graph/gcore", diff --git a/deny.toml b/deny.toml index 610902ac35..3dfa941551 100644 --- a/deny.toml +++ b/deny.toml @@ -28,10 +28,6 @@ targets = [ #{ triple = "wasm32-unknown-unknown", features = ["atomics"] }, ] -# Tauri produces too many nonsense warnings. -exclude = ["tauri", "tauri-build"] - - # This section is considered when running `cargo deny check advisories` # More documentation for the advisories section can be found here: # https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html diff --git a/frontend/package.json b/frontend/package.json index ea18e0fba9..07fc0460b0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -19,8 +19,6 @@ "lint-fix": "eslint . --fix && tsc --noEmit", "---------- INTERNAL ----------": "", "setup": "node package-installer.js", - "tauri:dev": "vite", - "tauri:build": "wasm-pack build ./wasm --target=web --features=tauri", "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", diff --git a/frontend/src-tauri/.gitignore b/frontend/src-tauri/.gitignore deleted file mode 100644 index 3419525157..0000000000 --- a/frontend/src-tauri/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -# Generated by tauri -gen/ diff --git a/frontend/src-tauri/Cargo.toml b/frontend/src-tauri/Cargo.toml deleted file mode 100644 index c2095e3d87..0000000000 --- a/frontend/src-tauri/Cargo.toml +++ /dev/null @@ -1,45 +0,0 @@ -[package] -name = "graphite-desktop" -version = "0.1.0" -description = "Graphite Desktop" -authors = ["Graphite Authors "] -license = "Apache-2.0" -repository = "" -default-run = "graphite-desktop" -edition = "2021" -rust-version = "1.79" - -[features] -# By default Tauri runs in production mode when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL -default = ["custom-protocol", "gpu"] -# This feature is used for production builds where `devPath` points to the filesystem -# DO NOT remove this -custom-protocol = ["tauri/custom-protocol"] -gpu = ["graphite-editor/gpu"] - -[dependencies] -# Local dependencies -graphite-editor = { path = "../../editor", features = [ - "gpu", - "ron", - "vello", - "decouple-execution", -] } - -# Workspace dependencies -axum = { workspace = true } -chrono = { workspace = true } -tokio = { workspace = true } -ron = { workspace = true } -log = { workspace = true } -fern = { workspace = true } -futures = { workspace = true } - -# Required dependencies -tauri = { version = "2", features = ["devtools", "wry"] } -tauri-plugin-shell = "2" -tauri-plugin-http = "2" - -[build-dependencies] -# Required dependencies -tauri-build = { version = "2", features = [] } diff --git a/frontend/src-tauri/build.rs b/frontend/src-tauri/build.rs deleted file mode 100644 index 59fdfbea60..0000000000 --- a/frontend/src-tauri/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -use std::fs; -use std::path::PathBuf; - -fn main() { - // Directory required for compilation, but not tracked by git if empty. - let dist_dir: PathBuf = ["..", "dist"].iter().collect(); - fs::create_dir_all(dist_dir).unwrap(); - tauri_build::build() -} diff --git a/frontend/src-tauri/capabilities/desktop.json b/frontend/src-tauri/capabilities/desktop.json deleted file mode 100644 index 938d5a3367..0000000000 --- a/frontend/src-tauri/capabilities/desktop.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "identifier": "desktop-capability", - "platforms": ["macOS", "windows", "linux"], - "windows": ["main"], - "permissions": ["http:default"] -} diff --git a/frontend/src-tauri/capabilities/migrated.json b/frontend/src-tauri/capabilities/migrated.json deleted file mode 100644 index 4e47d1a91a..0000000000 --- a/frontend/src-tauri/capabilities/migrated.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "identifier": "migrated", - "description": "permissions that were migrated from v1", - "local": true, - "windows": ["main"], - "permissions": [ - "core:default", - "core:window:allow-create", - "core:window:allow-center", - "core:window:allow-request-user-attention", - "core:window:allow-set-resizable", - "core:window:allow-set-maximizable", - "core:window:allow-set-minimizable", - "core:window:allow-set-closable", - "core:window:allow-set-title", - "core:window:allow-maximize", - "core:window:allow-unmaximize", - "core:window:allow-minimize", - "core:window:allow-unminimize", - "core:window:allow-show", - "core:window:allow-hide", - "core:window:allow-close", - "core:window:allow-set-decorations", - "core:window:allow-set-always-on-top", - "core:window:allow-set-content-protected", - "core:window:allow-set-size", - "core:window:allow-set-min-size", - "core:window:allow-set-max-size", - "core:window:allow-set-position", - "core:window:allow-set-fullscreen", - "core:window:allow-set-focus", - "core:window:allow-set-icon", - "core:window:allow-set-skip-taskbar", - "core:window:allow-set-cursor-grab", - "core:window:allow-set-cursor-visible", - "core:window:allow-set-cursor-icon", - "core:window:allow-set-cursor-position", - "core:window:allow-set-ignore-cursor-events", - "core:window:allow-start-dragging", - "core:webview:allow-print", - "shell:allow-execute", - "shell:allow-open", - "http:default", - "core:app:allow-app-show", - "core:app:allow-app-hide", - "shell:default", - "http:default" - ] -} diff --git a/frontend/src-tauri/icons/128x128.png b/frontend/src-tauri/icons/128x128.png deleted file mode 100644 index f7bd3fdad7..0000000000 Binary files a/frontend/src-tauri/icons/128x128.png and /dev/null differ diff --git a/frontend/src-tauri/icons/128x128@2x.png b/frontend/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 56b991cd81..0000000000 Binary files a/frontend/src-tauri/icons/128x128@2x.png and /dev/null differ diff --git a/frontend/src-tauri/icons/32x32.png b/frontend/src-tauri/icons/32x32.png deleted file mode 100644 index 53d1df4aeb..0000000000 Binary files a/frontend/src-tauri/icons/32x32.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square107x107Logo.png b/frontend/src-tauri/icons/Square107x107Logo.png deleted file mode 100644 index 5a93106185..0000000000 Binary files a/frontend/src-tauri/icons/Square107x107Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square142x142Logo.png b/frontend/src-tauri/icons/Square142x142Logo.png deleted file mode 100644 index 5d4be439c8..0000000000 Binary files a/frontend/src-tauri/icons/Square142x142Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square150x150Logo.png b/frontend/src-tauri/icons/Square150x150Logo.png deleted file mode 100644 index d1f9dbc536..0000000000 Binary files a/frontend/src-tauri/icons/Square150x150Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square284x284Logo.png b/frontend/src-tauri/icons/Square284x284Logo.png deleted file mode 100644 index e4bbc7a36e..0000000000 Binary files a/frontend/src-tauri/icons/Square284x284Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square30x30Logo.png b/frontend/src-tauri/icons/Square30x30Logo.png deleted file mode 100644 index cc7bb9c9ca..0000000000 Binary files a/frontend/src-tauri/icons/Square30x30Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square310x310Logo.png b/frontend/src-tauri/icons/Square310x310Logo.png deleted file mode 100644 index d4dd3fcae3..0000000000 Binary files a/frontend/src-tauri/icons/Square310x310Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square44x44Logo.png b/frontend/src-tauri/icons/Square44x44Logo.png deleted file mode 100644 index 3edfca75e1..0000000000 Binary files a/frontend/src-tauri/icons/Square44x44Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square71x71Logo.png b/frontend/src-tauri/icons/Square71x71Logo.png deleted file mode 100644 index a189c3e7f9..0000000000 Binary files a/frontend/src-tauri/icons/Square71x71Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/Square89x89Logo.png b/frontend/src-tauri/icons/Square89x89Logo.png deleted file mode 100644 index 454158e565..0000000000 Binary files a/frontend/src-tauri/icons/Square89x89Logo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/StoreLogo.png b/frontend/src-tauri/icons/StoreLogo.png deleted file mode 100644 index f2a2283e50..0000000000 Binary files a/frontend/src-tauri/icons/StoreLogo.png and /dev/null differ diff --git a/frontend/src-tauri/icons/icon.icns b/frontend/src-tauri/icons/icon.icns deleted file mode 100644 index a05bb43549..0000000000 Binary files a/frontend/src-tauri/icons/icon.icns and /dev/null differ diff --git a/frontend/src-tauri/icons/icon.ico b/frontend/src-tauri/icons/icon.ico deleted file mode 100644 index e45b58dd9d..0000000000 Binary files a/frontend/src-tauri/icons/icon.ico and /dev/null differ diff --git a/frontend/src-tauri/icons/icon.png b/frontend/src-tauri/icons/icon.png deleted file mode 100644 index 05483f325f..0000000000 Binary files a/frontend/src-tauri/icons/icon.png and /dev/null differ diff --git a/frontend/src-tauri/src/main.rs b/frontend/src-tauri/src/main.rs deleted file mode 100644 index 64c78a79be..0000000000 --- a/frontend/src-tauri/src/main.rs +++ /dev/null @@ -1,84 +0,0 @@ -#![cfg_attr(all(not(debug_assertions), target_os = "windows"), windows_subsystem = "windows")] - -use axum::routing::get; -use axum::Router; -use fern::colors::{Color, ColoredLevelConfig}; -use graphite_editor::node_graph_executor::*; -use std::sync::Mutex; - -static NODE_RUNTIME_IO: Mutex> = const { Mutex::new(None) }; - -#[tokio::main] -async fn main() { - println!("Starting server..."); - - let colors = ColoredLevelConfig::new().debug(Color::Magenta).info(Color::Green).error(Color::Red); - - fern::Dispatch::new() - .chain(std::io::stdout()) - .level(log::LevelFilter::Trace) - .level_for("naga", log::LevelFilter::Error) - .level_for("wgpu-hal", log::LevelFilter::Error) - .level_for("wgpu_hal", log::LevelFilter::Error) - .level_for("wgpu_core", log::LevelFilter::Error) - .format(move |out, message, record| { - out.finish(format_args!( - "[{}]{} {} {}", - // This will color the log level only, not the whole line. Just a touch. - colors.color(record.level()), - chrono::Utc::now().format("[%Y-%m-%d %H:%M:%S]"), - message, - record.module_path().unwrap_or("") - )) - }) - .apply() - .unwrap(); - - std::thread::spawn(|| loop { - futures::executor::block_on(graphite_editor::node_graph_executor::run_node_graph()); - std::thread::sleep(std::time::Duration::from_millis(16)) - }); - graphite_editor::application::set_uuid_seed(0); - - let mut runtime_lock = NODE_RUNTIME_IO.lock().unwrap(); - *runtime_lock = Some(NodeRuntimeIO::new()); - drop(runtime_lock); - - let app = Router::new().route("/", get(|| async { "Hello, World!" })); - - // Run it with hyper on localhost:3000 - tauri::async_runtime::spawn(async { - let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); - axum::serve(listener, app).await.unwrap(); - }); - - tauri::Builder::default() - .plugin(tauri_plugin_http::init()) - .plugin(tauri_plugin_shell::init()) - .invoke_handler(tauri::generate_handler![poll_node_graph, runtime_message]) - .setup(|_app| { - use tauri::Manager; - _app.get_webview_window("main").unwrap().open_devtools(); - Ok(()) - }) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} -#[tauri::command] -fn poll_node_graph() -> String { - let vec: Vec<_> = NODE_RUNTIME_IO.lock().as_mut().unwrap().as_mut().unwrap().receive().collect(); - ron::to_string(&vec).unwrap() -} - -#[tauri::command] -fn runtime_message(message: String) -> Result<(), String> { - let message = match ron::from_str(&message) { - Ok(message) => message, - Err(e) => { - log::error!("Failed to deserialize message: {}\nwith error: {}", message, e); - return Err("Failed to deserialize message".into()); - } - }; - let response = NODE_RUNTIME_IO.lock().as_ref().unwrap().as_ref().unwrap().send(message); - response -} diff --git a/frontend/src-tauri/tauri.conf.json b/frontend/src-tauri/tauri.conf.json deleted file mode 100644 index b7614dff01..0000000000 --- a/frontend/src-tauri/tauri.conf.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$schema": "../node_modules/@tauri-apps/cli/schema.json", - "build": { - "beforeBuildCommand": "npm run tauri:build", - "beforeDevCommand": "npm run tauri:dev", - "frontendDist": "../dist", - "devUrl": "http://127.0.0.1:8080/" - }, - "bundle": { - "active": true, - "category": "DeveloperTool", - "copyright": "", - "targets": "all", - "externalBin": [], - "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"], - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "" - }, - "longDescription": "", - "macOS": { - "entitlements": null, - "exceptionDomain": "", - "frameworks": [], - "providerShortName": null, - "signingIdentity": null - }, - "resources": [], - "shortDescription": "", - "linux": { - "deb": { - "depends": ["librustc_codegen_spirv"] - } - } - }, - "productName": "Graphite", - "mainBinaryName": "Graphite", - "version": "0.1.0", - "identifier": "rs.graphite.editor", - "plugins": {}, - "app": { - "withGlobalTauri": true, - "windows": [ - { - "decorations": false, - "fullscreen": false, - "height": 1080, - "resizable": true, - "title": "Graphite", - "width": 1920, - "useHttpsScheme": true - } - ], - "security": { - "csp": null - } - } -}