mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-21 12:58:12 +08:00
Add a basic API and rudimentary frontend for node graph layers (#846)
* Node graph API stub * Rename and fix SetInputValue * Get list of links from network * Test populating node graph UI * Node properties * Fix viewport bounds * Slightly change promise usage * A tiny bit of cleanup I did while reading code * Cleanup and work towards hooking up node links in Vue template * Add the brighten colour node * Run cargo fmt * Add to and from hsla * GrayscaleImage node with small perf improvement * Fix gutter panel resizing * Display node links from backend * Add support for connecting node links * Use existing message * Fix formatting error * Add a (currently crashing) brighten node * Replace brighten node with proto node implementation * Add support for connecting node links * Update watch dirs * Add hue shift node * Add create_node function to editor api * Basic insert node UI * Fix broken names * Add log * Fix positioning * Set connector index to 0 * Add properties for Heu shift / brighten * Allow deselecting nodes * Redesign Properties panel collapsible sections Co-authored-by: Keavon Chambers <keavon@keavon.com> Co-authored-by: Dennis Kobert <dennis@kobert.dev>
This commit is contained in:
committed by
Keavon Chambers
co-authored by
Keavon Chambers
Dennis Kobert
parent
e8256dd350
commit
504136b61b
@@ -70,6 +70,9 @@
|
||||
linear-gradient(45deg, #cccccc 25%, transparent 25%, transparent 75%, #cccccc 75%), linear-gradient(#ffffff, #ffffff);
|
||||
--color-transparent-checkered-background-size: 16px 16px;
|
||||
--color-transparent-checkered-background-position: 0 0, 8px 8px;
|
||||
|
||||
--icon-expand-collapse-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon fill="%23eee" points="3,0 1,0 5,4 1,8 3,8 7,4" /></svg>');
|
||||
--icon-expand-collapse-arrow-hover: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><polygon fill="%23fff" points="3,0 1,0 5,4 1,8 3,8 7,4" /></svg>');
|
||||
}
|
||||
|
||||
html,
|
||||
@@ -238,6 +241,7 @@ import { createPersistenceManager } from "@/io-managers/persistence";
|
||||
import { createDialogState, type DialogState } from "@/state-providers/dialog";
|
||||
import { createFontsState, type FontsState } from "@/state-providers/fonts";
|
||||
import { createFullscreenState, type FullscreenState } from "@/state-providers/fullscreen";
|
||||
import { createNodeGraphState, type NodeGraphState } from "@/state-providers/node-graph";
|
||||
import { createPanelsState, type PanelsState } from "@/state-providers/panels";
|
||||
import { createPortfolioState, type PortfolioState } from "@/state-providers/portfolio";
|
||||
import { createWorkspaceState, type WorkspaceState } from "@/state-providers/workspace";
|
||||
@@ -270,6 +274,7 @@ declare module "@vue/runtime-core" {
|
||||
panels: PanelsState;
|
||||
portfolio: PortfolioState;
|
||||
workspace: WorkspaceState;
|
||||
nodeGraph: NodeGraphState;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -290,9 +295,10 @@ export default defineComponent({
|
||||
panels: createPanelsState(editor),
|
||||
portfolio: createPortfolioState(editor),
|
||||
workspace: createWorkspaceState(editor),
|
||||
nodeGraph: createNodeGraphState(editor),
|
||||
};
|
||||
},
|
||||
async mounted() {
|
||||
mounted() {
|
||||
// Initialize managers, which are isolated systems that subscribe to backend messages to link them to browser API functionality (like JS events, IndexedDB, etc.)
|
||||
Object.assign(managerDestructors, {
|
||||
createClipboardManager: createClipboardManager(this.editor),
|
||||
|
||||
Reference in New Issue
Block a user