mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-17 15:28:04 +08:00
Rename more of the project structure. Fixes #39.
This commit is contained in:
59
docs/editor/1-overview.md
Normal file
59
docs/editor/1-overview.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Overview
|
||||
|
||||
## Key concepts
|
||||
|
||||
TODO
|
||||
|
||||
## Glossary of terminology
|
||||
|
||||
TODO: Add more to make a comprehensive list, finish writing definitions, separate into categories, alphabetize
|
||||
|
||||
- Asset
|
||||
A *GDD* or *GRD* file. Can be shared and *embedded* in another *layer graph*. Useful for providing custom *nodes* that perform some useful functionality. Tangible examples include custom procedural effects, shape generators, and image filters. Many of the Graphite editor's built-in *layers* are also assets that provide useful functionality through a group of nodes rather than being implemented directly in code. The *Asset Manager* panel helps maintain these assets from various sources. The *Asset Store* can be used to share and sell assets for easily inclusion in projects.
|
||||
- Document
|
||||
A design source file created and edited in the Graphite editor. When saved to disk as *GDD files* (Graphite Design Document), they are one of the two types of *assets*. Documents can be included as *layers* inside other documents, and in doing so they take the form of *groups*. The *layer graph* contents of a *group* actually belong to the *embedded* document's *subgraph*. Because a document is a *group* which is a *layer* in the *layer graph*, documents have *properties* such as the (optional) *pixel bounds* of the *canvas*. Documents are composed of a layer graph, a defined set of properties of set *data types* that are *imported* and *exported*, and the *properties* of the root *layer*.
|
||||
- Render graph
|
||||
A read-only "compiled" *document* in a format that is immediately ready for rendering. When saved to disk as *GRD files* (Graphite Render Data), they are one of the two types of *assets*. The Graphite editor internally maintains a render graph based on the open document in order to display it live in the *viewport*, but this can also be saved to disk for the purposes of sharing as an *asset*.
|
||||
- GDD file
|
||||
Graphite Design Document. A binary serialization of a *document* source file. The format includes a chain of *operations* that describe changes to the *layer graph* and the *properties* of *layers* throughout the history of the document since its creation. It also stores certain metadata and *embedded* file data. GDD files, along with *GRD files*, represent *assets* when shared. Because GDD files are editable (unlike *GRD files*), the *layers* of GDD *assets* may be expanded in the layer graph to reveal and modify their contents using a copy-on-write scheme stored to the *asset's* *layer*.
|
||||
- GRD file
|
||||
Graphite Render Data. A binary serialization of a *render graph* file. The format includes a single directed acyclic graph (DAG) compiled from the *layer graph* of a *document* as well as certain *properties* of set *data types* that are *imported* and *exported*. GRD files, along with *GDD files*, represent *assets* when shared. Because GRD files are read-only and can't be edited (unlike *GDD files*), the *layers* of GRD *assets* do not offer an ability to be expanded in the layer graph. GRD files are useful for sharing *assets* when their authors do not wish to provide the source *documents* used for their authoring. They are also the input format included in games that utilize the *Graphite Renderer Core Library* to render graphical content at runtime, as well as similar applications like headless renderers on web servers and image processing pipelines.
|
||||
- Window
|
||||
- Main window
|
||||
- Popout window
|
||||
- Title bar
|
||||
- Status bar
|
||||
- Workspace
|
||||
The part of the Graphite editor's UI that houses the *panels* in a *window*. The workspace occupies the large space below the *title bar* and above the *status bar* of the *main window*. It occupies the entirety of *popout windows* (window buttons are added in the *tab bar*).
|
||||
- Workspace layout
|
||||
The specific configuration of panels in the *main window* and any *popout windows*. Workspace layout presets are provided by the Graphite editor and users may customize and save their own.
|
||||
- Tab bar
|
||||
The bar at the top of a *panel group* which includes a clickable tab for each panel that is docked there. Each tab bar has at least one tab and one active tab.
|
||||
- Active tab
|
||||
The one tab in a *tab bar* that is currently active. The user can click any inactive tab to make it become the active tab. The active tab shows the *panel content* beneath it unless it is a *folded panel*.
|
||||
- Folded panel
|
||||
A shrunken *panel* showing only the *tab bar*. A *panel* consists of the *tab bar* and *panel body* except when the latter is folded away. The user may click the *active tab* to fold and restore a panel, however a panel cannot be folded if there are no other unfolded panels in its column.
|
||||
- Panel
|
||||
- Panel body
|
||||
- Panel content
|
||||
- Editor
|
||||
- Layer graph
|
||||
A (directed acyclic) graph structure composed of *layers* with *connections* between their input and output *ports*. This is commonly referred to as a "node graph" in other software, but Graphite's layer graph is more suited towards layer-based compositing compared to traditional compositor node graphs.
|
||||
- Layer
|
||||
Any instance of a *node* that lives in the *layer graph*. Layers (usually) take input data, then they transform it or synthesize new data, then they provide it as output. Layers have *properties* as well as exposed input and output *ports* for sending and receiving data.
|
||||
- Node
|
||||
A definition of a
|
||||
- Group
|
||||
- Raster
|
||||
- Vector
|
||||
- Mask
|
||||
- Data type
|
||||
- Subgraph
|
||||
- Port
|
||||
- Connection
|
||||
- Pixel bounds
|
||||
- Canvas
|
||||
- Core Libraries
|
||||
- Editor Core Library
|
||||
- Document Core Library
|
||||
- Renderer Core Library
|
||||
100
docs/editor/index.md
Normal file
100
docs/editor/index.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Graphite editor manual
|
||||
|
||||
Work in progress.
|
||||
|
||||
- [Overview](1-overview.md)
|
||||
- [Key concepts](1-overview.md#key-concepts)
|
||||
- [Glossary of terminology](1-overview.md#glossary-of-terminology)
|
||||
- Interface
|
||||
- Title bar
|
||||
- Workspace
|
||||
- Panel interface (tab, pin, options bar, left menu)
|
||||
- Arrangement and docking
|
||||
- Status bar
|
||||
- Multiple windows
|
||||
- Panels
|
||||
- Viewport
|
||||
- Canvas
|
||||
- Rulers
|
||||
- Tool menu
|
||||
- Options bar
|
||||
- Properties
|
||||
- Blending
|
||||
- Origin
|
||||
- Transform
|
||||
- Node-specific properties
|
||||
- Layers
|
||||
- Interface
|
||||
- Compositing flow
|
||||
- Groups
|
||||
- Masks
|
||||
- Isolation
|
||||
- Graph
|
||||
- Interface
|
||||
- Layer/node equivalence
|
||||
- Compositing flow
|
||||
- Groups
|
||||
- Masks
|
||||
- Isolation
|
||||
- Connection Matrix
|
||||
- Spreadsheet
|
||||
- Node Catalog
|
||||
- Asset Manager
|
||||
- Embedded assets
|
||||
- Linked assets
|
||||
- Local assets
|
||||
- Remote assets
|
||||
- Store assets
|
||||
- Palettes
|
||||
- Each color palette is an asset
|
||||
- Minimap
|
||||
- Histogram
|
||||
- Timeline
|
||||
- Documents and assets
|
||||
- Node groups, layer groups, and document tabs are equivalent
|
||||
- Groups/documents are assets
|
||||
- Assets are embedded or linked
|
||||
- The document canvas is a group output
|
||||
- Art boards and dimensions
|
||||
- Reusable assets
|
||||
- Tools
|
||||
- Overview
|
||||
- Tools add and update assets
|
||||
- Layout tool group
|
||||
- Parametric tool group
|
||||
- Raster tool group
|
||||
- Vector tool group
|
||||
- Vector editing
|
||||
- Data types
|
||||
- Data flow
|
||||
- Rasterization
|
||||
- Raster editing
|
||||
- Resolution-agnostic sampling
|
||||
- Compositing and data flow
|
||||
- Caching
|
||||
- Predictive caching
|
||||
- Progressive enhancement
|
||||
- Generator nodes
|
||||
- Rasterizer nodes
|
||||
- Adjustment nodes
|
||||
- Filter nodes
|
||||
- Sample transformer nodes
|
||||
- Historical sampling
|
||||
- Text editing
|
||||
- Data types
|
||||
- Node types
|
||||
- Node library
|
||||
- File format interoperability
|
||||
- Import/export: JPG, PNG, APNG, GIF, TIFF, TGA, BMP, JPEG 2000, WebP, HEIF, ICO
|
||||
- Import/export: EXR
|
||||
- Import: digital camera raw formats
|
||||
- Import/export: SVG
|
||||
- Import/export: EPS
|
||||
- Import/export: PDF
|
||||
- Import: PSD/PSB, AI, INDD?
|
||||
- Export: G-code formats for laser and vinyl cutters?
|
||||
- Extensions
|
||||
- Color management
|
||||
- Units, measurement, and scale
|
||||
- Headless and integrations
|
||||
- Animation
|
||||
Reference in New Issue
Block a user