mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-29 19:48:11 +08:00
Extract gelement-nodes for nodes accepting both vector, raster and graphic element
This commit is contained in:
Generated
+19
@@ -2132,6 +2132,7 @@ dependencies = [
|
|||||||
"graph-craft",
|
"graph-craft",
|
||||||
"graphene-application-io",
|
"graphene-application-io",
|
||||||
"graphene-core",
|
"graphene-core",
|
||||||
|
"graphene-element-nodes",
|
||||||
"graphene-path-bool",
|
"graphene-path-bool",
|
||||||
"graphene-svg-renderer",
|
"graphene-svg-renderer",
|
||||||
"iai-callgrind",
|
"iai-callgrind",
|
||||||
@@ -2213,6 +2214,23 @@ dependencies = [
|
|||||||
"wgpu",
|
"wgpu",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "graphene-element-nodes"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"bezier-rs",
|
||||||
|
"dyn-any",
|
||||||
|
"glam",
|
||||||
|
"graphene-core",
|
||||||
|
"graphene-math-nodes",
|
||||||
|
"log",
|
||||||
|
"node-macro",
|
||||||
|
"rand 0.9.0",
|
||||||
|
"serde",
|
||||||
|
"specta",
|
||||||
|
"tokio",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "graphene-math-nodes"
|
name = "graphene-math-nodes"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
@@ -2253,6 +2271,7 @@ dependencies = [
|
|||||||
"graph-craft",
|
"graph-craft",
|
||||||
"graphene-application-io",
|
"graphene-application-io",
|
||||||
"graphene-core",
|
"graphene-core",
|
||||||
|
"graphene-element-nodes",
|
||||||
"graphene-math-nodes",
|
"graphene-math-nodes",
|
||||||
"graphene-path-bool",
|
"graphene-path-bool",
|
||||||
"graphene-svg-renderer",
|
"graphene-svg-renderer",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ members = [
|
|||||||
"node-graph/gapplication-io",
|
"node-graph/gapplication-io",
|
||||||
"node-graph/gcore",
|
"node-graph/gcore",
|
||||||
"node-graph/gstd",
|
"node-graph/gstd",
|
||||||
|
"node-graph/gelement-nodes",
|
||||||
"node-graph/gmath-nodes",
|
"node-graph/gmath-nodes",
|
||||||
"node-graph/gpath-bool",
|
"node-graph/gpath-bool",
|
||||||
"node-graph/graph-craft",
|
"node-graph/graph-craft",
|
||||||
@@ -26,6 +27,7 @@ default-members = [
|
|||||||
"frontend/wasm",
|
"frontend/wasm",
|
||||||
"node-graph/gcore",
|
"node-graph/gcore",
|
||||||
"node-graph/gstd",
|
"node-graph/gstd",
|
||||||
|
"node-graph/gelement-nodes",
|
||||||
"node-graph/gmath-nodes",
|
"node-graph/gmath-nodes",
|
||||||
"node-graph/gpath-bool",
|
"node-graph/gpath-bool",
|
||||||
"node-graph/graph-craft",
|
"node-graph/graph-craft",
|
||||||
@@ -45,6 +47,7 @@ math-parser = { path = "libraries/math-parser" }
|
|||||||
path-bool = { path = "libraries/path-bool" }
|
path-bool = { path = "libraries/path-bool" }
|
||||||
graphene-application-io = { path = "node-graph/gapplication-io" }
|
graphene-application-io = { path = "node-graph/gapplication-io" }
|
||||||
graphene-core = { path = "node-graph/gcore" }
|
graphene-core = { path = "node-graph/gcore" }
|
||||||
|
graphene-element-nodes = { path = "node-graph/gelement-nodes" }
|
||||||
graphene-math-nodes = { path = "node-graph/gmath-nodes" }
|
graphene-math-nodes = { path = "node-graph/gmath-nodes" }
|
||||||
graphene-path-bool = { path = "node-graph/gpath-bool" }
|
graphene-path-bool = { path = "node-graph/gpath-bool" }
|
||||||
graph-craft = { path = "node-graph/graph-craft" }
|
graph-craft = { path = "node-graph/graph-craft" }
|
||||||
|
|||||||
@@ -1650,7 +1650,7 @@ fn static_nodes() -> Vec<DocumentNodeDefinition> {
|
|||||||
NodeInput::network(concrete!(DVec2), 5),
|
NodeInput::network(concrete!(DVec2), 5),
|
||||||
],
|
],
|
||||||
manual_composition: Some(concrete!(Context)),
|
manual_composition: Some(concrete!(Context)),
|
||||||
implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("graphene_core::transform_nodes::TransformNode")),
|
implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("graphene_element_nodes::transform_nodes::TransformNode")),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -76,9 +76,12 @@ const REPLACEMENTS: &[(&str, &str)] = &[
|
|||||||
("graphene_core::ops::Vector2ValueNode", "graphene_core::ops::CoordinateValueNode"),
|
("graphene_core::ops::Vector2ValueNode", "graphene_core::ops::CoordinateValueNode"),
|
||||||
("graphene_core::raster::BlackAndWhiteNode", "graphene_core::raster::adjustments::BlackAndWhiteNode"),
|
("graphene_core::raster::BlackAndWhiteNode", "graphene_core::raster::adjustments::BlackAndWhiteNode"),
|
||||||
("graphene_core::raster::BlendNode", "graphene_core::raster::adjustments::BlendNode"),
|
("graphene_core::raster::BlendNode", "graphene_core::raster::adjustments::BlendNode"),
|
||||||
("graphene_core::raster::BlendModeNode", "graphene_core::blending_nodes::BlendModeNode"),
|
("graphene_core::raster::BlendModeNode", "graphene_element_nodes::blending_nodes::BlendModeNode"),
|
||||||
("graphene_core::raster::OpacityNode", "graphene_core::blending_nodes::OpacityNode"),
|
("graphene_core::blending_nodes::BlendModeNode", "graphene_element_nodes::blending_nodes::BlendModeNode"),
|
||||||
("graphene_core::raster::BlendingNode", "graphene_core::blending_nodes::BlendingNode"),
|
("graphene_core::raster::OpacityNode", "graphene_element_nodes::blending_nodes::OpacityNode"),
|
||||||
|
("graphene_core::blending_nodes::OpacityNode", "graphene_element_nodes::blending_nodes::OpacityNode"),
|
||||||
|
("graphene_core::raster::BlendingNode", "graphene_element_nodes::blending_nodes::BlendingNode"),
|
||||||
|
("graphene_core::blending_nodes::BlendingNode", "graphene_element_nodes::blending_nodes::BlendingNode"),
|
||||||
("graphene_core::raster::ChannelMixerNode", "graphene_core::raster::adjustments::ChannelMixerNode"),
|
("graphene_core::raster::ChannelMixerNode", "graphene_core::raster::adjustments::ChannelMixerNode"),
|
||||||
("graphene_core::raster::adjustments::ColorOverlayNode", "graphene_core::raster::adjustments::ColorOverlayNode"),
|
("graphene_core::raster::adjustments::ColorOverlayNode", "graphene_core::raster::adjustments::ColorOverlayNode"),
|
||||||
("graphene_core::raster::ExposureNode", "graphene_core::raster::adjustments::ExposureNode"),
|
("graphene_core::raster::ExposureNode", "graphene_core::raster::adjustments::ExposureNode"),
|
||||||
@@ -96,11 +99,23 @@ const REPLACEMENTS: &[(&str, &str)] = &[
|
|||||||
("graphene_core::raster::ThresholdNode", "graphene_core::raster::adjustments::ThresholdNode"),
|
("graphene_core::raster::ThresholdNode", "graphene_core::raster::adjustments::ThresholdNode"),
|
||||||
("graphene_core::raster::VibranceNode", "graphene_core::raster::adjustments::VibranceNode"),
|
("graphene_core::raster::VibranceNode", "graphene_core::raster::adjustments::VibranceNode"),
|
||||||
("graphene_core::text::TextGeneratorNode", "graphene_core::text::TextNode"),
|
("graphene_core::text::TextGeneratorNode", "graphene_core::text::TextNode"),
|
||||||
("graphene_core::transform::SetTransformNode", "graphene_core::transform_nodes::ReplaceTransformNode"),
|
("graphene_core::transform::SetTransformNode", "graphene_element_nodes::transform_nodes::ReplaceTransformNode"),
|
||||||
("graphene_core::transform::ReplaceTransformNode", "graphene_core::transform_nodes::ReplaceTransformNode"),
|
("graphene_core::transform::ReplaceTransformNode", "graphene_element_nodes::transform_nodes::ReplaceTransformNode"),
|
||||||
("graphene_core::transform::TransformNode", "graphene_core::transform_nodes::TransformNode"),
|
("graphene_core::transform::TransformNode", "graphene_element_nodes::transform_nodes::TransformNode"),
|
||||||
("graphene_core::transform::BoundlessFootprintNode", "graphene_core::transform_nodes::BoundlessFootprintNode"),
|
("graphene_core::transform_nodes::TransformNode", "graphene_element_nodes::transform_nodes::TransformNode"),
|
||||||
("graphene_core::transform::FreezeRealTimeNode", "graphene_core::transform_nodes::FreezeRealTimeNode"),
|
("graphene_core::transform::BoundlessFootprintNode", "graphene_element_nodes::transform_nodes::BoundlessFootprintNode"),
|
||||||
|
(
|
||||||
|
"graphene_core::transform_nodes::BoundlessFootprintNode",
|
||||||
|
"graphene_element_nodes::transform_nodes::BoundlessFootprintNode",
|
||||||
|
),
|
||||||
|
("graphene_core::transform::FreezeRealTimeNode", "graphene_element_nodes::transform_nodes::FreezeRealTimeNode"),
|
||||||
|
("graphene_core::transform_nodes::FreezeRealTimeNode", "graphene_element_nodes::transform_nodes::FreezeRealTimeNode"),
|
||||||
|
("graphene_core::animation::RealTimeNode", "graphene_element_nodes::animation::RealTimeNode"),
|
||||||
|
("graphene_core::animation::AnimationTimeNode", "graphene_element_nodes::animation::AnimationTimeNode"),
|
||||||
|
("graphene_core::instance::InstanceOnPointsNode", "graphene_element_nodes::instance::InstanceOnPointsNode"),
|
||||||
|
("graphene_core::instance::InstanceRepeatNode", "graphene_element_nodes::instance::InstanceRepeatNode"),
|
||||||
|
("graphene_core::instance::InstancePositionNode", "graphene_element_nodes::instance::InstancePositionNode"),
|
||||||
|
("graphene_core::instance::InstanceIndexNode", "graphene_element_nodes::instance::InstanceIndexNode"),
|
||||||
("graphene_core::vector::SplinesFromPointsNode", "graphene_core::vector::SplineNode"),
|
("graphene_core::vector::SplinesFromPointsNode", "graphene_core::vector::SplineNode"),
|
||||||
("graphene_core::vector::generator_nodes::EllipseGenerator", "graphene_core::vector::generator_nodes::EllipseNode"),
|
("graphene_core::vector::generator_nodes::EllipseGenerator", "graphene_core::vector::generator_nodes::EllipseNode"),
|
||||||
("graphene_core::vector::generator_nodes::LineGenerator", "graphene_core::vector::generator_nodes::LineNode"),
|
("graphene_core::vector::generator_nodes::LineGenerator", "graphene_core::vector::generator_nodes::LineNode"),
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
|
||||||
pub mod animation;
|
|
||||||
pub mod blending;
|
pub mod blending;
|
||||||
pub mod blending_nodes;
|
|
||||||
pub mod bounds;
|
pub mod bounds;
|
||||||
pub mod color;
|
pub mod color;
|
||||||
pub mod consts;
|
pub mod consts;
|
||||||
@@ -14,7 +12,6 @@ pub mod generic;
|
|||||||
pub mod gradient;
|
pub mod gradient;
|
||||||
mod graphic_element;
|
mod graphic_element;
|
||||||
pub mod instances;
|
pub mod instances;
|
||||||
pub mod logic;
|
|
||||||
pub mod math;
|
pub mod math;
|
||||||
pub mod memo;
|
pub mod memo;
|
||||||
pub mod misc;
|
pub mod misc;
|
||||||
@@ -25,7 +22,6 @@ pub mod registry;
|
|||||||
pub mod structural;
|
pub mod structural;
|
||||||
pub mod text;
|
pub mod text;
|
||||||
pub mod transform;
|
pub mod transform;
|
||||||
pub mod transform_nodes;
|
|
||||||
pub mod uuid;
|
pub mod uuid;
|
||||||
pub mod value;
|
pub mod value;
|
||||||
pub mod vector;
|
pub mod vector;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
pub mod bezpath_algorithms;
|
pub mod bezpath_algorithms;
|
||||||
pub mod instance;
|
|
||||||
pub mod merge_by_distance;
|
pub mod merge_by_distance;
|
||||||
pub mod offset_subpath;
|
pub mod offset_subpath;
|
||||||
pub mod poisson_disk;
|
pub mod poisson_disk;
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
[package]
|
||||||
|
name = "graphene-element-nodes"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
description = "graphene element nodes"
|
||||||
|
authors = ["Graphite Authors <contact@graphite.rs>"]
|
||||||
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["serde"]
|
||||||
|
serde = ["dep:serde"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
# Local dependencies
|
||||||
|
dyn-any = { workspace = true }
|
||||||
|
graphene-core = { workspace = true }
|
||||||
|
node-macro = { workspace = true }
|
||||||
|
bezier-rs = { workspace = true }
|
||||||
|
|
||||||
|
# Workspace dependencies
|
||||||
|
glam = { workspace = true }
|
||||||
|
specta = { workspace = true }
|
||||||
|
rand = { workspace = true }
|
||||||
|
log = { workspace = true }
|
||||||
|
|
||||||
|
# Optional workspace dependencies
|
||||||
|
serde = { workspace = true, optional = true, features = ["derive"] }
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
# Workspace dependencies
|
||||||
|
tokio = { workspace = true }
|
||||||
|
graphene-math-nodes = { workspace = true }
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
use crate::{Ctx, ExtractAnimationTime, ExtractTime};
|
use graphene_core::context::{Ctx, ExtractAnimationTime, ExtractTime};
|
||||||
|
|
||||||
const DAY: f64 = 1000. * 3600. * 24.;
|
const DAY: f64 = 1000. * 3600. * 24.;
|
||||||
|
|
||||||
+8
-9
@@ -1,8 +1,10 @@
|
|||||||
use crate::raster::Image;
|
use graphene_core::GraphicGroupTable;
|
||||||
use crate::raster_types::{CPU, RasterDataTable};
|
use graphene_core::blending::BlendMode;
|
||||||
use crate::registry::types::Percentage;
|
use graphene_core::color::Color;
|
||||||
use crate::vector::VectorDataTable;
|
use graphene_core::context::Ctx;
|
||||||
use crate::{BlendMode, Color, Ctx, GraphicElement, GraphicGroupTable};
|
use graphene_core::raster_types::{CPU, RasterDataTable};
|
||||||
|
use graphene_core::registry::types::Percentage;
|
||||||
|
use graphene_core::vector::VectorDataTable;
|
||||||
|
|
||||||
pub(super) trait MultiplyAlpha {
|
pub(super) trait MultiplyAlpha {
|
||||||
fn multiply_alpha(&mut self, factor: f64);
|
fn multiply_alpha(&mut self, factor: f64);
|
||||||
@@ -27,10 +29,7 @@ impl MultiplyAlpha for GraphicGroupTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl MultiplyAlpha for RasterDataTable<CPU>
|
impl MultiplyAlpha for RasterDataTable<CPU> {
|
||||||
where
|
|
||||||
GraphicElement: From<Image<Color>>,
|
|
||||||
{
|
|
||||||
fn multiply_alpha(&mut self, factor: f64) {
|
fn multiply_alpha(&mut self, factor: f64) {
|
||||||
for instance in self.instance_mut_iter() {
|
for instance in self.instance_mut_iter() {
|
||||||
instance.alpha_blending.opacity *= factor as f32;
|
instance.alpha_blending.opacity *= factor as f32;
|
||||||
+11
-8
@@ -1,8 +1,11 @@
|
|||||||
use crate::instances::{InstanceRef, Instances};
|
|
||||||
use crate::raster_types::{CPU, RasterDataTable};
|
|
||||||
use crate::vector::VectorDataTable;
|
|
||||||
use crate::{CloneVarArgs, Context, Ctx, ExtractAll, ExtractIndex, ExtractVarArgs, GraphicElement, GraphicGroupTable, OwnedContextImpl};
|
|
||||||
use glam::DVec2;
|
use glam::DVec2;
|
||||||
|
use graphene_core::GraphicElement;
|
||||||
|
use graphene_core::GraphicGroupTable;
|
||||||
|
use graphene_core::context::{CloneVarArgs, Context, Ctx, ExtractAll, ExtractIndex, ExtractVarArgs, OwnedContextImpl};
|
||||||
|
use graphene_core::instances::{InstanceRef, Instances};
|
||||||
|
use graphene_core::raster_types::{CPU, RasterDataTable};
|
||||||
|
use graphene_core::vector::VectorDataTable;
|
||||||
|
use log::warn;
|
||||||
|
|
||||||
#[node_macro::node(name("Instance on Points"), category("Instancing"), path(graphene_core::vector))]
|
#[node_macro::node(name("Instance on Points"), category("Instancing"), path(graphene_core::vector))]
|
||||||
async fn instance_on_points<T: Into<GraphicElement> + Default + Send + Clone + 'static>(
|
async fn instance_on_points<T: Into<GraphicElement> + Default + Send + Clone + 'static>(
|
||||||
@@ -98,11 +101,11 @@ async fn instance_index(ctx: impl Ctx + ExtractIndex) -> f64 {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::Node;
|
|
||||||
use crate::extract_xy::{ExtractXyNode, XY};
|
|
||||||
use crate::vector::VectorData;
|
|
||||||
use bezier_rs::Subpath;
|
use bezier_rs::Subpath;
|
||||||
use glam::DVec2;
|
use glam::DVec2;
|
||||||
|
use graphene_core::Node;
|
||||||
|
use graphene_core::extract_xy::{ExtractXyNode, XY};
|
||||||
|
use graphene_core::vector::VectorData;
|
||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
@@ -119,7 +122,7 @@ mod test {
|
|||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn instance_on_points_test() {
|
async fn instance_on_points_test() {
|
||||||
let owned = OwnedContextImpl::default().into_context();
|
let owned = OwnedContextImpl::default().into_context();
|
||||||
let rect = crate::vector::generator_nodes::RectangleNode::new(
|
let rect = graphene_core::vector::generator_nodes::RectangleNode::new(
|
||||||
FutureWrapperNode(()),
|
FutureWrapperNode(()),
|
||||||
ExtractXyNode::new(InstancePositionNode {}, FutureWrapperNode(XY::Y)),
|
ExtractXyNode::new(InstancePositionNode {}, FutureWrapperNode(XY::Y)),
|
||||||
FutureWrapperNode(2_f64),
|
FutureWrapperNode(2_f64),
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
pub mod animation;
|
||||||
|
pub mod blending_nodes;
|
||||||
|
pub mod instance;
|
||||||
|
pub mod logic;
|
||||||
|
pub mod transform_nodes;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
use crate::vector::VectorDataTable;
|
|
||||||
use crate::{Color, Context, Ctx};
|
|
||||||
use glam::{DAffine2, DVec2};
|
use glam::{DAffine2, DVec2};
|
||||||
|
use graphene_core::color::Color;
|
||||||
|
use graphene_core::context::{Context, Ctx};
|
||||||
|
use graphene_core::vector::VectorDataTable;
|
||||||
|
|
||||||
#[node_macro::node(category("Debug"), name("Log to Console"))]
|
#[node_macro::node(category("Debug"), name("Log to Console"))]
|
||||||
fn log_to_console<T: std::fmt::Debug>(_: impl Ctx, #[implementations(String, bool, f64, u32, u64, DVec2, VectorDataTable, DAffine2, Color, Option<Color>)] value: T) -> T {
|
fn log_to_console<T: std::fmt::Debug>(_: impl Ctx, #[implementations(String, bool, f64, u32, u64, DVec2, VectorDataTable, DAffine2, Color, Option<Color>)] value: T) -> T {
|
||||||
+6
-5
@@ -1,10 +1,11 @@
|
|||||||
use crate::instances::Instances;
|
|
||||||
use crate::raster_types::{CPU, GPU, RasterDataTable};
|
|
||||||
use crate::transform::{ApplyTransform, Footprint, Transform};
|
|
||||||
use crate::vector::VectorDataTable;
|
|
||||||
use crate::{CloneVarArgs, Context, Ctx, ExtractAll, GraphicGroupTable, OwnedContextImpl};
|
|
||||||
use core::f64;
|
use core::f64;
|
||||||
use glam::{DAffine2, DVec2};
|
use glam::{DAffine2, DVec2};
|
||||||
|
use graphene_core::GraphicGroupTable;
|
||||||
|
use graphene_core::context::{CloneVarArgs, Context, Ctx, ExtractAll, OwnedContextImpl};
|
||||||
|
use graphene_core::instances::Instances;
|
||||||
|
use graphene_core::raster_types::{CPU, GPU, RasterDataTable};
|
||||||
|
use graphene_core::transform::{ApplyTransform, Footprint, Transform};
|
||||||
|
use graphene_core::vector::VectorDataTable;
|
||||||
|
|
||||||
#[node_macro::node(category(""))]
|
#[node_macro::node(category(""))]
|
||||||
async fn transform<T: 'n + 'static>(
|
async fn transform<T: 'n + 'static>(
|
||||||
@@ -16,6 +16,7 @@ loading = ["serde_json"]
|
|||||||
# Local dependencies
|
# Local dependencies
|
||||||
dyn-any = { workspace = true }
|
dyn-any = { workspace = true }
|
||||||
graphene-core = { workspace = true }
|
graphene-core = { workspace = true }
|
||||||
|
graphene-element-nodes = { workspace = true }
|
||||||
graphene-path-bool = { workspace = true }
|
graphene-path-bool = { workspace = true }
|
||||||
graphene-application-io = { workspace = true }
|
graphene-application-io = { workspace = true }
|
||||||
graphene-svg-renderer = { workspace = true }
|
graphene-svg-renderer = { workspace = true }
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ tagged_value! {
|
|||||||
XY(graphene_core::extract_xy::XY),
|
XY(graphene_core::extract_xy::XY),
|
||||||
RedGreenBlue(graphene_core::raster::RedGreenBlue),
|
RedGreenBlue(graphene_core::raster::RedGreenBlue),
|
||||||
RedGreenBlueAlpha(graphene_core::raster::RedGreenBlueAlpha),
|
RedGreenBlueAlpha(graphene_core::raster::RedGreenBlueAlpha),
|
||||||
RealTimeMode(graphene_core::animation::RealTimeMode),
|
RealTimeMode(graphene_element_nodes::animation::RealTimeMode),
|
||||||
NoiseType(graphene_core::raster::NoiseType),
|
NoiseType(graphene_core::raster::NoiseType),
|
||||||
FractalType(graphene_core::raster::FractalType),
|
FractalType(graphene_core::raster::FractalType),
|
||||||
CellularDistanceFunction(graphene_core::raster::CellularDistanceFunction),
|
CellularDistanceFunction(graphene_core::raster::CellularDistanceFunction),
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ graphene-path-bool = { workspace = true }
|
|||||||
graphene-math-nodes = { workspace = true }
|
graphene-math-nodes = { workspace = true }
|
||||||
graphene-svg-renderer = { workspace = true }
|
graphene-svg-renderer = { workspace = true }
|
||||||
graphene-application-io = { workspace = true }
|
graphene-application-io = { workspace = true }
|
||||||
|
graphene-element-nodes = { workspace = true }
|
||||||
|
|
||||||
# Workspace dependencies
|
# Workspace dependencies
|
||||||
fastnoise-lite = { workspace = true }
|
fastnoise-lite = { workspace = true }
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ pub mod wasm_application_io;
|
|||||||
pub use graphene_application_io as application_io;
|
pub use graphene_application_io as application_io;
|
||||||
pub use graphene_core::vector;
|
pub use graphene_core::vector;
|
||||||
pub use graphene_core::*;
|
pub use graphene_core::*;
|
||||||
|
pub use graphene_element_nodes::animation;
|
||||||
pub use graphene_math_nodes as math_nodes;
|
pub use graphene_math_nodes as math_nodes;
|
||||||
pub use graphene_path_bool as path_bool;
|
pub use graphene_path_bool as path_bool;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user