Fix several bugged vector-related nodes

This commit is contained in:
Keavon Chambers 2024-12-26 16:36:45 -08:00
parent feba87449b
commit b81f48385a
4 changed files with 5 additions and 7 deletions

View file

@ -53,7 +53,7 @@ pub use raster::Color;
pub use types::Cow;
// pub trait Node: for<'n> NodeIO<'n> {
/// The node trait allows for defining any node. Nodes can only take one input, however they can store references to other nodes inside the struct.
/// The node trait allows for defining any node. Nodes can only take one call argument input, however they can store references to other nodes inside the struct.
/// See `node-graph/README.md` for information on how to define a new node.
pub trait Node<'i, Input: 'i>: 'i {
type Output: 'i;

View file

@ -252,7 +252,7 @@ async fn transform<I: Into<Footprint> + 'n + ApplyTransform + Clone + Send + Syn
data
}
#[node_macro::node(category("Debug"))]
#[node_macro::node(category(""))]
fn replace_transform<Data: TransformMut, TransformInput: Transform>(
_: (),
#[implementations(VectorData, ImageFrame<Color>, GraphicGroup)] mut data: Data,

View file

@ -936,10 +936,10 @@ async fn jitter_points<F: 'n + Send>(
match handles {
bezier_rs::BezierHandles::Cubic { handle_start, handle_end } => {
*handle_start = vector_data.transform.transform_point2(*handle_start) + start_delta;
*handle_end += vector_data.transform.transform_point2(*handle_end) + end_delta;
*handle_end = vector_data.transform.transform_point2(*handle_end) + end_delta;
}
bezier_rs::BezierHandles::Quadratic { handle } => {
*handle += vector_data.transform.transform_point2(*handle) + (start_delta + end_delta) / 2.;
*handle = vector_data.transform.transform_point2(*handle) + (start_delta + end_delta) / 2.;
}
bezier_rs::BezierHandles::Linear => {}
}