diff --git a/.vscode/settings.json b/.vscode/settings.json index 844d583d..8f80b278 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,10 +32,8 @@ "editor.formatOnSave": false }, // Rust Analyzer config - "rust-analyzer.cargo.target": "wasm32-unknown-unknown", + "rust-analyzer.cargo.allTargets": false, "rust-analyzer.check.command": "clippy", - "rust-analyzer.cargo.buildScripts.overrideCommand": ["cargo", "check", "--quiet", "--message-format=json", "--all-targets", "-p", "graphite-wasm"], // Build scripts for Tauri aren't compatible with wasm32-unknown-unknown, so this restricts it to just our code entry point - "rust-analyzer.diagnostics.disabled": ["unresolved-macro-call"], // Remove when https://github.com/rust-lang/rust-analyzer/issues/6835 is fixed // ESLint config "eslint.format.enable": true, "eslint.workingDirectories": ["./frontend", "./website/other/bezier-rs-demos", "./website"], diff --git a/Cargo.toml b/Cargo.toml index d28454b0..cc8b0d30 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,30 +93,22 @@ kurbo = { git = "https://github.com/linebender/kurbo.git", features = [ "serde", ] } -[profile.dev.package.graphite-editor] -opt-level = 1 - -[profile.dev.package.graphene-core] -opt-level = 1 - -[profile.dev.package.graphene-std] -opt-level = 1 - -[profile.dev.package.interpreted-executor] -opt-level = 1 # This is a mitigation for https://github.com/rustwasm/wasm-pack/issues/981 which is needed because the node_registry function is too large - -[profile.dev.package.autoquant] -opt-level = 3 - -[profile.dev.package.image] -opt-level = 3 - -[profile.dev.package.rustc-hash] -opt-level = 3 - [profile.dev] opt-level = 1 +[profile.dev.package] +graphite-editor = { opt-level = 1 } +graphene-core = { opt-level = 1 } +graphene-std = { opt-level = 1 } +interpreted-executor = { opt-level = 1 } # This is a mitigation for https://github.com/rustwasm/wasm-pack/issues/981 which is needed because the node_registry function is too large +graphite-proc-macros = { opt-level = 3 } +autoquant = { opt-level = 3 } +image = { opt-level = 3 } +rustc-hash = { opt-level = 3 } +serde_derive = { opt-level = 3 } +specta-macros = { opt-level = 3 } +syn = { opt-level = 3 } + [profile.release] lto = "thin" diff --git a/shell.nix b/shell.nix index 305e75a7..afe362c7 100644 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,8 @@ -# This is a helper file for people using NixOs as their Operating System -# > If you don't know what this file does you can safely ignore it :D +# This is a helper file for people using NixOS as their operating system. +# If you don't know what this file does, you can safely ignore it. -# If you are using nix as your package manager, you can run 'nix-shell' -# in the root directory of the project and nix will open a bash shell +# If you are using Nix as your package manager, you can run 'nix-shell' +# in the root directory of the project and Nix will open a bash shell # with all the packages needed to build and run Graphite installed. # A shell.nix file is used in the Nix ecosystem to define a development # environment with specific dependencies. When you enter a Nix shell using @@ -10,8 +10,10 @@ # available regardless of the host system's configuration. This provides # a reproducible development environment across different machines and developers. -# If you don't need the shell, you can build Graphite using this command: -# nix-shell --command "npm start" +# You can enter the Nix shell and run Graphite like normal with: +# > npm start +# Or you can run it like this without needing to first enter the Nix shell: +# > nix-shell --command "npm start" let # Get oxalica's Rust overlay for better Rust integration @@ -50,25 +52,25 @@ in pkgs.llvm pkgs.gcc-unwrapped.lib pkgs.llvmPackages.libcxxStdenv + pkgs.pkg-config + # For Tauri pkgs.openssl pkgs.glib pkgs.gtk3 pkgs.libsoup pkgs.webkitgtk - pkgs.pkg-config - pkgs.openssl + # For Raw-rs tests + pkgs.libraw - # Use Mold as a Linke + # Use Mold as a linker pkgs.mold ]; - - # Hacky way to run cago through Mold - LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.openssl pkgs.vulkan-loader pkgs.libxkbcommon pkgs.llvmPackages.libcxxStdenv pkgs.gcc-unwrapped.lib pkgs.llvm]; + # Hacky way to run Cargo through Mold + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.openssl pkgs.vulkan-loader pkgs.libxkbcommon pkgs.llvmPackages.libcxxStdenv pkgs.gcc-unwrapped.lib pkgs.llvm pkgs.libraw]; shellHook = '' alias cargo='mold --run cargo' ''; } - diff --git a/website/content/volunteer/guide/getting-started/_index.md b/website/content/volunteer/guide/getting-started/_index.md index 7e8485f5..55479059 100644 --- a/website/content/volunteer/guide/getting-started/_index.md +++ b/website/content/volunteer/guide/getting-started/_index.md @@ -29,16 +29,27 @@ You'll likely get faster build times if you manually install this specific versi cargo install -f wasm-bindgen-cli@0.2.92 ``` + + + ## Repository Clone the project to a convenient location: