Comprehensively update user manual and contributor guide, add Adam to core team

This commit is contained in:
Keavon Chambers
2025-01-08 03:52:11 -08:00
parent 9eb544df74
commit 93a60daa24
76 changed files with 931 additions and 685 deletions
@@ -4,11 +4,10 @@ template = "book.html"
page_template = "book.html"
[extra]
order = 3 # Chapter number
js = ["video-embed.js"]
order = 5 # Chapter number
+++
**Graphene** is the node graph engine that powers the Graphite editor.
Graphene is the node graph engine that powers the Graphite editor.
It's hard to describe in one sentence precisely what Graphene is, because it's a technology that serves several roles when viewed from different angles. But to get a feel for what it encompasses, here is a list of some of its purposes:
@@ -89,7 +88,7 @@ Since Graphene is fundamentally a programming language, throughout this document
| Graph execution | Program execution |
<!-- Our philosophy of building (bootstrapping) our own higher-level language features from the language itself -->
<!-- Primary inputs/outputs, secondary inputs/outputs, `.eval()`, recompiling when secondary input values are updated but not when primary input data is updated -->
<!-- Call arguments, construction arguments, `.eval()`, recompiling when construction argument values are updated but not when call argument data changes -->
<!-- Compose nodes and automatic/manual composition -->
<!-- Extract/inject nodes and metaprogramming -->
<!-- Cache nodes and stable node IDs -->
@@ -13,9 +13,9 @@ Any (sub)graph can import/export data from/to the outside world. For example, a
In the Graphite editor UI, here is an example graph of artwork that imports no data but exports its content to the canvas:
<img src="https://static.graphite.rs/content/index/gui-mockup-nodes__5.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Node graph UI mockup" data-carousel-image />
<img src="https://static.graphite.rs/content/index/gui-mockup-nodes__5.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Node graph UI mockup" />
The graph shown above represents the full artwork, meaning it's the root-level graph in its document. But there is nothing special about that graph compared to any subgraph. To avoid the confusion of calling it a graph or subgraph which comes with implications about user-facing concepts in the context of a document, we will use the less-ambiguous term **network** in the context of Graphene's internal concepts and code base.
The graph shown above represents the full artwork, meaning it's the root-level graph in its document. But there is nothing special about that graph compared to any subgraph. To avoid the confusion of calling it a graph or subgraph which comes with implications about user-facing concepts in the context of a document, we will use the less-ambiguous term **network** in the context of Graphene's internal concepts and codebase.
## Networks