From e59b04998592353baa8e634f2e4469d6b3ddaad5 Mon Sep 17 00:00:00 2001 From: hypercube <0hypercube@gmail.com> Date: Mon, 30 Dec 2024 10:35:52 +0000 Subject: [PATCH] Q4 blog draft --- ...-12-30-graphite-progress-report-q4-2024.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 website/content/blog/2024-12-30-graphite-progress-report-q4-2024.md diff --git a/website/content/blog/2024-12-30-graphite-progress-report-q4-2024.md b/website/content/blog/2024-12-30-graphite-progress-report-q4-2024.md new file mode 100644 index 0000000000..56a4b66fc6 --- /dev/null +++ b/website/content/blog/2024-12-30-graphite-progress-report-q4-2024.md @@ -0,0 +1,146 @@ ++++ +title = "Graphite progress report (Q4 2024)" +date = 2024-12-30 +[extra] +banner = "..." +banner_png = "..." +author = "Keavon Chambers & Hypercube" +summary = "Graphite's Q4 2024 update includes a multitude of bug fixes and quality of life improvements." +reddit = "..." +twitter = "..." ++++ + +[Graphite](/), a new open source 2D procedural graphics editor, has spent October-December on a multitude of smaller quality-of-life features and bug fixes, making Graphite a usable alternative to vector graphics software such as Inkscape for the web. + +All Q4 2024 commits may be [viewed in this list](https://github.com/GraphiteEditor/Graphite/commits/master/?since=2024-10-01&until=2024-12-31) and all noteworthy changes are detailed below. + + + +This is the forth in our series of quarterly progress reports (congratulations on a full year @Keavon). If you missed the [last one](../graphite-progress-report-q3-2024), be sure to check it out as well. If you'd like to help speed up future progress, please consider [getting involved](/volunteer) with code, QA/bug testing, or art/marketing projects. [Donations](/donate) are also valued, as are [stars of GitHub](https://github.com/GraphiteEditor/Graphite). Follow along and partake in our [Discord community](https://discord.graphite.rs), too. + +The new *todo!()* artwork shown here ... + + +
+ + Vector art of ... + +

+ + todo!() + +
+ + Open this artwork to
explore it yourself. +
+

+
+ +## Additions + + +- Add line height and character spacing to the Text node ([#2016](https://github.com/GraphiteEditor/Graphite/pull/2016)) +- Add support for pinning nodes in the Properties panel ([commit e6d8c47](https://github.com/GraphiteEditor/Graphite/commit/e6d8c4743d2aff15985c929df2cc7381a61908a0)) +- New demo artwork: "Changing Seasons" ([commit fa6b5f2](https://github.com/GraphiteEditor/Graphite/commit/fa6b5f298adf395362e1aaa2c07be89fa89eaee2)) +- New node: Offset Path ([#2030](https://github.com/GraphiteEditor/Graphite/pull/2030)) +- Make Copy to Points and (Circular) Repeat and nodes output group data, and add flattening nodes ([#2011](https://github.com/GraphiteEditor/Graphite/pull/2011)) +- Allow the Fill and Stroke nodes to work on groups ([#2046](https://github.com/GraphiteEditor/Graphite/pull/2046)) +- Add switch node and fix log to console node ([#2064](https://github.com/GraphiteEditor/Graphite/pull/2064)) +- New node: Bevel ([#2067](https://github.com/GraphiteEditor/Graphite/pull/2067)) +- Add a node insertion button and layer renaming from the Properties panel ([#2072](https://github.com/GraphiteEditor/Graphite/pull/2072)) +- In the Path tool, make Space shift the anchor while dragging handles ([#2065](https://github.com/GraphiteEditor/Graphite/pull/2065)) +- Add Path tool support for the Tab key swapping to dragging the opposite handle ([#2058](https://github.com/GraphiteEditor/Graphite/pull/2058)) +- Allow the Pen tool to connect layers by their endpoints, merging into a single layer ([#2076](https://github.com/GraphiteEditor/Graphite/pull/2076)) +- New nodes: "Clamp", "To U32", and "To U64" ([#2087](https://github.com/GraphiteEditor/Graphite/pull/2087)) +- New node: Jitter Points ([commit 7d86bf4](https://github.com/GraphiteEditor/Graphite/commit/7d86bf4abf7edfe6a5d021075e050614bee07c13)) +- Improve the node graph with revamped top bar and disabling tools when graph is open ([#2093](https://github.com/GraphiteEditor/Graphite/pull/2093)) +- Add merging nodes into a subgraph with Ctrl+M and basic subgraph signature customization ([#2097](https://github.com/GraphiteEditor/Graphite/pull/2097)) +- New node: Dot Product ([#2126](https://github.com/GraphiteEditor/Graphite/pull/2126)) +- New node: Math ([#2121](https://github.com/GraphiteEditor/Graphite/pull/2121)) +- Add Freehand tool drawing new subpaths on an existing layer with Shift held ([commit ed119ad](https://github.com/GraphiteEditor/Graphite/commit/ed119ad3d799030dbc488ccfc8ca9ad057eeff2c)) +- Automatically place layers into the artboard they're drawn inside of ([#2110](https://github.com/GraphiteEditor/Graphite/pull/2110)) +- Add more actions to the Layer menu bar entries ([commit feba874](https://github.com/GraphiteEditor/Graphite/commit/feba87449bb490e47df6f267576bec5ab4238dc3)) +- Add selection removal to the Select tool's box select (Ctrl+Shift modifier) ([#2162](https://github.com/GraphiteEditor/Graphite/pull/2162)) + + +## Fixes +- Make Upload Texture node resolution-aware ([#2018](https://github.com/GraphiteEditor/Graphite/pull/2018)) +- Always close subpaths before applying boolean ops ([#2014](https://github.com/GraphiteEditor/Graphite/pull/2014)) +- Fix double clicking anchor to convert between smooth and sharp ([#2023](https://github.com/GraphiteEditor/Graphite/pull/2023)) +- Fix faulty contravariance checking ([#2025](https://github.com/GraphiteEditor/Graphite/pull/2025)) +- Fix the Scatter Points node ([commit 7a56af0](https://github.com/GraphiteEditor/Graphite/commit/7a56af01efc82460e780c78b008a52487972a7eb)) +- Update Wasm dependencies to fix WebGPU spec change crash in Firefox with Vello ([#2027](https://github.com/GraphiteEditor/Graphite/pull/2027)) +- Factor in artboard clipping to the click target x-ray function ([#2028](https://github.com/GraphiteEditor/Graphite/pull/2028)) +- Fix Ctrl+H layer hiding and Ctrl+L layer locking only working with the graph open ([#2029](https://github.com/GraphiteEditor/Graphite/pull/2029)) +- Improve text overlay styling and fix artboard label positioning bug ([#2032](https://github.com/GraphiteEditor/Graphite/pull/2032)) +- Fix crash from empty document with no artboards introduced in #2028 ([#2036](https://github.com/GraphiteEditor/Graphite/pull/2036)) +- Fix brush tool broken by #2011 ([#2045](https://github.com/GraphiteEditor/Graphite/pull/2045)) +- Allow multiple top output wires to come from layers ([#2049](https://github.com/GraphiteEditor/Graphite/pull/2049)) +- Fix various crashes and bugs ([#2075](https://github.com/GraphiteEditor/Graphite/pull/2075)) +- Fix gradient render transforms with Vello ([#2059](https://github.com/GraphiteEditor/Graphite/pull/2059)) +- Fix alignment snapping not preserving aspect ratio when Shift is held ([#2062](https://github.com/GraphiteEditor/Graphite/pull/2062)) +- Fix Text tool clearing text when hitting Escape by changing it to commit the edit instead ([#2052](https://github.com/GraphiteEditor/Graphite/pull/2052)) +- Allow the Path tool to edit an upstream path even if there's a type conversion midway ([#2055](https://github.com/GraphiteEditor/Graphite/pull/2055)) +- Fix layer name text input ([#2081](https://github.com/GraphiteEditor/Graphite/pull/2081)) +- Fix NumberInput widget not being reactive to changes to the unit ([#2080](https://github.com/GraphiteEditor/Graphite/pull/2080)) +- Improve Sample Points, Scatter Points, and Splines from Points to include segments and work with subpaths ([#2085](https://github.com/GraphiteEditor/Graphite/pull/2085)) +- Avoid sometimes breaking the selected layer upon switching away from the Select tool ([commit 8d3da83](https://github.com/GraphiteEditor/Graphite/commit/8d3da83606c23366d2688602afbc0917e7224e68)) +- Hide the left border notch in layers when a wire isn't entering from the layer's left ([commit 12ca060](https://github.com/GraphiteEditor/Graphite/commit/12ca06035cd7463ed895671ff7eebe53fde655c6)) +- Fix point nudging to work in document space ([#2095](https://github.com/GraphiteEditor/Graphite/pull/2095)) +- Fix Bevel node crash with zero-length segments ([#2096](https://github.com/GraphiteEditor/Graphite/pull/2096)) +- Fix the spline node algorithm to be continuous across start/end points ([#2092](https://github.com/GraphiteEditor/Graphite/pull/2092)) +- Improve nudging when tilted and add Artboard tool nudge resizing; disable menu bar entries when no layer is selected ([#2098](https://github.com/GraphiteEditor/Graphite/pull/2098)) +- Add Brush tool warning; move font list loading to document creation time ([commit de366f9](https://github.com/GraphiteEditor/Graphite/commit/de366f951424fcdf4463a419db3fa659910fabfd)) +- Make the Pen tool only append new paths when Shift is held ([#2102](https://github.com/GraphiteEditor/Graphite/pull/2102)) +- Make Pen tool always snap to endpoint anchors, even when snapping is off ([#2107](https://github.com/GraphiteEditor/Graphite/pull/2107)) +- Fix crash when upgrading a document with a Modulo node from 3 commits ago ([commit 4c4d559](https://github.com/GraphiteEditor/Graphite/commit/4c4d559d97b4d131d2777c0aab19590531ae47a9)) +- Clean up editor preferences dialog ([commit 99cf8f0](https://github.com/GraphiteEditor/Graphite/commit/99cf8f0c4f91a051b59fc2c9e5cc6c7417bdd74b)) +- Refactor collection of snap targets ([#2114](https://github.com/GraphiteEditor/Graphite/pull/2114)) +- Remove Double-Click Behavior for Switching to Path Tool on Non-Path Layers ([#2116](https://github.com/GraphiteEditor/Graphite/pull/2116)) +- Disabling colinear state when both the handles are selected and moved ([#2120](https://github.com/GraphiteEditor/Graphite/pull/2120)) +- Fix bitmap bounding box ([#2122](https://github.com/GraphiteEditor/Graphite/pull/2122)) +- Fixes shortcut key not showed in File->Close ([#2135](https://github.com/GraphiteEditor/Graphite/pull/2135)) +- Fix SVG `viewBox` capitalization in renderer ([#2131](https://github.com/GraphiteEditor/Graphite/pull/2131)) +- Tidy up the UI with clearer Layers panel selection marks and removal of most "coming soon" UI elements ([commit 1264ea8](https://github.com/GraphiteEditor/Graphite/commit/1264ea8246cbb06e0602a93be983762ab17adf30)) +- Improve issues with selection history ([#2138](https://github.com/GraphiteEditor/Graphite/pull/2138)) +- Fix transform cage rotation abort causing broken state upon next transformation ([#2149](https://github.com/GraphiteEditor/Graphite/pull/2149)) +- Make Path tool deselect all points on single-click, and select all on double-click, of shape's fill ([#2148](https://github.com/GraphiteEditor/Graphite/pull/2148)) +- Fix Select tool's box selection not being able to extend a selection with shift ([#2157](https://github.com/GraphiteEditor/Graphite/pull/2157)) +- Fix several bugged vector-related nodes ([commit b81f483](https://github.com/GraphiteEditor/Graphite/commit/b81f48385afc8c9c27820ffe8d5953529f89b7bd)) +- Improve quick measurement overlays across all possible arrangement scenarios ([#2147](https://github.com/GraphiteEditor/Graphite/pull/2147)) +- Improve quick measurement overlays with better number alignment and decimal rounding ([#2155](https://github.com/GraphiteEditor/Graphite/pull/2155)) +- Improve Text tool click targets on text layers to use the text box ([#2145](https://github.com/GraphiteEditor/Graphite/pull/2145)) + +## Internal +- Simplify the Bezier-rs interactive web demo code ([#2020](https://github.com/GraphiteEditor/Graphite/pull/2020)) +- Fix/suppress new Clippy warnings introduced in Rust 1.82 ([commit a395fbf](https://github.com/GraphiteEditor/Graphite/commit/a395fbf0637c23b8b05a7c451ff7b8421587b655)) +- Raw-rs: Refactor to run multiple steps in a single loop ([#1972](https://github.com/GraphiteEditor/Graphite/pull/1972)) +- Raw-rs: Fix naming convention of matrices ([#2071](https://github.com/GraphiteEditor/Graphite/pull/2071)) +- Raw-rs: Remove from workspace ([#2066](https://github.com/GraphiteEditor/Graphite/pull/2066)) +- Clean up old usages of `NodeId(generate_uuid())` by replacing it with `NodeId::new()` ([#2009](https://github.com/GraphiteEditor/Graphite/pull/2009)) +- Fix Bezier-rs web demos failing to run wasm-opt in CI ([commit 4df7803](https://github.com/GraphiteEditor/Graphite/commit/4df780391c0cbb87b12812d0249ed9b62e2740e4)) +- Raw-rs: Remove fortuples dependency ([#2082](https://github.com/GraphiteEditor/Graphite/pull/2082)) +- Rename Raw-rs to Rawkit ([#2088](https://github.com/GraphiteEditor/Graphite/pull/2088)) +- Parse description from node doc comments ([#2089](https://github.com/GraphiteEditor/Graphite/pull/2089)) +- Upgrade and document the math operation nodes ([commit d649052](https://github.com/GraphiteEditor/Graphite/commit/d649052255c10c15754c3a3707f2edf996d2468d)) +- Bezier-rs: Make rectangle constructor produce linear segments ([#2109](https://github.com/GraphiteEditor/Graphite/pull/2109)) +- Add math-parser library ([#2033](https://github.com/GraphiteEditor/Graphite/pull/2033)) +- Fix clippy lints ([#2119](https://github.com/GraphiteEditor/Graphite/pull/2119)) +- Simplify the implementation of the message buffering ([#2123](https://github.com/GraphiteEditor/Graphite/pull/2123)) +- Update some dependencies ([#2134](https://github.com/GraphiteEditor/Graphite/pull/2134)) +- Parse doc comments on node parameters ([#2163](https://github.com/GraphiteEditor/Graphite/pull/2163)) + +## Website +- Blog post: Graphite progress report (Q3 2024) ([#2013](https://github.com/GraphiteEditor/Graphite/pull/2013)) +- Update the screenshots on the website home page carousel ([commit f892687](https://github.com/GraphiteEditor/Graphite/commit/f89268757614bda5f949144f84ccc79bd33ddec2)) +- Update the website roadmap and other details ([commit d7a271f](https://github.com/GraphiteEditor/Graphite/commit/d7a271f67595863835e80e58636fead9b1fe0a1d)) + + +## Announcements + + +### Community art contest + +There were no submissions to the Q4 art contest. Post your creations in the `#🎨art-showcase` channel in [our Discord](https://discord.graphite.rs) before the end of March to be featured in the Q1 progress report.