Skip to content

Commit 93a60da

Browse files
committed
Comprehensively update user manual and contributor guide, add Adam to core team
1 parent 9eb544d commit 93a60da

File tree

76 files changed

+931
-685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+931
-685
lines changed

.github/workflows/website.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- name: 🌐 Build Graphite website with Zola
4141
run: |
4242
cd website
43-
zola build
43+
zola --config config_prod.toml build
4444
4545
- name: 🔍 Check if `website/other` directory changed
4646
uses: dorny/paths-filter@v3

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ spirv-std = { git = "https://github.com/Rust-GPU/rust-gpu.git" }
6363
wgpu-types = "23"
6464
wgpu = "23"
6565
once_cell = "1.13" # Remove when `core::cell::LazyCell` (<https://doc.rust-lang.org/core/cell/struct.LazyCell.html>) is stabilized in Rust 1.80 and we bump our MSRV
66-
wasm-bindgen = "=0.2.99" # NOTICE: ensure this stays in sync with the `wasm-bindgen-cli` version in `website/content/volunteer/guide/getting-started/_index.md`. We pin this version because wasm-bindgen upgrades may break various things.
66+
wasm-bindgen = "=0.2.99" # NOTICE: ensure this stays in sync with the `wasm-bindgen-cli` version in `website/content/volunteer/guide/project-setup/_index.md`. We pin this version because wasm-bindgen upgrades may break various things.
6767
wasm-bindgen-futures = "0.4"
6868
js-sys = "=0.3.76"
6969
web-sys = "=0.3.76"

frontend/assets/LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2021-2023 Graphite Labs, LLC.
1+
Copyright (c) 2021-2025 Graphite Labs, LLC.
22

33
The design assets in this directory (including SVG code for icons and logos) are NOT licensed under the Apache 2.0 license terms applied to other Graphite source code files. This directory and its entire contents are excluded from the Apache 2.0 source code license, and full copyright is held by the rightsholder for the creative works contained as files herein.
44

website/config.toml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
# The URL the site will be built for
2-
base_url = "https://graphite.rs"
3-
4-
# Whether to automatically compile all Sass files in the sass directory
5-
compile_sass = true
6-
71
title = "Graphite"
82
description = "2D raster & vector editor that melds traditional layers & tools with a modern node-based procedural workflow."
3+
base_url = "https://graphite.rs"
94
feed_filenames = ["rss.xml"]
105

6+
compile_sass = true
7+
minify_html = false
8+
119
[markdown]
12-
# Whether to do syntax highlighting
13-
# Theme can be customized by setting the `highlight_theme` variable to a theme supported by Zola
1410
highlight_code = true
1511
highlight_theme = "css"
16-
highlight_themes_css = [{ theme = "kronuz", filename = "syntax-highlighting.css" }]
12+
highlight_themes_css = [
13+
{ theme = "kronuz", filename = "syntax-highlighting.css" },
14+
]
1715

1816
[extra]
1917
# Put all your custom variables here

website/config_prod.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
title = "Graphite"
2+
description = "2D raster & vector editor that melds traditional layers & tools with a modern node-based procedural workflow."
3+
base_url = "https://graphite.rs"
4+
feed_filenames = ["rss.xml"]
5+
6+
compile_sass = true
7+
minify_html = true
8+
9+
[markdown]
10+
highlight_code = true
11+
highlight_theme = "css"
12+
highlight_themes_css = [
13+
{ theme = "kronuz", filename = "syntax-highlighting.css" },
14+
]
15+
16+
[extra]
17+
# Put all your custom variables here

website/content/_index.md

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
+++
2-
title = "Web-based vector graphics editor and design tool"
2+
title = "Free online vector editor & procedural design tool"
33
template = "section.html"
44

55
[extra]
6-
css = ["index.css"]
7-
js = ["image-interaction.js", "video-embed.js"]
6+
css_inline = ["index.css"]
7+
js = ["carousel.js", "youtube-embed.js", "video-autoplay.js"]
8+
meta_description = "Open source free software. A vector graphics creativity suite with a clean, intuitive interface. Opens instantly (no signup) and runs locally in a browser. Exports SVG, PNG, JPG."
89
+++
910

1011
<!-- ▛ LOGO ▜ -->
@@ -21,7 +22,7 @@ js = ["image-interaction.js", "video-embed.js"]
2122

2223
<h1 class="balance-text">Your <span>procedural</span> toolbox for 2D content creation</h1>
2324

24-
<p class="balance-text">Graphite is a free, open source vector and raster graphics engine, available now in alpha. Get creative with a nondestructive editing workflow that combines layer-based compositing with node-based generative design.</p>
25+
<p class="balance-text">Graphite is a free, open source vector and raster graphics editor, available now in alpha. Get creative with a nondestructive editing workflow that combines layer-based compositing with node-based generative design.</p>
2526

2627
</div>
2728
</section>
@@ -95,7 +96,7 @@ js = ["image-interaction.js", "video-embed.js"]
9596

9697
<div class="carousel-controls">
9798

98-
<button class="direction prev" data-carousel-prev>
99+
<button class="direction prev" data-carousel-prev aria-label="Move to previous screenshot">
99100

100101
<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
101102

@@ -105,12 +106,12 @@ js = ["image-interaction.js", "video-embed.js"]
105106
</svg>
106107

107108
</button>
108-
<button class="dot active" data-carousel-dot></button>
109-
<button class="dot" data-carousel-dot></button>
110-
<button class="dot" data-carousel-dot></button>
111-
<button class="dot" data-carousel-dot></button>
112-
<button class="dot" data-carousel-dot></button>
113-
<button class="direction next" data-carousel-next>
109+
<button class="dot active" data-carousel-dot aria-label="Move to screenshot 1"></button>
110+
<button class="dot" data-carousel-dot aria-label="Move to screenshot 2"></button>
111+
<button class="dot" data-carousel-dot aria-label="Move to screenshot 3"></button>
112+
<button class="dot" data-carousel-dot aria-label="Move to screenshot 4"></button>
113+
<button class="dot" data-carousel-dot aria-label="Move to screenshot 5"></button>
114+
<button class="direction next" data-carousel-next aria-label="Move to next screenshot">
114115

115116
<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
116117

@@ -257,7 +258,7 @@ Presently, Graphite is a lightweight offline web app with features primarily ori
257258

258259
Graphite is designed principally as a professional-grade desktop application that is also accessible in-browser for quick, casual usage.
259260

260-
Where's the download? Windows, Mac, and Linux apps should be available around the end of 2024. Until then, you can <a href="https://support.google.com/chrome/answer/9658361" target="_blank">install it as a PWA</a>.
261+
Where's the download? Windows, Mac, and Linux apps should be available around the start of 2025. Until then, you can <a href="https://support.google.com/chrome/answer/9658361" target="_blank">install it as a PWA</a>.
261262

262263
Developing and maintaining a native app on so many platforms is a big task. A fast, sloppy approach wouldn't cut it, but engineering the right tech takes time. That's why first supporting just web, the one platform that stays up-to-date and reaches all devices, was the initial priority.
263264

@@ -294,7 +295,7 @@ Graphite is the first and only graphic design package built for procedural editi
294295

295296
<div class="block description">
296297

297-
<h1 class="feature-box-header balance-text">Explore creative possibilities</h1>
298+
<h1 class="feature-box-header balance-text">Explore parametric possibilities</h1>
298299

299300
Save hours on tedious alterations and make better creative choices. Graphite lets you iterate rapidly by adjusting node parameters instead of individual elements.
300301

@@ -311,11 +312,11 @@ Want a different placement area? Just tweak the path.
311312

312313
<div class="block description">
313314

314-
<h1 class="feature-box-header balance-text">Mix and morph parameters</h1>
315+
<h1 class="feature-box-header balance-text">Mix and morph anything</h1>
315316

316-
Nondestructive editing means every decision is tied to a parameter you can adjust later on. Use Graphite to interpolate between any states just by dragging sliders.
317+
Nondestructive editing means every decision is tied to a parameter you can adjust later on. Use Graphite to interpolate between any states just by dragging value sliders.
317318

318-
Blend across color schemes. Morph shapes before they're scattered around the canvas. The possibilities are endless.
319+
Blend across color schemes. Morph shapes before they're scattered around the canvas. The options are endless.
319320

320321
<a href="https://editor.graphite.rs/#demo/changing-seasons">Open this artwork</a> and give it a try yourself.
321322

@@ -338,15 +339,15 @@ Graphite's representation of artwork as a node graph lets you customize, compose
338339
<div class="feature-icons four-wide">
339340
<div class="feature-icon">
340341
<img class="atlas" style="--atlas-index: 9" src="https://static.graphite.rs/icons/icon-atlas-features__2.png" alt="" />
341-
<span class="balance-text">Pixelation-free infinite zooming and panning of boundless content</span>
342+
<span class="balance-text">Infinitely pan and zoom, export any resolution with no pixelation</span>
342343
</div>
343344
<div class="feature-icon">
344345
<img class="atlas" style="--atlas-index: 2" src="https://static.graphite.rs/icons/icon-atlas-features__2.png" alt="" />
345-
<span class="balance-text">Modular node-based pipelines for generative AI <em>(soon)</em></span>
346+
<span class="balance-text">Modular node-based pipelines for generative AI <em>(future)</em></span>
346347
</div>
347348
<div class="feature-icon">
348349
<img class="atlas" style="--atlas-index: 11" src="https://static.graphite.rs/icons/icon-atlas-features__2.png" alt="" />
349-
<span class="balance-text">Asset pipelines for studio production environments <em>(soon)</em></span>
350+
<span class="balance-text">Asset pipelines for studio production environments <em>(future)</em></span>
350351
</div>
351352
</div>
352353

@@ -415,23 +416,23 @@ You'll receive your first newsletter email with the next major Graphite news.
415416
<div class="block social-media-links">
416417

417418
<a href="https://discord.graphite.rs" target="_blank">
418-
<img src="https://static.graphite.rs/icons/discord__2.svg" alt="Discord" />
419+
<img src="https://static.graphite.rs/icons/discord__2.svg" alt="" />
419420
<span class="link not-uppercase arrow">Discord</span>
420421
</a>
421422
<a href="https://www.reddit.com/r/graphite/" target="_blank">
422-
<img src="https://static.graphite.rs/icons/reddit__3.svg" alt="Reddit" />
423+
<img src="https://static.graphite.rs/icons/reddit__3.svg" alt="" />
423424
<span class="link not-uppercase arrow">Reddit</span>
424425
</a>
425426
<a href="https://bsky.app/profile/graphiteeditor.bsky.social" target="_blank">
426-
<img src="https://static.graphite.rs/icons/bluesky.svg" alt="Bluesky" />
427+
<img src="https://static.graphite.rs/icons/bluesky.svg" alt="" />
427428
<span class="link not-uppercase arrow">Bluesky</span>
428429
</a>
429430
<a href="https://twitter.com/graphiteeditor" target="_blank">
430-
<img src="https://static.graphite.rs/icons/twitter.svg" alt="Twitter" />
431+
<img src="https://static.graphite.rs/icons/twitter.svg" alt="" />
431432
<span class="link not-uppercase arrow">Twitter</span>
432433
</a>
433434
<a href="https://www.youtube.com/@GraphiteEditor" target="_blank">
434-
<img src="https://static.graphite.rs/icons/youtube.svg" alt="YouTube" />
435+
<img src="https://static.graphite.rs/icons/youtube.svg" alt="" />
435436
<span class="link not-uppercase arrow">YouTube</span>
436437
</a>
437438

@@ -511,7 +512,7 @@ Watch this timelapse showing the process of mixing traditional vector art (traci
511512
<h1><span class="alternating-text"><span>Co-create</span><span>Ideate</span><span>Illustrate</span><span>Generate</span><span>Iterate</span></span> with Imaginate</h1>
512513
513514
**Imaginate** is a node powered by <a href="https://en.wikipedia.org/wiki/Stable_Diffusion" target="_blank">Stable Diffusion</a> that makes AI-assisted art creation an easy, nondestructive process.
514-
<!-- [Learn how](/learn/node-graph/imaginate) it works. --////////////////////>
515+
[Learn how](/learn/node-graph/imaginate) it works.
515516
516517
</div>
517518
<div class="diptych">

website/content/about.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title = "About Graphite"
33

44
[extra]
5-
css = ["about.css"]
5+
css_inline = ["about.css"]
66
css_external = ["https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap"]
77
+++
88

@@ -111,17 +111,15 @@ It's easy to learn and teach, yet Graphite's accessible design does not sacrific
111111

112112
---
113113

114-
<div class="triptych">
114+
<div class="diptych">
115115

116116
<div class="block" id="keavon">
117117

118118
<img src="https://static.graphite.rs/content/about/core-team-photo-keavon-chambers.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Photo of Keavon Chambers" />
119119

120-
## Keavon Chambers
120+
## Keavon Chambers <span class="handle">(@Keavon)</span> <span class="emoji" title="American">🇺🇸</span>
121121

122-
*@Keavon* <span class="emoji" title="American">🇺🇸</span>
123-
124-
*Founder, UI & product design, frontend engineering*
122+
***Founder, UI & product design, frontend, editor systems***
125123

126124
Keavon is a creative generalist with a love for the fusion of arts and technology. UX and graphic designer, photographer, game developer, technical artist, and everything in between— he is equal parts designer and engineer. His multidisciplinary background in the digital arts is aptly suited for concocting the unique vision needed to bring Graphite to fruition.
127125

@@ -130,26 +128,38 @@ Keavon is a creative generalist with a love for the fusion of arts and technolog
130128

131129
<img src="https://static.graphite.rs/content/about/core-team-photo-dennis-kobert.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Photo of Dennis Kobert" />
132130

133-
## Dennis Kobert
134-
135-
*@TrueDoctor* <span class="emoji" title="German">🇩🇪</span>
131+
## Dennis Kobert <span class="handle">(@TrueDoctor)</span> <span class="emoji" title="German">🇩🇪</span>
136132

137-
*Graphene node engine, research, architecture*
133+
***Graphene node engine, research, architecture***
138134

139135
Dennis is a mix between a mathematician and a mad scientist. While still enjoying the art of photography and image editing (which drew him to the project early on), he thrives when challenged with designing complex systems and pushing boundaries. His method of building generalized solutions wrapped in elegant layers of abstraction led to his creation of the Graphene engine.
140136

141137
</div>
138+
139+
</div>
140+
<div class="diptych">
141+
142142
<div class="block" id="hypercube">
143143

144-
<img src="https://static.graphite.rs/content/about/core-team-photo-hypercube.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Photo of Hypercube" />
144+
<img src="https://static.graphite.rs/content/about/core-team-photo-hypercube__2.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Photo of Hypercube" />
145145

146-
## "Hypercube"
146+
## "Hypercube" <span class="handle">(@0Hypercube)</span> <span class="emoji" title="British">🇬🇧</span>
147147

148-
*@0Hypercube* <span class="emoji" title="British">🇬🇧</span>
148+
***Editor systems, nodes, tools, architecture***
149149

150-
*Editor systems, nodes, tools, architecture*
150+
"Hypercube" is a light speed code monkey who excels at developing, refactoring, and maintaining the editor codebase. With an unmatched ability to comprehend intricate code, he delivers lasting and efficient solutions at an impressive pace. He takes ownership of many central editor systems including tools, typography, transforms, layers, and node graph integration.
151151

152-
"Hypercube" is a light speed code monkey who excels at developing, refactoring, and maintaining the editor code base. With an unmatched ability to comprehend intricate code, he delivers lasting and efficient solutions at an impressive pace. He takes ownership of many central editor systems including tools, typography, transforms, layers, and node graph integration.
152+
</div>
153+
154+
<div class="block" id="adam">
155+
156+
<img src="https://static.graphite.rs/content/about/core-team-photo-adam-gerhant.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Photo of Adam Gerhant" />
157+
158+
## Adam Gerhant <span class="handle">(@pendapia)</span> <span class="emoji" title="American">🇺🇸</span>
159+
160+
***Editor graph tooling, node data formats***
161+
162+
Adam is a pragmatic problem solver with a talent for simplifying complexity. He is responsible for various architectural decisions which provide future proof integrations between the Graphene engine and editor. His work has greatly improved the performance, stability and code quality of the project, while also setting the stage for additional features.
153163

154164
</div>
155165

@@ -158,7 +168,6 @@ Dennis is a mix between a mathematician and a mad scientist. While still enjoyin
158168
</div>
159169
</section>
160170

161-
162171
<section>
163172
<div class="triptych">
164173

0 commit comments

Comments
 (0)