Skip to content

Commit 0b284ab

Browse files
0HyperCubeKeavon
authored andcommitted
Q4 blog draft
1 parent 4fe3462 commit 0b284ab

1 file changed

Lines changed: 146 additions & 0 deletions

File tree

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
+++
2+
title = "Graphite progress report (Q4 2024)"
3+
date = 2024-12-30
4+
[extra]
5+
banner = "..."
6+
banner_png = "..."
7+
author = "Keavon Chambers & Hypercube"
8+
summary = "Graphite's Q4 2024 update includes a multitude of bug fixes and quality of life improvements."
9+
reddit = "..."
10+
twitter = "..."
11+
+++
12+
13+
[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.
14+
15+
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.
16+
17+
<!-- more -->
18+
19+
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.
20+
21+
The new *todo!()* artwork shown here ...
22+
23+
24+
<div class="demo-artwork">
25+
<a href="...">
26+
<img src="..." onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Vector art of ..." />
27+
</a>
28+
<p>
29+
<span>
30+
<em>todo!()</em>
31+
</span>
32+
<br />
33+
<span>
34+
<a href="...">Open this artwork</a> to<br />explore it yourself.
35+
</span>
36+
</p>
37+
</div>
38+
39+
## Additions
40+
41+
<!--
42+
EDITOR'S NOTE: The grammatical structure of each bullet point should follow the form: "Check out our new... [Bullet point description]"
43+
-->
44+
- Add line height and character spacing to the Text node <small>([#2016](https://github.com/GraphiteEditor/Graphite/pull/2016))</small>
45+
- Add support for pinning nodes in the Properties panel <small>([commit e6d8c47](https://github.com/GraphiteEditor/Graphite/commit/e6d8c4743d2aff15985c929df2cc7381a61908a0))</small>
46+
- New demo artwork: "Changing Seasons" <small>([commit fa6b5f2](https://github.com/GraphiteEditor/Graphite/commit/fa6b5f298adf395362e1aaa2c07be89fa89eaee2))</small>
47+
- New node: Offset Path <small>([#2030](https://github.com/GraphiteEditor/Graphite/pull/2030))</small>
48+
- Make Copy to Points and (Circular) Repeat and nodes output group data, and add flattening nodes <small>([#2011](https://github.com/GraphiteEditor/Graphite/pull/2011))</small>
49+
- Allow the Fill and Stroke nodes to work on groups <small>([#2046](https://github.com/GraphiteEditor/Graphite/pull/2046))</small>
50+
- Add switch node and fix log to console node <small>([#2064](https://github.com/GraphiteEditor/Graphite/pull/2064))</small>
51+
- New node: Bevel <small>([#2067](https://github.com/GraphiteEditor/Graphite/pull/2067))</small>
52+
- Add a node insertion button and layer renaming from the Properties panel <small>([#2072](https://github.com/GraphiteEditor/Graphite/pull/2072))</small>
53+
- In the Path tool, make Space shift the anchor while dragging handles <small>([#2065](https://github.com/GraphiteEditor/Graphite/pull/2065))</small>
54+
- Add Path tool support for the Tab key swapping to dragging the opposite handle <small>([#2058](https://github.com/GraphiteEditor/Graphite/pull/2058))</small>
55+
- Allow the Pen tool to connect layers by their endpoints, merging into a single layer <small>([#2076](https://github.com/GraphiteEditor/Graphite/pull/2076))</small>
56+
- New nodes: "Clamp", "To U32", and "To U64" <small>([#2087](https://github.com/GraphiteEditor/Graphite/pull/2087))</small>
57+
- New node: Jitter Points <small>([commit 7d86bf4](https://github.com/GraphiteEditor/Graphite/commit/7d86bf4abf7edfe6a5d021075e050614bee07c13))</small>
58+
- Improve the node graph with revamped top bar and disabling tools when graph is open <small>([#2093](https://github.com/GraphiteEditor/Graphite/pull/2093))</small>
59+
- Add merging nodes into a subgraph with Ctrl+M and basic subgraph signature customization <small>([#2097](https://github.com/GraphiteEditor/Graphite/pull/2097))</small>
60+
- New node: Dot Product <small>([#2126](https://github.com/GraphiteEditor/Graphite/pull/2126))</small>
61+
- New node: Math <small>([#2121](https://github.com/GraphiteEditor/Graphite/pull/2121))</small>
62+
- Add Freehand tool drawing new subpaths on an existing layer with Shift held <small>([commit ed119ad](https://github.com/GraphiteEditor/Graphite/commit/ed119ad3d799030dbc488ccfc8ca9ad057eeff2c))</small>
63+
- Automatically place layers into the artboard they're drawn inside of <small>([#2110](https://github.com/GraphiteEditor/Graphite/pull/2110))</small>
64+
- Add more actions to the Layer menu bar entries <small>([commit feba874](https://github.com/GraphiteEditor/Graphite/commit/feba87449bb490e47df6f267576bec5ab4238dc3))</small>
65+
- Add selection removal to the Select tool's box select (Ctrl+Shift modifier) <small>([#2162](https://github.com/GraphiteEditor/Graphite/pull/2162))</small>
66+
67+
68+
## Fixes
69+
- Make Upload Texture node resolution-aware <small>([#2018](https://github.com/GraphiteEditor/Graphite/pull/2018))</small>
70+
- Always close subpaths before applying boolean ops <small>([#2014](https://github.com/GraphiteEditor/Graphite/pull/2014))</small>
71+
- Fix double clicking anchor to convert between smooth and sharp <small>([#2023](https://github.com/GraphiteEditor/Graphite/pull/2023))</small>
72+
- Fix faulty contravariance checking <small>([#2025](https://github.com/GraphiteEditor/Graphite/pull/2025))</small>
73+
- Fix the Scatter Points node <small>([commit 7a56af0](https://github.com/GraphiteEditor/Graphite/commit/7a56af01efc82460e780c78b008a52487972a7eb))</small>
74+
- Update Wasm dependencies to fix WebGPU spec change crash in Firefox with Vello <small>([#2027](https://github.com/GraphiteEditor/Graphite/pull/2027))</small>
75+
- Factor in artboard clipping to the click target x-ray function <small>([#2028](https://github.com/GraphiteEditor/Graphite/pull/2028))</small>
76+
- Fix Ctrl+H layer hiding and Ctrl+L layer locking only working with the graph open <small>([#2029](https://github.com/GraphiteEditor/Graphite/pull/2029))</small>
77+
- Improve text overlay styling and fix artboard label positioning bug <small>([#2032](https://github.com/GraphiteEditor/Graphite/pull/2032))</small>
78+
- Fix crash from empty document with no artboards introduced in #2028 <small>([#2036](https://github.com/GraphiteEditor/Graphite/pull/2036))</small>
79+
- Fix brush tool broken by #2011 <small>([#2045](https://github.com/GraphiteEditor/Graphite/pull/2045))</small>
80+
- Allow multiple top output wires to come from layers <small>([#2049](https://github.com/GraphiteEditor/Graphite/pull/2049))</small>
81+
- Fix various crashes and bugs <small>([#2075](https://github.com/GraphiteEditor/Graphite/pull/2075))</small>
82+
- Fix gradient render transforms with Vello <small>([#2059](https://github.com/GraphiteEditor/Graphite/pull/2059))</small>
83+
- Fix alignment snapping not preserving aspect ratio when Shift is held <small>([#2062](https://github.com/GraphiteEditor/Graphite/pull/2062))</small>
84+
- Fix Text tool clearing text when hitting Escape by changing it to commit the edit instead <small>([#2052](https://github.com/GraphiteEditor/Graphite/pull/2052))</small>
85+
- Allow the Path tool to edit an upstream path even if there's a type conversion midway <small>([#2055](https://github.com/GraphiteEditor/Graphite/pull/2055))</small>
86+
- Fix layer name text input <small>([#2081](https://github.com/GraphiteEditor/Graphite/pull/2081))</small>
87+
- Fix NumberInput widget not being reactive to changes to the unit <small>([#2080](https://github.com/GraphiteEditor/Graphite/pull/2080))</small>
88+
- Improve Sample Points, Scatter Points, and Splines from Points to include segments and work with subpaths <small>([#2085](https://github.com/GraphiteEditor/Graphite/pull/2085))</small>
89+
- Avoid sometimes breaking the selected layer upon switching away from the Select tool <small>([commit 8d3da83](https://github.com/GraphiteEditor/Graphite/commit/8d3da83606c23366d2688602afbc0917e7224e68))</small>
90+
- Hide the left border notch in layers when a wire isn't entering from the layer's left <small>([commit 12ca060](https://github.com/GraphiteEditor/Graphite/commit/12ca06035cd7463ed895671ff7eebe53fde655c6))</small>
91+
- Fix point nudging to work in document space <small>([#2095](https://github.com/GraphiteEditor/Graphite/pull/2095))</small>
92+
- Fix Bevel node crash with zero-length segments <small>([#2096](https://github.com/GraphiteEditor/Graphite/pull/2096))</small>
93+
- Fix the spline node algorithm to be continuous across start/end points <small>([#2092](https://github.com/GraphiteEditor/Graphite/pull/2092))</small>
94+
- Improve nudging when tilted and add Artboard tool nudge resizing; disable menu bar entries when no layer is selected <small>([#2098](https://github.com/GraphiteEditor/Graphite/pull/2098))</small>
95+
- Add Brush tool warning; move font list loading to document creation time <small>([commit de366f9](https://github.com/GraphiteEditor/Graphite/commit/de366f951424fcdf4463a419db3fa659910fabfd))</small>
96+
- Make the Pen tool only append new paths when Shift is held <small>([#2102](https://github.com/GraphiteEditor/Graphite/pull/2102))</small>
97+
- Make Pen tool always snap to endpoint anchors, even when snapping is off <small>([#2107](https://github.com/GraphiteEditor/Graphite/pull/2107))</small>
98+
- Fix crash when upgrading a document with a Modulo node from 3 commits ago <small>([commit 4c4d559](https://github.com/GraphiteEditor/Graphite/commit/4c4d559d97b4d131d2777c0aab19590531ae47a9))</small>
99+
- Clean up editor preferences dialog <small>([commit 99cf8f0](https://github.com/GraphiteEditor/Graphite/commit/99cf8f0c4f91a051b59fc2c9e5cc6c7417bdd74b))</small>
100+
- Refactor collection of snap targets <small>([#2114](https://github.com/GraphiteEditor/Graphite/pull/2114))</small>
101+
- Remove Double-Click Behavior for Switching to Path Tool on Non-Path Layers <small>([#2116](https://github.com/GraphiteEditor/Graphite/pull/2116))</small>
102+
- Disabling colinear state when both the handles are selected and moved <small>([#2120](https://github.com/GraphiteEditor/Graphite/pull/2120))</small>
103+
- Fix bitmap bounding box <small>([#2122](https://github.com/GraphiteEditor/Graphite/pull/2122))</small>
104+
- Fixes shortcut key not showed in File->Close <small>([#2135](https://github.com/GraphiteEditor/Graphite/pull/2135))</small>
105+
- Fix SVG `viewBox` capitalization in renderer <small>([#2131](https://github.com/GraphiteEditor/Graphite/pull/2131))</small>
106+
- Tidy up the UI with clearer Layers panel selection marks and removal of most "coming soon" UI elements <small>([commit 1264ea8](https://github.com/GraphiteEditor/Graphite/commit/1264ea8246cbb06e0602a93be983762ab17adf30))</small>
107+
- Improve issues with selection history <small>([#2138](https://github.com/GraphiteEditor/Graphite/pull/2138))</small>
108+
- Fix transform cage rotation abort causing broken state upon next transformation <small>([#2149](https://github.com/GraphiteEditor/Graphite/pull/2149))</small>
109+
- Make Path tool deselect all points on single-click, and select all on double-click, of shape's fill <small>([#2148](https://github.com/GraphiteEditor/Graphite/pull/2148))</small>
110+
- Fix Select tool's box selection not being able to extend a selection with shift <small>([#2157](https://github.com/GraphiteEditor/Graphite/pull/2157))</small>
111+
- Fix several bugged vector-related nodes <small>([commit b81f483](https://github.com/GraphiteEditor/Graphite/commit/b81f48385afc8c9c27820ffe8d5953529f89b7bd))</small>
112+
- Improve quick measurement overlays across all possible arrangement scenarios <small>([#2147](https://github.com/GraphiteEditor/Graphite/pull/2147))</small>
113+
- Improve quick measurement overlays with better number alignment and decimal rounding <small>([#2155](https://github.com/GraphiteEditor/Graphite/pull/2155))</small>
114+
- Improve Text tool click targets on text layers to use the text box <small>([#2145](https://github.com/GraphiteEditor/Graphite/pull/2145))</small>
115+
116+
## Internal
117+
- Simplify the Bezier-rs interactive web demo code <small>([#2020](https://github.com/GraphiteEditor/Graphite/pull/2020))</small>
118+
- Fix/suppress new Clippy warnings introduced in Rust 1.82 <small>([commit a395fbf](https://github.com/GraphiteEditor/Graphite/commit/a395fbf0637c23b8b05a7c451ff7b8421587b655))</small>
119+
- Raw-rs: Refactor to run multiple steps in a single loop <small>([#1972](https://github.com/GraphiteEditor/Graphite/pull/1972))</small>
120+
- Raw-rs: Fix naming convention of matrices <small>([#2071](https://github.com/GraphiteEditor/Graphite/pull/2071))</small>
121+
- Raw-rs: Remove from workspace <small>([#2066](https://github.com/GraphiteEditor/Graphite/pull/2066))</small>
122+
- Clean up old usages of `NodeId(generate_uuid())` by replacing it with `NodeId::new()` <small>([#2009](https://github.com/GraphiteEditor/Graphite/pull/2009))</small>
123+
- Fix Bezier-rs web demos failing to run wasm-opt in CI <small>([commit 4df7803](https://github.com/GraphiteEditor/Graphite/commit/4df780391c0cbb87b12812d0249ed9b62e2740e4))</small>
124+
- Raw-rs: Remove fortuples dependency <small>([#2082](https://github.com/GraphiteEditor/Graphite/pull/2082))</small>
125+
- Rename Raw-rs to Rawkit <small>([#2088](https://github.com/GraphiteEditor/Graphite/pull/2088))</small>
126+
- Parse description from node doc comments <small>([#2089](https://github.com/GraphiteEditor/Graphite/pull/2089))</small>
127+
- Upgrade and document the math operation nodes <small>([commit d649052](https://github.com/GraphiteEditor/Graphite/commit/d649052255c10c15754c3a3707f2edf996d2468d))</small>
128+
- Bezier-rs: Make rectangle constructor produce linear segments <small>([#2109](https://github.com/GraphiteEditor/Graphite/pull/2109))</small>
129+
- Add math-parser library <small>([#2033](https://github.com/GraphiteEditor/Graphite/pull/2033))</small>
130+
- Fix clippy lints <small>([#2119](https://github.com/GraphiteEditor/Graphite/pull/2119))</small>
131+
- Simplify the implementation of the message buffering <small>([#2123](https://github.com/GraphiteEditor/Graphite/pull/2123))</small>
132+
- Update some dependencies <small>([#2134](https://github.com/GraphiteEditor/Graphite/pull/2134))</small>
133+
- Parse doc comments on node parameters <small>([#2163](https://github.com/GraphiteEditor/Graphite/pull/2163))</small>
134+
135+
## Website
136+
- Blog post: Graphite progress report (Q3 2024) <small>([#2013](https://github.com/GraphiteEditor/Graphite/pull/2013))</small>
137+
- Update the screenshots on the website home page carousel <small>([commit f892687](https://github.com/GraphiteEditor/Graphite/commit/f89268757614bda5f949144f84ccc79bd33ddec2))</small>
138+
- Update the website roadmap and other details <small>([commit d7a271f](https://github.com/GraphiteEditor/Graphite/commit/d7a271f67595863835e80e58636fead9b1fe0a1d))</small>
139+
140+
141+
## Announcements
142+
143+
144+
### Community art contest
145+
146+
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.

0 commit comments

Comments
 (0)