Skip to content

Commit 8ad22a3

Browse files
committed
More
1 parent 25cc5cf commit 8ad22a3

3 files changed

Lines changed: 98 additions & 29 deletions

File tree

website/content/blog/2024-12-30-graphite-progress-report-q4-2024.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ banner = "..."
66
banner_png = "..."
77
author = "Keavon Chambers & Hypercube"
88
summary = "TODO: Summary and date above"
9+
css = ["/component/demo-artwork.css"]
910
+++
1011

1112
[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.
@@ -39,7 +40,17 @@ The new *todo!()* artwork shown here ...
3940
EDITOR'S NOTE: The grammatical structure of each bullet point should follow the form: "Check out our new... [Bullet point description]"
4041
-->
4142
- Text controls for line height, character spacing, and wrappable box areas that can be dragged with the Text tool <small>([#2016](https://github.com/GraphiteEditor/Graphite/pull/2016), [#2118](https://github.com/GraphiteEditor/Graphite/pull/2118))</small>
43+
<div class="video-background">
44+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
45+
<source src="https://files.keavon.com/-/ExhaustedBrokenCalf/capture_44_.mp4" type="video/mp4" />
46+
</video>
47+
</div>
4248
- Pinable node sections in the Properties panel <small>([commit e6d8c47](https://github.com/GraphiteEditor/Graphite/commit/e6d8c4743d2aff15985c929df2cc7381a61908a0))</small>
49+
<div class="video-background">
50+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
51+
<source src="https://files.keavon.com/-/PaleFrayedGentoopenguin/capture_47_.mp4" type="video/mp4" />
52+
</video>
53+
</div>
4354
- New demo artwork, *Changing Seasons*, featured in the [last blog post](../graphite-progress-report-q3-2024) <small>([commit fa6b5f2](https://github.com/GraphiteEditor/Graphite/commit/fa6b5f298adf395362e1aaa2c07be89fa89eaee2))</small>
4455

4556
<div class="demo-artwork" style="justify-content: left">
@@ -56,18 +67,96 @@ EDITOR'S NOTE: The grammatical structure of each bullet point should follow the
5667
</span>
5768
</p>
5869
</div>
70+
<div class="video-background">
71+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
72+
<source src="https://files.keavon.com/-/WeePaleAmbushbug/capture_48_.mp4" type="video/mp4" />
73+
</video>
74+
</div>
5975

6076
- *Offset Path* node that expands or contracts a vector shape <small>([#2030](https://github.com/GraphiteEditor/Graphite/pull/2030))</small>
77+
78+
<div class="video-background">
79+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
80+
<source src="https://files.keavon.com/-/FriendlyDrearyIsopod/capture_49_.mp4" type="video/mp4" />
81+
</video>
82+
</div>
83+
6184
- *Flatten Vector Elements* node that turns multiple layers of vector paths into a single combined path; and changes to the *Copy to Points*, *Repeat*, and *Circular Repeat* nodes so they output group data instead of a single vector path, allowing each separate layer to be modified by nodes which operate on groups (like *Assign Colors*), or flattened with *Flatten Vector Elements* to have the prior behavior <small>([#2011](https://github.com/GraphiteEditor/Graphite/pull/2011), [#2045](https://github.com/GraphiteEditor/Graphite/pull/2045))</small>
85+
86+
<img src="https://files.keavon.com/-/FemaleSafeOx/capture.png" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="TODO:" />
87+
6288
- Support for *Fill* and *Stroke* nodes with groups, applying to each vector layer within <small>([#2046](https://github.com/GraphiteEditor/Graphite/pull/2046))</small>
89+
90+
<div class="video-background">
91+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
92+
<source src="https://files.keavon.com/-/UtterMysteriousHaddock/capture_50_.mp4" type="video/mp4" />
93+
</video>
94+
</div>
95+
6396
- *Switch* node that routes one of two data connections based on a true or false value <small>([#2064](https://github.com/GraphiteEditor/Graphite/pull/2064))</small>
97+
98+
<div class="video-background">
99+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
100+
<source src="https://files.keavon.com/-/LimpingCadetblueFairybluebird/capture_51_.mp4" type="video/mp4" />
101+
</video>
102+
</div>
103+
64104
- *Bevel* node that flattens the corners of vector shapes <small>([#2067](https://github.com/GraphiteEditor/Graphite/pull/2067), [#2096](https://github.com/GraphiteEditor/Graphite/pull/2096))</small>
105+
106+
<div class="video-background">
107+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
108+
<source src="https://files.keavon.com/-/LowPointedBorer/capture_53_.mp4" type="video/mp4" />
109+
</video>
110+
</div>
111+
65112
- *Jitter Points* node that randomly offsets each point in a vector path <small>([commit 7d86bf4](https://github.com/GraphiteEditor/Graphite/commit/7d86bf4abf7edfe6a5d021075e050614bee07c13))</small>
113+
114+
<div class="video-background">
115+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
116+
<source src="https://files.keavon.com/-/DistinctBountifulDove/capture_54_.mp4" type="video/mp4" />
117+
</video>
118+
</div>
119+
66120
- Node insertion button, and layer renaming, directly from the Properties panel <small>([#2072](https://github.com/GraphiteEditor/Graphite/pull/2072), [#2081](https://github.com/GraphiteEditor/Graphite/pull/2081))</small>
121+
122+
<div class="video-background">
123+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
124+
<source src="https://files.keavon.com/-/PartialAnySturgeon/capture_55_.mp4" type="video/mp4" />
125+
</video>
126+
</div>
127+
67128
- Path tool feature where pressing <kbd>Space</kbd> while dragging a handle makes the anchor be dragged as well <small>([#2065](https://github.com/GraphiteEditor/Graphite/pull/2065))</small>
129+
130+
<div class="video-background">
131+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
132+
<source src="https://files.keavon.com/-/WhitesmokeCanineWireworm/capture_57_.mp4" type="video/mp4" />
133+
</video>
134+
</div>
135+
68136
- Path tool feature where pressing <kbd>Tab</kbd> while dragging a handle makes it swap to the opposite handle <small>([#2058](https://github.com/GraphiteEditor/Graphite/pull/2058))</small>
137+
138+
<div class="video-background">
139+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
140+
<source src="https://files.keavon.com/-/MisguidedNegativeGoldeneye/capture_58_.mp4" type="video/mp4" />
141+
</video>
142+
</div>
143+
69144
- Pen tool feature allowing the connection of layers by their endpoints so they both get merged into a single layer <small>([#2076](https://github.com/GraphiteEditor/Graphite/pull/2076))</small>
145+
146+
<div class="video-background">
147+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
148+
<source src="https://files.keavon.com/-/SkyblueBaggyWeasel/capture_60_.mp4" type="video/mp4" />
149+
</video>
150+
</div>
151+
70152
- *Clamp* node that limits an input number between a minimum and maximum range <small>([#2087](https://github.com/GraphiteEditor/Graphite/pull/2087))</small>
153+
154+
<div class="video-background">
155+
<video autoplay loop muted playsinline disablepictureinpicture disableremoteplayback>
156+
<source src="https://files.keavon.com/-/SerpentineBoringLeonberger/capture_63_.mp4" type="video/mp4" />
157+
</video>
158+
</div>
159+
71160
- *To U32* and *To U64* node that converts numbers to a positive integer type required by a few nodes, as a workaround for automatic type conversion not being fully supported yet <small>([#2087](https://github.com/GraphiteEditor/Graphite/pull/2087))</small>
72161
- *Dot Product* node that calculates the mathematical dot product between two numerical vectors <small>([#2126](https://github.com/GraphiteEditor/Graphite/pull/2126))</small>
73162
- *Math* node that calculates a full math expression <small>([#2121](https://github.com/GraphiteEditor/Graphite/pull/2121))</small>

website/content/donate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Graphite is 100% built and funded by the community. Your contributions directly
4242

4343
Click a membership level below to pay directly by card, no account needed.
4444

45-
A small fee of 2.9% + 30¢ reduces what we receive each month. If convenient, consider instead using <a href="https://github.com/sponsors/GraphiteEditor" target="_blank">GitHub Sponsors</a> for **no fees**.
45+
A small fee of 3.6% + 30¢ reduces what we receive each month. If convenient, consider instead using <a href="https://github.com/sponsors/GraphiteEditor" target="_blank">GitHub Sponsors</a> for **no fees**.
4646

4747
</div>
4848

website/content/features.md

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -113,29 +113,9 @@ Always on the bleeding edge and built to last— Graphite is written on a robust
113113
<div class="feature-icon complete heading" title="Began February 2024" data-year="2024">
114114
<h3>— Alpha 3 —</h3>
115115
</div>
116-
<div class="feature-icon complete" title="Development Complete">
117-
<img class="atlas" style="--atlas-index: 3" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
118-
<span>Stackable adjustment layers</span>
119-
</div>
120-
<div class="feature-icon complete" title="Development Complete">
121-
<img class="atlas" style="--atlas-index: 51" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
122-
<span>Boolean operations for shapes</span>
123-
</div>
124116
<div class="feature-icon complete" title="Development Complete">
125117
<img class="atlas" style="--atlas-index: 8" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
126-
<span>Editable nested node subgraphs</span>
127-
</div>
128-
<div class="feature-icon complete" title="Development Complete">
129-
<img class="atlas" style="--atlas-index: 10" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
130-
<span>Procedurally alterable vector data</span>
131-
</div>
132-
<div class="feature-icon complete" title="Development Complete">
133-
<img class="atlas" style="--atlas-index: 13" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
134-
<span>New vector 2D renderer (with <a target="_blank" href="https://github.com/linebender/vello">Vello</a>)</span>
135-
</div>
136-
<div class="feature-icon complete" title="Development Complete">
137-
<img class="atlas" style="--atlas-index: 26" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
138-
<span>Interactive graph auto-layout</span>
118+
<span>Procedural vector editing and usability</span>
139119
</div>
140120
<!-- <div class="feature-icon ongoing" title="Development Ongoing">
141121
<img class="atlas" style="--atlas-index: 0" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
@@ -145,10 +125,6 @@ Always on the bleeding edge and built to last— Graphite is written on a robust
145125
<div class="feature-icon ongoing heading" title="Began February 2025" data-year="2025">
146126
<h3>— Alpha 4 —</h3>
147127
</div>
148-
<div class="feature-icon ongoing">
149-
<img class="atlas" style="--atlas-index: 7" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
150-
<span>Lightweight desktop app (with <a target="_blank" href="https://tauri.app/">Tauri</a>)</span>
151-
</div>
152128
<div class="feature-icon ongoing">
153129
<img class="atlas" style="--atlas-index: 8" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
154130
<span>Lambda nodes</span>
@@ -157,14 +133,18 @@ Always on the bleeding edge and built to last— Graphite is written on a robust
157133
<img class="atlas" style="--atlas-index: 9" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
158134
<span>Graph data attribute spreadsheets</span>
159135
</div>
160-
<div class="feature-icon">
161-
<img class="atlas" style="--atlas-index: 18" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
162-
<span>Node versioning</span>
136+
<div class="feature-icon ongoing">
137+
<img class="atlas" style="--atlas-index: 7" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
138+
<span>Lightweight desktop app (with <a target="_blank" href="https://tauri.app/">Tauri</a>)</span>
163139
</div>
164140
<div class="feature-icon">
165141
<img class="atlas" style="--atlas-index: 40" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
166142
<span>Contextual properties panel</span>
167143
</div>
144+
<div class="feature-icon">
145+
<img class="atlas" style="--atlas-index: 18" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
146+
<span>Node versioning</span>
147+
</div>
168148
<div class="feature-icon" title="Development Ongoing">
169149
<img class="atlas" style="--atlas-index: 14" src="https://static.graphite.rs/icons/icon-atlas-roadmap__3.png" alt="" />
170150
<span>Infinitely zoomable/panable content</span>

0 commit comments

Comments
 (0)