From 8afb0cab38c5b4d43f0d70afec4afc0622cc9a56 Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Wed, 25 Feb 2026 10:10:58 +0800 Subject: [PATCH 1/7] fix: replace hardcoded input indices with ::INDEX constants Fixes #1490 (fix conflicts) Conflicts: editor/src/messages/tool/common_functionality/shapes/arrow_shape.rs editor/src/messages/tool/common_functionality/shapes/line_shape.rs --- .../graph_operation/transform_utils.rs | 43 +++++++++++++++---- .../document/graph_operation/utility_types.rs | 8 ++-- .../shape_gizmos/circle_arc_radius_handle.rs | 3 +- .../shape_gizmos/number_of_points_dial.rs | 3 +- .../gizmos/shape_gizmos/sweep_angle_gizmo.rs | 6 ++- .../common_functionality/shapes/arc_shape.rs | 4 +- .../shapes/arrow_shape.rs | 4 +- .../shapes/circle_shape.rs | 3 +- .../shapes/ellipse_shape.rs | 6 ++- .../common_functionality/shapes/line_shape.rs | 4 +- .../shapes/polygon_shape.rs | 6 ++- .../shapes/rectangle_shape.rs | 6 ++- .../shapes/shape_utility.rs | 6 +-- .../common_functionality/shapes/star_shape.rs | 6 ++- 14 files changed, 76 insertions(+), 32 deletions(-) diff --git a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs index db4e110e77..ca3976cea0 100644 --- a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs +++ b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs @@ -2,7 +2,9 @@ use crate::messages::portfolio::document::utility_types::network_interface::{Inp use glam::{DAffine2, DVec2}; use graph_craft::document::value::TaggedValue; use graph_craft::document::{NodeId, NodeInput}; +use graphene_std::NodeInputDecleration; use graphene_std::subpath::Subpath; +use graphene_std::transform_nodes::transform::*; use graphene_std::vector::PointId; /// Convert an affine transform into the tuple `(scale, angle, translation, shear)` assuming `shear.y = 0`. @@ -37,10 +39,10 @@ pub fn update_transform(network_interface: &mut NodeNetworkInterface, node_id: & let rotation = rotation.to_degrees(); let shear = DVec2::new(shear.x.atan().to_degrees(), shear.y.atan().to_degrees()); - network_interface.set_input(&InputConnector::node(*node_id, 1), NodeInput::value(TaggedValue::DVec2(translation), false), &[]); - network_interface.set_input(&InputConnector::node(*node_id, 2), NodeInput::value(TaggedValue::F64(rotation), false), &[]); - network_interface.set_input(&InputConnector::node(*node_id, 3), NodeInput::value(TaggedValue::DVec2(scale), false), &[]); - network_interface.set_input(&InputConnector::node(*node_id, 4), NodeInput::value(TaggedValue::DVec2(shear), false), &[]); + network_interface.set_input(&InputConnector::node(*node_id, TranslationInput::INDEX), NodeInput::value(TaggedValue::DVec2(translation), false), &[]); + network_interface.set_input(&InputConnector::node(*node_id, RotationInput::INDEX), NodeInput::value(TaggedValue::F64(rotation), false), &[]); + network_interface.set_input(&InputConnector::node(*node_id, ScaleInput::INDEX), NodeInput::value(TaggedValue::DVec2(scale), false), &[]); + network_interface.set_input(&InputConnector::node(*node_id, SkewInput::INDEX), NodeInput::value(TaggedValue::DVec2(shear), false), &[]); } // TODO: This should be extracted from the graph at the location of the transform node. @@ -74,14 +76,31 @@ impl LayerBounds { /// Get the current affine transform from the transform node's inputs pub fn get_current_transform(inputs: &[NodeInput]) -> DAffine2 { - let translation = if let Some(&TaggedValue::DVec2(translation)) = inputs[1].as_value() { + const TRANSLATION_INDEX: usize = 1; + const ROTATION_INDEX: usize = 2; + const SCALE_INDEX: usize = 3; + const SKEW_INDEX: usize = 4; + + let translation = if let Some(&TaggedValue::DVec2(translation)) = inputs[TRANSLATION_INDEX].as_value() { translation } else { DVec2::ZERO }; - let rotation = if let Some(&TaggedValue::F64(rotation)) = inputs[2].as_value() { rotation } else { 0. }; - let scale = if let Some(&TaggedValue::DVec2(scale)) = inputs[3].as_value() { scale } else { DVec2::ONE }; - let shear = if let Some(&TaggedValue::DVec2(shear)) = inputs[4].as_value() { shear } else { DVec2::ZERO }; + let rotation = if let Some(&TaggedValue::F64(rotation)) = inputs[ROTATION_INDEX].as_value() { + rotation + } else { + 0. + }; + let scale = if let Some(&TaggedValue::DVec2(scale)) = inputs[SCALE_INDEX].as_value() { + scale + } else { + DVec2::ONE + }; + let shear = if let Some(&TaggedValue::DVec2(shear)) = inputs[SKEW_INDEX].as_value() { + shear + } else { + DVec2::ZERO + }; let rotation = rotation.to_radians(); let shear = DVec2::new(shear.x.to_radians().tan(), shear.y.to_radians().tan()); @@ -91,7 +110,13 @@ pub fn get_current_transform(inputs: &[NodeInput]) -> DAffine2 { /// Extract the current normalized pivot from the layer pub fn get_current_normalized_pivot(inputs: &[NodeInput]) -> DVec2 { - if let Some(&TaggedValue::DVec2(pivot)) = inputs[5].as_value() { pivot } else { DVec2::splat(0.5) } + const ORIGIN_OFFSET_INDEX: usize = 5; + + if let Some(&TaggedValue::DVec2(pivot)) = inputs[ORIGIN_OFFSET_INDEX].as_value() { + pivot + } else { + DVec2::splat(0.5) + } } /// Expand a bounds to avoid div zero errors diff --git a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs index f74fb67c15..c948cbeff9 100644 --- a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs +++ b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs @@ -367,7 +367,7 @@ impl<'a> ModifyInputsContext<'a> { let Some(blend_node_id) = self.existing_proto_node_id(graphene_std::blending_nodes::blending::IDENTIFIER, true) else { return; }; - let input_connector = InputConnector::node(blend_node_id, 1); + let input_connector = InputConnector::node(blend_node_id, graphene_std::blending_nodes::blending::BlendModeInput::INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::BlendMode(blend_mode), false), false); } @@ -375,7 +375,7 @@ impl<'a> ModifyInputsContext<'a> { let Some(blend_node_id) = self.existing_proto_node_id(graphene_std::blending_nodes::blending::IDENTIFIER, true) else { return; }; - let input_connector = InputConnector::node(blend_node_id, 2); + let input_connector = InputConnector::node(blend_node_id, graphene_std::blending_nodes::blending::OpacityInput::INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::F64(opacity * 100.), false), false); } @@ -383,7 +383,7 @@ impl<'a> ModifyInputsContext<'a> { let Some(blend_node_id) = self.existing_proto_node_id(graphene_std::blending_nodes::blending::IDENTIFIER, true) else { return; }; - let input_connector = InputConnector::node(blend_node_id, 3); + let input_connector = InputConnector::node(blend_node_id, graphene_std::blending_nodes::blending::FillInput::INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::F64(fill * 100.), false), false); } @@ -392,7 +392,7 @@ impl<'a> ModifyInputsContext<'a> { let Some(clip_node_id) = self.existing_proto_node_id(graphene_std::blending_nodes::blending::IDENTIFIER, true) else { return; }; - let input_connector = InputConnector::node(clip_node_id, 4); + let input_connector = InputConnector::node(clip_node_id, graphene_std::blending_nodes::blending::ClipInput::INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::Bool(clip), false), false); } diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/circle_arc_radius_handle.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/circle_arc_radius_handle.rs index 6152a6a5dd..9a50889ffc 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/circle_arc_radius_handle.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/circle_arc_radius_handle.rs @@ -11,6 +11,7 @@ use crate::messages::tool::common_functionality::shapes::shape_utility::{extract use glam::{DAffine2, DVec2}; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; use std::collections::VecDeque; use std::f64::consts::FRAC_PI_2; @@ -165,7 +166,7 @@ impl RadiusHandle { self.previous_mouse_position = input.mouse.position; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, graphene_std::vector::generator_nodes::circle::RadiusInput::INDEX), input: NodeInput::value(TaggedValue::F64(current_radius + net_delta), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs index c6fef1fbda..679da36244 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs @@ -13,6 +13,7 @@ use crate::messages::tool::common_functionality::shapes::shape_utility::{extract use glam::{DAffine2, DVec2}; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; use std::collections::VecDeque; use std::f64::consts::TAU; @@ -201,7 +202,7 @@ impl NumberOfPointsDial { let new_point_count = ((self.initial_points as i32) + (net_delta as i32)).max(3); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, graphene_std::vector::generator_nodes::star::SidesInput::::INDEX), input: NodeInput::value(TaggedValue::U32(new_point_count as u32), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/sweep_angle_gizmo.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/sweep_angle_gizmo.rs index efa4b18351..6b03b6f8ac 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/sweep_angle_gizmo.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/sweep_angle_gizmo.rs @@ -11,6 +11,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DVec2; use graph_craft::document::value::TaggedValue; use graph_craft::document::{NodeId, NodeInput}; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::arc::*; use std::collections::VecDeque; use std::f64::consts::FRAC_PI_4; @@ -332,11 +334,11 @@ impl SweepAngleGizmo { self.snap_angles = Self::calculate_snap_angles(); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 2), + input_connector: InputConnector::node(node_id, StartAngleInput::INDEX), input: NodeInput::value(TaggedValue::F64(start_angle), false), }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 3), + input_connector: InputConnector::node(node_id, SweepAngleInput::INDEX), input: NodeInput::value(TaggedValue::F64(sweep_angle), false), }); diff --git a/editor/src/messages/tool/common_functionality/shapes/arc_shape.rs b/editor/src/messages/tool/common_functionality/shapes/arc_shape.rs index 7eabb3c619..027a58fe30 100644 --- a/editor/src/messages/tool/common_functionality/shapes/arc_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/arc_shape.rs @@ -12,6 +12,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::arc::*; use graphene_std::vector::misc::ArcType; use std::collections::VecDeque; @@ -172,7 +174,7 @@ impl Arc { } responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, RadiusInput::INDEX), input: NodeInput::value(TaggedValue::F64(radius), false), }); diff --git a/editor/src/messages/tool/common_functionality/shapes/arrow_shape.rs b/editor/src/messages/tool/common_functionality/shapes/arrow_shape.rs index df04b578ff..cce19bb1e6 100644 --- a/editor/src/messages/tool/common_functionality/shapes/arrow_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/arrow_shape.rs @@ -14,6 +14,8 @@ use crate::messages::tool::common_functionality::snapping::SnapData; use glam::{DAffine2, DVec2}; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::arrow::*; use std::collections::VecDeque; #[derive(Default)] @@ -67,7 +69,7 @@ impl Arrow { let document_to_viewport = document.metadata().document_to_viewport; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, StartInput::INDEX), input: NodeInput::value(TaggedValue::DVec2(arrow_to), false), }); let downstream = document.metadata().downstream_transform_to_viewport(layer); diff --git a/editor/src/messages/tool/common_functionality/shapes/circle_shape.rs b/editor/src/messages/tool/common_functionality/shapes/circle_shape.rs index 836f50f9e6..466d293a43 100644 --- a/editor/src/messages/tool/common_functionality/shapes/circle_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/circle_shape.rs @@ -12,6 +12,7 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; #[derive(Clone, Debug, Default)] pub struct CircleGizmoHandler { @@ -107,7 +108,7 @@ impl Circle { let radius: f64 = if dimensions.x > dimensions.y { dimensions.y / 2. } else { dimensions.x / 2. }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, graphene_std::vector::generator_nodes::circle::RadiusInput::INDEX), input: NodeInput::value(TaggedValue::F64(radius), false), }); diff --git a/editor/src/messages/tool/common_functionality/shapes/ellipse_shape.rs b/editor/src/messages/tool/common_functionality/shapes/ellipse_shape.rs index eb33a08427..be796a3bce 100644 --- a/editor/src/messages/tool/common_functionality/shapes/ellipse_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/ellipse_shape.rs @@ -9,6 +9,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::ellipse::*; use std::collections::VecDeque; #[derive(Default)] @@ -37,11 +39,11 @@ impl Ellipse { }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, RadiusXInput::INDEX), input: NodeInput::value(TaggedValue::F64(((start.x - end.x) / 2.).abs()), false), }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 2), + input_connector: InputConnector::node(node_id, RadiusYInput::INDEX), input: NodeInput::value(TaggedValue::F64(((start.y - end.y) / 2.).abs()), false), }); responses.add(GraphOperationMessage::TransformSet { diff --git a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs index 397dc02a5e..aebb159a33 100644 --- a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs @@ -13,6 +13,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::{DAffine2, DVec2}; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::line::*; use std::collections::VecDeque; #[derive(Clone, PartialEq, Debug, Default)] @@ -73,7 +75,7 @@ impl Line { let line_to = document_points[1] - document_points[0]; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, StartInput::INDEX), input: NodeInput::value(TaggedValue::DVec2(line_to), false), }); let document_to_viewport = document.metadata().document_to_viewport; diff --git a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs index 7b22144a71..47b42a38a6 100644 --- a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs @@ -15,6 +15,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::regular_polygon::*; use std::collections::VecDeque; #[derive(Clone, Debug, Default)] @@ -147,7 +149,7 @@ impl Polygon { }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 2), + input_connector: InputConnector::node(node_id, RadiusInput::INDEX), input: NodeInput::value(TaggedValue::F64(radius), false), }); @@ -185,7 +187,7 @@ impl Polygon { }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, SidesInput::::INDEX), input: NodeInput::value(TaggedValue::U32(new_dimension), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/messages/tool/common_functionality/shapes/rectangle_shape.rs b/editor/src/messages/tool/common_functionality/shapes/rectangle_shape.rs index 787684a8fa..a98efd2216 100644 --- a/editor/src/messages/tool/common_functionality/shapes/rectangle_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/rectangle_shape.rs @@ -9,6 +9,8 @@ use crate::messages::tool::tool_messages::tool_prelude::*; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::rectangle::*; use std::collections::VecDeque; #[derive(Default)] @@ -37,11 +39,11 @@ impl Rectangle { }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 1), + input_connector: InputConnector::node(node_id, WidthInput::INDEX), input: NodeInput::value(TaggedValue::F64((start.x - end.x).abs()), false), }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 2), + input_connector: InputConnector::node(node_id, HeightInput::INDEX), input: NodeInput::value(TaggedValue::F64((start.y - end.y).abs()), false), }); responses.add(GraphOperationMessage::TransformSet { diff --git a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs index 96dbdd5165..5d7f42d045 100644 --- a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs +++ b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs @@ -204,7 +204,7 @@ pub fn update_radius_sign(end: DVec2, start: DVec2, layer: LayerNodeIdentifier, }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(polygon_node_id, 2), + input_connector: InputConnector::node(polygon_node_id, graphene_std::vector::generator_nodes::regular_polygon::RadiusInput::INDEX), input: NodeInput::value(TaggedValue::F64(sign_num * 0.5), false), }); return; @@ -221,11 +221,11 @@ pub fn update_radius_sign(end: DVec2, start: DVec2, layer: LayerNodeIdentifier, }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(star_node_id, 2), + input_connector: InputConnector::node(star_node_id, graphene_std::vector::generator_nodes::star::Radius1Input::INDEX), input: NodeInput::value(TaggedValue::F64(sign_num * 0.5), false), }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(star_node_id, 3), + input_connector: InputConnector::node(star_node_id, graphene_std::vector::generator_nodes::star::Radius2Input::INDEX), input: NodeInput::value(TaggedValue::F64(sign_num * 0.25), false), }); } diff --git a/editor/src/messages/tool/common_functionality/shapes/star_shape.rs b/editor/src/messages/tool/common_functionality/shapes/star_shape.rs index acdde2c286..85bf964e34 100644 --- a/editor/src/messages/tool/common_functionality/shapes/star_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/star_shape.rs @@ -15,6 +15,8 @@ use core::f64; use glam::DAffine2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::star::*; use std::collections::VecDeque; #[derive(Clone, Debug, Default)] @@ -152,12 +154,12 @@ impl Star { }; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 2), + input_connector: InputConnector::node(node_id, Radius1Input::INDEX), input: NodeInput::value(TaggedValue::F64(radius), false), }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, 3), + input_connector: InputConnector::node(node_id, Radius2Input::INDEX), input: NodeInput::value(TaggedValue::F64(radius / 2.), false), }); From 50001deda659761b14b3ad424678b0c2796edc78 Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Wed, 25 Feb 2026 13:34:06 +0800 Subject: [PATCH 2/7] fix: restore the debug information of the master branch --- .../document/graph_operation/transform_utils.rs | 13 ++++--------- .../no-std-types/src/color/discrete_srgb.rs | 5 +++++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs index ca3976cea0..0db30b675f 100644 --- a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs +++ b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs @@ -76,27 +76,22 @@ impl LayerBounds { /// Get the current affine transform from the transform node's inputs pub fn get_current_transform(inputs: &[NodeInput]) -> DAffine2 { - const TRANSLATION_INDEX: usize = 1; - const ROTATION_INDEX: usize = 2; - const SCALE_INDEX: usize = 3; - const SKEW_INDEX: usize = 4; - - let translation = if let Some(&TaggedValue::DVec2(translation)) = inputs[TRANSLATION_INDEX].as_value() { + let translation = if let Some(&TaggedValue::DVec2(translation)) = inputs[TranslationInput::INDEX].as_value() { translation } else { DVec2::ZERO }; - let rotation = if let Some(&TaggedValue::F64(rotation)) = inputs[ROTATION_INDEX].as_value() { + let rotation = if let Some(&TaggedValue::F64(rotation)) = inputs[RotationInput::INDEX].as_value() { rotation } else { 0. }; - let scale = if let Some(&TaggedValue::DVec2(scale)) = inputs[SCALE_INDEX].as_value() { + let scale = if let Some(&TaggedValue::DVec2(scale)) = inputs[ScaleInput::INDEX].as_value() { scale } else { DVec2::ONE }; - let shear = if let Some(&TaggedValue::DVec2(shear)) = inputs[SKEW_INDEX].as_value() { + let shear = if let Some(&TaggedValue::DVec2(shear)) = inputs[SkewInput::INDEX].as_value() { shear } else { DVec2::ZERO diff --git a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs index 13a06e30ab..2cf6dbb32b 100644 --- a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs +++ b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs @@ -162,6 +162,11 @@ mod tests { #[test] fn test_float_to_srgb_u8() { for u in 0..=u8::MAX { + // let a = srgb_u8_to_float(u); + // let b = srgb_u8_to_float_ref(u); + // if a != b { + // panic!("Mismatch at u={}: {} != {}", u, a, b); + // } assert!(srgb_u8_to_float(u) == srgb_u8_to_float_ref(u)); } } From f19f607dac17b37e06a0528119762ad5bbe842de Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Tue, 3 Mar 2026 23:41:25 +0800 Subject: [PATCH 3/7] fix: replace remaining hardcoded input indices - replace remaining hardcoded input indices with named constants - resolve the errors caused by the accuracy issue --- .../document/document_message_handler.rs | 10 +- .../graph_operation_message_handler.rs | 31 +++-- .../document/graph_operation/utility_types.rs | 28 ++++- .../node_graph/node_graph_message_handler.rs | 3 +- .../utility_types/network_interface.rs | 22 ++-- .../network_interface/resolved_types.rs | 5 +- .../shape_gizmos/point_radius_handle.rs | 7 +- .../graph_modification_utils.rs | 18 +-- .../common_functionality/shapes/line_shape.rs | 4 +- .../shapes/polygon_shape.rs | 2 +- .../shapes/shape_utility.rs | 26 +++-- .../messages/tool/tool_messages/brush_tool.rs | 3 +- .../no-std-types/src/color/discrete_srgb.rs | 107 +++++++++++------- 13 files changed, 176 insertions(+), 90 deletions(-) diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 8cdb18e959..b0c722c43f 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -1897,7 +1897,12 @@ impl DocumentMessageHandler { // If there's already a boolean operation on the selected layer, update it with the new operation if let (Some(upstream_boolean_op), Some(only_selected_layer)) = (upstream_boolean_op, only_selected_layer) { - network_interface.set_input(&InputConnector::node(upstream_boolean_op, 1), NodeInput::value(TaggedValue::BooleanOperation(operation), false), &[]); + const BOOLEAN_OPERATION_INDEX: usize = 1; + network_interface.set_input( + &InputConnector::node(upstream_boolean_op, BOOLEAN_OPERATION_INDEX), + NodeInput::value(TaggedValue::BooleanOperation(operation), false), + &[], + ); responses.add(NodeGraphMessage::RunDocumentGraph); @@ -2786,8 +2791,9 @@ impl DocumentMessageHandler { .popover_layout({ // Showing only compatible types for the layer based on the output type of the node upstream from its horizontal input let compatible_type = selected_layer.and_then(|layer| { + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; self.network_interface - .upstream_output_connector(&InputConnector::node(layer.to_node(), 1), &[]) + .upstream_output_connector(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]) .and_then(|upstream_output| self.network_interface.output_type(&upstream_output, &[]).add_node_string()) }); diff --git a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs index 1f6ed6fad1..4620efed78 100644 --- a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs +++ b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs @@ -101,7 +101,8 @@ impl MessageHandler> for } } GraphOperationMessage::SetUpstreamToChain { layer } => { - let Some(OutputConnector::Node { node_id: first_chain_node, .. }) = network_interface.upstream_output_connector(&InputConnector::node(layer.to_node(), 1), &[]) else { + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + let Some(OutputConnector::Node { node_id: first_chain_node, .. }) = network_interface.upstream_output_connector(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]) else { return; }; @@ -145,15 +146,18 @@ impl MessageHandler> for // Set the bottom input of the artboard back to artboard let bottom_input = NodeInput::value(TaggedValue::Artboard(Table::new()), true); - network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), 0), bottom_input, &[]); + const ARTBOARD_BASE_INDEX: usize = 0; + network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_BASE_INDEX), bottom_input, &[]); } else { // We have some non layers (e.g. just a rectangle node). We disconnect the bottom input and connect it to the left input. - network_interface.disconnect_input(&InputConnector::node(artboard_layer.to_node(), 0), &[]); - network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), 1), primary_input, &[]); + const ARTBOARD_BASE_INDEX: usize = 0; + const ARTBOARD_CONTENT_INDEX: usize = 1; + network_interface.disconnect_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_BASE_INDEX), &[]); + network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_CONTENT_INDEX), primary_input, &[]); // Set the bottom input of the artboard back to artboard let bottom_input = NodeInput::value(TaggedValue::Artboard(Table::new()), true); - network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), 0), bottom_input, &[]); + network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_BASE_INDEX), bottom_input, &[]); } } responses.add_front(NodeGraphMessage::SelectedNodesSet { nodes: vec![id] }); @@ -193,8 +197,9 @@ impl MessageHandler> for let first_new_node_id = new_ids[&NodeId(0)]; responses.add(NodeGraphMessage::AddNodes { nodes, new_ids }); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(layer.to_node(), 1), + input_connector: InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), input: NodeInput::node(first_new_node_id, 0), }); } @@ -251,10 +256,11 @@ impl MessageHandler> for return; }; - artboard_data.insert( - artboard.to_node(), - ArtboardInfo { - input_node: NodeInput::node(document_node.inputs[1].as_node().unwrap_or_default(), 0), + const ARTBOARD_CONTENT_INDEX: usize = 1; + artboard_data.insert( + artboard.to_node(), + ArtboardInfo { + input_node: NodeInput::node(document_node.inputs[ARTBOARD_CONTENT_INDEX].as_node().unwrap_or_default(), 0), output_nodes: network_interface .outward_wires(&[]) .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(artboard.to_node(), 0))) @@ -281,8 +287,9 @@ impl MessageHandler> for // Go through all artboards and connect them to the merge nodes for artboard in &artboard_data { // Modify downstream connections - responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(artboard.1.merge_node, 1), + const MERGE_CONTENT_INDEX: usize = 1; + responses.add(NodeGraphMessage::SetInput { + input_connector: InputConnector::node(artboard.1.merge_node, MERGE_CONTENT_INDEX), input: NodeInput::node(artboard.1.input_node.as_node().unwrap_or_default(), 0), }); diff --git a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs index c948cbeff9..29e664be69 100644 --- a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs +++ b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs @@ -71,7 +71,8 @@ impl<'a> ModifyInputsContext<'a> { let mut post_node_input_connector = if parent == LayerNodeIdentifier::ROOT_PARENT { InputConnector::Export(0) } else { - InputConnector::node(parent.to_node(), 1) + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX) }; // Skip layers based on skip_layer_nodes, which inserts the new layer at a certain index of the layer stack. let mut current_index = 0; @@ -320,7 +321,8 @@ impl<'a> ModifyInputsContext<'a> { // If inserting a 'Path' node, insert a 'Flatten Path' node if the type is `Graphic`. // TODO: Allow the 'Path' node to operate on table data by utilizing the reference (index or ID?) for each row. if node_definition.identifier == "Path" { - let layer_input_type = self.network_interface.input_type(&InputConnector::node(output_layer.to_node(), 1), &[]); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + let layer_input_type = self.network_interface.input_type(&InputConnector::node(output_layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]); if layer_input_type.compiled_nested_type() == Some(&concrete!(Table)) { let Some(flatten_path_definition) = resolve_proto_node_type(graphene_std::vector_nodes::flatten_path::IDENTIFIER) else { log::error!("Flatten Path does not exist in ModifyInputsContext::existing_node_id"); @@ -505,10 +507,18 @@ impl<'a> ModifyInputsContext<'a> { let Some(brush_node_id) = self.existing_network_node_id("Brush", true) else { return; }; - self.set_input_with_refresh(InputConnector::node(brush_node_id, 1), NodeInput::value(TaggedValue::BrushStrokes(strokes), false), false); + const BRUSH_STROKES_INDEX: usize = 1; + self.set_input_with_refresh( + InputConnector::node(brush_node_id, BRUSH_STROKES_INDEX), + NodeInput::value(TaggedValue::BrushStrokes(strokes), false), + false, + ); } pub fn resize_artboard(&mut self, location: IVec2, dimensions: IVec2) { + const ARTBOARD_LOCATION_INDEX: usize = 2; + const ARTBOARD_DIMENSIONS_INDEX: usize = 3; + let Some(artboard_node_id) = self.existing_network_node_id("Artboard", true) else { return; }; @@ -524,8 +534,16 @@ impl<'a> ModifyInputsContext<'a> { dimensions.y *= -1; location.y -= dimensions.y; } - self.set_input_with_refresh(InputConnector::node(artboard_node_id, 2), NodeInput::value(TaggedValue::DVec2(location.into()), false), false); - self.set_input_with_refresh(InputConnector::node(artboard_node_id, 3), NodeInput::value(TaggedValue::DVec2(dimensions.into()), false), false); + self.set_input_with_refresh( + InputConnector::node(artboard_node_id, ARTBOARD_LOCATION_INDEX), + NodeInput::value(TaggedValue::DVec2(location.into()), false), + false, + ); + self.set_input_with_refresh( + InputConnector::node(artboard_node_id, ARTBOARD_DIMENSIONS_INDEX), + NodeInput::value(TaggedValue::DVec2(dimensions.into()), false), + false, + ); } /// Set the input, refresh the properties panel, and run the document graph if skip_rerender is false diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs index b7f6992fc5..34e8a0eba8 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs @@ -1324,7 +1324,8 @@ impl<'a> MessageHandler> for NodeG .cloned() .collect::>() { - network_interface.try_set_upstream_to_chain(&InputConnector::node(layer, 1), selection_network_path); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + network_interface.try_set_upstream_to_chain(&InputConnector::node(layer, LAYER_SECONDARY_INPUT_INDEX), selection_network_path); } responses.add(NodeGraphMessage::SendGraph); diff --git a/editor/src/messages/portfolio/document/utility_types/network_interface.rs b/editor/src/messages/portfolio/document/utility_types/network_interface.rs index ac95dfce84..212a31cd8c 100644 --- a/editor/src/messages/portfolio/document/utility_types/network_interface.rs +++ b/editor/src/messages/portfolio/document/utility_types/network_interface.rs @@ -419,7 +419,8 @@ impl NodeNetworkInterface { for old_id in new_nodes.iter().map(|(_, old_id, _)| *old_id).collect::>() { // Try set all selected nodes upstream of a layer to be chain nodes if self.is_layer(&old_id, network_path) { - for valid_upstream_chain_node in self.valid_upstream_chain_nodes(&InputConnector::node(old_id, 1), network_path) { + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + for valid_upstream_chain_node in self.valid_upstream_chain_nodes(&InputConnector::node(old_id, LAYER_SECONDARY_INPUT_INDEX), network_path) { if let Some(node_template) = new_nodes.iter_mut().find_map(|(_, old_id, template)| (*old_id == valid_upstream_chain_node).then_some(template)) { match &mut node_template.persistent_node_metadata.node_type_metadata { NodeTypePersistentMetadata::Node(node_metadata) => node_metadata.position = NodePosition::Chain, @@ -1195,7 +1196,8 @@ impl NodeNetworkInterface { .find(|ancestor| *ancestor != LayerNodeIdentifier::ROOT_PARENT && self.is_artboard(&ancestor.to_node(), &[])) { let artboard = self.document_node(&artboard_node_identifier.to_node(), &[]); - let clip_input = artboard.unwrap().inputs.get(5).unwrap(); + const ARTBOARD_CLIP_INDEX: usize = 5; + let clip_input = artboard.unwrap().inputs.get(ARTBOARD_CLIP_INDEX).unwrap(); if let NodeInput::Value { tagged_value, .. } = clip_input && tagged_value.clone().deref() == &TaggedValue::Bool(true) { @@ -1312,7 +1314,8 @@ impl NodeNetworkInterface { .iter() .filter_map(move |node_id| { if self.is_layer(node_id, network_path) { - network.nodes.get(node_id).and_then(|node| node.inputs.get(1)).and_then(|input| input.as_node()) + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + network.nodes.get(node_id).and_then(|node| node.inputs.get(LAYER_SECONDARY_INPUT_INDEX)).and_then(|input| input.as_node()) } else { Some(*node_id) } @@ -3097,7 +3100,8 @@ impl NodeNetworkInterface { let mut modified = vector.clone(); let path_node = self.document_network().nodes.get(&path_node); - let modification_input = path_node.and_then(|node: &DocumentNode| node.inputs.get(1)).and_then(|input| input.as_value()); + const PATH_MODIFICATION_INDEX: usize = 1; + let modification_input = path_node.and_then(|node: &DocumentNode| node.inputs.get(PATH_MODIFICATION_INDEX)).and_then(|input| input.as_value()); if let Some(TaggedValue::VectorModification(modification)) = modification_input { modification.apply(&mut modified); } @@ -4604,7 +4608,8 @@ impl NodeNetworkInterface { // Try build the chain if is_layer { - self.try_set_upstream_to_chain(&InputConnector::node(*node_id, 1), network_path); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + self.try_set_upstream_to_chain(&InputConnector::node(*node_id, LAYER_SECONDARY_INPUT_INDEX), network_path); } else { self.try_set_node_to_chain(node_id, network_path); } @@ -5655,16 +5660,17 @@ impl NodeNetworkInterface { // Moves a node and to the start of a layer chain (feeding into the secondary input of the layer) pub fn move_node_to_chain_start(&mut self, node_id: &NodeId, parent: LayerNodeIdentifier, network_path: &[NodeId]) { - let Some(current_input) = self.input_from_connector(&InputConnector::node(parent.to_node(), 1), network_path) else { + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + let Some(current_input) = self.input_from_connector(&InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path) else { log::error!("Could not get input for node {node_id}"); return; }; if matches!(current_input, NodeInput::Value { .. }) { - self.create_wire(&OutputConnector::node(*node_id, 0), &InputConnector::node(parent.to_node(), 1), network_path); + self.create_wire(&OutputConnector::node(*node_id, 0), &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path); self.set_chain_position(node_id, network_path); } else { // Insert the node in the gap and set the upstream to a chain - self.insert_node_between(node_id, &InputConnector::node(parent.to_node(), 1), 0, network_path); + self.insert_node_between(node_id, &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), 0, network_path); self.force_set_upstream_to_chain(node_id, network_path); } } diff --git a/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs b/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs index 2d285f7e89..e7d724d76b 100644 --- a/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs +++ b/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs @@ -12,6 +12,9 @@ use crate::messages::portfolio::document::node_graph::utility_types::FrontendGra use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, NodeNetworkInterface, OutputConnector}; // This file contains utility methods for interfacing with the resolved types returned from the compiler + +/// Index of the `editor_api` parameter in the render node (second parameter after the primary context input). +const RENDER_NODE_EDITOR_API_INDEX: usize = 1; #[derive(Debug, Default)] pub struct ResolvedDocumentNodeTypes { pub types: HashMap, NodeTypes>, @@ -317,7 +320,7 @@ impl NodeNetworkInterface { log::error!("Protonode {render_node:?} not found in registry"); return Vec::new(); }; - implementations.keys().map(|types| types.inputs[1].clone()).collect() + implementations.keys().map(|types| types.inputs[RENDER_NODE_EDITOR_API_INDEX].clone()).collect() } } } diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs index d72414f48a..b09817600a 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs @@ -14,6 +14,7 @@ use crate::messages::tool::common_functionality::shapes::shape_utility::{extract use glam::DVec2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::vector::generator_nodes::star::*; use std::collections::VecDeque; use std::f64::consts::{FRAC_1_SQRT_2, FRAC_PI_4, PI, SQRT_2}; @@ -337,13 +338,13 @@ impl PointRadiusHandle { return snap_radii; }; - let (Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = (node_inputs[2].as_value(), node_inputs[3].as_value()) else { + let (Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = (node_inputs[Radius1Input::INDEX].as_value(), node_inputs[Radius2Input::INDEX].as_value()) else { return snap_radii; }; let other_radius = if radius_index == 3 { radius_1 } else { radius_2 }; - let Some(&TaggedValue::U32(sides)) = node_inputs[1].as_value() else { + let Some(&TaggedValue::U32(sides)) = node_inputs[SidesInput::::INDEX].as_value() else { return snap_radii; }; @@ -456,7 +457,7 @@ impl PointRadiusHandle { return; }; - let (Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = (node_inputs[2].as_value(), node_inputs[3].as_value()) else { + let (Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = (node_inputs[Radius1Input::INDEX].as_value(), node_inputs[Radius2Input::INDEX].as_value()) else { return; }; diff --git a/editor/src/messages/tool/common_functionality/graph_modification_utils.rs b/editor/src/messages/tool/common_functionality/graph_modification_utils.rs index c71f199078..8b910fb4de 100644 --- a/editor/src/messages/tool/common_functionality/graph_modification_utils.rs +++ b/editor/src/messages/tool/common_functionality/graph_modification_utils.rs @@ -9,6 +9,7 @@ use graph_craft::document::{NodeId, NodeInput}; use graph_craft::{ProtoNodeIdentifier, concrete}; use graphene_std::Color; use graphene_std::NodeInputDecleration; +use graphene_std::blending_nodes::blending::*; use graphene_std::raster::BlendMode; use graphene_std::raster_types::{CPU, GPU, Raster}; use graphene_std::subpath::Subpath; @@ -92,9 +93,11 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde node_id: merge_node_id, parent: first_layer, }); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + const MERGE_CONTENT_INDEX: usize = 1; responses.add(NodeGraphMessage::ConnectUpstreamOutputToInput { - downstream_input: InputConnector::node(second_layer.to_node(), 1), - input_connector: InputConnector::node(merge_node_id, 1), + downstream_input: InputConnector::node(second_layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), + input_connector: InputConnector::node(merge_node_id, MERGE_CONTENT_INDEX), }); responses.add(NodeGraphMessage::DeleteNodes { node_ids: vec![second_layer.to_node()], @@ -298,7 +301,7 @@ pub fn get_fill_color(layer: LayerNodeIdentifier, network_interface: &NodeNetwor /// Get the current blend mode of a layer from the closest "Blending" node. pub fn get_blend_mode(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::blending_nodes::blending::IDENTIFIER))?; - let TaggedValue::BlendMode(blend_mode) = inputs.get(1)?.as_value()? else { + let TaggedValue::BlendMode(blend_mode) = inputs.get(BlendModeInput::INDEX)?.as_value()? else { return None; }; Some(*blend_mode) @@ -314,7 +317,7 @@ pub fn get_blend_mode(layer: LayerNodeIdentifier, network_interface: &NodeNetwor /// With those limitations in mind, the intention of this function is to show just the value already present in an upstream Opacity node so that value can be directly edited. pub fn get_opacity(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::blending_nodes::blending::IDENTIFIER))?; - let TaggedValue::F64(opacity) = inputs.get(2)?.as_value()? else { + let TaggedValue::F64(opacity) = inputs.get(OpacityInput::INDEX)?.as_value()? else { return None; }; Some(*opacity) @@ -322,7 +325,7 @@ pub fn get_opacity(layer: LayerNodeIdentifier, network_interface: &NodeNetworkIn pub fn get_clip_mode(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::blending_nodes::blending::IDENTIFIER))?; - let TaggedValue::Bool(clip) = inputs.get(4)?.as_value()? else { + let TaggedValue::Bool(clip) = inputs.get(ClipInput::INDEX)?.as_value()? else { return None; }; Some(*clip) @@ -330,7 +333,7 @@ pub fn get_clip_mode(layer: LayerNodeIdentifier, network_interface: &NodeNetwork pub fn get_fill(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::blending_nodes::blending::IDENTIFIER))?; - let TaggedValue::F64(fill) = inputs.get(3)?.as_value()? else { + let TaggedValue::F64(fill) = inputs.get(FillInput::INDEX)?.as_value()? else { return None; }; Some(*fill) @@ -518,7 +521,8 @@ impl<'a> NodeGraphLayer<'a> { /// Check if a layer is a raster layer pub fn is_raster_layer(layer: LayerNodeIdentifier, network_interface: &mut NodeNetworkInterface) -> bool { - let layer_input_type = network_interface.input_type(&InputConnector::node(layer.to_node(), 1), &[]); + const LAYER_SECONDARY_INPUT_INDEX: usize = 1; + let layer_input_type = network_interface.input_type(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]); layer_input_type.compiled_nested_type() == Some(&concrete!(Table>)) || layer_input_type.compiled_nested_type() == Some(&concrete!(Table>)) } diff --git a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs index aebb159a33..3e739b58ea 100644 --- a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs @@ -98,7 +98,7 @@ impl Line { let node_inputs = NodeGraphLayer::new(layer, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::line::IDENTIFIER))?; - let Some(&TaggedValue::DVec2(line_to)) = node_inputs[1].as_value() else { + let Some(&TaggedValue::DVec2(line_to)) = node_inputs[StartInput::INDEX].as_value() else { return None; }; @@ -208,7 +208,7 @@ mod test_line_tool { .selected_visible_and_unlocked_layers(network_interface) .filter_map(|layer| { let node_inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::line::IDENTIFIER))?; - let Some(&TaggedValue::DVec2(line_to)) = node_inputs[1].as_value() else { + let Some(&TaggedValue::DVec2(line_to)) = node_inputs[StartInput::INDEX].as_value() else { return None; }; diff --git a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs index 47b42a38a6..24808e37e2 100644 --- a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs @@ -176,7 +176,7 @@ impl Polygon { return; }; - let Some(&TaggedValue::U32(n)) = node_inputs.get(1).unwrap().as_value() else { + let Some(&TaggedValue::U32(n)) = node_inputs.get(SidesInput::::INDEX).unwrap().as_value() else { return; }; diff --git a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs index 5d7f42d045..3224583bde 100644 --- a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs +++ b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs @@ -287,11 +287,15 @@ pub fn anchor_overlays(document: &DocumentMessageHandler, overlay_context: &mut /// Extract the node input values of Star. /// Returns an option of (sides, radius1, radius2). pub fn extract_star_parameters(layer: Option, document: &DocumentMessageHandler) -> Option<(u32, f64, f64)> { + use graphene_std::vector::generator_nodes::star::*; + let node_inputs = NodeGraphLayer::new(layer?, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::star::IDENTIFIER))?; - let (Some(&TaggedValue::U32(sides)), Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = - (node_inputs.get(1)?.as_value(), node_inputs.get(2)?.as_value(), node_inputs.get(3)?.as_value()) - else { + let (Some(&TaggedValue::U32(sides)), Some(&TaggedValue::F64(radius_1)), Some(&TaggedValue::F64(radius_2))) = ( + node_inputs.get(SidesInput::::INDEX)?.as_value(), + node_inputs.get(Radius1Input::INDEX)?.as_value(), + node_inputs.get(Radius2Input::INDEX)?.as_value(), + ) else { return None; }; @@ -301,10 +305,12 @@ pub fn extract_star_parameters(layer: Option, document: &Do /// Extract the node input values of Polygon. /// Returns an option of (sides, radius). pub fn extract_polygon_parameters(layer: Option, document: &DocumentMessageHandler) -> Option<(u32, f64)> { + use graphene_std::vector::generator_nodes::regular_polygon::*; + let node_inputs = NodeGraphLayer::new(layer?, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::regular_polygon::IDENTIFIER))?; - let (Some(&TaggedValue::U32(n)), Some(&TaggedValue::F64(radius))) = (node_inputs.get(1)?.as_value(), node_inputs.get(2)?.as_value()) else { + let (Some(&TaggedValue::U32(n)), Some(&TaggedValue::F64(radius))) = (node_inputs.get(SidesInput::::INDEX)?.as_value(), node_inputs.get(RadiusInput::INDEX)?.as_value()) else { return None; }; @@ -314,13 +320,15 @@ pub fn extract_polygon_parameters(layer: Option, document: /// Extract the node input values of an arc. /// Returns an option of (radius, start angle, sweep angle, arc type). pub fn extract_arc_parameters(layer: Option, document: &DocumentMessageHandler) -> Option<(f64, f64, f64, ArcType)> { + use graphene_std::vector::generator_nodes::arc::*; + let node_inputs = NodeGraphLayer::new(layer?, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::arc::IDENTIFIER))?; let (Some(&TaggedValue::F64(radius)), Some(&TaggedValue::F64(start_angle)), Some(&TaggedValue::F64(sweep_angle)), Some(&TaggedValue::ArcType(arc_type))) = ( - node_inputs.get(1)?.as_value(), - node_inputs.get(2)?.as_value(), - node_inputs.get(3)?.as_value(), - node_inputs.get(4)?.as_value(), + node_inputs.get(RadiusInput::INDEX)?.as_value(), + node_inputs.get(StartAngleInput::INDEX)?.as_value(), + node_inputs.get(SweepAngleInput::INDEX)?.as_value(), + node_inputs.get(ArcTypeInput::INDEX)?.as_value(), ) else { return None; }; @@ -385,7 +393,7 @@ pub fn arc_end_points_ignore_layer(radius: f64, start_angle: f64, sweep_angle: f pub fn extract_circle_radius(layer: LayerNodeIdentifier, document: &DocumentMessageHandler) -> Option { let node_inputs = NodeGraphLayer::new(layer, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::circle::IDENTIFIER))?; - let Some(&TaggedValue::F64(radius)) = node_inputs.get(1)?.as_value() else { + let Some(&TaggedValue::F64(radius)) = node_inputs.get(graphene_std::vector::generator_nodes::circle::RadiusInput::INDEX)?.as_value() else { return None; }; diff --git a/editor/src/messages/tool/tool_messages/brush_tool.rs b/editor/src/messages/tool/tool_messages/brush_tool.rs index 5319e21aa4..acfe5c5f5f 100644 --- a/editor/src/messages/tool/tool_messages/brush_tool.rs +++ b/editor/src/messages/tool/tool_messages/brush_tool.rs @@ -320,7 +320,8 @@ impl BrushToolData { }; if reference == DefinitionIdentifier::Network("Brush".into()) && node_id != layer.to_node() { - let points_input = node.inputs.get(1)?; + const BRUSH_STROKES_INDEX: usize = 1; + let points_input = node.inputs.get(BRUSH_STROKES_INDEX)?; let Some(TaggedValue::BrushStrokes(strokes)) = points_input.as_value() else { continue }; self.strokes.clone_from(strokes); diff --git a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs index 2cf6dbb32b..1a31683c6a 100644 --- a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs +++ b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs @@ -90,38 +90,70 @@ pub fn float_to_srgb_u8(mut f: f32) -> u8 { #[rustfmt::skip] const FROM_SRGB_U8: [f32; 256] = [ - 0., 0.000303527, 0.000607054, 0.00091058103, 0.001214108, 0.001517635, 0.0018211621, 0.002124689, - 0.002428216, 0.002731743, 0.00303527, 0.0033465356, 0.003676507, 0.004024717, 0.004391442, - 0.0047769533, 0.005181517, 0.0056053917, 0.0060488326, 0.006512091, 0.00699541, 0.0074990317, - 0.008023192, 0.008568125, 0.009134057, 0.009721218, 0.010329823, 0.010960094, 0.011612245, - 0.012286487, 0.012983031, 0.013702081, 0.014443844, 0.015208514, 0.015996292, 0.016807375, - 0.017641952, 0.018500218, 0.019382361, 0.020288562, 0.02121901, 0.022173883, 0.023153365, - 0.02415763, 0.025186857, 0.026241222, 0.027320892, 0.028426038, 0.029556843, 0.03071345, 0.03189604, - 0.033104774, 0.03433981, 0.035601325, 0.036889452, 0.038204376, 0.039546248, 0.04091521, 0.042311423, - 0.043735042, 0.045186214, 0.046665095, 0.048171833, 0.049706575, 0.051269468, 0.052860655, 0.05448028, - 0.056128494, 0.057805434, 0.05951124, 0.06124607, 0.06301003, 0.06480328, 0.06662595, 0.06847818, - 0.07036011, 0.07227186, 0.07421358, 0.07618539, 0.07818743, 0.08021983, 0.082282715, 0.084376216, - 0.086500466, 0.088655606, 0.09084173, 0.09305898, 0.095307484, 0.09758736, 0.09989874, 0.10224175, - 0.10461649, 0.10702311, 0.10946172, 0.111932434, 0.11443538, 0.116970696, 0.11953845, 0.12213881, - 0.12477186, 0.12743773, 0.13013652, 0.13286836, 0.13563336, 0.13843165, 0.14126332, 0.1441285, - 0.1470273, 0.14995982, 0.15292618, 0.1559265, 0.15896086, 0.16202943, 0.16513224, 0.16826946, - 0.17144115, 0.17464745, 0.17788847, 0.1811643, 0.18447503, 0.1878208, 0.19120172, 0.19461787, - 0.19806935, 0.2015563, 0.20507877, 0.2086369, 0.21223079, 0.21586053, 0.21952623, 0.22322798, - 0.22696589, 0.23074007, 0.23455065, 0.23839766, 0.2422812, 0.2462014, 0.25015837, 0.25415218, - 0.2581829, 0.26225072, 0.26635566, 0.27049786, 0.27467737, 0.27889434, 0.2831488, 0.2874409, - 0.2917707, 0.29613832, 0.30054384, 0.30498737, 0.30946895, 0.31398875, 0.31854683, 0.32314324, - 0.32777813, 0.33245158, 0.33716366, 0.34191445, 0.3467041, 0.3515327, 0.35640025, 0.36130688, - 0.3662527, 0.37123778, 0.37626222, 0.3813261, 0.38642952, 0.39157256, 0.3967553, 0.40197787, - 0.4072403, 0.4125427, 0.41788515, 0.42326775, 0.42869055, 0.4341537, 0.43965724, 0.44520125, - 0.45078585, 0.45641106, 0.46207705, 0.46778384, 0.47353154, 0.47932023, 0.48514998, 0.4910209, - 0.49693304, 0.5028866, 0.50888145, 0.5149178, 0.5209957, 0.52711535, 0.5332766, 0.5394797, - 0.5457247, 0.5520116, 0.5583406, 0.5647117, 0.57112503, 0.57758063, 0.5840786, 0.590619, 0.597202, - 0.60382754, 0.61049575, 0.61720675, 0.62396055, 0.63075733, 0.637597, 0.6444799, 0.6514058, - 0.65837497, 0.66538745, 0.67244333, 0.6795426, 0.68668544, 0.69387203, 0.70110214, 0.70837605, - 0.7156938, 0.72305536, 0.730461, 0.7379107, 0.7454045, 0.75294244, 0.76052475, 0.7681514, 0.77582246, - 0.78353804, 0.79129815, 0.79910296, 0.8069525, 0.8148468, 0.822786, 0.8307701, 0.83879924, 0.84687346, - 0.8549928, 0.8631574, 0.87136734, 0.8796226, 0.8879232, 0.89626956, 0.90466136, 0.913099, 0.92158204, - 0.93011117, 0.9386859, 0.9473069, 0.9559735, 0.9646866, 0.9734455, 0.98225087, 0.9911022, 1., + f32::from_bits(0x00000000), f32::from_bits(0x399f22b4), f32::from_bits(0x3a1f22b4), f32::from_bits(0x3a6eb40f), + f32::from_bits(0x3a9f22b4), f32::from_bits(0x3ac6eb61), f32::from_bits(0x3aeeb40f), f32::from_bits(0x3b0b3e5e), + f32::from_bits(0x3b1f22b4), f32::from_bits(0x3b33070b), f32::from_bits(0x3b46eb61), f32::from_bits(0x3b5b518d), + f32::from_bits(0x3b70f18d), f32::from_bits(0x3b83e1c6), f32::from_bits(0x3b8fe616), f32::from_bits(0x3b9c87fd), + f32::from_bits(0x3ba9c9b7), f32::from_bits(0x3bb7ad6f), f32::from_bits(0x3bc63549), f32::from_bits(0x3bd56361), + f32::from_bits(0x3be539c1), f32::from_bits(0x3bf5ba70), f32::from_bits(0x3c0373b5), f32::from_bits(0x3c0c6152), + f32::from_bits(0x3c15a703), f32::from_bits(0x3c1f45be), f32::from_bits(0x3c293e6b), f32::from_bits(0x3c3391f7), + f32::from_bits(0x3c3e4149), f32::from_bits(0x3c494d43), f32::from_bits(0x3c54b6c7), f32::from_bits(0x3c607eb1), + f32::from_bits(0x3c6ca5df), f32::from_bits(0x3c792d22), f32::from_bits(0x3c830aa8), f32::from_bits(0x3c89af9f), + f32::from_bits(0x3c9085db), f32::from_bits(0x3c978dc5), f32::from_bits(0x3c9ec7c2), f32::from_bits(0x3ca63433), + f32::from_bits(0x3cadd37d), f32::from_bits(0x3cb5a601), f32::from_bits(0x3cbdac20), f32::from_bits(0x3cc5e639), + f32::from_bits(0x3cce54ab), f32::from_bits(0x3cd6f7d5), f32::from_bits(0x3cdfd010), f32::from_bits(0x3ce8ddb9), + f32::from_bits(0x3cf22131), f32::from_bits(0x3cfb9ac6), f32::from_bits(0x3d02a56c), f32::from_bits(0x3d0798df), + f32::from_bits(0x3d0ca7e7), f32::from_bits(0x3d11d2b2), f32::from_bits(0x3d171965), f32::from_bits(0x3d1c7c31), + f32::from_bits(0x3d21fb3f), f32::from_bits(0x3d2796b5), f32::from_bits(0x3d2d4ebe), f32::from_bits(0x3d332384), + f32::from_bits(0x3d39152e), f32::from_bits(0x3d3f23e6), f32::from_bits(0x3d454fd4), f32::from_bits(0x3d4b991f), + f32::from_bits(0x3d51ffef), f32::from_bits(0x3d58846a), f32::from_bits(0x3d5f26b7), f32::from_bits(0x3d65e6fe), + f32::from_bits(0x3d6cc564), f32::from_bits(0x3d73c20f), f32::from_bits(0x3d7add29), f32::from_bits(0x3d810b68), + f32::from_bits(0x3d84b795), f32::from_bits(0x3d887330), f32::from_bits(0x3d8c3e4a), f32::from_bits(0x3d9018f6), + f32::from_bits(0x3d940345), f32::from_bits(0x3d97fd4a), f32::from_bits(0x3d9c0716), f32::from_bits(0x3da020bb), + f32::from_bits(0x3da44a4b), f32::from_bits(0x3da883d7), f32::from_bits(0x3daccd70), f32::from_bits(0x3db12728), f32::from_bits(0x3db59112), + f32::from_bits(0x3dba0b3b), f32::from_bits(0x3dbe95b5), f32::from_bits(0x3dc33092), f32::from_bits(0x3dc7dbe2), + f32::from_bits(0x3dcc97b6), f32::from_bits(0x3dd1641f), f32::from_bits(0x3dd6412c), f32::from_bits(0x3ddb2eef), + f32::from_bits(0x3de02d77), f32::from_bits(0x3de53cd5), f32::from_bits(0x3dea5d19), f32::from_bits(0x3def8e55), + f32::from_bits(0x3df4d093), f32::from_bits(0x3dfa23ea), f32::from_bits(0x3dff8864), f32::from_bits(0x3e027f09), + f32::from_bits(0x3e054282), f32::from_bits(0x3e080ea5), f32::from_bits(0x3e0ae379), f32::from_bits(0x3e0dc107), + f32::from_bits(0x3e10a755), f32::from_bits(0x3e13966c), f32::from_bits(0x3e168e53), f32::from_bits(0x3e198f11), + f32::from_bits(0x3e1c98ae), f32::from_bits(0x3e1fab32), f32::from_bits(0x3e22c6a3), f32::from_bits(0x3e25eb0b), + f32::from_bits(0x3e29186d), f32::from_bits(0x3e2c4ed4), f32::from_bits(0x3e2f8e45), f32::from_bits(0x3e32d6c8), + f32::from_bits(0x3e362865), f32::from_bits(0x3e398322), f32::from_bits(0x3e3ce706), f32::from_bits(0x3e405419), + f32::from_bits(0x3e43ca62), f32::from_bits(0x3e4749e8), f32::from_bits(0x3e4ad2b1), f32::from_bits(0x3e4e64c6), + f32::from_bits(0x3e52002b), f32::from_bits(0x3e55a4e9), f32::from_bits(0x3e595307), f32::from_bits(0x3e5d0a8b), + f32::from_bits(0x3e60cb7c), f32::from_bits(0x3e6495e0), f32::from_bits(0x3e6869bf), f32::from_bits(0x3e6c4720), + f32::from_bits(0x3e702e0c), f32::from_bits(0x3e741e84), f32::from_bits(0x3e781890), f32::from_bits(0x3e7c1c38), + f32::from_bits(0x3e8014c2), f32::from_bits(0x3e82203c), f32::from_bits(0x3e84308d), f32::from_bits(0x3e8645ba), + f32::from_bits(0x3e885fc5), f32::from_bits(0x3e8a7eb2), f32::from_bits(0x3e8ca283), f32::from_bits(0x3e8ecb3d), + f32::from_bits(0x3e90f8e1), f32::from_bits(0x3e932b74), f32::from_bits(0x3e9562f8), f32::from_bits(0x3e979f71), + f32::from_bits(0x3e99e0e2), f32::from_bits(0x3e9c274e), f32::from_bits(0x3e9e72b7), f32::from_bits(0x3ea0c322), + f32::from_bits(0x3ea31892), f32::from_bits(0x3ea57308), f32::from_bits(0x3ea7d289), f32::from_bits(0x3eaa3718), + f32::from_bits(0x3eaca0b7), f32::from_bits(0x3eaf0f69), f32::from_bits(0x3eb18333), f32::from_bits(0x3eb3fc18), + f32::from_bits(0x3eb67a18), f32::from_bits(0x3eb8fd37), f32::from_bits(0x3ebb8579), f32::from_bits(0x3ebe12e1), + f32::from_bits(0x3ec0a571), f32::from_bits(0x3ec33d2d), f32::from_bits(0x3ec5da17), f32::from_bits(0x3ec87c33), + f32::from_bits(0x3ecb2383), f32::from_bits(0x3ecdd00b), f32::from_bits(0x3ed081cd), f32::from_bits(0x3ed338cc), + f32::from_bits(0x3ed5f50b), f32::from_bits(0x3ed8b68d), f32::from_bits(0x3edb7d54), f32::from_bits(0x3ede4965), + f32::from_bits(0x3ee11ac1), f32::from_bits(0x3ee3f16b), f32::from_bits(0x3ee6cd67), f32::from_bits(0x3ee9aeb7), + f32::from_bits(0x3eec955d), f32::from_bits(0x3eef815d), f32::from_bits(0x3ef272ba), f32::from_bits(0x3ef56976), + f32::from_bits(0x3ef86594), f32::from_bits(0x3efb6717), f32::from_bits(0x3efe6e02), f32::from_bits(0x3f00bd2d), + f32::from_bits(0x3f02460e), f32::from_bits(0x3f03d1a7), f32::from_bits(0x3f055ff9), f32::from_bits(0x3f06f108), + f32::from_bits(0x3f0884d1), f32::from_bits(0x3f0a1b57), f32::from_bits(0x3f0bb49d), f32::from_bits(0x3f0d50a2), + f32::from_bits(0x3f0eef69), f32::from_bits(0x3f1090f2), f32::from_bits(0x3f123540), f32::from_bits(0x3f13dc53), + f32::from_bits(0x3f15862d), f32::from_bits(0x3f1732cf), f32::from_bits(0x3f18e23b), f32::from_bits(0x3f1a9471), + f32::from_bits(0x3f1c4973), f32::from_bits(0x3f1e0143), f32::from_bits(0x3f1fbbe1), f32::from_bits(0x3f217950), + f32::from_bits(0x3f23398f), f32::from_bits(0x3f24fca2), f32::from_bits(0x3f26c288), f32::from_bits(0x3f288b43), + f32::from_bits(0x3f2a56d5), f32::from_bits(0x3f2c253f), f32::from_bits(0x3f2df681), f32::from_bits(0x3f2fca9e), + f32::from_bits(0x3f31a199), f32::from_bits(0x3f337b6e), f32::from_bits(0x3f355822), f32::from_bits(0x3f3737b5), + f32::from_bits(0x3f391a28), f32::from_bits(0x3f3aff7e), f32::from_bits(0x3f3ce7b7), f32::from_bits(0x3f3ed2d4), f32::from_bits(0x3f40c0d6), + f32::from_bits(0x3f42b1c0), f32::from_bits(0x3f44a592), f32::from_bits(0x3f469c4d), f32::from_bits(0x3f4895f3), + f32::from_bits(0x3f4a9284), f32::from_bits(0x3f4c9203), f32::from_bits(0x3f4e9470), f32::from_bits(0x3f5099cd), + f32::from_bits(0x3f52a21a), f32::from_bits(0x3f54ad59), f32::from_bits(0x3f56bb8c), f32::from_bits(0x3f58ccb3), + f32::from_bits(0x3f5ae0cf), f32::from_bits(0x3f5cf7e2), f32::from_bits(0x3f5f11ee), f32::from_bits(0x3f612ef2), f32::from_bits(0x3f634eef), + f32::from_bits(0x3f6571ec), f32::from_bits(0x3f6797e3), f32::from_bits(0x3f69c0db), f32::from_bits(0x3f6beccd), + f32::from_bits(0x3f6e1bc4), f32::from_bits(0x3f704db8), f32::from_bits(0x3f7282b4), f32::from_bits(0x3f74baae), + f32::from_bits(0x3f76f5b3), f32::from_bits(0x3f7933b9), f32::from_bits(0x3f7b74cb), f32::from_bits(0x3f7db8e0), + f32::from_bits(0x3f800000), ]; #[inline] @@ -162,12 +194,11 @@ mod tests { #[test] fn test_float_to_srgb_u8() { for u in 0..=u8::MAX { - // let a = srgb_u8_to_float(u); - // let b = srgb_u8_to_float_ref(u); - // if a != b { - // panic!("Mismatch at u={}: {} != {}", u, a, b); - // } - assert!(srgb_u8_to_float(u) == srgb_u8_to_float_ref(u)); + let a = srgb_u8_to_float(u); + let b = srgb_u8_to_float_ref(u); + if a != b { + panic!("Mismatch at u={}: {} != {}", u, a, b); + } } } From b8d78542112b4bf9e04161728a6f1a2b529427ed Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Wed, 4 Mar 2026 14:38:25 +0800 Subject: [PATCH 4/7] fix: - replace hardcoded primary input/output indices with named constants - adds PRIMARY_INPUT_INDEX and PRIMARY_OUTPUT_INDEX constants to InputConnector, OutputConnector, and NodeInput, replaces hardcoded 0 indices with these constants. --- .../graph_operation_message_handler.rs | 10 +-- .../document/graph_operation/utility_types.rs | 4 +- .../node_graph/node_graph_message_handler.rs | 20 +++--- .../utility_types/network_interface.rs | 66 ++++++++++-------- .../network_interface/resolved_types.rs | 2 +- .../portfolio/portfolio_message_handler.rs | 2 +- .../shape_gizmos/point_radius_handle.rs | 1 + .../common_functionality/utility_functions.rs | 2 +- .../tool/tool_messages/spline_tool.rs | 2 +- .../messages/tool/tool_messages/text_tool.rs | 10 ++- editor/src/node_graph_executor.rs | 2 +- editor/src/node_graph_executor/runtime.rs | 2 +- .../test-results/difference-ours.png | Bin 0 -> 845 bytes .../test-results/difference-ours.svg | 1 + .../dangling-01/test-results/difference.png | Bin 0 -> 845 bytes .../test-results/division-ours.png | Bin 0 -> 901 bytes .../test-results/division-ours.svg | 1 + .../dangling-01/test-results/division.png | Bin 0 -> 901 bytes .../test-results/exclusion-ours.png | Bin 0 -> 1082 bytes .../test-results/exclusion-ours.svg | 1 + .../dangling-01/test-results/exclusion.png | Bin 0 -> 1082 bytes .../test-results/fracture-ours.png | Bin 0 -> 1080 bytes .../test-results/fracture-ours.svg | 1 + .../dangling-01/test-results/fracture.png | Bin 0 -> 1080 bytes .../test-results/intersection-ours.png | Bin 0 -> 544 bytes .../test-results/intersection-ours.svg | 1 + .../dangling-01/test-results/intersection.png | Bin 0 -> 544 bytes .../dangling-01/test-results/union-ours.png | Bin 0 -> 877 bytes .../dangling-01/test-results/union-ours.svg | 1 + .../dangling-01/test-results/union.png | Bin 0 -> 877 bytes .../test-results/difference-ours.png | Bin 0 -> 845 bytes .../test-results/difference-ours.svg | 1 + .../dangling-02/test-results/difference.png | Bin 0 -> 845 bytes .../test-results/division-ours.png | Bin 0 -> 901 bytes .../test-results/division-ours.svg | 1 + .../dangling-02/test-results/division.png | Bin 0 -> 901 bytes .../test-results/exclusion-ours.png | Bin 0 -> 1078 bytes .../test-results/exclusion-ours.svg | 1 + .../dangling-02/test-results/exclusion.png | Bin 0 -> 1078 bytes .../test-results/fracture-ours.png | Bin 0 -> 1076 bytes .../test-results/fracture-ours.svg | 1 + .../dangling-02/test-results/fracture.png | Bin 0 -> 1076 bytes .../test-results/intersection-ours.png | Bin 0 -> 544 bytes .../test-results/intersection-ours.svg | 1 + .../dangling-02/test-results/intersection.png | Bin 0 -> 544 bytes .../dangling-02/test-results/union-ours.png | Bin 0 -> 867 bytes .../dangling-02/test-results/union-ours.svg | 1 + .../dangling-02/test-results/union.png | Bin 0 -> 867 bytes .../test-results/difference-ours.png | Bin 0 -> 279 bytes .../test-results/difference-ours.svg | 1 + .../dangling-03/test-results/difference.png | Bin 0 -> 279 bytes .../test-results/division-ours.png | Bin 0 -> 279 bytes .../test-results/division-ours.svg | 1 + .../dangling-03/test-results/division.png | Bin 0 -> 279 bytes .../test-results/exclusion-ours.png | Bin 0 -> 279 bytes .../test-results/exclusion-ours.svg | 1 + .../dangling-03/test-results/exclusion.png | Bin 0 -> 279 bytes .../test-results/fracture-ours.png | Bin 0 -> 279 bytes .../test-results/fracture-ours.svg | 1 + .../dangling-03/test-results/fracture.png | Bin 0 -> 279 bytes .../test-results/intersection-ours.png | Bin 0 -> 279 bytes .../test-results/intersection-ours.svg | 1 + .../dangling-03/test-results/intersection.png | Bin 0 -> 279 bytes .../dangling-03/test-results/union-ours.png | Bin 0 -> 279 bytes .../dangling-03/test-results/union-ours.svg | 1 + .../dangling-03/test-results/union.png | Bin 0 -> 279 bytes .../test-results/difference-ours.png | Bin 0 -> 616 bytes .../test-results/difference-ours.svg | 1 + .../dangling-04/test-results/difference.png | Bin 0 -> 616 bytes .../test-results/division-ours.png | Bin 0 -> 718 bytes .../test-results/division-ours.svg | 1 + .../dangling-04/test-results/division.png | Bin 0 -> 718 bytes .../test-results/exclusion-ours.png | Bin 0 -> 1162 bytes .../test-results/exclusion-ours.svg | 1 + .../dangling-04/test-results/exclusion.png | Bin 0 -> 1162 bytes .../test-results/fracture-ours.png | Bin 0 -> 1157 bytes .../test-results/fracture-ours.svg | 1 + .../dangling-04/test-results/fracture.png | Bin 0 -> 1160 bytes .../test-results/intersection-ours.png | Bin 0 -> 547 bytes .../test-results/intersection-ours.svg | 1 + .../dangling-04/test-results/intersection.png | Bin 0 -> 547 bytes .../dangling-04/test-results/union-ours.png | Bin 0 -> 956 bytes .../dangling-04/test-results/union-ours.svg | 1 + .../dangling-04/test-results/union.png | Bin 0 -> 956 bytes .../test-results/difference-ours.png | Bin 0 -> 1775 bytes .../test-results/difference-ours.svg | 1 + .../nesting-01/test-results/difference.png | Bin 0 -> 1775 bytes .../nesting-01/test-results/division-ours.png | Bin 0 -> 1762 bytes .../nesting-01/test-results/division-ours.svg | 1 + .../nesting-01/test-results/division.png | Bin 0 -> 1762 bytes .../test-results/exclusion-ours.png | Bin 0 -> 1775 bytes .../test-results/exclusion-ours.svg | 1 + .../nesting-01/test-results/exclusion.png | Bin 0 -> 1775 bytes .../nesting-01/test-results/fracture-ours.png | Bin 0 -> 1762 bytes .../nesting-01/test-results/fracture-ours.svg | 1 + .../nesting-01/test-results/fracture.png | Bin 0 -> 1762 bytes .../test-results/intersection-ours.png | Bin 0 -> 855 bytes .../test-results/intersection-ours.svg | 1 + .../nesting-01/test-results/intersection.png | Bin 0 -> 855 bytes .../nesting-01/test-results/union-ours.png | Bin 0 -> 1202 bytes .../nesting-01/test-results/union-ours.svg | 1 + .../nesting-01/test-results/union.png | Bin 0 -> 1202 bytes .../test-results/difference-ours.png | Bin 0 -> 1188 bytes .../test-results/difference-ours.svg | 1 + .../nesting-02/test-results/difference.png | Bin 0 -> 1188 bytes .../nesting-02/test-results/division-ours.png | Bin 0 -> 1178 bytes .../nesting-02/test-results/division-ours.svg | 1 + .../nesting-02/test-results/division.png | Bin 0 -> 1178 bytes .../test-results/exclusion-ours.png | Bin 0 -> 1233 bytes .../test-results/exclusion-ours.svg | 1 + .../nesting-02/test-results/exclusion.png | Bin 0 -> 1233 bytes .../nesting-02/test-results/fracture-ours.png | Bin 0 -> 1243 bytes .../nesting-02/test-results/fracture-ours.svg | 1 + .../nesting-02/test-results/fracture.png | Bin 0 -> 1243 bytes .../test-results/intersection-ours.png | Bin 0 -> 382 bytes .../test-results/intersection-ours.svg | 1 + .../nesting-02/test-results/intersection.png | Bin 0 -> 382 bytes .../nesting-02/test-results/union-ours.png | Bin 0 -> 1182 bytes .../nesting-02/test-results/union-ours.svg | 1 + .../nesting-02/test-results/union.png | Bin 0 -> 1182 bytes .../test-results/difference-ours.png | Bin 0 -> 2376 bytes .../test-results/difference-ours.svg | 1 + .../nesting-03/test-results/difference.png | Bin 0 -> 2376 bytes .../nesting-03/test-results/division-ours.png | Bin 0 -> 2479 bytes .../nesting-03/test-results/division-ours.svg | 1 + .../nesting-03/test-results/division.png | Bin 0 -> 2480 bytes .../test-results/exclusion-ours.png | Bin 0 -> 2376 bytes .../test-results/exclusion-ours.svg | 1 + .../nesting-03/test-results/exclusion.png | Bin 0 -> 2376 bytes .../nesting-03/test-results/fracture-ours.png | Bin 0 -> 2479 bytes .../nesting-03/test-results/fracture-ours.svg | 1 + .../nesting-03/test-results/fracture.png | Bin 0 -> 2480 bytes .../test-results/intersection-ours.png | Bin 0 -> 1495 bytes .../test-results/intersection-ours.svg | 1 + .../nesting-03/test-results/intersection.png | Bin 0 -> 1495 bytes .../nesting-03/test-results/union-ours.png | Bin 0 -> 1202 bytes .../nesting-03/test-results/union-ours.svg | 1 + .../nesting-03/test-results/union.png | Bin 0 -> 1202 bytes .../test-results/difference-ours.png | Bin 0 -> 2433 bytes .../test-results/difference-ours.svg | 1 + .../nesting-04/test-results/difference.png | Bin 0 -> 2433 bytes .../nesting-04/test-results/division-ours.png | Bin 0 -> 2391 bytes .../nesting-04/test-results/division-ours.svg | 1 + .../nesting-04/test-results/division.png | Bin 0 -> 2391 bytes .../test-results/exclusion-ours.png | Bin 0 -> 2433 bytes .../test-results/exclusion-ours.svg | 1 + .../nesting-04/test-results/exclusion.png | Bin 0 -> 2433 bytes .../nesting-04/test-results/fracture-ours.png | Bin 0 -> 2391 bytes .../nesting-04/test-results/fracture-ours.svg | 1 + .../nesting-04/test-results/fracture.png | Bin 0 -> 2391 bytes .../test-results/intersection-ours.png | Bin 0 -> 888 bytes .../test-results/intersection-ours.svg | 1 + .../nesting-04/test-results/intersection.png | Bin 0 -> 888 bytes .../nesting-04/test-results/union-ours.png | Bin 0 -> 1818 bytes .../nesting-04/test-results/union-ours.svg | 1 + .../nesting-04/test-results/union.png | Bin 0 -> 1818 bytes .../real-01/test-results/difference-ours.png | Bin 0 -> 43527 bytes .../real-01/test-results/difference-ours.svg | 1 + .../real-01/test-results/difference.png | Bin 0 -> 43527 bytes .../real-01/test-results/division-ours.png | Bin 0 -> 45366 bytes .../real-01/test-results/division-ours.svg | 1 + .../real-01/test-results/division.png | Bin 0 -> 45364 bytes .../real-01/test-results/exclusion-ours.png | Bin 0 -> 48193 bytes .../real-01/test-results/exclusion-ours.svg | 1 + .../real-01/test-results/exclusion.png | Bin 0 -> 48193 bytes .../real-01/test-results/fracture-ours.png | Bin 0 -> 48017 bytes .../real-01/test-results/fracture-ours.svg | 1 + .../real-01/test-results/fracture.png | Bin 0 -> 48011 bytes .../test-results/intersection-ours.png | Bin 0 -> 37950 bytes .../test-results/intersection-ours.svg | 1 + .../real-01/test-results/intersection.png | Bin 0 -> 37951 bytes .../real-01/test-results/union-ours.png | Bin 0 -> 29828 bytes .../real-01/test-results/union-ours.svg | 1 + .../real-01/test-results/union.png | Bin 0 -> 29828 bytes .../real-02/test-results/difference-ours.png | Bin 0 -> 94933 bytes .../real-02/test-results/difference-ours.svg | 1 + .../real-02/test-results/difference.png | Bin 0 -> 94933 bytes .../real-02/test-results/division-ours.png | Bin 0 -> 101943 bytes .../real-02/test-results/division-ours.svg | 1 + .../real-02/test-results/division.png | Bin 0 -> 101983 bytes .../real-02/test-results/exclusion-ours.png | Bin 0 -> 125044 bytes .../real-02/test-results/exclusion-ours.svg | 1 + .../real-02/test-results/exclusion.png | Bin 0 -> 125046 bytes .../real-02/test-results/fracture-ours.png | Bin 0 -> 127829 bytes .../real-02/test-results/fracture-ours.svg | 1 + .../real-02/test-results/fracture.png | Bin 0 -> 127807 bytes .../test-results/intersection-ours.png | Bin 0 -> 91851 bytes .../test-results/intersection-ours.svg | 1 + .../real-02/test-results/intersection.png | Bin 0 -> 91840 bytes .../real-02/test-results/union-ours.png | Bin 0 -> 55549 bytes .../real-02/test-results/union-ours.svg | 1 + .../real-02/test-results/union.png | Bin 0 -> 55549 bytes .../real-03/test-results/difference-ours.png | Bin 0 -> 2970 bytes .../real-03/test-results/difference-ours.svg | 1 + .../real-03/test-results/difference.png | Bin 0 -> 2970 bytes .../real-03/test-results/division-ours.png | Bin 0 -> 3168 bytes .../real-03/test-results/division-ours.svg | 1 + .../real-03/test-results/division.png | Bin 0 -> 3158 bytes .../real-03/test-results/exclusion-ours.png | Bin 0 -> 3161 bytes .../real-03/test-results/exclusion-ours.svg | 1 + .../real-03/test-results/exclusion.png | Bin 0 -> 3161 bytes .../real-03/test-results/fracture-ours.png | Bin 0 -> 3153 bytes .../real-03/test-results/fracture-ours.svg | 1 + .../real-03/test-results/fracture.png | Bin 0 -> 3143 bytes .../test-results/intersection-ours.png | Bin 0 -> 1706 bytes .../test-results/intersection-ours.svg | 1 + .../real-03/test-results/intersection.png | Bin 0 -> 1706 bytes .../real-03/test-results/union-ours.png | Bin 0 -> 2210 bytes .../real-03/test-results/union-ours.svg | 1 + .../real-03/test-results/union.png | Bin 0 -> 2210 bytes .../test-results/difference-ours.png | Bin 0 -> 1018 bytes .../test-results/difference-ours.svg | 1 + .../simple-01/test-results/difference.png | Bin 0 -> 1018 bytes .../simple-01/test-results/division-ours.png | Bin 0 -> 1288 bytes .../simple-01/test-results/division-ours.svg | 1 + .../simple-01/test-results/division.png | Bin 0 -> 1288 bytes .../simple-01/test-results/exclusion-ours.png | Bin 0 -> 1684 bytes .../simple-01/test-results/exclusion-ours.svg | 1 + .../simple-01/test-results/exclusion.png | Bin 0 -> 1684 bytes .../simple-01/test-results/fracture-ours.png | Bin 0 -> 1676 bytes .../simple-01/test-results/fracture-ours.svg | 1 + .../simple-01/test-results/fracture.png | Bin 0 -> 1676 bytes .../test-results/intersection-ours.png | Bin 0 -> 885 bytes .../test-results/intersection-ours.svg | 1 + .../simple-01/test-results/intersection.png | Bin 0 -> 885 bytes .../simple-01/test-results/union-ours.png | Bin 0 -> 1221 bytes .../simple-01/test-results/union-ours.svg | 1 + .../simple-01/test-results/union.png | Bin 0 -> 1223 bytes .../test-results/difference-ours.png | Bin 0 -> 426 bytes .../test-results/difference-ours.svg | 1 + .../simple-02/test-results/difference.png | Bin 0 -> 426 bytes .../simple-02/test-results/division-ours.png | Bin 0 -> 461 bytes .../simple-02/test-results/division-ours.svg | 1 + .../simple-02/test-results/division.png | Bin 0 -> 461 bytes .../simple-02/test-results/exclusion-ours.png | Bin 0 -> 499 bytes .../simple-02/test-results/exclusion-ours.svg | 1 + .../simple-02/test-results/exclusion.png | Bin 0 -> 499 bytes .../simple-02/test-results/fracture-ours.png | Bin 0 -> 499 bytes .../simple-02/test-results/fracture-ours.svg | 1 + .../simple-02/test-results/fracture.png | Bin 0 -> 504 bytes .../test-results/intersection-ours.png | Bin 0 -> 359 bytes .../test-results/intersection-ours.svg | 1 + .../simple-02/test-results/intersection.png | Bin 0 -> 359 bytes .../simple-02/test-results/union-ours.png | Bin 0 -> 439 bytes .../simple-02/test-results/union-ours.svg | 1 + .../simple-02/test-results/union.png | Bin 0 -> 439 bytes .../test-results/difference-ours.png | Bin 0 -> 1629 bytes .../test-results/difference-ours.svg | 1 + .../simple-03/test-results/difference.png | Bin 0 -> 1629 bytes .../simple-03/test-results/division-ours.png | Bin 0 -> 1894 bytes .../simple-03/test-results/division-ours.svg | 1 + .../simple-03/test-results/division.png | Bin 0 -> 1889 bytes .../simple-03/test-results/exclusion-ours.png | Bin 0 -> 2461 bytes .../simple-03/test-results/exclusion-ours.svg | 1 + .../simple-03/test-results/exclusion.png | Bin 0 -> 2461 bytes .../simple-03/test-results/fracture-ours.png | Bin 0 -> 2446 bytes .../simple-03/test-results/fracture-ours.svg | 1 + .../simple-03/test-results/fracture.png | Bin 0 -> 2459 bytes .../test-results/intersection-ours.png | Bin 0 -> 1343 bytes .../test-results/intersection-ours.svg | 1 + .../simple-03/test-results/intersection.png | Bin 0 -> 1343 bytes .../simple-03/test-results/union-ours.png | Bin 0 -> 1751 bytes .../simple-03/test-results/union-ours.svg | 1 + .../simple-03/test-results/union.png | Bin 0 -> 1751 bytes .../test-results/difference-ours.png | Bin 0 -> 1415 bytes .../test-results/difference-ours.svg | 1 + .../simple-04/test-results/difference.png | Bin 0 -> 1415 bytes .../simple-04/test-results/division-ours.png | Bin 0 -> 1533 bytes .../simple-04/test-results/division-ours.svg | 1 + .../simple-04/test-results/division.png | Bin 0 -> 1533 bytes .../simple-04/test-results/exclusion-ours.png | Bin 0 -> 2155 bytes .../simple-04/test-results/exclusion-ours.svg | 1 + .../simple-04/test-results/exclusion.png | Bin 0 -> 2155 bytes .../simple-04/test-results/fracture-ours.png | Bin 0 -> 2129 bytes .../simple-04/test-results/fracture-ours.svg | 1 + .../simple-04/test-results/fracture.png | Bin 0 -> 2131 bytes .../test-results/intersection-ours.png | Bin 0 -> 761 bytes .../test-results/intersection-ours.svg | 1 + .../simple-04/test-results/intersection.png | Bin 0 -> 761 bytes .../simple-04/test-results/union-ours.png | Bin 0 -> 1861 bytes .../simple-04/test-results/union-ours.svg | 1 + .../simple-04/test-results/union.png | Bin 0 -> 1861 bytes .../test-results/difference-ours.png | Bin 0 -> 1157 bytes .../test-results/difference-ours.svg | 1 + .../simple-05/test-results/difference.png | Bin 0 -> 1157 bytes .../simple-05/test-results/division-ours.png | Bin 0 -> 1226 bytes .../simple-05/test-results/division-ours.svg | 1 + .../simple-05/test-results/division.png | Bin 0 -> 1225 bytes .../simple-05/test-results/exclusion-ours.png | Bin 0 -> 1693 bytes .../simple-05/test-results/exclusion-ours.svg | 1 + .../simple-05/test-results/exclusion.png | Bin 0 -> 1693 bytes .../simple-05/test-results/fracture-ours.png | Bin 0 -> 1691 bytes .../simple-05/test-results/fracture-ours.svg | 1 + .../simple-05/test-results/fracture.png | Bin 0 -> 1691 bytes .../test-results/intersection-ours.png | Bin 0 -> 757 bytes .../test-results/intersection-ours.svg | 1 + .../simple-05/test-results/intersection.png | Bin 0 -> 757 bytes .../simple-05/test-results/union-ours.png | Bin 0 -> 1355 bytes .../simple-05/test-results/union-ours.svg | 1 + .../simple-05/test-results/union.png | Bin 0 -> 1355 bytes .../test-results/difference-ours.png | Bin 0 -> 727 bytes .../test-results/difference-ours.svg | 1 + .../simple-06/test-results/difference.png | Bin 0 -> 727 bytes .../simple-06/test-results/division-ours.png | Bin 0 -> 727 bytes .../simple-06/test-results/division-ours.svg | 1 + .../simple-06/test-results/division.png | Bin 0 -> 727 bytes .../simple-06/test-results/exclusion-ours.png | Bin 0 -> 1300 bytes .../simple-06/test-results/exclusion-ours.svg | 1 + .../simple-06/test-results/exclusion.png | Bin 0 -> 1300 bytes .../simple-06/test-results/fracture-ours.png | Bin 0 -> 1300 bytes .../simple-06/test-results/fracture-ours.svg | 1 + .../simple-06/test-results/fracture.png | Bin 0 -> 1300 bytes .../test-results/intersection-ours.png | Bin 0 -> 279 bytes .../test-results/intersection-ours.svg | 1 + .../simple-06/test-results/intersection.png | Bin 0 -> 279 bytes .../simple-06/test-results/union-ours.png | Bin 0 -> 1300 bytes .../simple-06/test-results/union-ours.svg | 1 + .../simple-06/test-results/union.png | Bin 0 -> 1300 bytes .../test-results/difference-ours.png | Bin 0 -> 733 bytes .../test-results/difference-ours.svg | 1 + .../simple-07/test-results/difference.png | Bin 0 -> 733 bytes .../simple-07/test-results/division-ours.png | Bin 0 -> 1062 bytes .../simple-07/test-results/division-ours.svg | 1 + .../simple-07/test-results/division.png | Bin 0 -> 1056 bytes .../simple-07/test-results/exclusion-ours.png | Bin 0 -> 1163 bytes .../simple-07/test-results/exclusion-ours.svg | 1 + .../simple-07/test-results/exclusion.png | Bin 0 -> 1163 bytes .../simple-07/test-results/fracture-ours.png | Bin 0 -> 1294 bytes .../simple-07/test-results/fracture-ours.svg | 1 + .../simple-07/test-results/fracture.png | Bin 0 -> 1272 bytes .../test-results/intersection-ours.png | Bin 0 -> 893 bytes .../test-results/intersection-ours.svg | 1 + .../simple-07/test-results/intersection.png | Bin 0 -> 893 bytes .../simple-07/test-results/union-ours.png | Bin 0 -> 1075 bytes .../simple-07/test-results/union-ours.svg | 1 + .../simple-07/test-results/union.png | Bin 0 -> 1075 bytes .../test-results/difference-ours.png | Bin 0 -> 1175 bytes .../test-results/difference-ours.svg | 1 + .../simple-08/test-results/difference.png | Bin 0 -> 1175 bytes .../simple-08/test-results/division-ours.png | Bin 0 -> 1211 bytes .../simple-08/test-results/division-ours.svg | 1 + .../simple-08/test-results/division.png | Bin 0 -> 1211 bytes .../simple-08/test-results/exclusion-ours.png | Bin 0 -> 1858 bytes .../simple-08/test-results/exclusion-ours.svg | 1 + .../simple-08/test-results/exclusion.png | Bin 0 -> 1858 bytes .../simple-08/test-results/fracture-ours.png | Bin 0 -> 1834 bytes .../simple-08/test-results/fracture-ours.svg | 1 + .../simple-08/test-results/fracture.png | Bin 0 -> 1831 bytes .../test-results/intersection-ours.png | Bin 0 -> 947 bytes .../test-results/intersection-ours.svg | 1 + .../simple-08/test-results/intersection.png | Bin 0 -> 947 bytes .../simple-08/test-results/union-ours.png | Bin 0 -> 1309 bytes .../simple-08/test-results/union-ours.svg | 1 + .../simple-08/test-results/union.png | Bin 0 -> 1309 bytes node-graph/graph-craft/src/document.rs | 38 +++++----- node-graph/interpreted-executor/src/lib.rs | 4 +- node-graph/interpreted-executor/src/util.rs | 18 +++-- node-graph/preprocessor/src/lib.rs | 4 +- 358 files changed, 216 insertions(+), 85 deletions(-) create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-01/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-02/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-03/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/dangling-04/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-01/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-02/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-03/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/nesting-04/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-01/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-02/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/real-03/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-01/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-02/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-03/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-04/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-05/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-06/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-07/test-results/union.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/difference-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/difference-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/difference.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/division-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/division-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/division.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/exclusion.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/fracture-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/fracture-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/fracture.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/intersection-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/intersection-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/intersection.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/union-ours.png create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/union-ours.svg create mode 100644 libraries/path-bool/visual-tests/simple-08/test-results/union.png diff --git a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs index 4620efed78..726d58ee4d 100644 --- a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs +++ b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs @@ -200,7 +200,7 @@ impl MessageHandler> for const LAYER_SECONDARY_INPUT_INDEX: usize = 1; responses.add(NodeGraphMessage::SetInput { input_connector: InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), - input: NodeInput::node(first_new_node_id, 0), + input: NodeInput::node(first_new_node_id, NodeInput::PRIMARY_OUTPUT_INDEX), }); } // Move the layer and all nodes to the correct position in the network @@ -260,10 +260,10 @@ impl MessageHandler> for artboard_data.insert( artboard.to_node(), ArtboardInfo { - input_node: NodeInput::node(document_node.inputs[ARTBOARD_CONTENT_INDEX].as_node().unwrap_or_default(), 0), + input_node: NodeInput::node(document_node.inputs[ARTBOARD_CONTENT_INDEX].as_node().unwrap_or_default(), NodeInput::PRIMARY_OUTPUT_INDEX), output_nodes: network_interface .outward_wires(&[]) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(artboard.to_node(), 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(artboard.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX))) .cloned() .unwrap_or_default(), merge_node: node_id, @@ -290,12 +290,12 @@ impl MessageHandler> for const MERGE_CONTENT_INDEX: usize = 1; responses.add(NodeGraphMessage::SetInput { input_connector: InputConnector::node(artboard.1.merge_node, MERGE_CONTENT_INDEX), - input: NodeInput::node(artboard.1.input_node.as_node().unwrap_or_default(), 0), + input: NodeInput::node(artboard.1.input_node.as_node().unwrap_or_default(), NodeInput::PRIMARY_OUTPUT_INDEX), }); // Modify upstream connections for outward_wire in &artboard.1.output_nodes { - let input = NodeInput::node(artboard_data[artboard.0].merge_node, 0); + let input = NodeInput::node(artboard_data[artboard.0].merge_node, NodeInput::PRIMARY_OUTPUT_INDEX); let input_connector = match artboard_data.get(&outward_wire.node_id().unwrap_or_default()) { Some(artboard_info) => InputConnector::node(artboard_info.merge_node, outward_wire.input_index()), _ => *outward_wire, diff --git a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs index 29e664be69..e3abf494da 100644 --- a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs +++ b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs @@ -92,7 +92,7 @@ impl<'a> ModifyInputsContext<'a> { current_index += 1; } // Input as a sibling to the Layer node above - post_node_input_connector = InputConnector::node(*next_node_in_stack_id, 0); + post_node_input_connector = InputConnector::node(*next_node_in_stack_id, InputConnector::PRIMARY_INPUT_INDEX); } else { log::error!("Error getting post node: insert_index out of bounds"); break; @@ -108,7 +108,7 @@ impl<'a> ModifyInputsContext<'a> { match pre_node_output_connector { Some(OutputConnector::Node { node_id: pre_node_id, .. }) if !network_interface.is_layer(&pre_node_id, &[]) => { // Update post_node_input_connector for the next iteration - post_node_input_connector = InputConnector::node(pre_node_id, 0); + post_node_input_connector = InputConnector::node(pre_node_id, InputConnector::PRIMARY_INPUT_INDEX); // Insert directly under layer if moving to the end of a layer stack that ends with a non layer node that does not have an exposed primary input let primary_is_exposed = network_interface.input_from_connector(&post_node_input_connector, &[]).is_some_and(|input| input.is_exposed()); if !primary_is_exposed { diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs index 34e8a0eba8..68a815a47b 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs @@ -223,8 +223,8 @@ impl<'a> MessageHandler> for NodeG x: (mid_point.x / 24.) as i32, y: (mid_point.y / 24.) as i32, }); - let node_input_connector = InputConnector::node(node_id, 0); - let node_output_connector = OutputConnector::node(node_id, 0); + let node_input_connector = InputConnector::node(node_id, InputConnector::PRIMARY_INPUT_INDEX); + let node_output_connector = OutputConnector::node(node_id, OutputConnector::PRIMARY_OUTPUT_INDEX); responses.add(NodeGraphMessage::CreateWire { output_connector, input_connector: node_input_connector, @@ -473,7 +473,7 @@ impl<'a> MessageHandler> for NodeG return; }; - let encapsulating_connector = InputConnector::node(*node_id, 0); + let encapsulating_connector = InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX); if !exposed { network_interface.disconnect_input(&encapsulating_connector, network_path); } @@ -527,7 +527,7 @@ impl<'a> MessageHandler> for NodeG log::error!("Could not get outward wires in remove_import"); return; }; - let Some(downstream_connections) = outward_wires.get(&OutputConnector::node(*encapsulating_node, 0)).cloned() else { + let Some(downstream_connections) = outward_wires.get(&OutputConnector::node(*encapsulating_node, OutputConnector::PRIMARY_OUTPUT_INDEX)).cloned() else { log::error!("Could not get outward wires for import in remove_import"); return; }; @@ -1338,7 +1338,7 @@ impl<'a> MessageHandler> for NodeG let selected_node_id = selected_nodes.selected_nodes_ref()[0]; let has_primary_output_connection = network_interface .outward_wires(selection_network_path) - .is_some_and(|outward_wires| outward_wires.get(&OutputConnector::node(selected_node_id, 0)).is_some_and(|outward_wires| !outward_wires.is_empty())); + .is_some_and(|outward_wires| outward_wires.get(&OutputConnector::node(selected_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)).is_some_and(|outward_wires| !outward_wires.is_empty())); if !has_primary_output_connection { let Some(network) = network_interface.nested_network(selection_network_path) else { return; @@ -1532,13 +1532,13 @@ impl<'a> MessageHandler> for NodeG } let number_of_outputs = network_interface.number_of_outputs(selected_node, selection_network_path); - let mut first_deselected_upstream_output = network_interface.upstream_output_connector(&InputConnector::node(*selected_node, 0), selection_network_path); + let mut first_deselected_upstream_output = network_interface.upstream_output_connector(&InputConnector::node(*selected_node, InputConnector::PRIMARY_INPUT_INDEX), selection_network_path); while let Some(OutputConnector::Node { node_id, .. }) = &first_deselected_upstream_output { if !all_selected_nodes.contains(node_id) { break; } - first_deselected_upstream_output = network_interface.upstream_output_connector(&InputConnector::node(*node_id, 0), selection_network_path); + first_deselected_upstream_output = network_interface.upstream_output_connector(&InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX), selection_network_path); } let Some(outward_wires) = network_interface.outward_wires(selection_network_path) else { @@ -1561,7 +1561,7 @@ impl<'a> MessageHandler> for NodeG // Handle reconnection // Find first non selected upstream node by primary flow if let Some(first_deselected_upstream_output) = first_deselected_upstream_output { - let Some(downstream_connections_to_first_output) = outward_wires.get(&OutputConnector::node(*selected_node, 0)).cloned() else { + let Some(downstream_connections_to_first_output) = outward_wires.get(&OutputConnector::node(*selected_node, OutputConnector::PRIMARY_OUTPUT_INDEX)).cloned() else { log::error!("Could not get downstream_connections_to_first_output in shake node"); return; }; @@ -2590,7 +2590,7 @@ impl NodeGraphMessageHandler { }; let mut nodes = Vec::new(); for (node_id, visible) in network.nodes.iter().map(|(node_id, node)| (*node_id, node.visible)).collect::>() { - let primary_input_connector = InputConnector::node(node_id, 0); + let primary_input_connector = InputConnector::node(node_id, InputConnector::PRIMARY_INPUT_INDEX); let primary_input = if network_interface .input_from_connector(&primary_input_connector, breadcrumb_network_path) @@ -2604,7 +2604,7 @@ impl NodeGraphMessageHandler { .filter_map(|input_index| network_interface.frontend_input_from_connector(&InputConnector::node(node_id, input_index), breadcrumb_network_path)) .collect(); - let primary_output = network_interface.frontend_output_from_connector(&OutputConnector::node(node_id, 0), breadcrumb_network_path); + let primary_output = network_interface.frontend_output_from_connector(&OutputConnector::node(node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), breadcrumb_network_path); let exposed_outputs = (1..network_interface.number_of_outputs(&node_id, breadcrumb_network_path)) .filter_map(|output_index| network_interface.frontend_output_from_connector(&OutputConnector::node(node_id, output_index), breadcrumb_network_path)) diff --git a/editor/src/messages/portfolio/document/utility_types/network_interface.rs b/editor/src/messages/portfolio/document/utility_types/network_interface.rs index 212a31cd8c..ef451271b4 100644 --- a/editor/src/messages/portfolio/document/utility_types/network_interface.rs +++ b/editor/src/messages/portfolio/document/utility_types/network_interface.rs @@ -216,7 +216,7 @@ impl NodeNetworkInterface { pub fn downstream_layer_for_chain_node(&mut self, node_id: &NodeId, network_path: &[NodeId]) -> Option { let mut id = *node_id; while !self.is_layer(&id, network_path) { - id = self.outward_wires(network_path)?.get(&OutputConnector::node(id, 0))?.first()?.node_id()?; + id = self.outward_wires(network_path)?.get(&OutputConnector::node(id, OutputConnector::PRIMARY_OUTPUT_INDEX))?.first()?.node_id()?; } Some(id) } @@ -229,7 +229,7 @@ impl NodeNetworkInterface { if self.is_layer(¤t_node, network_path) { layers.push(current_node); } else { - let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(current_node, 0))) else { + let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(current_node, OutputConnector::PRIMARY_OUTPUT_INDEX))) else { log::error!("Could not get outward wires in downstream_layer"); return Vec::new(); }; @@ -370,7 +370,7 @@ impl NodeNetworkInterface { return None; }; // TODO: Get downstream connections from all outputs - let mut downstream_connections = outward_wires.get(&OutputConnector::node(*node_id, 0)).map_or([].iter(), |outputs| outputs.iter()); + let mut downstream_connections = outward_wires.get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)).map_or([].iter(), |outputs| outputs.iter()); let has_selected_node_downstream = downstream_connections.any(|input_connector| input_connector.node_id().is_some_and(|upstream_id| new_ids.keys().any(|key| *key == upstream_id))); // If the copied node does not have a downstream connection to another copied node, then set the position to absolute if !has_selected_node_downstream { @@ -1066,7 +1066,7 @@ impl NodeNetworkInterface { log::error!("Could not get outward_wires in primary_output_connected_to_layer"); return false; }; - let Some(downstream_connectors) = outward_wires.get(&OutputConnector::node(*node_id, 0)) else { + let Some(downstream_connectors) = outward_wires.get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)) else { log::error!("Could not get downstream_connectors in primary_output_connected_to_layer"); return false; }; @@ -1079,7 +1079,7 @@ impl NodeNetworkInterface { } pub fn primary_input_connected_to_layer(&mut self, node_id: &NodeId, network_path: &[NodeId]) -> bool { - self.input_from_connector(&InputConnector::node(*node_id, 0), network_path) + self.input_from_connector(&InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX), network_path) .and_then(|input| input.as_node()) .is_some_and(|node_id| self.is_layer(&node_id, network_path)) } @@ -1103,7 +1103,7 @@ impl NodeNetworkInterface { let Some((encapsulating_node_id, encapsulating_path)) = network_path.split_last() else { return false; }; - self.input_from_connector(&InputConnector::node(*encapsulating_node_id, 0), encapsulating_path) + self.input_from_connector(&InputConnector::node(*encapsulating_node_id, InputConnector::PRIMARY_INPUT_INDEX), encapsulating_path) .is_some_and(|input| !input.is_exposed()) } @@ -1616,7 +1616,7 @@ impl NodeNetworkInterface { log::error!("Cannot load outward wires in load_stack_dependents"); return; }; - let Some(layer_outward_wires) = outward_wires.get(&OutputConnector::node(current_node, 0)) else { + let Some(layer_outward_wires) = outward_wires.get(&OutputConnector::node(current_node, OutputConnector::PRIMARY_OUTPUT_INDEX)) else { log::error!("Could not get outward_wires for layer {current_node}"); break; }; @@ -2613,7 +2613,7 @@ impl NodeNetworkInterface { LayerPosition::Stack(y_offset) => { let Some(downstream_node_connectors) = self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .cloned() else { log::error!("Could not get downstream node in position_from_downstream_node"); @@ -2648,7 +2648,7 @@ impl NodeNetworkInterface { // TODO: Use root node to restore if previewing let Some(downstream_node_connectors) = self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(current_node_id, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(current_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .cloned() else { log::error!("Could not get downstream node for node {node_id} with Position::Chain"); @@ -3985,7 +3985,7 @@ impl NodeNetworkInterface { // If the layer feeds into the bottom input of layer, and has no other outputs, set its position to stack at its previous y position let multiple_outward_wires = self .outward_wires(network_path) - .and_then(|all_outward_wires| all_outward_wires.get(&OutputConnector::node(*upstream_node_id, 0))) + .and_then(|all_outward_wires| all_outward_wires.get(&OutputConnector::node(*upstream_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .is_some_and(|outward_wires| outward_wires.len() > 1); if *input_index == 0 && !multiple_outward_wires { self.set_stack_position_calculated_offset(upstream_node_id, downstream_node_id, network_path); @@ -4026,7 +4026,7 @@ impl NodeNetworkInterface { let old_upstream_node_is_layer = self.is_layer(&old_upstream_node_id, network_path); let Some(outward_wires) = self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(old_upstream_node_id, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(old_upstream_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) else { log::error!("Could not get outward wires in set_input"); return; @@ -4347,7 +4347,7 @@ impl NodeNetworkInterface { && let Some(reconnect_input) = &reconnect_to_input { reconnect_node = reconnect_input.as_node().and_then(|node_id| if self.is_stack(&node_id, network_path) { Some(node_id) } else { None }); - self.disconnect_input(&InputConnector::node(*node_id, 0), network_path); + self.disconnect_input(&InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX), network_path); self.set_input(downstream_input, reconnect_input.clone(), network_path); } } @@ -4561,7 +4561,7 @@ impl NodeNetworkInterface { if self.is_layer(&upstream_sibling_id, network_path) && self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(upstream_sibling_id, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(upstream_sibling_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .is_some_and(|outward_wires| outward_wires.len() == 1) { self.set_stack_position_calculated_offset(&upstream_sibling_id, node_id, network_path); @@ -4582,7 +4582,7 @@ impl NodeNetworkInterface { .outward_wires(network_path) .and_then(|outward_wires| { outward_wires - .get(&OutputConnector::node(*node_id, 0)) + .get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)) .and_then(|outward_wires| (outward_wires.len() == 1).then(|| outward_wires[0])) .and_then(|downstream_connector| if downstream_connector.input_index() == 0 { downstream_connector.node_id() } else { None }) }) @@ -4673,7 +4673,7 @@ impl NodeNetworkInterface { } // The export is not clicked else { - new_export = Some(OutputConnector::node(toggle_id, 0)); + new_export = Some(OutputConnector::node(toggle_id, OutputConnector::PRIMARY_OUTPUT_INDEX)); // There is currently a dashed line being drawn if let Previewing::Yes { root_node_to_restore } = self.previewing(network_path) { @@ -4681,7 +4681,7 @@ impl NodeNetworkInterface { if let Some(root_node_to_restore) = root_node_to_restore { // If the node with the solid line is clicked, then start previewing that node without restore if root_node_to_restore.node_id == toggle_id { - new_export = Some(OutputConnector::node(toggle_id, 0)); + new_export = Some(OutputConnector::node(toggle_id, OutputConnector::PRIMARY_OUTPUT_INDEX)); new_previewing_state = Previewing::Yes { root_node_to_restore: None }; } else { // Root node to restore does not change @@ -4697,7 +4697,7 @@ impl NodeNetworkInterface { } // Not previewing, there is no dashed line being drawn else { - new_export = Some(OutputConnector::node(toggle_id, 0)); + new_export = Some(OutputConnector::node(toggle_id, OutputConnector::PRIMARY_OUTPUT_INDEX)); new_previewing_state = Previewing::Yes { root_node_to_restore: Some(RootNode { node_id: previous_export_id, @@ -4710,7 +4710,7 @@ impl NodeNetworkInterface { // The primary export is disconnected else { // Set node as export and cancel any preview - new_export = Some(OutputConnector::node(toggle_id, 0)); + new_export = Some(OutputConnector::node(toggle_id, OutputConnector::PRIMARY_OUTPUT_INDEX)); self.start_previewing_without_restore(network_path); } } @@ -4803,7 +4803,7 @@ impl NodeNetworkInterface { else { log::error!("Could not set chain position for layer node {node_id}"); } - // let previous_upstream_node = self.upstream_output_connector(&InputConnector::node(*node_id, 0), network_path).and_then(|output| output.node_id()); + // let previous_upstream_node = self.upstream_output_connector(&InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX), network_path).and_then(|output| output.node_id()); // let Some(previous_upstream_node_position) = previous_upstream_node.and_then(|upstream| self.position_from_downstream_node(&upstream, network_path)) else { // log::error!("Could not get previous_upstream_node_position"); // return; @@ -4863,7 +4863,7 @@ impl NodeNetworkInterface { if self.is_layer(&upstream_node, network_path) || self.hidden_primary_output(&upstream_node, network_path) { break; } - let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(upstream_node, 0))) else { + let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(upstream_node, OutputConnector::PRIMARY_OUTPUT_INDEX))) else { log::error!("Could not get outward wires in try_set_upstream_to_chain"); break; }; @@ -4910,7 +4910,7 @@ impl NodeNetworkInterface { break; }; downstream_layer = outward_wires - .get(&OutputConnector::node(downstream_layer_id, 0)) + .get(&OutputConnector::node(downstream_layer_id, OutputConnector::PRIMARY_OUTPUT_INDEX)) .and_then(|outward_wires| if outward_wires.len() == 1 { outward_wires[0].node_id() } else { None }); } else { break; @@ -4925,7 +4925,7 @@ impl NodeNetworkInterface { fn try_set_node_to_chain(&mut self, node_id: &NodeId, network_path: &[NodeId]) { if let Some(outward_wires) = self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .cloned() && outward_wires.len() == 1 { self.try_set_upstream_to_chain(&outward_wires[0], network_path) @@ -4937,7 +4937,7 @@ impl NodeNetworkInterface { if !self.is_layer(upstream_id, network_path) && self .outward_wires(network_path) - .is_some_and(|outward_wires| outward_wires.get(&OutputConnector::node(*upstream_id, 0)).is_some_and(|outward_wires| outward_wires.len() == 1)) + .is_some_and(|outward_wires| outward_wires.get(&OutputConnector::node(*upstream_id, OutputConnector::PRIMARY_OUTPUT_INDEX)).is_some_and(|outward_wires| outward_wires.len() == 1)) { self.set_chain_position(upstream_id, network_path); } @@ -5060,7 +5060,7 @@ impl NodeNetworkInterface { && let LayerPosition::Stack(offset) = layer_metadata.position { // If the upstream layer is selected, then skip - let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, 0))) else { + let Some(outward_wires) = self.outward_wires(network_path).and_then(|outward_wires| outward_wires.get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) else { log::error!("Could not get outward wires in shift_selected_nodes"); return; }; @@ -5113,7 +5113,7 @@ impl NodeNetworkInterface { } let Some(downstream_node) = self .outward_wires(network_path) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(downstream_absolute_layer, 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(downstream_absolute_layer, OutputConnector::PRIMARY_OUTPUT_INDEX))) .and_then(|downstream_nodes| downstream_nodes.first()) .and_then(|downstream_node| downstream_node.node_id()) else { @@ -5567,7 +5567,7 @@ impl NodeNetworkInterface { match post_node_input { // Create a new stack NodeInput::Value { .. } | NodeInput::Scope(_) | NodeInput::Inline(_) | NodeInput::Reflection(_) => { - self.create_wire(&OutputConnector::node(layer.to_node(), 0), &post_node, network_path); + self.create_wire(&OutputConnector::node(layer.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX), &post_node, network_path); let final_layer_position = after_move_post_layer_position + IVec2::new(-8, 3); let shift = final_layer_position - previous_layer_position; @@ -5595,7 +5595,7 @@ impl NodeNetworkInterface { NodeInput::Value { .. } | NodeInput::Scope(_) | NodeInput::Inline(_) | NodeInput::Reflection(_) => { let offset = after_move_post_layer_position - previous_layer_position + IVec2::new(0, 3 + height_above_layer); self.shift_absolute_node_position(&layer.to_node(), offset, network_path); - self.create_wire(&OutputConnector::node(layer.to_node(), 0), &post_node, network_path); + self.create_wire(&OutputConnector::node(layer.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX), &post_node, network_path); } // Insert into the stack NodeInput::Node { .. } => { @@ -5614,7 +5614,7 @@ impl NodeNetworkInterface { self.insert_node_between(&layer.to_node(), &post_node, 0, network_path); // Get the other wires which need to be moved to the output of the moved layer - let layer_input_connector = InputConnector::node(layer.to_node(), 0); + let layer_input_connector = InputConnector::node(layer.to_node(), InputConnector::PRIMARY_INPUT_INDEX); let other_outward_wires = self .upstream_output_connector(&layer_input_connector, network_path) .and_then(|pre_node_output| self.outward_wires(network_path).and_then(|wires| wires.get(&pre_node_output))) @@ -5630,7 +5630,7 @@ impl NodeNetworkInterface { // Disconnect and reconnect for other_outward_wire in &other_outward_wires { self.disconnect_input(other_outward_wire, network_path); - self.create_wire(&OutputConnector::node(layer.to_node(), 0), other_outward_wire, network_path); + self.create_wire(&OutputConnector::node(layer.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX), other_outward_wire, network_path); } } self.unload_upstream_node_click_targets(vec![layer.to_node()], network_path); @@ -5652,7 +5652,7 @@ impl NodeNetworkInterface { self.disconnect_input(input_connector, network_path); // Connect the input connector to the new node - self.create_wire(&OutputConnector::node(*node_id, 0), input_connector, network_path); + self.create_wire(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), input_connector, network_path); // Connect the new node to the previous node self.create_wire(&upstream_output, &InputConnector::node(*node_id, insert_node_input_index), network_path); @@ -5666,7 +5666,7 @@ impl NodeNetworkInterface { return; }; if matches!(current_input, NodeInput::Value { .. }) { - self.create_wire(&OutputConnector::node(*node_id, 0), &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path); + self.create_wire(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path); self.set_chain_position(node_id, network_path); } else { // Insert the node in the gap and set the upstream to a chain @@ -5758,6 +5758,8 @@ impl Default for InputConnector { } impl InputConnector { + pub const PRIMARY_INPUT_INDEX: usize = 0; + pub fn node(node_id: NodeId, input_index: usize) -> Self { InputConnector::Node { node_id, input_index } } @@ -5799,6 +5801,8 @@ impl Default for OutputConnector { } impl OutputConnector { + pub const PRIMARY_OUTPUT_INDEX: usize = 0; + pub fn node(node_id: NodeId, output_index: usize) -> Self { OutputConnector::Node { node_id, output_index } } diff --git a/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs b/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs index e7d724d76b..c2e1646579 100644 --- a/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs +++ b/editor/src/messages/portfolio/document/utility_types/network_interface/resolved_types.rs @@ -287,7 +287,7 @@ impl NodeNetworkInterface { log::error!("Protonode {proto_node_identifier:?} not found in registry in complete_valid_input_types"); return Vec::new(); }; - let valid_output_types = self.valid_output_types(&OutputConnector::node(*node_id, 0), network_path); + let valid_output_types = self.valid_output_types(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), network_path); implementations .iter() diff --git a/editor/src/messages/portfolio/portfolio_message_handler.rs b/editor/src/messages/portfolio/portfolio_message_handler.rs index dbc9c2d182..71a2675636 100644 --- a/editor/src/messages/portfolio/portfolio_message_handler.rs +++ b/editor/src/messages/portfolio/portfolio_message_handler.rs @@ -612,7 +612,7 @@ impl MessageHandler> for Portfolio let Some((downstream_node, input_index)) = document .network_interface .outward_wires(&[]) - .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(layer.to_node(), 0))) + .and_then(|outward_wires| outward_wires.get(&OutputConnector::node(layer.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX))) .and_then(|outward_wires| outward_wires.first()) .and_then(|input_connector| input_connector.node_id().map(|node_id| (node_id, input_connector.input_index()))) else { diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs index b09817600a..daf91a0cba 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs @@ -14,6 +14,7 @@ use crate::messages::tool::common_functionality::shapes::shape_utility::{extract use glam::DVec2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; +use graphene_std::NodeInputDecleration; use graphene_std::vector::generator_nodes::star::*; use std::collections::VecDeque; use std::f64::consts::{FRAC_1_SQRT_2, FRAC_PI_4, PI, SQRT_2}; diff --git a/editor/src/messages/tool/common_functionality/utility_functions.rs b/editor/src/messages/tool/common_functionality/utility_functions.rs index e8d4293721..accf27dc96 100644 --- a/editor/src/messages/tool/common_functionality/utility_functions.rs +++ b/editor/src/messages/tool/common_functionality/utility_functions.rs @@ -575,7 +575,7 @@ pub fn make_path_editable_is_allowed(network_interface: &mut NodeNetworkInterfac // Must be a layer of type Table let node_id = NodeGraphLayer::new(first_layer, network_interface).horizontal_layer_flow().nth(1)?; - let output_type = network_interface.output_type(&OutputConnector::node(node_id, 0), &[]); + let output_type = network_interface.output_type(&OutputConnector::node(node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), &[]); if output_type.compiled_nested_type() != Some(&concrete!(Table)) { return None; } diff --git a/editor/src/messages/tool/tool_messages/spline_tool.rs b/editor/src/messages/tool/tool_messages/spline_tool.rs index 62e9b8e600..6cc9e5ad07 100644 --- a/editor/src/messages/tool/tool_messages/spline_tool.rs +++ b/editor/src/messages/tool/tool_messages/spline_tool.rs @@ -396,7 +396,7 @@ impl Fsm for SplineToolFsmState { let path_node_type = resolve_network_node_type("Path").expect("Path node does not exist"); let path_node = path_node_type.default_node_template(); let spline_node_type = resolve_proto_node_type(graphene_std::vector::spline::IDENTIFIER).expect("Spline node does not exist"); - let spline_node = spline_node_type.node_template_input_override([Some(NodeInput::node(NodeId(1), 0))]); + let spline_node = spline_node_type.node_template_input_override([Some(NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX))]); let nodes = vec![(NodeId(1), path_node), (NodeId(0), spline_node)]; let layer = graph_modification_utils::new_custom(NodeId::new(), nodes, parent, responses); diff --git a/editor/src/messages/tool/tool_messages/text_tool.rs b/editor/src/messages/tool/tool_messages/text_tool.rs index c5471f0bff..01c7d1508d 100644 --- a/editor/src/messages/tool/tool_messages/text_tool.rs +++ b/editor/src/messages/tool/tool_messages/text_tool.rs @@ -465,7 +465,10 @@ impl TextToolData { responses.add(NodeGraphMessage::SelectedNodesSet { nodes: vec![self.layer.to_node()] }); // Make the rendered text invisible while editing responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(graph_modification_utils::get_text_id(self.layer, &document.network_interface).unwrap(), 1), + input_connector: InputConnector::node( + graph_modification_utils::get_text_id(self.layer, &document.network_interface).unwrap(), + graphene_std::text::text::TextInput::INDEX, + ), input: NodeInput::value(TaggedValue::String("".to_string()), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); @@ -945,7 +948,10 @@ impl Fsm for TextToolFsmState { tool_data.set_editing(false, font_cache, responses); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(graph_modification_utils::get_text_id(tool_data.layer, &document.network_interface).unwrap(), 1), + input_connector: InputConnector::node( + graph_modification_utils::get_text_id(tool_data.layer, &document.network_interface).unwrap(), + graphene_std::text::text::TextInput::INDEX, + ), input: NodeInput::value(TaggedValue::String(tool_data.new_text.clone()), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/node_graph_executor.rs b/editor/src/node_graph_executor.rs index aa63da4076..56d2d3d053 100644 --- a/editor/src/node_graph_executor.rs +++ b/editor/src/node_graph_executor.rs @@ -564,7 +564,7 @@ mod test { let mut monitor_node_ids = Vec::with_capacity(node.inputs.len()); for input in &mut node.inputs { let node_id = NodeId::new(); - let old_input = std::mem::replace(input, NodeInput::node(node_id, 0)); + let old_input = std::mem::replace(input, NodeInput::node(node_id, NodeInput::PRIMARY_OUTPUT_INDEX)); monitor_nodes.push((old_input, node_id)); path.push(node_id); monitor_node_ids.push(path.clone()); diff --git a/editor/src/node_graph_executor/runtime.rs b/editor/src/node_graph_executor/runtime.rs index 26102cda07..68c501823d 100644 --- a/editor/src/node_graph_executor/runtime.rs +++ b/editor/src/node_graph_executor/runtime.rs @@ -648,7 +648,7 @@ impl InspectState { } let monitor_node = DocumentNode { - inputs: vec![NodeInput::node(inspect_node, 0)], // Connect to the primary output of the inspect node + inputs: vec![NodeInput::node(inspect_node, NodeInput::PRIMARY_OUTPUT_INDEX)], // Connect to the primary output of the inspect node implementation: DocumentNodeImplementation::ProtoNode(graphene_std::memo::monitor::IDENTIFIER), call_argument: graph_craft::generic!(T), skip_deduplication: true, diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.png b/libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9682729c090aea64d890dfebcc5777a14e622a GIT binary patch literal 845 zcmZ{jT};zZ6vtZ%-2$ue0pr|c5~B~IZbTS@XVYGIS%)I32`feV5x=qTgxc)JHW0l+u!kYN@@yUe)i(_@jW%Y zhSC1N>*yt0$8M)>P1e$I{M5j))3>Y}>)tpcth!zLa7UQjIZm(5kldy5vCBh}u}o}o z{1<&ERn!X3lRMf2dcY)K)jGruH*ya146b>R(w`z^^P50@)GnL4`EwQLuzW(i<^hOY zACd(EgrJui=j+}VqxHY`f+kGoV|{fPi^;W%NEK99mXY`TcyLz9 zzXq-Gz-UqskEQiyev3d+Ax&nRw^&-u-Jb)bELNv=Cz|y9h~T{$5zguxgdTGsG!{B( zW}Ph%m;a!FIZ< z(ssC0G9^kLva7b)AVy1@$$l!XRhqfUvp~#h-!91Z+Fxk@S zm0Z){HxHQM?bgT9frQ{}J#0!ym|(JbA5du&xyslg@k9wFiYn?_CB;7k6;WrFEU1hf zswQ*!%XR6Gp>maJCjfoqsOu z!N#7r4kol*k=CV>gDh@Cndy4i4ko9en;y~f%RxbFAf2m)e#!;!R^|w)jveKc;0)#@ zm<0{ppMM0v43bB@A99%p{-xmE&U|UZ?1U**_kcw=t6>EbjjQ_sHx6;q6e#|)g? i!iMq|e*DMeO7fZ;E$M}3%R~50kis2B`Muk!&;15ZiM(w9 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.svg new file mode 100644 index 0000000000..fcbe297fb2 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-01/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/difference.png b/libraries/path-bool/visual-tests/dangling-01/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9682729c090aea64d890dfebcc5777a14e622a GIT binary patch literal 845 zcmZ{jT};zZ6vtZ%-2$ue0pr|c5~B~IZbTS@XVYGIS%)I32`feV5x=qTgxc)JHW0l+u!kYN@@yUe)i(_@jW%Y zhSC1N>*yt0$8M)>P1e$I{M5j))3>Y}>)tpcth!zLa7UQjIZm(5kldy5vCBh}u}o}o z{1<&ERn!X3lRMf2dcY)K)jGruH*ya146b>R(w`z^^P50@)GnL4`EwQLuzW(i<^hOY zACd(EgrJui=j+}VqxHY`f+kGoV|{fPi^;W%NEK99mXY`TcyLz9 zzXq-Gz-UqskEQiyev3d+Ax&nRw^&-u-Jb)bELNv=Cz|y9h~T{$5zguxgdTGsG!{B( zW}Ph%m;a!FIZ< z(ssC0G9^kLva7b)AVy1@$$l!XRhqfUvp~#h-!91Z+Fxk@S zm0Z){HxHQM?bgT9frQ{}J#0!ym|(JbA5du&xyslg@k9wFiYn?_CB;7k6;WrFEU1hf zswQ*!%XR6Gp>maJCjfoqsOu z!N#7r4kol*k=CV>gDh@Cndy4i4ko9en;y~f%RxbFAf2m)e#!;!R^|w)jveKc;0)#@ zm<0{ppMM0v43bB@A99%p{-xmE&U|UZ?1U**_kcw=t6>EbjjQ_sHx6;q6e#|)g? i!iMq|e*DMeO7fZ;E$M}3%R~50kis2B`Muk!&;15ZiM(w9 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.png b/libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..7d802d273f3cdc3a24c114c6520e1989ee31b587 GIT binary patch literal 901 zcmZ{jZ%i9?7{~88xRREV?!|QBPn(#%aX7l@fUzAbb1=jy=t3X{p-mPgSV{%5aV3ts zLJS)^`f5}m(nS)t#B`@288fuKV;j~Cx(gbujM4rm0b(||YfsW^IC>stFEx4oy!a;1 zpFE%E+Iw|1T6LZpf*@_}TU8g7d~DydQ6)BIq=p~}d8fAOOal&YG04rsAB_GSmwUIb z|FUqa`~1Z_w&lAoto_T0(YL9I*WY+$J9T;blfLhUPFa7a5_J9zdF8gmom(f$j>t3b zr=r&%$(;@9-pT)!wp#P>SHUc{>}9+R$D0Qq(T}^pB$-6@3!1wc={R4(*aeR&{_XB- zVA8n;1<7eenp#myC43n+W?;TdPX6T41bDRHk%{axoJcOU+~#5GQ#{dMA*N8*XOQ!}^C) z6^C%t?bq_ZNxM3Xa-$=rZ2Xv9>UnUG%fha1{vE;Q&kJ15y2D?>Gz)ei%y=ua0^e-z z{Q5%3I`Nne6*qOnrHZfG96GtbVIn*T>lf&dxo7Syo^Bm$bF`=TZevt4+_@h8*j+Rd zm$njyVPN{x+B0Vsq`eZh`x;?7!ai#x>5XVxNJuVY^Jb+h@9WP4ZQ``U1`hp@85rBV zRKzBhrQHJ<)dK8LV4N6tZ49%k<;szA*o3mf0gNzf`EsUM?lWi$kju^*zQce#?_S~{ zB19Wzh2#puJym~}BliWJQFH{ZhwC5?k&d&8B`H|xvlx$xwg*3Q8If_qPot4M9A#In zq-(>3e*W@vJ} zR`oG2XvFhFeu>(xvi+fsraUVn^P9-hC s>kOlj;mw^g#*Rey>G?_bAGnJ({;vlPn-k literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.svg b/libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.svg new file mode 100644 index 0000000000..167a3ee3f2 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-01/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/division.png b/libraries/path-bool/visual-tests/dangling-01/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..7d802d273f3cdc3a24c114c6520e1989ee31b587 GIT binary patch literal 901 zcmZ{jZ%i9?7{~88xRREV?!|QBPn(#%aX7l@fUzAbb1=jy=t3X{p-mPgSV{%5aV3ts zLJS)^`f5}m(nS)t#B`@288fuKV;j~Cx(gbujM4rm0b(||YfsW^IC>stFEx4oy!a;1 zpFE%E+Iw|1T6LZpf*@_}TU8g7d~DydQ6)BIq=p~}d8fAOOal&YG04rsAB_GSmwUIb z|FUqa`~1Z_w&lAoto_T0(YL9I*WY+$J9T;blfLhUPFa7a5_J9zdF8gmom(f$j>t3b zr=r&%$(;@9-pT)!wp#P>SHUc{>}9+R$D0Qq(T}^pB$-6@3!1wc={R4(*aeR&{_XB- zVA8n;1<7eenp#myC43n+W?;TdPX6T41bDRHk%{axoJcOU+~#5GQ#{dMA*N8*XOQ!}^C) z6^C%t?bq_ZNxM3Xa-$=rZ2Xv9>UnUG%fha1{vE;Q&kJ15y2D?>Gz)ei%y=ua0^e-z z{Q5%3I`Nne6*qOnrHZfG96GtbVIn*T>lf&dxo7Syo^Bm$bF`=TZevt4+_@h8*j+Rd zm$njyVPN{x+B0Vsq`eZh`x;?7!ai#x>5XVxNJuVY^Jb+h@9WP4ZQ``U1`hp@85rBV zRKzBhrQHJ<)dK8LV4N6tZ49%k<;szA*o3mf0gNzf`EsUM?lWi$kju^*zQce#?_S~{ zB19Wzh2#puJym~}BliWJQFH{ZhwC5?k&d&8B`H|xvlx$xwg*3Q8If_qPot4M9A#In zq-(>3e*W@vJ} zR`oG2XvFhFeu>(xvi+fsraUVn^P9-hC s>kOlj;mw^g#*Rey>G?_bAGnJ({;vlPn-k literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5e65b5d427897ba4497f2333154bebc9bebb55 GIT binary patch literal 1082 zcmZ`(eM}o=7{B)5N?J~)2{Kw3+2S9Yn`OH4A$G+NCNdIGLtF^6#VmwiE$y~!9NVOK zGz1KSi3uZd%hil1CJMK#8QpS)UXh5>K{E_HJ7hgZxVo%x*ES1nI9p$ce`@l6B=7Hi zp6B;G@9%lPc)zY1RjQQ`1fezWRecEdqdPMT0qZGwvKN9fWHnW9HDIz02LAS?#;d|%NWiUGWC1Q7jo^WgxU_LOZ)ORM{#%8A&w@7 z`4E4b2(9)!%rs~c>ePij#ecNI&I{QIGv||@Zpf{$R2sNgkT^IFPAH;PJmN(?Ikv;a z>X~>)0ajs?+&Igdta(@=N8OFQATBZ0@GM|qAvfH_7DCFhwE0F&!klW!2!u|-vmqsB zNm-1Fgju_-;d~5;hKdILD2t@jSTSSEPH2s~zOZn>COu&sNp`!P`}|HMpQ(lEof zoj1YmbHQV{z<2�!k)L>O`a7UmKr(-UH1h-NE(7_Vpy4%jJ8Ti|1V);C(3kta;Zp ztM>zgU9;{b7> zTv3XwL>I0lFI(_oK6Belu2Y?>StMHzOWEmC3N2W>HH-i|5RB!M%b8QXtx59^@!Kj1 zWja7=_d#mW>-(}jxl9uvo^#XRQVHH>C;zP_$O%Vc)Yg6GRqbU9M`II|e9-%%xTvQD zq)WZ$wEWREdwx$?pa?eDqX?-yCFzRu+yGI8JP;QdGn|7M_5w91;-AqB4Vk809u*+$ z2V$sIbuHT>G`_`~fVCSTeXhw;F?c$<4CGu7(>V9_>LlUhPdKpEN1B8d4d6f} nwc;UUYDaSC_y0#{M!)*xub=jhBo|2VCqOkP>Z-=yZtngE+yO<+ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..676429d9b4 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion.png b/libraries/path-bool/visual-tests/dangling-01/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5e65b5d427897ba4497f2333154bebc9bebb55 GIT binary patch literal 1082 zcmZ`(eM}o=7{B)5N?J~)2{Kw3+2S9Yn`OH4A$G+NCNdIGLtF^6#VmwiE$y~!9NVOK zGz1KSi3uZd%hil1CJMK#8QpS)UXh5>K{E_HJ7hgZxVo%x*ES1nI9p$ce`@l6B=7Hi zp6B;G@9%lPc)zY1RjQQ`1fezWRecEdqdPMT0qZGwvKN9fWHnW9HDIz02LAS?#;d|%NWiUGWC1Q7jo^WgxU_LOZ)ORM{#%8A&w@7 z`4E4b2(9)!%rs~c>ePij#ecNI&I{QIGv||@Zpf{$R2sNgkT^IFPAH;PJmN(?Ikv;a z>X~>)0ajs?+&Igdta(@=N8OFQATBZ0@GM|qAvfH_7DCFhwE0F&!klW!2!u|-vmqsB zNm-1Fgju_-;d~5;hKdILD2t@jSTSSEPH2s~zOZn>COu&sNp`!P`}|HMpQ(lEof zoj1YmbHQV{z<2�!k)L>O`a7UmKr(-UH1h-NE(7_Vpy4%jJ8Ti|1V);C(3kta;Zp ztM>zgU9;{b7> zTv3XwL>I0lFI(_oK6Belu2Y?>StMHzOWEmC3N2W>HH-i|5RB!M%b8QXtx59^@!Kj1 zWja7=_d#mW>-(}jxl9uvo^#XRQVHH>C;zP_$O%Vc)Yg6GRqbU9M`II|e9-%%xTvQD zq)WZ$wEWREdwx$?pa?eDqX?-yCFzRu+yGI8JP;QdGn|7M_5w91;-AqB4Vk809u*+$ z2V$sIbuHT>G`_`~fVCSTeXhw;F?c$<4CGu7(>V9_>LlUhPdKpEN1B8d4d6f} nwc;UUYDaSC_y0#{M!)*xub=jhBo|2VCqOkP>Z-=yZtngE+yO<+ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/dangling-01/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ee8cc5e0a6b889ab36e653db55515c50c54340 GIT binary patch literal 1080 zcmZ`(e@q)?7{2Slv9(kd6}uG}oBD^W%%Yaku@0uPA(G(K1ww>t6Sh<&&;kNiezbQW zc7o#%6KH};rzD~=v@B#RNtt&QVP*rGXtV-y{l-Fx;YY8lj&?hH9*ci!^8HAjC*S*h z@AE$2`_Z|wVyRdzh9F2<@>oNbZU^tFIkrwfk)u*<6x5X2NON1(FX9X*M6FQp3SFq zkxWVW`-~)u1plLkegknW^zW1l@f>i1Jvk)SiZqLN9%x>+uRlz5l-!EO^-h36c86_V6!Rdbc#u#l>ZQE zOULs~oSX0mbw(MU0bDTbLOECu_Mjz88g2xK2=K|BYa|uaon^VMToX4gP=R0zL7`94 zKa&B3=~FPajX#%Z9TG}BH~k;0pYT9m`@!PR9NA1E3_YM zgg&2IbD6!^@S{V=e4FLOJ2CgtdS8v!>H~#OdaV=wU>_BXJkL*%no(hV~I0uLlO zC_Da_Q1^_}g!u~#iW~KIS;m^~K0~*`(`vSw?upsAMMCLPqmS>4o&hqVBH{3SDkc4W z&+L9~^C+frNja4%8QdWKC?nP^Hb1BX9fSjISg-sJjlLVddlY;BCh0>9`edsCC{xO* y`4b2D_LRN%)q`;yvkHb~R|Ux(lJI|gS8GBZIdNpiGp7 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/fracture.png b/libraries/path-bool/visual-tests/dangling-01/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..2b741ccb258a2ed896e4aa7ccccdf9afd34a7948 GIT binary patch literal 1080 zcmZ`(eM}o=7{B(~E1}$2h)tDGXI$n64ko2ARtYoA4NZnRgs`z|BY)_q^utX!ko2xB z0R*OhjV|cgMWUFPQe(q9(ks2rDUMN^khr2qdqQZlAoNN_uH)=^UHns%_ak|J@B2LO z^ZPx|`|%rRPs5qHnE(L5^=Ind;`g%j%z*f{S(qFE0FbM%JK2Z|Hc9Z-^DU!4#<{Mo zYd_6TeDHePWXJODf5)W}>*#9^>r3U&Z6!Nh?LA)&oY4O4*!JdK=T^REW3R4bl}9-D zo5}FCIZoG@>KgxFXcNgr4^uwXvYoV(F=+1Qx9mIYyQf?kYU!`KW zM3FRpw?JZ&qL13h2GHRj-fH6g*#sg>RxDE`tXhy^Fbf-sIpv^yYXWzf4pVNkB@&KI znZp9nji^@6yiaMF;7LMbgL@wyqa0>Q!r_tSs@qdRUP$N@LDF6; zp1B#_nd5U&VWlu34{R?I22m+#Om%clzcU<-eL21Q452CYI|)T;zAw>JMqW+2lG;f$ zBM?4e{6U@Q^C+HNYP1IJfNNXtd?1@eQ&u1LLLaAb_+^+sv3su7I3oX}$-3TzR2>Oy zG~wPz_+8#!-Wp#dG??GXR-~OjzJ%L;PYcjS<}mHnU_opAR~6k*gb-&dJ z8Y=1Yd}R@70&5NTX^qChQ<2=$QC&K5O+V&YBlX}cJ^>uUgWy(VC=fZmDb#~RcJtGr zyrp$@Kk7ry)64yBVKGt3^qH33`=u z3%kMVUQL`aL8zV&S+J`9D-97!`XW!IWmBjIdu2>c26Kv%umj q%8nu!$SUa-z8`GT_iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VzN;UnLTF?7OtU$2B;D4dO|DAoz_N;r%&VRdo;PnUj<_GrY z3m8`wYpv7M1#De%88 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/intersection.png b/libraries/path-bool/visual-tests/dangling-01/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..23f575c9ac7ec4922bf50edaf8239aac29cec749 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fh2KmaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VzN;UnLTF?7OtU$2B;D4dO|DAoz_N;r%&VRdo;PnUj<_GrY z3m8`wYpv7M1#De%88y)c8Q#L=90wTMW>}+pyhh zOl!R26ZFAcYHSn}g+>i5rc1i0_!Y5Hqg9Z0)U?DP?9#@xm9={ZiJ)3TCXGu!EpI_FWbv$6%2J?iWEP@GsODl;b-H{V^e^k1H(3^4ot&kv2f+3>I6+O3tKs(~$ z$!l%%8&8Z`n#CK_bBs0+d&O94yMw(59rH^%MamR8YKqKzn54;u^qf!ztxWtDlD~`Gaii^*b35+GX-Vk28KQ~`L0If+WOxMRcb8Y|wx7>m~>8z0=}B%#Zs&ky107BVHgu`k&O z4uc-5uEO$^53x1ztJ@h1hud=5ddxlI4;e5o2G4(A0*0tMeKVx}7Z#TCW2_a;jv59O zHk>~Ms+WU$yBne)G)II|i<%EY?p_D+k}2h1v+H4^P*MY3;ER{y(01iuXMGA5H+2cR z6v!dq)%s= \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-01/test-results/union.png b/libraries/path-bool/visual-tests/dangling-01/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..80f44b6b465e180c7de69bfdbdd5dc84a2b60baa GIT binary patch literal 877 zcmZ{jT}%^86vubFv^A6!eIQ^9YOb1yRj68^QB=I*2a<>y)c8Q#L=90wTMW>}+pyhh zOl!R26ZFAcYHSn}g+>i5rc1i0_!Y5Hqg9Z0)U?DP?9#@xm9={ZiJ)3TCXGu!EpI_FWbv$6%2J?iWEP@GsODl;b-H{V^e^k1H(3^4ot&kv2f+3>I6+O3tKs(~$ z$!l%%8&8Z`n#CK_bBs0+d&O94yMw(59rH^%MamR8YKqKzn54;u^qf!ztxWtDlD~`Gaii^*b35+GX-Vk28KQ~`L0If+WOxMRcb8Y|wx7>m~>8z0=}B%#Zs&ky107BVHgu`k&O z4uc-5uEO$^53x1ztJ@h1hud=5ddxlI4;e5o2G4(A0*0tMeKVx}7Z#TCW2_a;jv59O zHk>~Ms+WU$yBne)G)II|i<%EY?p_D+k}2h1v+H4^P*MY3;ER{y(01iuXMGA5H+2cR z6v!dq)%s=@XVYGIS%)I32`feV5x=qTgxc)JHW0l+u!kYN@@yUe)i(_@jW%Y zhSC1N>*yt0$8M)>P1e$I{M5j))3>Y}>)tpcth!zLa7UQjIZm(5kldy5vCBh}u}o}o z{1<&ERn!X3lRMf2dcY)K)jGruH*ya146b>R(w`z^^P50@)GnL4`EwQLuzW(i<^hOY zACd(EgrJui=j+}VqxHY`f+kGoV|{fPi^;W%NEK99mXY`TcyLz9 zzXq-Gz-UqskEQiyev3d+Ax&nRw^&-u-Jb)bELNv=Cz|y9h~T{$5zguxgdTGsG!{B( zW}Ph%m;a!FIZ< z(ssC0G9^kLva7b)AVy1@$$l!XRhqfUvp~#h-!91Z+Fxk@S zm0Z){HxHQM?bgT9frQ{}J#0!ym|(JbA5du&xyslg@k9wFiYn?_CB;7k6;WrFEU1hf zswQ*!%XR6Gp>maJCjfoqsOu z!N#7r4kol*k=CV>gDh@Cndy4i4ko9en;y~f%RxbFAf2m)e#!;!R^|w)jveKc;0)#@ zm<0{ppMM0v43bB@A99%p{-xmE&U|UZ?1U**_kcw=t6>EbjjQ_sHx6;q6e#|)g? i!iMq|e*DMeO7fZ;E$M}3%R~50kis2B`Muk!&;15ZiM(w9 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/dangling-02/test-results/difference-ours.svg new file mode 100644 index 0000000000..fcbe297fb2 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-02/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/difference.png b/libraries/path-bool/visual-tests/dangling-02/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9682729c090aea64d890dfebcc5777a14e622a GIT binary patch literal 845 zcmZ{jT};zZ6vtZ%-2$ue0pr|c5~B~IZbTS@XVYGIS%)I32`feV5x=qTgxc)JHW0l+u!kYN@@yUe)i(_@jW%Y zhSC1N>*yt0$8M)>P1e$I{M5j))3>Y}>)tpcth!zLa7UQjIZm(5kldy5vCBh}u}o}o z{1<&ERn!X3lRMf2dcY)K)jGruH*ya146b>R(w`z^^P50@)GnL4`EwQLuzW(i<^hOY zACd(EgrJui=j+}VqxHY`f+kGoV|{fPi^;W%NEK99mXY`TcyLz9 zzXq-Gz-UqskEQiyev3d+Ax&nRw^&-u-Jb)bELNv=Cz|y9h~T{$5zguxgdTGsG!{B( zW}Ph%m;a!FIZ< z(ssC0G9^kLva7b)AVy1@$$l!XRhqfUvp~#h-!91Z+Fxk@S zm0Z){HxHQM?bgT9frQ{}J#0!ym|(JbA5du&xyslg@k9wFiYn?_CB;7k6;WrFEU1hf zswQ*!%XR6Gp>maJCjfoqsOu z!N#7r4kol*k=CV>gDh@Cndy4i4ko9en;y~f%RxbFAf2m)e#!;!R^|w)jveKc;0)#@ zm<0{ppMM0v43bB@A99%p{-xmE&U|UZ?1U**_kcw=t6>EbjjQ_sHx6;q6e#|)g? i!iMq|e*DMeO7fZ;E$M}3%R~50kis2B`Muk!&;15ZiM(w9 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.png b/libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..7d802d273f3cdc3a24c114c6520e1989ee31b587 GIT binary patch literal 901 zcmZ{jZ%i9?7{~88xRREV?!|QBPn(#%aX7l@fUzAbb1=jy=t3X{p-mPgSV{%5aV3ts zLJS)^`f5}m(nS)t#B`@288fuKV;j~Cx(gbujM4rm0b(||YfsW^IC>stFEx4oy!a;1 zpFE%E+Iw|1T6LZpf*@_}TU8g7d~DydQ6)BIq=p~}d8fAOOal&YG04rsAB_GSmwUIb z|FUqa`~1Z_w&lAoto_T0(YL9I*WY+$J9T;blfLhUPFa7a5_J9zdF8gmom(f$j>t3b zr=r&%$(;@9-pT)!wp#P>SHUc{>}9+R$D0Qq(T}^pB$-6@3!1wc={R4(*aeR&{_XB- zVA8n;1<7eenp#myC43n+W?;TdPX6T41bDRHk%{axoJcOU+~#5GQ#{dMA*N8*XOQ!}^C) z6^C%t?bq_ZNxM3Xa-$=rZ2Xv9>UnUG%fha1{vE;Q&kJ15y2D?>Gz)ei%y=ua0^e-z z{Q5%3I`Nne6*qOnrHZfG96GtbVIn*T>lf&dxo7Syo^Bm$bF`=TZevt4+_@h8*j+Rd zm$njyVPN{x+B0Vsq`eZh`x;?7!ai#x>5XVxNJuVY^Jb+h@9WP4ZQ``U1`hp@85rBV zRKzBhrQHJ<)dK8LV4N6tZ49%k<;szA*o3mf0gNzf`EsUM?lWi$kju^*zQce#?_S~{ zB19Wzh2#puJym~}BliWJQFH{ZhwC5?k&d&8B`H|xvlx$xwg*3Q8If_qPot4M9A#In zq-(>3e*W@vJ} zR`oG2XvFhFeu>(xvi+fsraUVn^P9-hC s>kOlj;mw^g#*Rey>G?_bAGnJ({;vlPn-k literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.svg b/libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.svg new file mode 100644 index 0000000000..11838b9547 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-02/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/division.png b/libraries/path-bool/visual-tests/dangling-02/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..7d802d273f3cdc3a24c114c6520e1989ee31b587 GIT binary patch literal 901 zcmZ{jZ%i9?7{~88xRREV?!|QBPn(#%aX7l@fUzAbb1=jy=t3X{p-mPgSV{%5aV3ts zLJS)^`f5}m(nS)t#B`@288fuKV;j~Cx(gbujM4rm0b(||YfsW^IC>stFEx4oy!a;1 zpFE%E+Iw|1T6LZpf*@_}TU8g7d~DydQ6)BIq=p~}d8fAOOal&YG04rsAB_GSmwUIb z|FUqa`~1Z_w&lAoto_T0(YL9I*WY+$J9T;blfLhUPFa7a5_J9zdF8gmom(f$j>t3b zr=r&%$(;@9-pT)!wp#P>SHUc{>}9+R$D0Qq(T}^pB$-6@3!1wc={R4(*aeR&{_XB- zVA8n;1<7eenp#myC43n+W?;TdPX6T41bDRHk%{axoJcOU+~#5GQ#{dMA*N8*XOQ!}^C) z6^C%t?bq_ZNxM3Xa-$=rZ2Xv9>UnUG%fha1{vE;Q&kJ15y2D?>Gz)ei%y=ua0^e-z z{Q5%3I`Nne6*qOnrHZfG96GtbVIn*T>lf&dxo7Syo^Bm$bF`=TZevt4+_@h8*j+Rd zm$njyVPN{x+B0Vsq`eZh`x;?7!ai#x>5XVxNJuVY^Jb+h@9WP4ZQ``U1`hp@85rBV zRKzBhrQHJ<)dK8LV4N6tZ49%k<;szA*o3mf0gNzf`EsUM?lWi$kju^*zQce#?_S~{ zB19Wzh2#puJym~}BliWJQFH{ZhwC5?k&d&8B`H|xvlx$xwg*3Q8If_qPot4M9A#In zq-(>3e*W@vJ} zR`oG2XvFhFeu>(xvi+fsraUVn^P9-hC s>kOlj;mw^g#*Rey>G?_bAGnJ({;vlPn-k literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..78f96145ad693b3f61a8174a7f0bf1e50d697cda GIT binary patch literal 1078 zcmZ`(YfMvT7(Q?~2hvMak_Id&aodmS5Qu9FbA^qKsf@&3VlZs>91>!5W4%phPf!`DCq_T+_^$WW_Fug#fs+2r{P$9PPlT@C zkr{h0#h<^OF&#+ThW;0d5o&5Xn9$F8I1d*W$nM*LX)73Vtm0em%17jqMyTb?Nq2tY z+qH5qDde#cYAV%#3K4&P3jj2Qv_;JGZI#(g= z=E!83JaJ=7ewUnj(#E}mdheZGZieyPIe9Kc9Mc!qOsmE?5)DiSlnbZVwgV3-gZj&< zQM(b?sBcWzc!{WPbro${z}7wizP=n`heZ9u}Jk?cWN|M%0zsSci)Ce+8}R3r#P-1-4H$fJVlt5!f(=? zq_w={szpT;6C&3+R^X{WlnAqyyh_fRHlDB#d}vRbFbc1nIhic?-jnZ**lUYnB2XG! z3F&DXzFq3Qw8EOO>;3egfjR72jMrqW1?g_TF1YeQPgg1}=ZgMlW+Kf*&5qzwGb{@q zD-QDQD66TQA(Q1aj4H5QYH&o%R=?Qg*9Z^v-h7nR1^Ei0R)2>~-q@t~8h{xYAEXB_ zL|f|4F8+&LCcQrf8l=%9N5W^UB6d#|AvCri{Qt5i~04gn2j( hZh7KAhLz5X9sc3>zuwd~!T$hhd~1Kh)i+u{{|5s-IduR4 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..1556a5bce7 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion.png b/libraries/path-bool/visual-tests/dangling-02/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..78f96145ad693b3f61a8174a7f0bf1e50d697cda GIT binary patch literal 1078 zcmZ`(YfMvT7(Q?~2hvMak_Id&aodmS5Qu9FbA^qKsf@&3VlZs>91>!5W4%phPf!`DCq_T+_^$WW_Fug#fs+2r{P$9PPlT@C zkr{h0#h<^OF&#+ThW;0d5o&5Xn9$F8I1d*W$nM*LX)73Vtm0em%17jqMyTb?Nq2tY z+qH5qDde#cYAV%#3K4&P3jj2Qv_;JGZI#(g= z=E!83JaJ=7ewUnj(#E}mdheZGZieyPIe9Kc9Mc!qOsmE?5)DiSlnbZVwgV3-gZj&< zQM(b?sBcWzc!{WPbro${z}7wizP=n`heZ9u}Jk?cWN|M%0zsSci)Ce+8}R3r#P-1-4H$fJVlt5!f(=? zq_w={szpT;6C&3+R^X{WlnAqyyh_fRHlDB#d}vRbFbc1nIhic?-jnZ**lUYnB2XG! z3F&DXzFq3Qw8EOO>;3egfjR72jMrqW1?g_TF1YeQPgg1}=ZgMlW+Kf*&5qzwGb{@q zD-QDQD66TQA(Q1aj4H5QYH&o%R=?Qg*9Z^v-h7nR1^Ei0R)2>~-q@t~8h{xYAEXB_ zL|f|4F8+&LCcQrf8l=%9N5W^UB6d#|AvCri{Qt5i~04gn2j( hZh7KAhLz5X9sc3>zuwd~!T$hhd~1Kh)i+u{{|5s-IduR4 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe6893e12ca63dbf756472195342c7061cffdbe GIT binary patch literal 1076 zcmZ`(ZA?>F7{0d`Znd?-esnlMh-^P}I#4E-=-t!_Q)U8lBM^hMO~^u6EiGefZzpMc zA&8sP{o*5FS|iyYF>OuAD6D1oAVC~Z8@7;&%=S=b$s*8O8qzk@cBjjJZpr!h@x1So z_q@;Zo^L*`JTDSt3or~5Ra_|h1l>nddl!k$T3)OR!-$=Vva{7Rz5$54Z(Z(r6iRA0 zZ#|wL`r=}PRk=L+?`rza)bo+eRQztiW=v!M{OcdPPAL{`TWn5u^7(K)_~8qKv+I;l zi{XLT&nZ5Iv0nP+jjZ(%#(k1R1;`WI8pe+62O95#p_b`FZW;KvBX*vOh?f*)x32|D zxl7n-5!GjysE1z}ePo*RgnCb(aTPQYG7%!E0~cGCIvAGc?avbVV>``o!Yhb2C6rP! zs*vMU9-YZ8f*DM_PbUqE+A?}Kctyk?v%)SqQOKJy?@ciWNiTmGd}`!}u4a%Xyselk zr)+joe|=7$L+_WCwy$mf210y1Bj5|Pj`=50;2rP4;Y8nB(7`mw;ZF=d{P49@3av;e z6WL?pVPFqCrTvFZkHgwrT9H}nloaJo3e|TE1NGLY{@Asnwd-5$6B75DCg*Hfok8K!J? zc%t86E^+%*t<%S(57@xvM1R(8sC#uBxH(n$88{~2-B#j$S!1P}Ol&>8M)$CR&NpeP z1Ng8uN%BO#OKhHMMe@91jmk}I1lNqOHyV9`&U2Ijwak<1?(MK`L`dx$OQUk>;##MO z`yI5v0{2S?6G<5$gVg9&cA3~9sb8ys4N=djy>X-yEl~65d^j}jAE7H9U>OTeiLXaU zO{^C^p!fCo=*m+q9(1u@8KDwU9gU9NQN1;)gf(!8sXwFsmGgqC@V&E6H7X+uDQ=!- zy(+>sb@R_g=q@mMLP4vNSzTm&3^`p=C4{GQ!|u^Zezg z8CAp#=FOp%&|+MrhFJ0!ezXbJm|iH1-v>^k5N&SsDjcL2UWvGc)Z7puTSN{mjED4o oyS6O>D#C|smmJUhkLiq_U!1qi9V`gvpx*$iD6cHDejsoE8|sZUs{jB1 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.svg new file mode 100644 index 0000000000..47471c0913 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-02/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/fracture.png b/libraries/path-bool/visual-tests/dangling-02/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe6893e12ca63dbf756472195342c7061cffdbe GIT binary patch literal 1076 zcmZ`(ZA?>F7{0d`Znd?-esnlMh-^P}I#4E-=-t!_Q)U8lBM^hMO~^u6EiGefZzpMc zA&8sP{o*5FS|iyYF>OuAD6D1oAVC~Z8@7;&%=S=b$s*8O8qzk@cBjjJZpr!h@x1So z_q@;Zo^L*`JTDSt3or~5Ra_|h1l>nddl!k$T3)OR!-$=Vva{7Rz5$54Z(Z(r6iRA0 zZ#|wL`r=}PRk=L+?`rza)bo+eRQztiW=v!M{OcdPPAL{`TWn5u^7(K)_~8qKv+I;l zi{XLT&nZ5Iv0nP+jjZ(%#(k1R1;`WI8pe+62O95#p_b`FZW;KvBX*vOh?f*)x32|D zxl7n-5!GjysE1z}ePo*RgnCb(aTPQYG7%!E0~cGCIvAGc?avbVV>``o!Yhb2C6rP! zs*vMU9-YZ8f*DM_PbUqE+A?}Kctyk?v%)SqQOKJy?@ciWNiTmGd}`!}u4a%Xyselk zr)+joe|=7$L+_WCwy$mf210y1Bj5|Pj`=50;2rP4;Y8nB(7`mw;ZF=d{P49@3av;e z6WL?pVPFqCrTvFZkHgwrT9H}nloaJo3e|TE1NGLY{@Asnwd-5$6B75DCg*Hfok8K!J? zc%t86E^+%*t<%S(57@xvM1R(8sC#uBxH(n$88{~2-B#j$S!1P}Ol&>8M)$CR&NpeP z1Ng8uN%BO#OKhHMMe@91jmk}I1lNqOHyV9`&U2Ijwak<1?(MK`L`dx$OQUk>;##MO z`yI5v0{2S?6G<5$gVg9&cA3~9sb8ys4N=djy>X-yEl~65d^j}jAE7H9U>OTeiLXaU zO{^C^p!fCo=*m+q9(1u@8KDwU9gU9NQN1;)gf(!8sXwFsmGgqC@V&E6H7X+uDQ=!- zy(+>sb@R_g=q@mMLP4vNSzTm&3^`p=C4{GQ!|u^Zezg z8CAp#=FOp%&|+MrhFJ0!ezXbJm|iH1-v>^k5N&SsDjcL2UWvGc)Z7puTSN{mjED4o oyS6O>D#C|smmJUhkLiq_U!1qi9V`gvpx*$iD6cHDejsoE8|sZUs{jB1 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/dangling-02/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..23f575c9ac7ec4922bf50edaf8239aac29cec749 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fh2KmaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VzN;UnLTF?7OtU$2B;D4dO|DAoz_N;r%&VRdo;PnUj<_GrY z3m8`wYpv7M1#De%88 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/intersection.png b/libraries/path-bool/visual-tests/dangling-02/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..23f575c9ac7ec4922bf50edaf8239aac29cec749 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fh2KmaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VzN;UnLTF?7OtU$2B;D4dO|DAoz_N;r%&VRdo;PnUj<_GrY z3m8`wYpv7M1#De%88EWm6IYGV5QH}I0kxKkH>OmXsfOS# zD?UMuF)d15O*VC68ZD-^or<@B#Rp?XEzlnf5EbZDqHX0*$8qDMCg<|-<(z!^&UgOW zv%5krQ^^nnkyq|0-zW67KQa>&>Opa;9YN5%%JR+o3DFFL_N=Jtej4YSXD>Z}aqGmc z!*?u^`#EtUbr}n&2{Q;Cx{JeNfzP0ui6CUS1B*kg)VWZ@uL1W`FTX^X z3Y6^k_~qOyIGE`S(pYCu$-RS9HVdHbiSeocPORk%9?vx|DoLLLA;`9vL0#Xp*UpZ$ zZ8gviEd6maPLD*x8}`+B}e5M^;$;{w8BdV*JQ@SL98 z=oRPolYtswp%P=VejDn8g9_c7U3hDxaoR^ECZn^o{j#VNZ4mTZ)vE4OCXbr36^9D^ zdhV6~h(b4PL!%PzEmIe#6D;!y@xhK(jA-~@dgIqordi}K=4zM=DaVZ1h@Mp@7iT7y zf?IZ0aD_4`AO7JB7Jgb*TS&`cVPlp+l*LA6B||5_nSqURVf7PL0W5hW{eD^Psb}_= zSn1!{BT*z*4vYEq3clqJY*a;9fSaf#QQ@Q`f^}SY{1?t9Gd6hIo%+>z!tWqR<+k1B Jcea?$e+S3n!Qub_ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/union-ours.svg b/libraries/path-bool/visual-tests/dangling-02/test-results/union-ours.svg new file mode 100644 index 0000000000..0da83903cb --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-02/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-02/test-results/union.png b/libraries/path-bool/visual-tests/dangling-02/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..e18e27bf37064c7466719816e2a54d994e0a3d20 GIT binary patch literal 867 zcmZ`&TTBya6rOhI6g$+dCJovPMB|I7)F4pQN>EWm6IYGV5QH}I0kxKkH>OmXsfOS# zD?UMuF)d15O*VC68ZD-^or<@B#Rp?XEzlnf5EbZDqHX0*$8qDMCg<|-<(z!^&UgOW zv%5krQ^^nnkyq|0-zW67KQa>&>Opa;9YN5%%JR+o3DFFL_N=Jtej4YSXD>Z}aqGmc z!*?u^`#EtUbr}n&2{Q;Cx{JeNfzP0ui6CUS1B*kg)VWZ@uL1W`FTX^X z3Y6^k_~qOyIGE`S(pYCu$-RS9HVdHbiSeocPORk%9?vx|DoLLLA;`9vL0#Xp*UpZ$ zZ8gviEd6maPLD*x8}`+B}e5M^;$;{w8BdV*JQ@SL98 z=oRPolYtswp%P=VejDn8g9_c7U3hDxaoR^ECZn^o{j#VNZ4mTZ)vE4OCXbr36^9D^ zdhV6~h(b4PL!%PzEmIe#6D;!y@xhK(jA-~@dgIqordi}K=4zM=DaVZ1h@Mp@7iT7y zf?IZ0aD_4`AO7JB7Jgb*TS&`cVPlp+l*LA6B||5_nSqURVf7PL0W5hW{eD^Psb}_= zSn1!{BT*z*4vYEq3clqJY*a;9fSaf#QQ@Q`f^}SY{1?t9Gd6hIo%+>z!tWqR<+k1B Jcea?$e+S3n!Qub_ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/difference-ours.png b/libraries/path-bool/visual-tests/dangling-03/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/difference.png b/libraries/path-bool/visual-tests/dangling-03/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/division.png b/libraries/path-bool/visual-tests/dangling-03/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/exclusion.png b/libraries/path-bool/visual-tests/dangling-03/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/fracture.png b/libraries/path-bool/visual-tests/dangling-03/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/intersection.png b/libraries/path-bool/visual-tests/dangling-03/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-03/test-results/union.png b/libraries/path-bool/visual-tests/dangling-03/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8^Iso4;LSL_LG=Gej(?B$ntTX75YOn(UMF2)1!Ok=>~H^XR71A!TL`Ms4wt< zp_EtXJC-p;O-qZDs+Zpqo-e>!m|2_6VHFJ&V zhl_h&0QKfS$lsA8Ucs^9^nSTV_n)n8oNvYUFY`k7=bYUK?iU=*FFu-GeAJuqc;&X~ zZ2#I$+p+)1`S(@eznMR~+#irFyAOP4u;=|_rhg}!IiGir_=oEUUKiZd`yh}oypz=ED8&7{$8+^EQApHHIX1m$-=12CQ)hp=H{>Szs)6BM \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/difference.png b/libraries/path-bool/visual-tests/dangling-04/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c1b220fe9ef3476f1f9424576e274edca124c7 GIT binary patch literal 616 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FzI``IEGX(zCFOaKqYe8v5)`D z-}Rn2v%JVVd0p=9ZBUfiGjE#L`gumiO7DJ_ZO^J&)^44Bb^WLP(o_H6UGe9=+tYe; zt^d0Nf8Oss^*=A^Iso4;LSL_LG=Gej(?B$ntTX75YOn(UMF2)1!Ok=>~H^XR71A!TL`Ms4wt< zp_EtXJC-p;O-qZDs+Zpqo-e>!m|2_6VHFJ&V zhl_h&0QKfS$lsA8Ucs^9^nSTV_n)n8oNvYUFY`k7=bYUK?iU=*FFu-GeAJuqc;&X~ zZ2#I$+p+)1`S(@eznMR~+#irFyAOP4u;=|_rhg}!IiGir_=oEUUKiZd`yh}oypz=ED8&7{$8+^EQApHHIX1m$-=12CQ)hp=H{>Szs)6BMiSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*T&=D$98z?*S;gXsT{9RD8gHTe*FAfC~my-vEq3dn5!+28u3 z|8v{{cV_*w#_-f2QTsq#+&s4{KgY};jP+#By zL%r(U2iqIoKf2HV@%`t>1L@2*96xd%?5%vbPwI!nyr=6Mw=?EFz0dYB|9k9#YUUcz z4;S~m0P4+ukiR2GynHTt#?mt`GINyrxU*?7E&pGEA>Sk#J(LErNst`E;?b3n! z1vj5F%s&fO`SL)sJvYz>$pgn3_OrhEbV!yxj{S$$gO>+h7u?kQAdoPRe7Jfb`}6wGSAjm9UNKGhfZl(rj{4c^ z%>4BRAHok5{>$AbT_LY$&1ClTy7G_hm9+`~!yXj>*uGQrhs?aEXMb#01PZc!n8py# zyN9npTYuMmwm7L8?di4rA8!A-t?;ilPWngY1BnCP%SXY-2-cF zP9JB8Kf7P{(f#)pKvzUFAFsIhhX=^Y|NOrBNB`GrKq3BTUDMgh8lxLyA8c=&&zASp lp6wBO3c!;%2ul5MH~5}>F#2`hT3|Y5@O1TaS?83{1OR`gdG`PS literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/division-ours.svg b/libraries/path-bool/visual-tests/dangling-04/test-results/division-ours.svg new file mode 100644 index 0000000000..7de29807c6 --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-04/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/division.png b/libraries/path-bool/visual-tests/dangling-04/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a30a5b5f10148abbb0cf61f9134b1bf7fdf5f0 GIT binary patch literal 718 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FirJzaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*T&=D$98z?*S;gXsT{9RD8gHTe*FAfC~my-vEq3dn5!+28u3 z|8v{{cV_*w#_-f2QTsq#+&s4{KgY};jP+#By zL%r(U2iqIoKf2HV@%`t>1L@2*96xd%?5%vbPwI!nyr=6Mw=?EFz0dYB|9k9#YUUcz z4;S~m0P4+ukiR2GynHTt#?mt`GINyrxU*?7E&pGEA>Sk#J(LErNst`E;?b3n! z1vj5F%s&fO`SL)sJvYz>$pgn3_OrhEbV!yxj{S$$gO>+h7u?kQAdoPRe7Jfb`}6wGSAjm9UNKGhfZl(rj{4c^ z%>4BRAHok5{>$AbT_LY$&1ClTy7G_hm9+`~!yXj>*uGQrhs?aEXMb#01PZc!n8py# zyN9npTYuMmwm7L8?di4rA8!A-t?;ilPWngY1BnCP%SXY-2-cF zP9JB8Kf7P{(f#)pKvzUFAFsIhhX=^Y|NOrBNB`GrKq3BTUDMgh8lxLyA8c=&&zASp lp6wBO3c!;%2ul5MH~5}>F#2`hT3|Y5@O1TaS?83{1OR`gdG`PS literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/dangling-04/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..d29136bc0f4cb5d04858f82c237497f043308917 GIT binary patch literal 1162 zcmXX`e@qi+7{24mfyD!s42wm}VB0?<78F)C*1=q4j5WczIEjL-31Q&c(r!vQR?;63 zWd?=6X8p01WoFZVuuh^SYqeh|3}dM`AfqCqcR&hTI_#BBxz6)$hg*9zYt$49CW_$Hr9fc;`(A%AE{UrZGD1aW=2mn` zArLjr%IWMQ4(s+&Us#1$Q|aTB+2%q`oteHnIX+C8iskDFrf_rMiviH&9=jwKAgwMA^)p)w1_p>*H39yzPAr9&dN4-ZQ&JJXk`X<1G=-* zZxBR&j$XDc#ZuWV#M&ekqqqsEkzu0}@Nk?T5*+zRdV{Pj%F=TFhv#GJ0yr zu2Kdx2#K+;*Rxo?_r-dzf)0Zo__mm7b*}nB>BwKlY{atWBtEIkWr`@q0K0<2t10;y zTV^~Z2{yp_m{&pk>9&U!4%R^)uklMs(2S6e4+(s_pOw+mV5l)35@hlVal`ILWfK`s zW&mNFeF~AmjG9PwVg`x@GuCH7Ln4-Vjx-aqSrSdmcm~4?DM-;zGL0 zUm6j471shAWsSKo7uNWXUa&-LK@&6E96}cbv5><B?LJH z2xz0E#9BGfA|5tcz&#VJq@#8#r&Y*!XPpOV65E_`mx7*W=L)!{ZE0aCzTt)@rPW~@ x6kN-+anG{(H)WfZ=T?pv8H@NIv;P|aR#E5)m?A4pQennGwbgZduD*Mu`(MPTV \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/exclusion.png b/libraries/path-bool/visual-tests/dangling-04/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..d29136bc0f4cb5d04858f82c237497f043308917 GIT binary patch literal 1162 zcmXX`e@qi+7{24mfyD!s42wm}VB0?<78F)C*1=q4j5WczIEjL-31Q&c(r!vQR?;63 zWd?=6X8p01WoFZVuuh^SYqeh|3}dM`AfqCqcR&hTI_#BBxz6)$hg*9zYt$49CW_$Hr9fc;`(A%AE{UrZGD1aW=2mn` zArLjr%IWMQ4(s+&Us#1$Q|aTB+2%q`oteHnIX+C8iskDFrf_rMiviH&9=jwKAgwMA^)p)w1_p>*H39yzPAr9&dN4-ZQ&JJXk`X<1G=-* zZxBR&j$XDc#ZuWV#M&ekqqqsEkzu0}@Nk?T5*+zRdV{Pj%F=TFhv#GJ0yr zu2Kdx2#K+;*Rxo?_r-dzf)0Zo__mm7b*}nB>BwKlY{atWBtEIkWr`@q0K0<2t10;y zTV^~Z2{yp_m{&pk>9&U!4%R^)uklMs(2S6e4+(s_pOw+mV5l)35@hlVal`ILWfK`s zW&mNFeF~AmjG9PwVg`x@GuCH7Ln4-Vjx-aqSrSdmcm~4?DM-;zGL0 zUm6j471shAWsSKo7uNWXUa&-LK@&6E96}cbv5><B?LJH z2xz0E#9BGfA|5tcz&#VJq@#8#r&Y*!XPpOV65E_`mx7*W=L)!{ZE0aCzTt)@rPW~@ x6kN-+anG{(H)WfZ=T?pv8H@NIv;P|aR#E5)m?A4pQennGwbgZduD*Mu`(MPTV4sAA&?xSCzj|M{xcG=qJzA56$@_>W9~U zygPb9`o@^t`Q86={;Fx{6^rR)&e4a#F6-OfpZ68F{c3qcB@IS4z6kkV@{$D^k;&6R z_q96_MO|3^DP!KX11V?NkPz`lhdood%o)(cImOo}5k+v>6CCJe2Ld>#L?!ofQqa`6 zkifBNH99!@>tyLAl3Kw`@wx(LY2Glv)yJ;#!eV&uGR=4WvJB*vvD!JxzSSWp5oQ zId_edMo-9TD`iq-M<(8cZ&@^pPla}Exy)-N%P~Y_SgucFQ^$x*psHq^KpMDtj9m#n zOS4)IHJd>4ZXkNIXyY7e;h7A3Tv!qbP{pxX_{H}`8!f2$uUgR5F{?zC0@>CT9y15p z-kELam^}prrG(Wo{~1sjXcuB8`&(vImmfJf)4y$p)tx6}3Asrwf`N@1rM6aA%zlWP z8cJY`cU<7EdV9;@W)eHL!qs0FJs35bF@^UEg?)eup;`pCJf;~Rw_^Is3obsZzzZ`Z zBUX%1;uBWPHA0&I^N9C7GyQXj2qs}?oma!0*y=sT4o~HSHqLy|p-v_;P2O9Y&3!Hz zi8dR;W(hQ#ymp(aF3ex|)_3ju78JaR!AQ|$$wHPSc~G>N9^RF0Ra_<(57S3gHzG1C zSGZX}6I;pL3?>@P+of)0;6&+d>MC6kSVr8p$!Xtay?%sDwD)hrU@1W;H=>zNV&z#{ zj9CsXMB}-W5N=)E_yTEbq&tWq2i6rFJ`(PPG=8~)>H8zEThLJc@IL}($<`Vj?sSPK z9y`I`Oxn)72KV+iQqXo#w(k=Nx&1RAhVxgwZiR?Qp(i=^bVyDkelaT2P0C^Umz1ak z)d?frZqydXIAvWwG3%fyVCiA4#qpthrWQF!?pe^I2`hMdj8#BlhA0l6wCZhwjkM>2 zjU?Rq7#A1*+_BCJkL*Aizcu={-SPf3Pa*RgXoD~$dxDcup \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/fracture.png b/libraries/path-bool/visual-tests/dangling-04/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..51002747e2501764a023ea416f6b9a58269204a3 GIT binary patch literal 1160 zcmXX`eN0nV6z}V!9}ymPi47kG%w%kdRm!A5MK-p9V~hl+GLZ-m68}I~N*h1utL^$) z36f2n%MxJ2r7Rf7mMAq_SWzDIGMQ|4tOMit=;S?03K};1YK^{bZ+*KMbI(2ZCik9m zbARXeJ0HDQU4d;#-yjl+u*!GJ_rW!9eafZK*NS7EB2mJg%JMgB2;^^oe)Upa_pOLv zet7=pUk8p=9Ue3Uet2$2&$+tab-Q-tZ+RGN^L%jX>&{*JyY5F`RhMw@8$SGYh%DMF zjO>lk=Wh$GHF5JLwr_15R3SYMr4W(Fmq)ei`=AloBeScBVz_OOUFhI0L~&4oYNqlt z(X1pM^DlXve#Cx}EImznXQi%WTM;`m>9`=aC(cRY=`e0Dcs18*U_6d+kXA&((K^tK zmdLplX4JAYmd>TRLT;xAX${fRi1BFyu%b34J5Ak(u|~!?+>%1bulc-LL3-t?v#(eh zKl-~q+Ts`4d)3eup`{ZW{ZD29ZJJ*d^-Vpy`2e(+Cc+oez@*44`Rmb-nKE3)ZDk&S zHPd`9yRoT<%$)EpR-vSXEdmvY7yZ21x_yu^FbCi;6V+loF^}C<|D+fgqwca$V_4^Z zd>eeG#uK?C%#d@rg!G6>%%)|N7*EVx#s{t>`p%L=LTDHEv0SJz04Vy%a-XE z_%(i$i63>igCD!4xNNv9<(?7MU}H)`$JPQXa^^5FNBYaC`>(6GD?Q?PuNoqH5Y$Iz zAdZ?TrRFCkc~j}dY(*w@EmgqoFA20eo1Y_<6zR9*!88$Cj9+ZFO4)zFek9s|J&P-6 zE?KI*7?tclCY}p*WE0a=p@|=I%&zQwO-}6i6ug2eWS^ju2%^*_*DGLRD`)@}Q3_WP zYFFrLtmj2sTZ&P4%}98P91KerJAHO3p~rO-XK#s8oXh;`f~1<=7VOC8dPWO@9+`~! z%^AdYS7^wxv`$S{W6gtnb4Qz8p>fJo6PGQ7>e|-Ne65n79L?$zWjORe| zG^|(s6ls8Ln}NkdZ3^KOjZ#T$puX)Fb^$a--R+!bS2AD7?i0B&2<`#UZi%-_>{70k zaa+2*2(Fq7H9{>tU4&Xv1i!%3b-x{7ki>geAtAqahF9q1$mV4o`v=gYMl54FHj=<= v*#Iy{!=0Qz(!`9H3>F literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e1400fca32fa257441ad85c41eb6498e3f69a7 GIT binary patch literal 547 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FuwA1aSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*UcrRw)QKHyz=G`sj{e(}-!47>jvU-(J>vBihD1JTUu&vJji zeZZgjKJ%MT@0)*ox8$o4`Ec<-;k=hycRbqK7!8E?A6C9$is!B2`(M^kzk52{KJJRl zhU-jrQWd!mEY9Cwdmx@!p4X;1{b%-r+J^nl;`u-3f4(An!uWmfg zrdN1Vub`>kR_ni6ey+v0ga_LjAOCq>Yf>OnA+NXl$bR0|`q}r{>{7&^Wk2Zsd40EN zg?z&F)A!hROs%(Vs-GSEU@hZ5sS4Q#VR0qqo>SMpaed~3%;~9SdBcH+3)z4*}Q$iB} DZ>S_z literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.svg new file mode 100644 index 0000000000..738e9f3a9b --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-04/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/intersection.png b/libraries/path-bool/visual-tests/dangling-04/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e1400fca32fa257441ad85c41eb6498e3f69a7 GIT binary patch literal 547 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FuwA1aSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*UcrRw)QKHyz=G`sj{e(}-!47>jvU-(J>vBihD1JTUu&vJji zeZZgjKJ%MT@0)*ox8$o4`Ec<-;k=hycRbqK7!8E?A6C9$is!B2`(M^kzk52{KJJRl zhU-jrQWd!mEY9Cwdmx@!p4X;1{b%-r+J^nl;`u-3f4(An!uWmfg zrdN1Vub`>kR_ni6ey+v0ga_LjAOCq>Yf>OnA+NXl$bR0|`q}r{>{7&^Wk2Zsd40EN zg?z&F)A!hROs%(Vs-GSEU@hZ5sS4Q#VR0qqo>SMpaed~3%;~9SdBcH+3)z4*}Q$iB} DZ>S_z literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.png b/libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0bc3ef64d19611b16c291bcd3faca2bd36d321 GIT binary patch literal 956 zcmXX_e@qi+7{24+s7N7hB82jD?yqg>A$Fx>%{m8&%mj6D8rExAfB5N@)2|zU_dj72)6%_fh4kK}v+X4* zaHxzk+LgYasLZ6Zee4jT zmF16fbGDURwfPz<=_hH}oJ^n@ORk@_BV$$keDEQ_S~$z>@oGZ$U4&@}F;P8|K2&E>LhkU1oD5cfmBbCqL)9a(CGYLs{M|uAXY+o0Opa4cmMZ zuBt@EGL5KbjalC+O~zOHdZ9pYq!>FNN2iz_{G#x{X5y|A9y(>%%U`k?UAdGlq0hcz zi8AGxOS{-EP9xp4lFw@=i4~bR=$G^Fu_wfAeJMUUWHaF!pyM_n(ooJ1i0j&OL$(&I zZdxL(Hc$U%?z$fE%lxK{U5{+-PIir+k=nh)SIxKzot4!+(8aH^9mI~zkK2MDI8bh; z5X&uTBQYM^Nz4l>HplzYcEaQPZ?eKLw_rhZQ74r~9Ty@LEU2W`@#?6OpNATeM^73p z)%iLqd4ud12LVeAivRUJnYgd}V;y3mgH9xr$aK-H3OKb#6+-8<@5QYe9Z+~l0 z4HR5&5;vw0p#FB&h*;#oDt>@s^rR2IrN|qpq{S6S!A5il&*s{Apb>G!i%w;~wvtTh zH7x>`F;Jj8gs`R}_$t51>X9%ZDq)>mQ1kbMXU*cr+8UxIwswR&A|7i7Mgbm@WP!_* V?@ymAZ3V7`db)Z$ue~)e{x6;m@#g>l literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.svg b/libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.svg new file mode 100644 index 0000000000..934cdfd65e --- /dev/null +++ b/libraries/path-bool/visual-tests/dangling-04/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/dangling-04/test-results/union.png b/libraries/path-bool/visual-tests/dangling-04/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0bc3ef64d19611b16c291bcd3faca2bd36d321 GIT binary patch literal 956 zcmXX_e@qi+7{24+s7N7hB82jD?yqg>A$Fx>%{m8&%mj6D8rExAfB5N@)2|zU_dj72)6%_fh4kK}v+X4* zaHxzk+LgYasLZ6Zee4jT zmF16fbGDURwfPz<=_hH}oJ^n@ORk@_BV$$keDEQ_S~$z>@oGZ$U4&@}F;P8|K2&E>LhkU1oD5cfmBbCqL)9a(CGYLs{M|uAXY+o0Opa4cmMZ zuBt@EGL5KbjalC+O~zOHdZ9pYq!>FNN2iz_{G#x{X5y|A9y(>%%U`k?UAdGlq0hcz zi8AGxOS{-EP9xp4lFw@=i4~bR=$G^Fu_wfAeJMUUWHaF!pyM_n(ooJ1i0j&OL$(&I zZdxL(Hc$U%?z$fE%lxK{U5{+-PIir+k=nh)SIxKzot4!+(8aH^9mI~zkK2MDI8bh; z5X&uTBQYM^Nz4l>HplzYcEaQPZ?eKLw_rhZQ74r~9Ty@LEU2W`@#?6OpNATeM^73p z)%iLqd4ud12LVeAivRUJnYgd}V;y3mgH9xr$aK-H3OKb#6+-8<@5QYe9Z+~l0 z4HR5&5;vw0p#FB&h*;#oDt>@s^rR2IrN|qpq{S6S!A5il&*s{Apb>G!i%w;~wvtTh zH7x>`F;Jj8gs`R}_$t51>X9%ZDq)>mQ1kbMXU*cr+8UxIwswR&A|7i7Mgbm@WP!_* V?@ymAZ3V7`db)Z$ue~)e{x6;m@#g>l literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/difference-ours.png b/libraries/path-bool/visual-tests/nesting-01/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebcc0b2809876bed9488d062a3f2fd500ce12d GIT binary patch literal 1775 zcmaJ?aZDT69lrD7gK`{1TZst}lSZ97%>*Mtj48&fOR_9QO4ezDMHt&s8hMEWcESYb z;`(e@$r{o`l{PE^GF7H7npSX=jGD>^ca$)u630rW6^N021_f)v;OBS?_PE%4rrW=h z?(XUCz4!aQ@B4k_wLnNwtbX+DA=AgQ(YcT%Z{k&pb z30k;*$I{02b*{N0wkdZ)}*mNfDPN;*bb$!la6&^ zGb&<9p%yf1UYmM1`2*f)Z%<$Njl|dQ7!zqr`ANGQ*A8b&Xwq5>8dQrq%mlL%*OJcZ zKl2`PL7Shv#80OD@SLYGdhUXk+eBy|@ni7SbRB3NIByaQ3h-2jSUPx*V`=T)I;TTp za6T;VHSu0VouBN~KcZ*qK@j2$nOE8{Kaw7fd_bkOrAe7RCJK&Zq#=?i@;|TPbcxY@ z{>|AwR#CqDeg03D$1jh82JURv{J18rpU48TJ2y`51i2maN)@Q###Lo&^#^lp1oaP( z$TlqT?I2_1>equCvz!5o%@1x&Izr)lEUwL6ewP2B>))68`w&kDuavKvuo%R7UxmTf zJC1g~WrC_Um+x_wi>gYJRs5tS-0fJx(*uj@+~nnnAF2XZX2%E4vtmXeU+uwSbJ@+8 zd9UR$QwLVKeq@HAOxmds%(hQcqbgYz=ef3i4;dt=4(-$q8oXvmmGiS)PvZ7&CmbUP zQv}qE*-bM0^-A1Y+jkmL%$SIK$_p zqSaDO{2L?&B_UsiVCISkZs9W{G#gV`Yq?#7^${1UCVS~kppbL&cMB-Ri(b+mU8!@UnQ{O3;{jcSqRcU_4PCIz zsv(MBrV~~L7Xf_-bG3s8%O)Z%08bb_4XMB2M{L6xRftrrxA1Putaij;F(YmgJZ1E( z@4leOq-Bhw2*X#xas`Z85^=wv%G!&XgAwQNO_7%Rx-e&o@Jkk`p zk`{Yai=E&wWpq6oPx*JUTnzpiNtgcbd`HrW>HW}jeJ>UM=K)kW#+ed*)3xAGRc|#2 zLTQ`$*`mFgcq~J0;_}=oktXM6LU_Lps5RX(urJ-EI!J*YsQZM680F8M$@!cR3iqPa zeH&#(SlGRkjgl=Oj1oe-`(?IL{*EO)Gh#?p^3$nXi6D0hwbsd3&n7CH$p51S(kkJy z$%q$A+#;wfLOYLW?h<*_)*GVi$0yKey1A^Bl|Uv0ti@m+%ESsq>qR_QS0V@u?%JB- zTjuVDMA{L_HdI>pT&GxFmXvC1vnzpq&zF*I=;-jhX4tXXk@zT_|ICTo2<0PUC&2Y$ zejaXu9q6K7GWDQ%!M@J5VQx}Y!oS7!U~V7bA(%q2qzg$zcGRMGEt~qhL zw}SV68T}5>>z#(zP+wY%kP?>E%)Gd;CW!_rKIouaz-O zsPPl=Z0l-=q7+^=k7hJpE`YFPUey70X|mJR^ni_iDrP&BkjGZk?W1poa5bJZR(W$6 z1z2MAIhlK`0`}oLnuPe?ggvVw;&v>d+FZD3w+tFvm-y-(>Ty)mRPdQt-X(j;iYfdM z|EB&C`=|=YI44pef<|%LE1mis-S~jMk!8PVZ!;#JFQ&2R)p--<5jDYW evAHHu^XZcx*x!5i2K \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/difference.png b/libraries/path-bool/visual-tests/nesting-01/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebcc0b2809876bed9488d062a3f2fd500ce12d GIT binary patch literal 1775 zcmaJ?aZDT69lrD7gK`{1TZst}lSZ97%>*Mtj48&fOR_9QO4ezDMHt&s8hMEWcESYb z;`(e@$r{o`l{PE^GF7H7npSX=jGD>^ca$)u630rW6^N021_f)v;OBS?_PE%4rrW=h z?(XUCz4!aQ@B4k_wLnNwtbX+DA=AgQ(YcT%Z{k&pb z30k;*$I{02b*{N0wkdZ)}*mNfDPN;*bb$!la6&^ zGb&<9p%yf1UYmM1`2*f)Z%<$Njl|dQ7!zqr`ANGQ*A8b&Xwq5>8dQrq%mlL%*OJcZ zKl2`PL7Shv#80OD@SLYGdhUXk+eBy|@ni7SbRB3NIByaQ3h-2jSUPx*V`=T)I;TTp za6T;VHSu0VouBN~KcZ*qK@j2$nOE8{Kaw7fd_bkOrAe7RCJK&Zq#=?i@;|TPbcxY@ z{>|AwR#CqDeg03D$1jh82JURv{J18rpU48TJ2y`51i2maN)@Q###Lo&^#^lp1oaP( z$TlqT?I2_1>equCvz!5o%@1x&Izr)lEUwL6ewP2B>))68`w&kDuavKvuo%R7UxmTf zJC1g~WrC_Um+x_wi>gYJRs5tS-0fJx(*uj@+~nnnAF2XZX2%E4vtmXeU+uwSbJ@+8 zd9UR$QwLVKeq@HAOxmds%(hQcqbgYz=ef3i4;dt=4(-$q8oXvmmGiS)PvZ7&CmbUP zQv}qE*-bM0^-A1Y+jkmL%$SIK$_p zqSaDO{2L?&B_UsiVCISkZs9W{G#gV`Yq?#7^${1UCVS~kppbL&cMB-Ri(b+mU8!@UnQ{O3;{jcSqRcU_4PCIz zsv(MBrV~~L7Xf_-bG3s8%O)Z%08bb_4XMB2M{L6xRftrrxA1Putaij;F(YmgJZ1E( z@4leOq-Bhw2*X#xas`Z85^=wv%G!&XgAwQNO_7%Rx-e&o@Jkk`p zk`{Yai=E&wWpq6oPx*JUTnzpiNtgcbd`HrW>HW}jeJ>UM=K)kW#+ed*)3xAGRc|#2 zLTQ`$*`mFgcq~J0;_}=oktXM6LU_Lps5RX(urJ-EI!J*YsQZM680F8M$@!cR3iqPa zeH&#(SlGRkjgl=Oj1oe-`(?IL{*EO)Gh#?p^3$nXi6D0hwbsd3&n7CH$p51S(kkJy z$%q$A+#;wfLOYLW?h<*_)*GVi$0yKey1A^Bl|Uv0ti@m+%ESsq>qR_QS0V@u?%JB- zTjuVDMA{L_HdI>pT&GxFmXvC1vnzpq&zF*I=;-jhX4tXXk@zT_|ICTo2<0PUC&2Y$ zejaXu9q6K7GWDQ%!M@J5VQx}Y!oS7!U~V7bA(%q2qzg$zcGRMGEt~qhL zw}SV68T}5>>z#(zP+wY%kP?>E%)Gd;CW!_rKIouaz-O zsPPl=Z0l-=q7+^=k7hJpE`YFPUey70X|mJR^ni_iDrP&BkjGZk?W1poa5bJZR(W$6 z1z2MAIhlK`0`}oLnuPe?ggvVw;&v>d+FZD3w+tFvm-y-(>Ty)mRPdQt-X(j;iYfdM z|EB&C`=|=YI44pef<|%LE1mis-S~jMk!8PVZ!;#JFQ&2R)p--<5jDYW evAHHu^XZcx*x!5i2KfPNJ6}_@5lF`t|Q=@&`bT z{dDqte8;9-Sul7Aov^med{c&%Z?w;dG;aVv= z33{x7aNioJd2>!fO{tx{~DR%4GocN1X>JEDpYUD7DKhG8Lh+a<7Kc^_8oxX+MbK}q?EzpnPx!3&)_+xj@kl?Y@U75BXuJ6(zPU=Wme-deaDY>}ZmF{f}CHq>$v z{sd35!P_dZGiQ@AlcL^~BY$9o6Lh~b8_p1NpKxdyk<26Y*|lU3Baic^W;khJScZicv&kF?3A`GmiH*t}r0 ztq&5^VD6{X&*1lVU?hAygUn0yR6mV%HUyD7nW_M_%uRYA$YO$?5 zDMn`rg?XJnALTeXA)nb6;kWV*pjwyKG`8?mCS=DqG3 z><0?@@(0%VTAzboz`=9;GD70DxZYKWUQ za&U5W2IwfgNFsR8IQN`3mpOxlue^Dcqv4xyQ!<20e{*4j7)hW0lZ0u3*MoV?FVsbm z98=B<(W{?;PRy#y;kPi*H$0?zsQGBQLm*5p8XjGt{I(9o?O6O$3eVI110=STs+Gi)faat7m6VDT988^xP^N7E zlL{b@xt@|QcTyo9S_E|@Cf9_}B|=MStzNT6!il4-SA7aCU2Md17pKh(7u{&_gm2W~ zPJc8z`Ic_BhBC(j*!>(7TbwecjRn4y-sB+*ve;s| \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/division.png b/libraries/path-bool/visual-tests/nesting-01/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..d913c062f16be8124c0ce378d912d7228fec33f9 GIT binary patch literal 1762 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 evAHHu^XZcx*x!5i2K \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/exclusion.png b/libraries/path-bool/visual-tests/nesting-01/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebcc0b2809876bed9488d062a3f2fd500ce12d GIT binary patch literal 1775 zcmaJ?aZDT69lrD7gK`{1TZst}lSZ97%>*Mtj48&fOR_9QO4ezDMHt&s8hMEWcESYb z;`(e@$r{o`l{PE^GF7H7npSX=jGD>^ca$)u630rW6^N021_f)v;OBS?_PE%4rrW=h z?(XUCz4!aQ@B4k_wLnNwtbX+DA=AgQ(YcT%Z{k&pb z30k;*$I{02b*{N0wkdZ)}*mNfDPN;*bb$!la6&^ zGb&<9p%yf1UYmM1`2*f)Z%<$Njl|dQ7!zqr`ANGQ*A8b&Xwq5>8dQrq%mlL%*OJcZ zKl2`PL7Shv#80OD@SLYGdhUXk+eBy|@ni7SbRB3NIByaQ3h-2jSUPx*V`=T)I;TTp za6T;VHSu0VouBN~KcZ*qK@j2$nOE8{Kaw7fd_bkOrAe7RCJK&Zq#=?i@;|TPbcxY@ z{>|AwR#CqDeg03D$1jh82JURv{J18rpU48TJ2y`51i2maN)@Q###Lo&^#^lp1oaP( z$TlqT?I2_1>equCvz!5o%@1x&Izr)lEUwL6ewP2B>))68`w&kDuavKvuo%R7UxmTf zJC1g~WrC_Um+x_wi>gYJRs5tS-0fJx(*uj@+~nnnAF2XZX2%E4vtmXeU+uwSbJ@+8 zd9UR$QwLVKeq@HAOxmds%(hQcqbgYz=ef3i4;dt=4(-$q8oXvmmGiS)PvZ7&CmbUP zQv}qE*-bM0^-A1Y+jkmL%$SIK$_p zqSaDO{2L?&B_UsiVCISkZs9W{G#gV`Yq?#7^${1UCVS~kppbL&cMB-Ri(b+mU8!@UnQ{O3;{jcSqRcU_4PCIz zsv(MBrV~~L7Xf_-bG3s8%O)Z%08bb_4XMB2M{L6xRftrrxA1Putaij;F(YmgJZ1E( z@4leOq-Bhw2*X#xas`Z85^=wv%G!&XgAwQNO_7%Rx-e&o@Jkk`p zk`{Yai=E&wWpq6oPx*JUTnzpiNtgcbd`HrW>HW}jeJ>UM=K)kW#+ed*)3xAGRc|#2 zLTQ`$*`mFgcq~J0;_}=oktXM6LU_Lps5RX(urJ-EI!J*YsQZM680F8M$@!cR3iqPa zeH&#(SlGRkjgl=Oj1oe-`(?IL{*EO)Gh#?p^3$nXi6D0hwbsd3&n7CH$p51S(kkJy z$%q$A+#;wfLOYLW?h<*_)*GVi$0yKey1A^Bl|Uv0ti@m+%ESsq>qR_QS0V@u?%JB- zTjuVDMA{L_HdI>pT&GxFmXvC1vnzpq&zF*I=;-jhX4tXXk@zT_|ICTo2<0PUC&2Y$ zejaXu9q6K7GWDQ%!M@J5VQx}Y!oS7!U~V7bA(%q2qzg$zcGRMGEt~qhL zw}SV68T}5>>z#(zP+wY%kP?>E%)Gd;CW!_rKIouaz-O zsPPl=Z0l-=q7+^=k7hJpE`YFPUey70X|mJR^ni_iDrP&BkjGZk?W1poa5bJZR(W$6 z1z2MAIhlK`0`}oLnuPe?ggvVw;&v>d+FZD3w+tFvm-y-(>Ty)mRPdQt-X(j;iYfdM z|EB&C`=|=YI44pef<|%LE1mis-S~jMk!8PVZ!;#JFQ&2R)p--<5jDYW evAHHu^XZcx*x!5i2KfPNJ6}_@5lF`t|Q=@&`bT z{dDqte8;9-Sul7Aov^med{c&%Z?w;dG;aVv= z33{x7aNioJd2>!fO{tx{~DR%4GocN1X>JEDpYUD7DKhG8Lh+a<7Kc^_8oxX+MbK}q?EzpnPx!3&)_+xj@kl?Y@U75BXuJ6(zPU=Wme-deaDY>}ZmF{f}CHq>$v z{sd35!P_dZGiQ@AlcL^~BY$9o6Lh~b8_p1NpKxdyk<26Y*|lU3Baic^W;khJScZicv&kF?3A`GmiH*t}r0 ztq&5^VD6{X&*1lVU?hAygUn0yR6mV%HUyD7nW_M_%uRYA$YO$?5 zDMn`rg?XJnALTeXA)nb6;kWV*pjwyKG`8?mCS=DqG3 z><0?@@(0%VTAzboz`=9;GD70DxZYKWUQ za&U5W2IwfgNFsR8IQN`3mpOxlue^Dcqv4xyQ!<20e{*4j7)hW0lZ0u3*MoV?FVsbm z98=B<(W{?;PRy#y;kPi*H$0?zsQGBQLm*5p8XjGt{I(9o?O6O$3eVI110=STs+Gi)faat7m6VDT988^xP^N7E zlL{b@xt@|QcTyo9S_E|@Cf9_}B|=MStzNT6!il4-SA7aCU2Md17pKh(7u{&_gm2W~ zPJc8z`Ic_BhBC(j*!>(7TbwecjRn4y-sB+*ve;s| \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/fracture.png b/libraries/path-bool/visual-tests/nesting-01/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..d913c062f16be8124c0ce378d912d7228fec33f9 GIT binary patch literal 1762 zcmXX{4@?`^8Nc)SPrw+Ob`}XZ&?M`o#j9OqU`U{lHPAF;f;F0gh#lJ-MKp21cDuq+ z9Bji9Qqpx&TLB`}phPLFRO~7pH7Uk^gixlrj@L$s!=Ks@5N1`<_&MJ2SseDBt4VkF zPWs-v@B4n=@AtcReph=;l$n=F5QOOXD^(}(`a=5N!N<>fPNJ6}_@5lF`t|Q=@&`bT z{dDqte8;9-Sul7Aov^med{c&%Z?w;dG;aVv= z33{x7aNioJd2>!fO{tx{~DR%4GocN1X>JEDpYUD7DKhG8Lh+a<7Kc^_8oxX+MbK}q?EzpnPx!3&)_+xj@kl?Y@U75BXuJ6(zPU=Wme-deaDY>}ZmF{f}CHq>$v z{sd35!P_dZGiQ@AlcL^~BY$9o6Lh~b8_p1NpKxdyk<26Y*|lU3Baic^W;khJScZicv&kF?3A`GmiH*t}r0 ztq&5^VD6{X&*1lVU?hAygUn0yR6mV%HUyD7nW_M_%uRYA$YO$?5 zDMn`rg?XJnALTeXA)nb6;kWV*pjwyKG`8?mCS=DqG3 z><0?@@(0%VTAzboz`=9;GD70DxZYKWUQ za&U5W2IwfgNFsR8IQN`3mpOxlue^Dcqv4xyQ!<20e{*4j7)hW0lZ0u3*MoV?FVsbm z98=B<(W{?;PRy#y;kPi*H$0?zsQGBQLm*5p8XjGt{I(9o?O6O$3eVI110=STs+Gi)faat7m6VDT988^xP^N7E zlL{b@xt@|QcTyo9S_E|@Cf9_}B|=MStzNT6!il4-SA7aCU2Md17pKh(7u{&_gm2W~ zPJc8z`Ic_BhBC(j*!>(7TbwecjRn4y-sB+*ve;s|^aoYzY4OJl3OgDpqlbMMBVl_ZZVn|^PbSTqyAnmhZ z-2%ubAmKyHFo21HCL`<>`s7`4e@t0v$TA4iwoi-?6Oi8W;`*vD@9jeNdC5KZoZNGN z=id9fzw^WSb6==;YIkB7rmi?sb`kkQTc%Q=*(gtYFbvPDC@Z~em%Rb_;3wDmeoIQX zH@ctxF?!?d_3_4MKmRuxy1ac~`n^TPA8n*>kzai~;yGsh%fCtI^h(hOLgMr*=aGX_ z@IpG?9g>^SN)Lyt)ova-X^cJ*h`CP`I?jiV|qzPDX4O@P*04{?ROt|@! zqmc=^l=yL#y^$FsUIO>j%9YwIzJVbL3)GSF1TGjP!}rc$N-?vGDMk21xRVVM5ry~h z1f_vdVeJA>rVE(~+2^|uY}m2zs01!lCy!PCvk2UT?}gbjOUGJq-<=F0JlMm=Hzo-s zPOD8%=CBAR4rJx7m{%u>xSTI!9;JJdQSct>{ODA@_7{5oPeSS33zvo8-_{bT=z(#v_3}e3Qtv9r?PT|1+Goigi2m(-8&#AzI6fY%Wvv z2dLMg*6yo0nhF2je!nrWo()>Lp&y~2TLP_8Cah(Kw;3CSIvf5x)cM^kJwFDDU8L9u zzZvXj \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/intersection.png b/libraries/path-bool/visual-tests/nesting-01/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..121b3299f5aef0c0a0451840ccbff81262d64743 GIT binary patch literal 855 zcmaJ=Z%k8H6o2hAZKIU#gNl>^aoYzY4OJl3OgDpqlbMMBVl_ZZVn|^PbSTqyAnmhZ z-2%ubAmKyHFo21HCL`<>`s7`4e@t0v$TA4iwoi-?6Oi8W;`*vD@9jeNdC5KZoZNGN z=id9fzw^WSb6==;YIkB7rmi?sb`kkQTc%Q=*(gtYFbvPDC@Z~em%Rb_;3wDmeoIQX zH@ctxF?!?d_3_4MKmRuxy1ac~`n^TPA8n*>kzai~;yGsh%fCtI^h(hOLgMr*=aGX_ z@IpG?9g>^SN)Lyt)ova-X^cJ*h`CP`I?jiV|qzPDX4O@P*04{?ROt|@! zqmc=^l=yL#y^$FsUIO>j%9YwIzJVbL3)GSF1TGjP!}rc$N-?vGDMk21xRVVM5ry~h z1f_vdVeJA>rVE(~+2^|uY}m2zs01!lCy!PCvk2UT?}gbjOUGJq-<=F0JlMm=Hzo-s zPOD8%=CBAR4rJx7m{%u>xSTI!9;JJdQSct>{ODA@_7{5oPeSS33zvo8-_{bT=z(#v_3}e3Qtv9r?PT|1+Goigi2m(-8&#AzI6fY%Wvv z2dLMg*6yo0nhF2je!nrWo()>Lp&y~2TLP_8Cah(Kw;3CSIvf5x)cM^kJwFDDU8L9u zzZvXjob#OL zoag=Oz0)Ugp;(9@2!87A(huOi@A*s;z*WJEw}lwxwo+%Hgea=T2pp^z$(`&5`7Mon&~ZKJnIC+<}W={j;K9)LJc zVy5vL7g$0}{^S$X-O+=T;&Qc~&lFSB%wn^SbXtOQzea!xjl%a?ev6)TAxDMudG!O+ zokLUz<{7SkT!94;wsY}If>ny?z2+z{)Wv0oad%o^eLqmeZY0@*ZF~<76K;ux7e_4{ zbLGZlVqaj}+6^n_;k%z!pvU}NN{ux=Yrm`bUjWfL0Rlrundb%47!Vs*H2Vn?jkNWS`=8HLU>k8gi3kdxI-tB zjSb#NB74!0Q1*Z`cp)FxbL{{sj49$;80c&UWr~14=JD!d z`A(rMwK8EODQnR*Tty}X8uH9lWD{cS;^M|GO?A{$E z>LC+&8U#KnKMg%!P#C~ zS}oc`3|EaSFhk0KkIQlaFO{#tmmBzVhju3#CB!dIfw6lfn`-<`GJ#81kZp_45Rpu&{s7T|D4xyh$;CV{(jGa-dRFf8W%* zfgWwwH0O}EX5|&p>Zm2kBXnesIl?SX^Fsn!cf9@&Y7#WXm|V8zwE|i{cf{O4g@L!;9n?tkR7EfGDUNi?$wv&^YaCa)~CTJ8!(gbX$$a?qc$0GWi zx`4P|agHqj2M{!fHnJBlSybqq1bRDpR_aPHY@;544pZiqMkj%04bkKOX*6X^qvTEn zj6DO(BtM!+*Qsry-E-m9F;Ia)y9}<_0|}=71ij2sE?b?I7!t!4+!FXJeY9jt;3MgD ft=eYFVR!VLo-*krlRv?~2s!oE>C(P8)vf;mmq%-6 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/union-ours.svg b/libraries/path-bool/visual-tests/nesting-01/test-results/union-ours.svg new file mode 100644 index 0000000000..13f1626731 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-01/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-01/test-results/union.png b/libraries/path-bool/visual-tests/nesting-01/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..123a97c98760e743ffaa2d7f34e57a9185270c7a GIT binary patch literal 1202 zcmXX`ZA@Eb6u!5Y7FM{hErE`f!9b1CL7f}0Zgd|S+?<$Ajafs0whLl~+LeJD7peV# zI40Bj$E*&P)=ZK3gOACeBrWU92v*m14KvaWW_zIle(=!?UBa!q-0M3uc|Y@>ob#OL zoag=Oz0)Ugp;(9@2!87A(huOi@A*s;z*WJEw}lwxwo+%Hgea=T2pp^z$(`&5`7Mon&~ZKJnIC+<}W={j;K9)LJc zVy5vL7g$0}{^S$X-O+=T;&Qc~&lFSB%wn^SbXtOQzea!xjl%a?ev6)TAxDMudG!O+ zokLUz<{7SkT!94;wsY}If>ny?z2+z{)Wv0oad%o^eLqmeZY0@*ZF~<76K;ux7e_4{ zbLGZlVqaj}+6^n_;k%z!pvU}NN{ux=Yrm`bUjWfL0Rlrundb%47!Vs*H2Vn?jkNWS`=8HLU>k8gi3kdxI-tB zjSb#NB74!0Q1*Z`cp)FxbL{{sj49$;80c&UWr~14=JD!d z`A(rMwK8EODQnR*Tty}X8uH9lWD{cS;^M|GO?A{$E z>LC+&8U#KnKMg%!P#C~ zS}oc`3|EaSFhk0KkIQlaFO{#tmmBzVhju3#CB!dIfw6lfn`-<`GJ#81kZp_45Rpu&{s7T|D4xyh$;CV{(jGa-dRFf8W%* zfgWwwH0O}EX5|&p>Zm2kBXnesIl?SX^Fsn!cf9@&Y7#WXm|V8zwE|i{cf{O4g@L!;9n?tkR7EfGDUNi?$wv&^YaCa)~CTJ8!(gbX$$a?qc$0GWi zx`4P|agHqj2M{!fHnJBlSybqq1bRDpR_aPHY@;544pZiqMkj%04bkKOX*6X^qvTEn zj6DO(BtM!+*Qsry-E-m9F;Ia)y9}<_0|}=71ij2sE?b?I7!t!4+!FXJeY9jt;3MgD ft=eYFVR!VLo-*krlRv?~2s!oE>C(P8)vf;mmq%-6 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.png b/libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..39c2cd143351636fed545e372563f99c9597f182 GIT binary patch literal 1188 zcma)6e@q)?7{2Rq2W}J=jp;82nK8zw0WyBHlR`y7M0AKDB?j6xA*3=^1|uuit!eKh zg18_2vA8W;yqYbuCWe({!I~6yU$Z(4Wofo$DGN%EEznFHTx}-p?5=*-PX0EzyZ3V6 z^FHtMeDC|+_$T|Dq&t*55CoAnf6(wLjOF5;N5E%?Bsqp4IepCy_3b437+~MM`q|l= zvGnl9sb3e|M_RhCT9$r#e)XPY&VJ}&_Ex;Ik+gab9{YZ*rthBTFIM$U`u87FoA0kW z)o-MIZOO=~`E-A~FnsxcFNGfY!STUgCcz}ApgNPT@%d}Da`Np^q?8YX!~xhTUDoLt9b($p*tZ&P$n$gFnPTncc|c- znKB6RJxq9n-Xx6c@tmv*frpISIK9YKW)Y57;O4Gn(}97nbC#32!7rM;-*qU;Yn2cd)`cX2gB#4g!- zxgY7UgoJ?#ui0kRe62RPiFj~c4+bI9%xj^-UT&CT*BYDnOUXWNnhv8(EDY8W50C)7Aj0E=bB`ReooJMD38Q=!fdlZW>&%!*k!yv70eTkI#gsiUk55++|3=OB5Pk8 zn4WWQT5Y9eQhOz|*T}i4ElF{pr;u2NMFD6jUmpshuosuNZ?E#3`#eP`Q z%oo8viXAnRE87{nnASYln_fa7h5>+}zWq)e;+n@=XgJu$Mans4I zmqgYz9QyD<1mhoC%<40f!Zz&{dV*L!;j9@{Nb*g_%8XPsug=m&2nVsax^H*xvJy7E z9w{X1RAia(B+!#rP9?*>m!Se5&92x|mHb^0LVQ~HmI&De$1((IW#9gsj}qnSI&%&~z$aEZBh11nW=t;JULAU^^gRk)aI&4^f_SDB+NDlZck9}CaF+>*>q79zcE#?1 tLFVJEazmh}ooP;a8W87=w9y%#ID*GsXhUsv@b7~(H|}q^`mX7Ve*vW6Qv?72 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.svg new file mode 100644 index 0000000000..1792e26cfa --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-02/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/difference.png b/libraries/path-bool/visual-tests/nesting-02/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf6b615cb4f4fa6de66ee02e40963dde658427b GIT binary patch literal 1188 zcma)6e@q)?7{2S#0|(dPoM}rdY`Vn6C54S28>4_z5OE2pnOzJ&QnQeTbp^YHave>3 zbx~w<{A1XbXNcrJ?EHcH1v;`i7n{7zX>48ytqT?rtfs9y#~0m zF)hj1-az=ge}im&sEeO`xj=1PE#E3jvrx@TZmCq9M~wt~*Qc4xe)IqjetPSyF@8!I zrzaG$5r1$o@vlP|^z(S~T1xk^cKxt8i+XUgE`C}@x%?xz_cQGu76G87H*;=qVQ}0nDr_pz&x$i!_~;?D87uBC!e;!}*-h#qf~} zErGTx`(18RA>}E7@oI%ZW>b|v*|w8hfTjpF;st8+)zuFfPSsEFgjAY3vO#&u#68dt zoQ~XXfq6&Be&23!R+zN&+IHcFe{+d%X#NNzu4-o#sgy*eX<@Ut%iVAfJgG9!xezvvT)60~bm~<( z*5p5sHkrDU&abAV60sPWxV3SB2+|Fh9Bx?&3pqMq>*)kY zCO%dozJu(s!e_4RMOdWzCzJTIf^A+ZS0W0o&pi8NN%CB+Md|i2XemdS6UzToDFP}` z4-uq{1Z{`(WyZ#o`4b_?meO4#cW24gJX$Zz9S~QUstc?86oJ0+mUM~@G+8)j!-F%! zebc#CEXHrh@#bL{;PfL4YK)y;I+&qD5;vSJm7W+YdH-`;TDec_)DPHprS?CKc##eB b(hFyfMxUDcJ)(iP4_05>P;>JY>j(b<$2e9C literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.png b/libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..b03fde6dff350d5007ec942fb815c7d9dc5d64aa GIT binary patch literal 1178 zcma)6eM}p57{2S#8x9U|X7-D0&dr$3q%dev)c6-mht& zd!F}wo+mf-hVc-!Rk;%USFLr$zx%$2vLu07gXG#Z$=0bIH`T!eK^HJ18cqyUe+Pv2= zllv7lHnodFtrPJEi4owVO407RtQh6tw(Z)Iu=ddP`=C9^S@-pIkdto;txz z(bGAyus`@q`Y$^->W|@>PqXq5Wbv2yJIICW<*Ab*%Hh9&#ku#t-VS;q$dL{=M2=gO zz%hZrv5%W@TE+{6z3q{wd7U}24b4j!Nz9?DadyY4uF2F^o z-tx(t$)7|UIstFv^&Zh0o6qDl7N(AK4d@Z(U0@bnL@+PQNYwbOKTLX*OHvD&YR(*k z6g2z~D8}n^M!0+oS!NA9XoD>`zzW$yA9vaRF*%%Yw{m;YKq~s96f{J&X8m9XcU>w6 zm1?>qEHO~-Qa&oo4--2nx2Ct)ibr*ElpM@f_H5g9x(3K>atC2kFW8|?=l>WgT5W^+blb&4r= z1H#6aJ49M#N)cfGrR{_j9<9WT<}(;^QMND!O^8tfm8S)pafj0=x>B#A%b;Q`dGD;Z zu1_H;wr2i>j)~Mg^bW{H!&f6UyFLYw9R<9V3jyuH=hd(J@LLQ!md~!3UCkv&PL9}I zJpkE)M>PD~s4H3V)P-FLyKh)jgW+P%=9Su9F~yL!Z&2$I^62khdTiVaB`RYGh+mjp6JJpe|l!_)RmTY)% zAv82!X2p`R4Y6x6$O4>x*oIn?Cs(Qp`!>r;%_wq;*<68geK bW5RB2as1LZPgJ?!or5(UG&Wv+#robqTvAE1 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.svg b/libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.svg new file mode 100644 index 0000000000..4b666db937 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-02/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/division.png b/libraries/path-bool/visual-tests/nesting-02/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..a0689e3de6646e8bd3d31eb49b7730a8caf95d13 GIT binary patch literal 1178 zcma)6e@qi+7{2S3TLW!1E?sNe$lT^1a|DHyU;tmTKz%JCz# zH!_iIO0s3*M$(#?$o|2SH4HPTy@omrb!!MQ44w4EFtW_G*EQ4D)!yE(IQ@6Y-F=t4 z=X;*_ectD8=-v8#l6+-8hGCN0{nhWoT7pgy3D?7d^dN=_kJeUK9i;F-8REh#N6!72 z;JadHuHP6tS=VyecKiD$N9*VAa|gWcU8OI@(vGR)J(mV6tT(-X1yo=0cfQTU_pUj0 zJNfDN($O>XeA~fn*Tw(+D)M`f>FvBW&WtmqE@Rp=H1DfaPDZP^4PkEX-4{mp|5Sut-d+-5Cvcn`s~dvrcKK;K2g!`EtUpP910c zR4_+2MSJe1AKBP3I*Mn%;T5Olu`=!^(~IjBsS^n0phvJ6`{@rd&_f_cda7#Xm{|!N zlNc;J*~xCRSD1PA@XQNbg(HCp27MHQRUX*&BE#oSgrlj}Tey^*J>14-&85+W~UpSYWklt=i zrymZGK(meY;==QmX&Dgqx&pt|fKA8Pi*$>=P)6l*FJ?b>pt6w4mdH_gstqTp&79ah zI}Y|np-uj~d(1wfP@*P2#Nwhp9sfqIxG~z&u~i^$X1y?^ekDal?jAx$q7K381=ur( znN?8pWP14JqPJc64f`W2I}Kv)p#7ITP;6x_RPZcN_wDWwKe5nh=tQjMi2!*Od9YPK z*a)=9xb^r`S|zmLPfa~PvYo-8qu01ari*aSZqVlP<6cCrM96JIu9@}G4_BKSOs6p7 zywh(4GN4wu=Ngbx;)$@mryU^A{TGdeq44HrEExw{G-|_aG8YjK-nO>9qJs2PVa1X@ z8Fwoa4t*plaixcS1zZd$*u%LVuF`;+d2B`-gUcTJt`{-N*9)?1TX!Mvg5-#;dz?>?}X z9Z1f87!O}uN}fB(nXmlsDe9kj(9^N#1zu3%sE>R4mwXj6@(2}HF(F{W>_j5_>atzC zkopTwpgDM#Gl;8V)+ePYKoGmLWUpB0>^9EV<_*rNnMUAp)>d?tWpI^<~ z0!?VGD3C=exicA5*E94Njwl-FHOvedc8&Br*o8dCJsxG3Ww>$T_JbM!AqED7Nu3_S zS{9i*0;^%7$5Bixw7$UT-BLlNoXlnPFzXtab!pM<9?U~%#Pl_1BRx6OCS_Y_uk(I^ z&{~@ODTv$T@Y_Vb1na0~DnJt^E~Yk2j!8T)W?$)`uQ)H^gE6Z{4D%^Z9+`#qYaz0| zKLV4PLNJY(#HqWdpx;sG_tO=qLR6W_wsFmn^d?+G(FZeR0J4XP#34rFzV7AgNF*dh zclI<;Xvb;Lx?OO*p%=kMBacJC45c(KC1Qc^VUsNe)KcQvNOpnm7PTKDAtbVqjDw*B~TEKo&DAkoLRhM+yP59*&%%Vdvqt-bjq^P%Z3v z-&`4lxDcJ3JwRWJkMu9+>XGdN1MfeNRmBt>zXN(4!S%0p@X9p(-Ln?47%zOryeT \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/exclusion.png b/libraries/path-bool/visual-tests/nesting-02/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..c471e1d5197ae53e8e082a8fd3a61413c4a66037 GIT binary patch literal 1233 zcma)6eM}o=9KP$716z*HL`K(ECX3(9LRKiSG3p13hz>PNh#8b7gj80#ZZc^*YTJ`! zh`Q~s!6M6bjwmJux`ad^6z(N3F?{SaWENH_2L^B%TMwGZ6}r~9Ezy5X?(V(Z{odz! ze$Vf@Yk&Vl86lF15CkF0-!A09RL47R>WJ#lqfqm}=?mYt9W&f@Z_)Cr(ZwIafwxv21usX3 zKL{;dnu?w|88LVN?^n$IG0<}Eb}#4!D(9(?t9`2fxYTl#SyFOdV8R?kIPKQ7Lo*S7 z3MxSk(O`;aKeOcn(+J&^&G}>NY;gNGUqBN-S9(aH-yn+4H=|$~b>*uqXEj2J;0qmC8R&X|(s{&Q1`*y!a&D{mH zXl3%K*peNo7c$LHu%9^t=;%fL&{h4eksSlO5XZQOlih6XsOg(u9rEOHP!N_ux&(f) zWnU+phKcP#F-?-~DNaXa2uj3-X~j~Dftq6w)2#S!KhR?mfyJoH;0;P&l3fOE>?a`jlK}XdA-DGUr;hhSjh$ z1{v6D3=pv78D}RBb83v#uN)CdL3nZj`X8^YC~l*1nEXuEJ+v|clbI>p>r4E6oZdk} zN;#B!pt!9j29Dd4;iUV?I>bcS(&4B( z;|4_maE&F84j( z^S;mXzVG#ZR(wt>kxLK+krtjW_#Ce3!hL{%&vH?)2SH+fDl9l#YC@j^?8mphyfVEL zX?xcH>%9GPQO#)M>aAB-{WrENA3JPkGTwX^Y;}Fr@pF%+;Sa}iTJc?E{g;scqb)M~ zorwEF(APg3X(|o3UH{)(%;PE0X}mK6MnHzOA~@VT>�skm%WUSY@_Xc-gYcB$6BEN_;uuf`s6JN#kqVcZ8zsgt_ zHB4B<%Uix~c4b4(+O2({!MJjoEun@`%XS$%A*@%o{ry(W_~w}D))2CB(3CI)ZD?lg zR3B(YQ*lpbBsYfH8lfJ7hQO&As86pjrLZzm>WSlWL37}m&3jmf!|bXmjT&wp+F6ZO zzyl9O9e8wKLQpkuO(I z2QE-{B!08HE|IT?;$i%q&6$^C*)fU{>90oAn`dH@fYweElL{D2rtPVM zM<7Xe;uAHbK8MX9dIf)q9SiQhF0ekrUpBCAh_FqyEDN;tkT(1u?F}elqmR@WWujPv zKGP-ANzK_@_CBqTun@~zIVs`|Ie(Eoi^LQ83R7D6g}3%Vx;41uJ`Bm+6#bwb>RSX1 z;?~-C1xNzyW(LwG{xBYk66ukAmxz`^Oonz4Qp$N53u`z5AxC4ld!QV3EYP1+b|cvL z5w%c_No2wOkfd?nog?i+P--(nt&hiOU)|i)d=Mf z9i0yxit4AQh4MjwMu;Ako9fwGYt0N8#{M~J`*uIU7p<^pQOji>!!T}EF>fnBu%h!M zT_J1;qbSp^R-n2CXYX8s0SV|BIO&x;_khv%>3-%_-r7=IVaQQ{khddxGBD`9{PNw4 U!)tfpPYWshu()9KeZ$xP0`DbfWB>pF literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/nesting-02/test-results/fracture-ours.svg new file mode 100644 index 0000000000..dc1090e73b --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-02/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/fracture.png b/libraries/path-bool/visual-tests/nesting-02/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..c999b217bad2bc4e60e4ff79a920af621f205372 GIT binary patch literal 1243 zcma)6eM}o=7{BYsbpkDH%AhTb&CU2RQ@&c{qfk-iL=sSgFawmD#WYw-sU&bf)9XnB zK?MI|m~3f{OT@$!jEyVF3Vjti7oC$%hBM?)L^hAE_|>G`r`OPbN0LU?Z<=6E8fM zxc$aKaC|Az)fn%)`Mm|LIV%Ku0N&>w6UzdnVf6su?*C3ymFJaoi5ZMADaaqhr_u&g&LaQ9!>1}QC z=s9~}h>T#`KeA(2U(6Hcgv$;~j#$L4p?+4ytb+!=_gg~Zcjbx}Qg8!Z%JiY>wX5Y4 zi;B^Dbg-Nf2%;DZ4Ezy95MqT$^Sch8V18Cl*MWRqgvaP;7r7r2t_!uixuLAzn`k%b zz^tOx?cgxIwke~hZDYV-UMr*<$SKqsZldS8^?EomZmXCJeS_bcLN-(Jj43FCiJm6M zfC-mv>KH9}ZjTdTQ(*?@AkqwPY^ zX=?8m(99=<>fD%ucE+Yos@I>g?V}5#n9RQ2WPji$Mf?a~z2znYs8$p+&RpraW1cC! z7ai!JZ<0Yw!P5vmSXA13wlJHn2F19<&C`f2=}drKp5W(+Ez0gR9qKvHY_N-P z#9R)$@7)sxHYm@69EMBPBQ2cx@|aXRw*@Z4m>fQCq+Pbaea*yN8j2NAJG0OcRvC^_ z?_|LcNb;MoLSj)eKY&780IN#HjqyW2$J+0Mp6Y@KJ(JVR(aK^{yZ1j@POtq?u)cK| z;eV2~;)G%a#jN;<7J2~f?XO=X-B^_z&ww7Ku+1@|(k$hr>EeGulXBE1{ESA-Dw$%S zpmydV+&%3z{SU@u_nFxv#mW zfCJ#Lt)a4{v-hD{Gb3V433K+iFKxk5`Y24vIiI4-{)7UBFikD)SpURJPCq~HxOjc`@ep4vGkNS1b)$F>qcrH(eYjT@%3mHq5*{c*lfrXusf(#HL4b+iA=bdc<& b$MTHsD@DU3Z$Iw?hAV@otDnm{r-UW|o?g!X literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/nesting-02/test-results/intersection-ours.svg new file mode 100644 index 0000000000..332339c278 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-02/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/intersection.png b/libraries/path-bool/visual-tests/nesting-02/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..331c97c5784d916856298d3a5c0a110e0c6629a0 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FuHoWIEGX(zCFOaKqYe8v5)`D z-}Rn2v%JVVd0p=9ZBUfiGjE#L`gumiO7DJ_ZO^J&)^44Bb^WLP(o_H6UGe9=+tYe; zt^d0Nf8Oss^*=A)$F>qcrH(eYjT@%3mHq5*{c*lfrXusf(#HL4b+iA=bdc<& b$MTHsD@DU3Z$Iw?hAV@otDnm{r-UW|o?g!X literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/union-ours.png b/libraries/path-bool/visual-tests/nesting-02/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..47c8cb95c4ca547a2dbd56246bd2b64dda6fc2ed GIT binary patch literal 1182 zcma)6eM}o=7{BYmL7)dqbW$jDvMeSJ(-8`#n;mS5VkKc}mXM`TnvkWk+O-=IT87-+ zNStI2{&F*bSCd6CG0+(@yJQ`GE1eivbJ0eTvC;!0M91KO#I>VqeR^dk{%3OE?{mMe z=eg^9yP=NCDayexjMBeZ`!1ZzQhPQD$3|J~B8Fw0($^k4;lLjv;*0$!ul%r)>|DG2 z=g;05MWaZ~7-Fuz>G2~9$6-FA5@(T(ps9G?^%=S*AU#F( zcs|*|`bgDA_mfJgz(?GlrjG>LyR81>%KqCLu^IKU1}I4sMXf@oW8zF^j}orTOmkwZ zgq!VU*Gc08MYQ$k-pt~aLr*km6sl>-8Lt%Q(Q(2zN#_N|_he1vI4puT-(DO&E!=ka zB|H!7T8urm3L|U;PYfm%ADg#d5=NcI8p699czJT+5YYtd%`ug^{M>rz7*=#1#l4t z7rbz2H3eHCs&(|gus?&I^*g@LZ_079?BJjQ^iL?G$}}vrl~~;z?k8+iw+5P!MYt$$ zL9%P9JVSxv55hSB7Df?K2OV!q%^Mdw4<)*6!H>)Ud#R!6BaHZrcI`|>AvYyWirikx zL%+;KzRb}ke8bExx4fu&jlu8I!>I^U69f@H&3v%*KW*`v()25_Ht30qV`46ILDVt^; \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-02/test-results/union.png b/libraries/path-bool/visual-tests/nesting-02/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..a7bbc4fe65ecb00973a20a9f4a87d47fbef5572f GIT binary patch literal 1182 zcma)6e@q*79KCYmAkYKUOiBx>7!%`&EeoyP>BWuAu&pKY1PpWaslgU&|)m{>9e1 zBR~IMhB>pGKXEW;x%$6fg??Q`qk~JcXcjfuwHepcvbSAA?G7;tE{x2$jm%ce-LYwc z!c(+gR7nie0YZ@+d)guZ0{H5(tvxt2Vp{Bxon26IN05Wo0wgC*n^+5V>qPOm46Y3J zBe_()Gwh%fgzk|f-M?2}TpQo@R8?Rhd)KVl7VbXk!2`E#6+v%Z$*nTV$hK7u)TWQK z3)G^(=c8Q@GJl#_H_eE0m-3QN44bd8vsRr3_iqQ?5D}fWMa;N{%&NFn^*Jrg5aZHx zoqon93wmo?Zm;a;&RVSTiR(3P`a(4HdQYc#wi}5F6WP!{fy18<}V~9IdSJEL(f5b|*?2oVUtbV>jLMuQVm`x{V=1{1A&-R!w=$1?`kz{q7Yp)MkmSeGz(Lr8fjV{p<`J@L;XXhPt4>&dHk>vV z)F*lMK3qxq#RKb-^w3`U($KSl!9euiS*%|7+C#BO@MvkHJ(I9Bz^s^|3$?>A+Q7Q4 zs==Bfu|5}%6z48A=%j5wcni)0(>G5qH%;Zwm$K$G^T?cgMtx)B@~dmtzK8z~*8SFj K&g*aJPyGdTN?R8I literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/difference-ours.png b/libraries/path-bool/visual-tests/nesting-03/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..615418e6264aa334756fd95079e4b8087c2bc177 GIT binary patch literal 2376 zcmY*beNYqW8Q)~dVo6qPdmQp1*iLWSX=p+f5;)hScY0$jH`wd7aF&oTW0}B3NVs^g zkwB8;4y;<8=?8I;3GLl@wBv<%r5HN|vK%5EBW9FpL^N5+K*kZxOTs}Y5&9(BKRWrE z$>!bX_dL(6R#}6TKcT{h6-%>>o$+GB@%5b>PxAz>40M;#M77ab<`6E&A6$3m&8fmA=p9BK z#k4$E5xTEv%BAZEVwxJOustWHVbyeAA88~nc}{Iz`gG4$;~&{0f=SHJr#0-5B^ZCQ z$aRzPBD7cWoh!eI{gBm|t2b&-WKMNh`nbw$cF61?ls%iTnknCT`}v( zKUgO@sZ5K#&kh;J8hIN;OkFbz=-vU23NGZbgNAN37KVD85(jCNqMc?h zAv+aX_A{%x84=pW*r}Yk(jBSoeEPAI+ujpemN6~SfYb``dSZgmVERU_QxmStN7sqE{fQdQE zQe#I4enQPQjoCYoxOpy#cjXQgl(Q~;vaVr=En!Zxq1^GKSpE2y z4z8?6z23lnh>g8A-eIZ6mX0PMXgKbv!RN(j7v-77 ztJx3D?uF8kV)QO%0&;m*?lWQCObF{EcMi~n=$P5fRraV`x9Eh{HWJ;U`jf!z$-87e z>$il7_D;1SpB*-ot4QO&%W%`g%c}d#Rs2eq6kQARjD_Bnhl#Q7HcJ;u+g?R?uzcVN zs@teNOZcoVMw=_GWnKR-NtiS4!zAf zQj{Q_gNQZQo|d3rQ=Y0+RAaU-ls*@DBhysBmm6!`2pXl{$gimW01?|^o7O}N(zmih z9OZfSI>;4zd2oGjM52pdF#8tdH#N9;qIMG8U}htmzGi1s(W4H)-;9ilkpgF=H&1|W z$0u9sZS!MPe-*5JbPKy3dbwO>=&mx9rxSGH=2G5`LF!!Sm=O3n+hm)64-=E9#`d(r zHeUe%aF=9r3CbH9Y}0nk896G30>|b}QZ7v-PIMT$Q=@_K7zW=zFZM>HoCj$-p?9Sw zSrfWw*a$wCcq6k^e<}`?ZZ>p3WYj|0JOGaY9^n}f-_a^l5|Hrng&Q5(QoLYOOkvq{#e zUdv5FhmAX-Q(kVWh^t6Bqn|j0YhP}zIrmCN$x1cT8VyGuGV8jT*Vr*eFpg2@FXSeWB4Etn;6XdT_CA-e!gF;-h<74zLNJ%gpTW z9}QVR=Q~otQ45qseYmmsk|*H_4s4VUQ+evN_#XYe45A7A1EduD!b-IBVa;IbdlSb$ zvm{JR177X}!b^~kITVe<#cB-XE%jdJyS5^qVg)+W^OCNaL;uZ5w4Y4+DJlS+3O0W{ zng+8^I{xzOj8;DrNU-jkRDU&V=UJhxI@@#$9+((}AUej5#GI{S_Azq+H)f(cU_6}m z^Bxhjq<@n#iOF~dSbP|qya8-cjS5T&58ut$UAlC_pGLz%Ie96Ndbg?maAMDfEY@Kt zKasfzp3RNbu@`A&fHX>wz&37&0EUNRsRlUIVM&d?oz4ZtYi+(nRQ)e`_^W=X=#rp! znI_w`2qp8GRLp&{hk(sMX5*8F@?mBcbCX*{Sup2DoBXPK@dD4?Py(c{1mt{336V~y z6IN2&=|UZ(xbjkfkU^}9hJk&^=c;*;%Y-rwqT2!1o6Kba0$K(z2e}ye>K*#lB3CZ> zf+yAsZ@76hv6Fqh=BE3m2niW0md|}~z1C_LbNpHFEs6KVpS;+39&3k4Rh}1~0p(?w z0QE`WQ4ToSWC&BiZ9m-?pWVA1{xH}rzPZ3ci@6VIcI8i|y;n`AgG?0;h75 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/difference.png b/libraries/path-bool/visual-tests/nesting-03/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..615418e6264aa334756fd95079e4b8087c2bc177 GIT binary patch literal 2376 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/division-ours.svg b/libraries/path-bool/visual-tests/nesting-03/test-results/division-ours.svg new file mode 100644 index 0000000000..5f187ee43b --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-03/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/division.png b/libraries/path-bool/visual-tests/nesting-03/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a9ac74761e3701456c25c5c24b695f2f5da220 GIT binary patch literal 2480 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/exclusion.png b/libraries/path-bool/visual-tests/nesting-03/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..615418e6264aa334756fd95079e4b8087c2bc177 GIT binary patch literal 2376 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/nesting-03/test-results/fracture-ours.svg new file mode 100644 index 0000000000..5f187ee43b --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-03/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/fracture.png b/libraries/path-bool/visual-tests/nesting-03/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a9ac74761e3701456c25c5c24b695f2f5da220 GIT binary patch literal 2480 zcmXX|4Nwzj8r~nWK}d*gjVMZ}*XwvSN~|J3xr;~#9TB_pbEtk&!>%Y|JidwIvZ>HW>t08!{S{CJD?5}plAC7;jL<*Di9 z=vKay71#P6(EeKfhBZXRQ;{-Jr}k0{*!lFZI&0{Mu5_`O@-1N-N~^u zVGlas=x&}0T}!N(%Dj->c#L4_%@v~hNNkh#<^ttO<*%~NNmFl{u!QbL8deLVn(za(lhMkVRDQEb3k_vY z3f#$duPsr~0|f<-lW*d&-0irG@T4%ih1WFU3cl0IQHrnRirGJv2SnyvE|94SFQHX@lCY$y6>~HB!Z50@^&Mgl3hkDR zCy-t><=*YgOdmO(KVJsKsnV0N9D^k0zhav#*h@y&@iy!8su6-Y%3o*2;dToQS9t!L zGP20m`8ZeD&GH|P-9gze2~}Cu`SX8DbSNTXIcjs>f3KNJiU>L>`a;DQoxN*>GNi{< zzRqp%!U`e**Das}9?KD)qy3enQ?%|Jp4BgZPpOd5nJa@H-d#ZyrbLh12bRdd9XXIU z&!7}uM3uO=U+#nn3$K9|LX_o{a#R+rvkx33%gL?mbM{%_(^#p37|GCt?_(h#JvSdm zNx(+vHG@H~ED@}GpZ4!$IlNHJP~7}|kV}?N9>Cpc-1K!ARx$tB)McYa&+1H-EZ^dy zm`eM=g2AVYw0kn5)sAR3f8EqIb36F@3L$DHT4qdLPResuY1xoiM`!dc2<@Y7P>$h! z*0Wf;bzBpUqk2q6)JzmqW5obyD^OB;^PX{cT5JtB1H{7DqNlj&J7_1nKzcp`wLL@M zJA;j8@Hg0T+8;9b4o2EXsW%82Q3y)uU;~6D6=>vQF9#Qws#fUK1V9*lA)%_zIv6Y+ z-OY+g0ATuKz=H0$Jk}DLEc&|M=&PS=*IrV>oAl;#b3CTqz~3@;W#JM!nc2?Gf5%#F zg!a;MzEkR6Q<2!IjZ!4Niduy#XMd-=PB4%3%VnUCy=r&Pa#-7@jN7LkRXDmYO`XNg z;q*n_QlkSJC6=v-kMF&xw0~)A*shN43-^cnI0aJju z`F8MQ+Fu;msyeb5_yDux1|>JY-O+u1+0xW6SKaA+yo;O5!$(pQ_k)^RB{zNTcF?uh zy5QG@zok2lIGA5?UH3YFq`1ESX~GiwfYRvWgshORJ9yqy!tpRCPcrYs<88Xe%`bs@ z-k|;Iwcw?$xvVLt)jQdu3J%9Xo~wlt+OLmn^=6`SGM39t|5+0rpgX{P7siUd?lbr* zBkh(;O2y~KpQ`N>_c2QbuVatcXJ>B*8<~=TG&x$$_be_f)qoM;fqvsp3J23@uTGC< z+9x{5A(2JQyG&g&YKt%kMpY#vMs3Pbar9Vx7POh=V9NP@w7(t{f0%DJbp<9%E#e`m zBYKRzJUOgLa;K}!KvjPt3|zS9Qd4h;8a<`dZb&F$%HV6nWx-)fn{M$KR_klFc91c- z@GV^?eia?W%lnNDrM$B{c+2V}v~B4Roz_+ywgSc5p2+BM#Sef1v)(?j3EeoUtiy5V zcWF!*GI z>g&$lRD;rXB25^;g2U%hYj$m1+Lj>Qg4jdmQ}OC=iX-iI+?^-*-EYI2)WG&Typ;B5 zboPO9!U5pF+6dZq6FB<#%CkR+^eMBnDGM_a=$BDK+X z4{Q3u*pSJ)ZvUu<;28$b%@*#zTU;bHgP^`ZOSL{VDZ@Rdn|eaHf-vt=yR!rv-LU{z z-pj_F{l=H+CY3ZMNA-9J=6{@jhCQRyW-xk?vpDkUgOr#Ava8&9K;+3{HYXfC^jW7{ zA`H@-@21X=LK(!xYqS#(5?^Gx#H5S@cf6>q5v_bChPMb>^uKPtR1srx)2R8F{e-VBzXiVp5c zgPoSrsEky>kwd+aOgKtL_g%SH3SsA`TRGg5F*I@DbkxEX{|`Dv BKMMH$rgt>|Zi(=%?7J4Uf z#pvV{ut8I{8P+AH)`Td!w)7a;ScdF^L|H}KD~xsqrALeOs-@ji^~-W^xjfJR<@x_! zE__y2imuFE2|*CL?~}csgKt6VS&o4B;k1|uf`pcRd-r^S3!c*O_ivYX{63#-ocrdF zJJwVCtFP5f-h6%6T(We0YPY<<{jIs!nf~Kve=_aV-m{0@;`ZdDpW~sAXN-!iNyouh zTU5>VlAVF#B^jrnZSmnB!jfql8AVjNc!Bhxjjn=yXgo8iY&G^UXMsQA-{tPn6P&Jv?+1wa?1kMVacjWLj>{Uv`-}-IREy z%;0Oubb$|b%9C<8>Qr!=qThKZ8%%Uy2$iMyh*_+v5`hNG~~{l|1oxqy?U84iWlx;)=E}S zhLA*;Xs(xvBHoOmzZ#y`v9`g^59nd2YBa;dce)C>!_aP_Q^q{DQxk$SM8|%*5#9~5 zYe5gy&@kmoQ*{Lw#_35ePYTCn(zR1ni>KK^iO>LI98}a_-i+`kSS#W8=Hfcm1`TB3 zI?H$|Ts3qQoIX>!_Pl7$MMaylxe?6D2$WxIV!0sq7EY>9lf*HD*)3|201DgchI_sWcmi>+p((RA5S6|UzhL5 z!Iv`^*_ghDJ7a#8)D|&hoUEN1v?Mb{p?ctvdXA79H+9Dc^MAaa-xw%^ts{>JT(1&^B zoj&Z_U`dM0fDKT8*cY-B9Ya@DpCMGOqFPZ=3RA2b?=XRQ$#gH}PAgy*C+LxS&pT`pIHvGL4cQYYZhDgmSH_29 zTS;cBcuCHL$1&qF>E8!nLl*P+3RRt=tUeNodTFf$Rs!Pe!bT26;;Wr%H;PT$sZhXk z8Lk@bGl;nR@ky7AtAwi1^+C^o_!ShBnDGtO^_=S&&SySIGTP@VJRD!u>Dta^vi8^n zp<_)D(9to=_+$!|ZL}m3KZyGQ9zB&s0~yY345**aZK+tiPitW#{BS5EdY8@;NKmev z)mm}( zfN5+$QD#S-h1`A22uvW03GV`>r60v-4GK;LNl-&ha+?z2k6UK6WLu!*Bj5^FN(1SZ zhJoO>0JHK1^kl!F`8y3EVJ{M6n-g^^F_7LKNSbn!Lv#z_KOuanMnDG;2#hMZ0~lBo zQHt?wWH*3~%3F=@X)rJy>Xg-A63wmQ##4hppM-TLz70(9 uWGeFZ)FJkeTEqkPZb~#>`JbsKR?pvhUUBrxTg||*p?xJ~d#`<{KKCE{zaIDi literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/nesting-03/test-results/intersection-ours.svg new file mode 100644 index 0000000000..4fd3f3538c --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-03/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/intersection.png b/libraries/path-bool/visual-tests/nesting-03/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..78da053e6eb9d1321ba6adc30099d96b6f52fdfa GIT binary patch literal 1495 zcmY*ZZA=qq9KUk*P~im4Se2^PWs8Yp6en##&pJ05b0#>KMMH$rgt>|Zi(=%?7J4Uf z#pvV{ut8I{8P+AH)`Td!w)7a;ScdF^L|H}KD~xsqrALeOs-@ji^~-W^xjfJR<@x_! zE__y2imuFE2|*CL?~}csgKt6VS&o4B;k1|uf`pcRd-r^S3!c*O_ivYX{63#-ocrdF zJJwVCtFP5f-h6%6T(We0YPY<<{jIs!nf~Kve=_aV-m{0@;`ZdDpW~sAXN-!iNyouh zTU5>VlAVF#B^jrnZSmnB!jfql8AVjNc!Bhxjjn=yXgo8iY&G^UXMsQA-{tPn6P&Jv?+1wa?1kMVacjWLj>{Uv`-}-IREy z%;0Oubb$|b%9C<8>Qr!=qThKZ8%%Uy2$iMyh*_+v5`hNG~~{l|1oxqy?U84iWlx;)=E}S zhLA*;Xs(xvBHoOmzZ#y`v9`g^59nd2YBa;dce)C>!_aP_Q^q{DQxk$SM8|%*5#9~5 zYe5gy&@kmoQ*{Lw#_35ePYTCn(zR1ni>KK^iO>LI98}a_-i+`kSS#W8=Hfcm1`TB3 zI?H$|Ts3qQoIX>!_Pl7$MMaylxe?6D2$WxIV!0sq7EY>9lf*HD*)3|201DgchI_sWcmi>+p((RA5S6|UzhL5 z!Iv`^*_ghDJ7a#8)D|&hoUEN1v?Mb{p?ctvdXA79H+9Dc^MAaa-xw%^ts{>JT(1&^B zoj&Z_U`dM0fDKT8*cY-B9Ya@DpCMGOqFPZ=3RA2b?=XRQ$#gH}PAgy*C+LxS&pT`pIHvGL4cQYYZhDgmSH_29 zTS;cBcuCHL$1&qF>E8!nLl*P+3RRt=tUeNodTFf$Rs!Pe!bT26;;Wr%H;PT$sZhXk z8Lk@bGl;nR@ky7AtAwi1^+C^o_!ShBnDGtO^_=S&&SySIGTP@VJRD!u>Dta^vi8^n zp<_)D(9to=_+$!|ZL}m3KZyGQ9zB&s0~yY345**aZK+tiPitW#{BS5EdY8@;NKmev z)mm}( zfN5+$QD#S-h1`A22uvW03GV`>r60v-4GK;LNl-&ha+?z2k6UK6WLu!*Bj5^FN(1SZ zhJoO>0JHK1^kl!F`8y3EVJ{M6n-g^^F_7LKNSbn!Lv#z_KOuanMnDG;2#hMZ0~lBo zQHt?wWH*3~%3F=@X)rJy>Xg-A63wmQ##4hppM-TLz70(9 uWGeFZ)FJkeTEqkPZb~#>`JbsKR?pvhUUBrxTg||*p?xJ~d#`<{KKCE{zaIDi literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.png b/libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..123a97c98760e743ffaa2d7f34e57a9185270c7a GIT binary patch literal 1202 zcmXX`ZA@Eb6u!5Y7FM{hErE`f!9b1CL7f}0Zgd|S+?<$Ajafs0whLl~+LeJD7peV# zI40Bj$E*&P)=ZK3gOACeBrWU92v*m14KvaWW_zIle(=!?UBa!q-0M3uc|Y@>ob#OL zoag=Oz0)Ugp;(9@2!87A(huOi@A*s;z*WJEw}lwxwo+%Hgea=T2pp^z$(`&5`7Mon&~ZKJnIC+<}W={j;K9)LJc zVy5vL7g$0}{^S$X-O+=T;&Qc~&lFSB%wn^SbXtOQzea!xjl%a?ev6)TAxDMudG!O+ zokLUz<{7SkT!94;wsY}If>ny?z2+z{)Wv0oad%o^eLqmeZY0@*ZF~<76K;ux7e_4{ zbLGZlVqaj}+6^n_;k%z!pvU}NN{ux=Yrm`bUjWfL0Rlrundb%47!Vs*H2Vn?jkNWS`=8HLU>k8gi3kdxI-tB zjSb#NB74!0Q1*Z`cp)FxbL{{sj49$;80c&UWr~14=JD!d z`A(rMwK8EODQnR*Tty}X8uH9lWD{cS;^M|GO?A{$E z>LC+&8U#KnKMg%!P#C~ zS}oc`3|EaSFhk0KkIQlaFO{#tmmBzVhju3#CB!dIfw6lfn`-<`GJ#81kZp_45Rpu&{s7T|D4xyh$;CV{(jGa-dRFf8W%* zfgWwwH0O}EX5|&p>Zm2kBXnesIl?SX^Fsn!cf9@&Y7#WXm|V8zwE|i{cf{O4g@L!;9n?tkR7EfGDUNi?$wv&^YaCa)~CTJ8!(gbX$$a?qc$0GWi zx`4P|agHqj2M{!fHnJBlSybqq1bRDpR_aPHY@;544pZiqMkj%04bkKOX*6X^qvTEn zj6DO(BtM!+*Qsry-E-m9F;Ia)y9}<_0|}=71ij2sE?b?I7!t!4+!FXJeY9jt;3MgD ft=eYFVR!VLo-*krlRv?~2s!oE>C(P8)vf;mmq%-6 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.svg b/libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.svg new file mode 100644 index 0000000000..13f1626731 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-03/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-03/test-results/union.png b/libraries/path-bool/visual-tests/nesting-03/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..123a97c98760e743ffaa2d7f34e57a9185270c7a GIT binary patch literal 1202 zcmXX`ZA@Eb6u!5Y7FM{hErE`f!9b1CL7f}0Zgd|S+?<$Ajafs0whLl~+LeJD7peV# zI40Bj$E*&P)=ZK3gOACeBrWU92v*m14KvaWW_zIle(=!?UBa!q-0M3uc|Y@>ob#OL zoag=Oz0)Ugp;(9@2!87A(huOi@A*s;z*WJEw}lwxwo+%Hgea=T2pp^z$(`&5`7Mon&~ZKJnIC+<}W={j;K9)LJc zVy5vL7g$0}{^S$X-O+=T;&Qc~&lFSB%wn^SbXtOQzea!xjl%a?ev6)TAxDMudG!O+ zokLUz<{7SkT!94;wsY}If>ny?z2+z{)Wv0oad%o^eLqmeZY0@*ZF~<76K;ux7e_4{ zbLGZlVqaj}+6^n_;k%z!pvU}NN{ux=Yrm`bUjWfL0Rlrundb%47!Vs*H2Vn?jkNWS`=8HLU>k8gi3kdxI-tB zjSb#NB74!0Q1*Z`cp)FxbL{{sj49$;80c&UWr~14=JD!d z`A(rMwK8EODQnR*Tty}X8uH9lWD{cS;^M|GO?A{$E z>LC+&8U#KnKMg%!P#C~ zS}oc`3|EaSFhk0KkIQlaFO{#tmmBzVhju3#CB!dIfw6lfn`-<`GJ#81kZp_45Rpu&{s7T|D4xyh$;CV{(jGa-dRFf8W%* zfgWwwH0O}EX5|&p>Zm2kBXnesIl?SX^Fsn!cf9@&Y7#WXm|V8zwE|i{cf{O4g@L!;9n?tkR7EfGDUNi?$wv&^YaCa)~CTJ8!(gbX$$a?qc$0GWi zx`4P|agHqj2M{!fHnJBlSybqq1bRDpR_aPHY@;544pZiqMkj%04bkKOX*6X^qvTEn zj6DO(BtM!+*Qsry-E-m9F;Ia)y9}<_0|}=71ij2sE?b?I7!t!4+!FXJeY9jt;3MgD ft=eYFVR!VLo-*krlRv?~2s!oE>C(P8)vf;mmq%-6 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..604aa1b6e5eb9b96260658d16c7830f6a18810a0 GIT binary patch literal 2433 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 OP985jcIU^^mj3}j63<2e literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.svg new file mode 100644 index 0000000000..d566f674dc --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-04/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/difference.png b/libraries/path-bool/visual-tests/nesting-04/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..2515025b518c6c70e7b4b46ca83e5c5071d98ab3 GIT binary patch literal 2433 zcmXX|4Nw#58Qx?`f`k>Shx~)~`a97CPe9NJa~(ajOzF){OX?9qI+TfskRTN|5J(nI z(WAmlJDL`~(CLk}9g9(O5IhpHpp=dQQ{?Vq41^CHi4I5>f)dUc`o`e&;_dDj=egqA(02jvPMt5&UO_f010cOW5me7`Ex~k%RC5ie$Z@@xT7y=%s%z zZ=7Db@Sm}3CkxAORJ;5Be^vg$aOvkp!+U$azqDR&KHl*6w*6IK8&_<}7rm<=i`_mZ zf3y&fVb@bLv#x)L-Aa~me9tCfVslg=4Vl-Cr&34(vQp0Z-03I_!8ozGPo3Q6g#>0o zx;#nGFgwlcZbB2Yai;@M=V&rjR}>Agj2soCMCmIhZO6_DWXXXZ2RrYwVjwPX0yUDC zN~kqf^W_b)I~<>a-lq$2ACcm9rA3Qd?P=_(B$R7mbTUd{ zzNQ=f!v`YzFWQT+fg#hI)#_N=IRDjSx`$Sw2phnJIm9EIgma;khZxu`(^C$RZnI z`6i5J`}}pv!7XF6%xoVX%y!J2X88!FI2^5>_zbJRvsj_CaU%_r3S6^U^kpYEl(hP> z^pzZ$b;h~eR9+~G^pztYyE!T6LHm-4Diyv?MaDZV!*yTAk)M^!4v7eHm-poXX>F>b zK7~}G97Z60b)PQ5wQO-x;9WE%;si6FU08RzI3CV#YF)1}^GVK}+M3Oj#Bf7VIS)+J zQQ}VogM3nHaF#(Yf`sFFkIu*K@CV;ysZz)c$AXD+%-)`1$u2A2C1o}uIMzc;{8!SV zE!!lP7$#3_)N`AY13xjmFzLD>&r(mBSu$?;gAmwyXU?Q9I_LEb(UUCLPNktbp3G34 z7s!$VyHJi}!F*?~R~-r^k;$m|MnH(H>LMdRrEiL1JmMd>czwmF4$C|1{e4QH#_+;O zwPCh#e?v8bq(Ls32uY+UoRm*MQYkyH%X?^+^ST-})tq@UN=fEjX~a}ikdXXK=VJ+3 z$}#?$lODik#!S|Cn7i~9U?#a$K2nj+4(@jFmxsg1jMC8O3`ZYdoX~%-!iHP6(XEt^ zExYXfg0CSMm)K}y%euU)`)FmI%YiA!{ROjU2I6vVot1=AQLDNympO(Cu%S)p7dpM` z%)%fqkczgbM9ePwHD((#X*R1;`jhjK?z;xKk>F3ZwTgL&>p+7PfJ+7Dqxk3o8DwG@4b~dGn~p3vj41jeGFCg zFK%JvpuEJnGVfK&#)cO6s{5YMKNL1bssy4(g}4? zpi!|Q{~mu$K2(<6@g`i&9Y(TlA6Jw4og;py;n7)22sDp$q@Rgj z8qn#R1?W%eA|*a`*JO=jCc!Q049-(f-ptk#dr&V`Di0k4E)^NW%n_yVA^PF5cG(NmWv8JL>@+h&|$FUf0HtP2hCbL&8;>uC{F_x+DKH5|~} zOE>Mt26X6;vk7z|KEttOI$+E+;#wSV2T_)ytCT|JS_o5MhrwAp)N{7n2F5PxDn)fV zAROef-%Ve^p^#Uf=aADa0?eEY989#7BmYGk$+_US@ z7Urh_&j5XZj=|frEGr@?YT2E^o2RSrI@!$v(3lwSz#UkqOAzaL-j9m!-U52epK)_M zyfD#D>(;n6PuCl(&;V6F3TEN~B9`HzyA@`3%xqMPcXi@yxeu5Yzf`4b!}7-~^tw)# zEV=(;{Ngo=hv%F4u##+AxN%$0^|af;efLVXr)@_c4L_KqcwpAq%x+N5&U_pOt6*ba zI-$u{E#`!0-|}$S+Q@_W#yv)$#n68dw?`o+gWlfUA<2x^MGHaF~G)gp7w? zz|1Qx2NFm@SV&h{EsDk}ont=t1-lyu*-ne?UJODrH}cGEBVmbAJvW2zbmNOFLF-<} ziU*tf3tKoHz2AItq=$B5GsNP`&KVq*B-mK)z~R*J4qb~(ROg)fJjji#t{tgGbFI`G z3_yVEt`F-5JKtD`A#oh_VsO5I4Am9EJ=0;a8(^0n%TB7AWk4N7`JpNpY8bYtKJ{EcYFay PE9}UjqJuYnCU5y4v@Xtm literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..06a53378be8c8f704d58ae715d6f7af24ff9e5fc GIT binary patch literal 2391 zcmXX|4Nwzj8r~nWfrJ3{K;$>Ay*oP>CAI>hY*DKY^|--n?~WW266PE(T0lS)HW0!t zRzPiG=4LdEKcO=nj+23;G}6>#yhwv&i6gNCm=9wmNPzp|-Apz+n|%B3 z_dd__KF^-}eSWS;kSIV9M0DuG10Tcl_RtYdz;7A0+=?I(sfP~i`y+)eu=p3hEWGsH z;(Fb)&;NC==Vac|{tDOi|9_5uroZ%CgZ{l8o1ZP$nm(!jduw*t1H*G`(nar!Bc#g* z_So|9XsniT&rJSH|h=;sz{X#FA)7mr%*NN)4r8R5^MXU_9E$c>1oQctCW8ifi4zC+C9M2!g87ki@ zviv86=7rf_#z81C)P(u)V5Y-ehx$aIAhcS2{~A&|G+#sV zzbxTQw8670g})}Cd`CGSrcKQH{=zdOQ=GPv!Wo8|Z`OPpM_ntL8I_92%if<+b^}$d zU&sQ}Y&9n{&tGIr#9A1Y4szKuNVAbW}!U8s3OsPz_V4U!CZPwQqU^(Yy(UAC3B z;n5!TYNpHrq3J+;QNNQfYFU&2s)8S=NLxweM%4MSdTa4swrtNER3+?i0Mm9!e$AE9 zM_GygDlFLP^;Iwq{@*02QNi7gpL!VS%wQgygiG|l@SGivqkfQ~;_;gLFc7Psup>=( zgiCL;e0-R6VH648)GriprF3yxgP0puE5f8x4Y(#VP@tbM;85$H^Hyv(*Q-`I5Cxx7 zmFT=LirF(%z7L;2Iq5*$4ivDY@_8D`u>E#oAn6RGVo%TDk< zoWiC%#sy4@Pu(q5;+k}6vghE^12%Ug9f}re<_-1_bcna6$^CQ@BPOQLsTxu^)6je+ zgyGc9T!}x_3PU$Tu(XAu6Bd_XQQ%ZBwwGN`)x)JzOXNH`*%FV*)gnX+J%qc%BkT>r!f)vIiw;BTPF20MLBy5dT4EOQKPRR*gDi;1>h^MYwr6vg7{PX6w6zPZgslkx$%N@qY2T~> zm5MA|WEvdA_QU&zX*ZEWn0XZ8_{qTNW(q^{*YCM4Tq+q=Cbh4=#z=;XZ`Eu7N1!^Q zJ-b%JK@Pj&A=(uAw8rcy;P#O{4kD-34)=c3-%8DB1=O4g(_Z#|jc!$6pJT*4#kKfn zkZiLjYd~lbg9Xx{Bi35%Is8DmKHkG?fQHbHLM?Wx8j`r4p%2(CsPeY|RYgBlp`Td6 z-J`~B^xJx;5|`dGlF&=N2S9UU9Q5z#*Y-& zoBt9K40p_RGY(JTjSJqh)LKqr;GcZd^xUFHgYSZT(%>ehiHE!}U8D_x0!!n%)z`)7 zH2=?-K@{BRD2s;}!ARN7R{G1^yr<<=y)zGAyX#-$AqTzcOKx;JDJx2|6MSrAyYN@< z=ob=LKI+EEHm|RTG0hAXF|D9H%rW<+$fgid6^isdB1K+NmPbJXTbCcRf;z5bRY(P`7V7jgt%OR)=u0S!+ML_?(7lO-$3=vfRjyIUxiXR w#`Q5rk>

6QL~%`kt3?qikgjZ#_J(<8F;cb^Z(Z!h{?;n17)EgOcX|0>W~kYybcN literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.svg b/libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.svg new file mode 100644 index 0000000000..4e132a82d9 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-04/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/division.png b/libraries/path-bool/visual-tests/nesting-04/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..1910afdb27072bde2b385fda78c3df013cabc32a GIT binary patch literal 2391 zcmXX|4Nw#58QveVfrJ2OLF6}gUR!S(CEN*!vWI%=aF!1Ct}Q7N5~dD~9v~nJ8wg<+ zPe8rGOlLHVO6bfDrBepNk<)}Dm__AMja<$$7CA6k;z+y!%!lzLNPvE^oylfrlW*Vs z-sgGV=h^eW&C3x9;spqThz@^z@KbnB4IZHc{FY%WEeH~peE8u0-&5!!i~sHC1(&~F z+Ngd0mw(;wIhA{?zkK?}|34?b&|m(wLI1(dtLy(O#kq2Yx!;gaX&QF7V~ z_S$msNUVl&%})J;oUT9(<2%Dr;S8#nIx1Y_yy`n_VRB||Z)}D;b#LK@D4%n;fQo&<(f-$)V`M8xA*bIu- zk6F@yj8)+_afl|iQUV^ZRr-mu>dSn*RW&`ryU~S?3c)m6k2|=6>;!*&v99qdd~^c0 z1w3TyeYZXgF<-LhA;Y7_wU^~l)^XvhAJ{%th1ytHw2^1Y*w`Z#1!BMy;^oZ!F8g#9VzvxppccJwiVroi8C=eZ4|t&#o={By5q%TIYZ@H zMV9{r(Y!d<%Qy%nhMF)h9>{RGYEiEUt_@llbcb%6p9SV%qr3?=C(!GDRt?Nt|J*=~neOF;r*a?5I>kUh({dvYV(X z{bD9?vQ?bSyl{yz5$hpT8pvVKDh2)%-zWGCMxjMG;2vB?Pd*jg@zs@crsVKI4CHLJ zflD{L*XRn5dMzDRaDi)1f&V0z>2S3pyD-CdzSm`3wRxeIo}8PCa=4D*6+acQD&I8- zrhKWAyGt61I3r`2y%1#Dap0b+Eji~dY_12<&Z0X*&s0!HO0H*Dd{E{oB zkFgTpHCV92<1J?#{J%<)BLaIIKlU)v*}+^k0hj21<~}zZLwzqp#pBg=As|{mVMiM8 z3YXty`S>t7jZq|cTfdmkmC!{g^~Af4+XgfJ3djFIcfXT(4T;KoopR zRjl*8EMm`6d0u?s)RY5pjr(%It+fo0uG?2}yBcc$uzYEfb72ZW2i=b5Ar(T+ufQOC zfOgG6Y!p`{3WC}elAnYY;A(LvrCrw-7CjF@nqSJfwRrlExj z$dj_!KeW}{0>yCD;@nD4H)F;8JGkrW zjH+`hy0B+Vx-5_Z_KDLTK)qZU8tm2;c!IUU#cHiGGu`WM@^#tg#M`!s#n=e!QVik4R-p3oSsMEm~IBs z@+t{PXO-1srMQabdGx*N_1UBC(TCcYlac0`N9>hW5@0 zP^rkWO{T#?bU(arn067_gqcSXjvoz-ZnhvOfBoJ&!sX&oWkTE98;oSQ_;&Rsa1^Q| z(!F~v6lAlT9-)ol&#KMtd~QG4;~=tI>~Qb5d@a5*&Laj~6Fy)!He`X@ zwE0hAfl$YMH{);@+`Q;HN3Cba`~S&DO)o5ZH1IyiBMmOXNj&0(=)!FX6j%z^t-c{f zo%}yy22o(Mqcj#`1S4e+Tj48f^_-Dc_Rc>g&g#%FS}4@LS}?!7x>i1cHytz z(=W!sAaIGuR*$!bG0hGZGA*Di#4-P+$fgid<%+buB1<@UNOPOO`)nz0!WuXagwoms;W5(BgWA&i$k^FlZDW|(Y!DD>>F zg_;QP0bA?a-i5=Z6M-7X>-(?kr|ealYLUJs*IU_QNbVdh?p34?C33v#T9 zgj?zh*s>xt8Q>Gd2JXBu{7`r zTh$-s*t%2(VT*Rug!zO2S?8?IQXFnO+5v~DDriS>?AbA665ko084*YalWfYy8kEX$ vu8%o}H03s%2yJ1&`=Xc|Wh<(A8==hOdv&STJ15`^6LR=a-ogHliktom!Qi5@ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..604aa1b6e5eb9b96260658d16c7830f6a18810a0 GIT binary patch literal 2433 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 OP985jcIU^^mj3}j63<2e literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..d566f674dc --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion.png b/libraries/path-bool/visual-tests/nesting-04/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..2515025b518c6c70e7b4b46ca83e5c5071d98ab3 GIT binary patch literal 2433 zcmXX|4Nw#58Qx?`f`k>Shx~)~`a97CPe9NJa~(ajOzF){OX?9qI+TfskRTN|5J(nI z(WAmlJDL`~(CLk}9g9(O5IhpHpp=dQQ{?Vq41^CHi4I5>f)dUc`o`e&;_dDj=egqA(02jvPMt5&UO_f010cOW5me7`Ex~k%RC5ie$Z@@xT7y=%s%z zZ=7Db@Sm}3CkxAORJ;5Be^vg$aOvkp!+U$azqDR&KHl*6w*6IK8&_<}7rm<=i`_mZ zf3y&fVb@bLv#x)L-Aa~me9tCfVslg=4Vl-Cr&34(vQp0Z-03I_!8ozGPo3Q6g#>0o zx;#nGFgwlcZbB2Yai;@M=V&rjR}>Agj2soCMCmIhZO6_DWXXXZ2RrYwVjwPX0yUDC zN~kqf^W_b)I~<>a-lq$2ACcm9rA3Qd?P=_(B$R7mbTUd{ zzNQ=f!v`YzFWQT+fg#hI)#_N=IRDjSx`$Sw2phnJIm9EIgma;khZxu`(^C$RZnI z`6i5J`}}pv!7XF6%xoVX%y!J2X88!FI2^5>_zbJRvsj_CaU%_r3S6^U^kpYEl(hP> z^pzZ$b;h~eR9+~G^pztYyE!T6LHm-4Diyv?MaDZV!*yTAk)M^!4v7eHm-poXX>F>b zK7~}G97Z60b)PQ5wQO-x;9WE%;si6FU08RzI3CV#YF)1}^GVK}+M3Oj#Bf7VIS)+J zQQ}VogM3nHaF#(Yf`sFFkIu*K@CV;ysZz)c$AXD+%-)`1$u2A2C1o}uIMzc;{8!SV zE!!lP7$#3_)N`AY13xjmFzLD>&r(mBSu$?;gAmwyXU?Q9I_LEb(UUCLPNktbp3G34 z7s!$VyHJi}!F*?~R~-r^k;$m|MnH(H>LMdRrEiL1JmMd>czwmF4$C|1{e4QH#_+;O zwPCh#e?v8bq(Ls32uY+UoRm*MQYkyH%X?^+^ST-})tq@UN=fEjX~a}ikdXXK=VJ+3 z$}#?$lODik#!S|Cn7i~9U?#a$K2nj+4(@jFmxsg1jMC8O3`ZYdoX~%-!iHP6(XEt^ zExYXfg0CSMm)K}y%euU)`)FmI%YiA!{ROjU2I6vVot1=AQLDNympO(Cu%S)p7dpM` z%)%fqkczgbM9ePwHD((#X*R1;`jhjK?z;xKk>F3ZwTgL&>p+7PfJ+7Dqxk3o8DwG@4b~dGn~p3vj41jeGFCg zFK%JvpuEJnGVfK&#)cO6s{5YMKNL1bssy4(g}4? zpi!|Q{~mu$K2(<6@g`i&9Y(TlA6Jw4og;py;n7)22sDp$q@Rgj z8qn#R1?W%eA|*a`*JO=jCc!Q049-(f-ptk#dr&V`Di0k4E)^NW%n_yVA^PF5cG(NmWv8JL>@+h&|$FUf0HtP2hCbL&8;>uC{F_x+DKH5|~} zOE>Mt26X6;vk7z|KEttOI$+E+;#wSV2T_)ytCT|JS_o5MhrwAp)N{7n2F5PxDn)fV zAROef-%Ve^p^#Uf=aADa0?eEY989#7BmYGk$+_US@ z7Urh_&j5XZj=|frEGr@?YT2E^o2RSrI@!$v(3lwSz#UkqOAzaL-j9m!-U52epK)_M zyfD#D>(;n6PuCl(&;V6F3TEN~B9`HzyA@`3%xqMPcXi@yxeu5Yzf`4b!}7-~^tw)# zEV=(;{Ngo=hv%F4u##+AxN%$0^|af;efLVXr)@_c4L_KqcwpAq%x+N5&U_pOt6*ba zI-$u{E#`!0-|}$S+Q@_W#yv)$#n68dw?`o+gWlfUA<2x^MGHaF~G)gp7w? zz|1Qx2NFm@SV&h{EsDk}ont=t1-lyu*-ne?UJODrH}cGEBVmbAJvW2zbmNOFLF-<} ziU*tf3tKoHz2AItq=$B5GsNP`&KVq*B-mK)z~R*J4qb~(ROg)fJjji#t{tgGbFI`G z3_yVEt`F-5JKtD`A#oh_VsO5I4Am9EJ=0;a8(^0n%TB7AWk4N7`JpNpY8bYtKJ{EcYFay PE9}UjqJuYnCU5y4v@Xtm literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..06a53378be8c8f704d58ae715d6f7af24ff9e5fc GIT binary patch literal 2391 zcmXX|4Nwzj8r~nWfrJ3{K;$>Ay*oP>CAI>hY*DKY^|--n?~WW266PE(T0lS)HW0!t zRzPiG=4LdEKcO=nj+23;G}6>#yhwv&i6gNCm=9wmNPzp|-Apz+n|%B3 z_dd__KF^-}eSWS;kSIV9M0DuG10Tcl_RtYdz;7A0+=?I(sfP~i`y+)eu=p3hEWGsH z;(Fb)&;NC==Vac|{tDOi|9_5uroZ%CgZ{l8o1ZP$nm(!jduw*t1H*G`(nar!Bc#g* z_So|9XsniT&rJSH|h=;sz{X#FA)7mr%*NN)4r8R5^MXU_9E$c>1oQctCW8ifi4zC+C9M2!g87ki@ zviv86=7rf_#z81C)P(u)V5Y-ehx$aIAhcS2{~A&|G+#sV zzbxTQw8670g})}Cd`CGSrcKQH{=zdOQ=GPv!Wo8|Z`OPpM_ntL8I_92%if<+b^}$d zU&sQ}Y&9n{&tGIr#9A1Y4szKuNVAbW}!U8s3OsPz_V4U!CZPwQqU^(Yy(UAC3B z;n5!TYNpHrq3J+;QNNQfYFU&2s)8S=NLxweM%4MSdTa4swrtNER3+?i0Mm9!e$AE9 zM_GygDlFLP^;Iwq{@*02QNi7gpL!VS%wQgygiG|l@SGivqkfQ~;_;gLFc7Psup>=( zgiCL;e0-R6VH648)GriprF3yxgP0puE5f8x4Y(#VP@tbM;85$H^Hyv(*Q-`I5Cxx7 zmFT=LirF(%z7L;2Iq5*$4ivDY@_8D`u>E#oAn6RGVo%TDk< zoWiC%#sy4@Pu(q5;+k}6vghE^12%Ug9f}re<_-1_bcna6$^CQ@BPOQLsTxu^)6je+ zgyGc9T!}x_3PU$Tu(XAu6Bd_XQQ%ZBwwGN`)x)JzOXNH`*%FV*)gnX+J%qc%BkT>r!f)vIiw;BTPF20MLBy5dT4EOQKPRR*gDi;1>h^MYwr6vg7{PX6w6zPZgslkx$%N@qY2T~> zm5MA|WEvdA_QU&zX*ZEWn0XZ8_{qTNW(q^{*YCM4Tq+q=Cbh4=#z=;XZ`Eu7N1!^Q zJ-b%JK@Pj&A=(uAw8rcy;P#O{4kD-34)=c3-%8DB1=O4g(_Z#|jc!$6pJT*4#kKfn zkZiLjYd~lbg9Xx{Bi35%Is8DmKHkG?fQHbHLM?Wx8j`r4p%2(CsPeY|RYgBlp`Td6 z-J`~B^xJx;5|`dGlF&=N2S9UU9Q5z#*Y-& zoBt9K40p_RGY(JTjSJqh)LKqr;GcZd^xUFHgYSZT(%>ehiHE!}U8D_x0!!n%)z`)7 zH2=?-K@{BRD2s;}!ARN7R{G1^yr<<=y)zGAyX#-$AqTzcOKx;JDJx2|6MSrAyYN@< z=ob=LKI+EEHm|RTG0hAXF|D9H%rW<+$fgid6^isdB1K+NmPbJXTbCcRf;z5bRY(P`7V7jgt%OR)=u0S!+ML_?(7lO-$3=vfRjyIUxiXR w#`Q5rk>

6QL~%`kt3?qikgjZ#_J(<8F;cb^Z(Z!h{?;n17)EgOcX|0>W~kYybcN literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.svg new file mode 100644 index 0000000000..4e132a82d9 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-04/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/fracture.png b/libraries/path-bool/visual-tests/nesting-04/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..1910afdb27072bde2b385fda78c3df013cabc32a GIT binary patch literal 2391 zcmXX|4Nw#58QveVfrJ2OLF6}gUR!S(CEN*!vWI%=aF!1Ct}Q7N5~dD~9v~nJ8wg<+ zPe8rGOlLHVO6bfDrBepNk<)}Dm__AMja<$$7CA6k;z+y!%!lzLNPvE^oylfrlW*Vs z-sgGV=h^eW&C3x9;spqThz@^z@KbnB4IZHc{FY%WEeH~peE8u0-&5!!i~sHC1(&~F z+Ngd0mw(;wIhA{?zkK?}|34?b&|m(wLI1(dtLy(O#kq2Yx!;gaX&QF7V~ z_S$msNUVl&%})J;oUT9(<2%Dr;S8#nIx1Y_yy`n_VRB||Z)}D;b#LK@D4%n;fQo&<(f-$)V`M8xA*bIu- zk6F@yj8)+_afl|iQUV^ZRr-mu>dSn*RW&`ryU~S?3c)m6k2|=6>;!*&v99qdd~^c0 z1w3TyeYZXgF<-LhA;Y7_wU^~l)^XvhAJ{%th1ytHw2^1Y*w`Z#1!BMy;^oZ!F8g#9VzvxppccJwiVroi8C=eZ4|t&#o={By5q%TIYZ@H zMV9{r(Y!d<%Qy%nhMF)h9>{RGYEiEUt_@llbcb%6p9SV%qr3?=C(!GDRt?Nt|J*=~neOF;r*a?5I>kUh({dvYV(X z{bD9?vQ?bSyl{yz5$hpT8pvVKDh2)%-zWGCMxjMG;2vB?Pd*jg@zs@crsVKI4CHLJ zflD{L*XRn5dMzDRaDi)1f&V0z>2S3pyD-CdzSm`3wRxeIo}8PCa=4D*6+acQD&I8- zrhKWAyGt61I3r`2y%1#Dap0b+Eji~dY_12<&Z0X*&s0!HO0H*Dd{E{oB zkFgTpHCV92<1J?#{J%<)BLaIIKlU)v*}+^k0hj21<~}zZLwzqp#pBg=As|{mVMiM8 z3YXty`S>t7jZq|cTfdmkmC!{g^~Af4+XgfJ3djFIcfXT(4T;KoopR zRjl*8EMm`6d0u?s)RY5pjr(%It+fo0uG?2}yBcc$uzYEfb72ZW2i=b5Ar(T+ufQOC zfOgG6Y!p`{3WC}elAnYY;A(LvrCrw-7CjF@nqSJfwRrlExj z$dj_!KeW}{0>yCD;@nD4H)F;8JGkrW zjH+`hy0B+Vx-5_Z_KDLTK)qZU8tm2;c!IUU#cHiGGu`WM@^#tg#M`!s#n=e!QVik4R-p3oSsMEm~IBs z@+t{PXO-1srMQabdGx*N_1UBC(TCcYlac0`N9>hW5@0 zP^rkWO{T#?bU(arn067_gqcSXjvoz-ZnhvOfBoJ&!sX&oWkTE98;oSQ_;&Rsa1^Q| z(!F~v6lAlT9-)ol&#KMtd~QG4;~=tI>~Qb5d@a5*&Laj~6Fy)!He`X@ zwE0hAfl$YMH{);@+`Q;HN3Cba`~S&DO)o5ZH1IyiBMmOXNj&0(=)!FX6j%z^t-c{f zo%}yy22o(Mqcj#`1S4e+Tj48f^_-Dc_Rc>g&g#%FS}4@LS}?!7x>i1cHytz z(=W!sAaIGuR*$!bG0hGZGA*Di#4-P+$fgid<%+buB1<@UNOPOO`)nz0!WuXagwoms;W5(BgWA&i$k^FlZDW|(Y!DD>>F zg_;QP0bA?a-i5=Z6M-7X>-(?kr|ealYLUJs*IU_QNbVdh?p34?C33v#T9 zgj?zh*s>xt8Q>Gd2JXBu{7`r zTh$-s*t%2(VT*Rug!zO2S?8?IQXFnO+5v~DDriS>?AbA665ko084*YalWfYy8kEX$ vu8%o}H03s%2yJ1&`=Xc|Wh<(A8==hOdv&STJ15`^6LR=a-ogHliktom!Qi5@ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..86361237268c57997a4fe985a64c03a0ced367a0 GIT binary patch literal 888 zcmZ`&e@q*76u;he2g0rpUBfI)=H?P(mx8ReIJ!<9lOYM2X0aLuZ9*pLHfY(Fan;iH z)|jGhtN$>Tv5`eGHCgC6%xs$;>%|Of=3Ij)#no|NKxhog9W<_Y;p}-tjqwkY_apgy zlJ|MZ`@HuKHaB2Jnj#2-u*L)RugSf7JquB}T3{gnLCD_5`WFx3ir;AD>QirC_-aM! zSw8pm-A_(5wTC*>U;G{RvqKkNA%|*qZCe&jhmXGfaiH$l59DgRykC0osmQ*(;59xY z#a0O^|-)0AGuTTYJuMTLtgWAfp5^dym5v}T5VarlY5 zY6fu|rQMtIokNgGiQ7XL5f-Z`@Vr~Le2u7t%@;e?%E1*vE$!~}#^&h}`bG-&1UjN> zyb^?6%?Tn1n+G$$*U;81*)Yp=Z7?bDOefx(f;V%7{Shtk_z)BZ{2P0Sr(mH`rMaXv_32auj}4<9FRhIpP0byfNaz7 z+O|k5P$swKdrPJ6jkf%exzQFPz_ETl*bZf@9$RM$^X-(L_Tv+#z7AKlWL8Sg&Xj`@ z*94_cuHF~dO2xG;1vAB9SVj#0Aia90c+*#Ka(skNKqNw`xaa8+Q@SO)(=i?|nPW1w z+$q32y2mq6{M+n(LVTky2%kr)FcBLV!?;N?eUQ%yZ-M?wiHmZ>Jk1ZxK6YVO*SD6Mt!gPIq`y9l{^7YFIY=f z961Z!ls&!|aqFGhs-Jogc7wBGdSNuDxHahAbH+OuMB6TDbqWVUJ?GR)qd9b@z&6k! zJe}_>%y+g8YCR}kE$_DEHgYxVZnA@GLTWo7b~(TiUl=_tgoR_^CJ~=~KfEaGF>Eb2 mL0gcRxU}^@HvS)n^9{G1p3AHA8>8|^L5=&H>q9Tu&io0Bo!w~w literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.svg new file mode 100644 index 0000000000..64a310b6a3 --- /dev/null +++ b/libraries/path-bool/visual-tests/nesting-04/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/intersection.png b/libraries/path-bool/visual-tests/nesting-04/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..86361237268c57997a4fe985a64c03a0ced367a0 GIT binary patch literal 888 zcmZ`&e@q*76u;he2g0rpUBfI)=H?P(mx8ReIJ!<9lOYM2X0aLuZ9*pLHfY(Fan;iH z)|jGhtN$>Tv5`eGHCgC6%xs$;>%|Of=3Ij)#no|NKxhog9W<_Y;p}-tjqwkY_apgy zlJ|MZ`@HuKHaB2Jnj#2-u*L)RugSf7JquB}T3{gnLCD_5`WFx3ir;AD>QirC_-aM! zSw8pm-A_(5wTC*>U;G{RvqKkNA%|*qZCe&jhmXGfaiH$l59DgRykC0osmQ*(;59xY z#a0O^|-)0AGuTTYJuMTLtgWAfp5^dym5v}T5VarlY5 zY6fu|rQMtIokNgGiQ7XL5f-Z`@Vr~Le2u7t%@;e?%E1*vE$!~}#^&h}`bG-&1UjN> zyb^?6%?Tn1n+G$$*U;81*)Yp=Z7?bDOefx(f;V%7{Shtk_z)BZ{2P0Sr(mH`rMaXv_32auj}4<9FRhIpP0byfNaz7 z+O|k5P$swKdrPJ6jkf%exzQFPz_ETl*bZf@9$RM$^X-(L_Tv+#z7AKlWL8Sg&Xj`@ z*94_cuHF~dO2xG;1vAB9SVj#0Aia90c+*#Ka(skNKqNw`xaa8+Q@SO)(=i?|nPW1w z+$q32y2mq6{M+n(LVTky2%kr)FcBLV!?;N?eUQ%yZ-M?wiHmZ>Jk1ZxK6YVO*SD6Mt!gPIq`y9l{^7YFIY=f z961Z!ls&!|aqFGhs-Jogc7wBGdSNuDxHahAbH+OuMB6TDbqWVUJ?GR)qd9b@z&6k! zJe}_>%y+g8YCR}kE$_DEHgYxVZnA@GLTWo7b~(TiUl=_tgoR_^CJ~=~KfEaGF>Eb2 mL0gcRxU}^@HvS)n^9{G1p3AHA8>8|^L5=&H>q9Tu&io0Bo!w~w literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/union-ours.png b/libraries/path-bool/visual-tests/nesting-04/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ad549610e60870e61c065285d947af984da7f3 GIT binary patch literal 1818 zcmXX{e@q+a8NTyjn_v#IZWOQqYw5a1qQNu)La75ul{QOR$u@076k{wQ=A_J+)C(NH z{DZ6sB`wwd2(FUFR6$uLWpG(gV+aR#CZXO6#!65yzXG3)a59@FffrxKAEG_FD>n!4cp7 ztfJ@p&E2Mrul_l8>$B3D0nOsQ|6ganwDf#LTMi!Dw-Ii%e%kWaOYhY^p6;%xg5Qxaa>SU)18XjGA2Dcb_IOBy?e(E|);> zOM{OTn={-BeA~+FCEJpBhr0YXb?6&Y_v(svVb<~=TK`*}#%C>7j)rM&mqaB6;RAT7rHs$Rt7+b0$7|zMkJ0KDBS?A)91lr%w>}Y7wQ0 zt}+Gi*G6|5tYV(;XP##zMt*{NpX@D}%_d3`6&*edXC3U9;Dg}r5bY4=o83f-W3cUY zxDc5{MI!xpYB(7xQKzt{un%f!q_;aBwC5Y)10eJkp`9`eAWe#gQo9KeFgM%w?%s6@ zihakp{)j772WqJv7ZTjFug66}m92>g^a`@33}5+%JWWIE-dm)TCIauv4N|i0$pvF&*cH|Qjj`%z!@n95!A+B&r$o%HLT~DZ z|50@CM{;_#!zl>WEB`pc*)f_x-1Vm^#i(i8sF>0~7o>F=p-(MqBUD+O)7MAZl?Y*F zUI~d>@WcpSgYR&4gq4TbT>$gVN2Me~-kH3-(Qk6aT*U7f{HbN;oUQ+2%_(8ll*lS# zlHrVe(vSJcr5^&p*_bA~i4{JRFT2VLlou!K`B~#Ban66EOv@rFSGMHBl5zdj$sAmY zw9=3*n>$4$3-rHFr6jSfMQddwlWIny&<-4xALVZT>H00y>F~A&)EHTBg%KRwK{%dSm@sSEY%@$0T!W6=OnFQh9VWQ;3XnKe7=uA)N@kX5LAH3!bi3 zZUVtaM)DC{msW5TqKO7Z^N_37;Tb}-o&BKjbf@~y)I9`SmwF^F5?iYdRQnOXVqaR$ zf \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/nesting-04/test-results/union.png b/libraries/path-bool/visual-tests/nesting-04/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ad549610e60870e61c065285d947af984da7f3 GIT binary patch literal 1818 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 aeA~Q_Ge$zTB>wlukA3eC4}53M^ZyI_H1&c2 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/real-01/test-results/difference-ours.svg new file mode 100644 index 0000000000..62ee30eb9b --- /dev/null +++ b/libraries/path-bool/visual-tests/real-01/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/difference.png b/libraries/path-bool/visual-tests/real-01/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..03fdcfc14f2e5f0bf9c52dae68fa16d600ffb146 GIT binary patch literal 43527 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�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 I`0CgH3wTn?M*si- literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/division-ours.svg b/libraries/path-bool/visual-tests/real-01/test-results/division-ours.svg new file mode 100644 index 0000000000..905bbf587e --- /dev/null +++ b/libraries/path-bool/visual-tests/real-01/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/division.png b/libraries/path-bool/visual-tests/real-01/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..52577442235291f6eca9096366ec74324da9bfca GIT binary patch literal 45364 zcmeFaeOOfIxi35)FoS%JUkCy+w(i6l3}YfFDl)peQ@U#_ZBv~XaE8`q6GLPmR2e>G z%}ApOHqyQKsU%UE?0Q*SJuqoF1`Ho-8AE7GaFY0%i6PDmP$3DL86<=OhI!uKvu3S< zN`X5Uql2>Q`^?;T-#iea%r{gDk>VTH zm`4i8(>JU!j~?G>jrj`p8`k)SHNLT;b6&?c^6-s3d?OFv$iqA-mi2k!&!m>5z8dAvp#PLC@D+)Bxo}aR`PQ6pmu-&i zSnBsWmI*J(h;yIxHwxDN^1cKWvq?-g}zui^HGzpWXe)JqNaFkTWs< zn3B|aQnE7i4r13Qn%20la7A)Tl_~t3=`Fy2m%7hg9=tR~26nsW|8IH6kJ*@yBR`Jx zZ}4v9(n4#Jjn9RMNNPbdsVyce!L;9ft|I${R1?#Y?tLFycMM;M@1`4~3zVdKqxG-s zb+=kvia?@o#oVSw7tSsGh)SW4G97SV0{yE&fdcnAi$jqTo%Q0yz^c14oGk+jIdIGd zQ&&xruZXTEJruf`fM)JuNPMzVSgc`KdT6CVF?bH-Oo{H;pqnj!BhGgK53`EE(UH;J z{7*HCw%>)$#jFoq#{_$$NNSAf*x-FXtD#khqMZFv?e|5HK3 z+!9OXEzw;BB4LS-vKk!0B`#h5j2vOP?JtWTULHpNIcaynQ;e1(%o4*9Y>XS0B z?IPB@GB(Da?(OH+n^Le=x_ABj%MP2nY_@-Hg;aMFy_$D+={gH=FB`nqIgd9BC)n>U zH1D0e-n4m-_vTSLZd7@9b9r(jSn$Hdz{DX+xkTUc#-3bylIT}^MLC!-EGQLIPP4j7 z`o>lW)DJb`9UHw)t`slPUQ5G^@!-{Qy!gDuI-eO@zBRXvr;Xtt*ar~GPtTbr70yJ{ zI^Et0t1&+K*ubVcGHpz?%G*Cj@jY{l$sAS6J>k{qC8rB3*SI^e4SMj|$(!NWd9l0P z6x%8@;PH8TSI^sfPUQi2r+IStrIav!=e4+EQc)bzGy1mE>DKx7mm}nrYvx zlByw5_Am5YmE6{cw|d5|bLBX3Sz8?5T{TZJ1)Aoz%-*QAOvXESJw#tkbV&VH{v1*n?|qLeHSgnc z^;c36xmcLuja}P za{q>qdXdlZgK~3h^-}N6tm{=$55$swBnmsc$xV8bA(6@M){qoRLI;e4qCATeo{(d+ zH#vHX7xh1D=X7#IO#a}WuRcdy;&T%OVk11a3`F3c3p5?F*c4rfZEv+eb~bTF+z!7{ zq7Chm*zEiTdLQQs`K#YMp?)GB)Vv6F(QA}j=MFbPqC{#2NQK7TVo}OFmSK}cblus) zo8mRx>*q!!EKer-3t|>2Nwm%=-_!0Z5?gpR)D*oYvTObxAL0z5J+{v6u?tL=WLn47 zn(YebDXRR~-ZZd?4l4SjN0F`g@U~!O1IB+AFQ4qS#ZjqHK_|b#M{h+!ptfZ7HgP=?ZRk`kOXyU2IMq|`Os)`8 zMD-wpSzD+hWHKUbw2F9!bSR)q*d*A*IG7tw}eQrQ;8dd z=6X;A8X1a-`D+uzoxR!uam$`Z`1X)BXTbQb@Qw{!k<#rT(&_!E3*w_AgETJ}bq$p|%j(xq@JLsoj)`s|y6t(dicv5VU%A9u)V zmVfa9Pvfn&A&{`gqE*-izJ;GAWlV@c>~jpVN1y0RbDxuTMf#rPccM>k$EUR*eL6@l zdOZ`adUt56zCW5>QvLKfGb_t}ncsi>tx{MYkL-j6wqZUMS#?M*XI3a{C|8AU`QQ!q zRue2CbF~E=y-DN@MjayjWM$En@}v_hW!i}S&xUVcBJZnyWX6mme(Zso-Cl^fy8m-nEdDn2@EO?Fl(qOruBUOoFPm1-X*>0}B_a z?X4%;xlzd+^YnZ>L~K)!#YG=!4?WV{pePR4*Y%!|Gq6hHY1DJ4>8XUDV%B9V{118G z=1DYb->A$^_%J;1>t5=Xc-Myr7aby8PX*5iolD`RQNIVKbrP!R?3IRXaE5L2J7T?! zWQT=bI&{`-eK@&F1BE9L!1INZGuEcO^#r64>Q{Ubs|qpcY*&=YXtv9;c~yRaBprg6 z7dYCBKcs;muS18n{#S_Jhah1xr!T>GYP&kf24qE<`;4W^%tGB=LEyxOWPIW~p*QyJ zpd2~9ozv7hVeF{^s2YYW;7YGPVT`#WV?y^o`eTvaOlPa2CbI4Gb7n2?fKkPKz=+tx zw>+(C9|9S>xGl}*kYcut@1dGu5}M(~AZwGWI}k+GBy}8ZkU}Ej3c5u(>J2f^?`P6r zYC=jOz)Vxudq@744)8+AiHXVyz3^q8ciPSM!P6331Kwa-L-oGR+#r%*F3Owj1*JXv z+%`q0z$Vf=GAKSO2sXJtL%cG~Z}-k{2Jh31D(l%1PgBL~qvrC# z3naBBtnFB8jk4`8EnAaKhuvpRrtJDIc65QbD&Gk%az<)tkt|Pf9!qkqC_2*_1wk4YW|m6#plv@*gMB8<%5h> zEv*UjZE+`;ELcYl$xcY4+`qGw%bd?&44l0q^T5IX+5u08Xx?!`t_|<_@*(hR!!Y}H zy~Gvm&v>;r>QJ<4f8$*~nrHi35C&e2+HG0SrOMS&9h*sOht|8q@7NTR^%7$(l&IzY zrK*qWdE5h3RrByB7QQxl=f#1;Ud@>JYk)pDqqBzFn7RDfAv$ zU`l|YtCHHTkri55^*VBJ8Mha0_^wwGcn(YK3zFba<8I%6(Uh zh0nC6WTPGTM}>zTis|Bm)I)XKJB zf*fK%{J>oLH(6N|W%{&%x@Y?XL$ld1)Q_58SMt#%2tElNdk%3+9UoclcQ5wdg_W|! zR&VsK43y)Sm!_;EIp#^}$^0=rd~4M(Icig6!_3`u(ippQ$~IYm5C$tCKu7#i5D)s7 znN`xR-;y&lgFr5y81LvhmD;5|A%&t>d2aP7EL)!Z(U=!)rxx8K{##S6|lDHjaFEK{D0 zH=i>^g7}%_&w8clNABWg_;jBlfVTCK6bNUAHxCXa)m#x?Y5s&~ECP|xV2c@s@DxeH zBZUR=nTo(#_wIKK!5!95GZAB?dH2HoU*J1bAone5uKda2jjwjMR4?`h{jj|gWVt{S zV(m=#{wlPE(yqi$aPtWLN*2LEyyEvve8d^4;apbW?zb%A>Pv30Z?8AUxYuwGL5tcE z{IjllNfM%^?i^|B5$Y||ZGRkD9q(OPu%KhT_x1b~frk9Xf{`N>@~-0;(#y<3U~LcN(QxipOMvh$K1HpumEx z2oMsUFgEPunz)?O?p*0ciQRo+WMnzF&)ja=#~Gxa@Prc!K*-P*o)foFe}dXR-#MK9 z#JGBB(!w9mtCKPaMM-(*M&!7Dl0Wt+x5`{tawFys5ny&`z(xH6(vz#G&iQ z)^J6#9q#RL4YFS*>JxGU^}nP2OYvS@!T9(C{F;^c{J|5)u^fAAgRCd*-LZ=yu{$o&#dLVq=%zKy!bhy9Am8{5Q&p}X7(4v<7yA2MAMT- zgH|`icg2bNN{4slabuIRu9ryy%wzcX-$lZxZQcMHe21H-8(^((t!###79%h6ZIKr>$V0`K_?yh0VePejRB{jk%@)DF zB~cxu=_M+rFV4kZkMm4wb|g>K>_k&4$0a>;l{L!l$lA@9f3X06KxMmPI~1=U!2}Ji}QK!_kDzYQpt=lzy%xMRN6-lsR*5#3_7x-7K8#{7WmOD^q9jpuY z7IWw2szKHPF9b{7fKtY{#af0#*)({TP^WRUi~|qKh$y#G*jPIM~gqa<4TKFhhURO zExBQ^5h;-NrQQsL;GVb0g9aF27_N4Bsmq&v#eq>M)idVHgGhP9Z9pBaVyCAsj){RQ zbIa{gYz>2pwR*}1MtmB{G>x+BIl>l)*C-(Kty8)RV}YVWC}7PRj|#CL)6UzGSv^-i zt{$ZhBmB(+fhvEtcNvm2$#R6wMqIN4Q8CH@12^>w-;O}l9hpjDkR6WmzULp=i~x&8 z#*DOvTvYZJJmnZ9O8fl|6YN?uB$+y9F3)bHP(1^6$K<)g?6q18E(ThUTt>Kbz}>>% zauX7%u0B-ivcfXojPgTdmf!pZ)$UoY-5#@|W+%0W`Hn=@GJ{x?tCl_)fB{xXAT~c!_HTx7vtd}&t z8E2q2_I-a3eEwTt-5xGinsNmhnBh9t0BNvGaeg>=ncly`L3zZjL7oCxxNjr%K!0e9 zNHA?_ynQ}oG}t(y^cC1RgJMCwg-!a^Y4VuoYMdt=)~9l#q`d4Uc&v=&!17_w7XDS1P||!H~1#2j2xUxTOZTa5RMbL zs0!btPi%|(;v+1DSBzObmtcVc3KQe*pJESCue<&7-~cqd?HcQ>m*Wy*dEZ|smQ1@M zgbESWJpMQk!N?O>Uz^$(i;X`HTFH{-%!W_SPT5@Uz*VE}epjL|fw!Mi_SUElS`RIfv)xP=jE?d# zNsfP{Vg*bW&6|))K3xUBYA;liL!h&;iPr)oEQ)D z=&0m9EC~FLal;UNsDZjkdDj`Txt*&;zK2BwPd4q8w8O80*Ph%evm$S1A4Q~@Uz%)s zu#shzjgcQqPs?N52G?-4K1UVf-eLw>5wF32k|n?rwM^N{QoZlHcf5ii@p)3+W7)xn zUCarGv?eL|fysxVdg6RFNF&sbIk=))jRhf7S1>VjF|bi6wN9|_VI#9Y}Pq6V5F)_Xk*3G_>ra=M*t z@B&S4ZzPwCC7)BDt|%}%o9^APEgU}Ab0l9)YgZ-izxqc^A+kSC|MJH$_Nqbc2jz&T zBhr@RO+}*mJ0iN@2eOk)clWtn!`hznk|o}i&>FV!0F5cA8D%UEOsw zwM%VUNXDFkH=Y(ugroLi+%6=K$o){K%edUy6XVvQ9_UT%XND`cNU0AMn1N=X?%IoF zGs^4{FPd`)Nb_FzVKew5&&*02qdV4+_0{3JjyP!Xd|qUs*$;QUj7*S8K`tX+jnh@9 zAW@EcsKQi@{`&=8~5jK$#9~8~3Yw!wWsCpT6(TGVw6`~R9eARDXnUpzkQwD6{ z!*HjSY(|8xy+(dSS>4qaXAH}doBlOWI2A`9C__LFyZ>~cYHI>Q5N?FZ_2t2MgjemB zJWC{1q$lJq@CQ6%F-baW+$NG^84b`i{Co{IR|6 zLa$+{>GI&8{H`xh#gWUpVth{oMy3uIEPyQlr(3VY8L8^3f$4EwWx862>#BV0P*K}p zr_Y8AmabM3W)KP|xQyJ8C#%5Ue$n?^S0B@?9;s^uFRwO&gb%+hckh+#trUtZ?n8heA#NTaKP}v5-y%k zV-?7d0!k+tHCAe;UV;YGG@I0cB2-HK3rKl&wC-b>Kb^GPx*7*{-mD%5otTr3;kwmc ztEcnwpa(CsT^`&z1^e~l_*$bfSYoAg4jIH>T4QJoY#-LTHUe}5qCRR~03Y=uzkLEX z{4@S-Ymt{@T}VKI-FnE=T3G@}j{*Fmbx`!q0&si#EZmuNvI<^x zu)csCrI@d0E;y*W)(&?1mu6E@pva#|KieW+kkymveH?K&qTCz#VGKFC>-*8JlakE}YDsD7{&0u?zWK^1LWW)=x6wV_B(>m2vHv?%F9k zBIh;vV;}hKlg|9Ht?)PYH~W?c%G=|7DKIR7k(sJy*r2k*8M=<85abH|%c+fjW4b_8 z>i}b8hwF02U7nVTll9PHY|{$A=gaH)rHQ74fsywAOhrPjnH{M^wD||Ths9OE=X~DpxzroiWb@lv9bsfvVD8EgG(5(4D%5;_?(I5? zsw!=MY~1Pr;ApLGHfQQ-s)?>}g<`hqpTulc?lZ~0G!!EAFO$vMtMo)K+^2&@sOrej z`D4kH{#5Eo9A-=Y*y|was{FB)f$>?;4%t!!U~56|_wyf;+TG0gz0C+{lU;o+a9R1f zHtMU|aM9mcJ@usfiU##4a_Mt7HfZ%g#?JX%x3A=vt|l3;`&tM-p^!sJFqbuNDAV#)CivRedo101I|OAdT;tQ^7JS6!A?BDCpfB9ZTX9IJR%>ZC7z*7V>z&M>P=9)s zVrP^o(be(Z4T5*!dO>vaA4Nc3h|~+ynL!Q)8dE{Z!=d9)iDBjbXgJ26vQ%AG9a)i9 z+FcqLhi~lg+shN7!^XG12o~H$-a`<--+Ldt_9lx}HgIHlCX(9uZ zqjJ(BpOmXWFYda$ENkJ#(_SGqlo78j7x9 z!4%iEI1QXO8)!PnoQE8r$98eiCoTq3^9Mm_9_jK_mmF8h~AWFV(u|MEswZy|m!#OXf}-=>50x>S!~mP8|JMSf?gYOv15125|D z6*T+G=(9YHTq2ErC(_9FlCVwfs0}m!tiM)&v`=L zCRh~)6%2D!hz#v(Q*3n{^rN=-YTMv$B&liG%cCX$ibB-&)BGxbp>uc(uH?wUCv4|3omk16EeB;fO(#R9 z;_1-Vd{1Bfb8ASeH&0uKpyns%7JliEf^1t+1e=uko&pbij+{x8_^;rE42MODKua~pzw{x)W$1J*XZTJ<&={SKtJvxH?tApxXZzo zx40gfb$%~@!ZkpH;Mb7;N(}kY_HCjD`yu!g#X7hpqi4+JisIW^*A}TKnq~};ce@Sy z5Bg3R$KTKY32I#zl$B2ecZl$L;5C~}e@w7q>q9%dUM}Tv0iTyAqa2u zetP%Q@fa)OciS)PMb8@v1)O0ewVx$g!zU#YfgRN7p5o6on zB_B2B8%u96&kp5}^@Fe^w+B({p6uh|c0~5F-fod(pSsxC-}_9rVVt!??dL#U>~1zC z=w=P~5N$n=Qn+>GtYu$5YIQu)ib508MHyO;Ala>?$<EBO1fQMwil}F2uW;x zru#TF$FtY-#~jE`T#KXHX9RqjZojujxN-FhV$>3?4yU?$4Dwe5ExiP}nLGE`9&G9b zzr&Z*Y^rFUwv{Z=Q6vCi52u&>rdJQ7s-UFn|3z@Fng8KX=w}kVPAv5}(n=(wd8E!W z%+w><;TY7qnz*!;?iAzGhvQyq8@vdyAQg!EVM61D#72(jRB1mdlvX2?OSWbs z;5bGSjemo`O#q0bzHT&sb;&~)$O9UrfZ&HK%eq}uZ>~R_?p>J%6Tl<6z$ofx#iM>- z#cvU(ZE^EtYn96aiEY0lQ;2C&6bJyTkrYKuf$VZVpIRJ#Xv#iO&}>34@`Tn=IKEab zYL=gf98v$pO$o)DBHc)d?Z6FIXOQvPXkB$S$q2lhs(%R<0L%gx$WerY(;b$f5CbBD z4Mie~5eoC)koXGs-t>FE_yL#*^slDAT;a@q_wH9@p0}76Tmy9*ap)hw>$dT`%f#XE zfhS>F1SO*lDVd*SCqZnL0Vp zLc;rIPST0aWza9>RSQt8v(l1swJX*ihTPT$?+w5G&rygQIy5N37D4%TtVWx7)xlS2 z;+2Nov=oZuTA;8J*$SU+VrTw@_Ps*-HVV8I;W}iu=yptQPV+qpmPGnA%pV8HGWC5= zA%D=NKqBxQ0>u_2q%ysC{SMSfi?&f4#~f>*$$u1w5n96fMj>ilNLs297gLuzt5s%~ zJb)Mlqp54>XB77$v`>`)o8PG;?^7_daaCRi=W9*&;Q_u#bm0;}~Ke zi*2CJh|n>&totDJ=A-k0VBE+uby{3-5hsy&-%b-J6sjcEpP_(?C*6f@ zcg`X%3Yu0XRa7UPh+WPihW>f}*bTp9YRxv3V?0+G8*%|{gHHee!d`QfbXP&OHK-I} z6e&+GQ<>>6=-&RS?oLOMAJbb}UQDGlf* zH{&9r++#?0*~Y=kkQLWmSo$j1GX#@cxO%T^GzTyRx=Yt&Nq2uK{4fBGpX)`;B7kjX z^F-BeL?QYJ*&glRgv#0J)UKoCanuIXI$G#QR!Hr(Nu~A5l((2Oc{EE*30ka<`57v- zR5&SyMB!WkvTv;kGwIgBk+LC5rpO1GA10TD9a(FATPUh56a9d^&W-Tb710Un3OKV= z{*QjpA199)pkC3!0EEU}uD7In2FRB?_pBqR{7So$7J9!+Nio64u~6sC5gk?YS{J~2 z;XkB_MbC0>#z>le8wg9w-SY?`oP5^vE_MF-EaHs&MrY zL?aZ6a2ZJWqp8_eal%NY3++s1=-GY&^?epb`#E9tbfBN3CQLRz*)AA9)Px33<}U9 zxP1~er4nAt{aH68h~9&u=sgJ0>zrcm0)123J>qpiL$7i_0n2DPCeg^NfhIiuxy@29 z-3cq>&-gLGF#(j@$OH~{EVb)6Sbr+5*_Yzp4a=SGb-dz`-H*x#vfx*k|E`k!n;SKv zdYCvA)4E&$UqpCq2os*k7BaaAfA=6Y31sq_I zr`e5)l}FwIq$fZcVI5dv)?x_zToHIV{zu_@neU&FSw^Y_^q1AtfkxA5?hLa>icIN& zKv8u%yt_iV7Uh0zxPR%Zk`wa!L1bVx*II5x`4^QeFl`3H4DkrU&&gpH2-j9wl>2?@IW0pWOg*sU`_}=2M71Z8F(QD@=+Sz(RHaKm(iggi7Y5OMLz=HHrGHPkr9(lfOuc~?x ztk7g0rvMVFWe50WWaNx64xq~GH>l7dDY(n4~&43k&f63K0tOC4lH1G z8Lvuepv7$_l<6#mXz*%P)QB1aH)@@N~_dHAfH!x z(0#0Ju*hs1xDY?Q+kF6dhfMD;5v|?1VX^(a&Q6Objs1Xb$0(2u!oMPk= zBI0)dDQ>#_Sq+3njVKkBqX|E}H(HO0qHs8Jq+Wsims5!n-y2k=gK4$`+|@kIe%?f* z5wzb4a`~*7B79_QH^_)M@h&%0+Ku|iRs76@Svi?0i*hJz2KpXdD95mQ?&f-1{CAdO164U?(O*#Oy7T6ge6HX z-U{^S74WQV3$&v{q}7FPNJcPrG=e_CZ-k(93}mYnp8fsy>&`wIIaq^HZ+7MdoAlT2Y%?;X4GU;U*QlqF~5WStE+w zb_5)Ol~7opxdv}oj&rL~Su6rt!y)ZDM$Qz6JC&w&KDZ%In9tLj)a@NxiK4X{{zMbl zhE~)Giuo>iR+#TeKoDd7DFEis;>pMtU{5%`yf-y2vS-x2aEV>=e{d(i=5ivJTLzbY zsr!-?n5&MB-i2tc+lw6A0TkPgNnA1cGT^Ned_cM1AjF?+`E%o zDYv4g0Zjr@I(esgwLG4}f9vhif3QV_VVm^If8Y@NR_I^-`jvi9kk6=RVo2{=bL#-} z2Z|!iT4B<@f<9qS%xQ^J;Y%rKAe*2?695EzOhGFnN`RXP*@ z2=Z6SSA(HzQ2uL21D{F?3`8-#f)4dMnc*#9L86}{o8wFss8p_785sSU`+zAhp9hMC zE)&|Sm#bAELBX7yRMsqNJ2isBKOzR;2jL09J~QEHpjtd8#g0sbTM$)srGFz z_$#f_6w!8I*iGJ-mSX?t|E+jE62`28yGTR!&90aZRRcUh5qi2U^zKPT*C>KIB$1xB zOR`nIN8H7Y$boBuoy(c%V<`jO8c(v z!rd37@rZAc`xyM1=efln-ZtcN4>f~nzsH>d>;j(C2udVHZFh>q-i8Zet6XIV^ zX$LA(Ya2Ek+RD?4#IP#=Ce4R%MRt)+xK1n5W{Ti02YWVa#4G8~ksBs}=MhW`UX=G- zVMT=4=P4C~v5%dJ)EWkT@{55cXI){1*rlcx^sxQzC5c{$)j<^3XO}8ajto9BBSyB{ zY_we|*givVg}F#oZe1|a`CKdj%R4hdxjgKt3TUW>4J(v-!PSw78Vyc7G&60*;n%X! zwZ8V5Hz@i=I)7iIbNhM#sRrINz2&(i)eAlVmeRhtV|=YfNMT6?`*q9HBo$ZZKLcJU zy-6KF{{3PsJ=3{t{@!yc4m95W>PH^HBmq@6#uWtLP4kuitzmeNxJSW74M&fbO|W$| zHTNmD-4Fx|JRn#mi9S($JGKy5)d}AXGY@!z1Q?;L9QoDbYdj+wL2cnU= zgC8B@YE37F-W;M4O>QDYhDHqZa>yP%tXUAk9Ux-P^PEKF26`90xG%w^5>4<<3A+MS zxw!@_VVxk?2FUOEZY}f$V?WF0_VWiN779{%ZlTU}%%l)@gT|f8{f($h@&OGAM#uaz zv|(CcMQ#5)BIgE)j7r4PuPjrwZjQ+R5{%pkFsov!lR___Rt@hFke@_chM~I=)C*)o zXA1GxGWkPqk7Cwa=&2Lwj&psYx) zk@@5j?uS_;5St{!%?mNSAY$i&N@tdg7l?R7dfhAN_GoPr^a^dy{#6=X1*JtAiHYc- zJ`Rb4Sj!_?X#aWKwD-hVNNQDr=<_e5|02K8^tA|AO0KH zJgUk0$29rsT9mWJD&*H+BM|Zb#|IFTN*e{Y1bWH!X=}wvSI`w9D$zWA94WdvbMkom z|23cefA;|M=e&xO!HGxHr1tB4{?*?GgGgd!r9ROu~BH68lf)ocPG)+=TtBtAMK=0>lIDNLOaUPUN(9YMw72Fn9dl`K91$ zm~%K`AZVWnBl-q!go(vIYSnM=4()Qzs@vvT(WzC(EeOr6L@W3^%&kZu&_#_+b_I?W z0!ctMR)C0`aWu`_DTzZJ`SP8`!n=u9)VI?`s2Yhj1r_#G`@P`8vqW^9YGj5x7M+^h_%L&!3VoV$ii^ZgK+VEz#@z+AdQXzU|@vc zW*Nnh#lHb?@sLxV^G00T?|RduA`=<~%_j4Gg?H+|=*QHa;A3LD1v1xeIzkLhUOK8JKf>-9bsE98A6g*%p~epfVkKG@pnOC=x)U2@#yI>suZuy*Y1K`=&9Z z^mfg~ndhZ70x$%bmB5 zAIIM!T%tCpbaY$a<(0-Q6f99q@8r~I?vL%r)a5HXmOuwhB{p8q9Y3uPZ#!97wTVJk zAmginT?edY5?$dtQ3O1l+AK#&@bH{uHoqaxWf{RlhaIyN@J`16#HrC&n=gBZb;>eh zvm$*3v>@pEtO#g^#)#A5_Xmc);2z|5&>2ZfDT^{kk-?Gq6G~z~yzTlo^m6K#n^vQ$ zMZ3$@(m(>zHVvIyyz=0Y!o^`rmk(!nf1(Zt1Z9H(y$^KGfLf{=bPYdhQOg@6UmTeL zG$$ED59kO&+WQsV*kC>;1tw!N65y3JHDSotc+6WY_h~*Z8au5=B8{f24$&EVZQ&)W zyo=FiqwXeptE_sxxH_M7J3=;}x2ztwjvRy;VXyT|UFfS>Z?-FIl0Up%u|lo~zy{Oy zM*auTB06+_T^+xG;~Jx@zeTn-N~@#2JzS?dY^(zxstwvPaXi-6R#eH*K+ED7bRGcv z0d3m*M4a!(0rZNJGvpK40qsb)gfb!9y1|R_Ve(-est$K+k_J_0&qY%YFrdcUR%`TlU zOy<^>Z^tTYyl1(K<4pg0;EHNuUo^em%2OjSgIf3dS^Z6@8`I=DiVJJpl|a5|{!XjS zbgdykw<$fCo+30XoR=8ri}V=erlG&YfoS;@70_HvJ^8<+1_j9ZP>mX;*fm-GRZ=t% zKvdRe^@=J)E*c%bA9@9=(lH7^J0Jm${Om{QtfI|wO|RH7r^%zxFG1CBIr>M|aNjjs zQIX#c_(iU=CK0Uxh4|zR6p0_@@=CjJaq-gCX7tx15CxY;V7k`=Gz!`P=LN>;aTV>f zSA237-5v?_;Z1yHuVV4w3x)RoTA4g&y9bdF1e5;d=5BxS|9dO7Q z6vAlOF-yi)ar?~Zc@}1T1*$NJE7A9$``^35o zlDCV1!x11!3ehmxNA#?UjzB9U{` zq;&{a$e=}(rp3SS)j`9P$-|LotG^EkSfgBx*&w!8rKLy-<5`?HzA~!^LtR-7!vrA;YH7mCp z!=W+W^Sgk$ehL@WAXB{CgAPMGJePnG2(#msu+BKX!%mByTs1IDI`7Q524gn<-A$X+ z^B~>7zZ^8{q8Sa5CjRg3(wd_%Ct;>|j&c`87IvYLS#Ic#W5O{MU@w04BRVO=zZ9}q zJH=APh<1QX#m6zIU@d}aC8&XP)uuY5aNJTxRD!B=f{k( zaneI?qyrqa_X>Kgb+aySfDV!(J(z?9|T$hCQdn=Gu<>9M8>4e!lfq4$KKub8$IMsfH z`8C``*WFnQ8s$Aym!8R{ZE@h&LNA(oI#M&Yd(Z(-TPWw;u3dH^A-GHPPB~f@$d)X0 zY@U#6DcO;UPyw3ixqmqz3V8wlc$+(H20zm*9v3NpFg(L zJqs}7a)=s;h=PA*F^XLAxUFzP@t>@{3Qfgig@%e-$NE>p^g&kG(9YStA+Zh>tm&8p zKvhT36MuG!{q!8h2h@2aT`$uvbUMcXc%E>yP7z|RFYj{mBW}{u0gk= zlJ+PyVP-4fzl{#ri>2L1Qcq^}OV_~{2Xz6&!L&Bmy6?a;I4X^RHK;K%0E&dYjX;Dm zjz0~>mTspI{4v%wiIJ3oEt`k^0y<^4fxdADy{XGNk9>*d!^MvQd;BOou577LZD#E{ zfZ*=P;5IKJ6Ew(GH$w5A7cs>(8&?kHn}Izh zxc3)q!^M(ka8-0Ba#I$g?HjLziNY)#rXe@HM)Kk9*JeUVocM4dRY(%Gyh=x(0tQqp z;feqq`5`R3UDidXXnqPrC=>2qhEYp7QWcyPI0|qH03fW#09?Q@uQAQ&Q-y0ebe>{c z0PDVlk!?`#v1k|H43}+-_m?XzxeCDjZHg2blxzl&uS?O{ON;E2(+BA23_6fDZed9> z7=g~~%3jX@&>&q#RbLhGh5&0!IhTE6*2s#7_5^+#3<2~%6Qpz&t=^c=z+OKuv0PepkiwRqgl&M znE*7u+Dlz}O*cAQDJ}7EQEfRUHe5$@e#%>{JzmO2QQ(~(n_yk5%z&!eK@RYG3g*lT zHq1~PObK0Jj>Ehp2FguA-=H6El-dJd7X8F)EshcP1E2;6>vBi5_R>Jvtwnc}y98Ns_@{CGYdytxm=atyE^RF!o<3a>+5)WA2VGJSClijM6mFYV3+ z0>wIt3&(bSaKEL^h+vKZl=1Tu=LM~sQ#P?*Qlc(=%O(k7$`nGj^SsS9I4 zVXzMHt~j0ag{D`uPr?(R{qsgZ&r`GO$r&`Cq;xaZav1~@jN%A(GhRSH7Lsd^NpkU5 zTcoxHGGB6F6a!W&sl98ec-;jQEmBURsw0n!BA5peoRolv#&6Jk3BZAX>^c-($5Xp7 zoeiz$XrKKy=Du8sQw@^(jkoJOl>Z_A?G_1nfMihYct7ye(6n?~hqbS48n#}%XqPxe zfw_o@_flArk*Tm|`29`5-~*vr+KmA_BWEu|u$TLLd~2E!?N1@8@VT3H6qeA2qR~s2 ze}P)Sv~{$sZ7^fI?HcofQtBw}HsZNSgw1vK;Z2k=?DxcxdZ9T9Eaq-itI+iwvkodS z`(=`C0HhoPa0b}7@pS`W%ppugF6%yn0e}mCjLsWyCqG#RM*?iW@=-dAXtX*Uku9pE zo2U`n8VbpbV$qAiApXGcZquJUXriNIv1*n@f6_kXIXG`zO(H_>SnqM1a0TDIi$HfJ zOc8VtuJS=l3j~~$Q~-q>32)~;Y7f>zN2}!M7-)(gsoRUb=|})O?W0wgku9=Ls*v!S zt)jtzRSul)tW)v*clnViY(2ClvRciY3O)V6{iX!=-FXHLyG8zV07H#(W0e1&$X3k4 z3BJ#OW=~f))7damM<*prTF^Yb!H$XQc{C0cvXD2}kj~S)cA?mAXD^)!?KWy?ts1+0CukluY~*AawFXfGZ?w&k2e zZhez^0iCz%Vdi{2M#GvGu7km&!=>u^HmY{>acJvrmn>?F$PY`C#X}?i7UzA$Y)-;3tQspd(%Qc@ zA%o*5CC{Vhza=PNHv|XNBX(IZ|IMaIo83^NA`?O1=cQ0TKSUTAKTLq6!~Ee=)5iR| z)Xyo&V_uQ#m-!O;3)BB<7%lWq(?&s+Sm2zk60ayGe>(>8bxy~tlV#CJl6n0Y#Id=^5BCf4A}bmGCa zG0)`AZQ;eh36ib296Bv3jV3Fkn(zdKFNe@T5rZ5Q%~jzQ!^LRrjr;0td@EZJVTCk}WYQ_=sqA zs|>N4*xxWa*AjYliaEwqb8PkDJ@nJ-eRj!wRZ}lQXPJ}sW%<)7w3Taogx;|S`t9vF z468e%9?-sB|4cXa0LWeyb^P~pNXV(fvm(|3INXnKU04l1<;(vQ81A0cI~gkK&GiMh zeEbwI(ptNVPLg1Iz?)W>zhaD|+>8YD*d{+gi--;#Ey&PCno^rFB6bDZ_#@np^5qSc zPt=cgvD(7?!G=vAaG#&D!-GOYx81&DOzmmMw4Dv!Y}7W;-HtR&n#>j65l3UdZ@(hX zHuI6=pFE+eB8e9HukfRc>U7!&&K$#-)T)Kv*==SPO)vq1uO^~wcO6YmDPce4TIER` zP4J;%rM0_kZewD11oOIw_r-1i6#YIr@xWI*In@!FAEVey@Es-fn3s2JD3{eNTP^5;g(hv=iEgP(H7tPX?DcRzt* z#sm0fs6v`QTUvnd)4@xZ_3wwFeUR6sh6);1sK5fJhIZaEiiu_aM(1fP@wUS#?&h)X z#n_t?>mXHwYvHpdWC5a~-}R!nA|&Hy3x!G~o<|m6jwT-TQCtLK+=2GNe&nhrY57~y zh3_qBHbr_jQ#DS`;M+3>_Bh3M)zlEhK5db9Va9i0-|68xiqk#fk~JzS>6|{C%z=RJ zqB98#`3|^edERQT-tcPg6UZ+JK*?F1XoA`I>Bzh4X!20;AYE#T_U1oD!&^|ZB+d-uiJweAA^wYAUDJ`oaY|C zj0qErud=tWx#++o+*CTx1yd9N@o%BwrhEA|nKe2qnF9QE2+q+KphRBK0|7QY;Em=* zW-SU0S6f0I!gI4ou2)5+&88z6-;WaP$A2TSh@O6TQU9Vw))@U8PKAD?pTP$%b~j0- zMtE(n_7XknaFCsG{?=ML_*)a5P(~?assdYXJ>`2E?0smebd9u`c7D^*22{fu_KII%a52y>iUQ_!SX?*5 zoyV9{$7m?R5Ar$dv#lQ@Cv?i1NS;HqZbVoZDs15!JEOf0MA#qX|M~CKp4Pt}RgFS7 znsx*ytz5LF%#lfGUpl_hQMC{wKQLMVq>dv~i0*cxW%i=n75i~GqJf9KCG-m$476)? zAyf%6kf?L*fWOVF(40zi#r4);5+*$hUg;6Jg@m;xLa!W#1RT^KPYoO;Q;xrv$54nD_7 zX5lC{qWSUP--!d3?Ol<2*n;0O(Nkf z{{&e(8X2-uXw`#(!=PJmE~*wtC!2h&c@;(gD1ZZRi%1^PTHD_Ak1W!?NU8@T$6Y!3 zKi8*23CDbOyg##8jDK?{Zg6?7NZZ6syhQ^`Fo2wmU4fk6awmAcjAi zJx?~JgnbKO&?NXr;fBG%)=RMCG+;GJcQNuaSo*kc`7^Z=$3u!dFPT096gF z#xRm!nOzvf!`$>B@4oY0BkkL_+3+P+f8_qcyg+}zMAcsg4!i|9piM}HwBLIv8OMC% zYqWmR$7Gj2J2lB;1?*5kq*_C<0)OS=$6TY!x$g?oL^Ixs173j=WeJFq4Wel1BbVrY1WdLPVn<$kWPDx`3-V>K!CiRLvw7d z5!PNWVWTkpg3{l{`zeVcY>fO#G+HkDeJixEh;Hia#?)*Dl|*Dhu5U9lC(zl2{K=4O zB!Q+1pfYJ6{+PBuja-I`Ju${!4<>-zY|nagxsq1o&>lh#qUY4RmZ}*+W9N!aK2b1e z72|Sh$;-^mc&P@13~5Q_U{@06yqeVSUW7l6FHX7Yo7_`E=RQ?o66kh}PNK8*Fl*e- zSM+{O9=Bs4Jw+J62orTRzUH!FHipl@&?r(H8pWQ60>svaZM3meGqVE>P5aN&U>}4| zX4f_5j0>Ld11MV0WYwk8VM@riqryG|go`d1=GYIWVhWP>?cTC(WOm0tqS%CXO!lMS zk9rFr0(ex$A% zwyBhuGW)mzy`0xrS1KKM<-nc!b|RH$AKR2ah8fB;7z|xX!xVZAO&$e}0BG^nih=vb zFp~Bmq!EYUuioMZQ^E%ehv3`CSq)J)yYhtoXppg=2 z0<#rE+A$UVuFQikNxC_SR#n^#^_WA$KG?qIfhL3%NDhMaQdIdW=wtLhzuL=U98#~) z-1?F*Q35$}%z8lv93eO@*+e`htC!YTNeV@1&{@NT&O68#HPq0@e}N;zG|@6O%}#lu zv+yMef!P|hX%D;=?V}D_5#8bEGN&rSOQ%2Z ze=||TSMcCf#NmtQS}`&@)w>lFQt{;$m~w9-VO>yV^Kt0mrp3BEKyEzM5A_o@K*MY}iAafLxe-3ClDN0}ISthV13R%Loe zsglOrnMsLC+4v4~8qf%NW^Df7S$w_cd-%4=N5pXv^^>bGNj*3G9Sl81YPEn42}MD4 zwcPL)bK0fU2cH6R+=>J(`Zx3P#}=aSieVA<*L%k+`7cHs*B<}6J)+e#L{D>mmrEgZ zIgx+ES9~e-pJDRhAWcx$hXGnf+g;00`csa%fRbq#sB_8nXGkV=!8>tUTCcr?%QoVh zJ@dk^N$O?#aMK!E<~bZwqVeW%ODt8A@uvYHOoyp*Tt<^9W_e+#)nhAA@uY?SPG|)> zW5G4>$mCCh4YHJ{UizBVfW6jGo`!J{c{)k>1}DsiyK;oxkUT>tJ-1FRb=UK~pOP2b zelN@8_Pg)Le4~2UdIws&O&B8Mt1p+ss?*`>t|1#-I)I=Qn$swc_20*JlxQ&S2={+6kzsE4bHs!a>_ezSZpOLwOb{)Iss!+Y?{zMt?fO8C;YGCc zx3C#*)eWc*;8`TV{h%4Xa52nk7R;(O7aN&*ZUjZLbD;>#6)E0roHeHUgHmKOl|Zkh zc^6{FfEI(t?bi_y^4LQBCBC3J};GOF{{={Cx0Pe#Hdx+ zwM@G9v@nW>q2tbB9ENSM2S~TjVG?}M!G_Gm4%Awqtc&TFMS#=o3OU-LKZ99#m?jJm z*}F#DkyQ$-jz^Ve1?q{=Hw>Mr(1GM99dwjNr$ICvR(X#Kt}PQDY;eRZKWCzE4RCkP zm-#Q5LpwL`TNTkSm%^7G&~{Je`2XGB`9D=v=5d@0a#2CBTEC*;G;1}YkZWqim#dZ2 z?AX*ayNH#7vyN*;3M{FJ%7GYlM|b6yiWv#!u zs5E!~3;_h8ZuDxca=2Z$pz?b1e0z@*05c+GHXw)8GBI%gT8k_E1IS7s zyfiva&BOsQOa0ja%k)yeJ6TZ!P(6_~rP}Stf@a{Z@1G9z-`VIL<`%AK5HitdTxZO) z87-a!4rrDuIs=f#PJx=(vr>}kfP&2g)SN?ny>R>0gQ3^dS+CJ3f>6!Z?Cb{_R(AGY zz#KPv-#Gp?Wef6}<2wBvu4l|*aHQ0{n2GFD@@avhxD_D~Ki$aHsRHmz2qV~KJt2CS zWSvFtyiSVP%Hg;f^ zPRcgY#eQt1-~|Wv%n}#-` z9)N}s=pC-M9oiNhSY)(><9>k;$(2`?6BBg2n#tVavA_?LOq-91=Nk7j{~d?&_iQau zv{zuheD!5J&ZE30aVxZ=R$o0aaO~V0274B6?~&yZd84T;+QjnfG;{)zSOBRA zSJ(b#tV-{p&Bt~Mox!78BgG3jlrB>lP62POhYD=;WKpJGK>ZP#Z_vGli&HD@@)Z0p zO_pdm?;Z+KUJz<0C=z(bdYs3{AoFpZ(N?MnTYv7~)beq0so*tBM%C5PMsdv6h3}n% z7LsJnML-1mEBYM=KB@=#_BpxN!LW$KDL%a7LZxfs_e+{y%oQxgThn4vfs|WAQNQ|` z*yTQ5#M@W=AoLezBTb)nm#Nb0IN!cVUT|`-sxQ4o=-j_LJ0TLAaXpYJ8Z={7V!9QV zuH!bQ=ET7L$WmEv5()*q`zE$DM%FmcE{&MSdXcw|4zj@ie4w?%B#7Y}zj4av7>W}# z8smb=E577`pT#yrbL{3*IEyha(o$DyGXBY=+oj$&%B!$V z(f^lG?}mTzfo%zC@m4Q?+s*unDzE42!-Z2zioDkZ6-3!hF=2EdlQOq>@3frTJ;|#b zpO#1aAArxZ8kP>gyV@d}rwmN+-ds^M=E1ZRG@caRL&~-T298?oyuldzqZ{)`r2XA) zF11+iw-q_pcBwH3&K8$W_J6&iyGLMLln+2;>yj!GP-uNo%4fYNk^n;)QeQNe@@}j@ zvyy(p#R=ACmj>}|Q%U`Rx2GF2xo?SHF)r==Py^Ma2MkTR;bJfQJFmO}H8cg>C!?FG zmxhx%a(22zePy(SX6IzyZ%zDUp?l82OQ-)9dQH*|0h7v$bSQ*m?AFCh3r^xl>D96h zbjiD1)F?Gwjm)AjIyVubG*3 z(ybMo%XViOR>(TPf!ETfoxX!-9Cin9xVU>yh_e?)GiTD#9o4}pxQ=IyS9so!Z5reM zLhPJL-kqlXTB}SSYrU|b|BIHH-ajf+2pt*-KEs|KC#o?8ADWZ3`Kgp8pr zlw}ULwuG&p($q$rWqHvhA8l}fxt6Hrg&4j22iH;eoO3+p$eoFctVt#lCS8Zg_#9@R zZPYW(&J~A4()r_A<751;LFgyLa@5qc|&O2^!MIf~<)fQmS!=@XiC7F(e*V@eP774OxH4Kd*XGa)|$Ych{Ekm`X(=ImtL}w)z_G zf85fN+EWGC4u!YjGcmPfU*O7Eaac0W`RF~fkT&5Juu>wRdy^jgTyl^FQMO9rjv-8` zNph}J@DJ^lR%N2C0bK2=I1n?v+3U9tZmOL0PLAx;kOsKwCP(v><(1_%!XA~c@2DK6 z`z*aYOp%6U9Dyam0HGlO8FdX!^VV;ElZY4DE^FgliM9&xVFk{YmBhlILNZQI(Q0Y> zPdw*#FqWB!<5gMqB-L|=>4HGxYLn^1Jk_EH?1Jvg(OIJg#(R@e=?Yu`<#>uc%b3tC z`>38Hw?NuB#{e{f*{~RoAup1Ec0`_S#AIuYp@V($J4bUO0&(`9Rl)h?EMk{zj<%OY zz7I1ie?0Kldog1FYMQCF+P3l5_bR80h*b4QJ{*s;@vQz_2SZT8Ew>tLzNnoJ&8y(pPDj!0%3cLm6^J@lhzC0YR#{DcI1$2H2R*0SS} zsm^_;DpJQd8h#Qi;Q9*M?$<^Tg0e4MO^Oc5<;nke(jc)7&M6}~;dTGl zQ<5RW3S6l1N!D5rRQ&Buovhv)zYauiWzv>nCcZyrRmRb8q#KkChO~# zZv+0~XkU`*;lLNuHI1D?Q^`)%(TsAkqD6eOD>C%8ZQpl_ z4|-;vj+uB;$Jz>R;Y58wSL`%ciyo3eEExv}A+)8+cBl;m{Bp*Do2MAWM?jiYuDP`q zo3)Iz-6O^@rnxM2RF8!Qx~MNN5VRTO;~Ege649UdvIBHH5GaHk6P+X8o@MlMwMB;( z+jCR;kEkd3Bz)?*uQo*DBvNpaQANUeDtbP&%i7DK6<2muOQnDWH6$O%KqcfLnEpPU zUUWTYC&?Hn{Ok9JzFvC*r&N}^vZS1$rk140c58JWc`M`&2U^=uvjLlqK=h&&&_o;5 zd-Dftw^_pQcB;oMAa<2GoQ&iy$8CYeY1D;4BavC$%$($?-Fwh&mrc#5~=nX_JP(4^!dEY z#F9Sl6@Y}WI6__0i<2;omzjUbM;vf3WmqQ1G_BGKxi*u-M)d8`5dxT$jJl^gl0|<| zpCSN@`Xsf?hR8NrPv8jMn^Lw{xiC{4e5o%C^C@dJcSwk`4boFq53B>Mpt-?lamgp7 z(Vnx5VxQhu(zrd;PO=$N{=1CoPIB1r_jWD$A)QcMJ3)%WvLN;%Z~XmQVx{s|@{p=^38GDR+b%z{n@kOECBX|)wmRGd zI%hSdcc6|7_QUxJ0`fr!KLn(MLu1?Wh-(|Y07XGKx2S16uikF3uNI`*whK%{#56LL z=vhDh58diztQ-rX-24ybs{d=`fw1)&StU~{Mnoe_D)gf=A{ry2F``?oTVv!x`LTW& zxkba)V?v^T1?&=l#7N zCfGggx$i&j*Zq&LJ;$QVT=Tnr58sE+_w)Vy{^rkruqb2V^odDHNg4m?KYs6rNl6p_ zDk;f1?G_jRW%0(p`;(-k_FMkb_a6C+O2<{d^R@r5{H5PqQ(J!b!vB0{-&2d%94PO3 z)B1nwe%kcXpZS`;HRo%;8`<3Y#MWQzc)0Ae@2S&Ei&j1T`~T2V?)l&R*QG^cMX!DN zg~ZH!IZKJD_;PF9G!>kuFSo``^YNwCxY@vdxi!Ar8ee+R@u=g=^YG<)`0_k_c^+;$ z1>*_Hm!ZR#p~KC&s9IR^eAbn{^?e0eUdD|62gl~AH&%sxRd0sQ?{7Zv)~Cil^eGp{ z|Hb|8VrN%fpMUYD<7JzUZ?8`saGz@Nw-oeLY&y>W`sdUYA2GkicSeUES(%vdj>k); zFL1Tb-7sUpr1rT*?eo;1`HrW3e$v0ONpE!R8hE94w{|8s8Z79EL@S<}yGt)Ke9rgXz zfMw1U;Zx;e)M{fVS1ceMl55)?3+%>or&L2fs*N!-wYr1mpNrtM)>oB=xY9b zV|ee83x`J3`DNjo|8H9RpX(VPP5fwLY+iJ}KR5AAHUB4xNmSdJGlwsuU~1*M@ZPGz zU5>nr_PNoM3_W;hf7WpskUU_+>}Yz)YpcSo^&wY$`tZ#0L0!IW{K1cAx=PY2%fpA5 z{~Bgsb$D-m&^0T);2)dgU%#5nyXEtsAg|e2*;$)CTqe(RY)-69Ja2qqRMw1C>tT(T z9Gma-xGwBvI%lP~&np_+^48?xa=xs);?MP8US|BM)^+&B#CvIT63a2DpDuG$WVFwV zo-Al=O)kl1fP0U8s=dXI;%ykl%qCxPz1R5D>c;U${K-v^I9|pi@rbhpjY0DfhmL%z zp3&t?W#N7Giwhcf6cZEnjla#l?bG2`v|(X%TD)lrYroxuV< zT+mQ#j%M1;W0*cZ2KT>i47b#^x_VzuW#tbsu_f6H-d(D^SCjRO*xYE3e@^8ro;5c* z=jO$pFuvG&&-fE&hg)Q6-dS4Iv6^+67d_>VL<@L>b>Y&wRpZN>d(+oX6w5r$&x|hf z7dtE1g8Q4}gPUdMrVmeR>RKXilK#sR_Bj~z+`7?*oW_c_$}hHZpuV4%(mp@h>)*(a zxZlm?hxy{M0e*O2z4zwLaPX_+!+5eHg$etBL;1*~xNo;E(%TgKFefKBiBy(xA4ZB4o~K{t8X$)@s{x+>!-KZ4<#2)UodGy`tak7Id#+NrKSB(Ft=kg)G+q+v{c2E7#C6*~NQXX!rkDPxnme1FRHrVUZ@!!XP^7&6Y z>Kd?DrCam(J&r$L>yejyB7A$`soBwU{$NsDVt(_|6Xtj8Uvet5qVM}R)~)d`az-*Z z?*~TJCvEisSJTmh#?nl>$*2u%KWy9LCU2_K%YF!a_Cxt5^Rwz{J>)8sLwRh8)8mZI zOPCku_!f3;$SJbR7vN^*@kXT^{z;MUrPprJU#=pd&8|UP$PqpR-*ZP#gouyS3 z;ZOXfw#`)4vgro3 zb7e#XHFpHAzwh@r#GV;Z{8;4Mwn{1$!@@moY>p+nIAgKN(I2k-e6>v8 zO|x@w{4JmCs*fbsrd39_*M*Wh#kui|>hxmy#VH%o(=on34!77RTOGN@-euZ>psQ(8 z`_Kc?Qb%jDHLA&8!i|rO{qiGO_r&z{k5A9fIwua_7alHiXc?nV8c%BqZpRIGPF&!^ zy$;VdH;?fS%g2B2C1cheuk$6>a(0X<$opuKv-O$YohNoVLn*O4HoRiR5u@Jvu)R_H zhyQzB$Wb!7w@yzkeA)Ow*13(iJ?5hxr^Lo6w_i!mNvy-r!;@IU)3-jHlY*@=ckNgY zlM#HaQ8u%lQZvO~zR>fDU#spo#OXQI;BcqZFt;+9f$L{jzVRukzRljET0@_| z$l+eQ;PVy4qs7K19?ZFXus)PL>(^`ZWD$E4pIvAkZj8Ne=p=KTlVNNXW0M^i4O}}* zq*rl#t+A{VjpdZEdn`D<04sPW3`w5+^L^vFWBt7D+~_L*1NYd z+wEMto{K<)u=^PP)Y4clJPGUa{-N+3$i}_t|nHJU7F_*}H z@y0WpujKJ5XiY4S*4D>zN4BNMR{2ZKeW!J8B(xv8@P_d>i6!m%^TaRiZgka76ocV) zb<8yuPYq!hchBzJaiTMAfvYCNUQyrpENrdF;6Q~NljGAX*O{+dabtbBt@0&YdScqf zcd7PjAh~wpf_Mqr*;-I_zQa7VL;QYXXLmfFn6*cTcnfFEu4jI0TVSU5Epm(*z)30ZM{@dyUb$izuQ z%N$I&_6B)Ys*&)mim%mD+UKep#IX;v9IeS(#+B<8TlgW8;j?@md!fE!jBkE)PGWqX z2+5-)Ze+P5!M4eGCfszr_q^7W>hz`XE~~?bMp|!3Qb{7W!!#*p{=04J1|FIeBct!a z-Z0#JhC59@dFk1=CdBdsp9lT9fl%3i%)r@{+TF8jcb5`wFnni4O2I#>V(i7N_~nAB z!@2Qoo9iPE0>>Bouce2V9T+ZK-B?;(5q_jC7U59N;gIRPQSw;EFHe~BF6r}Z{&CCd ztl{zl!|M)!Q;<9Is+pJ6F5Ol5oO-B>B&?U;SRkI_AyzAopMQ)a-Bp$AJAQB`HmCnH z23aJq1<#s_qxmqUHkbai})^S5Q#H@GU+^U=hbNhF22f$Qn!Vq_nFG3yGD!Zr7YxzUB>PFnXs zr3*V|f)gLTt>Z-Z5-~H-&vOetCeOLF)A+Zn=-F80^Hctc0ncTh{MSf*-!q|ktah+K zs~{mHpFg#|4vJW(G#dFTtL5qhSy0m@fdoQ0^?;dsV>-eM)Ydj* z!SKuTSANc#I0-t&^MOIP(+um~@0L2fgUkJ;1D?J^^`Y}`1Rb@zo8ujZ(f{lLIp~+% zUAfVG-mdlfj3x&jP$s-B7Q_q)h|)WK!EfeZLf`jSU(Y8IIwRXKTa5^Uf@dvrc2)i&=qd!SiEkNw zGQ8>VmFl|4C3mpMnKxKW;&Hs%8FJo|JFSFOY`S^~b2lq}LwY6d#TYERA)_Yix3eY` z)yyXWYKip^|Bt$%|9m(lJeB00jo+>95`;yPW3nVxbzXF#X$yybo}ib^NG0C;q>*T^ za$UUdoGkshf*qwvJe&9?HZ&?5h=prq0xB=-&#j4M@SI-%B1hMVtZC?y_K&#lREBu5 zniOXJMa2;<#8@;P3m8vPgCy$N!|M;QUM=+v@$v<1LstEB(?H>R@pP) z4lLnx%t&QKyNh|utmK+W02Jygg{hU(fSImL^IuMiWPJ3tdP>V^pTx1Ra6Yq`^za*i zM4h|UG`2DcA^)L~UnvWJRnmU_H(Q*M;|FURC9!I7cvA>5=5KgKEXa^+{r2J9)!A?I zTjFuzX6{gYYiq$RoNzv0-xmv#c+bU7t@3Y|Kx>J^bKLMQTBhatF1`srtKB;qtoTsyB647O0KAsSIgZ?u~5R@sMlth~DQDtC4#6vmWzz^LDN>JoOuk z+5K9#a)iuj{5+li+`u9d<$;rxi!pxg&D1B8TP(#<3Wv}%b4Gv7S}gAIwRIfB3gr_tH#U z+jj{<-q0N-V!jE@j!f9f3XOO#?!}$YbaIet^7B5F;Yz#=vJ#7IoWaa>9R3cF&SEp% z^fp+@lWHKS{3L4!mSSUk4Yv4OfG20>q=S0oEBBRTjK>S%lUtn3PkzxtcZC0ufu8l} zsuNe4wVL^C-u6spGFJ`p^^^Y4N3Lt%@&`9eW`-{FexEzjEacEPf?n;TJTX~#XX~m6W+Q2G*S&mc9_=mn&7e}kSZdLA$ zX`C?qlJa`R)y+4o1Lx)2Y$sXH-s}%AYDZ)@gf6|Y__?4Mi=Oo6$-OtG4!1s%dC4ut=h(rTblgv_(#9l;8DgC?;$;Vt8GBjfOF>usWp!~g z_96cAiMXt`Z$z1^y={K9Fs23zWhp{QzV5U))9knVJB;q+fm z_FATUl6^#dKv!)^gyj|SHMrlxf)h8ALfuRA{-;C&Yyi)I!YAq7Ya0Q>Rb7LuQ7$C` zVtY?EMhd{U;gWh`Rrq!mwk3A?N^(WUN<8?sVedr{=?iCg^tyOt^zrc2#tsXlEE?;w zGa5yzQ#+BIeu$mo!9!o#X-q-=;>+-55I-?X zzrt&?{X>^PKT=qv;V0vzBTrB}34n>Ko?Xrye2s~isB2cjHmZM$rAXeTXGKrPx;{)P zNj*FvxigipVe4bt<{D=xLurOX&^g}f1e>>Taenmn(!6K%c}#OZ z^QLAE zO&2>xJnOS6vzsoK5uokQ`fYQ)7a#OobIJGI8SR<=McdWO&GCn4q!zwhI&!ZWX{@nO zwLz`hv?SjQw~aImfcjv^>cCF5=U0UfIXYc<3ws1t+SVnDL6iAd^v(t}3vcC&mZ?3r-Xd zg!=c^Hzbqm-iMWYz7A-lR{l)bMS7`uIfXK^vIASc0`~H7o9T}{R~JNA6r3;+agg*K zR$8kX!G+Iu`9rA}#SQK#9hr_h@%E7rkPA+hO6g9LO36a%OOsl!yN{JRBV)nnYXoMy z)u~!S#dzb5sZAF*)fJEUNL%+1KFxZE3UEOW8J#Bad_KE5I9eVqt7{mY8g4!O>7$>0 z;IB~m?f=%3q#s|ZPWO_&3h=wnj4B!)u|RV*o4>i+G&CCv38ZtYUHG0MBRebREPDEV z)Ddby+4W$xQy+YgkP~zIU?6GMgqnHk#I}4Q9bELm5#Od6;Iti8zgWXZ0J8pZHVOHp zSUzcDt5E>laBGR=Bzwd)%kxM%B4a%puIv-2yws>jQ!HM2ZT0G`4^s&6{y8LZb8dVK zNe`2~x^cF^Ax&2a&XRWxgd&HkUTU>rN;UN_jD2-rRL8YMk{QX~k%oh5H5q~Hy&TJJ zz2Fu&gPyPu3(KI2T?_OumR5t0qI`8})`y*RYw@p;Yp0 zNs8Nl0&F}9u=o|VFfKXzJ`BOgjde}I#S|<-fwBb>QMp$IrzO-v%P$X>0h0^ZKh z^1^#Y8U|1Ma~sDdMSEgH1mu`-=L{z~NQI<{BkOsv_xu}@l@RE!8ID{#^URQyS`27! zFCmC6V*BIeNj>}8B%NS;lQ)Hax0m%UocsJ9Jh*J)_O2~?IDpQQ~U>yNF zyR!5!=`)r?K#fp?eQtWT8Ne&&@^z{YJE%T@0~`vsWpwRwcqsF#%>>%>f0@SddT{0E z?=u00D?GG0gVBD_j|X0={{Bj`2Xj16<%`z<4=;RKEy$Gg=kf5Nqm7{F7q$)it^s{* z%V6K@*O#+=U5?%~@)0WG?T;7Ambm@ngK`K!zvKNQQ^U<;o!!C-16$C*m;MbgNM zaD~K2M4rP>#LGBg@9P;|wFLJEw!+iM170eEdhl{T#pNRJrsUy?mcECKj5FV=sfJY2E){9fXMige zcDX%Y)l;<_c``nLOMWZ~h;Y6-V&i)RY5*6;OLtx_6R-a-M%cG4ov|Jo85)rhmqwqA z9Ge{J)_h;cF!T_SVMfi+U6sC8M=hS;^h`lJ`B#66e@q^}JKQqTFmz5b#MbMc%S;Uc z`n-?#js%{b!P(kdKXm?$$c3GeOZvM-X@#S$=Ra)mZy(Y6NeoHyHdWmhK6K>50)QFK zq|)%ur;aZks2DgW=a&+BtY5G@(eF%FNIkq;G62rL1f*OC1R1KnN!UeAUzgt^Wu*S(}o4ZOsm5%(t;6B33XDN7&EIsMv@W5U$j ztG{|3d$U{3${{>it2x`rX|-LL)~#73pElPAc=Y0dd-JSNFx?IXTSuOxbX2eHRx{i{ z3~K{P*l01$Q`kp&-CD;GHIvyBbiw?d?#vEX4{Lo=;^>`@;oe6gQ$yAh8#*!>V#vjP zU?{7@ErhdbRt30=Ak>e?2e#$=hmzW2UN-q60548xB^D=Z^#a!nCnfx4@ymq#=jwao)0;0^usg7bKZeV@xl)#~bvwk|s-K~~OWeWq-Tt|g@z|@%hpqQVODOnO zmc<9g<`L{_Z&y1rS@kor%dv9l@63TLcc_ze`K*k$(};REq?X zcZFqTdy^^zLuZ` zQ1*z}B{1b;RzK_hTX|dWrRBAp6KZJhbJo4=tYC6_S6#y;{WnngHcM{%3L7xnz)iJZ zg!uSwRl^Lu9}947%B0A|eB&WQkWaeRtpwkotTM^H{_2g#b8!v%z>+VX0BL2q)~8r3 z2kkEV0PJH?_9WF#xv&6;l_OjpFT;+9Qyt!J)?Z$gO;Z+|YplUy!UjTw#W-blpPM&m zbj_+s7k^d>FxfH^7$Q()92FVSUM%$!)JCqIW@5{mE*>Nvnx6!UA<2Py$W8~B$ObjH z+e#>SasuNo3kV%O7YlrL5)}AeZ@2bB$Td7IzGUPcBIn-S>Wn$kO&#+vBJLAq1NZul zYn>6}GnMOzl=R+>5(4HEmUtsuDqqqs>0P-NTTETHiok>JGo@^*ZxVC{hJfxQglVZy zb>AZIGx{X&gG=v8lERDjtHn+q&ftl7=?x-Crt_n>wF9j#J}EQ_(mXlVyuix0CX*9) z1e5uj8yyg>v?hXb0nUPEiDl6Dh<#%I!bhY=j_c|3RlVe8&5NBibJf9xQ!BrjOJyiu zjckTBI9wKAGW@tcknbR$$j)S{X@=Hg`CzoPhOI3Gc#Z8nm}t}3g)Da@{nE@m@nq|3{iF8Ubn z2j)Q<>3zAhYBreO2*0{49;_~_Yb7mGHQKR*GP^K?=Bhaz^8(k;#`@bP1CWpzVe}Uf zUu;V11$!{7vFb1FJkxvW5b4(N`uJsPRo5S8-`&k#&~^|tA3rGbxjtn$n;$AS{;O`B zrj?nl%KOzEF}Byd5uYReTyxxs6Pw?f%%Izgt6s7Rwc{`KpCo+7fi1?uwN}aI`pse| z(^uWj&obB><$!e7Cg{JxyiAMr^P`QIv|lt{T8?3@(cr$4+OOzxFs+z2V+y<8da?9~ z?O6|5CAmTOzmho^o7DI8Z0Kofq$E4McQ|zMXu*la*F1d{b&X_fhekY~9Q9vYBW5IG z&GVggrAhiRRoR6T-$aDJLL)U-vspI|@Y?_n&YIIVlE#bS%8~fZrv8l8Sr^~(;l<^f**Fr_xkD|+p+#_Z^MrIDf1-{j^zAhqxzbl{c8ES$E@Xzmyt5bgtBGEqEiw{| ziJ;$V(K6Jk&gl!{%lyRb>N`BbbNyrz34M*$eJ};V+-bk~!&F`K zKq1wuK^B+krGD157C!Q*ezmPWL@4!yJ?A#rO4~syem7zKkenvpNZwN>?WjMRF55sS z*{VqpFUPWMpiMtpW>{@-G1);3^0PaeE*=#_tR7pR0*yKjzdf3t6gg&Xp5wMD@qNBD zDMz?7>V;YFu)1cQ{MEv2sWU9GcnI28?RT0DeseN2xzGeVWxIeG%=LExV+y5b)u89E z?GWysu6kdxKy_93OQ$hKBHNq(tD|87z!cp1!TI$BrT4OPl|6Zt6Rw}+OQQ^{OHn^gEbux;O7&ccaS*(x>!5VeXDIE z@eRUMAc#AFSp`t*)Ln-sf0(jsKtJIbxK~gQHBZZk-YMj^dZ;+@Y@_hHJjWTch-72m z_$RAGtNns4_9Xj$p+A!31I?oxAy3h8w~e@nqA|~BtHTH7d_C4VefZBM5# z)93~clsJ_DZAd^oPO^^@xY`yc_r%D|r0R+8K;?Z+7a`W~S6-p64qG(R(IwxpVgpch zMsr|mA+FJfZ6rVl;dr+@gq6}2%lC))p!)i@{0*N7JHv8>6YQg1T3Hr8nkkXeOlZzk z>js-P-m4wcUPyIHr^4)lf0V!5WNsxzWG!KXDt`0I}O&i`i~e-XM3h)_)_h&?LJ%T5TZMeGd7Kcs6$cx*m%G`BnAm` zFhgs7X4oHgpm?R9WV|fVuvIfugVKcn4a$sMBP10fcJp9B?u{V0O`Qb zJNTUQdosF8(g@$$IU}l{)1!IByC!QG#Cs0`P+9vFKP*oT2sJag z$pL{$DsTnvjP~FX3MHx_M2SHiVlRJ}=&vN?Oc>#ZAG0h^=x^}UzF@5wowmZ7ru|Drwt+K7X;J z-T0XvNl^($jAN%J*_NuheZC}{q#!dT1(~d#rY7p5M%p$Kc|8rb2UP(G;RMg0v3>BQDCsg9|4%{R_R_Sv5gCzY~M{xQtXge62;$GKUZS@oSGk-^2e$9u=dH2 zrqv}mk|*49+nwM3V}Gdo6RIV$6#zD%@G?hK0Le=v|LCv=UM9?@stVAV{c63uV3ryw z%m&}#xKhgW9+RwVq&H1Gl=e3fx=5@MLpKt_xq2QaNK{H5|3D#O>fHbg6fCL1)y!8< z^IK)PZ4?GcGha236Il)@OsO_7P~i+6OlyZ?r#0xVlI(XT6A5sVp+4H@}4VV_lhr)@$q^&9ZpZFBv_+kwW^*FyBOn7&V&ZHHo~VX{G> z*sZo(1yD-q(}!o&`6ySDOZRP?WU?G6t+Q#=A*v97rabKqV|_q720Gr9&0fJqCN-~5 z-L580q$@$zvL9UPv7{W_%84t<8t|sQ!&cZEx_J!W@Gv_gXYhTqNdkC#=nUKxDN&zD z5_nP%1z`TvVD$2NDiKCUz*U(CU@_>XrE}=Qa;$t!+jGGwD@WG}5eI}P$QM>7J1ktY zGm^~biHNkymV?{fPilS^Qbz>x)THPGfRnFxrdHne+eHKSdPvUMRh`sf zAU!nmog;mIo1d$@>}`AxWyO4`7%WF$p;aBuSKA7wLno@9(1_W3JUoH*fZ#<0PZZlv z%D`_ubZzk3YgbB=azjF3kwC8xf?L~aoPYYJ5a8(EE8^GWpMp0Gl@;D>qx$Hoi`9{l1 z{wu(+w9xrRB14pja-4+v@qIX%>cdw$fG}$T0X! zrbqa`Q5UrstVb^JU_iKE(vKoFAjZZ{T`onHEso6d`n&We2*qwX&Zvc1rm!mZfL;Ny??0j#p4Iy>dO&zaaV}_>OouVrGibO zyrS4#^)TfrXnOebF%O*@Tbu!^UohiM8hz2&Vk^Sh`rp_(!IhhD#enC)-Dr^xtRIop zj0U$-V`TlM3zhz-=woacA=W*5?X?F>*=09ubxd z`#6`!RjxZ)cGgbUpAu zsqkP`Tk3t%zf7~iw`Nq+&&V|FN&HnnSQIT%$A-xS@BQZ{5@yG~_M4M~(yuK3vn=k# zm-Q5!Smek#zBKQh?NqL$|LYth1#9+FDIf_wuyuXjeZ%WPZF@NddDRuXxJ83Xj8p$u zSe}>m8}Cd&Ss%HuzaKh;4!FLzj=xZ8Qp;$%D5Z=2H%R%4WD~IO#ymqGh~->|K{S)+ zU)g|d-Y8WTR(d%TMPCa1w+s7IjqZ>>lZV+H_p$3bm?0S&O;5SF6e7pCZs60_>O5CczvI3bj3s74@1E?!!pSbE?(%aKfJv`6})8mC}&K8UHOgr0uTXhmUM;8Q;QNH$|#poTiKC}+?O zBb`*tyswuGtjvtvx7rED*81A%6jMqCqR;y`;piD9s@NR>{u|?w>N0xvuzR(1U&?#$ z5f+iz<lf+dB7rimj{XNm{zjhNN8rFpkl{vhu?qinD=@9!{VP7k1LD}38M z!#dbyg~QE^3;$L+&i6o&Lj*u}fsbvHV(;t?ZpP^mzzSVttOu-D6<~3&wzz;&DB-XspFz8aRic+Aj7Q<$xZl9DyeXA zu|o@cco!RA3}jmG5+HAY`H(KeD9=^KPqSr#(J3TkpP>udzEo%EF6j)cYmk;INnfbn zo|aax<7=f@#(Eth0T$@w6ez&WeU_WHN`z~jsS$I#j%I%T|19K6#9oO%)U}>pK5N1s zXh;16ovM}h#dp9-@X^R=^mB!THk`+9lKS~7Mm#icM)iHNI@Is+)k;gcF$JGoy<&V5Z`;I<4()l*%WKKVBhGXPLqMIsc>KeOMB}dbkjtl!BS8 z9l2{7eW|pWffSX|d2#44q&^r}KItILgd9T2RXQ`MvDe(eo3bm6MPB8n;c!6bNnOLf zfjb4(Wa~{;PtTeFun;mfo7O}@=mQ~Q7=BRCv208~e1KC84j5;WM|)kh&-KGHl3tpa zMENf?x=Nszz&S}B_)U1%Zn#%ogClfzj5s$(6SR zzV`2i0_H!sN@7lJ@3>w^$$!whb^P|p_S-T|?gxE1f~!yxBHHmVQ7bPz`_^Qm)n+6M zj6p&fNlj#M&UCql&fkXpCjqj2I z3#RwrO&^&VA4FC<+3eJh0dO1zBqA@6_>ruQK=M*u5xo6^7fHpNnVjMf@a6sBrsO#xl8pD~?_%{KVSmRCv2%dmf4R^`75 zR!aYs@fJ$Akj0cQzJAWtLlDZ%=c@VEt0k38wBsjv(E9=!TFfMEkA-<}w=h?0BF7e0 z!woSPX;i&nk+8lvplJr$YP@7zv)9%@MH4TMqke?qSRHf;*wI%r#XZQ5CWXR`M|OIp(fanu*hms;i90?rvovP6-LaB*u?F zNNSGbyOD;o1Z_l_fUxlx4t!!fH&606%t=-uCi$kv99$@Xx-~f_{R>eIO2gKJT$qg_ zGRmKF#E6vmxlv^WN5+#9?f3iDJvS|dN_0C~`*@T}8(_V;P|A!!$JF48n^($n^GaE5 zud3gqF3E7miXMD7Q9;wp)OJjLhNy<+(-@pj%ASVchz!)+d1^_QlsoJN@O-i$@YGL@ zajEgAtgbU;Da--BXq*;v{*@IpsZWl6VX#-H2CU+t@|dPDu013I493h3hAxPiu+}Hb z%srKxi507AerT-d;dhN<2S22;tm9_=8V%^IY3 zW!!vfholy3epq?z=^D6sx(ugGOaC3#vCwu&Jtr{)bB=y!8XaU-?zfBBGQ3GLygSVK zN(`_63v(1Y&rF*IR(k;UzDvxL$5MMxUabF3yD7J;(q=rVgu;gXZS8fVPG>wswN_$ti}F!BOLTV`c7=NObh6+$ClV_ z=8Fxg6IA~aDp~g1J!riE{{AL&Z*9~@+tB}kIr+W!;-vl`Ch`BjFYx*;NdYUr#$ZG~ z1Ees+v_X|>odb_qj{CxnQcwNA-e>>ceL?@QrQn2FQ6E!w??hssfAMdPO7Nfxgpz=< zzPKsWUfV1jOo))#8)D%f+D2xDdQ|m8QnqOdB7!7DFtb0vp2x(1_N%{Y`(xvM&(zve z6{ZItQv<^Ovo{+(G*Y%U(=27#(%*ZN|IL;g^nA?MV09Qy>siYexOJE*F1ZPw;Zx% z`2{u4P5#5VuPFl+ZaH$nVDwmKF5Z0gdScqstPHdR@kF>vCs%HqZPPATRrR8&8#t=H zU~Yf?U(5bjlI)_ZBG4xVy2Lu_C*_^Z+M9A)enC5HlR<6M%Wg=wPLj7a8xDUWTAwXM zK$E~Yrc8a2K^45~X8pW-TE}0=f=HA{%P`8t=F+I8aUoh+=Gu18mzPlsvqv!MyFTA0 zE)FU?me3QlRoN0gVb0N+XRWa^2^hGitRtI2k~NFF3Or@88b z>QAf}*Lm@qlnrNp^fp{XWBiFQOJ9|IlK`W;ha;VMin)@iLil~-V?oXnnw+s5%4-K5 zH>3!dc=5oG;r88XQ5qA0VF>z%&8Z|XoOAB&gRy+$xi>|-EVV^FU~1i{kQj_HHnH+p z+gpeI(Q=bkqV^J#V;>)zswqsWCpT>e$ zxh%0k<+1GQC@-FnHysVgD%gfR+e#KRlSiAForcd7eAYo_e+Xjk&AaP;gA;7-E;}=s z82*B>bDu;aRRDf#6WWQ;WN?9-_s;(v5^AWiUd@)PPl>{^wW`;o)j5cUKwB{ec#oZN ztxw6lN>heyM#dJ6(8_3Srk$4Sx&fR0rb%1`WWu4a0w|k`Qj4)O`SoIo)K_YSwQjCW zvQ0Fqb$`Ji8lSNqGya*@B@T1bx|z zBBWd2-bA@-^#ReRMe=4|;Hj@v0*+Rd(By)8tYx{%tqrsleO8+snXk^dC~D9x)}3}N*$n?Fm#&)90SAV z1zW+Nv{#D-E<>i#G7F=+9pnYBqGmEG?Ln=GPHq~O#>HIl(Rpsv1Po!9VC3d`U@}Gp zPo-Cu-o19|dok)eBb33n@Dfs%i$AI#+ca9jN=@>*wG-d4L7CT=VuHql22A-A;e;CLM2^*4Ue*51% zl-?+S0TM}n8uTADSr!V6n9@1n!jbkVMeS55`hN`Wgvb$@8BK&0-N^I^&{$*3hpHc# zQk-flmGlqF96HqCfUA%S9GzYzhoSOb2G6<>x^$41N8M0rd47EseQ?cE1Pw9$*6Lga zQ5FeZ`cZ#92mRRT!}k)*QaH>6E^jID=n!97Mh4xjy<*J+pyh=lQqhDL3VZnC_-`nL zd}5QJ@@TWJ0m@Q7e{{=iYQtNQdqO& zZvKucZ-budp|ZOPIur=^C26mNR4lDj;f{)D*8rZ*W$LQo^s9-y2NSd^4$B_yx!%`0 zl5=5SeFIJ2(r)+!W#E8Sf2O@}TXuVQ>9Kd2J(=qVXa3-Wt~X+}3bRU6YU z#BUmWIgL)5z6y>7Ob^6Huy-R7X6nuJd!^^T(9nGu(P;$CHkCGJ@;|9k6M0+BlEH3B z9-bPWMvX8X(gtb3pn@>L(B?z-D3s?>faiI0qYpV+HRILjRD6&I_r`Dg10s>b&dR#d z0{u_Q5YVb8SKdd{OKeK?F(b+!3)tZ60JIrep%6eqygJDCruhc0he(cWf|nxC4q+Zd zH$o2ulQQWjwa2h;Bn0t7dMjbSJQ?15r-oA>)g$|;Oejmqq=^2Zif??BToaJ-$MW;u zlIBikg|{f9EoE&*ig3H=K%W;~4snwzpQUQ2S(2~KC4cKh`3P|-p)=X)EYdPL1Ixk8axPyL9 zW|=VJwD}5gxRQz2TcwxiA%D@p&pDCdHIy_xhG^v%75B6$R!~y%w?{(&~vuahp%dK zGTH-oy(fAMSy$TX8y!$>H~|m`+CK*7Zy|{hMNEU&5VNqRgLVP?85Rpw92#UApc0xY zE;6PqNLQ?#U}}wQ!9*WAYDj+Ny)ME4irHcm=GNeUdXA*QLvBx1E03C*b2?xxJTw9f$zXCdoTCNt9^qZlnaW-6W_ zPcABNmF3a9Zo?=S!~Rm65T*4GtxWEiH!N|TItLNP&{T<|A}oFL~Vl_3mP4`(#+swZbq7T&H)> zNOK26c8MqJ5^@oQK}a5rA$mi7M|Qw5^Y_aQNfUlwwq(RX4f}UPy*E$5Hu7+vOybyP z>?X~u^4YjSms>PYVN_Stj0kORf$NrFPNE>>xqd1s)UBSBzItS?Vj(UDC=(Y&-`_7` zej1Wgyz#=;Ay;Sr?H^l9@B3^ajhPzO1|FdyS0qF}q!BmGs1ysXp>1iDUyXu0Yh-ah zVb|cuN{2n?w@B~FFK|eyY(FeE++;(+fJ$N-A`h~>u+0ah1@kV>D!t%M0g;Qm%h(`S zdvS*ncMY5=IALlS4~Fa4vW-b) z#RbPJ&dPBV2ZEYQe@7BV@n>w5+vp#*cgqd?`22i$9nppMF9C7%Hwvc@zse~Zjto3d zaH3z%s>p7M9`tpCo2>|U3}Y(^ZZOpWDSryZ8ni)2v7Bj`3MMQWj4U3|KHo@ zM{`EqkYn?RkIon1x&v20gYUMc#htwC?@1t-gT<-&Uzpll>rJx830JL4jFDMj%^riPPeSCR^M%-+mbxVD3#Qmj_!f5kFHxyWiuN=O-qs$Rul zz8t_`5hw}2;QqW17Z0=>(u1>bmp5?vXGLa$fy4(0B(KwyP4d-T7j%)`nSzX&mmVGJ z0g;f|T=`6@(+KHK6I4S29_F*P)6>Z;MnjPnzSYa*2q~hy7I8!R??VPNV3!m6?B#t` zB^79QM3-UaQLTYvY~m3&=j4^xD_ zz%PrEA&CTWdS#9fVhM(szbD2~f%))4w5E%z8t&b)Mn24hmw zqANt|um>__VgK1HfNcGjr8 zG{KmN}b;uczNR(p=xrIeFG+r+8*g1YKH*0!|ss>oz#Hq+jU5bqLQB z8Go`WB!{1$jk&Ke_f^EOV(hCn7K-q+7dM&LJuvh^!9HP!1kfoI9t?XDM^EdTD4V3B zFOz!>P6GbA_GL*)*|8PRrgqRWj)GyA2mrw+s1U-q1y$&iEL=$TGrl-iH8YSjNJGOY z2tLCPl*b2|;q~FKnKJQc&>&TF4jDpim)GdAuYs`m1Vl1qbKcdONKLaV^Mrdy$j>2* z8Mk?i`L2tiqV##+E4(K(EJU`vLynWpb)$7-SA(V9?uBDmIx=f@V-~V;qJG%$m6a?w zaaOzxvaz5pdPZX8t;udDzRiamAKak^hsR(6YC1Y2PA}xbx$x6A3ca6y=Zv>o2DKeI9kt!P=k(8gG2x?1fl;)!-FVi?iz@|8?*y25eKRb!Fx4`Y!&3~f$OJZ zJvE2U<7bEz%8{X^r^_T+jsNUeriM za3+LR)6dy4hqST$ZwI!|h*ajOzHQK|ERm4{tl3=Z+`S@yCbK6}8(pJdlk_4Fo}|@$ zM!(**1x5-|Qfg(J(UB=V(O#j@w~Yi?kM-fHw4?&$M6P`R#XNQgszg0>uz0%lP%gcR zoMz{l$ELU2mLH6dy%&GrFAnT!T>;zAa3jkp+d+>?@n+*qUJo_&%ew%4PVDp zi%bsS+0z^Yn6ZX{5Tl6ART~M>N~7x65NQlPCMvIRmKEa8WS=6}#>kv z7dhNuU07P6xS>m-2#6`&T>uq<;j+s2fErL$NrmI~1`1=Ka?8R;b)#2wQ1p>Wo?lTb zGA}LP#i6F7@8$kMLoLPIhm_H%75OZ&OSd{Y#Ub>Jszqvn4qb*$7xd#`Xr-dJDt!cW zg3-0zWi-kA*ukD{lSt3+j#tmq=cVVd2PSCg{Xwwy>+Bw&=AKch(MV@9HSN;76g+xh<*A8O9&r& zQ7m4?N;Epq&`pod5#&PsO$j;nh}L(=QL?-LGwCfMy)de?gAuzcK>KUH<|y1D(6b1( zw2XNBA(FR3Fg5yxcWAoV1v^U)HEB*TNt!d!c62x@5Q{L2OWJFOL`FsX9scbiVJ>Y? z7DgZMumbVX2ChBW%VvIAO^HZ89H5K2rSc{5dvpTP$?Ij=2ss3am=Ug!E|XlZce?2J~04rmq1-0o5-c>b1R6=KI{YCeCNZZNnDgjb)uZ;fw=xv1AxFJb)8XZ57?lH3}F{u6P zoH`CdV)T0wqrciA+Ejtwn@m7&T89xLKe`=64U>v->1~33iFFY!g7Y#j-uMvkZ(&h3uic8~ifV(Si zk zRzWcw#-`bk6p~Wep#E>xsiJ(SxorP=ikO*510i!YbMr_hx=ZUM?x_g34Xd&&9&iY> zFUMKXCkp6|7D+_=89hWYGPsuZGVKGDd_*od+H+*5X{PoP`;@=OMK)9fHlA)_ONnt5 zoWn;qpHToFbbna7@p#0ln=mdLp^Tr}MwYl-5{;Rutoy94s+am=SqM?}ktOxKwuTT> z;_pq9*;YWshSK+U$&O{_ay~Yx+r|KGg4md7S{e5ty&vQ57!LIQEb!mDdyE9tyD25lg3hI zAw=`vFo2QFYe;z+St!x}M0+*wB1|FQptn-}L#ou!jBB3c{wRsm?x|}KGztxUt7*tliHO6Rt_ea z;ttw&+SJf^v3#ZHCsxH={ZQmAHy+<|O}!`VshAs?O%L@ALTFPb3$yU%64!bSGxOep!3lN7rIXDN%9Gx%k3;CD2uq{mE} zHBi)W!mZjZxF`PE>J5^`&9N7^^#Wx{38xG%>i&>^(GU`?mU*d2IF2?cs$JMA z9d5n>p_rh-bPSS@M6Mi3omPhruzLWD<{Er)KS}LMm@8w8Mop@T+S7{a*3^XFhdaqW zonL2zuMnes5Lw@H5jN4f)k?RhHAx@05lO0cxir&UZzG*2sa^-B@+0KnV5SX;&>TGp zro5Cw^Jf*MQ=54lPqhmg+D{{{&3D!}B$w>gUiBj8Kq-tuB{GuNq@6@nmowgFz zr7YZ*Lc}ET`ZnUBX))iwq>0ZMYvA@a?jtL-gW4VAzreIPk4_Ge+&?;mp5!t0{WjE4 zL_$*3dTv8A0XPOq#bIf|T2Xgi?rQNkbomYLNnxK92@Q#AfiB`(^oMfh_Xx~wtWZ4F z4%xJSVCOw=$lK?=r5mD}L9l<+0t2F8U>reuY!~qO3Zv#qAcxgKJaXe{^@Ps!=F`nd zZ>Fhn`0pP7N@A+A&MiT6L=A}4vzwn+DW7o z6F@9e#Q*@iqhA_WE)!Js^r3u>zL#x73t(5PB_(4`4!85fIE( z1EMOlg5~9S?yVJTT)mBI>sr_^oN$c@gZA4_J1S2IAyEpF)^eHVyqA5hCfWgukkd6P zt20Sheb=DYG@!7epL+nb52YcP3(Tqa6S{_oC4yXLOQ4FDq@?htlO#FPypr3zGnqV0 z<&c0bhoF!!j|oYq99fG7Kv20i{Cz@4%$CSMulx3fTTv>zjMpp%k(AC3p5AQcOS2!qd# za#L)#>*40RAyH!`_8iC~V5p|V$-JR}#Z3h0eFM+w@0J;AUuR=CWbu#=*)~7=Q|4|r z$5W(f7lT!!w!+C-BVt>(si$i>R(0GuGU7wtMhJ|I17#7K%+D1&bDmC*nfK@s#80qI zcNuwzaiQqG%J;G2#yuwp!c>8K%naXt3-^#=S_j{kVzX!*XL4Q<<>bVx8D5|j@g*om zlIIAh%0*ihVJ;VvdO4sRAwLDaMtUvDaMW9PV-!FhvHP&pV!Q09zs*G>5*31pKAA=C zUJ)180Cz16Jz!q+vJi;MgX&YU$OhF~P!m-VvnGygF56g?K#+?xC>32*-xNVH%7Fl4 z)VLd^pjp{Q6^NmU26-l+g|Q!MvNpuHvDsdsM-wY_aY6JHx3q||b|cr(P@a_QTev$U zc7vOy(xc>c{mhCbud+aj;4}KTNHh=du9cI*l_6+xhYXfWo8#zR1~-D;Xbt9_b~Dbs8-v$g&tc7z<^`#G2vJb*SK((#xsjU zkbx?5h$e#EUsDcy2dp=cM1uch{4xdKJf7@+SI}Bf+5`$%OvVArCKlv!dfXdg@UUf^Fn4*7Zh~LG$in54CA%PSpjNoUs+i+ zmiJvd7k{x(=yBDAM5|<3V<$R$1R}6`Y5>^)QWULkgRRL2Z|B0MAnm-|<<@D6$jtJZ zx?&BeT@Q(pM-H!{Q)#OiL`1xltb$o6;r!=BxDkT#G_YkY@}ZbQ0R+niaxNRCEny_0 z7$-;~)|_k0FwpPFEf=XGi+rYbcmL&T0&zeDwWK6__@255X2Ei=SqbU&6&~RjqRnXN zraTYVAt*zc8|~FHy5cWuFP0{G2sw#>yp672wm$bEd_X2gwB3U9(Wx~H$t|>v5@Itw z`UbsJn0T4VQXGmTnfE@#P+;0b0l!(k^Da7aBL9mgV4Bilc!>i0(6F$9_z{7O5Mo|` zaVNJbj*7H1NdUHDzp6k3LiF1!>=au?ykP^pnvp0EO3^C-i|7Y=d{16a|e5xIoYxY<$tTz6oe zz)?{o7jf_|PPeg&hDec5c!;Id<#KaIA5GiA0$3^-E_IIUxzK$u?-f2U>PaX?HscG| zy?1%TnNo+2Hjdir7O&cd$1@;#cNd8Z)kqqsF^6JSiJzG)p@PaX75t=BE}6{wbjx9G zh0u*z($PyB68X$c?Q+c?qJjp2Yv4(pN$XfGdarhZqglOC@GN+XQf{(aONx|^rD) zA}Uk{QmLM@Q%f&?x>&L`G{1UdXbq0xU)4oLkhiCUnxc zxQJI6%e&T7&{MQMv6nLwG4CPBl;?M{%?%xydyM;qS{kH=)Hx)mP?xBosJlHWhOQq2 z7gQ_rl4?vvIAN)3<{-=~=&?1L)K}~g`#zUDFFc$qGY^!CU!-c?QGAF9#^ZeuH5Okf zH@Ar0K!Qu`6tDwVRxLpHqXLV%RLz!~%o3uck0c)d=84H(Crmx_O09b^);ix>Wk~+y zi-i<1%!9%R*SP|lknS`gq3_!J1&Gjeji~dKj5i%eg(s)NU{{^6yB*>_J4jc+>Dvxp zXsHien0S=%ty^WV(w{AMc(DCm(Fh@VKKyA2`HkYFoD{J9r%ND$!#Av%r-rscCq>@o zZIr&djf(>;*w$lTq^qV8pXC>E@Jb|+;PQk4y=RM2Czh)*2f0K-EO2zy%0b_taf32W zZmWj{zk@I@GOO%`M6V5dW8vFD+rMhZxjjfk;~*DT%XqmJ&ES+7cZw0Q z%T+>=3x@EGT-C(&S((YTFUu`2a?>Bz6prY8A|w!s=z?tzPD1q&f|nSPVW>%Kag7|1c41Ka|5}f?yZe8P#;MdYx^v-MqbG8Y17^po6KbnWEaT zWL*A=kEhg2-vY*}hx#xl#NI3kdH;N^yt4e}UtTa5dxlsJsf8@7T>HVbH&_;68i#0= zIBQc$85Ssg+Y}N8et|lH{csG%o#Lh6|?*nV$rbt6v8^vjC!isPIil_kSYv_WKThmi&<`I5t z#QWMWhL{-x8sg=TqWLO0G&022BoGKaWZpeu-IPA4QtX(uXbhTxTuMfWx(xGb;J7GJ zUC=}5tksEFl}P=--0wTeXh`Jy*i%AV?uFKdixz2^y*U$@Dv?Yj+}U0-V>*5ueg?F& zOp(vY1@fzf&#_dUx|&=eL1QSP3ZcA-lXZqW+YH%eVm5%z1W1FN@Zr{&=3>s-*l;`RaSpeDE!5wl1kaF46Zv`2V& zq~9xL7vGv)#<937Grn&P&}%oEMs~39E~RiQRcDhXHxeNIgseC-=6fPOT*rzZXO*a{78w&Z99hrcC?Di&AsaNuF=?L+7N9P7nZi*ah)nC~d!t4?@C6 zoVMG4ZImQK2G>K;#du2YlC@OO;9QqYyw>Grm#H2A6v<0l8Y4G={6EQ3BT-z{L;$h? z2DeS-tu1Vq-(ct>YXUmL*2Us#k?ED12;#->#8<8C*^SBVE)qk$xavo}@483I7f9vNf2X>529^on+ZEoXk5rbgL2f zl^rh$bAcgDrf~hJ^0VAa>_P1vqv6#SSdH{!HG4!?7sQJq`v@ zmQ`)W(;39UF8+_bJ_Or&aH=aDqkeQr6`^JWwu(lwz<+R%PtfjSSKhn>3-!$okMXNPV40)Zqx+JGk0js zkcc(XKW`4FCfaFj&PRI-2wZBPUqr*v%-+9Z5(!5+c88k+y@WMMAUxFi15O>iKALN; zf}Wki7HbLsjI_?o_jn9W3HLXlS_plmZwzIUws=pTg;PmT{brMNe^<`}%t+sPS-BXY z-jh{i+mPR(>g>YwB2QDXOek%Q_lC*zj)9p0X-$rk`a9fP%}|NF)b&l=f_2$M0&LD) z;Rf2uU4c!_c2qR9$M>`h6I#@6lT?K0-m(Tc(YY0GU21VN68fYjA+A&Lbowuo{lgrQ z(lNLE!Os5nUW+Wfb!ox$DD7e8z$|xnL_Vve+hXmbTEm;qxSKZLpV^8bDwpi#xCst3 z6MP$sWF;(2H_&#?dL(CV*D>sE0XR?PNYrD0WP8-Twv@Aq&YsBjzA! zqAEpuJT4m2-?-lTSg%e+C{MT|jL4J+=m21U#sO&PhoLav#SI7AE_yGJ5<#walJ5?k zwTN*}VqJ75r$(0Oy?c@Bb5_|X7i3&8qHZC9t2Jn5kRp*#7-}_#Z>_z!Hq71eUqTQk z^}W;guIeQ-FTt8_I~ck_2TpFhWyS)*F6H{$^{O+84<#JD5jRsq?Epeuv~%7!DDLpA z7TWxZ3z3phpFz}(VZVO%1Vg4Czqe(EP>$VMfPXzd#kLTILpBv3J5{;>hmv~ z9L)oOo{KTyTBW!=cxx7O^Ums3>73BiVIx8a&vF#RKHY|m)6-+TFrvB|;^k-zq{DaM z<=o#xFLG$?#v)p==Ck9xlD2OKYW?@Qy>jZ+WCw@hSo4$n5zh*oB?-$%(<_b5XwG94 zAd`9%VST)szj{?EJ(Zb_(XL{fnbfUyjVuTmu)oj3zE$2M!IS+lA-mpcQb^N+R|idH zUNhKoJG|BI3q7{`dUgM^g0QG_<)DbhX4t8+aGl9>1{^ zcVmwQs_Iq6qh@*2(m{@VG)!O!@j{n}Q@jM=68~6-)Y9QwEm#Cy;Z@_^W%@Iz4enl3 z+k?Q7I~S6m6XRBaRHte`Fy*wTWYQ#4 zO4b3{Zc$H>lCD?Ur)nj@1zM(EW-i3?vZiYW0{%JiymC%0YXVe<_cBG>fEX;7W5qLD zHUv%OCKInd-wb5^L@cj{q5)Ui)e@Io35GL76NnVBx&>FN z3gFdyCvpEnRt52QAZq>x?eShrk!x$(_Qa@mEkT3+cZ`rV`rliChe@&b^&{9FDyqd) z=}KtWy&>!1k)EnFR9CnXp&1mHsssq_NS@Am_?hMuQ@u${C28*;rjUuZKX9lH*y{w_ zy(}T+)X%YUm~hFYBExsoYRM}SqNOXWy9RyEJWnp^L3Hsw$O(=B5r*_gRi#9cXWlSF zy()P{?xNSPecT@`&1#qUUfGyB??;4HnY2?1n-dm9QyM}J9S0~AER zV&c)`5Gilgsn19`e5bifE|8zxc*Z=&wE>W~JnzX(UDDz`xqnO5-)WeOA_^9Eo7*j? zmR#m`?_KPWnZP*gWl^#U3w>eJK}NntF+ujw8-GP@z9zz`>LIKk2F_n)^@cBThsMvW z5jecOKQ4DMfdF5fI<}**Q#ye}_Li6jWzYT{fA;EywKDh1sP9k(C|u|LNqOt* zG#wm?5x$=F%|2GD(3g9dPSxhECE!$Wa`D!}-<* zV;4g7Bazt7ARs)a1vBA+Vh+`23ivf^#D&SJ3baRV=HC8QMOiX9Wp2{Eew`TwmtGQ^ zKpNkNAtmb}LcTCdw8@@egozjVQ;GglB1|mj_OasF4VhM>2opN)CfY)-0B3VR{NVJ6 zC-dYnJl9`Rwc8($B1p>nxdD-s)jm|t5ia-NC3;qnvN$-ge3|gi&<55 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/exclusion.png b/libraries/path-bool/visual-tests/real-01/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..55747ff4c2004cc4aaa915d33174556feba20492 GIT binary patch literal 48193 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 DRCE;v literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9dc0e0300ca6b7a82437753a562cce87ef4043 GIT binary patch literal 48017 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 E0CE=etN;K2 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.svg new file mode 100644 index 0000000000..2122fdbddd --- /dev/null +++ b/libraries/path-bool/visual-tests/real-01/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/fracture.png b/libraries/path-bool/visual-tests/real-01/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..0e91aa94654595d88713a5e3baf719b904af905a GIT binary patch literal 48011 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd4da7ad5d898a9ab7ae13c341efb3a131a512a GIT binary patch literal 37950 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 DECb%Q literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.svg new file mode 100644 index 0000000000..e339e06b87 --- /dev/null +++ b/libraries/path-bool/visual-tests/real-01/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/intersection.png b/libraries/path-bool/visual-tests/real-01/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..96c55f499eb53bcac03316649fc3f4cd55dcbfff GIT binary patch literal 37951 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/union-ours.png b/libraries/path-bool/visual-tests/real-01/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..53d7c9483aa9c9c757e55273b5b99238312e2085 GIT binary patch literal 29828 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 Hzx00q7pOi| literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-01/test-results/union-ours.svg b/libraries/path-bool/visual-tests/real-01/test-results/union-ours.svg new file mode 100644 index 0000000000..e2ba1cee50 --- /dev/null +++ b/libraries/path-bool/visual-tests/real-01/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-01/test-results/union.png b/libraries/path-bool/visual-tests/real-01/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..53d7c9483aa9c9c757e55273b5b99238312e2085 GIT binary patch literal 29828 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 Hzx00q7pOi| literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-02/test-results/difference-ours.png b/libraries/path-bool/visual-tests/real-02/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c7b533bc9281a997dd4f3bd0bce104d730e062 GIT binary patch literal 94933 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/difference.png b/libraries/path-bool/visual-tests/real-02/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..ca17ca727d4b698e18e2db3d967b8868272a9831 GIT binary patch literal 94933 zcmb@ve_Yh}mG93mG9&_$&4!?YlJ0J9n`$6dMO0*(cJuY_(v9D?8@UD;yw|Un7{tMn z2naF|H`>NlZg;-@Bj9DF)_w}lD{7^ z@jFw`YpY`nKREn%fBWn|RvT`*jlcSv4F^6L)2crI$^ZD%u^;4bI#E9Oe)NA^e%x~4 z?;S1QSo&9=PwjBNyz{NStIN(iesKPUg5p;n_=mRkA5Z-Dv$u~w@Q=IN5C8bT{HYhT zjPIWQ@}K(cXWCzX{mY;ALcz4{Z?Asov-oJO>DNUMej^_}q5Z|r9{fgGK*ap!|4)m1 zZo=X&H1^cIU)WgK=rZkSbQyN2#ox6jZ-3y?_gy*J=)3Y<$m`Aw&iuVvEp^({aO#1l zeQtaDWSRfjWYbVWb-8~%e>ob9{Z-XJ{bcqhv%||P7V+c0nD%gJ)rTqV@&Q`L6A$d? z&hM_7JGsSwG-fDmaXvys_Guq=ivbF4XcZt!Jq@HC($2V>KDmch9+4^ih_L}nM zS1)S0S=P`rqE==4(yDrPH-`8VIi}!6cdapS*7jqctU)d2@|1eKavslT*fHg-eI_`> zAMz#DWvfLk|I(uVIz2vb{^U#kx$f=$BaNZhg@3aBMtzq2d}*+5TGnJW+Kiv*=Gpd@ z2R8X`(<|xKW&B+8m0t|aueSPICq3KcVAONX@pxsgc)~dqi_}+_e(9^*I2@W=hZAY$S&&$|lPcWA=+~zNBC{)ku{MLidYwp|5S2dX|Zy4U)t|}vZcF3 z8SFc~;v>upt~}sMw5K^1PPK7UOi!cJlsCJ2OXT{r{Mb5UbM+jbe8f_9_rCunv+#}N z1TSzlS!b7aE>mmmnR1*=P+#Z?rtfGBn7T}-lsB?H`uhjmo_2^^`x2LJQ*J+YEw^N1 zTU`D8$(Q}}a`)OzU1^i^)NwxirQ<9a8{#mnXP4?f-7p;X-YfGTZwy>s`N{0M<-s-X zOgVj9>X*LDn>&|>>uii4`wp9v8oU_x4#x2f@?E{Mv7^z=EI3l3dobI7^Tc9ZY5s@R z$xMenj^qEn?6)?=1wVC}y5c7ne$#!Vaiz9=#J$Lvk<_uQA~~4&b7NLg-Ll|D{#dbE z{MVz`AoAC_b0?qjA3c4gyumKl{I{Rk_J46wom@xDA#JBK)}B47zx8h|5sTGH{7iT`f+1P}`lRsuoh@P{p$rGD*Xi>ye zUB0nd|9}Mx6ET$`_wMSqFcq=TvP-k;Rs_%c^Pf0@eO5;8^GNi}?>cklgdYoDEE-$x zURxXE|mT zx?=Wa1_#{U;9^@+M{>}sF3yWlTd@3N^2i(N-g7!MaFN4*(7;x4Y~*Q-Oif*<)7)P-ooKH zP5TY$@$w`7qf^eoxQOXvq9cDFTvUH(H24j7i5zL?*B-oZ#SPBpijY6HsSNX=d!HQqH({pT5FB zYMvJ$p*(S7OOHT{5@WjpMj)H0i@CSh-&XT}DNEDug)Mt#X+LG(pXRf@rv2k}9gnL| z*1yRYXm1Q%e(u&vcd33KeWOS56PAOEG7W6{a(&ZF8l#9)TZng$#ch=PbCQEk@T6@1 zeAZ1ou6ZWwpYz@8W9iYy| zveobOj=!477dZ5*5g6NeVsfFstx*qktE15EuDALb+(Y5`cdT(l$qVl7kuvbn!;|G3 zQ$aVNK+E5FVzBfwxdghq@=RrIAgogaz3>ExEQDH5;Ou7i9BaB-iUQ2-2nRWx9(z;pV_x3 z`dL~3qfDaK3ilF>#5v*{t!jt@v-Or=<#W37lddF|@W7Y5GNPNf@Y9^&dI_6Jc#)U5 zo5SJjH)G94;^v?`)8h@q*!WT6Jiu9*u5Q0I(G7^>hYJ&iJ^-ygi?_%~N*@)kI}ZqD zAE^l^@gcH+sM+g3JE31|&4&NA@IyT{Z(#{()n$ljWw?+et&cz=)}-8@m+pK@zuJFteb|bF_a)u9m0llDyx=qLpVsk6>3>xj2d=e{pTkZz zwp^3t2KWryFN;Axa??kHiNtTaY1>uX{$@N>vT5O;#_!IHnvb5k=x}h_SDDT=0EKZ4 zzQbJ=P?=$Ig9woV0! z7d+Q;Fzrx`OAKdXCT7?iUj61Bt-t*0GYPxF8;3l=26|*Y+2|(+CZ@4^CG*p#dVp)d6%A^g|!cGTL*cz1XhJds}y&A ze+eBR0r`4$gtpdVl`jCp(pns{0h8tas#BktiTFJY-jO$k-T9SgcQ?k5JE|5{Eb`nL zlmxB0!8P)>7QpMj+;VfX{2vlOpPu+ln0xtf{Y>zNTq*V$({$MlU1^hBTDpD2t?;sU zdR;>R@&>1A=wRx({FyB(8#nhquqm4)DTt;5w&TO@LUE03WjG``ngrTYDW_7ZP28>N zl2_9SWSuqdhYVc`%Gp-yCuMUf!zlM-BJuj2xe)I8I1ae^vVVO`cSshrT+7B~t_WVp z)xSjiZy|YV^ytd?rN=KBu*+mQSV~TaIZfH4>%&Lw86|O3DNpwc+Wd9#3;$HP($uk{ zA{`8}tbnsPXzL`kKmDKZ!zZE$VNdEGbccdN3RIlecJws*2r{Mj(*12JgUR})9>lz> z=Lo*Wug7pG>d3M39?)F6@-SEDxeGYq8@C)GaVJ2Z(O+=?#3YAvZS7<=;(*@i-S@e~ z&sw83E`8LtzfjNhwvg-n$5eb(ZG&&*Z5vC}bVd@oXn?FJSR%vk?z4n7h}fJV0b(KWnMu zKqcx0$gnC7j{*=%@%r@#N4G!BUQL#tm@MPy-fzZWs~<@wsPO=2wOpHIPyKFRFr8bw z-~^!$f1|L`(oR8r`QyIpPNbAT{zv?qP?N7oQ&nDAPW4l)vIAgeFo&Y*b9zH$C6UxC|w zu1Wwe>$&m^OB!~0bjm)eCm<_-cs$Z-0c@TrOxth3`E77x^*wL|I)SmYx{IZ5@mHx! z_Pish?(yKo7)M-qPIGarWxk&FY0mfp@nO2lo?;5l1oNL+9^ zsVfj`=uqm`RFDHcv1X16jkrmzz6YS4$MzCE?P45zLb^m&K zuDi_Wi_87FRs%&P?qUmjyRcm)(Tb;-E~wt(Z*OQe;mpswdq@EXdSXiSeNKw*^M&pH zHi#LqQ9<^@;Zg8G)Re1;UtNc6o#b&?Ms$y%DMsQ*Ny{1nBP(-_%BL4cD&bzzCcnma zbtRBl*TS`Yqrv~rmyh6f-_{cEuejD&BF}U}T%BF_@x#JY-~h@_-1TsVRR(aT6~sVV zw5OM3Zi_@*ZC^CHZ|4XBsWBOGb=l-Vx#WXDbkF6|1_!a$)``g^R9joF9pwy$2#n*- zgm5BHUoxH!3Lt_{ImSO?BeQT(Tm45S1LFhk(TV|YOa?nUu-};R^yEw3?+(l6pVj6l zM4L@yfLmx~V}0tPtz~`fF#@!SkY0ChaB)@?fzQxnHrFr@VoeHuPrj6!Vc}7;& zC98mNoh)Uxq&PKi=>}nWr?An1Q~vnshD?JGSX;43TeDvxMGCIZ$Ce5FS-{u57#`%V zWfx)P*DKE3eiqL?=tw1qfQb)j#mWkf!FHt+hURkx)}OfRRLkXDta^la&tu5b{X;aR zae2y&=D2jTDYEs?Ysc+;lWvp;0*1V_Q$M@!KID>}T6XG$?v z5QFe;`^SHGGq%K7mooY2Lxk5VgQHK_osIrSn|G}U<`qqpz}z@Ymf74%2YyY`FEYVG0&ZE)Kl#OJzJ056yMR{1>aUbqpjQ_J2;;m z1gX8`cT9OnmyR@qMt))8$q7bh*b#;H^}sA9A)%E$evIhe+UQ{^m5`v4pY5nQ;4>^t z%zcOla$G4Hbr7RVVht{mU5Rf6cV9YFnzo;03!9IG?h3fH!<8KlkQ~1?x!+t}C&~zJHT*Yju13xU*e~CXMjEYrp zj-$5|d6y^C96iNT{+OanW9u$Wnv7ukvEt^TEZ* zGc@ZQ#S2WlStEXCC}DD2q!JK4klXtt)({vexpTo?0B3rdOqrlJ9+u1sceqI0ASuT| zab#I>xyDmJ(^f$nEobkDDGAljczjl)-5AdH+*;x;s620TdfCeAN3_|Jl%xO-=K{gM zN2)psCe!J|y~F^R=ZJ>4YqQLrENk%=7&E#zn~fccbkO3Xb}>-E-eGmM;~8vTh-cZr z4{qJqocj4mE|(>ZRE~gU1U?NBX2XPt<(x=+ZtqfwGdLP;YG^*rJ*NN|vOMfvIj8Ow zchBG4h+$QfKLoFlbW8AGYxLo*{{@@A$O(3EPdLQ6S-;<|G9rZ&Ukr!t5&XayE5q5r zmHaWAufH)~BY@{R_DU$c9!*~~gB}WBznAInG>Dsw4DTXj$764%7}|K*!?^&RZSZ;uijHb92M6%799Aa-l^JFS`;aA!MeS zCcId*t*=dNB;1>qA6&9$QxE=ws>+86I~K9cRkF=bvK?{{ZKQOT>&^z3DQ{1&e7wyb zZK(tuhggf>dU2z?^mk{ooN6Z&SW9;hU4dHx$$Gt7aQ4k4V_Mhq4=p&8`9(Ccx zvG~xva{tMCDVUvcFFkcbr7Cw$9qH8Dju;lsVqq6^ zZO&Mh2>a7k6k9KT-Z5qV);nc6JN_bPju>pwoqqQq?7BA2gIy$8k<$*JCeqKBs$F=L z4SH~Swc@t2;sEX)NyNS-!IIrW+_TKuC^Hao=^4kGV}aPAdvn1c`QsU*&PFFCq#KU{ zy{-3mFfReh?|)0`w5KzY>dxmIY<($`J9W*9jm)o30}w#XH>rJ-!V$Tp@T@q8@<=7& zdBDANhLhHI;e<~##pb2)W6s7+exGU0+?+FQ>b`4#sXN!UU0mlLk^}&64*Ryub89t_ zrM+WgkKCFx65{~>ZS<8zlrE}_&RgjO;cb5Bl zulbMHSlY$ubXStMw9DmRGgnfIn&&|-iHaZA5|d4ARGI(dCBe~#yf?HupRn_ZEm!qQ zg*FA8_+>owj`Q@Dwnoq8FHo4ilPMi5g2gdD(ll*}eo&e1v-rJ!*-1}q-hBT_b`meG z%y5M`dqFDohv04JL&u&e8oQV~2t!b!cwwly^mvHB$oC*_dIbFB0S7J19A{Hp-Idh~ zSO%ziWfWsZ6Nx&mNOr}KN~ct1WXgV17}>l8zf~A#3-~MiRlseaZ3JH%CeWNY~ zPnW4xayEB&Hx$A?P*~|5!rW8_u}<-Pnr~P0<&R0s`&^VTmVjO5wlDKg1b6}O9+MSU z2U9=>)Gk?>Px+*4dR764T)5??6!V?r!x}Xz&Rm1%owpY2B~RP8RsCMO zalEm)p4=^b?`Eun6yu3g{|~V5SdE2`NRfODI{9n<%?%zy{lPDgif_2BaX6WXr5txW z2&X)9?~~ab$r$PmNI3YRe>>x@mFkeKPb+WdyZ{NIb=~h4Hrj<}I1vvjBx(-01Cm$} zM<@h2r|egAV4ze{Y_aYGj(bh@3G7TW^socZwC(D9E(4dXtfhZDiKo+4y@&$R6~c}I zd>Y-%!1zZ0wU~9#GFn|UL;e9UvlZC;w)PJ#bKqZb{gp5vS{LbLTJ?Vy&(pa~dvzxE ztfSs_Nw>_A2w=)4d@C2-c|+3r6E4kP}xQ9euzK7uFb z2j&r)Bwl8JHO7*V^TB48@i;%Sd&+fF5{CMbM?c+6mhAel7RriT-pD@ZE+Atl&G}G~ z&y{~AwW5gm?#uqkGGL&~L$+uvilxlZK>(`UY31t0yB;ISEUY|xPl6|>DCujvlrx|! z`Wue{F>n)dk9_j!izyfEbg7uzHf6uI9$4=*ER3xqaEW7_L*&SWE4qC?CKjKdFI#>r zVg+>1pPb(iGUV;iUbMr2eA;^IMh>9IYRKx-VtQ1$W9Q@I_b0Tz-F$N{;Z@tA?$50? z*nUSB=&7M8whLM=!{07(YRJ6~Ekh^xQ?i*y)H;(*e6!HI?Vn z>I34ew1uvujthXk@vRw@55EZgc7>ueD{0L2P%Ia>Jp|M*tzpSE&nx2Z?%c`a&j$KZ z+TGV#8}JK@IjH4AgFx~(Z1OuzyM!sTx%3KbQ?UqePzu5C8y$U1*E|F;J31A3HzAy) z)IBgtedDKQ@wB2hXfK+u{egs;ijs9~D~ntqae_?qvi5%Sp+C=_LOSNk{ANUKb2(P)V^m5n(j+kXxRci1wYFgv-M z+5x_6N28ZIL2oAXElleejEBzcJS(25Z{O$Q&xCxgHf4Rho0JR3{vVtWt^?cRwp|?% zris5tUcZ~hBg5bvJRZrqe=s%gN0-cxr%_XA=bOv@`qMP|#E+!4Ts=hfE z&yK04kg^~XA+`-hU#gqB&`KD74rbgMT1{CJ9Z%(1>v#Z|BC;(C45Si1&UJ%aU(fYp z&~KUB2XrK8^X60aNUs&!QcO{Bu?`??T{?#Ljtta;s>BzxDxO$Z_GlS|Hj8_0hH+cm z{&7cJ0{6~abVsk}SKb9t7$mK0>0fIs>BhX`xzIi2`egLRj>mDlLPKU!|JSKVa?UqP zK}J&Wy>+<$5an!b!G6Wcy_29<;dH{Uc0oK}sJ7KnEH0J2H0@Lh05$oYUhU~Dyn4kA zZp#&yr&T;%cN-?Tgl)Bt9&c>A`xKDoeI9IYZ+(1qxgIt3IR66q0b~Vr-nYOagt}t? ztB|6&dkdu1%3XlKm=X-hb4?|~7ReZgJF^exAQaYYWMerjzHZC!-I z0ngH&8LJ>ly_7tJKDp~8IJQ|}fGqFGRhIhG^`Oo3z-dgJ$6&eX0aIQ)sbjT0sqR84 zKD14!$0D+xM;=`Naw6vAdVNmGIhJXwqIcV-Ty2{Ki|U)3{0>v+3ePp%_iLZ*juGq- z*`!zH4cqpFi+&gyk(~>~xP&0~=9ajK$~pz#rMGQ{PXNE4b*;P^n}s}Nv(E^$gk4rxa_;1jXYGBqCcA+>-vU$N z@X4>J@SL7ag5`>>Ud3+pEAd-)aA|H61hdeI)Vxb>LDEu*E9j_@0{@`$Q1jOqniRyx#P0gK&QPqf^(rWp@H~iXf?UygABry}(O5zDxU_nqt1rcc zb&;%vd-oetn~bS7R0ITg@LLb0lv@4}X_GUy{-CYhWwOM7ETBkk$$&-q;e2Ss^wE`= zX&&`NonX^;WP#{ZZGqEA9Rvxl$`{dMw<7+t-i|k}iCz!kTkLyjvfI zeRnRQVyjy=>EKBqj`1C*9#VLVTOU{VnCBK`!c_D0auVai3;)zcsZWKIS?XU;I^x*Y z!SM3nDtBfxhj@{S^c|@-;MOkX9xL{j1AHVMzc98`uUE^mNPBT|5HvK*QwAmStH0w`^@G4snB| z@qxC+!0A~#32Pv<9EFK+U)i|HwPTBYXI(d(gy_-R8(XgGcRdPN7GZXVKe>j!d_#En zY?WeF-Yo~g7S4oyD>%EI$VfaSjiC5l0{K>lN~sdlf^`LLFBYd+W^{pY;pZVIF-b`3 zX$+MLZ$AlH1-Ik!dxedAgTCuI6+czBGT9WmKRO$MJa$1h+Ee+l)C8$y#bW?%YyfoI>G_rEn91f;cB4obN*XQaheHd_e za}&>nQ(dNw$wpdC)$@3i;>=nTG3(o;7ZjHxOLr}=xJFbV1p%v~>dW-EpZcucmJ}96 zX}A~OZ5YjH&s1RIBTBZLHWFlA)F?8pA8B+A#L4}%?HwjQEq3%JguF4f?(vPBY-)6=vI^QRYAU5u>G;mVDKBiKqrsD%Ub_ega%8Hh zYLQxSh{y-QVpT(cltBe?=pkuV=}s3K7o8~Ai)9zRkOhdd3#g)@?}vrv;cUt zWuHDedSEwtS&L=%OLr6T01+*$sASi5)RIp=){QU(_|SY-(8 zN(>MFDl~!wifsj7&Eu+)f}qW%WJuOo2vY5VToln=vZ0I0%6mS;kV%nU-l7TL<>QT| z+$WM#+$F0%bwlDt-W$gOMBMFll6SI}sX%C{9xlK4<@Ns<)@QHwFZFOsI8rXiK8VJ3wyESQ~Z6I_ar)-N5sS-a308StR+d1&b>niOKTQI?(JIcF4$cK zRoSV zapa=HJX@Hc+q88zrQ;O*$*Xc%iP-qZkFSdVEOh6aC3VOV3W%KhD=ZhLdMOG1^C&r` z$iEH|WT+^1SE9CLzhvo;Rs6UYkF|(IcQ~xwzT`gYgW`Q13&dPd`eF9SvE>I~HPBti zDfz_wM;%Gf_2+QlwiD$2mp2fv24Jw~c&@irABeKJ4SFo_pClHf_Q8NfbD{Z4Cj0$8 zo2>Xp==ltmx=vzQB?L)5VWU|x>}$lk@5l!3?$=q5{SZLafSaXul*>WIO4rEyce2S0!3WxBRgo#4R6vG7PHO=1)bZbQ! z-E9JLT{qVItvjSN*-6;As51dNA&}aU%{9-0CNARvB?rwXIlIu);E1i419^x*(91&c z#9AJ^of7nW(Macf=(>cC)_7R@FUlb0Fs*M$woTrUb|aQe9P$@VHDQ1+3sH83>QI%@ zlsNa9jqU~mML-p!tcDU|6iSutk*d2}8|;@$?hNJj7LG}lLN2fu*Z$?_S{CGfbRE=c zy1-}hrOUE@>jV6>^oyrDt8#EvxVY=`|5Zi!8p!-iS6X!jaVLh7aPC}+S`La1UqrkM zD3R{L2_jKYDZ1@YA-oJv{vgtiJ6k;PX%yrzY-2`5$8?Af~xa!q`=AjjoSR%8zZH1FV8f8(=7soeV?Pf zgj{u0lWl{6A5op1a0rX=E>?+DYanFX!}oB6 z#Qi2vH(^?VK;Y1F&t;L}m?=!YprxkA1GoRX(^UV4RGPt*#0F`)S>5qXsqb@~-mvGk zfLa*&jtU<|UT$`9RX9{z=07I1ZE3WO3Iw?q%osh^=pPx&hOf`_%OSka z_w4zCbc{aIem=j>*LYrC|)|B5bQ+0)bB3T|FkOi`N$rWhuf@sxb^CZ zYUPPI{8jEJAMxCNg2+)UvabN1y>x0mpi_$6j|E?0Yk=WNpq~;-u+NPPEOY=yq*!n- zCfOu63(Wa)D%SInaA2SOQOhOeTuv%%MMu2OkP(;rLt=Ryc?a;Yomzn8lUtzIUZ>=| z+;eLn>!=q=> zD*c?s02gq@4{HnAax613cp*HvAU-pe1aOA>WR1$x75s(z*I>uL;#In4S6eNo;tk2M zT?x21Yl~N&LKwtL9iOt5shkVKT&R@C-jRkD+9YZ&b5+EdmqJnj#_rK9;~}2VgvZU^ z;xF65{{_P*1(!mKf5ZbjV{JG#JqSGw>Iq$Op`Y@Qzm)OaM#tIB=$S@rdmN_8^cJrI zIehU@_}-=2;Y2`!58d8E$gio;KwN!1-1hU_iMq!gG_`*RCHIYV(!C=@T(rAbFyuyg zL%=i(VvbBE6*4jqOV|i43Dz3c$#pNYEW=_GF-!=4el8lWbHr?3LILJ2uh5lUYea^4vaYiO8KLg*n!r!!^kiKX~c}dK;2Nx}sM3 zTim$&W zcf_`@$z-7h*&n`lLlq*L*BH40j;ZEdkBbpOW|1uo5ZpG~L?ROld$V3(dLGIeT^LWc zNn)4J)vimHNbVI*T1ct70DK81@nR7>u?-9Ij+lKVx&=ix3&ML`TN)Oi_1dl#K}*Bs zxdM~Mt!QAkq(c1A5k%d@Ors$pN&|Uj|Jw1zR;ubMi~XSjFh0~B8)AGUtv=c?_6ntI zGjc*+DFH%$Z}m?WVmDo)BYF?aCy24V=78P6ubxp?%XO&)|D}+Q6+SkN<5|gt9q*)M zjdx1E@*cP+VUjW&gjxWwoz{K_!X9S;^iD#kM$(JKH z@f{0DoJgWcoJKKMDO@=7Oi&&~LnWyYsH>QE54tPFhLTr9yul;@HQpYjyc9A$A7gKe zueB#}uLr{c?5*`zPJvqmXbg}+R?|Cpw`^mxZ2&Zi5Be*tuY=W~yRO#8PFV4zWbWb_eAMX$0kQqK0x;}J+E_=eHIN!hP7+(cnx z)5z=hFDw~sB00EJ`5^fN^!+YYciRE`SkU=QySp@vr=zLhI^i#zt&Ov*^RXIuk8A>4 zp-5+_<=I&4$(jS+5!)}IH{U3oBB!17N>wao2t(q2j4yWH$_U`&;XX%ipTk4x+Ols; zd*AfB(0Y~15px9<<1lSKl=e8lAncP=I1i_OE`CL%TVhSg9E3_PLbP&G}l5`i!ejaOZTrpoDX~@nx=pET$f%mgf@W}eDL&}{W zY{qRpuI;pwiley-+OMPVZVmUeBQR|UUB=CLZdu&h6-}G}kowmjh^|zucTah_E4!)> zG@)c3g;hCbw34nuFHv1d2(2Ocm-OLA74F}HSmearkibcP6P(!DKuN5xvig~V&R+|P z;-Zohag!JLYbT}E7V8~boFTm8VQnr3zZAlZ6z=KBUeP*+z*DN0SGP>tX~m+p_>WI{ zDi>)_cD<+*4Ffb4rT{pUdvDfri+|~)VUSLZJf3rL0GWvAI<-Lqs!AJC@!5>%szbz5 zvS=0~OzUUn-$7`j5^P1BkVxFwctVIHsD~1w;#P>2(HLS5F8?d;P|!TMmTUqt!;7aO zDe<+sj~4saM>eAX6o!KyT5lPSLE9-Ytl%NJ=7NX|jdkc>!jAXLCSPu7y1a51V2MUN z#cw!te&egPPYJ&6pl)`>OWBaR&ujNBn z_+UbWE+|Ob-osWT+uS z3ylOr7+c`7?Jb@)t@^1<66^NK(7iGO{d40NN#Vv}{m39Avk{xh9@b)$q==p$9JU?e z8jL>rDQW&xNm(keo^%T}>sJ5VxtzbwFl9wgU?<@;h9vtE7%l0c%y|~lK0;aa6xQM1 z(?_S;Q!wIJ`ReydNl0;z&k^ko|G7SATH^E9X!& z`*H8k{OU3l`5kbp%LS{X2!YOxfSQfTfKJp_1%Ug}<^X8ykf|QjA{D)yWKL|KR%c79 zo5MEKen@}^Z5OM{kg8vX{yJ3#FA?G5=60aI&<2SP$;(*mQ~u*gJwvlWq-CNF-GpJe zgjVpVs~pi*&gq~5P&}3wo+2<#35g20&T22Fd?@iidx)4sislXoJqy#r&AxiZT?*DC z@)P6@kv*x>WiE+8*gI9$a?J@y-;W^nCA}`4?SA;1B=M3#E>~1qvbLQHLv?v%d>7nW zyXrJWU8G{T?p&>Fb?1s#r^IMLbw!h5)+d=PL$SidgpmO@ca?Aocw14QD_`Y+gfiiX z0BM?wWfzjc&<+t>|HkO;i$p@QJT|$>gv@JFR4|`%b+cNoN|ODy_BHHQp41n8(qmKh z;Un}i2+c5NbtXtFNn6c<(3LonLMO1bhhFq+5BPI z*kV-aKk=F((ZbP{<2467vHMjJvHoBBb3zzV7ip4!k*&QKE%@cLX*ROfRC=7pyhsR! z4vJRRi|j)Ygcj4}OV~*XZW*bQqMuu?QdPu+a9SyJosNLEV<)#!<#z~=tf2IYg6Xw) zVW*;ZE}Qu1>eCWIY{Tz4DM8!Xfp+DVWy!Q43m^AVi&sRMT#}cmkgWjEld+cOn8NgK zhkNvF9Scd;mPjQaTU$=md*)dio$?|3jdm62UGtO=@zKh4%$PO(Jr!c4n~uVU{;VlI z9F-i+aa3;m$2)d3HsQc2LxFE0l-Lc;ER`?WDtlbftgb_)r+=RkAmOJNI^~?ogl!q( zd`XJ;NhEKhrR!o9;-;ba>JL;@C1h%yD6zo0DS|b2pq4qeD_dN6&WDwEMG>n&$R>bt z5&;I0H4mzs6@)050ajfxle;FNELyG}os^2RGHaYK%DI{YP3U^WWx7&c7eMdo&rcxC zDRG#0>`f+Be7pKU0hnkJoBNdiD2JZ3lk4d-4b7U|+;X)N{RT+MPVv2a&!#|JcnKjO zeR7Mx^wf=lhLyqM++%h_-Y;yO9@Eg2DE>y|Ug39F6y3RqEA<)H7focqR|HHK+`YMm z5ntTO2J!q&v&1Tvi0*u+^fm`9|mR=z(-$n|D}{R1~KqW z{%>!4eX2}R397l&o$;+SGQv`jz3n%(4PT83gk>Vj2jRiu__~L|u9DZdKFADqyO00I zf5x1cXIN#*{i&GJLIpg2qNpcZb5wo-os>TM9GfWg4z-DaqOtG3=2?`U!?5|OecnQltb1vushEB!W6*?9_^P!dQ)pqAQ%??-2@Vr#7t>OoAORk9T(MSiLV{_)vr<4J3 zQJHtP(s#MKv64Xq1Cj=hiatdunQ*^+#03>75XwU@-{bZzwnMCI?^+Tj2@|%?X4*T5 zaY%JXR$iJ7IG@$yE=d9+08w1s8NJBJT~nf{)Cr*F)~2R8=qcX@+F9DK2R zY!e8?3d<)uyBMq_loR--gW@ik&enF&M6u-^^wv@FSVZ*h(htLZUZC6eZ6;{e57P9fFJ04V4Fm3;=1uK^?{rkxbCp#&2%*f4m#y zZ#k&#EJ3PDjXPPKOC67D7q|W{pk_hlVBEsk8@Dosp=DRi$z1?G8xkR{qKd*jLN*Hb zof#>Ii`p$Y5NrZrw>WpOmFTWFuLc;MXH0TyueM^KAhaC<5!dN{hp z<9qHhpMXnpkq%HLHnkllZ&3E+Q#~Hh7-$|+R3Ue1Od=S7Um7=D9z||Jpl2&AG_xP@ zd3Op8=04ZZV2rtMb9>SD@LZ6-u*3zbQvgWOLgH?!6W{^mW7qm&g z&?bG-!zyxFwFjd%G~4xi>0|;Mcyk>g@+}De0LQ=8CnBFk1n-xqggM5PAdY_QJec_w zru~?^HY*Ve(~@9o_IVS+k|Gnpat%Vl#h z8jBDY)w=3~Vyq-3ALbiv-MZAIQ%t7i<|Z7aP%%C=J7~H04g#P5|=ik3j0EMD9wX3PD*7!FL3%t%R1VC72k6#QvJfEtVTOLb?-1s(!5QF%m~ zub*OMels04jWRZM?@*b<$h2_%acZAe?KPl7$T=`mqU7k!A<7xH~JZ)5T z=t22!k6l=oILS4i^4-j#KmlwlgO8E{C#ute#6nF(dthlN#X9xJs}YI!5@2Q#Pr)fm z-%F1e7B1oG$jxnWmicuL&#IH(9>u$;8jir>qm88%1LE0iE^f@eMY54P@1Tc&bW`ih zx`c8Rau&aZpEy}_SyJL}GVMpitZ&wqOZj0&rl<7_sUB5`j@}-6%|Y2;p@eWCbWUXJ znZZX`={#w#=CW=itKSVOygvnmsT{P=5{|#$)3}dePm1@D-5R}p!M(2YaRARK(D>C; zlyV+=r`Pu5Vc3^m>5+Q9|A+ zkLrUYldhi)6AB`eJ5r#+w@vlEGIkB+dSnqc=o#mvVqVMNLz1A#H?ij&Qyt?Q!rGV= zN6pj?>nObx&@4>K>!i$0K<=D!kr$Wyt*34P!9~?d75Ho1Z-U*B)Jq;b>*&nCo3S+H zFfLDZ?_dqN{b(`zY<4?EFpO68W)vy1E5ZU(%so&iAyf%(m?FO zM4I(WQGIBaov3tWcF777A}%9r$d%ayQxW4mtN0$RxLuN;Zejf4q-|Y90BQD6qfnMZ zC=|&|K>kK;TX{AR3?R>~g}#$AB+203(c9!&u*lrA%kPQ3YdKtI+R?93M!5N4KpGZP z2oNQ-Y~`KwUI=Y050Kj|C}11aPo(6_VES5B>`l|L2-EoX#f+GHqIxMQJqtx5Jzd=F zZ5+JzAC*$N=0Iso3G@d|HBxztt&bO$!T^{REk@|l?2cvls2yad^|bX1l?u;zQs~A* z+6IwBzkvX}<}z{V8B}JT+mr;1PCP8=4`M|^MKd7ypS1tLFE2>9oKiVT2{z9}2D?eB zc}h#aQ{U6JaC873nCy(ZAE}`QRjxW_at9jO%=$PL2E?@QYwlR8OAP(?MMQz zs1`g4EM{t;QQd!@IjMu0T;JdnGp@61JEbJ<9H2NtM#7$hLj*(TVITjqgbo5}oyZPS zX+rVDZ6n3;UCt?x$l}RRIXGz)gI%=r0C!p>dNgPSB(D}#5BioVZMYI{O=#c5ETjn( zK;BQ7TYYVl-%i7UW)lSkT`|yEB1c+FY7in%hDyrPHGJlqu~y?lRCb)0_Yq;&%@ z4nV>6RtQMXEvCFgHtkYkzQQS|uw_zUp`l&s0wolRpmt~y;#piR27oqHzN!^UO=kce zM-eEtpTYi15t8ci&NF&kdFz-lSvi`fnV^nLtme#&>x3xMG6a-)WXu&Vm}+suaF*br zkBVsSq%uP1nM@x-H!?~|3DD4S8zvu@syV!JPj8bujoFw7gST)A3H-?@D56 zb2T#*MF)30UT}jI*^suq9xu*E=I5&J1)pR~bO(Z&Wu)f>(KVG`fHrX{dIJLE8Gevn z%|XZ%8#OPXV2w@rQ*$qpX)MQdzuXL_g zglVEflETW|mcbD63?|2Ij6N=^eI+T*7{%^!xv)Xfl1rZq;#UDR+NLixEzr@(S(i0< zkVYT3{2aNJiJN88R`tLH5GY81G#4kcvgnS?9Xwl`&~;JQ>1%I!$mOER>wR&57=2oB ziR`n;4VxHYQOad6kY>1g5raraT4}IjKe{tw*v7~NuJUC>Gw&oo2=_}0O~p^X8tzV! z5k!VmH8W_sbc%L(G0ey&Js1nT8OLir?LV4<3K9RNK}ASA!;Xj99^4)xqsM|DL3!d1 zk4K=|T#!2IFC@>jW-F?@ktL+7D9-p8)#HNDQ)=kW+*zl7rsKa#{KE!fOp3N-2wEc( z9&huc2&)*LtI#R4m1s{ptOpPk=1+h298+&p%vqL$zTvAgNDOjY0ZzeOw!;|a^|_OdXOl;?0}7>pS1V6_HdV6- zgzqHRUAn+%k#=Lj>fe=LzuL6`bIV|;gy8wD8W9HyKyP(3nF$Y7`F%D zxA$sudyoll$WvE`En43EO)JsC*1J};svK5vQ5rS=sV#J=TVKtVq$tszm&l;oOE(C+a-YgEG{l>Um~3M4@KG-AcV zqUXdS59t_6I{+e?tqPXpKxPnT7LH$@DUg&7w{V2|9I|eamAu0>XEcmFJpx3&dFtB= za?HaywJL9WNNO5vn&srPoBck_TEm$g6^a`wX!55NaWsEaZYE`EIb*(*o*rC)LIb`=YfUYA9T*LS4&Y`S>1@#b{k?cZ{ z!C;7swjGw`W4M6hESpJ?kp23dG19%u3H`wrBN{tlB&7DkP%uLtNmZoubc(8{ z=fTQZmZ^2yAcE8tlUBs?5`onm=qm9#P=~f(`l8f~`2*%JKvhX;x`%A| zIP4BLR}^Bl?l0out|1w?bF$`~s9@@nl=K5hg=%Rc3`L!=XnX}_>38$(QvGbtS)#)j zL=<-qQ&=n*t_!!0%jA|N30OyGb3<>Vm*^0 zZHb?@P5Pu1qcQ_pIAs!Mo=|QeZRvo6yrZ>Ngq%K6qQQzG=t97N_+3#>Dj2FQfmozP z!Gk7P_3<4)5vxu-LmDl2F7h9%IR_-Bomg~>8DvIQq+l2iblN&Yhh(fOp_1V-f^*I( zg`q&e7qp+wOz9cm_APE;OR-(iT6RLcj^!QVowXBh1zW zO+-7Xjzr1km2>Tg4rGDb!?V~{j4i(6`hX$evoba@S6qaAPUr~<@iQts8DpkTpaWx( zbw5Zr7fomj6d=vGNe_$~ls<|AUJ1D~V02ZJ5>E>oAWz%R(=u|5vOmwU?{gUp#muU^ zO>)H4?H=aaRj)8YL?JM4)&gSDKFN)^wZgqrsfjWofzv-Loq9P^UOyic?Yrub-OoFy z<=K<)>WC($DD1Xj(;2iwTB!lMxIhaic@#%Nt3GIhV6T(F85~fpk&j8m+r8cL3OIQg ztq0p%x`9#B*(y_^AkS($_CaoV#h7(_@x+gx0We-6*&KJh=FElZc}~Fr?*&~^TP0pux&2bC~cJuo|}sBS41D2+v|y;wva?EXce*1+--Aw*?-^F zX3L9tF#$uej_CT+UJ9v_A{(1&~kzNngbZWDAXqpfLg)~*Wr9kB@IB5S%#lZ$1x zPgurb$xIsu;eLM32PrlxD!_zHk0kOF8$kEAz15FP-8Nki2--clXO#1^xJJ@qgKL*$ z-b}4Z4a`C_A0EXQT;h^)mKz9>A#Mr{TZov*Z6S2y_}x6vgoVbFMFE-=59zI)eo)Y)iZ^xDe)3;EdbIjsAv_)s*>&LL9lE~37!j+mD>@q zBbMk{3IgR<Gl;=@mPY!oN33{1URpgOAP#*rEs9=2m6VU>)L zU2k$3x}+$MfYr%kE2kafArL>4&G=W za?T9Ms!}*VS5!=k-7>`-Fu}BqnP*3FCjvLU0EuK$J-LlT3^FYVA1TvFitI@p`$fd< z>(i2?t!J6G!-c9aEcHFr{ee>ZJs2(uCmGk#A6x6aEpI8pP~78LMQzAk+&swE=G?vvlxo(iecyBfT*D)Jrd@I^#Fw z4Ilf*eG~_!Z9pHFBVZWCl*)&kJJnrm#Wj44a*#ha#MrK{dU{iXEO+%kaqp!`i>A%!I0(A+QBILXd z{D3hOT13QTVIuIik{+uBW~D75X9Bdp%SA8Zxqh&&KP^1L;!E`{T}hO@IKG5C-$ z{$1%cjLTg>+m5@i@^yXO?|6Xh^C>^3jy2=1s8ZiL7rxFRTufG;e|d!L{h0zT*AQmg zw;#+o_|1y5Yk>zOZ?q-Zy4&bwDDoxcavGH2+00IwoJL4ka17oUVARU6hj))G5)nMf zE~!Un^_l$!3dE0Vop^v}2wj1w+&e?+O;S_-LhNlLiDsUMUYa>+c`-P+XH)Jm-54eJ z?j#>%nsk(DV49Y+Z9m*{Rb~YvkEPX5uU2^Oz~oh`tU+eezT%%0UiyWsx0R%zc^6Me zLkt*H5G>QV$jwjD`|y?U;5^lxQ1kn?A8G@Zw8>W0IU4Sfjw+oV^bLa>V*&q1$lnw| z)ny9V(OKjG0%hS7t&k-AY>ud4W1qluj|?l0f*jR<0uWK3=p?!tCGYg+^49*VPyjKK%#@o;4&f3~z`>ZZ_nh4WYE#1>s~=HO>derlHh_m9Mfh@g8ZrM{h^lEV5IOo!1X@cehAg8s1fxxXTnh#S5Ibl8_z%*;z>XY-~nPf0R?^ zxY-YeM~65S6iG4NB6a{^g6n6LjwK8YwKX|_@;N5l8ut+JWc~|zZ0~qNP zF@A0)V>Ua%4YbTybei^6+_n@fc#DG|{Vq}e^y9InUlg`$DY>z*S0xIo(zig|Ow3$u zxN+-n-romT5))ISMQz&&D4x$G!sT$M=^xf{mzB_~-v1SQD(+V46BgP-GGuBLg(w(^ z3F_pXOp1_U_0dVKt_%6b3|u+ys8Fx(Vj%0=sb__}BENDeN-To3;*2$I|1=yjdm}E% zC8>>`d;MMXtXpNGIG7$#RWeLav7?b?KAVAh9d5PM%P8LALAEG%A?eEU|2j?ay*>>c)zwa98f~iCL^$Ell?|BqP8%FAzG+tj zV-&h1DW^$`xgP%}5lY(Tfg+MM_LQX2DTA{Hxyai;ROg6OX`BB}#jXS}kvo`*R|tAY1YflrUoJix3g2%1tV4j;Gt7Xm(E zLcQQ&W`yTp0mOs;M1&D(0iu{&*tkjP#jM}zqD~atAeA$!`4@Go097;ZNeaB0Shwg? z-o(O?FPU>E4nmWHfoZPC8P`Q#@kIO8bZ;>44O=moRESoiJC}qUUW!j zOed$v=1N`lZB2g-SOVBVH#89{fv}{c;5;2w^9+;7QPLu_*ONY6k>wrAIP!9d9A4CN zjE7=vQcWMd{gFG9n6%1H>yhfhYr67w>c8H*!vo;yXDXIo! zf(|Ld7RLf_w}^!B7_C&O124ZPjI);Giq^4h`z0MxQ`#d|Zrm&Q+GO@?w+L-S5v4}I z3yP6k9F3F6kkv>YCQs=iqiI#1>w=w))N+9EN>tZ)al<9uHg0`k8(73%U3@q}o;D3# zA#)M`w+%TJin5+B;>WNC89Bb=VYK+~MeC9!yg|revLvW$E7e@>AK-42pkrx^Ldd~O z`d~{@APZrddPxcjuzN1~Bm}6;=@LC82A>6CM7bePCLj1>tN>5F(>xG6M8|QmoWx#~ zu^CisrG$^NP;enMelzY|+kfA{KadC3OPJ%_D2!U(;zqF8$QW@BKpN^vAJGbG(-`N> zI7G<}&_lITfqYwgUR5UJ#9a>2c41lOj4d&y$BXC)2LF)fei3m(KEWAVf6zvqqEr}@ zgQH{m{rcpOqK^0)$21(19Lt$m)L42)W#AwMmE7WGvjEppj#@2Gac(Pci<7JJ8T50{=yxDVoyq6Fav# zW33``<7eUfnFlSgWd5W~_gKN;i~J{Wsj_#OYVW4N54!n2H%=zRpgB>ziUJsnKuw00 zG|6El=1-tb!FlLo6T~ku0k7^c;W233&qFfN!h35d#H+b(xyR(7Mct|kxLkd_S4qMK zZ(NkY%3R+!v|r{?9c{TZf(qxhq#iFFch!HEY|eJLnRQDaW?94vv!HAxvZ+G> z+m*s{3@WFkUh~!_=|%j-ICdaS#GaIRB24|kApa~97Mm)vi_A_g*o4m@Jn9;=4{}d3 z1AQtwz}trkFmJY70ICpmh{vV7hY_6hdwcoJa#fuEjfcv(ty3Hq&V=lbFfV1HCblzY z4iK^w+jM zIfM`shj1DTAQpCm=f63M@j;d^)0D01 zXtJJA%UoV1;W%;Ep>q8ej!IYJNDIaFGBOJaelIt} zA!1eZ7-MGMLKxMaC`X|Zt<&Gi-Bd|sq-oXNR`)Z36s`T12 zL4{JPwD6Enf7xV9ex&lJZOo;xu>F_$&IMQoO{aN>79sFDT8%#%ia#|gmJ5^SpJ(Hy zA7;)&aU=ngJGU{Wn}$pbT{WCiCq{uKbFd*3k^YNYKp@1cIZ7)0x$v5p8Dlm^e`5-#&nR>hDGj*fmGHB>azALHwW8<2@TS`mw1 z11}I5R|OdthDF8blE0Yb53cIFQZ7&(ytKh`6=6sbw`jF_YF5=OVoFa8h@TAA_*LnN zmUp&xp86J$UtZY*gh$S`2Mz#M{m)C}RjpOq&)c3KU8- zn__GbHwS?O6kb4mJ>N_=#`J*1Wcm?B+0IJ|XqBBTv-}#SKd!k8RbXTo36DNKXnGkQ z-B;RNI&f8pT;|9nYCG%{Y)Sob=r(fGU*!KvH!(G`qG`ltmszHJV|+$#M=v4@ZG%g_ z@vcsoiicSP1Gh?~7yS`V@}q{!KbJ$M2bY&y66>J45a;+z3ygw6Qh8^{S7Z>{!cTd} z4%8k+HdKj{%~KJRTgVd^Qs5DVj=Y?qiuXn^q>i99S7viDRF`=>kZ-EppTMOX+Aqn{ z^$u`eNR?r|*os+GaKfun_<@=>7V$Sndp}dZt zoQs8}$;PX1IWM(m{=CctE8xDQ?Ai1hw}jHBYE72J*@FkE+Ks%UQ5qg+E47Oe^I9u2 z8w1gK$TGO@E`u7%Knh)YuVEKshLMt7saY_*f$^@Di#X&rfk2{P#+AY`#Zw&%6AgPB z0z#V*VqDDIro4~6u-l&k;PT-t=rRnc{zThPNL?6k;B^lMeF1AVx)7w2U1=1IuAGr_ zV+V%SlK-oaupbZ^`NHkBPT4+J|FL8kG|YE6OlpuIK)HnNM|XZ)X)>hM@vOFulVIlR zYx&rYSa7}6NK&#sAwL!hWFEw4Y4AHVL0jdm$PDevFybd#*(3@vGtH8ve=WxJIgA@3 z%^@@)o4{l=XXWuC6<)$a_va#*9UhZc4|BZNkJcQJA))I@!ZzDTPv*KoD<$I$X)l49 zVHCFCqwi096AC!mIz&(?v&gnuPBo(p)El1_Ux967PQ*(hRD?MZNMc+jX_W3KLNcyS zgyuf5{dsEEFG=QT`r@%fX#AdQ~13$uJ>gVazERs5~=tzHTsF*%re zgZH;c2WPDmW0?+}MR|*Sh?J%tN!l|ciW#)5GnMir=~W6Z&blnLn>sg=Cn~l5uy6d- z`ag>v+6i`K(D0+YgM|?t_BbZ!(4!b81nM*Gl1HYva;*&>M(x0CIQa!h8JwaVHiJG6}PmXM$- z=blY@&A|;k9%)nbIdlRv7cWQ};$}cA*H|)=I_|*WpwWloW;kOCY(z4nke~+{qS>*c zq2_WPPDBRt9if;K9idXDMyS9UGE8!bq;c)J#~iA(${;^A-z=rM^Iv(M(3JtA{2~Z! zyD3jVyP)7a(Q#j6+e25LgUkp~8PV2|8Hgai${0?>H1KQG=AM z_MerW{+W#~CXc++ry5~kYt0#4n$)$4^K!|2kjt1JH=5&kM272~!}XWT@YOI~yb>hK zBR1{;^sEnj9FS2dg~p6N?K?ej_>=#St+xS>vcC7c^Fk8KTc|aJ_t@^!Z52&qAtYeP z)T@t&b1k-J8W zL{p0|w`Q@w!p@^9yd~FDKdwF@#WMD8byhgeP(Xw{%X!YTY)eoi!&xzOZD@E6s%glh z!&HII7>dbJ2vHZxb8I6%TLOOEguU5p_9pBFNg4t=-*Y?xejK4nGE9c@#)cME29$Np zqG`sk8HI<-N&tY$ZVD<&dJ(%jp@C+zlXo?LKuaqq^RS4A3=3v`_#Ai<;F)NN6atIH z6w(Je!}vOk=kejzOubA)bl*_8tMr@N+6K)csA^ng>GJecEobE(1+P6!hsJ&1hRi@BAM4|1g`Z4(_a)hTC#QlaVC{jLmnfQ#U22D+82VvR|$>bGY z9)G^eewN~F)*p6U!~RIHqA~Zy*gB>oeM(-Xn-z9!w&0lF%{ETX3&sTf2l%(#O5Jh zw7?{_d6fs^0{+{P{IM(#4F(G?-t(5Up5^zTy)3b1H;1QSNN+tUDm51(D(6~@v!Yg2%CBO$h zZ`jj#1qvp@=n*~8LS@TX`MC5UC*lzpz7@1Ccy-9R-aHU%8+{b|u54HJUmB{;;iA9h zOTF_Tj@aw2vU?b$oyd#vl>fxI@JgmFYrIl}{d{&IiRuu)?EY6v?>@rxr;Vwc9GY-; z-CPe3kXl`jmAU$m7j8>{a%~53s`q|9g}ao9dnzvxb#cd`CMjL;J3mWNS4-vg7eFAD z7*HNy)GQfr1wets>G1+36f16Po^L+y{=Pfs)D^cj0`I?MBtR<&65y@($zFC+Z&}3V zpd-iN^MW&>EM04lg9fs+(7&%S**&HxNUcHCpe(^2C~J-JxwMVY*hjQ_MSe> z4Jc#Eeko=OUrJ*Qoy#C~vsOv)XMfl7fo0S%gavFl?s+B!62ykYH*6#H4sM?@3?rou z6R(Vo2lhmqi*7^mH5>r`MT_b(6nIdCY3a|>(yy)K*W%3tS7|5!6O5LxeYgE9vOzp& zjk(}+=tI45@CAq-~m&G*S!3@5eN-7}VS~0(D7kA>^g9*pc9mChk znh^bisFG|^qRudg!vSo;wgQyIY~V_kh_H;3l}p(TU0)wI zhr8_=#G%Z9b{T+O;b)fYNnU<;Ews_Te)|N2gOn*d$-xM$wuMa!k)#z7ukJC^JTx>< z(rvJ8UY^1q)H>UBpa)%-RkC%4Y6{OB6RBB$nBbuIbeJa}}Be5St*{ZgV%&A@Sr#W^;?&*U|nYRVG*NFVLyY%WdJV>!Egv`4Xv zsM08N+0%?$1Z+W;Y9{h=A);f$QYLGy#e*tuRhnTa+;#aGBs)!P0i`pm>Jh~X_o&ci ztBG|B_5X9q57KL$(YsPR81xiT#dlTHdWL%qd=rI*ZW>|@b znSC47sw#(SB{sc{?8X)G3)kPx1;_i*tC>XAFMZ&ASZLHt4tzl+4d;fY73x~9{kWQ? zPZ<)@%s^hlTOR|iWB7@(B57GngBMZ*lL^*YYuB4Exd5t37l!9YU$?u#txe*}waa-~ z4;vhY0!W=6Am-T0M^!_$Z5ArUn8F^<<;tK|k3LW|Qmh`!F7c$u(}P?o?LmR1mtD|Z zjAJ4}Mf^Q!+wZ!q#n%Y~4PKP2)k8^D{;t)Kh*C3s$9l%wE;RLg+enJkjaIi7WPn z9;Dz7d3f+r2sPAe7<|`c3UWPmnI}wn=ghX|{#C>&*`dQ^ahQ;f4-y98u@qR;(!VQL z#yD8{9_?P$aRSV&AFu;$o%^>96k-~CbPdhYLNrG=G|W`4HB$=Enhg5|Khy@ZvPl=L zl`SvyP{^L-2df9iHDYi>Df; zL_fsG7W#}2pv8jx+it8k<$|e2ZMJu3GNo4mSGGpGTGB740FRo@38g6U=E>iec2l#z zS5MEOLa^ghXigg zs;!jSY8OpC0S2e=s`tEV11v8{Iak$ec^qm0hFgSv6t_{ZuQ2m=EQ?PyC6ZKrP@j=ECB3#w}9#JwTM1WpTqW)6`&w+Ku4Ypcc9lSo~KU61I-841%)7Sce|{@=23H zU2XGt#k4K}KX}?LrT7X2X^_y}?+!2}3sN%oA)Hw&FuQevoeQ#1wH9BBYyM7Ew1^s`Z5b-_ zLJayLfkKR7trjaH*%u}W;p*5;N<>yFIil;}y3EK_CIF4vXM<0o{>m)=cLPz7SNSMc~cNUC!5^*o|*=X&7LM2`_-Re+&S9KXyF9&M?m8P}33&AIBTZz+`3}7+U4M#pY-jIh)VF*S0ZP`rPUZrFA(JS00 z_?NixHu-&`>WKaq2zE-@HkT{@^;zyDvZq=AIJuzsKHLonOhD=UpE4o^bm1T{s{f;k z>2ADHMMYRB*Nq42227faru^?#e@lcrgbzi@Cu5lq$Rwg|B|s3BOwjrQ^aMgZU16@MVGs z0T0*>$}FD<>`Iw)uu2|aN(K%!<4NS~H+bB%P;ep|z?6x53@9k<`i+9(Q(C9%7hj0H zP~S{*hM_Dco@E>D;~tywtti1vMiCY6|~-z-+^UjNR-dVP&6(*g}w4@HK93L=qE&8X-e*XGaN23BGkWv2L6F zmH78d2**}4v`i@k*^8SdF_ZA|h6+h$`i>y- zgio7Q*x`k#l(}=&c5$E`?*$elLn~CMHuJX%=JqUR8VbUI;w5he?=0MHKkMhhkcXKQ zU>X<{nnwACSk(lY0IWvmxz6GzHs)jlJcb2G3o*2_%F1 z;N=|YGP56r4?9SVPv&UvYZji3k*zT!6P)KGf=A`SqGetA{mY0;K63PL$mH(|A z5Az!Bno6Y*bM--16;6*F2^w%*vq^X`r3SwfnZhg$S5)X8?AwOFgHQ`~K1!c! zPr}g46&v}3w%q>SG{Zsj5#F$Z^N1nyS5+0WyohmG!&Z!Nt7RVg{e5MPvkR#d8k6c| z1bF8R_t&B-p;Vvhew7-19IBMzZ1QhY7sU7Enm=_W_)l7`U7|d~Md4-fq?A`Vw^GC^ zZNNJ;(^v%yPfYs>m@`e~f_eW;Y}W`p0&+m#@F^CASB#k;CxR;y4Wmy}9a6M4=eX#l zgmo?T&87=2iq1EaI=5b_U#!{Y!`u)&HJO(I~7ggDqsHD=YD%g=e6>J3_+_NqXZ z;fG7bh?PhlP9@Fp&wSi&8?9*gaBX#rxo)juRZ7`sb$zT*D`JNHZYyL3WDV1W=Z2p>_B*}6$ zRW&nn#p*D>qFU@u2)bYyUQkoS!R6kyXOcS_s|g zsZAdZ(p$yFn#Q3}v}x5*8|gz%Y-Nm(&q>^0(Dl3PfO#}6tx#r7HGl7o#7$8SkvRAI zp+z^HHC$LfJ$zA3oWW=0&4KxomR*3iE-5(m!}@($$yn1> zBmuvP|0xIh!*n7Bx`t5akxSA-%Dg`bfAe27j9*S6ThM$svXy~w9F7yhjTj<4oZZ`& zH3lvMyhNS;<=S(NY7dfJGq3+V!@%@wzjDhxN$L>F?A8@{ zU~>bfje!a)09b7MT}l-eg_^yK%!#>l6a~(ThrA+A-P1m#VF4{!C3;fuKz*w`Kt=$Z zh4N_V@`|2Eh*mUPVUdr_nsK))E;h3s86bPs{7IZytL=(bX+kzWcG;-XZII@IebPj{ zm4Iun5!czW4S=!&r}aCrksfE&ENT!#=4LS2l-Md2E}WMhhDmaLIaExYSH}gTYk|VA z;;)$;CTnpDV8(cq1LJz10ISoDw+n*I%9us;Re1>OW*re)>C1-8ZbSfa$1JXVKtGv->|5xq2-OjE55*HgCnL9x$?n)~0qu8$#S#wS8^D&0F8$gB|1^ zvaBk^*jQ)<_n*?>`PeGv6x!SM+f#>$Tg3tYZFI8DXqSeXt(efVidaQ%g9NMQD&Lg1K3E2cuWbB zU4*9$`d&izFjsNG(0f>(5=zD)?%cn&f86z)h=T7EP&JrnRL^3>?=3e{6OB z9RwZ&RzT$LTJBK>Z!5dV#58XpZker!g^&#&hv+GCmeG9nePt|&LkSM8tD;TYh1aL6 z=L|DL$uvGSvRj_hL&9`!m8hGefE3!A##H1cSyBevfo~zbc!72KnGX+7?TG&%B9d&X z4YS^T^y?e)<6xXgZmhGm&z?oVvAp{8zON+62Z!7)z(QR8xB1o%cRzTIJD-?z=l)q^ zZrlomX?|)avrQYH8s3BMg)5oFfQOm!i@d;I=gqwRY2Y9*&A9``yfZClR{aOhURVc~ z2Bb$pOo4<#F@ZD!cma`H9fn12(WUzz`5xVghI!8@9M~@DfJ&<*EDYU~q><2#w}WcB zr-cg`wioyaQz_^U|0%Qg{+vH;tvp_*t;eJaG{G7qw?ij3mEoK^lNAjlbs3awGzbk)2`Aab6Je#XJ8Eo z@4CS1(t_|Uf zhh|$5pTdY{`g9pEqg~gcP_9V|J01wyclQeVC_mXrE3BjvjD$cA2GW>j#|#=8 z191t-X(#8Cr4$4KkT7l+CC(t~me#N4KywWbv)V(%v=<0dQHsdXSZ`J%*iAs z*3RqiCA*OS40#6cefruTsR*w+r|To&20W3QF%a3&pqD=)_7qz<6JM zLt$!c^&dBA^HyZquRH3th5;_LS-A!9tY;T>J&@;AuvW_KZTLU2U{xs2pas8Ms>bVW z++p^EJ>#BEpoQ}VvntmfRQpPOYHxhG>Nm)k?wn_Z53PNO?w5fH(>EB^ui158GYFs0 zrM=*EtZ<3)psC#rUUlfD$H9FD-X5MwqvS7S`Y-2NxP1M*yixH z|Mr;C zHEpqW$nWNE3Iw(N=5jV%Nrd~y1Qbdb;9^ULutP3g>V}haQEHdDpa-f5`ewycR13wx z=VGP_^%#~Y0$}#axwQbgM=;vt>Ly@ zJTHfWmkw89zOJ2c&vcY!CD#eg;dz<(uEGaTPC`LDy$D%$f!>bc-7x;3{DZ{6<61=z zO$XbQh}3#%a*&Eyh!WBNJY%iC3n@*dYUkoE-I*bg;NetEOS(-x`%0ptDgXgC?&!JjxK_ag>+EBQCgcz(q^)UoE%_=bE~ z?mR?omBr`RTD!~p?Qix>hl~rI_Y6p5SucC-G(K(ubN`U(HF?3MO{R7YlWgeelw~+n zKS3~ukUF1D8Cyn>w9nObldX!J#5G2nO0asn`cZ~(!M~uWK>$SYhs(z*UK0?l-&Egp z%TWJwk@CK~0I}Onj8>9y7tCdsYA{#V))WH7 zGbHAm)7GnkXO;p9M4o4S$Zr>!`=`Qwb0~~1CRk*5XMp=Y{{Q$|84`w-%+)9JWU-i@ z(aS!j$bz>@PM0r4>j*gV_61nC$1WRl>#2MTL$aYqO}E1%xhhW4D40d0ktqQ0TFn6V zEOe4FM9ybhQP&p!d$m`CZ`NsSyb)#{3@JqOhmEs^sQTo@R08sDV16XQW%ZcpQ0xr3 zzHAnSPU=;k79uBd!1xVJ<>2vmaqqx7nmLmwNdRQ3`I;8w`Z~z-hS~^F1(PS7fWm@~-LU8|BMMw6ya|=M3PDsBgp}Le#2LOQ0XgL! zu6Nr=y;}}Uf z$SNKoWxT@S|ALymWNrS-KbLPk!a#~ByOuDU&7YJS0DA>xs%nH`s&K8h!DGCW#{@qC zs_E}4Fe*WRwwPK?3JnCGVB~TtWo}S>42vCB50;#?$1A5$8c6pjNl%V*l!_GzHhK8D z@M`+LT3N4p8*cd_<75aQj#e+n8O)pqh&PZJ%n&^uiN11S2pGo0uNzHCVQBYA0MN~g zjC?Vh2t{~hHiYbNR7K$m%)nCCnZ`U;_=g!K$T=@f&UAP za}l?(A(4q_BL%@ju`3h=PZx9t6g-erdBGH5?CrP)TwwIa`f<8$fnX^EFmQTZsbFf4 ztn9C@q7v};lu=;fr-4XBqZvZFR+{_JTZX6_94&3jkcI3h&RH$5r9p6lUR}B~U&2%Z zea%K56Xl&@yA?F#3 zp!iyY(e@DYCft3*kn96M$KAS>A>anNtsnzt8o*tq=2t}uzkzbX&)kTY=^?fOU@PE& zkEbPvjwBC3-+|LfHT5x6C10u(wA=3vkSV z1f~sUp31QWJqXL_NsWnF2t`!OMqQ?xf^r-oF#pBF^$nY)24mkai%@DYr*gmKH-nxh+Zomp zAYvZYxR`S3@K6rRkEg`QcJAMXB|(FR4n1VrA2Ph0Gzx#yVMDEC^ zqOot-S6>YLMCD!5!$8IKiNpa-`x)@=6gneX+S)%>v$kQcbb;136pDObESvu~=P`TW zDI|NzIbtJ9JKWYTJ}!0AkwTGK(ag}Oy$}lxgR=`l4{jIJt{jI=vH2!kD>VzuHV?Ohc>VL;?bqS+Ba+BE)QsP+B z1u3kVb}-f21861i{n&pr8+ROM4(_n2GE#C#apt&ja+{r#n+QyfLN@iWzc#aHsYjiu zJv}NdT7lW(HvVB%y}YgTB)AMK2-SZ0dBE@`$zYMW&f10sR5=jO!#sb5RsIRLwOFJGubW$ex$l+zHcl>^HS zJe378R?5?y6JT3xTe}N%jdTx`LDucW9c9VGH}`Q zQVuZiM>dq6%%TX&9!q*9Wyub6&>j20UhQx9|v~@9>FKr*P5kz)bJdoJ_K-<&kZU)Ss((_j9Y!M`MHQp>lD4S>N?eEr z4IQ++b~50;;7}NN+Pp)cNh!GRleRIN;KhQ4<4ypZ(`xgka+#aKv6!cG1G9@-wa94q z&0A}{;xc#h51m|=5@Y&sft9*E9qt^J!M~c}?b#>?)vJq>ByO^8NiiFjQ7#d~F15$U@#}#mxB;q$;Z=Ec?LGU)H5U8=X zJD9#OSpJQ5C~3b9;flRl_i7PqXPC{&bX{wD!8sIijHxjbxiOJx;!vZ^;K$hiRwbY| zK8YXXi4Ed|G97gN5zXjVVge@5FUdtfa^db$&kYjnqNfj%RKduGG0;19*}&XrAaIUj zI~Ux6x<}=;H(bV=FaSfkFyD~pmR7_xUbgmuN!9_*yi%QGx+sU-*Fsm|KaUnCKk!A{ znC2vv6yN6>I;F>KIcFV+9c(9pVUCL-$@1GZBe>~EN&Gj~tNZPhSwJVu)u9(FHZ@Rm zlL_W`%;i5`-QTtTBton#%3RqW8@7grwi>O3T#%h&P^W30nD?Njzw})meMAQn3wPVo zI*D3{g=DVU#-%5KpXLbB&u@|!EMiI2eGKhKpGotnayb-n1Ve-4k%0~cnNs?%+5e(& zyA+O1e(YH)C`xCMxLP`y~u=h#wbC_ck$yN9UhrSt5=@QaEhTiLv&H2p;=tlHeu%BD}2tvDkkqW zlnJ^>U~XWlza%OGEgHcwm5JrQTP5N*sJ6g>qp2N}WwxM+dsgHAtN)KNxH1Z2Z*D84$` zH&rKAozwoz=QCyQ(!%(FI#@%}MS#%^nn&V+8TpXGRu2TMMVta!&=^8$xW!9_+(=1tN+g(cW*pes9nD;_{OYt%@w%MHY@|nxd`DU1lPnJti#c zIrgRNHuBZ+=RB)PWV+OF6NQ=0{4j_}+FM@@q1 zc}>Jp(gN@ca!(DrvihWjvWK1B-~hb^KB6MLWLg~D{s*me1I-M=+&j&dVaLjaK}!t~ zSU+-IgBlsK4b`D>C^|9})*K7B4Bx-r0|?mOC0VN@0ZPoI59%>yu9i+U$C8Ca_~dKu zhSfS(FP9NGqnn+wTnOT|fYb{*G@4`3u4HB@UHsXt@dWN2Wd1|{iypT zDpNK zZWc6HIG{3>lR;TEX-q6EVS_jT&#wKY4kQabGC)@teNl2LaGnQ_Oih;`mY>?ifs zH3O|?co?Rb-}kirb^}$1*%*uH6E&K8R&byZ5B!osK!A;WneWw;gSYjuA}Dz68F(N}#()3P zYk|xAt^cblwGai+!!cXlO*WsuvS0IVQIPglPHaq|g40-gJGZ}PeE;LHLmqYiI&DyP zR*owBcDJ)JVJ~4D0H6*9P^THG)9D!NpkrUA++_<-C2>2pYj)3che!hBj5Qgs?TK$P zUt_uM;pO@bM2E3Asbkn-lQ*4&mfr=t8H@^{y`bLe>8ArwG(%z{0y<-{ z7Rj#nkq~&P2$$yYQrjQ^V%iht%gTN5gq)G=v z=XPdL-BL(gGE*iCv|mB(S%4;zFIGrcD3D9(MznwXO@9CP>GHoUf#djsG2~bovyD!M z+oy(xu@x`cfRvO^UVZBs#E3E(-qxw@`nJYi(jBn{2M-^t%m?5%?LfFrO%k1F&%vYN zk~$g0j>g}cNgNTl+B`9W>Wshg9Aco&kc>74ZBQO+BAsvJ;1NX41KZZaLGzi#dhJ>m zxHmB|iSvlffjE=F4V)^!9xfAQYy}mlM7M=%lC#A}@?usXRfpBR7-N!?TrypNT++~4 zQ2hOwU*f)zG`_Q*>d9b?s=rlW(g=|l;+`;g9|cVXY>HPGQZiguoWl>hK$D8#=1(?{ zA-T6bfXoQbB0_hkBA15*O2Au1^0>pHf@w6HGjr_n{gmysFph*$lWt8_OQe>=u@qd366!IiQQ&3YKNR8A02q0lpk|DJ7%QRME8?#IpBl$3z%26kXbM=T{z31nG@ml$G9 zr^xsTRX6l`E@L(qC2Wumq{#&`Xq%yOC~)iP*5}Ph&L{VT6QUSaaMMGVhQO%0IU9|a z7nsMcB{ytaW#BEV!7jkxM>xe5t{P;aAa3%QjP+xR?qU2!wGC`3y6luHx*w! zx%1eU)|TSU4dPQsKVsxsg%TDJ-;pj*%(LA~GZnsU85-J9cm-n@s^MR8Z?vF^O90Ib z)r$R9d{szEXc-UZ0!$+IwrVh~dy7`FguuusJ5T>gRYCCYR3(i7`F}Kb<`oxaV(J1X zYvw9dn>#J?mfj7eIWut7E`pG#{AwmU!|s=Q4_3ML423MZP8?>X91)D(X&e0em)^Ah zgY)RSz`*ULe3bbhOU{7Z6OZB*pQbQ?oJx3ruOaK9fT5M>F%*q748lQ_+70@?X@PvS zKYUy+49qgcttx@i<9qA}-wPWU}e!)4Zbtjaw4`T^zkR~hT83sT7+yuODJ zCUM(x#!SXaZkIM^a03{q#3VZ{uf&nUtDlCC4-+S*ywCx7yE9`q>kvF#FyC)Vi@ZBZ z;j+VNkSkWBCdMF%g&>I@BV#s`W@_iqt+{5?W`pRe*@_P^> z*q(|U9Tms-S?X>(V6;2P3n<+yASgX;pW}&TQ8I$&GP{uX{0vf$Z^*tb^FVp&&Lq-u zfl+DTK8)rXSr7u#9IQFn48HZ45LiBf+g!FqutEkA%Ht|p`AeAeiA2SVGWH2b0Q4jC z{`y+RcOJcbKXE)$hJgno4Y$wn*s^Q$`r*$Nin0`cZABZH7?4)+qVz){!@iL<$A7R6 zVeG|}k;*#m=c!rOD)b8Htk-#a&W;4bX3L|T_+EW8G57$6OGjU~kCEG;Y06+z1(=;L z>}dJz@4)i?#-aCv(6Z18?y%khD3~U8a{CT+!(>uM<|w)pdvL^%jjZvuM>|nO{K|xl z`cu?QBp1oyK1JXzX|mpNiGgK``6u+bn@UbQmyCeNjM5^VmK(^DW#0*fvgb1rc`4&b z{Ibp{(LqC5244U}y^@qEWHX@eKA#kmzvAuzk;&az$ho!x(^q4RxaphG_f)nuzj$t> z(6NWW;O2e4g*gjr$$H{$Ff^J=cNRlT=Fzb>IM0=5WMj@#kGhAgr+ zwvjh8Tc{IKtHjU7vi9wxFpc6! zYZ!N7ZHo;opcs1cvW91|%9&lHJZaM6n|85)5r1d#03TFqSimg11Th?p1UAf; zsJ0ElmnqGgzF^B`E$NAZy@5@uhN*60VTWp?5!~Rlv~h*gut=o+FTtV{q(UvDQ72c| zHygnyPId3g)wP5#MK-?BG0-I}(adPyqf-=R#)vtSSTEuZ%Ao_FT+ZuEoyhyi$cuU0 zxUu{2i={WC_e5h&_!y?hH{LvL`iT8M_k%2oCG1aO%uXAJ1*U@-v2D@v?fxB+5A5M?VEpfJO{k(lTm*os_a`&&hh$XBL zKPPEr&S`t5j&4clVAXqpYyLCEBF5T3V39FCPqSlmpww;Bi^IyXQ)8KK_h}eIeJ$98+rr@ z3cDRmGGyBKo8zq)e1atRgnz3R$IvEv2n#oEA>rRV$_kt4U=HnAPB{9y{es~I7W0)p z2t{T`#)D|(7``ZiawSIO7{heIBH9_4@vJ7g&S>Nx{TOF*LDiUrM9(GDBgN+kogqEE zUG=D$94wU_txTATpj?iC1Q3mIzRnRDa0N66voA#^5#-*1W;xA@2HyAI+wj1%0`Sa%%s4JD4<*)NeP4$0hCDV7#IPYd2-55pa9nYT;iK1 zy0zjggl9FmSQ(bNA8Xr#BF8aQhUd^3FnR*I9&^K~rE^EO=ZcAtZuU-*!!}$n`yp5+ zFpe@OUt^xrgYRclKJ-5q-Dd`4@Jf>XxPmR@P1JCD07Mo+Q1Wst!keT+3NqIW#@BAJ z5sJFzOa8@WdwVdE9dS@MdZhMPn(R3N>!tSz>QGK^HHG~AEtRI;w*JEQWd7>&X7Lxd|0|3H6;X_-{F?=wY{$;1YX&jvim zJGJ}RuSs54P!9z?7z^^`Xpb73x$X^t-nR3X83k65rKNMgl76Pq9Ef@p%LEEL=aHBV zu=c_nC^S5RtyK)zIILx?;`>}uI2K@}xG|yNf3MdYZkG?*R1L!ipGr?E)UkdpOVN^t zMSDxAY(qbBy^Jj6>SB6Kpvtpz3t4SwoN50nX8kGtk&EkZ>?L!FKxs&)>t`3>Jx&P& z5QUzI?2YCryZ76manmC=iZ4CE>C@4v;khq|99=^S)v+JM_G+{pDy{&02 zKG*lQOy~Pq1*7)RA`S6F*D!=}vtZC19Er0l0rnVgBOLk%i-33U^HJrel7q}6SbitMCWTSW0;vG@UxheWW!8_Z&~nnB(P3;D$pSyYp*$zGVGT?;it zK&eJ^+bM3nA?@^P!Y0;m0OMOcyfQdTB6c67ZsH#=Ny(&_0d7mjGx761mG7moGu4p; zo`%JQp*HI;i9s+Z<5$gg|D)=NkBa4Z*L!%~RsTl-zVe2|7JS3c?Ujnm7{it;%jhBG zqrRp&kLCuhR4^m+V>%MS4>0p0R(?{&$VZ74A&?B=Zj{k$K+|VJev?1Q;bEldAn|E>e58M7w9CWhcEM0EB4JrnT`H z5ERVJkFm~GTcx#4OyXSoDZU+j@)wjvA_wOxyWE@8Fo8Sc^Q9QsM#`<;0F_ zd}*}d8M5V!Z)hfHUb4O?WZXCSZ1fbx#~4uQjc#cIVyp12jKi>fDi@uIV< z2sAPS!R_ypCCOPE$48%ah~*a?m5 z2nd$4NbnvTLo(S&e;RKVus7Zu!lMM>@}7TmPc$TpUHDAn`PIApLQ<|%8{K-=kx&kn z^day{q+{H1>#=x@V<$(1sMWgbDdCr51`azDd5TtayP ztDe)2=K?ZUzT{eQtz{?Zye&c9Rzsu4M>KIkm6IACp)dPr7*;EKAt(SS7X3ZNl-BI1 zt$R$%$NZNtIq3@>-_pPcN5W~Y{#aT5Jxa{j6X_blI`tCnu9Uq(m1-IzE{(+@Aei+s zOMwlU*izEe`|aman?A9B@{!|Gr)%vJ37}>?32Ca6IZy)t~E^)%U5`Rm+}L_ zrN)EIddr*%%g?eXeZ2~P|HgW6>KHk6xha%L)&K|Z^_~l2szzW??|2Usse{m5Hd-&T z1}Teu(rAP`pNGRH#AI13}_f*7=ir??nXaFW|G(;F6munJ9*X3+InbSHS-~ykBj*7Mi`YZmy&*ifh6vhQ{%wlBqSo1*t z(;UO4Y4SsHh??VQH5jy+!KJa59d~D0g4YI_VJT4s1plJ z-x|6j*Oq9ACyTr~%{4bj?KRJk56-=(|4JVhNJxF2L1~eYTde@ZqiwFItC+q{p zmYpkkmPz?>`l)^Jt_0u-@MimxaiD920pt(NA^)Mqfh9*v6n97}F}%fA*at8IVFaHi z8e=R4G^trLk7XsG|Gh4W*$X~1#&v~=TVV0SEef9KsUF$*8E>t9jD$hbH9Fyl0>!%= z|ECx-+gN#YKDDDixI~DsJ<)6IV1|k2asl$C>FE$H&18o*Cb6C4h3P*eB+^nXVaF`O zF-Sj>B1CHgP^^|QUH-$^Fe_Xw)h-Te~cuZfjb72@d1&5 zCNi=}7S%?cSOx^A!!_2ugZyR)Wuokx3^5IKvbc(k7u?je(fvjh6w#@6uKjKp%{cqoH@kF`Y-U>?3aZoC21E&S-+!p@!qI zRoVgNW?|({_NVb@hOk*U+#qhMd{wpm-02iXCLTxQ(iZ}aNNlI*nL$P61s~QT7yb=0 z_Bh}x8i+&#hG9k2MpOWUnkq~_#?3fSI!fH0UG~EC)LAv-D}hpL5aFT$i?TyUK0>H~ zIIkY4>e>)>2!mV97I!Aj=nGzx0+7pjfjY3~sw;r)ZBqPB+wYJ(nw?kOb=hj9?U)Y9 z9US=(x(oO8d|*>r)hxje%%h)=4UWurLg0Rjvu|P`7*(1Iu090BU#*g7g(+mZ6I>>! z(4-_#OnPLC=mXDqyCaxancmB;5AJlP!G6cxF^(6K^0h>-16lRUpG}lwX7pv+a35gg zW9@cKP{yGd(EaN};oZ`MnTW1v|H689Ebhfp^u0zk8c-cwO4@CN<2W=~7JCk!G+aa$ z^O;uc6uJLEh)IHx+0WN5Wrd;!%+5Wk7^5MISF9RLNtR8e`6tLH3fHr=!L3I#WXAMk zE2lfFsfYMChv?&WkgEBuQ`uZME9u59*K{#u`Zmd(m5`R)4~XBR5-wt&Ct8*AUcU#OHHOc+)LR((GfzoD`v0avVZJhoJPs&q{rqO2<8y<0Z}KT z;r+ajR#RO~71zUv7a$(po3MwbRGgufO^Ktlu$@hfnlTdRkG#Gh{&7R z9ZZgMjBoBe1SYz&-+R&&t~_>vhC|+DFQ%q4%@jzXglMi4Dwa{Pvzb_-<3N=1SnGoV zm-gTqHx4B70M$`;QVFM}gca>FmEUjQ=hfG+2Q>|~4iU!JHnFL-IUbK;ZpbsOfw~){ z5Zu3K@%k?gkWn}jxM?rm@Cpr(ur0J-8jwjt$mTnj>NOc!c^uT8TXtMt&R$k3JT@a4 zh=O**$#|Wpbj<|xJoZRB$>c#Mq|xx*b;NbVL)v@n>1UBm^#I)^#0tMwa(SQ(Q$Sa7 zc8K6^^YUhI{H?dL_{Y5UCQ{o&O$-dQbnHNV;PNY+Ge&>Z*{z!0ujN)kjf%4`Wf5t< zJ>3dt{L=z#peoFMndkKgehI(S7^D2co^!_yWaW4XWfDX>jX!FJcj_2Q-Ml~6B z2~BJDK=d#NU702!pp}&OdM>Hk6rliX!g!4wiqFfwY&{=mWqIXV)2Py1CwK|C{rH;| zlf=C#fX|xK0tPVQk%wCRK?uziND&%*kfc!(GOQ#Q?s~1}>og~Vs6$t~#vW3wVDnNg zx;l}J`C-91&w+uhezsn=Y+Bjp2OWg&oct(i<7vB20X)yHZUt~%{?4hnH*dK*jWQDf z?YKLSgAid)rf+AsFg`xUE5k2PMG*(}j5F=>dpBaO7BdnCfy!E|Z{Aa?j$_F!v1$#&UDM8 zuie8U6*|U6Z`f`>&T{a(vgJmwl(JjHxK2fZgYv4TI0_8RB`tlAzn-)%%`H>@|KPMi zVO78b_&6u}Crm+Fg9J^*}FlzhAN~%6sDj_Vpm=#Ww%b?AAXoX{t-EM?l*G2!4(>yq^yW&Rg>W|&_Von&gL$1 zHa`hg3(uumvpp$U;7ax*XQL3CvL+nXUwb*>#;Q<|!a!PC%t&<12z=T=@SO8UfMspHt z&WIW#g`!=>GUuqz0R3p{5`txU0bj}Sn3zyW#$6uRpr-@}HDP42hQUBzW~7hL6YSqU zn2as;7@lxiwVcdE}(UCfp8vA-Cm<8IoYmb&dl<{9tMbiG+CPc z7~=Jr4UXnUXf2cDL6q7b7Tm+pw;Au)NO-X^Qme}8yHQ~sZO z33qXutAN0gjKj

J~eQNXql;dX9@vN(e^0-uv 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 fb|HFd>-(d#hfjRp3na|CF13h(QY8rF zBxPD#oROWGx5ZIQ`nIp@jIPAi)!-1wv6f-GifQZ5i55)`P)RFlf`|kOIq!9!fbIPM z``g*yIDRDOJkR~y_jO;_bw9lQPn$NzMx{hC3={japZ@(X7)Jgp`u|8JerJ4>xQ=0e z6Z+ZTZ+PCo-r?o%|M10k|1vCA-~G*hT|D|~-qzOg-ZNAG+5YR6cmJ2Q<;Tk(yF0$y z_R5}r-@C5tiuKhin+u9}UD+&hX)0}FruIF&U_{&hr z)tikT;yE(dYU`zvT1S>{$B>|CfBF_AOU`BYi==;Y=t`6uwBTJ{%u6IB2ASZqdtHI@a{@8Y!7XnTzT?B zLOZV;*@4fI*3Y z2P-MA->KNC2&Dwd1e>|kuikC;D2*wBc_q!_dsq>L^agmOp6H4g!}eA~d8=WWzl5GG z=zA4kdNMk=lKvlGAESNWp`7|Gy{Yi*Ev)uKtGSK-`_H$IiGN6su_yY!!g9wCp0&@# zV>FmuN_sVMoE8#aTQ2Ag>6+NO)&Au{=V*y=#Dr%~!CIVCXLN^uy-a%i?s4&^4I5R6 z$K9!DITwAum)FTPvB9`-$gG(u{WsP@a~|I!)215A@ge+E;bp-83i;X+0^9M@mcBLD zqwtOE`4hphJ==xTCYMs1nsaGn_$54`N^XtC@+~XqScW}Xi8a>Aox=FTa^a}i!-fuq zUoH79>A&&5zL78aTGoo4kH><^M|E zycJ6_6)O#AZ)rZslD-9B7w6oXBt4@C|3X?tkMhy3?%FT6D(ox$f8{G%zD>ru7Sf|0 zIBrZ0>=bI-{;uLP|7PCBvN~!HTkk= z)QSgk^FIF)Pi$SR-xa(t^|oK}4K=3b@P3{)4-}0$x=!G^vGXy`0h{y2p`c`?p|`^s#B)W1Q8h%uQ|kv?@^EdKKX>9k&uhNV6*Z2!Aaayhwiug7XKg%f5QGR?E$7vL*fA2#jI^j|}eaOd|8o(?b9_ST2C03#%s z7CCpPw9POi2ruE^sfIP@r@tUGqB+K+sEhZzXw^l_qes{I&hZ;rA0GJ++9-pb{#n%( z?uciwkrEZ<6r`@fV`8K(wk{_7&x&R8bXl5Qt7uCM{3ui#T!Bp;^QY}pbmB-0Tcl&C ze{?iHsLd8S%&x&dq({`PKpY|Xj*0CptU66?##v25%uqr>p29|CALkSOGlg@~9;x3F z>)QEhxhFOl>+G|cGZe;I1|>y{sG44$J$>mhb#t+am8Pv&_6&-+;!&|XTc(d+a<;$2 z?35uJJ}hs=7SMm@YnQRzroBwI%AV`r6!eal3C9teS;I?^Vh!1Xo)StZ`zOt`PKyk(Ej5{^(Bb0$Ju18&u3a+Z4?C9bbwKxZG~(ZI{t z(E<9>?Emt~Eo?BZ1SuBZJJzrHi(bxA#ΠzdZt*nu5S-FsX+1V-tKS=$w76u375=~Q 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/division.png b/libraries/path-bool/visual-tests/real-02/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..89e8590d2a53a47841361aa0dcab2200d6a79337 GIT binary patch literal 101983 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 Wj&zToWa0n)>#~*qa^RnHw)}sAiv@Q8 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-02/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/real-02/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..6b8e9716f9d4884f0e8a77b372a0367121f7e1f4 GIT binary patch literal 125044 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 z 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/exclusion.png b/libraries/path-bool/visual-tests/real-02/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..7367ca962a04210dad0476498f8a8aaeb4af03ab GIT binary patch literal 125046 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

6&j2r1!?y4Z!a7&>xuoLK!26cC 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

%&2(YBSoLlD~B~|&1Q0yGT{L5vC;%cdbSY1 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�K~cq9 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

dw24 zevx&@K$_*$?Mb`yoTHy+ef>_f5?MLgff6E=C`Q^iz zt+2jaxrjZ8oJ@MPzC3edH^#n)gJ0g(vC}c?K)*C4k(C%V)knTGC8Lgi?67=kO2$q{ zWKF&_C0|A*qXC~CseKvGjb#a=3-kX|B|4^eE \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/fracture.png b/libraries/path-bool/visual-tests/real-02/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..fdcf238f23c0d6fcdb1bb81914b19db225582a11 GIT binary patch literal 127807 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

XnuAf^>XF8628JB;e?D`MGS86hX_Y){A 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 RfB)_I?|u95->lsF{{mW!nic>6 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-02/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/real-02/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..4add67a2774f2cd2f268cc2fd7f489d6d824b2f3 GIT binary patch literal 91851 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 a`~IbG>dz*xP2)dbTX@e`_J3*h \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/intersection.png b/libraries/path-bool/visual-tests/real-02/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..5a9b9b90fe248df87fa9726c224dace41d73c705 GIT binary patch literal 91840 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 Df4 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 LzIEu4RnPt}$=I>d literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-02/test-results/union-ours.png b/libraries/path-bool/visual-tests/real-02/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..0517f9207b1027e193c67ea3cbbae4578b86422c GIT binary patch literal 55549 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-02/test-results/union.png b/libraries/path-bool/visual-tests/real-02/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..0517f9207b1027e193c67ea3cbbae4578b86422c GIT binary patch literal 55549 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/real-03/test-results/difference-ours.svg new file mode 100644 index 0000000000..baec7207bf --- /dev/null +++ b/libraries/path-bool/visual-tests/real-03/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/difference.png b/libraries/path-bool/visual-tests/real-03/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..96604fba31a7932fb07321da7b963333c58eb5d8 GIT binary patch literal 2970 zcmZuze^3+o70+g6QDA}5Lm(j1>-CQg9^4&2RUqe`H=e~2+lr|L5<1S6LxiBTkVwcT zG8OfDIMa@%BfZek@f>v^b~sJEEbLl6X{DH69gK*wiw?meURF{}qG7*%yE5ZB(-~lg z1nA_kW(*SGKFKVf@nKPu=hB$A99mznA;wci|T2?)_hOuCE_;%u!rD zmP68cLQS8c!G24RJCzg}i5I+8^9=R?*=>Y2)}ZH4hn-_lqAJwDJFVR0IdnJ?6~ZAc zTZt$5Fl~&Xjz4X+`HpyfV=Y#OfXI4?tQAZP1;RM1$C;}YXho(NTo+F#3*WLG#xJ8W z2TA7(wl6?O!?Y*3*l@7)N5(js} zg^eJSpETt+&7QV$%C6>bdZiDcZ%v1%pGsA#VbYN^Qw$8`2^DNTPA9>+yDd@W@3Z0+TF9m8EG#Hz}GS z28mFk{c0{;F_`8$hAKss;jBkl+D&~?4fK-0G7z4JJ0wyPX5!8iRd9`>9m-M_zkzMV z9U~OY5v9?g2K!YRnLN}wP$*O<5cZplr+0CPUjrkMDLzb(HpfC1(tD5r$|!&`_AP^6 zL65?W{~}=d4*IJs2GH>DaSNFbp%e!hd7~+k0vMGAR@Wv&Yx|+K$7`W8ru+-TD2Fht z6KZ6PCE`$512XsO_*P40*wGmZzF5QeOS4f2WY`PI@2;`c8VO+x8iJt39gtjuSTB<_ z58je%$Z$%UkS731P&g5_3|V`W+B6`z$EUs-RP?}b_Jg90vgOUAdfYKz2_nJCph*C_ zt_6TM^5k}+^g~p4G_H=K|NAa{YGOw0P$W{621a2j2`&DS-mve${+VxPiYYLl_K85)E@BLm&xz50sD`_w=Mu&$|_aF`-Yz zCoNV7HmJH2wZs;ullxbZbA%(bkDV5;k7A_50K#hw_Z$q_q#;vqATg+Aaen4X*jn7V zZbZcEU|`5e}xn7O+)yb4B$^PQtU^AM$vrM99= zvWiM}wA?d!n~!RfGX|p)=Uc2EObfD@-9`wdz-eZrLbDK?5eJ@di_I3Qi#xfq#Z(UH zDBFtpN0|LW zs8fDoqO&%f!4F^urlF>%Ugh8k>I;YT`nvag?zRQSC3Sn zq-^Zo4OBvr@WuVAmSu)C-fh$_(Eu`c!P`KXAhLt%9?r%bxGC?#a0RLmRlFn2OaT{Q zHin^g@KK|^g}(Pk>RD_5EI?g`eaD6-BO+XB9*@)F_=2T z5O(kZZ^S?EWryJaT;;_EPb8BVodht^K+#nG%;nkT(Em!@4WzqLj++Y6`u2F?J+`;% z88{!L`cbC>uUgU-*wX_N=b0;nSQt?BRt^~%?XaE+FhD6k4sJ5HmaPpqHVIqYRq)<* z@XwkaoX%^?(kzsN{rT_3NSB+W%XQ6ToFWJALj_A+Nrr#5Vnfy-)^d3^m2HzI5&dzX zK&X_ftpXY+fU?TB`#+pKQYfbJm6jyiLY#1&UE!LczOJ--$9@;BPJz9rb}XtiDwJ4b zlX|d%?+gb&WcPyGr)VU!U|0JGjLC1)4eO+hV=x+4iXHZ;W=R3#v00_#ZP&G=q02K= zH!$|sfT;MQJwZt12dtHsXIm{c43z#COEi&-lOXQ$l2o`~&;MJG>qe-fJw%3*E^NxO zmEeZe{6&~(b;g5psBA(NI=hSKh=Dwm|GGw@%ZZu=UEn_3wkp~lpFXV~>Sew1lF(m_ zLu&4@!|IwrCmBLJBRg|oH8`QP12Dd|5Ft5DwfH!*?>Y0R2t=X`>{%o2iHqw=d0@|h zvV%R~iJ=CuZ5z~e9`>CFV;OP9f6CIPy~9dcNEdh>w;HtI4EeCp^cL%2$N6f~9rkwu zw5LExK0_)7+6!Nn`G*~&J literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/division-ours.png b/libraries/path-bool/visual-tests/real-03/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2954654578658404f2d7c6589b7425acd6c28b GIT binary patch literal 3168 zcmZu!3rt(*6}}H_C&UJ(ls5$0EbTN3hK5%g*G{Trv?EH|wG^co8;MnjI$$UYTnEGT z4N~*kK-1LF25O>CDOw{iT9i1E4ZcZ9yfr0W5>Xc%@Wp9N)j+w%3AVxb?p%{?oiqu2 zZTvsZ`Of!!=Wz1P17(ufv{(c|ByYUF_jm9df#1?iLU^ry=fg(`B7WhGy?fpv&_xkpZ@swZw5asuN`i1U4Hsg{|Dol-lWq+v zl~@benqi{Bcu$L)F;WtaW1Y$;Hq^rzdxfekgqArUGEWI2X~71@Ou6U2$XpMir zR$wiGbDh(I&h%)&wz<%112agu(a6~gk)7F*`Su3pqQNOF73vEin&wE|cmG|hdm7I! zTHP{9#*A}HlSH4yP9t_hk5HagdYe0Jfs7P<%wnTGkG;p|hu{CYf=fEV=~U^#7nw_F zH<~5U7dG{Csbj(`$-(VR9FtMGu&iy(iQ=Ka7e1UkjrkPzc62}@OJVlV?Rb_XW8UU) zA~rl+(3JE^Q0jB?M?*PAZdEwqJvO%ncMGD6>+q!svge?nGnK$bz7MtMGNtTYx{DIE z+|c;1&&1x3UEu3j+?2zLBm17>yVNwfp1^f<<7z;N?lL%pvwhrqws`#x)=tmJOud*2 zFlH`MB7c@PIam*n4b1IZ-pDUp#F5WN+O3xui^SedDbgR`2|Gi-V9E_P{CVTOa#SmU z0!)XUECmTt1HXK}}_?lv@aY%4FV+aJ$3Kqxoz#t--BH>1c_tC-SjlEaseo|XH(ah1cCpj6)@Qo71<1!|<6w06W8uAvb|99p z~!j@S8|SBhUAGkZ8HA$0m%vZwn5H zd|C6QY!zLO1L3E__BDjDP$zSEK%pEpk)^c;=E#-nVf!kt?g3%v@%cy5rzoh2tUVj4 z1qQrL`)VOD=>*wdhYZB)OY)mTj~}Jm z@U4|VwL5fG%cKUV1C_oL4qQnD=)n+#c|I9<6%T}aP9gf3>=WS%f%S0#eChNmZi*1M zWWUn)9$klBJv4~!|)v*)3D={)7ex^2%uO`0Je zB-mKvIVD2Xz{$#WEvU5Ie;DG88eY>BPq0MuhN(ki zab}_PyJ*DKbi3aK5g#$M30o-<>K4GFY2}eg+rl-lSA}E&bKhtQe#V5LY!+k;8e8Pa zSQ=5vx|F`RXf=3hMdi8+t;vVxPVaebj5P5-pJgZ+HTfAT_r+DacpHy_Pm-eoRb{n0k9X}MuyN&7sah4wZT;A>SRO~Gcvcd@zZZw79PalHQ z@0H{6*z-(T(EZ3n^`f19xAIUEt}l|NVMLCh*Q@I&Vw;#oCI#BdLEL`zNAj52drCS- z4mwbk@XE)xB0?gcbyzjFQHvXj1rB&LMi4@^`528Fs% z23Ux5JMl&JaIk}k;W=^$I1=yulB-vx5xF(k>;RW37ZIt9>FR>k(2L6Z$n==|v9cd5 zh8Hk3mO>;z%{48P-0y9G;hWT-xT~G%L>BX|@nMU>;dLLso~R9%(Wa&wRj5rYgV|)T z9U`RfQM(N0@5wXO%-e=|w3R=+1nvBURK#S68U@`b?_n^W{X>hJ@J+-kY<8qBxQ)3; zRq4(+APBBBW@L-?a!pJym1#Fr53jmCmnbtPwia^hV8yc)VvHTfDm;`{93O4MXASL6r37B;7c;Pm2hDddm zzy7A}j>g}w>YIOj7fK7$2-Lq*3jJ~f*%mK5!KGNBL8^g{j=5BzpIWl8tQPqOpxfPz zUJR3lwa~G0moA8GwH7;|)pY4pQqX~JG>KbVz<|kcRCkb{f`yP2Gyv~ZOs^P#DPdjV z!0xcaKP?+{dS4y|9QY^-BB!BS-3xaV~1#jKMaf+0nb&TY!gtf~66(YqP`b3oqMcVO@EYc \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/division.png b/libraries/path-bool/visual-tests/real-03/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..05dc971368b9e5e2d557c38911832bd53696c93a GIT binary patch literal 3158 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 Y?N)8K531o`2HESc?Ag`#lJSH80Zl%c4FCWD literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/real-03/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..ea085d1f67 --- /dev/null +++ b/libraries/path-bool/visual-tests/real-03/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/exclusion.png b/libraries/path-bool/visual-tests/real-03/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..8b8692f6b7e06a1b00067af97497677a84cf6e6e GIT binary patch literal 3161 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 Y?N)8K531o`2HESc?Ag`#lJSH80Zl%c4FCWD literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..1bab8f7d9eb19f2cdeceb8900f6b011a9502e7e6 GIT binary patch literal 3153 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.svg new file mode 100644 index 0000000000..a954d81e0e --- /dev/null +++ b/libraries/path-bool/visual-tests/real-03/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/fracture.png b/libraries/path-bool/visual-tests/real-03/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c0eb7f05748199a39aecdc4dd6e4212531b379 GIT binary patch literal 3143 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/real-03/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/real-03/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..2b735ef6342a15f508920ee81b28bb69b904faf8 GIT binary patch literal 1706 zcmZWqeM}Q)81HfR%7Bh;lYxjOnk8mpC@Nre73T+I%BE9+PJvQm3`2zSvALsVw&%xm zQz2P0abk+mI1Pl>Xb>33daw-^7&g9W(ji5Ud-t6B-;(>v`##U_eSXi! z@4owNTZTL=HcTRs$hUmFc_+ND!>tY_;F+IQF)5J{P41V#w-Di9J=*Z3e-vZAR2`v=(40%q)ki_`>`?neI@LDO-WkOWF~zuQAmHD_ zl#51qzLJ2ftuVZ4SBoJ7OQ2s(=MFqwf*dMz`A z2e=92FG|5IGw+$3nUr+o9S=Glw@@=7p8CSI1f2p%xdDeWk<+tp*UhDJYej<*HK%)Z zoF|Mlu+6hxpPj0ExLXfaEGUJ>NOy0SND8 z3*`*a)fXBQ*iOg>viS(liT+ZlvKtw)gqbQ8dlS+bhkF)6KDv1CjNUrhB|1J-1Jy!2 zk{}g8Bm?iAMd_OUO_tnQbgBH9B=V%vWRW9_y{GxhcRGYD0`F8qB~z$RV0`%Pc=-cxg9_X z;yK86ifyjQ5&}@^d?1t-28(J4CjQ$#GcCglq;v|C2^e&;xLCukzn6iTrS$X)PK%kv z)wv8~iFLGP7MyA=MFc zhfK^s%ftJCCkOs>T6ND&XkbUEP?ENlb2G*9_~CF!nHsjLimanope$^`co$GAC{aJl zVVap@z-w`j?S^i4gzCQZ$$6NgUQ0vB;aK(UY_!M&oD&4Jk?*e&151Ixykh=PX(R#F zRN;IILJGRfE;`=pwfJ5;zC))#bMfdH*_9R^JZPzdbuvjiw|&aZ^p_1bGn<0wM0dcL z#O-2Cc=fy7Z%n!EdBfORwv{S``CY&i1W@>+HJvGtR6mp$1_`{M4KtIky^nX_gw0(H z-)t!$lmpr5?z$M5@dagZB*D3PM3J`~gl?kAQajd&K0UmUT$DI0RfhaCh4ABrrhV++ z#UC<9sWsX;1B{cMTG|~)?q^Lwg!vDuh=U9l2c_&nldyD1s*K2cbfXsg z^*nl^a8AOk5W0oxo`8QS&wuBo=#1p~_vB4`N3T+?*u1(3$Vv)oU94-XBS5;6Kx2+l zGXE0z(%W7>)Nj(s&SyJC?zK}MW~OW~kyGgFP=^AgMv7_}LnZ;CA{+E$4Eo4EPzkMa zHxuuz+NP318N}gU{aP(}@3Ek>QZyD(wQ(}&SCi=WhOT~mTF-WA>~%yq$JTTvmt7bKrCTAK5>G}qMnIh|tpPaI`F&zlG{enIbDn>g zN#xv`{z-{r0IfTTI%-7Sg<9&Z?w7HFls_`J+Of3rs9vF+%l#kN2!Q2SpX9JPpz?aq da=|bXj|sK6E4zl#=kO1bY)Rj?*|t%C \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/intersection.png b/libraries/path-bool/visual-tests/real-03/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..2b735ef6342a15f508920ee81b28bb69b904faf8 GIT binary patch literal 1706 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/real-03/test-results/union.png b/libraries/path-bool/visual-tests/real-03/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..f3940d086a2f233b62eb6f810f2e39fbba7e204f GIT binary patch literal 2210 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 Md8%^ao#qSw0DJ==SpWb4 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-01/test-results/difference-ours.svg new file mode 100644 index 0000000000..ba43c78501 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-01/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/difference.png b/libraries/path-bool/visual-tests/simple-01/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..ac890941ea04d3d4c7a80a04665148417723ebfb GIT binary patch literal 1018 zcmYLIe@q)?7{2!4AcGeEuy#_Y&L2x;4V@bWvQ>1#RK#pzaD)_rWFf2;D3eGJDBRtM z0mZq$24>TCX4#KqfmObO~2`^gPhS0XyKL#cl?NjAo+Ibb@ zQxS@YoKOhLyN?K+hgle;Sb3ucKP(<|0UO$cu6T)T&q$~Y)_~UdhdH}B3s=^ekDDj> z_6gq7tmfM}8?Iy&b|v%+$(K?sQH5RAna@p=m$1ew#19NMlgFFkYq@pyVrUTj2O96Q z@^TG#kBmwsFl-TA1YxLKQ@C@)lHqW)41NOoP`erigol5dx#`)lw?Pw1qmeCo5Kqly z;nB0;G)nu3Zy79*hht+q26#mHE7wS~SRlC{`hg|x4Bwy_OzUaUE9@oWvElHu0IadF}*ALY*EJ4Ej9JWI={QnJ*S`(}^XQiqGe!C{v;| zY2m&gKTWmNIySFU>vX!ibhkrGh||}FW0K}+)CK-$tVXSh{PnNLuyPH5F4Z!8NSkde z;5NWu&+q-E@C{JJZoLWWP{PM7^hr>+N-D_|*H<*eRzcsi8m_vZlxOg5j-ZX)#yWy) z;aM>5K9^f(EWlxtOz&gb)ck(V)ib&+o4G3XX5wa!)~2m^M?(E%H1tz7Frkc($SH(> zAhd5JG)e7!S|mZ@#X`7@Sba>yMX`U@2l9AJs;{Q!=DNGn1s+0O6ctLuo!ej#(avXW zFM^`69VJ{9SQ0_MQ%BBl2aJy@NK?W|c}KX(p3$hRBS3Izf_DF)z7eG_|tt^>fkfN|t%x?Jwwj#Y-*4>jDxZ0X9r@}u<)`Q1|k?w?Z2pQ1af998< zZpZB8idQtI-OaL>g1Wf7BUmq~Xg!i=9Ru0+Lr==sgN~CDSEn?@XoI}pz;4{bN0&l` z_Cjm2jbvp5S42amV{?kSB*U$+scWt}uG9M@N_OK86@8G_t7%r3Elj$L#kk~~Z7dZ! z!?lnZah-KeH12uO52|C|2Qv7MRQMVc#z`xd<}P6mazhCx8q@cgxm#4m`MG~v@e32t zaxN;pQxAOtOYv(Ly<$gg%65H=(Oec+Zwt|PgG6be=&DKVrG!_W)84p@G(=vPb{eTV Md8%^ao#qSw0DJ==SpWb4 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-01/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..256bbdf246d087d8dcb5eda85dde4457a86bcf47 GIT binary patch literal 1288 zcmXX`aZD3u6u;}i6~O|UbZ9ATZZk_Pqf99YrCGkUCom3``(xDd&&E~ z_kO?k*}IMPyj(#p006w*Z`ZxY+KSB1f!VW(lk5e6EYI$`9s3b*nSd_6+&uJal<9hW z?zfv)jyD_{?eP8h|7t&L9(u=O-n`|-$4Ra2$cb-yx2k3>E9&?iq6M_L`2}$4O+N1C zqr4>!%A@nI&!A-!_^lqy!%-9?6-=$2=z?0I`_t&^iT=eJY9G-S+f$JFQ;{`Cg-H8o zqGL3nI#`tGAiI!!oTtyHe01uCv@*ie^N$M2al;_2FrgQ5*eOV~QyUAL^p%u^_H9s% zc{s9S@&`kNg@Aj?saYaSl?8Z?0;Z}j9I2rW5GNsh5#^_+{%t46UB)+vR>%S^typ@H zv@;Kh93u8Y7B@P8!+rq*8=p$3&Ge%}sl@~PQ|l-np^6QMzs7L5bV4cS>8qI9zVH)2 z(FM}aQTJ#c>%N6hYbHmC5qb2UJbH&XM(!X|RGAo}C1SyZwS;TV7c%AKc+zX@8#&Q!zeuTG=NmT`esk9}+#f+n-ibuMy=Vi3>1x%a5kt;VAT(tLYXy>kMEvVI{PhAlC z%}nifx0TL>PpAxm;A#61Q;Yv%rK`k3kghuV(1ziQx@|oog_#kcy!+Ei50Ew$4FFm; z;lvTMm+kvsw3oewt|W~cMv)5Y$sw|3$CR$>*y*Gv?j>fZvI4O4SwG$l3r0vGiT58sDILEwf!v;Y_O|@z!8#I#dtHhj8rs9&ocQioLUsyV#*7QC;q|N-TiGJBV*;P=!Q$`$BzE&H zlYA6fIzG7UeaXPNX{K|3y6f@^UVNUJze-1Th0yBsnvd(|8~a*vW$c6l NcJFMg8-4R&_kZW9r0f6y literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/division-ours.svg b/libraries/path-bool/visual-tests/simple-01/test-results/division-ours.svg new file mode 100644 index 0000000000..43885c29e5 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-01/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/division.png b/libraries/path-bool/visual-tests/simple-01/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..256bbdf246d087d8dcb5eda85dde4457a86bcf47 GIT binary patch literal 1288 zcmXX`aZD3u6u;}i6~O|UbZ9ATZZk_Pqf99YrCGkUCom3``(xDd&&E~ z_kO?k*}IMPyj(#p006w*Z`ZxY+KSB1f!VW(lk5e6EYI$`9s3b*nSd_6+&uJal<9hW z?zfv)jyD_{?eP8h|7t&L9(u=O-n`|-$4Ra2$cb-yx2k3>E9&?iq6M_L`2}$4O+N1C zqr4>!%A@nI&!A-!_^lqy!%-9?6-=$2=z?0I`_t&^iT=eJY9G-S+f$JFQ;{`Cg-H8o zqGL3nI#`tGAiI!!oTtyHe01uCv@*ie^N$M2al;_2FrgQ5*eOV~QyUAL^p%u^_H9s% zc{s9S@&`kNg@Aj?saYaSl?8Z?0;Z}j9I2rW5GNsh5#^_+{%t46UB)+vR>%S^typ@H zv@;Kh93u8Y7B@P8!+rq*8=p$3&Ge%}sl@~PQ|l-np^6QMzs7L5bV4cS>8qI9zVH)2 z(FM}aQTJ#c>%N6hYbHmC5qb2UJbH&XM(!X|RGAo}C1SyZwS;TV7c%AKc+zX@8#&Q!zeuTG=NmT`esk9}+#f+n-ibuMy=Vi3>1x%a5kt;VAT(tLYXy>kMEvVI{PhAlC z%}nifx0TL>PpAxm;A#61Q;Yv%rK`k3kghuV(1ziQx@|oog_#kcy!+Ei50Ew$4FFm; z;lvTMm+kvsw3oewt|W~cMv)5Y$sw|3$CR$>*y*Gv?j>fZvI4O4SwG$l3r0vGiT58sDILEwf!v;Y_O|@z!8#I#dtHhj8rs9&ocQioLUsyV#*7QC;q|N-TiGJBV*;P=!Q$`$BzE&H zlYA6fIzG7UeaXPNX{K|3y6f@^UVNUJze-1Th0yBsnvd(|8~a*vW$c6l NcJFMg8-4R&_kZW9r0f6y literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..e657efded82114dd753417485d0c3270d04807ad GIT binary patch literal 1684 zcmYLKe^3)=8qQ{AV+o1)M;Z;`M|;;!XW#;@CPW+4+S=p1bZYCgrIa*b#<7Sg2FeJV zBe1(V6)HXWOXyH9x#^AN4-b}+L9it3#~qxVreQ}qHcD)=r$cfrVm9WKP1)Prhj*RM z?2p;~-tYb1_xYaZ`96OAwHj5vE?*{-sSf_`z+w2V+Pt@7@L4O*_Q+&d{lNqK-^7tM zfd2W{b%Xy%=Q{5F@vCn}KC~SfYmQ$2|JC$~Z}9iD@3~!1-pjU69sk1@JGnd`vSjLNI#qvA%HbTp;%YFhMMkQ~4q!^EE$Y*r^U z@lO@jdUx|iG5UmKnw49NxJfbvOJG<7e;p+GinuDUEobUYrp)|XpcD0K`Ivb1rzS2q zH}oQKqBMH%wVj1ho|7Rh3_+Fe`RrrEXRs9Ovk4#N*~hsj1s%VK)lF<)}JU z4#5eMip=L5dajFn&#+Osx2@?T7Hmwm{+Fcq%Vwf7BCLVCP~BTTn~yh-m5~a>@~QUTMe0#wGug_A z-@#TY{0o|`RitO`L|)0?CM;W~&*i*W6?<7}+2MU`3;Z_X+r1|C{ys1&R_{>;FqA1&qIzda1Etk zAX)irk$JH%anUpA#|m?o;BOsXSSyl2Wx4KqUk{*EWT03B63#FKiml zbjcm8QPP@^H%TWYouK1pJcBk+gT}+kGr~Z688o8w!mgkRqR`4+xN>`P`Zi73 zfPw!OxY4QmdMmV*O~*->!t!g-6!alyawmk*sk-%bAC~stF~g}g^eQ!!I2(bsgS20{ iJwk1gnb;?7?=?O1VE9)Z@59qZcJP(g4vf9jaO%Ip7Hh-+ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..4b7137bc9a --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-01/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-01/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..e657efded82114dd753417485d0c3270d04807ad GIT binary patch literal 1684 zcmYLKe^3)=8qQ{AV+o1)M;Z;`M|;;!XW#;@CPW+4+S=p1bZYCgrIa*b#<7Sg2FeJV zBe1(V6)HXWOXyH9x#^AN4-b}+L9it3#~qxVreQ}qHcD)=r$cfrVm9WKP1)Prhj*RM z?2p;~-tYb1_xYaZ`96OAwHj5vE?*{-sSf_`z+w2V+Pt@7@L4O*_Q+&d{lNqK-^7tM zfd2W{b%Xy%=Q{5F@vCn}KC~SfYmQ$2|JC$~Z}9iD@3~!1-pjU69sk1@JGnd`vSjLNI#qvA%HbTp;%YFhMMkQ~4q!^EE$Y*r^U z@lO@jdUx|iG5UmKnw49NxJfbvOJG<7e;p+GinuDUEobUYrp)|XpcD0K`Ivb1rzS2q zH}oQKqBMH%wVj1ho|7Rh3_+Fe`RrrEXRs9Ovk4#N*~hsj1s%VK)lF<)}JU z4#5eMip=L5dajFn&#+Osx2@?T7Hmwm{+Fcq%Vwf7BCLVCP~BTTn~yh-m5~a>@~QUTMe0#wGug_A z-@#TY{0o|`RitO`L|)0?CM;W~&*i*W6?<7}+2MU`3;Z_X+r1|C{ys1&R_{>;FqA1&qIzda1Etk zAX)irk$JH%anUpA#|m?o;BOsXSSyl2Wx4KqUk{*EWT03B63#FKiml zbjcm8QPP@^H%TWYouK1pJcBk+gT}+kGr~Z688o8w!mgkRqR`4+xN>`P`Zi73 zfPw!OxY4QmdMmV*O~*->!t!g-6!alyawmk*sk-%bAC~stF~g}g^eQ!!I2(bsgS20{ iJwk1gnb;?7?=?O1VE9)Z@59qZcJP(g4vf9jaO%Ip7Hh-+ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9c942b7fa7569e8b900c1a117f91c77e7d1288 GIT binary patch literal 1676 zcmX|?eM}qY9mmhUU?Y+UF4y5V27n$O&#eoJ7FKJqu5jESI$U<=rq%308MK(bV z=VG{XyeWxk$sb!`BaK}p%BqTCSF$q0Fx-O%b=BZlX%#uV#5~xltqg+CaWkLetG$P4 znshHZ-ShIh@Avol-sNAv-At5JmS7l09DVD^Z_)kbt+QByu6l9yB8ExcIeO&K2}<+` z;Gh1eb@gB@0DbS0z;VWO$JLU%C4cu=) zNBUUl);l9?Fe|A}H{a#vjqT-p7wn~EEMb*#%R+8n{%n%4%FRkR&0LX?qx3aaGE>QS zaxXrox7KkQVflG-A|!57z*|fbmB5B-xqBeN)vOZ!(!zmDiDUzJ67=ELaxNkSo_50N z*^ys@Hr#`6JoebB{LFSLc?KNEJwbYil|(8j$;b~H?iFGEIjtuoiR3D{WnfIZ5;twE zq-yT0ny?-y9K4kHJ_340LK(LtETiGC0#ncYI2bpimJF$HKsP)Da$JoX7c}b1IqzPn zQ>HA`!s%>yO3o{x&vq(XpKF8~+v)t-6V69BY%x!fzkW-hFy;z+Pr_NSjEBWnwnhG| zni*9MNcleaIb#_f!K$R%vislt@pVJ09X`a4ORE+JH>Ye@MCT`?YaoFqk>EL8CtV46 zg}s~;w52cXG^7@>WRdnSdR zI6_%y5Q|j8Tb8@l1Kb0KsTMbl7O2vgJ32$_=uDC;*ZcC8lgfHGo{!=`KO=)RFf+<8_t4=t4@oeKAuhN5>PLQcrZVBPZ zk5%N=MDiwbRED~tg(U<{Xnl_%^;ih=JKM!o+x&Hf{o?yYGYU9nA${lO$I@-FZzrSU zmRa&@hvlX2dAseiYJ9ci;2rN})dD?JEsFeA<&+^gjv3xGqgG5B#QmDk!&?*4v1}+a zYe=;MyJa>%+L65q7ZEHyj4RGYa`+VZIlO^%whTXjivtS2g2_k<8oj?xFUSfO1e(mv zzY81GE487++$ZSS+48ARblw&-q%uN+-wDr5M!ifX-u9nwwYQH;L+jHvc2Z95foRJU z`B=Y(t7U8%ansfEV3Mn0UvjcBV8Ye&xW5`%7NBU@I1!y@Jd&ZbI%kAuCpPu~yFFnl zr#fK|#kgXt$!2C3=rzxGh*k+@;*In@v=4rXUTnd2+gEmcf%{+Jx`cJ1n0pA`nTS>( z`1{h=x0a%YFJeANd9WLHgD2WQF&9N@k-toD-K`gj&822FcLt1uId6X%cNcW$-zTMf zS8YxSy`s6n%?8c~f`UR@jKb-LO`7&(9)O&A@kK;tEyIT`ozQ~~lsro-qnqFBrhWz+ z^nMMu1X|Lj%raQ#YLbW${l5H@CI$a@DNYwD6T0xT*g3bD*rNRTd{@4b`do_Zijdo{ z4Jar@`^fDXDP?l*nq`AVobFL^OVAb9MS8c=>fB-ms}82Gb0)8NW)JmMCHb@&6RC-X zY$j`jry0*$Ym=1!efxa+u#oGo<4$4$r1aCD!kgJJ8en9S@zz>VHR4BI5!HQZ#9f5H zEcE>nFyaB*NZb*QI#@}qXbNQ^ORRj|gMtc?MK;XQsQhZeUvK`9zSe>12&=}dLa{~< z#n4nWp_G!NDsoVjm)!r(;gX;pGUlJ~&A)j6h1K8H>>fpb8SLmAZy#|VZolwf_da2u literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.svg new file mode 100644 index 0000000000..0302c569e3 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-01/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-01/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9c942b7fa7569e8b900c1a117f91c77e7d1288 GIT binary patch literal 1676 zcmX|?eM}qY9mmhUU?Y+UF4y5V27n$O&#eoJ7FKJqu5jESI$U<=rq%308MK(bV z=VG{XyeWxk$sb!`BaK}p%BqTCSF$q0Fx-O%b=BZlX%#uV#5~xltqg+CaWkLetG$P4 znshHZ-ShIh@Avol-sNAv-At5JmS7l09DVD^Z_)kbt+QByu6l9yB8ExcIeO&K2}<+` z;Gh1eb@gB@0DbS0z;VWO$JLU%C4cu=) zNBUUl);l9?Fe|A}H{a#vjqT-p7wn~EEMb*#%R+8n{%n%4%FRkR&0LX?qx3aaGE>QS zaxXrox7KkQVflG-A|!57z*|fbmB5B-xqBeN)vOZ!(!zmDiDUzJ67=ELaxNkSo_50N z*^ys@Hr#`6JoebB{LFSLc?KNEJwbYil|(8j$;b~H?iFGEIjtuoiR3D{WnfIZ5;twE zq-yT0ny?-y9K4kHJ_340LK(LtETiGC0#ncYI2bpimJF$HKsP)Da$JoX7c}b1IqzPn zQ>HA`!s%>yO3o{x&vq(XpKF8~+v)t-6V69BY%x!fzkW-hFy;z+Pr_NSjEBWnwnhG| zni*9MNcleaIb#_f!K$R%vislt@pVJ09X`a4ORE+JH>Ye@MCT`?YaoFqk>EL8CtV46 zg}s~;w52cXG^7@>WRdnSdR zI6_%y5Q|j8Tb8@l1Kb0KsTMbl7O2vgJ32$_=uDC;*ZcC8lgfHGo{!=`KO=)RFf+<8_t4=t4@oeKAuhN5>PLQcrZVBPZ zk5%N=MDiwbRED~tg(U<{Xnl_%^;ih=JKM!o+x&Hf{o?yYGYU9nA${lO$I@-FZzrSU zmRa&@hvlX2dAseiYJ9ci;2rN})dD?JEsFeA<&+^gjv3xGqgG5B#QmDk!&?*4v1}+a zYe=;MyJa>%+L65q7ZEHyj4RGYa`+VZIlO^%whTXjivtS2g2_k<8oj?xFUSfO1e(mv zzY81GE487++$ZSS+48ARblw&-q%uN+-wDr5M!ifX-u9nwwYQH;L+jHvc2Z95foRJU z`B=Y(t7U8%ansfEV3Mn0UvjcBV8Ye&xW5`%7NBU@I1!y@Jd&ZbI%kAuCpPu~yFFnl zr#fK|#kgXt$!2C3=rzxGh*k+@;*In@v=4rXUTnd2+gEmcf%{+Jx`cJ1n0pA`nTS>( z`1{h=x0a%YFJeANd9WLHgD2WQF&9N@k-toD-K`gj&822FcLt1uId6X%cNcW$-zTMf zS8YxSy`s6n%?8c~f`UR@jKb-LO`7&(9)O&A@kK;tEyIT`ozQ~~lsro-qnqFBrhWz+ z^nMMu1X|Lj%raQ#YLbW${l5H@CI$a@DNYwD6T0xT*g3bD*rNRTd{@4b`do_Zijdo{ z4Jar@`^fDXDP?l*nq`AVobFL^OVAb9MS8c=>fB-ms}82Gb0)8NW)JmMCHb@&6RC-X zY$j`jry0*$Ym=1!efxa+u#oGo<4$4$r1aCD!kgJJ8en9S@zz>VHR4BI5!HQZ#9f5H zEcE>nFyaB*NZb*QI#@}qXbNQ^ORRj|gMtc?MK;XQsQhZeUvK`9zSe>12&=}dLa{~< z#n4nWp_G!NDsoVjm)!r(;gX;pGUlJ~&A)j6h1K8H>>fpb8SLmAZy#|VZolwf_da2u literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..b492a239a7aa8b3f317dde27a50e38ca91084fe5 GIT binary patch literal 885 zcmZvbVN4Te7{{-7-Ibx$eZk7Ll(Fo?Vwctk?TD5(ZcN8WWNs|P46h`{Aa)4MOs}K% zdYC{Kw0^4HU@2yXjSs`iWLfLla>oQU!i6+ME7|B3NXG|}UfX2$mdo852!gatA2ogo&iyZ<3^DCR9dbXS3yeOftV~F`BU$pj zeM;=O$X|V^oNJXY-Ykr5j8hR9A2kIK3s=E#6{L0(=8?Z2GR8IM{ z!47>U=I2r40>k$g->sfwcIJDEC)xgL#D@{x@~J9~xo`Oc{}-N_cciD6Y(nxr$i}}{ zh!#j5oHwf&ZpV?VYa;=il)5tG;$prdoUOMQW`?)wh0h`WwYW|3;G>I%*(FL-9BZ);6EhR>GoYD-UsH6J2X&lV<*ie!@<^ws2QQV|A=D_n z2?Xe0=cjs+upGGf;&ksva4VpAoI+GbMr97yx#I_-kLN$`_dESvp0N|R>&$;{N rcqrDMUt)U@V97rF66ja3PO6*!^M2Oe`g#g{C#dPeV~w}o?-=+WbZ5bT literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.svg new file mode 100644 index 0000000000..ea433c565c --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-01/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-01/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..b492a239a7aa8b3f317dde27a50e38ca91084fe5 GIT binary patch literal 885 zcmZvbVN4Te7{{-7-Ibx$eZk7Ll(Fo?Vwctk?TD5(ZcN8WWNs|P46h`{Aa)4MOs}K% zdYC{Kw0^4HU@2yXjSs`iWLfLla>oQU!i6+ME7|B3NXG|}UfX2$mdo852!gatA2ogo&iyZ<3^DCR9dbXS3yeOftV~F`BU$pj zeM;=O$X|V^oNJXY-Ykr5j8hR9A2kIK3s=E#6{L0(=8?Z2GR8IM{ z!47>U=I2r40>k$g->sfwcIJDEC)xgL#D@{x@~J9~xo`Oc{}-N_cciD6Y(nxr$i}}{ zh!#j5oHwf&ZpV?VYa;=il)5tG;$prdoUOMQW`?)wh0h`WwYW|3;G>I%*(FL-9BZ);6EhR>GoYD-UsH6J2X&lV<*ie!@<^ws2QQV|A=D_n z2?Xe0=cjs+upGGf;&ksva4VpAoI+GbMr97yx#I_-kLN$`_dESvp0N|R>&$;{N rcqrDMUt)U@V97rF66ja3PO6*!^M2Oe`g#g{C#dPeV~w}o?-=+WbZ5bT literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/union-ours.png b/libraries/path-bool/visual-tests/simple-01/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..742a9dbcbf3812c42a4e49f803c55cf4f94dac38 GIT binary patch literal 1221 zcmXX`e@qi+81D7tV9K@3t;3W8I<~lsrtOeohYilng*g|Q%akyrC1FjiO$B7qfI zWKpNnzt$$OQU4MDSfC^X!BDu52x7$2O@|dR?F~Yk1!fPr%~sC4eT^pHkL3NnH{bI< z&+~p4zC2WpZ&q%WNF?}y&-Q->cU@{`U~sLJCeKMEn=T#Lzwc`T`5T~D->GulUK5>9 zf4p<=`l*9;{f>njuZHbXkLz=9PtmTopC+4!Pqg-)+hd>euGc@i52_KbUm?fx?kO0* zg2Y#)B+knQW=QoUGuufAq^2A~Czg%^Cu&BY+$A$7FGdX9VPK7aAy1vzSwn-0u=OV# z{Rw+*cEZ6r2^oX8%eV!8W4mC9;q8hB6+1>h+VC87!nEF!u{RSH!Pm8NC54w6Tp_0QR^idW~kVyh)1|Z!Zx`&qx0W0Vl%0 z#XaVO5btTic9X875SBGYrN_gm=cO-m3fVzoBCFDv zOK@gH>lZUUkg33W5UfZ>jXO8_in&U;^yD(>3S*(1SJfDIN(nm^jF3G+Oi&V8?y+L7 zCKYs0!x6G~3D!RiAW8ZD!Pkus8ii=9jUC;0Z0!iJH>DxQ3Q#gqMN(ICHB!u8yUta*ybw^tlvlYl7_#AX(mGEN*|?-=diyf!+#F7xPn_NjoXOl zA8>tFm-xU=O~J_GQP!!U$GgO&&}B__v-6OrCdv~bZ`AZyb`v+kSQ!R|CjH{EQR9}0 zrspTvHVqxZ9xao-o=DZ%Z;T{~`~K*pV^UMMSd}Mza@V4L!$^8@-rom_^xP6vBo2cC ziBL)i&9oaUOJ@h^l*r;)vwx5;rV=R^?(-|~f*v^IYB%h?@$T%*wfvW&pXtb)uy$?I-E6{|7+sy1P$^+YWZz#;l)-tu c*vc0my5Dq>pZ~oIzbDCoPY> \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-01/test-results/union.png b/libraries/path-bool/visual-tests/simple-01/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..de9f76215993d7ec5ced006cc1f447826d4ffde7 GIT binary patch literal 1223 zcmXw(aZD3e9LMi^awX^$hCx_cV7e_XgS3nl=&%7bER4B0w+so>77{}cFG!V5PO01# zvf$9M|7gV6k|nS#3fqM^WWd~Ja%UI#JPdaJ>(fo~Cmr*!vy!fWo4o^5o)Ct_7>Xp5CRmO14 zXdDvA+H|22v`{LRu&MYtaq|tSE<)JStXeR}e2-gt>8mX6Qwt6J+bLBx179G{?X-*p z6eSvPgNZ;1Y(U39;+FZ`dBU447hYJ782L)B6|<%DA#rk}0gR11_Hs3t8(Up-cTkdV zD-}7$eTupLbT^BK)D-Ucr-08FS5i#w03O=R;O96p>RRr%vv}4-ou052%EcF!Uxv6A zRNTSOib1INYpTbAO1izOI7j!DH7UWitQPb`%UISm1tT?$u_sruV&8u!qyA>441jDp5h)ZfJ#W7~! z&GE%XW;jd_EW-XLIcQS0-}9R3;VEhPTmu;0cl1RiM>Z#*rbH+$@b~Xr{fk`J?X<)^ zCgy5Nr}Bi=A|Kid>zgczU-^zuiQ;3DG|Yjdb0TwKM@2 z1Bg^iNoVX1yhI5+_Bdp@t;X*W4U7;s@gdjIZKpLaXZ}ami45cNuPhGXIuG=%KVt)v ze69<7nskVIaGiljma>ehcxpCI0&-+EmA}s=?G;zz)DSwsYmf`tG*qT@={yq&C$-1J z4lizmc12+-3r*9@$h_aPQ)+}1e^O$l@rn;%g{Iaq?Nd@s&h6u@pTy|q9DWwK!lj{> zc+gKjSx2({(I5CGkHYslHKn#}lq0B~xEEWGk-*HjpH-JAh2yoiqx;3p^9H^WndF+V zjdwtQEC>&fP)oHA%_eL``izCrJ0#{JygLFfXE_p^v^&CG!G$gs*P){@Ml5u#S(BPfBkROtC~m3qU#$L|F8e9p&K1Md_t)&d*6u&&9a!U}Dh&Qx)t~*((}CnPoTmH} YlsFNr!5i0|4vYf^Pgg&ebxsLQ0P`rwG5`Po literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-02/test-results/difference-ours.svg new file mode 100644 index 0000000000..50e183e817 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-02/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/difference.png b/libraries/path-bool/visual-tests/simple-02/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..270ee6d5d9afbd78943a04237707e3edf1ee7321 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fcx~cIEGX(zCFOaKqYe8v5)`D z-}Rn2v%JVVd0p=9ZBUfiGjE#L`gumiO7DJ_ZO^J&)^44BRli|B6OV*J!hr@xW;VQx z9UL|@#AO-xnEWr6VV678-S=Q7UiDBj(BPfBkROtC~m3qU#$L|F8e9p&K1Md_t)&d*6u&&9a!U}Dh&Qx)t~*((}CnPoTmH} YlsFNr!5i0|4vYf^Pgg&ebxsLQ0P`rwG5`Po literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-02/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..7113613f234a34d105baa5eee73e3c19ff3015ff GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fi!DwaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_WzTfyaQzt!LiD_kZKRwt8WfH%!NW z%zvEPu>YBBa|1gw|1;O`1rOvNH2kmFeIWkxB4?P>;bvg^YWK(f_OeKpu3rxXfYHR@ M>FVdQ&MBb@00RWw;s5{u literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/division-ours.svg b/libraries/path-bool/visual-tests/simple-02/test-results/division-ours.svg new file mode 100644 index 0000000000..53e494468b --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-02/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/division.png b/libraries/path-bool/visual-tests/simple-02/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..7113613f234a34d105baa5eee73e3c19ff3015ff GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fi!DwaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_WzTfyaQzt!LiD_kZKRwt8WfH%!NW z%zvEPu>YBBa|1gw|1;O`1rOvNH2kmFeIWkxB4?P>;bvg^YWK(f_OeKpu3rxXfYHR@ M>FVdQ&MBb@00RWw;s5{u literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..603dd159075e7319db812d74b6fdce884513a626 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fz)hnaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_RnHsq$o`({yr)YUJ};_lV_=?9e>0w0|L}i}-BasZW9K~;`f&Zv@v6)R zH@q2-|D67pZ@TRIKezvwez^7L_^;dtTlYy-#Db9dBb%4hy0`U4bz{+tLZr(Xl`T&Ix+LX>Nu_+S^pl(vd7I5@7>YEb%*QD zsr`ovA8h?8--z9p5KHzSe9!Qxo~5aNZgivfpYtEh|8vCkC0MgQ&XfQ~CWEJ|pUXO@ GgeCy!LGWS# literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..68dc5af54e --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-02/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-02/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..603dd159075e7319db812d74b6fdce884513a626 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fz)hnaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_RnHsq$o`({yr)YUJ};_lV_=?9e>0w0|L}i}-BasZW9K~;`f&Zv@v6)R zH@q2-|D67pZ@TRIKezvwez^7L_^;dtTlYy-#Db9dBb%4hy0`U4bz{+tLZr(Xl`T&Ix+LX>Nu_+S^pl(vd7I5@7>YEb%*QD zsr`ovA8h?8--z9p5KHzSe9!Qxo~5aNZgivfpYtEh|8vCkC0MgQ&XfQ~CWEJ|pUXO@ GgeCy!LGWS# literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/simple-02/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..3c07d90af67f5b648a6096350fbb76c80f65d99e GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fz)hnaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_WzTfyaQ&X!mD8p(o#}oi$;6ZJFV&uDkMaM-Z^HhGzI)b{e8Bs&{A>OO z&I-*37XLThf4J%K)cWS>Y<08$N2oW%K3Ls&{aL)49=gGJ?8G58Gp@bwm@Z#_7*omGu@gZD-p4 zX?=lAMeaZM1!&$wu`2(Ab;A$&#s~4w!yX9zFaC4Zo+&Xup=hQd`(I#WGI+ZBxvX \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-02/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..d5aa7c7ee1e958a47d1786f046b82b028e210641 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fz)wsaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{Ms(!VYyICH`15}6ssDK)|H>DC+Alrz|J@aT z-n%`mH`n^_WzTfyaQ&X!mD8p(o#}oi$;6ZJFV&uDkMaM-Z^HhGzI)b{e8Bs&{Ok3N z-UkjhO8=bxmv6f4`ajZpOg`NHbG$0|L3sl|v)!!vnLB#0TY$%IbgA?z*?+0q3y{f?}~k}{pa~Y+y7b|6$T#?;!N~;Ypxz{ \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-02/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0e2938b7dc2e0b0e773b9462db991f71729f4e GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FzR`_IEGX(zCFOaKqYe8v5)`D z-}Rn2v%JVVd0p=9ZBUfiGjE#L`gumiO7DJ_ZO^J&)^44Bb^WLP(o_H6UGe9=+tYe; zt^d0Nf8Oss^*=A%Y_7ccmv6e_0fuMw;)RmP8t|Bf zTk8B5t35C5xGQr1xi4Uv-jKZiZ1=eX`Je5XL@P2M9Nd!;C-p7~$&NThU{KxtK1g+B}brpC%tpP>|gQu&X%Q~loCIGgB&I14d literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/union-ours.svg b/libraries/path-bool/visual-tests/simple-02/test-results/union-ours.svg new file mode 100644 index 0000000000..317afdb39a --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-02/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-02/test-results/union.png b/libraries/path-bool/visual-tests/simple-02/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa39f6fd0354a4366b5715a28b6739b34f076c4 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FxGjxIEGX(zCFOaKqYe8v5)`D z-}Rn2v%JVVd0p=9ZBUfiGjE#L`gumiO7DJ_ZO^J&)^44BRli|B6OV*J!hr@xW;VQx z9UL|@#AO-xnEWr6VV678-S=Q7UiDBj%Y_7ccmv6e_0fuMw;)RmP8t|Bf zTk8B5t35C5xGQr1xi4Uv-jKZiZ1=eX`Je5XL@P2M9Nd!;C-p7~$&NThU{KxtK1g+B}brpC%tpP>|gQu&X%Q~loCIGgB&I14d literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.png b/libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..2b60e27ad7ebf38c4657fe18e1accfb7ff741a4d GIT binary patch literal 1629 zcmY*ae@qi+81D7-Ad~}>i6{lh)PEe4>VQ(Tvt!dRM&dTMj2TPY#1Mi_S372H#r1j^ zhcjFGk2AuGnPDv1uuQ^m>EV4)6B*K{3N@3+fEO+fz z4X`38mMbrb9biY}V;ws7J8}>PmQIu_RHs|xV#GrRFx5W;WI$+(bj}IY=uzp!bgPxY zEWKq$k_n!qFk8D@i%M|1AfLMh>JX3FWhDJb;)Mby_~y%xbL; z%xLZjBbK6=PD2r2O#>~e$LT^~V9%1>uuR{w$2CpzJIfL%4P~4Zs3R{k=+R2f&wEU5 zuyMZ-UIwjM?e21JJ5aaZ3J4tdec_4FC&e)xJD@6xZDBuPM_trwARs8kd1X%?;kt~m{ zY~rhiMSNcJhi`e0S;7vHW5MGKZET0NKN!fL4@Yla|}7+=k4*nyv>9OOQd`Ktyt zwhd0N?}|mude$khA!?kiI@lM|7slEkdJS^#f*{~y@Z*HjfnCgI&st&Q>rO>FeI$kL zT>BwHTx!wd*)d(>QFdZ(eJ;#CLQd27Y-m3&Kh(4jOXFWk>4D*Of)ZZC%P98l*#s>&pjX|hk9r!b31_B&JJV*Z2? zD`nXXRW!|epD(Ukl{6}F`o=M+M_a@(BBCp~-13EW>`>glF*fEbVAp|=z)9aTk`svC zHNsaVr6-8~D0WfA%D5Xqi{uC6&VpD8I&aw9zQLq|b|X~%S1b3{LBxwgia=`m=uXVCY7ubz z3$Avk&Q!{s8PmOKtbb48K?mor~{{^`P^Pm zm$}c6B|h_}q=FDnnHSpKUdCMqZ==j*#-~k{tl~7P%Csaew-8$ZA9gE*6J*($&6lhS R_}UQE@7}ZP-0Pao{{b7xNAv&y literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.svg new file mode 100644 index 0000000000..65bd904139 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-03/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/difference.png b/libraries/path-bool/visual-tests/simple-03/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..2b60e27ad7ebf38c4657fe18e1accfb7ff741a4d GIT binary patch literal 1629 zcmY*ae@qi+81D7-Ad~}>i6{lh)PEe4>VQ(Tvt!dRM&dTMj2TPY#1Mi_S372H#r1j^ zhcjFGk2AuGnPDv1uuQ^m>EV4)6B*K{3N@3+fEO+fz z4X`38mMbrb9biY}V;ws7J8}>PmQIu_RHs|xV#GrRFx5W;WI$+(bj}IY=uzp!bgPxY zEWKq$k_n!qFk8D@i%M|1AfLMh>JX3FWhDJb;)Mby_~y%xbL; z%xLZjBbK6=PD2r2O#>~e$LT^~V9%1>uuR{w$2CpzJIfL%4P~4Zs3R{k=+R2f&wEU5 zuyMZ-UIwjM?e21JJ5aaZ3J4tdec_4FC&e)xJD@6xZDBuPM_trwARs8kd1X%?;kt~m{ zY~rhiMSNcJhi`e0S;7vHW5MGKZET0NKN!fL4@Yla|}7+=k4*nyv>9OOQd`Ktyt zwhd0N?}|mude$khA!?kiI@lM|7slEkdJS^#f*{~y@Z*HjfnCgI&st&Q>rO>FeI$kL zT>BwHTx!wd*)d(>QFdZ(eJ;#CLQd27Y-m3&Kh(4jOXFWk>4D*Of)ZZC%P98l*#s>&pjX|hk9r!b31_B&JJV*Z2? zD`nXXRW!|epD(Ukl{6}F`o=M+M_a@(BBCp~-13EW>`>glF*fEbVAp|=z)9aTk`svC zHNsaVr6-8~D0WfA%D5Xqi{uC6&VpD8I&aw9zQLq|b|X~%S1b3{LBxwgia=`m=uXVCY7ubz z3$Avk&Q!{s8PmOKtbb48K?mor~{{^`P^Pm zm$}c6B|h_}q=FDnnHSpKUdCMqZ==j*#-~k{tl~7P%Csaew-8$ZA9gE*6J*($&6lhS R_}UQE@7}ZP-0Pao{{b7xNAv&y literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-03/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1f54068188d0c4c54b2680b15cf2a783e6e6fe GIT binary patch literal 1894 zcmY*ae@qj16u;ilD**}^fg&xfKjt5X(c+v?q#Hxnm}9|7rfw-*n~*5VI$BXET4_(? zPd573tT7DC7Dkpi4rQ)2)ZDSyVOFuz%@xGhvjmv4;1vd5XKnXwLBOQfOWwQhd++=C zeBOI!J}NKe$7RGp5X9g1en|y*=R}@Z6#Vao1E(N}m%Xi|=wm%+l0q)N_UXA_{o%%` zFK^!JI#5>Ktr_`w;kWOL_H!Q)?Qd*aI~8cK?mzt9se;;j1Uzn(!K~0^L8UO7ke;Ka zOdJGFP-L?E>8kKwCFfzDxu8tWY{XnV}mc>d8`W(TFidaCF{CUX1=$-$JBIuWa(JFyHlo0hxw3D^vf zsj6EqXXYp#lH^rQtfKOe!bHW1tX4$AH>7CWCVq;yCo=BJxjd>C>GKY^A|&7bXBk3r zMH6S0xRn#S0KWAk*jI)(Hpj4PwIvIL-$3_QUS56>^5$pqnuYrBEogJREmf~!*8dK( zTj_5DF8@8M3ofJ6S!+=eit*T5>2o1{6_oXkf*7Uh5ZSDn-qmdrv+L-h;KX5+xl2iR zE7EOWIYX#kqqgiVRu~8HLR8FUKA|NnF&j&7P&ilOyU~WG@)(y#%DhLdH;ISF$lKB$ zM{gzkFm`CHX@yQk|m@HX}=^_+Hi1Xkq>jC0s+UwoNc7Wris?BbtX!km>b|%e7fr zUq7Yd3GBL*oRveM3|KD8;RZSmNHu?RsFCBBKW@P zr^SqCZKpJHV{VWMRNG^B0G*$0ts%myx=qUDQS3Pa@fD%s&_2Llkof< zqjKg5)l%>9AOy!ZEou49D4zLjypY##v;&oKWc~`OOgCHxMTA|L)^EHNwZ5nT3IvKz zvCMND8chxk020!eyE1MtS1Xc738|dB3t|ie%ted@BvMjkWC{?3u6;5JKZqM`7>}9u z0791BZXIpKE#51Uu8`j*lln;)u$U~(8-RV(u8ubRS?7Gih8s>B`$j1VWIj6Yu89JC z(kbTIGkTn)_$8S|lnR+AGeeJBs$g+~Z<;7(h(;0U`*doP$pr|xGYNMfisO6pQJ}&$ zV`f}<3&;jz|8<(&+>n^9rj@2A_-I63O1y*fFoxB1>jf8~XTKbxgh(NLNq=WGcJSp9 z584WBhMXQ}F91qScV6=nxDqGF!N7 z_GYgLY39mr&#cvBk+9;~)!llL7S^NTKs%=mYKKKg;c2Is8v${mglPlfbCX-rx5dg)`ZKcQ{!mX~yIRUi8w^T?~p literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/division-ours.svg b/libraries/path-bool/visual-tests/simple-03/test-results/division-ours.svg new file mode 100644 index 0000000000..dcb960fb3d --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-03/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/division.png b/libraries/path-bool/visual-tests/simple-03/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae9cd658180aa4ea26365402ca157a32ee0389a GIT binary patch literal 1889 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 dYb18z=I \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-03/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..1b8e016ce5531a463e2655b1412340adba8583a9 GIT binary patch literal 2461 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-03/test-results/fracture-ours.svg new file mode 100644 index 0000000000..6016edc41c --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-03/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-03/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..c74f52b6ec9544f2540cab2c0112a02ef3178fee GIT binary patch literal 2459 zcmY*be^67|6@EX+3y?(IRtigyb)9w`Cz@!5nAM2d5nY=Z?AXpmiX@qJ7?ur?AS=8e z4KLai#V*YB57Md|`VVVosD#3>iRICE6McRcw{Bv(Sw%$U zjFVCllr(#j2{AZHNn?3}8r8;U+eix;%X|4}VigtfUA7MHEo*MHn(s2?L^tvp)y*x; zQ_6lm{OALuBi-YfqYmeED@WB|4tX3LWj_^ubPF|*86it%b_90LmA|n>)dsv5I_gW;BY2kkVI?v-P(&~{4s``?&ENS{AQ-F z{8Q@$2}-xenSJW`r}%;=9W%BsIw{wc=Fcmz zo#S=hJbIJwEN|O!NC;qaB6d}8N*<{_x!B~x^2iMiCoy$ak;2Kee+vJeE(W*=!?R0F zCspt8Q*r7L)-KMwCV5(bhR{2;Bi)#vcxOcNRLXBgKcd(39>-l|1_;WVW$cRHvCPxq zM-!-GXcgSNw&$kEAdkvTxHgXlG)TsX-Jkw+FppO8XX)bQ!|l+8%t6?sdAPijY*Opj zxMnrNCw$a`yT|Kpy|#t$Eed0U+JFwvpbX~}@f>evRGtVPN89n&x2tJzIc|ClVTR zX^U(23aTJSZC|ez7s{a*Po_|7#(@Dp@(yu5R`zey&1h=Q>KVH;8|_PwH>G@8S--!VS9r5!Wl zqa`FY<-J;rg^_l_`s^<}L9YdbP=!1sJX7-IpU4#t;4WQOXx;;Rb7kV?rfU z+ZZv)<}dcmO_vnr+`I?$9&m6AW>80&3s?z=)J+62w=8mWL@9iY1;@F_fUQF;0m%;7 zC3LkxGrwUS#NMa{nm8LPc@J~<@ZTlu3c-K)$yVt2p!TAeJRshrnzWGa;d1WB>}mV? ziUqmJ86HUDoFtVbLb%CT!7}-0KHx2w{e0HjcrHmps?v8$Kg_CumC7SOQuT<|9H?jsy)Bp z+l@7of}gdj0Qr2_1gdue;k&$%pD_t9xjLjqI>5ES_h2g?AtDd1t`3)gQot`Z@?FMs zKml$Y>T^W zx@a%P$%H^`Y^oKgl0=em+LN-=29mHYA5hm=&3Hn_Cjsr4MQl|d<3rVPi|bxDKwkT* zqU4!iO3UZ8-bH$_#KpegbV*I7HP@SJeG7_xdJ7z9!jE;zVm}eSQHf$|>xCuMEZ&G4 zm{}-~{?$)F7izLJSNbok)W_7qZ+D8=0@b9ER1Nn}rcFi&PXrizaDeY>Z+$zKd~( zS~((*Xu^c&tclBj=Stq~4Rte4q5~aaDuffillmUKhc02Ei8j(hj3!9zy0M%dq}s@4 zSyR5S9S+m1(6%aEsS!fwnjK)=lp*I$v-3Foclvbbq@#@CC+Zz;Dw=I_Rvf255!qG`gwJJK$ZNQ3?P0BW04uSO&b~#jrM-9; zqE(N-LkHe)J;~DmQi8PRzd^P9fbGt*+ktekZn8qxjfKkwx=i^tl?7H!L* zqts?dSt9l0j8N++z78<$oO>Ik@$1oM;iNaxn6Lotx)b3~mMLlG-OLfb45o?xVQ0A8 zF^UbM&AewfD1VhRIXY`yviYi|sno?l59*+=r7$dDuv@69GmF_fi6*EvbBU#jbxALo*3?lCucYOrn}ekx|=~*Gj;fMeL)c;ZRhkfH?ys vALho*xJAYmfFb3-9DL0iQEYBxC-LknVej7zKg_^O7q-8scu&tSOeg*iCON#@ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/simple-03/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..075981599b4d45bb3421f3857427376ce0f4dcb0 GIT binary patch literal 1343 zcmZuxeM}p57;by?FqDIt0A-X9XZ%ZDiyI#maLp7%Y%*kFkPU2`EQHKjN+p&PD(yiW z6E^&7T(T`-w%{~wl&~NpE!?jHn;Gi}n5`Q~dlaF6$j6oHdJU!ZcS90QOztE1@xJf# zywCH#Uw?F>6pKrXUqa!vS`g~w@q}nu@$pKWzX6bMUpw7<&mV2x zy!6Y%o1ZDq4(b+v`sX-zv9I?-Yu}NhuWp8nqo1^V*IB52Y~9XUkuz1GgK({NtpH`y zv>LJ1`WL}%Fw3)rcV3BXWX9W*nI}LS&<7SlIif&*dq8D+)mw6=0@Me1dZ9gsS*SIn z4uX>3N{s+Ab!H>`g3UU)`zhFLs+Rwjfo3t=Ct zqi+xtKZcCAV&Pm_szVfX1NFh4@nmKZ;_dg15FS(|%1%cjakyTUJtcZR57d0Sm{|(D zTJ&@)-b?Z$S9~Q*`%+vO10KlO^-LH!UmudtReg$f@uy-4S072kGc;t>WCMTj%+5M9 zV$U0z33Re#Mr@k||A9o?MDj*Cy-`T~O1^8GnML9VLq`)1^Hbiu82`i=b z78hy^xsHc-ic;@hHuuLOqucrp)^q7Ww4pN6d}EuET#hb%AKrR@)tvu&)K(GtpHIwI zKoi-`d`M+DxDr;&O=QbSEwv)$v5`3WBP!EDxnX4sxz@EMn1FA%uABnR2G{{gnC??| z(j3_uprn$RQ$;hSFwiZ+vt>^^h@hY^!IT54`LgM{y`GCRyd}-)>|uI99S5BwXI!8Z zp(dN4TdQd6n0J7Pg|0g~o&uYsL~KBdm?!JZm_1==hT4-ag_)NL!+D&1zk+5&F)0dG zfmUQsJ_#$4?r7=HEu4JR`aY~hU{KxlK#{1mE)wlQtWMFW$ezdK*FJYaJK5}-3u4G> zj|2QU(zGFfZpO&nT&4g>XR{n4BUy^Q}&Ej|V-5LQmLYAT*a<6B8Y# z^59(ObNpcjbs)=Ug(>z;>VR*4uE6Kk1&a7v1UZ(x<`EPj2O2Z7ed>BKn@lS$iEw0x zm4M`J#ouDdLy^CFkSxrUk_cCc5_Tc^J|`=MN)6L`$S9mQyV3-mY5ZdD(2JFm%dH&0 zK2XTb3HD;;DDD~P+fXDfm>|7f6yG@J9VKdrerUzuauz?e@^{zamm4s+7 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-03/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..075981599b4d45bb3421f3857427376ce0f4dcb0 GIT binary patch literal 1343 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/union-ours.svg b/libraries/path-bool/visual-tests/simple-03/test-results/union-ours.svg new file mode 100644 index 0000000000..febc3cc4a6 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-03/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-03/test-results/union.png b/libraries/path-bool/visual-tests/simple-03/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..6d79e49d2f9f0c03c8ddb1b02101b5bb959e9de3 GIT binary patch literal 1751 zcma)7ZA=qq9KY+)V^WTnOzc9DIk)T$Mty+-(#YIk&Nb1^Eg`OObTe47D=nhsI+0#6 z%H|7x>n)R%#f0$*>TIwet#@Q`EUVaL#+3?kCx&*$3a2&Lj#~D#6^GxJ^ezAY)Bp24 zzqkAT)1BL~wA?fZg0LMQSM3Jh8{+SmQ1DqJh;%{_YTZ$_?F#~az#u=pvB&b;!==`_ zGrwQ!JE+(@pq;$*?A3VMYWc)w-L!fAT*Tlw@a@l?6`Gqif!`z*ge4?}775VwS2m~^ z5=Q>d53!l@?}@!hdeNBQX7<8{NRLKLtmSOOK^^JMP>BgGr;FthYgN>e(Et|2essrB zLaQnr`g&!rd}U9(j<{6E4VvkQhC58w#TFk3Y)G_(dW!M4n4+32dEX1&;L5J&1QF{( zOql%dezM0;k13JLUmH9So;xvHo-H?JqWLNOU(qK2iP+ zN%`v+HZuK8D?Ao)_=MA`#5_U2ww$i1G6gquMZPbw5Ne4=3VhuFr%=A1uO`~|~#B8-gvT8-(z4CSQOrtVf*1e5olp`J3kiQs@NvYuL1WQk=@i(8usAZfQAj#Y2S<#Sv#4QsCHaBD zXXh(rG{{KpFQT?$rZprzqP5PB3fd(^KP$k`iFeA~t5j6rP+nNe_2RkV_qei}7n#2| z%G`jjiJnX{_w~N{6zO>uNE4lyH3Ioy(eVU%f)VCEWEyWUAx_x^cj$5s5IyU!{s;Zu`_9qDvyDEC~icxW2{5LN+Y;sN;6p1-GcRTV1|}Q6Tak#B(;Ih4vo@w@yH? zENlui0LtRIUZaH?hz2%#_QhJVn9a~~&40WiBf5tFQz~?>rd-89W6k)G7bP0;Av)nD zC2TO>=?WEQ&Ip%RMrHgYqiFUi5L%cQ5LTf2ZgCT(_F;IHZQSlG)^`UE=K)CKqSSI_ z`UFUES+atzkTXBsSt82nG^~v^=&stGCCl<&4JJ2RAC#@!pxh;6ln* z){rz%=(OBj1CI^QBu$b0m$w;sg_;5KYZsMW&lxk@1cVN#Z`?lhE;vOtw;r5xZqUr$ zxoCs8O8z^bbgBqAicLDIO~!v_6GmmAsP9mhzcv7_FxZ|(XaFE6enLH*L+}ci#_|Hy z_5?Mxh5}wi(gGZy+-G*&xyZtJ#n4P2+z!O8K-jBxdAOHk(XP;W0HBQDUAv$n=fQH5 zZ&#?W5?ePwY~T+i2AF)?5r=>Uv)O%OLdW%*J>afh#?2RI!c94z1s|h!$#`Yd^LPuR zYw-o39&8;zOJAT5uJCygoQWFX4)vt)N-nn-L{?xzxb=iOazI5DB!UF6=PKbp2SJh; z!vZhZv*S6|FQnRY!~0{4u1tQi*074uT3;RwUB1cRg6iYeK6*tGZnDk-N5$){1^NPJ zSBMSt87)e)G7(>KLXIWEXtAv{aaYbk-j%=A5%n0)@W6t0RPU@B_(0Y1FI{_jw*UYD literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.png b/libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..14936875009d3be37765796f4b3033a4816d141d GIT binary patch literal 1415 zcmXw3e@qis9KZJ3Ln;SsnToUnwwYy_u0;nFrGRrX$4nY$Hq=-PNn;AuN*xofQu=cf zr>^`Z&2XtpjAMy`8XGBFTY3ny%Q|e7&B~DWv}uV0;iOJld%Nx(bGcv1d-whI`SHHm zBi)7a3V9F&q4gi`+zY;?%(Dss?|tl4Hw1B|^*i7D1Y@eEjp7nIEXd4`K%K+oGRrNDU7w zCGX$^cq8mXshq0;L-n|CzLNYD?@X9yc)AL*nhNcp0yGbMq#%|NZ~4mKt#B<$Lfbu>MpXCvX2NB%#ZzfD;Wa5WQ$lhZ-k7+U_r&b2AP+(YuBS|NUr64?7a{ZR zQz3-z%g8vQdrFpWEqR9uSV0G#bxoCTCP92E_$5Zm3zJtApts}ni7-D|WRJau4^Xou z7#-$=3Q=mVOHA&S1T3lG`=o9avzT(Z$DQ|oH58d=|Gs-lAp#{c?XIOwF184jaYoK& z_H%-BURL;m!F|XcdwHLyTqD3*35PLC`AaZq9unp;Nzy8N%<<#H>)Ih3qF-Hk%U3+w zc2aFzW?K`*i~UC1!)svutfAIC`?SfJl_*|tvGjb4qt?I6&gYE2;s%#tuR%VIeA*ySxP=t z;KE=e4MirLGB$`)5tmIN#LDuB$p(CyAtt}cwh=(uOkBo>LM;6Sz`Bzm$-$*6f^(Nl zjt2*7kmRu@+w9ZZxDxh<`PeqHO7<*-2gu?cqK=%#L*ynAtSi47NIXA6T<6+G_*l#T z0Qld)UeW=1YzF+__~-hA0oDitiWL+9tevTzI#M*eCaD&>IXbbZFM`w{#Ff!S^x>Hx zJKUG46>s$3X;vVB408M zFenc`8kGc&(`wLiF|l4UeVkU5*e3^Y3y^Tj;61MN#ry_01GfG`rhpTC)L`_*r>wB! z=fi$ePrR-}klaK#AQ+I3y+cR$U{b$Hj9^Op<57HBGo^xS;rnB&+XcxDL^s$Nj54w4 zw~+pu6-`V+zA>N|;u6;DW7qI1Z?$d9^{gX5C!D4zK=_p=9N(P)6Zp4F96m(;m)p1; z-`Z71mP-OcG6V!~G1(9+>{&}r;i|+@V67b6A$C#D{L*4KCSOE#A&aR$;Q`DZB|0#< zg9~i>r=%aG;_I?G9+aG9QX5?Cyyrr~tEG=|nX4#AQh=2PRgAV8gy|w6^d1Z2rQ~21 zY~TuJBMWNd#rQQJOWw!$B+>yJ+BTA#scFE%q^vy~Q_<0nu~B+IDKwyoELb$*3%en= z?3oZRP5@PK)2gvuuqTh4q2_dA%|=@_oNS@n@;#aeszdQK)Hrr_p}`(=Gkz7Nn~5%{ zrV!&34fJ6^B2|&mzU67A3$atg2|JW(w&?ky=z_4=3qy;FN znP_;;J+8iR_fQ9Poq&o+9G@1VeJfqu; literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.svg new file mode 100644 index 0000000000..c2c569d120 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-04/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/difference.png b/libraries/path-bool/visual-tests/simple-04/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..14936875009d3be37765796f4b3033a4816d141d GIT binary patch literal 1415 zcmXw3e@qis9KZJ3Ln;SsnToUnwwYy_u0;nFrGRrX$4nY$Hq=-PNn;AuN*xofQu=cf zr>^`Z&2XtpjAMy`8XGBFTY3ny%Q|e7&B~DWv}uV0;iOJld%Nx(bGcv1d-whI`SHHm zBi)7a3V9F&q4gi`+zY;?%(Dss?|tl4Hw1B|^*i7D1Y@eEjp7nIEXd4`K%K+oGRrNDU7w zCGX$^cq8mXshq0;L-n|CzLNYD?@X9yc)AL*nhNcp0yGbMq#%|NZ~4mKt#B<$Lfbu>MpXCvX2NB%#ZzfD;Wa5WQ$lhZ-k7+U_r&b2AP+(YuBS|NUr64?7a{ZR zQz3-z%g8vQdrFpWEqR9uSV0G#bxoCTCP92E_$5Zm3zJtApts}ni7-D|WRJau4^Xou z7#-$=3Q=mVOHA&S1T3lG`=o9avzT(Z$DQ|oH58d=|Gs-lAp#{c?XIOwF184jaYoK& z_H%-BURL;m!F|XcdwHLyTqD3*35PLC`AaZq9unp;Nzy8N%<<#H>)Ih3qF-Hk%U3+w zc2aFzW?K`*i~UC1!)svutfAIC`?SfJl_*|tvGjb4qt?I6&gYE2;s%#tuR%VIeA*ySxP=t z;KE=e4MirLGB$`)5tmIN#LDuB$p(CyAtt}cwh=(uOkBo>LM;6Sz`Bzm$-$*6f^(Nl zjt2*7kmRu@+w9ZZxDxh<`PeqHO7<*-2gu?cqK=%#L*ynAtSi47NIXA6T<6+G_*l#T z0Qld)UeW=1YzF+__~-hA0oDitiWL+9tevTzI#M*eCaD&>IXbbZFM`w{#Ff!S^x>Hx zJKUG46>s$3X;vVB408M zFenc`8kGc&(`wLiF|l4UeVkU5*e3^Y3y^Tj;61MN#ry_01GfG`rhpTC)L`_*r>wB! z=fi$ePrR-}klaK#AQ+I3y+cR$U{b$Hj9^Op<57HBGo^xS;rnB&+XcxDL^s$Nj54w4 zw~+pu6-`V+zA>N|;u6;DW7qI1Z?$d9^{gX5C!D4zK=_p=9N(P)6Zp4F96m(;m)p1; z-`Z71mP-OcG6V!~G1(9+>{&}r;i|+@V67b6A$C#D{L*4KCSOE#A&aR$;Q`DZB|0#< zg9~i>r=%aG;_I?G9+aG9QX5?Cyyrr~tEG=|nX4#AQh=2PRgAV8gy|w6^d1Z2rQ~21 zY~TuJBMWNd#rQQJOWw!$B+>yJ+BTA#scFE%q^vy~Q_<0nu~B+IDKwyoELb$*3%en= z?3oZRP5@PK)2gvuuqTh4q2_dA%|=@_oNS@n@;#aeszdQK)Hrr_p}`(=Gkz7Nn~5%{ zrV!&34fJ6^B2|&mzU67A3$atg2|JW(w&?ky=z_4=3qy;FN znP_;;J+8iR_fQ9Poq&o+9G@1VeJfqu; literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-04/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8378a552b3148e0a2de7ab561d165c17af26d7 GIT binary patch literal 1533 zcmXX`eM}Q)7;o>|D=96-4@6u1VD2M|Qa=Hul+BMZM?%bS5Cayn#&n2$_}QyedI!-e zI{Zs_ueJ%^Ssafp6B=b zy_XN><;bNPn8O+yYO{i{6YEEOaINu)5!%NXwJrzb=I~TL7;A}Y; z=biVF{|Ndx->1&%61n-Wt&{_AnvT4$pj^12dN`HYO_qdiDdy^2X-tv8B6jXjzer`C zk+h&L_o5Hso1?`d^>c&Jyn=bcc^Ux%XJTo_$1FG>@m@fAoszw)2iQ*VXU0|R8r#$| zOg)n=afia=0$QFlQ$qLQn{87bEIgep2}I(9%Eo^aK&jEwB$WuSo$9PU@LDZGA(#vVq{D*mO-oiK=n5#9F&QyFE)Cb_|NXr2NYmjVoq_ZvFU zvJMpTPPE~Es4+z6Fs(Wj9nA*q&|$#XObbT7*raYOo?xw?qh4iYvvs z)o4a%tW(CMlR2SHB@c+zfnBReXDJ~!$1$TCJK!!BEvJ@{`Ir~ds!)V^N9Lpb+7;|Z z{!P61Z7DT7h#j#JVPSuZp;yGEF+MUEw#$=Xw2InIUBM^Gr}$*?98W5sT-*JyfF2^& zxbJ~R+DyDw$yVB?^q2&$k^>DqBTrCzEY~l80Vhe$;=YOD{?!?fj9c!VFXby@bRqys z?w#L87Q%fRyB*OLRnPX}MnuHzWVFtMecWigGe&DQL{?IE(*!@lJQMh3=5_HDjc8kD zUXN-#C84UljJhX*tw`+?nbXzHeng8(7S;Xe$AaptjRa3L10Uj)gWjB!6g1%+U zF!w&$<|~2KZ;k+8wgPsPwxfw`IaNTp0jYyRT`YT?`qk9!5Y{R)km5jB5pHGZdQ?Zt z&AxiPJ>;xafea(6vx@E~~&X zUzNjf=hK;V2ekG+F*YhN!h_hY=>`G;aRZ10chtEY)Dt7@A0mdlrydw##dL#r;&5$? zCA%&$XqT^*173_Fdx$4Rni#Zv!CdV^_ea#7NO(Ou(XV2a7?AhH#IgL|fU7r9K%MXT zof#%mqqUb3hiYKI7$~<;sF=QxDGWk{I0(^j@Z>Npun$>eQgt(d*pks7J|VesESJ24 zPiia#^g_zTF`LN-Prn4MDt%y)4G@p(aW67{#c*y5GqNxc*a7tc(}d@evnoSTI=!L=?p Nus?5K$DY!<{{UnVCA \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/division.png b/libraries/path-bool/visual-tests/simple-04/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8378a552b3148e0a2de7ab561d165c17af26d7 GIT binary patch literal 1533 zcmXX`eM}Q)7;o>|D=96-4@6u1VD2M|Qa=Hul+BMZM?%bS5Cayn#&n2$_}QyedI!-e zI{Zs_ueJ%^Ssafp6B=b zy_XN><;bNPn8O+yYO{i{6YEEOaINu)5!%NXwJrzb=I~TL7;A}Y; z=biVF{|Ndx->1&%61n-Wt&{_AnvT4$pj^12dN`HYO_qdiDdy^2X-tv8B6jXjzer`C zk+h&L_o5Hso1?`d^>c&Jyn=bcc^Ux%XJTo_$1FG>@m@fAoszw)2iQ*VXU0|R8r#$| zOg)n=afia=0$QFlQ$qLQn{87bEIgep2}I(9%Eo^aK&jEwB$WuSo$9PU@LDZGA(#vVq{D*mO-oiK=n5#9F&QyFE)Cb_|NXr2NYmjVoq_ZvFU zvJMpTPPE~Es4+z6Fs(Wj9nA*q&|$#XObbT7*raYOo?xw?qh4iYvvs z)o4a%tW(CMlR2SHB@c+zfnBReXDJ~!$1$TCJK!!BEvJ@{`Ir~ds!)V^N9Lpb+7;|Z z{!P61Z7DT7h#j#JVPSuZp;yGEF+MUEw#$=Xw2InIUBM^Gr}$*?98W5sT-*JyfF2^& zxbJ~R+DyDw$yVB?^q2&$k^>DqBTrCzEY~l80Vhe$;=YOD{?!?fj9c!VFXby@bRqys z?w#L87Q%fRyB*OLRnPX}MnuHzWVFtMecWigGe&DQL{?IE(*!@lJQMh3=5_HDjc8kD zUXN-#C84UljJhX*tw`+?nbXzHeng8(7S;Xe$AaptjRa3L10Uj)gWjB!6g1%+U zF!w&$<|~2KZ;k+8wgPsPwxfw`IaNTp0jYyRT`YT?`qk9!5Y{R)km5jB5pHGZdQ?Zt z&AxiPJ>;xafea(6vx@E~~&X zUzNjf=hK;V2ekG+F*YhN!h_hY=>`G;aRZ10chtEY)Dt7@A0mdlrydw##dL#r;&5$? zCA%&$XqT^*173_Fdx$4Rni#Zv!CdV^_ea#7NO(Ou(XV2a7?AhH#IgL|fU7r9K%MXT zof#%mqqUb3hiYKI7$~<;sF=QxDGWk{I0(^j@Z>Npun$>eQgt(d*pks7J|VesESJ24 zPiia#^g_zTF`LN-Prn4MDt%y)4G@p(aW67{#c*y5GqNxc*a7tc(}d@evnoSTI=!L=?p Nus?5K$DY!<{{UnVCAQH~BTQ z^SsJElGXSQTW!&;^!rj^c@HG?foMueZnEv zes;L?KhM_No__J)dpD2kj`TIo-v0l);gX~C_pD>b&TUWQt*)b=|Lyz-ru*zlC4YwT z%LoCO$i7?-s58`-m-h*qrTbkRSI z(K?(Oqx~qMhS{-3;qQ#D=EXEOYmqNj28`0;SBE$~!j3y%mG%3adp46Le4t3I6*k$2 zl;WIZasTQRS0z=VgbFH~1Q*jIZM6~+%;rBsd(q3$NOX={v&=*!EcR})Zj51N^If^& zPX#9vS=hB_3n_jiHII7(MV8aPR_0B~qVa{E(-k1z^2fc59c_|#sACO68`(S`|I-eojh+p}K!j{Fa%+>5&lCS-e=4HfHYNi;d`lTQn9Mfi`0C{+~jzSWp`j4$ikl@J?t}4n#=W3qq z!C8aQLbJj6T0@^U%TuZk%cyZ@0u#T-)nA4pL(+M*cEUT~hENzh+|D%%y^LR)RAtxf zNR*0m_$;W3679M9&u8)TI*`GLg;$PU2z}UZ(x%!JHAl0BPaRJNm_YEB7gmdzi2gK0 z8N6r^SZgwy|Dl)Z`TTu>jl16DS1P!+XUB?>MA`cGbceqk@szK(x^drof*Yim8CGZ~ zsLa!$=e0twWWI}XdxM9QR}1s+0XRTPbMjTXW7>pxaxLBKWTo8mmOb@6vGxXjGY!GN zTDMRbbl!}N4Tf(pk;TAyVb_obwit;{;XYmSzx9Ys*{?`wESG%qYO*o;B%5DmX?yZl z!hm(5NuERjo)OL@RR(7+Blf}YR<4(8Ln0^hVn>B#E@YW8A}r#0OPqo(jc{ieFWP~| z8Xc8)T6WOZ5uhXws3!n`x5e+cYNT?st_QJcEUD>3G5=blV4{11yS6%>jBwLeq;8yw zAhvS;_(mX}1<(k!78U2YYN>g&&dq&D8~RAIaGkL)N&3-y4I zi%`HO{8fl?)M?8U=eQz%`8va+mxs#56GGcy7}j2}4wZ?Yu=0ea_<K6Hk7g$`h}rn}zHK{W?5dCdLb$;MWS6~f zi&LJ@h^~6;`+e6|ien}i8uz!GX`M)T$DR1*SRrkf4R__vow0VN!Dc}iM#;czRk*91ufO63UyG><}4){Y8C2E&^yVW7)8d8%BjsCiM& z=~AAxAiRE}Fcm3vboDpkc6t@qz$c zZY5fwCW{@*KpO%r$b6U)mQ`YKcb>`-Cq1=pZcGvwe{ElnbGRq}uq#CxC z7m7p5fH~0(_RI*DC|%!i#~Vo9NjO}ZmO_0(^E&?kkt&3h13iUeIb=GR2f}|Iu9dI% zCPM8E5XbgKIa~p@GVwlFRJ{8R^;Z`P{wWa;aXVr84ppq7)=uq7zA^UOi<<5t;ST(X PkQ~^5a9`hVYES \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-04/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..549006db9ab14cef19bcca912dd84fbce98bfdb5 GIT binary patch literal 2155 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 HYg_*deY-w| literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-04/test-results/fracture-ours.svg new file mode 100644 index 0000000000..992eb2b858 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-04/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-04/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1acfaa4e2515bd2db88f7d79a7b1edf296250d GIT binary patch literal 2131 zcmXX|eNYqW8Q)~d5(xo%ngas@-u2o#@e-_ndgid#>R6i_yxL9~3j|tf9pocWEo=@* zc47QD&x4u%0e9d8#}4HWM#7n?(MfP$?rPJ!5O+?-i5!}|U3y zz5iU^Xnpq4zb1$OWT+W!n7Q%)qxO=m_ZN2Ck9WWJEZX8c_5R<^@2|UWe|~`PV*OI1 znywwasSl9pT2<-zb?p&S_^?|K-6 z-s)lelrbCb78~#gYp7V6LNiUWxdXu}iEjNEDkJSa$9mD2*YS21UBCymLN$J+Z#-Ri zM9dvpy@w7<(kY`Fkn6CM9h9_~jbUZGzl-6h?npTD2(2|uhY7nfKYqf)+NFVk%%$I8 z2OFN<_x3hgI4UvuxS+PF)7!#sCg!SE%8((Cpw#OU3H_M71UR#XbFufz&D63xyffM)FJ_WlM9X3HJ!Q&w6<|n^It=L!s>HuONQNg6Azh7Ic0lllcsN7DNI$cblj*GM{3YD)ExhFAY05G zr89Bzt>0&gIe5f8+fC|xDi^AX?6i{Z;xVu4!a{h2?fLdccqHolL_(Ii^MrY{NLZC} z?N*CgY_vU{Ky{>DslTvrW|MddsHwCmm)qqnN>4n6u8lXmRXsPIo2EbOjZ?G<+szZO zKObvaSS}R(ncnWCEZ+<8UPyfsDk8@lvCzBz7CKB*8TrD{jCNMSrv4H z@n$*8N#bg{K=>`{GT$Il_1oaP9PdEQ(Dg7m`1uK|66idJ45WumCex|7THFdck7w{- z5Fy!G13t|JLuNoej>^d%!X|BhRhUM*8Go|vGwur$Sw+SQ`Ay69>6Fcq`d~iVmWN&D zUIQ|b@Zdt>YqSeCVwAj{wKq+_ZSP%GI6am>_V0b;uY%SmP#0iYmF-1Bs%^f535TXL z_?54b39ioQ?LE}(b0?!&*ah@V9VQ2rIc+99%vRzdmYXwoqzHFVorLo#R_-H@uv16I zipnzFa@Z@iZTygC+Rx*+2bXYSZBP+ z6}yYj9x_j!B)V8Wv~NA7%w4!~ou`Z!z1?Kkr%KxBEN6qE>ju;sxf*T2HH0NA_I^IY zODsU91hCyjy8fQf@j$;u9+x?v@3bnHo?l%%h1;}jd`qlpRLsJetcReC3cA)<2+ntJ zDSOYX?W0Sf*cDqG--F(u?S_hGjqt~c%$^Y|w`mM6406aNsLY=;n$W3VqUp`QWn&G$onj0*L_7N<5NIr~-@BdtRCo9gbYx zp9WNxF%puy!+oAG4>ZX?8HRoqUQFw~CnY+cqBTd{iJzd8;4sK2P-t<`=Sb|cet3`) zx7nuZ$h0Bn{NU*>$fIu3osd;sq}~L28k6M^pr^YZK6A0Fv)4HZw3fjyjp6 zY5d~f8Q^DN;l=C7)w%h_uh4#Cvj8aU<_7RS*HDXhvtmK^4<&-?5x+MpEDo*|`+6DOs>lpK%I6%gV`46zH z%``C-rfv^d2L=}|hN;|1RhU;nP%pW@6IWZr4ROj9w-=%{BIx7puE8Sn@wHoXBdm+9 z!S>MEwL1LQiHhX_(()hTvw&Pj1d>Iy@yyZri>slF!Q>KFQ<8n=a%O!dorhnM!`vDM zKkNFTAqBn$lOlIg(JFl)vnWIrHV~v;7Aw|0Ou(J^E7AycNHrosP**p8}P_-^F+qRTj^9uHm$QgNrY=Um7Dr7Wl4HK z{?Oy-PzhhTt6j(g5Ds^$;CDA&unr^xi|(SPOPP~QK%GcQK4>EIz{UAD{{X2w9PQg4 zUr)^5mpM^>Yt9MQcd|7AqfQJ7Hj!<&)j+_!2{I<$pQ(h&Y9ND3_ZA(4|1vwmCNkiw t?eRr-kq}7eOqwvNFolki;J4+T$=~(f+tdAshCd6$kwc{iM}Jz~`9C=;IqCoa literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb6fb379b60eca58e7543202916c050d5634cc9 GIT binary patch literal 761 zcmX|9ZA?;O6b7!5QyH$gEGo(BM}?VvNG%yGu@7@oYc6ssx;fVr6_qBaC?G%jFmr1Y zTQ;e+vOh{|Ltvo1R%(kH^GC8~=@m!*DCLEl#myUUS8HwOV>@T(Jm)#*+$_vL$BE;` zF&GR^?)jWcw9i=AST=2CEb=;o!2-ECr;9YqWq>{0S8SRLA@xf4n|Fgvd6mO;vm^hc z`u2e7f@R?7u{|qfv#qA}>Gdqd2TRz!qZfUCMg`9XbSDlX=S6b9`z@+3imD&~O~pnD zZDs{NN_wRMi8oI*p>CW|6Z{@r;x%eUf-LbZq=`W-DG9JlCT$yaYCTI{q8sGlyB$R=+5Z_267hu{GGHoW5mp1Q=)C0Yt3*-?>>4Ls&2+P$;WQO4$8DrfN-h1W!>w{&L@?khz?845+?Y#r=_H+qclc1GRv%=iysqN1Q{K6`8*E7KU^w!PoMWy^r z@G~$v{3?xU{>wZ!WL_FI1X~ju1TsnpPwDZy3*#UiiHo9yXd6E2@L$H;?Jwa+I@WOm ziQF95jFRaDYYgW)YXz}!7$xT7(u+v%Yv;llYU)wgykue42a3h)NKLddHLCi3{CT`q gNRtmG{(m-VZ|uDqp)o*K(=W})J(Hg^oL$lR2bGJP-~a#s literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.svg new file mode 100644 index 0000000000..5d11444969 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-04/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-04/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..c09f33748f07826a052a3ac6fb1b2619c2692a97 GIT binary patch literal 761 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 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-04/test-results/union.png b/libraries/path-bool/visual-tests/simple-04/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..53a199249d49e8b9747a69609c549f4b30e7c69d GIT binary patch literal 1861 zcmXYye@q+a8OQH@_)Nftu1f-#07o!l5`fH;Z^$`qDmu1J+uK@2!sLdZ=B;FJ!| zwdeC;HObbF{1x01YNkfn{+PnipaxP*?ht9bg_skt#885L0RhWG;{#J{g0c6QPX6_W zpL?J8{XXB%_x;nm6(e+ohuokC?SG-a-2$ zgpxelJGdv3D-4(`F2|J~`ii7fsTuE|OL_93f4Iohov|`N51_4gB&$6^jabd;LhpF& zIxXd~`*0!~o{lsM|Dbg>8&lk@NjhH^(4+a=r@2au@%C>Q_l@E8|}95HZ9GS zYqvA|#;DI~g(Utp`-9Z*qeQhWdwo(ntHbgY)*^A1vtYd4iM!I=Y2qZpc&YB5r7GJ+ zRWi}%!%I_OkIp5jrBPsL-~6qG_5kir5pHZ=`8w5_#;?uQ99xuby=mtqL>D!40gA); zU0Da(tT1&i|3M`dbNbME4-I;yl4o60%~&4xuhjx+%v>IM<_+I zI?JYvG`W5l;TkYzI5qucqigham<@xsnoI754onyC+fpTVy*k19Ofvx_sE8KlPdjMY zPc5j+%RfHmP7UuCeNhk0rJn3`qOq=cW)lA#dR~ibJanC*H=-6a@xoX5XCvGcs+M>* zuY`Qi(K)yR;-IaY;R9p^qYw%1LaYu9q!LfpY)o>^tHBducdlGC#9H>rY}uOo^`Lx4 zyfle__6ZgN5Jor$h+xAbjjpnLEpOS)BQX7a;AR4r-zz?Le*p7$Wc;fc(}UjpuGRDDxXUJ= zUfi_g2}9;i9oLLe3Rw7iuFwwpe@e|5v7XUAj8qH01=EgjdQ7j-I*jH-eaXH4;S#Z$ zkw#1S=htcGX;mp6X)-vM*C#k5=J97o)Ui5iu~?`b8$&4Xo}_&6%H4}ba~2Gu*5v~% z4i2u*amG;I!gZRTud;n=`~`V?0r8lLp3#1*T=cn3R3q77=TRF--=lEvcIL?Z*Hp=_ z#ti85kxHDcY26iRB8pgrRnA!)aVX34_PdKKUx}tREmp;p(~ITc@orarVMm=cz^12UBok0Ge`e>T9DF539 z&WKXd%mT4GdNf+hulZ_@iQTsBMBMav`(Z+pZj*=RC9X7Ui3mVCP~y+jwct`!tP74j zbqb5h!65XN`Knk-5dsIV{1dQ|FZD`Qj z^6~?rf$XdWXsc-%fWA*g9)u9_EtQS8VZl)#(48RAXTbtLPICHHH(2L91P8%LVKd)H zJ(gsXYA3T`*;tb_cfFRggrX3Q@cPLfu@~@c!156t}!@ zte(NZD!&n^N69+2dXQcM`qbj4^7EFJlo+YsEbLt7}YFhmEIZt0+b`wh1tjD(Tq z?L%O0=Mp=v$AWUgVQ&K(m&>1iveh6Yi4V%KZiM(EZXM!g5gtJUn6;44`-Gaw$9Tm5 z(h1-YS(nVg(ePd9#M5$s^-vNMO8T5qn0Apn0e`0V^Uzlb9PX^VDn90J zx(%19FJ%~bFN0q<2;YEs=@6@}0O$^ja6DqLR;aVXm~;$%9cG1Ijz|+2-kP6A-D;$0g(U<9w(ax z#yqh<78))R=Q!P}1fuP(GIGw~%*dH%$E&fR0@VMNkOj+^DWXMvV{C3b`PiM)U%zX7 S)&bZ0P literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/difference-ours.png b/libraries/path-bool/visual-tests/simple-05/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..1943e75a6331fa6b67a1a7a81da50ba5d8b1a8c5 GIT binary patch literal 1157 zcmZ`(ZA@EL7{0f+_d*Hs6c7h zj)gAW&1Y)h(p!djl+H!ajLI%vljenTHNv)J?slTh=OWsZ$dv@tkGEw|n}{B>O;8_=uh9rDJ}>8`W=*`-aSyzLJwN(3wO5AvEIPb2hi=fMi6bJ6;xyf z=rF5$&1soITVq?r%6{uUc4Xm?Qq(6D2Lz$q1Lhjrx&!w$Dk2{M12%3{d!U8sUY!PO z%jeqpRI51p%DvlLympb|m%YBJVOIFv#4t=l^?7X&XY=)afuKTvr9P&M*H#!uC?bb_ zf%X_Jt;UfA%!i9jGPqk96S=!4Y-n2n_xeC}NK4;BV4xSI)Ol%@IH6sjh@Sz5uxwjw zTN;ktEMB@w5#($1_eQmAGuOo%f0n<)>|fSIAO_WuWZDC@@Ece&&djo3+`x|E-lzX& zq=`IKP8hBi2AU3a?=GT^1Ca8LCOl`-oDI1FrdVruImv45Ir% z7MaK#VOJjuys1nY?cBX}hG_4Fk04{iVQ~`bBwE2h8nIL&hp+rn8qad`*(1yopb3k| zi0C=U_J@} \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/difference.png b/libraries/path-bool/visual-tests/simple-05/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..1943e75a6331fa6b67a1a7a81da50ba5d8b1a8c5 GIT binary patch literal 1157 zcmZ`(ZA@EL7{0f+_d*Hs6c7h zj)gAW&1Y)h(p!djl+H!ajLI%vljenTHNv)J?slTh=OWsZ$dv@tkGEw|n}{B>O;8_=uh9rDJ}>8`W=*`-aSyzLJwN(3wO5AvEIPb2hi=fMi6bJ6;xyf z=rF5$&1soITVq?r%6{uUc4Xm?Qq(6D2Lz$q1Lhjrx&!w$Dk2{M12%3{d!U8sUY!PO z%jeqpRI51p%DvlLympb|m%YBJVOIFv#4t=l^?7X&XY=)afuKTvr9P&M*H#!uC?bb_ zf%X_Jt;UfA%!i9jGPqk96S=!4Y-n2n_xeC}NK4;BV4xSI)Ol%@IH6sjh@Sz5uxwjw zTN;ktEMB@w5#($1_eQmAGuOo%f0n<)>|fSIAO_WuWZDC@@Ece&&djo3+`x|E-lzX& zq=`IKP8hBi2AU3a?=GT^1Ca8LCOl`-oDI1FrdVruImv45Ir% z7MaK#VOJjuys1nY?cBX}hG_4Fk04{iVQ~`bBwE2h8nIL&hp+rn8qad`*(1yopb3k| zi0C=U_J@}F7{~8RxfhGK_+d~ih2q{4=LXwkfZEw@=+Kdf8Ujx6Lgq+=U8&9}7p=6{ zX5wJj?1PdCX-$^RCB}AwRgA4J}x;gAD;ht z{^$IjC+Exk`>F`BObkH~v3Jj|gTnr1dS+t6T8|{VAV~D}-d*q4Qt(p-z4r3QSMJC7 z_Ql?xf4ly9^--I4cIdy+`jzF%M|R8GTVGsEo^~8N^L^J2&7^(VlYg22^9OF}!?2OftyG@%7LO5!2(>sdeNt#mh+5PB*5P}$eRoUr(d z+3iddiVPXgS;9AH^AlC>NPKmQ(ZMCpi-60x8tQf+m*Vb}j4A+j7*>hqFnz9X`42(i zO`1&5FJnTFWw z)-g}^NRE|Y4+|&Umhqfy>@@9%Q?f&lIoh-`$%vGhln%J)qm3&wOha5(1*I#K_>6QO z0a~L6%Vk0|9xGWpXrpwt3W>hdw>-toZUQ%H>zU2K-jN!XCGsp*BEbs~DFY+! zsmz!PT480b+aHR)KL zu_5V;?PDI%cBC_J5BP<-5m%fSFCcT{1`7@=CgRUDmT+BKdL8b(%AZl)8{|s)vRdGP zg`PgFni%AWAAj`_@SK>NC}t-)e^O=%yONH|#@Gy_E5I!hc~s@sq4s+%eMTI0akKlK z^L5}<9Sd^U`&@K7BOrPlzEuNv_8WGL4&E(g>!DzVyPV$^z!I&+Yx&^2 z*@B)-Y1;&|L`$(tmId2h_+9{(HMmtuB=m~zi16e|qqJ$>xdYcYLRFe5G&bERZ zv>&OExXain#zf0*+*P7q<{}7$GE;?kwN&QpuM~I?XrE)eEwgOBWryC literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/division-ours.svg b/libraries/path-bool/visual-tests/simple-05/test-results/division-ours.svg new file mode 100644 index 0000000000..86d31f44a1 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-05/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/division.png b/libraries/path-bool/visual-tests/simple-05/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..8d66be1e56e4416653cc826bff6e881eca350e6c GIT binary patch literal 1225 zcmZuxeM}Q)9KMfob+l*M=5(R8%;};NXE&wbM`P!dp(ByG5IX|4By1y6+XKzu(8^sU z6GesnBaP0rX3ORhL(6QWES&W15WBcxH;s0VucM@}1+-W05880FyPEyEp8N1X37(ys4M7mTf8XAZ#Qp8eT!x9O0ZFz&kmSq#dv}+U@Kbljo_W9WQhMwMA@+WhD%zOt zKbV}jcrR@&Pc?n}zajs41AB{hOt*(IYnCFrEeZ)V|Eub za3!rfOFb!pUASuIvN4-9yGaXsh&@!jDq&#>a=9P3$+@r)+{09BaN8>GfzELrG&sYX zxgEfSBE9q}XY_`>b5g%Dz%M)o1gu$ljqRrwrrLc-2hXH($6URZ=VT3>%PZ^`LWzjE#dT_6lwUG`MpNRgw<=D1|eHiI@I9!FJNpIMZl%Al9jyUZ52gU(}5>u-E0mahX`j zHiJ!TU{=&$tz9&;pVOt++R!Fg5lQY`K04&R3J;v8^rveVkFo&;GN9acpWkucJC@BX z?~&vF#y@e2cx+Y%GhmOVNHX3sLwcIw->Gsu8t>DdNV!JDX2h*zTlnEjZ9 z$b@PJy;q^eWOywd#z>2?rxSC}w9ndus3KC#zfu){EZX<N%YU~U1R)PPde3`Q zB#K_{5RtF;$QZdn&>AF(mA`jaHA*vRIbE3y#fNFykEL>RxO%qf-Pn*<(2BA8e9$e- zkn7ohfC1La*Kwb)kCKYrS>Yst>i&ozu-r+R(B549!DGKTO?rO;)sAp_CiB5y(GC zb-Si3QrMr-i8GKjEA`o`L|tmuhKJ_IgpoCwPWE-6Wm55Cvp#!x@@6S$wI5DdHdHm_ zb35`$E}N`L@pA})%pH4j9r6$RS4W;0a})V=3>p6_ts+pNz_EmL4}`@W-G~W|q1-ND z;`3ssXxFqzR>{XoCbutX>k%?az-l>DkZ$P*ZP3K9m&xWNsih4%j|n>fd4#Rt4fc|K zd%DmkCKI+e4kP1|L`|wDM@Qx1i~<-?1w3$u`nuA-0ILx}o5}hYAox6K{O8*R+#_Iy zRZ^ppG_wKFN=q{~J47`HlnJwQFbuiyx%oU<{F`PAd&BOCm}XAWAxsodDjoyCj1uA_ qQ_FQ{^F^t$tXVC&i6bdK-g$7}kWhBc^|AOxLHmmj>~+6aefnQ$qh@sg literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/simple-05/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e1f2d45cd62e7ea7453a8f370c24a3a6827c04 GIT binary patch literal 1693 zcmXX{4Nwzj8r~nW(cluQXVa2YTBkQRRZ6%k0jnuFTRWc3jQu$W#sdN~yiFCiXg;ackS4|$A#YI@h_j> z+x5f!Y}36@f4n$&$o%fGefInRKMg1Py53;={_xVqdy+Hw{)hi+-DbPWEOOe;?2S|M zyr)F`3*RytAE0YN<#5^tntZjHhtS|E5#Q#kadqPL)GYrd&f&5_UvQrKR*Cm3*mB`J zTq?^~C))gkldc|(2kB_c-E0tF=8N^ZxapDyuT$uhEgC6TH5pdKpyLI<+?w%fLqC3!81Y48XQl~nkM-mtv-CFd zJD-4hwGhPmVV50@gyIYxL>q7I9ap9sK%gl$(5TpOk<0DWL=J)>UkA~S%cbH^Mrw+N zLAtGy7L3tcqD{a;>s=+;GiLUW$EcZ|Xg{f&pUDvEhT*gwOz##}{UR9XKsoZds`*J_@iOl~lL~Q;-8bH2l^P*f?lFV- zXGE`%%MR#VHed}c9PuR+FOQXq)%<-w=GAVw6!_I3UgLk;clS2m;*P6}cJigjK%|zfC zrT4;tg)v{0Xg@sZNEK1A*8O@??uz~5K}`@IXrkC?P6Yyz2KJ_U>;aME7QS(JB@=D6 z;2RVYV!096TwT+I(;dqff9BsD`;9nlq&Skz6COPVQS#qV8UGP3M%9FKWt}-Jvn8D8A6&nwq*!E%9RAP_29O;88ite&*{wNZ{fe#C zy+KWkt003WkfR)t>84)UB>cTMtAmru^Z&ZOiY?`TFPdAttzoAWe9mV@u3wwYObY(=%s-qqhKJ(!ym*_dq};CS@>&n^KO}P<(`rZp|}3v*i*s z93?ER{{v78esy4Sh`;kKnAi+Hm4rYpyZUtay?#tC%Q}x)Jq>_C#&cbc%wd)kf2w&@ z&YM%o*Tnr4$*TEfgo;q?5}X \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-05/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e1f2d45cd62e7ea7453a8f370c24a3a6827c04 GIT binary patch literal 1693 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 F-v9-CUxokx literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-05/test-results/fracture-ours.svg new file mode 100644 index 0000000000..365a43f732 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-05/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-05/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..50c6a0a16cef15d649c1ac828a67536a4a510d2a GIT binary patch literal 1691 zcmXYye^3)=8pn6DB%#Kb*pZ?HLF?UI+aSTV2DLf3RyfXM3fCV)>Iq4vjuSNv0dta# zAiJw0w&>{}9Z5&L(5YkT%oSp#k}z4>*8@tY7}M5iqfH?%$q>$=%3=mtN=)ue=Vo@_ z{o{F`eV+Y%zwfgj{H>-+zAA4OhGFtOf2nvAJxelowgjzu(eh~wlf1j9;?=iF`~e_7 z{@vcLuNKmdhyVQgR_~GO{r%SP;Qy~fXWdDhkzM-g>iA+1&w(~ndu_ixSe!G=0iu0wU23}@dapRyYspZ2U#20x* z^F&gsSsyL`N{<)H`8uFSB_eSTvm{A%n4K!v>r5%r?GaQ1IPm!Zb@seuxMQM)IgR;s zno%y;N<@yXPKG~r#mj%R5ZuUtaycsx$`))(-{aheR}&4OHBmTU2d^;I^^bP}TjEl7 z%6g6{zi>5SK%t)4O|%wy0*Pk@@A5%-QzLFGO%F|7G&`;C+^BKh2kS<@h=>f`xq)K- zkHBUhbKv97@7_1B4Sw(qH&vxNcjFoUrzGmggAeE3ow?Vp@_l_Kew~g?UkgdvyUkmK z(8@u&l?mZB*m=w#B{xC~Imk&265&0QYhqYRs-O))TXyVb51u1z;3e&rC(6PE0m11rVeNjch`+Id|0Q78Xvy_%*43!Q$irZC!%01Et z!Wb18*Z|mrqXX~HR?LW74?#ceiVr2VO_ye`%h)yg?02v#-UL0gM^YvsEwn3InYg2y zi12K-oAXNAW#oM+j>s44*&LL!7y@$`CC?T%!x}h1cAd}csG^sUBPMkdjs&X=&h;@p zBJz3YWnw@MCVx}R{;LHZr5jARu7FeqABTX2aFK((Naj=i95Oq2M09s%=UQE_>zTGv zP>pl){MkVcb^Ipxood1>3LU9b=su$Ejq^nj;+IFL&j&mBw>tLE zi!)!P9!3;a?YKSgWIMkL{Qlb!#!pKZk{hMB?PHkkMD9Z`(-Xf|4XP5!wYspGP_!%g zNzm*LHM<|wWqO3u;6vy1RN+VT{`!S=@ZZi<3*(*Mn~`;Si!XW;RN-xi+L=x%;s1?Z5j~C) z4x2;;S!^k)zRi>?taIO~BDlZ-7wwIo+Cs;`KDwk%ziMk{0K5HoVTnG-6g8jO=S33t^lbl^_(z94knGZSb;l&>QdU#e&$d ziY#=`9H+Us@z0n?&i}-k3gz{|oDgwdS}=MhuJ%Ryn3yhHO^o}Zi_FsW-YKcjXm~k` z{~pVTB`ayl(9bT%F+Lr__yNgITOF;I>*XXhm?yavoJ7MgV#^hj z(C_Th<8Hteo|;{p08haSl*E_CzF0CFiPxcG#*A&dG3pkz`o!$~Wo8LShTDt=sK>76 z%fN1=X{M@5u%=?03_h1+IFHiSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*UcrS{(|e6Y1)`m?UhZ=ebhF#l5Bn zqCfBXCsiT)VExWF`3>yM^=ChS4?9r!FIge3gbifgO`vS<2UUR&#s{jIciYsz=dBU{ zaQ(pP5AWSSEUL_Hn9kJqIj5d?4_^T%OAY^rYX|i7Z=@F<^=7_*bie$;{f7$Yy$yR% z+7PSvTkgT$%7^!)D?S*`d%Cyr`m_7(4_rSdG_V&R)%##}KyUhA-VgWwoVMeBu)1;k zqe#2%dif^tv(1chJZ~UA0?Oa|b2<)aKy$-)wtdnT$5Pkx?lJve#`2$Q_kr6C^=DJ- znfI7&IKBVPV#a&3wfmUm&u#|EcZi?OX5N2vGsu7gdjB`EGyB`K-QkjX-USSiwscFz zH=ou6J@Yg7LHdqI=?&M}$|^7J0fr3o@ycz}+4?@}=%3xsd$9Z6T1Liv-Z!5XRp&Nr ze^$BI?EI%oe{Ki-JpVn4A^&XguiOXu71JL7xh?SLxiEi$_6NfQuNk%%-Mr6W57a*O ze+@8@uAMG88eiP{VA8|Yjpv`;=leMS{nEz!Y<-1CRUa&GJkOT*^gjE?_{SC>E*;PV kM$vIcqEiw$kv*1Yyvv=q \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-05/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..85b39869249ce95ebed3f3b3aff37f96c2f9d6f3 GIT binary patch literal 757 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FzxYlaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*UcrS{(|e6Y1)`m?UhZ=ebhF#l5Bn zqCfBXCsiT)VExWF`3>yM^=ChSk2_HKFIge3gbifgO`vS<2UUR&#s{jIciYsz=dBU{ zaQ(pP5AWSSEUL_Hn9kJqIj5d?4_^T%OAY^rYX|i7Z=@F<^=7_*bie$;{f7$Yy$yR% z+7PSvTkgT$%7^!)D?S*`d%Cyr`m_7(4_rSdG_V&R)%##}KyUhA-VgWwoVMeBu)1;k zqe#2%dif^tv(1chJZ~UA0?Oa|b2<)aKy$-)wtdnT$5Pkx?lJve#`2$Q_kr6C^=DJ- znfI7&IKBVPV#a&3wfmUm&u#|EcZi?OX5N2vGsu7gdjB`EGyB`K-QkjX-USSiwscFz zH=ou6J@Yg7LHdqI=?&M}$|^7J0fr3o@ycz}+4?@}=%3xsd$9Z6T1Liv-Z!5XRp&Nr ze^$BI?EI%oe{Ki-JpVn4A^&XguiOXu71JL7xh?SLxiEi$_6NfQuNk%%-Mr6W57a*O ze+@8@uAMG88eiP{VA8|Yjpv`;=leMS{nEz!Y<-1CRUa&GJkOT*^gjE?_{SC>E*;PV lM$vIcqEiw$kv*1YG~SuG#c8^188A6Bc)I$ztaD0e0suOYBWrf4eG|QkQMGRoElkeoKc1Zdel(k1bcAP_R^-^t6TDZ<-M2B=llJ< z&-b1FXzy-mMotETAksY_lpla|VXCL&aI6*y?Fb@Xv8R0JCj`0xunTV-Ja=O;X?phc ztv@awt^BM{KXvW@)_9ga_o179=iRl>1f%E3@$cKW>+ZXknB30f^p*HyOCk3uXdMdn zP_=ATUsT7M$lAnnct8|#`#}vR3svw_U?0X{@gh~ub^DJJ%q8}g_*?%ZU3ieK8v7|A(wxusDY+fMaO`&zdeeOOOYN)v z)3=$K-MNn8*SLpq7?B$t$@yz;(v~}T>r7~X49xyKf!oe&*F`5{Z<78{-HQn@j<}@r zM<*kQ0gL;T&2J~0(o|iKfCaUS74}W+fO)n|Lab)1l(Ag4fsEj`oI=p+J*-?5tw}WG zi><}Y3U(ED59s)l(;1~-XeY%QNmNJskWj@sx}tQ$$?W+aiV=A9(s2{-&GJ9(rCcK7E!IOlipSzb+(WRQUU&jp&9hD7yx;n}5uU>>mpDqneky zC$_*{<12(tvo%d2p_eO?P+K9)PlFg&ph`JcAt&@~v=Vju?5;3A)2=n=vu?q;pPIlS zY|Ja;VA3%p;5*Zn;oSmSh45k-F!2Rp%vz$_wvl_CbcUE26BdxBD_3iBqq;=P70`-m zx{}9bp^ULQ%*os8K1M2!>Y<642mAN}J2t;$*oAmR_Wn$3QL<&EO)E4d7P6|n#azuz z>N1qt|9lEOZJu1ujsj(}cxB(9ocK;&N{GFilV&4Tf*ObBKPCgA!1Bek zQPQ@Oo={;M$m+yub_I7EblcC@Kr-96<4V*Zif>MCPN$g;d`80l04ug`jJeYbVu%b) zykyn09-*U^nAPM!0}LPz%q{g6arNxZ)DPsQDnT6-I9}wR)scSOD0G}6?!tucLkGM0 z9YBkDmRuNI*0TeY2X|mHJny<3N+t4$)YABtq!8WhSQna?Y{Jy=lSKAZ>@Dwmzy9RE D5!%0g literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/union-ours.svg b/libraries/path-bool/visual-tests/simple-05/test-results/union-ours.svg new file mode 100644 index 0000000000..77a207499d --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-05/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-05/test-results/union.png b/libraries/path-bool/visual-tests/simple-05/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..534122024a244437246ccbc4a5bed3756969db88 GIT binary patch literal 1355 zcmXX`e@qis9KY+)D+6npu|uJOsWWa4TigVkB8?N`9Enc1Kpav?7E-Y*B^uhRt?ivm znA4R%7Ho#>YBWrf4eG|QkQMGRoElkeoKc1Zdel(k1bcAP_R^-^t6TDZ<-M2B=llJ< z&-b1FXzy-mMotETAksY_lpla|VXCL&aI6*y?Fb@Xv8R0JCj`0xunTV-Ja=O;X?phc ztv@awt^BM{KXvW@)_9ga_o179=iRl>1f%E3@$cKW>+ZXknB30f^p*HyOCk3uXdMdn zP_=ATUsT7M$lAnnct8|#`#}vR3svw_U?0X{@gh~ub^DJJ%q8}g_*?%ZU3ieK8v7|A(wxusDY+fMaO`&zdeeOOOYN)v z)3=$K-MNn8*SLpq7?B$t$@yz;(v~}T>r7~X49xyKf!oe&*F`5{Z<78{-HQn@j<}@r zM<*kQ0gL;T&2J~0(o|iKfCaUS74}W+fO)n|Lab)1l(Ag4fsEj`oI=p+J*-?5tw}WG zi><}Y3U(ED59s)l(;1~-XeY%QNmNJskWj@sx}tQ$$?W+aiV=A9(s2{-&GJ9(rCcK7E!IOlipSzb+(WRQUU&jp&9hD7yx;n}5uU>>mpDqneky zC$_*{<12(tvo%d2p_eO?P+K9)PlFg&ph`JcAt&@~v=Vju?5;3A)2=n=vu?q;pPIlS zY|Ja;VA3%p;5*Zn;oSmSh45k-F!2Rp%vz$_wvl_CbcUE26BdxBD_3iBqq;=P70`-m zx{}9bp^ULQ%*os8K1M2!>Y<642mAN}J2t;$*oAmR_Wn$3QL<&EO)E4d7P6|n#azuz z>N1qt|9lEOZJu1ujsj(}cxB(9ocK;&N{GFilV&4Tf*ObBKPCgA!1Bek zQPQ@Oo={;M$m+yub_I7EblcC@Kr-96<4V*Zif>MCPN$g;d`80l04ug`jJeYbVu%b) zykyn09-*U^nAPM!0}LPz%q{g6arNxZ)DPsQDnT6-I9}wR)scSOD0G}6?!tucLkGM0 z9YBkDmRuNI*0TeY2X|mHJny<3N+t4$)YABtq!8WhSQna?Y{Jy=lSKAZ>@Dwmzy9RE D5!%0g literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/difference-ours.png b/libraries/path-bool/visual-tests/simple-06/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e5abeffff296bc7759c82ce247c6cc78b1849d GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FwOIHaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*W8NPUfys?dF4@!?j?$6E*VK3qSr77X7rZ2vT${o|tQ+y|Q* zu0M-^zPs@}W8PDHxkvHeZXHNxT+ds;Q;`qSccAdW(#F^a>%lm>@%=-~8uJg92iE>M z?zpEQp0&p0KyyPs+dXNEbKTFv9&83G;5w*!xSHAiY(38r?r*UNs+nsSb)4v(+pWQFt`uzRkMt?iDf5{i3Kff=QsYqYfX({vY!%uM*8c4Oe)WK%0nmBPKffzh#O3pTxcBF|1>YXi z4()rh>gBc0zm@<>o&TIL@2SOqyO4R)fB0`ZT`$q}d@J{d%YUB#l%1D4yw1`1d7~csOPOQ|NqghJ^iQbgRpgTYj^#({zrPxL66|^BFvR_w z-uRx8#YSqz=S4e3e@Hy2ZP?GoGQFXkv2MnHiH`c4+065K_lN<*dT-<71KG^S8>X|B zHST8wVzxZieY2l`usx8@y#13rG|C#UKZ<`|-Ef`_5@qj~HeP4zV_wfI!yd=AgXNFu q2JSzm1==5O1EcA=BYIN$qx}7Df=X1AgCa1&GI+ZBxvX \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/difference.png b/libraries/path-bool/visual-tests/simple-06/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e5abeffff296bc7759c82ce247c6cc78b1849d GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FwOIHaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*W8NPUfys?dF4@!?j?$6E*VK3qSr77X7rZ2vT${o|tQ+y|Q* zu0M-^zPs@}W8PDHxkvHeZXHNxT+ds;Q;`qSccAdW(#F^a>%lm>@%=-~8uJg92iE>M z?zpEQp0&p0KyyPs+dXNEbKTFv9&83G;5w*!xSHAiY(38r?r*UNs+nsSb)4v(+pWQFt`uzRkMt?iDf5{i3Kff=QsYqYfX({vY!%uM*8c4Oe)WK%0nmBPKffzh#O3pTxcBF|1>YXi z4()rh>gBc0zm@<>o&TIL@2SOqyO4R)fB0`ZT`$q}d@J{d%YUB#l%1D4yw1`1d7~csOPOQ|NqghJ^iQbgRpgTYj^#({zrPxL66|^BFvR_w z-uRx8#YSqz=S4e3e@Hy2ZP?GoGQFXkv2MnHiH`c4+065K_lN<*dT-<71KG^S8>X|B zHST8wVzxZieY2l`usx8@y#13rG|C#UKZ<`|-Ef`_5@qj~HeP4zV_wfI!yd=AgXNFu q2JSzm1==5O1EcA=BYIN$qx}7Df=X1AgCa1&GI+ZBxvXiSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*W8NPUfys?dF4@!?j?$6E*VK3qSr77X7rZ2vT${o|tQ+y|Q* zu0M-^zPs@}W8PDHxkvHeZXHNxT+ds;Q;`qSccAdW(#F^a>%lm>@%=-~8uJg92iE>M z?zpEQp0&p0KyyPs+dXNEbKTFv9&83G;5w*!xSHAiY(38r?r*UNs+nsSb)4v(+pWQFt`uzRkMt?iDf5{i3Kff=QsYqYfX({vY!%uM*8c4Oe)WK%0nmBPKffzh#O3pTxcBF|1>YXi z4()rh>gBc0zm@<>o&TIL@2SOqyO4R)fB0`ZT`$q}d@J{d%YUB#l%1D4yw1`1d7~csOPOQ|NqghJ^iQbgRpgTYj^#({zrPxL66|^BFvR_w z-uRx8#YSqz=S4e3e@Hy2ZP?GoGQFXkv2MnHiH`c4+065K_lN<*dT-<71KG^S8>X|B zHST8wVzxZieY2l`usx8@y#13rG|C#UKZ<`|-Ef`_5@qj~HeP4zV_wfI!yd=AgXNFu q2JSzm1==5O1EcA=BYIN$qx}7Df=X1AgCa1&GI+ZBxvX \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/division.png b/libraries/path-bool/visual-tests/simple-06/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e5abeffff296bc7759c82ce247c6cc78b1849d GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FwOIHaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*W8NPUfys?dF4@!?j?$6E*VK3qSr77X7rZ2vT${o|tQ+y|Q* zu0M-^zPs@}W8PDHxkvHeZXHNxT+ds;Q;`qSccAdW(#F^a>%lm>@%=-~8uJg92iE>M z?zpEQp0&p0KyyPs+dXNEbKTFv9&83G;5w*!xSHAiY(38r?r*UNs+nsSb)4v(+pWQFt`uzRkMt?iDf5{i3Kff=QsYqYfX({vY!%uM*8c4Oe)WK%0nmBPKffzh#O3pTxcBF|1>YXi z4()rh>gBc0zm@<>o&TIL@2SOqyO4R)fB0`ZT`$q}d@J{d%YUB#l%1D4yw1`1d7~csOPOQ|NqghJ^iQbgRpgTYj^#({zrPxL66|^BFvR_w z-uRx8#YSqz=S4e3e@Hy2ZP?GoGQFXkv2MnHiH`c4+065K_lN<*dT-<71KG^S8>X|B zHST8wVzxZieY2l`usx8@y#13rG|C#UKZ<`|-Ef`_5@qj~HeP4zV_wfI!yd=AgXNFu q2JSzm1==5O1EcA=BYIN$qx}7Df=X1AgCa1&GI+ZBxvX8+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/simple-06/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..ad52e77a42 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-06/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-06/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..7c76ee96bcba32512e8d76d72bf820b5cc70af40 GIT binary patch literal 1300 zcmX|BeN0nV6mR?JD=R*1++0c9_&MVo*pev)6(MYbIubvYO~Qaz3^C#wEXrnIZRPc0 zHdtV=ERjZ$cAIhdkGu`zile2EIPIchC&m>8+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..7c76ee96bcba32512e8d76d72bf820b5cc70af40 GIT binary patch literal 1300 zcmX|BeN0nV6mR?JD=R*1++0c9_&MVo*pev)6(MYbIubvYO~Qaz3^C#wEXrnIZRPc0 zHdtV=ERjZ$cAIhdkGu`zile2EIPIchC&m>8+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.svg new file mode 100644 index 0000000000..d89637b5ef --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-06/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-06/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..7c76ee96bcba32512e8d76d72bf820b5cc70af40 GIT binary patch literal 1300 zcmX|BeN0nV6mR?JD=R*1++0c9_&MVo*pev)6(MYbIubvYO~Qaz3^C#wEXrnIZRPc0 zHdtV=ERjZ$cAIhdkGu`zile2EIPIchC&m>8+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/simple-06/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!8 \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-06/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a2ffac39c004f06f42bad507c3ae4c6d9ba57e GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtd!88+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/union-ours.svg b/libraries/path-bool/visual-tests/simple-06/test-results/union-ours.svg new file mode 100644 index 0000000000..ad52e77a42 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-06/test-results/union-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-06/test-results/union.png b/libraries/path-bool/visual-tests/simple-06/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..7c76ee96bcba32512e8d76d72bf820b5cc70af40 GIT binary patch literal 1300 zcmX|BeN0nV6mR?JD=R*1++0c9_&MVo*pev)6(MYbIubvYO~Qaz3^C#wEXrnIZRPc0 zHdtV=ERjZ$cAIhdkGu`zile2EIPIchC&m>8+E)l=QKYvtvu${^yRc=s_uQL%?z!jW zoZs)BuMQp9i-~1o9*>9Z-?!&OxMwd(Dhk&!LA;sAOBvh0r|2Vs|B^wzd#k+jZaAr* z`}+3>J*P`+dh5o1`EQse5`L+Db zW@F5|F%}9xV|0A9Q69@=H-IYU6#iKY>9nBje2du?)P!!BJ;94>Qf37fqO*$qd`VXV zepq-L8kaFTgcMe$_%2B&jED^b<;-KMf~sQeX3J#X6m+{XsQHq3WXb`DdGwvt1B@SJ z*$|UjHGZDzK}=HM%crZ@o0Kci=ST5oX?j>?)UrLe;+dz&knMT(gmHr`6~g7HM)gSO z?{emNr0JzVh2@{WkBee;c(yp%r$W~(Zk5mv8qOZ8md0LJRv@kik!UqLz#Ek3Jxo)J z&QSh9p9t~aPAdT_;})|w7&mII(^m~c1v1uY7DZGGwQPpPsRq?}b`yCq7By})cLa+Y z6ok$??KBLfCXSI97|SQg;TxPMY7z>cNz>F{>DCk8CEcB-_Rzu$B<}8 z@>|GmORyZjByGFrnzd8(Ev(@AdPduDM+v-@Z!&ukaySwl;lTpUwbaC*=B7J+ zuIuG|)8Y8q=XOJjTFnPm!5LPq>iinxS|nH`HcU?-!roWsB)M}3QQLW|gh4s~*;A2UH)Fw*2#D~#E| z$7mtNY-pp{^jZp+4xVxMCCNT7T98K6nQIs$;-5;b^6=Y{LM*>! zCS){spl9Ni^>{xmfM6EEvW76lOmRadc*;cUzhJ)&z%rsf8KGnIeo7k`n{vUJ<1Y!M z6F-E3kD0v@ojwyhVmu%#gqU)Zjc-_89cV#3Bi2!*8+Lh4vE8>O_5HIqDGh%v;1`7* z?TD1$C?>Rt8fPxpUHNK^c>zN21BXw}UN_r=g}ySx%`jSIWzgTu8k{+dF=Cs_1AngT zg>TMX%cpA~=7pZ~hR!K&;gA8JEPSd=9!<4+mCV72ZDt9r#5s68h;S>CJ5CA{myX9z zENk@eAAkwYy`X^Dn=9hc?}6h8vx)thM2T!L!nujH?7*$rRp24B8@eVEi3}nYj1(f5 zdH6+gpn~e)4|W}oOIS-hdIdBsZm$;*(;9S8BmuS64_kvr*cx+`pO8Uz_=K^eiJEnZ zV>D(`gHL#FDhiRHF$IFlMuiC!imZQi?4f}dH;nZ zvD`&)d0x6hU9TXvu&aQVf#in-)*<$Jn<)H$JDMhQ-$@RHJGxuPf4(5;t%co=x4-zn Kp5FJWoBjbq(VZXw literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.png b/libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..c5bbeabad87dbce3d424b68dfcde96545f404dd9 GIT binary patch literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FfH+PaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VTOR?zBI?txZ#Q)6xesg2@0e?pRXRXQ=7i}ag`1Y9o|9MXe zM1LrGu({!}O+8R?^v*|1f1WRwdEjVsI-S{{J#O}M*AMGI#~twgJpc7p#(mNiRv*G* z%4B}%KG<972h?!?+0A|27U$~cu`|lB%klg%`4DPzx}0(T+0BY^CA$w8uKSVwptfQE zGy8drXNrI2J}9l2*3PhK|&LI3FIs@w;gE2f=)#?>T#H~q8E z@f~k0KHNQ!&!~U4zUMK+@ydU3v(qaL!Uguc$Yb5d{y_0SI3rNa*2euz`?xI5?LVK* zyvOYP{k1myP4#p8+2(z`e&9aPCi$bAYfOMXT>Eo-b!Nl#XO(|VKNtd?Sj>8G|2e%6 z*P6WV^VaZuxO(7nfwW2?yhpf~+5&xgA)jX$_w(-I)8F;@fGY#@e&!nU50?+UY<1EW zY#(kOsAk-KAe(vmjyJm-zdv;SeCt5IEPGj{oIP`m>4)1k>PPmUFMP1N@%y8haZ(iq zA1>RRKF$z-cK@5jjq4xX{Kxhq7bqEB`A^`#Auz~t9&Bw)wpkwgfaO2Xz3$BQynoC# yoZip#QU3kf#_7+xK$iZ<`d6%gH^n@bXVjV(wJ~i*;b&m7W$<+Mb6Mw<&;$V3%6}UG literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.svg new file mode 100644 index 0000000000..1228c4be6e --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-07/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/difference.png b/libraries/path-bool/visual-tests/simple-07/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..c5bbeabad87dbce3d424b68dfcde96545f404dd9 GIT binary patch literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FfH+PaSW+oe0zX-flB1GV;}#Q zzw145W_gi!^19sH+n^}3XWlfg_4AC3mEQd<+n!amtlc{M>iSRnrKkSCyW-D#x2N^y zTK{(k{=DCN>VICyzw*VTOR?zBI?txZ#Q)6xesg2@0e?pRXRXQ=7i}ag`1Y9o|9MXe zM1LrGu({!}O+8R?^v*|1f1WRwdEjVsI-S{{J#O}M*AMGI#~twgJpc7p#(mNiRv*G* z%4B}%KG<972h?!?+0A|27U$~cu`|lB%klg%`4DPzx}0(T+0BY^CA$w8uKSVwptfQE zGy8drXNrI2J}9l2*3PhK|&LI3FIs@w;gE2f=)#?>T#H~q8E z@f~k0KHNQ!&!~U4zUMK+@ydU3v(qaL!Uguc$Yb5d{y_0SI3rNa*2euz`?xI5?LVK* zyvOYP{k1myP4#p8+2(z`e&9aPCi$bAYfOMXT>Eo-b!Nl#XO(|VKNtd?Sj>8G|2e%6 z*P6WV^VaZuxO(7nfwW2?yhpf~+5&xgA)jX$_w(-I)8F;@fGY#@e&!nU50?+UY<1EW zY#(kOsAk-KAe(vmjyJm-zdv;SeCt5IEPGj{oIP`m>4)1k>PPmUFMP1N@%y8haZ(iq zA1>RRKF$z-cK@5jjq4xX{Kxhq7bqEB`A^`#Auz~t9&Bw)wpkwgfaO2Xz3$BQynoC# yoZip#QU3kf#_7+xK$iZ<`d6%gH^n@bXVjV(wJ~i*;b&m7W$<+Mb6Mw<&;$V3%6}UG literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-07/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..49ef0803b7334de8aab88fb24eabcb5cf2b1d30a GIT binary patch literal 1062 zcmZuwZ%kWN6o2ibudMWeM#>1VGK~1aB4vzW!zzdl5lLX0WrP%35~7Cx#36l^O8X!i zjxqRPq;Zp{K}$`RQ4QG&q3|wY8D=1jTa-y1y=zCw0;3Na$7^`&^I`Ox$-Vd7oZr3Y z{Bq9uT|8Y;ipx@D2!h~c@0@yHusH`i78A}YaikAH&?jZ5iq8B&_pTcHBwo6nbuUWYCVZ1w+nFlH3 zC?(=f@SUGqMgqVfO6XR@>4+=R2IJF4FjU%Saoh-?v-Su^{IazInm%y7(-s zA?U+)M!RyD4yyxA2>Ldhr0rp~QvBx~S~+)VdqT7pN96F`YTTUY*{$WgNA(?t$v~x4 zxnvorg>xV?dp{Xoi>zc2zq<3=xnj^889JB7wo>a8R$I`}2TQ`MNZT(Kw+k!mUmQef zi91hS&|^6t;5OJsXrJ8DFglrN|?ZUgrE&j zVHz$)E2V{Tn&ogQGiu5OzVJ6~y(;Cc33EQv0dJV}!uu|S5_7TqRP>5!HkBw~&en9M zv9H1zQ-uJg2ftdA5*TlapY&^(I_Mys{_5E{wwc0rM!k|jQI<6%Uc1N>ep&cyfy)tU zJp)`vgjzUEW0_1gkTU6;rIUU;p?BiuB+u?2HO0*6elztrxej{C7r+pc9%vmG2=1+F z7kj6AV2M%1ypAM@W@Q>|OB|BBvlw~wv+fHj{nd@oSxP!bFPEYowh6Xbb>xu0pB5{{ zW*OgE`KaF(G(9`P9Mdiu&q@4-kX=HzXr8VCqsS!=;aq%`Th7?H%}+oKr(o{Z{1j(S zV5(vHQTUP76_oW@X6Ssk3*I%N&Upomn-%SHRt01D0uS=?IMD!&);*DsDzE)ej2UNs z*QWY?+ji224T^+f>OnTM3NqnC@I}NXkT?QXgo&=D7CeXn=kh&=c0xi+8sQ8vX2X9G}cM#NS%p{Vr&b%CfuUW@yCR*ZH70-i{0a7fK^ryXv>Ng{~%O ypYo4bpJ&Ucdj>%;*~|*(&G=7x|EtPCy6DmM?^ABBp1v>WA1N!TI5qxeUC-aJIwQ~k literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/division-ours.svg b/libraries/path-bool/visual-tests/simple-07/test-results/division-ours.svg new file mode 100644 index 0000000000..bd75b40bd9 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-07/test-results/division-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/division.png b/libraries/path-bool/visual-tests/simple-07/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..2a5ae3c092f67b59acc5a880a1910cb2c9d9effd GIT binary patch literal 1056 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 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/simple-07/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..6756d4cca3 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-07/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-07/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4f73f95651ca74c0b46f96d19e46286dc1cd6b GIT binary patch literal 1163 zcmXYxe@qi+7{{+1UX@amIEI!VWp0aRm;wrvj8lSBnIj>NIT^xQHpi;NQV@l!RLbch z+fdv;+Kp*lX1XqMdL|63Yq2lW%|$Sc5W|o`Um?&KgudmHam{XbdvQzNAAdYgp6~PH z^S+<&E-O*TY2pZiQ15zkdpW+dm-ccBpA|9D4uXg+-?hDX52Kg^p8qW(x6GgU zeb9ZlbpJK;*p2_!!PCz3Z*k5|o7c@pn?0W#`@W;F?h&`(PdO)#{~(5UPTTdb$=#jAOUvjrH_v6Zr3h)#REE?v7jus(^8yQLB*lDr>kCrTKiMcA8ldae zhY7TXvA|x|ub6)lq$0+Uiw#qTFG4@5Z1HGZoJ|x*qIJ*hOg1u9H>V0Zctsd_S>SqA zK7GT}z1S9>tlX**4oF8gh$CL*dkTwK2=pWuFD`fV(zx@9KVT%a;(E|Za%wRj#eYTCK~L0?C@x~x&ao*o8sg? zX^rq@)dy{<40d8oAXQimSNIxY<-TTikrGlN$BxWY8osfw?YH|cQMW%%X3}6mU|~oc zSS2@!d8nKo3lrP}RSEhodI+vVH4^X3N1N%flkH0Wmqg!z^!QZeM7KI_;TfF{W4}%U||#tV<~H*IO|JBLt^Ndxjl@1eMycqWt)nzI9K;~ z&Umah!ZBU^rBE?(Z>emxEh(_@J}~izK1&|gHJr|rG>jH<(X%FkztEP#q&cTw0#}Lt z&Uv@>hJ(U!vZVcexu7)SGo%O`ozp$HPQV?Dqx5i&t}wx-M^&Jd*G?6HMyDUwoj#Zp zoAq-Q8&)vO(Yqi=*J_4bJBKp}^N(@Wd`o8FBs7LDvnJdMJ-7-=A{(`8I*qB5<_sF> zvKs7aTYO+)yt){1Jt|)>9BLu8q%98}fxS1M6`*%OMa06F6Dwy%n^{g_NbwES7Lhi6 zMTTUa*oVeX?ZY(zkO)AS2&%>0>jOPDHF`*=Oa|v&Y>?_w z*z%D9=+I;Es_yT4cwBJw<)VF{LaS`HrsL3gXpCNe*B@xaAr~jVHfS)2!}LG}>80Hc zs*7Anr4RCp`X#*8f8OUigtL($V8Se=P8pxN+N;>o>c4V83+Y`VATpt04qn6TxD0Vj zopa8`PJu@J4z|$)D{36c>dB&!ldM~-l;W7|KyWGfT07~>&3gTWTY9gy-<+Ea899*#(P&S3!utZJc$pRkxn41s0xr0~x1!aM$zE zBibFFsl457-*VS}aRiSTy4yX}f3uIhKHyL2w_glW6G~`q_b4V#nXK9xhkZ+&+>22; x1&=xjKFM)hjeZr!GNe|Fszxxwz0#aea>VS-Dg5YD9)B{#t{r9DuWhS2@h=cbT6X{d literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8557822c8b03b8b508eb03c56c232c44046ad4 GIT binary patch literal 1294 zcmXYxe@s(X6vy9>_7#CwFe#d-Zi4YgF(YhC%xE%nWue%Mid}@}O^8-S+6zR`5b3LLgI9gL?zt?v=icPro1E|Y zo=;B8uASS-*rZqlLC75+Z`~uF>2D&25O*yWIfWpS`#ZL7-fKo*0Q}0k``hk>qxExV z{v7`K>*BKR%CX=7U*)GAZJ#(D>o>eJ7pZf7)%eq?yo&qImmcN0==d*u=%c6B?6uLp z-I3s#yV0t>LVf3dPi8ggR%qRsf8izA9NLt~trVtGgfdMcw+{YFO}S0&wjg$c;3|b< z3DE*C<-`IPjg1M+15g78KpNu*3#JnYyUs&e;u$|bmLj~+Cvoq?0VE`~WHF@HkvRyoVdr+nxiA7s zP;W4ftAqpYLv}n!s&L{8798xcWH9&m*)E8XX!^uLr8m}I#HA_WT zOyXTKT*}e4Dy|$V8rn$s92ik=gAk+7C?U9`0$XVsY&N&ighTGmqQ8UNYL|jfZL1~< z{f64Xdb~sy_;$#Sd!+7cx<%A+OEdZ!p^@sbwhc>C$ zp1km?65SV$(Q4dzt4Aa0Riv2jEoRWyBmpUh2xW^gTK8M@>~)Hs++T1p^^I@74J+|@ zOP&eimI-A~dI|kQE<{2sp{Uu&-Pz~F48N)mIgnA{Zw$`+jdkq zYweexw|OxAh15DKgcihEmPkbFALurVeECl^NL|Cd6rnah(fq0g zI&CtRU(8~1b@SPvnEi1LM;}RL^80|1J-(PlzZ~OdQv_E0n+pu6+Q&A=m{QyO<;r20=g*w z#QvQ~A3vMG`y-X`7!n}NN?2)bTR`g~{!Yd)>!ge^`k5u^hMGry#4zk3Cq3R8ai|1| es;5D_Rnk~By2bv(rl2_IkR980ZtdPudi-A$Hk?ub literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.svg b/libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.svg new file mode 100644 index 0000000000..4fbad5808b --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-07/test-results/fracture-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-07/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..8709521ed7f74f2f3afa0074b3299ab05705fd0b GIT binary patch literal 1272 zcmXYxe@qi+7{~8=ZK<%*Iw?h4K-`i=VSxM^Vl8os&UKOfFm^^LO^B&lYw=fUp=%dMNm>C4g~2oi7kY~$D5Uixl{gk0A062~EkPj1<`ew!8ki$X4ZxTE{-9NRj3 z=GXg|4{DmPnF6=|k3FY*yFbT!%gR^GCM@2)Z9g7gYkY#wlZvzK#Fb=p)0Fd*RqWtb ziQt)g?EY=3)*t>WSxdx(OiNV$j@0vJVMh*=n+h#YHLG%%BG8Y8h!z(b)A+0kE}`1(%)LWCH~?@ojg)h@1_&|zm^uLdq|AtU#6w8v31YXD ztqF>WaScq0mEqtl|9XZ!i+)12BGHjugVYAJF|{j8cUU4E&H!Clgo)ckbcpJMqGFO&da+`2G_zRBeLj-tjXuGXSJMnF1>wfwjWaWu+_B!5n}>Z zF_%zxYV3Oi_mQVTUF-!lmj+9wYaeu=^{+bpaB7*=)H`)E;aW`W)+s=LqAOlUjX{G{ z1RAw znESN>9<`-Jx{7)s)1HbAEz&B(JJbqm4gEq@a#ZeH2i3!lV{8NIll2Kyxz@tswVBCm z`lae4t|*Cp5k*uTtjZ5MBUl|qPXQfJ#3fLTa%+pwCBQa0#t-9 zlEC`~BHiIyU-`#aE38J@Z=F6_M(?;0>HEcFuhL41*XkZajWCC?06zUea`f3$=Td*r z7%P%YryrG1^iy$2#b;K5oa-4xIemjFXW|LdHS3;Ua;Ghi&(`FNRUsTBIT>|lVJh7! zqE{vZZ!5J#nLmPKU6VV8dkRIVBNoh?-SE$T(2U~3-b^A}4^CmOso=DE;MFDDtwvx( z$A!^@&;3x)Cp+Qn@n+k-lh2GuP{6^x7kDrYhs=tSpBn*R%V7@&u|A>2){Vnzw_!sv zz#$l*R-=C5%Zz6NonnBmQd-N{8~Ly!pJ}_mTjCEHI9*3i_!tvklgW{*Q$5xo5~0Ig zs8d$^4z;bg&d)?o%3qt&pm2EEz}c{5EbvA44eaH)24=3Jet{+7DoBNf zD(OcJbBn0E8rbaf3{|u!t22oT?FqvgcxL|M`eeARlztPUnmD8q3np-6V8)EPrt3D- zeUa^;-Gce21q&Qs-o!Z9+g?f^MoFH|9sXMiwimbO0hhN>m;o);m#T{o?h}wye;y><@xvVI9W$fwA7a)h5Xwa6r LtsAd>sz3TK788p; literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.png b/libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaf6eb20ae6a9f99a79018771767dabe65b1865 GIT binary patch literal 893 zcmZuwZ%h+s7{B(?D+3CeXuwvwfBMCsN03fr1jeM>7>V;=;t1N3H2wqI8fE1ejB9BG zCkmfNKd6UcshAL{Nt2yPtM@h#y9iywj6!5`hoo(mbmiKHaW~GpU6<|KlJ|MvECtX1~K}jkEq=LL5g>f?cd%T{J7(VFGJ~mkY3*x);^2j2lhyT zqda}{nPfX5cK!GdgrSXaH`0VVF_{ ztI(Q${OYQZ;My7QqhvMP3R<({asio@kdWZ5%!6F^I5?L@Kg8yf%4B9NQO!OFJ?Zi= z?>X8%FBpJ1JGK_8o!uu@_LoG=aBnfYASC{>5;2nZYz>~5bt-diC>(q=TS%Po;5*(J zyG~u2Tv=>}Y54_Gdd7bZ-w_(JEwC?vmqJWxPA^*C8lss4!Si|IH+?$n0%Lc$HgZUZ zXh~+u136&brjivXWq!58DBN2pGaI#M%c;oF07IuHWx>rb`vM$tj>YMeuX~h=8xOH- z{({~rb_>(xaFL3-0sI!V(qfAl-Q39fJU9o3O*(F`sWSlHA&j{emhTMgE8wM(<-y!! z^t4|nLTmO&X;F(=8IsZsm#K%dw?*xu%BHf#x&;GTGlLVdzpj@=Xea>euvwGLj5o-9 wTx7g1Dt_>-;bB2iiASiiH~;JJ|Ew=={d&&r*n9UfkiQkwWIWtB^=VuG-$LQpQvd(} literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.svg new file mode 100644 index 0000000000..cb8f780877 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-07/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-07/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaf6eb20ae6a9f99a79018771767dabe65b1865 GIT binary patch literal 893 zcmZuwZ%h+s7{B(?D+3CeXuwvwfBMCsN03fr1jeM>7>V;=;t1N3H2wqI8fE1ejB9BG zCkmfNKd6UcshAL{Nt2yPtM@h#y9iywj6!5`hoo(mbmiKHaW~GpU6<|KlJ|MvECtX1~K}jkEq=LL5g>f?cd%T{J7(VFGJ~mkY3*x);^2j2lhyT zqda}{nPfX5cK!GdgrSXaH`0VVF_{ ztI(Q${OYQZ;My7QqhvMP3R<({asio@kdWZ5%!6F^I5?L@Kg8yf%4B9NQO!OFJ?Zi= z?>X8%FBpJ1JGK_8o!uu@_LoG=aBnfYASC{>5;2nZYz>~5bt-diC>(q=TS%Po;5*(J zyG~u2Tv=>}Y54_Gdd7bZ-w_(JEwC?vmqJWxPA^*C8lss4!Si|IH+?$n0%Lc$HgZUZ zXh~+u136&brjivXWq!58DBN2pGaI#M%c;oF07IuHWx>rb`vM$tj>YMeuX~h=8xOH- z{({~rb_>(xaFL3-0sI!V(qfAl-Q39fJU9o3O*(F`sWSlHA&j{emhTMgE8wM(<-y!! z^t4|nLTmO&X;F(=8IsZsm#K%dw?*xu%BHf#x&;GTGlLVdzpj@=Xea>euvwGLj5o-9 wTx7g1Dt_>-;bB2iiASiiH~;JJ|Ew=={d&&r*n9UfkiQkwWIWtB^=VuG-$LQpQvd(} literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/union-ours.png b/libraries/path-bool/visual-tests/simple-07/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..3169f6a8567f465351a8b73a5ee1e9e1e094dd9f GIT binary patch literal 1075 zcmXYxeM}l>9LEn2PKpJ$EDkI6rR$QtV8B*EhN#(U=bVY%7Naq>;AR%51S_-EQxrVS zs_R<&M^iCfb9S1wOEx8$$*=|GXct+Alyq6c9FaRU+9h^!O00)Dxji;Zo|in&ljryR zp3nFBK3{)SRW24~h#&|OSA0SX|=jhdF$F`60r_)n(9QOE}hAxCb3m_n~OLP8(>z=l?>U& zR*70(G>~5`M2(b&ZkU=$`%7SzF*5w&c{m$pRh)Xr=CUJJ5t>I>cw=JSsC2W2a$ycc zVO~_wCy36NV~}xnnW(#ct4aY|KsO{Vc3{_#xxuD*3)RSkzM~zxe-KKZk4#}crL>8i zb>b|XidZlC^+#s->GR#a7QGXD!(95CG$kAWXAf(=QDeVP7_1H_FvJ0@H3ack;!QTgAoo-!^qM zCqA!Eqz%VPCEjn=y-@19=g)z@mV z4-1BiGtoS52iz$WUpq!jLSIRjCNO(M5V^^9r>&LCBihhT7xHhJ&(%aAY-I@8OKhD@X@(sAdSyyUBuZGMQ7{xM$Z7O;%7$mv^f|!q+D;MC373kWZRZ-`o`T>d#%XD$oLD0?CU#4K-lh&L z%ClxLCfpZ<3}RLtJhT;UKgzUFv*;Z=61geYXP|FUUe-UC!KC94NysDaQMJi~*(;^< zl`x2+Zo87Kk?1ltk5YF3CZcVNK8OV8DNnIJi;?>N-pV9q-^-<@yOw{Qz6Eu3J)!`B!t6#)B6gq \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-07/test-results/union.png b/libraries/path-bool/visual-tests/simple-07/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..3169f6a8567f465351a8b73a5ee1e9e1e094dd9f GIT binary patch literal 1075 zcmXYxeM}l>9LEn2PKpJ$EDkI6rR$QtV8B*EhN#(U=bVY%7Naq>;AR%51S_-EQxrVS zs_R<&M^iCfb9S1wOEx8$$*=|GXct+Alyq6c9FaRU+9h^!O00)Dxji;Zo|in&ljryR zp3nFBK3{)SRW24~h#&|OSA0SX|=jhdF$F`60r_)n(9QOE}hAxCb3m_n~OLP8(>z=l?>U& zR*70(G>~5`M2(b&ZkU=$`%7SzF*5w&c{m$pRh)Xr=CUJJ5t>I>cw=JSsC2W2a$ycc zVO~_wCy36NV~}xnnW(#ct4aY|KsO{Vc3{_#xxuD*3)RSkzM~zxe-KKZk4#}crL>8i zb>b|XidZlC^+#s->GR#a7QGXD!(95CG$kAWXAf(=QDeVP7_1H_FvJ0@H3ack;!QTgAoo-!^qM zCqA!Eqz%VPCEjn=y-@19=g)z@mV z4-1BiGtoS52iz$WUpq!jLSIRjCNO(M5V^^9r>&LCBihhT7xHhJ&(%aAY-I@8OKhD@X@(sAdSyyUBuZGMQ7{xM$Z7O;%7$mv^f|!q+D;MC373kWZRZ-`o`T>d#%XD$oLD0?CU#4K-lh&L z%ClxLCfpZ<3}RLtJhT;UKgzUFv*;Z=61geYXP|FUUe-UC!KC94NysDaQMJi~*(;^< zl`x2+Zo87Kk?1ltk5YF3CZcVNK8OV8DNnIJi;?>N-pV9q-^-<@yOw{Qz6Eu3J)!`B!t6#)B6gqZA=?w9KYk}6-%!$9b?im2AMH|rNM+;nUNlYg0U=WzYT(-iK6_or6lZSkb5V}JO0`Z>tEcS zeA@ke@mG)P+yno$+8?bQ7wp!zPN%)tZyfyg%CBv?npyh}Ex#LHdMNll*f8d#hlfAj zU%CAxe7Q8FzyE&_o-1=4<`*h{ixs5x8R3I?e6a?$P5T2&%mg$n1kS3BIM$rV&p>vO zBdcB!tmE`#2Mf1!h4V_SY%xNM6vlY|8B^Raei5k}>l38BTL`3)B{(J=sTW2}G)i=4 zuXkIMWZ5XKJu96+?XiL}TKMN6#;h_C|{dg-( z#FCk=Jr$$097q9=(T?$zOzY5AKjre!s56$IXS5CTZ*U_9ClSl_P(Dw2UMyJ`@*i?Q zD`S0*oZczFUcnu$SCDmFAK77xGW%_}IMLAEn*Ca$H-M6LR&O80uKm8wXtyH>8SmPe zQyYC)^Q`I*m*?$+toqX@_!&mOZEFLl#=6mCAOM=ku;&c5)@M4dCbjW66+oA}!is2| zDfFN8i4>b4I#nW|waG7xWbxVY72B17BBdQrWb&V>r<(lVrC9SL@8La%yL!5yCHnKVL?QQgBs#qF{78~$)9hCa%Ig4Ws6S| zjM&!BPgZzQa%n%YIg9`FP7_Zsr%V>ld?Urep`@6hcURw}Y@Yd0(({c1{~R!cyG11s zxL|^6r-BM)lg6|T>dztL*^0fKSL}dL8z3MpsJAj9yLYPZKxRqal%(U=Th`Oc(|NC~tnvMIKD%?2p%+Osh$ZXfa2&Yxi>?3ZJGwQs099 zOt53ZoCc<+>1i!u!vq=LnLIg21;61Q82-LdbLjmISP9c(^wtB@y1JVMd_xJ~tqlUb zp&v4iMXQg3v@bAUoClgQ-M9v!$Bn;;f#)jUpy3F7J;RKwV2aHG{|s{~^iqwGnWmu6 mU(GoM_o8G`ay+D8Pl3J49`n=jjehXqKt%;5`H#+3U;7uAFixKU literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/difference-ours.svg b/libraries/path-bool/visual-tests/simple-08/test-results/difference-ours.svg new file mode 100644 index 0000000000..a296055ad5 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-08/test-results/difference-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/difference.png b/libraries/path-bool/visual-tests/simple-08/test-results/difference.png new file mode 100644 index 0000000000000000000000000000000000000000..008d2ba4f66997bc25928e323123c296230b24e4 GIT binary patch literal 1175 zcmaJ>ZA=?w9KYk}6-%!$9b?im2AMH|rNM+;nUNlYg0U=WzYT(-iK6_or6lZSkb5V}JO0`Z>tEcS zeA@ke@mG)P+yno$+8?bQ7wp!zPN%)tZyfyg%CBv?npyh}Ex#LHdMNll*f8d#hlfAj zU%CAxe7Q8FzyE&_o-1=4<`*h{ixs5x8R3I?e6a?$P5T2&%mg$n1kS3BIM$rV&p>vO zBdcB!tmE`#2Mf1!h4V_SY%xNM6vlY|8B^Raei5k}>l38BTL`3)B{(J=sTW2}G)i=4 zuXkIMWZ5XKJu96+?XiL}TKMN6#;h_C|{dg-( z#FCk=Jr$$097q9=(T?$zOzY5AKjre!s56$IXS5CTZ*U_9ClSl_P(Dw2UMyJ`@*i?Q zD`S0*oZczFUcnu$SCDmFAK77xGW%_}IMLAEn*Ca$H-M6LR&O80uKm8wXtyH>8SmPe zQyYC)^Q`I*m*?$+toqX@_!&mOZEFLl#=6mCAOM=ku;&c5)@M4dCbjW66+oA}!is2| zDfFN8i4>b4I#nW|waG7xWbxVY72B17BBdQrWb&V>r<(lVrC9SL@8La%yL!5yCHnKVL?QQgBs#qF{78~$)9hCa%Ig4Ws6S| zjM&!BPgZzQa%n%YIg9`FP7_Zsr%V>ld?Urep`@6hcURw}Y@Yd0(({c1{~R!cyG11s zxL|^6r-BM)lg6|T>dztL*^0fKSL}dL8z3MpsJAj9yLYPZKxRqal%(U=Th`Oc(|NC~tnvMIKD%?2p%+Osh$ZXfa2&Yxi>?3ZJGwQs099 zOt53ZoCc<+>1i!u!vq=LnLIg21;61Q82-LdbLjmISP9c(^wtB@y1JVMd_xJ~tqlUb zp&v4iMXQg3v@bAUoClgQ-M9v!$Bn;;f#)jUpy3F7J;RKwV2aHG{|s{~^iqwGnWmu6 mU(GoM_o8G`ay+D8Pl3J49`n=jjehXqKt%;5`H#+3U;7uAFixKU literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/division-ours.png b/libraries/path-bool/visual-tests/simple-08/test-results/division-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..e6470c686e85f76cbdd9d17f65d7dfd78f9262a8 GIT binary patch literal 1211 zcmaJ>ZA?>F7{0fc7A%w!5Ybi#GxHDK00l-J#Sf4%*2Is6*f_qr$OJ^F3`Q@)=)ENi z%BHv0@RKREUg+EZT5FacUsJZ~F@h3NB-9W5a77Yy;;TW30dSqo}c zuReO*^O^FjvD(r9@2LFR(D|Xsa3FQ>s<&a_{G}h-GOK1x>o)1P!MPv(?)R5;8Hqv5 zDX;VDM6jkHpuO{dq2$a+>vs6G=;v^M#6?-~@2KS2a=d%Wvt?%r2^QGIE^kvMuuxqB z@*QxOUSwE8H)7t6nQ(u4Fe}VpR}wb9b)%KC@mi$Zd9}#DkNrdm9ZZwQ+4`{VQY9Fm z7TtV*8dMv}J-|2Q8m63rRXiYBMg-x&?lpZ$_AfHiG|FnuU|-&6N^8edc>I)kI0I%W zCMPl7lx~l{+*biOCGMOue<6e_Wl*3^Wn6@kxC^mw3`Ga zH&-?tinc{YyY@P2-2v5x7k6<&!?$LzPEFld9wv6(w+jy43`#g>K1kgvbt}`t{`4e4|K2GgwA6Vx5YK()|%6%6= z-{5mOEcCDJCGkX+KaF*2iFl#_s@86`NCtOBlc<#(n*({)kXO-X7J6%;eTz37!~P|Q z=BUi;OcUXr(nadyK-G||i7GZ!$8kH2_2PIkKA^$wSyg{&%6B*;i6#VYX3-{3ugJA&*rW5MS<3sw1uaHsluoDaIc2|3cpp#MJHqq`C z=jv%NFyxZbsugbxOM~2vXN+D}Vvscqxq9hEzppt`rPxh=UQ!m4{Cy~%$MiDy>c&O~ zUFB49pt^zH!XHS(pmxoa4NV&fh8GT+k4nv%cm!23rF6J2`P})JHD(b!GVJyr! z(k-^e1kYWTl}NeXF2REvx<8cocw?X?o~r>`DwE!)Do}^ZMabg2kn;8zcJJ$UkLhlQ z65{1j_dw$g{IcvC;Y63u_59B45BL-WnL=@Hj~a~l9kaq&VM0K=7>_^dA362rOG7sL Ol(78V \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/division.png b/libraries/path-bool/visual-tests/simple-08/test-results/division.png new file mode 100644 index 0000000000000000000000000000000000000000..49d65e5ed4f967d536102a7546bc57fe21807e54 GIT binary patch literal 1211 zcmaJ>ZA?>F7{0xiUJ$4yDuP92GczXQs1v2#EU1WMjKq(HtaAu-!3+_lAZEP^Ywv}a zW;nt95R&Q2GUGHcyWMQGuoipjf;yqxCB}5KLN6s09Y{~D$Zfc`J8t{2UrWwMPM$Z< zbKduT&iP{R?h;wDA{oOlS?PPlAE15XtC>WiRf|W>7?#jhTD+s2k~{^(w{Pt4z8#Jm zX3yLmzI?2#hCS-L@$abn($f9D)v_sX&202D`{9${o43|Kus(BTor{lN5kv1znpErK zj(t)8nS1eu@|fY`|3S*Fi=E5h!vjC1h^dV^@t0}JN41h(Ph{Q;DhQ5u$pg`rI^IF| zkkp&}C1wI}gvo7NiCHD$mUuyu#al+Wq|WE@5}p_e*UoL}EOSc1s|*Suum`M4rM38pazqIH~b8_hX| zi-iWuq>c6lw`IFi;KG6MC}^^{D%mvn8h@SP0{e~0>Jd|JTZS&sVGl|d8rZ(h+Jz(h z^}ZQ3tPrQxP?GgpaWm&P5ZOdI)P^q@6@4p~P^gpww-e&dgjeXagP9-in8yc}a!=II zmbUdQXdyx#)8e)azP>-uLRVUjW(b)qwT<_kh*c>BMG`CIB8sjOMDb2zf%a9!9)Mif zhyupPvV>e+;u1>FF9PjC*G^dE%+R*VxfcZo!cpfT1aC@Wsb%mWf0gbD`sGc7^@MBg zW1x>*z&FCUBL+&r|sivHz%9B%0Jm+x0T! ziibeoG?+)sn+tHEIvxl8O1y3)WU0bbv)P65j#pY2>jww$GA-7|4%s zrBuv+tXBT)McuA#S;gC#9&D^TC#Lv)@(-hVsIysmF2k*tbYYfT>DIgH*|H5x53;Fx z#5MW@Kn76Z){)3M3*kQf*vm+@PK|cv*kA>5CpsTp$x>?gr}J)7Rk0lJq$?QhREN1~ zki#6JZw3z$t*SIW6sSJMS3lXI@!64+t&AD#C1##|*PkwA@~;B}Au(qEb~R!xn)E*j zgK1)qq!7IjWFK_h6bhx0PLYj&7dUd{4x=Xrmc|d4$G%yepjm;!n(0dZGSeG8mBX9q z!fa|?%#)^d=EDl5taVHLS`XeC5nmR%!XWCNb2U72_jC4V}2iK!9iPmoZDh5b`*&>pq-r}w3A7elwV;hf36uf)yX QM4u8?x@&haTcm6I3lbZ1O#lD@ literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.png b/libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc8bd876436f1f8fa75bcd910660525cb770c76 GIT binary patch literal 1858 zcmYLKe^8p|9e-cm@M1Mgo14<9F-_L3chiWeie#Z$YmzQ?OO~$Fa}r?d<)|eFT~d5s zCBkdEr0cSDe{7P|j^x_Q%w12}#U#mAF zY%X8p;|HTH_s%k@$OjhkA~6fpgk9hwzWj%&a^7^oPBs@&J-Op{L5rA|!FoRXeD2Ie zLM?POfj!(LBO;{YN|Awak-748FSpIN(!otL@fDU##FIY(-Gs3e`gzaO!CA(&@_{+D zt+_DWlY6&h)1Vd`|G9^=GnSY-ZfAVt@Odr0gPW!ON7Ht?4z^*Yt&WCGSuq)|pz2_~ z^2t53nT;K2gZg9`+aW|_!*Q`u;#=lQpWCb__|F*(>{ zU9;1p@tFFFA7hac$w8ep>ZDh$@t%u>ROpa(J``9m)tENB-5RxLEX#$)VyJ2n8ykH8 znq+J%*8`DXwK@7O3ym@<7{XccmxYS=JXTzBN#gA$S|0xl=#!55>5ni2ox7$mNfC!| z0ka`O`zn!$12Yk=83{V3&FEC8U1GRTVX_JNZ&;iSFr+YT@qKlbVFjwMTY(yPiH(hL z0kH7IEYO{GozrG|Ri|e`9OGrauWrzzftc{y)M2TZFYDu-2vjvz-7KOiG#1b2A~|mK zedmrkS!43LzEBhS6>|ztdvfF`ee(g(<8HPnebT!2396{8nM}VkMd_y~>D2wGT5FMT zXllQzZbX}Xn@hLjtao~&0X8ZP&rsXBPwB(?-(^sfBODFB^*0=vEuD(z(lzGGv7muT zAvk1KYe1Jg;b!8I7SL~v%B9cEl@^oKZUh_(VYA97^)~uPzU# zvuHn?FFFVXMi~s{H`J^C91u`CWZY4oKs9a(w&M;|i;W(2<*Ua(N4C~$EUR&(EGI|q z(x&LeTnv{KAuVCMb==Lc5#f;D{9!DU?LlJG za|J51C{d&LCR1V1+1r*qVO=~zG_?uxDk1_wH|}Wk=_KhYYjoo2Y=&YKl%8`UqJ&U|>JJ=A*5pI~v@S$h{=YRj{3*twr2E)*LQTw-vO=Sz z)6oQ%+-4g(587cCg#ew0(BGOy)1LT2A|(iqOCC9yxWMo{lOl7k!@HPTT)9ebG(Kf3 zeNrVKkwl#IXets67jd7^euVgPi88Tp?kzWJ1)1zggqyJ(rFVwQ<)m`NLRQ@_Egmj` z3kn;H4_6@N)@;l%>tZc@37lo@WVoCvL5Uln@{u_hRYN~m?F(uN$$d%uZ?tPh~9k&Z= zrl>mKdI#vw^Iim*Mct{oYOA6EHR5}qJNZMKFduy0Ge2GMf6n+2 zFGD29;m1M7Sn>XcDDIL!Qf2s?RophXkN2nwGqfCL)K+pkLL1?wSWKUp+G1`>b&^|8uU@g6>A_(1FAIr(V^J{1+jZ$cz90 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.svg b/libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.svg new file mode 100644 index 0000000000..050442f9ef --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-08/test-results/exclusion-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/exclusion.png b/libraries/path-bool/visual-tests/simple-08/test-results/exclusion.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc8bd876436f1f8fa75bcd910660525cb770c76 GIT binary patch literal 1858 zcmYLKe^8p|9e-cm@M1Mgo14<9F-_L3chiWeie#Z$YmzQ?OO~$Fa}r?d<)|eFT~d5s zCBkdEr0cSDe{7P|j^x_Q%w12}#U#mAF zY%X8p;|HTH_s%k@$OjhkA~6fpgk9hwzWj%&a^7^oPBs@&J-Op{L5rA|!FoRXeD2Ie zLM?POfj!(LBO;{YN|Awak-748FSpIN(!otL@fDU##FIY(-Gs3e`gzaO!CA(&@_{+D zt+_DWlY6&h)1Vd`|G9^=GnSY-ZfAVt@Odr0gPW!ON7Ht?4z^*Yt&WCGSuq)|pz2_~ z^2t53nT;K2gZg9`+aW|_!*Q`u;#=lQpWCb__|F*(>{ zU9;1p@tFFFA7hac$w8ep>ZDh$@t%u>ROpa(J``9m)tENB-5RxLEX#$)VyJ2n8ykH8 znq+J%*8`DXwK@7O3ym@<7{XccmxYS=JXTzBN#gA$S|0xl=#!55>5ni2ox7$mNfC!| z0ka`O`zn!$12Yk=83{V3&FEC8U1GRTVX_JNZ&;iSFr+YT@qKlbVFjwMTY(yPiH(hL z0kH7IEYO{GozrG|Ri|e`9OGrauWrzzftc{y)M2TZFYDu-2vjvz-7KOiG#1b2A~|mK zedmrkS!43LzEBhS6>|ztdvfF`ee(g(<8HPnebT!2396{8nM}VkMd_y~>D2wGT5FMT zXllQzZbX}Xn@hLjtao~&0X8ZP&rsXBPwB(?-(^sfBODFB^*0=vEuD(z(lzGGv7muT zAvk1KYe1Jg;b!8I7SL~v%B9cEl@^oKZUh_(VYA97^)~uPzU# zvuHn?FFFVXMi~s{H`J^C91u`CWZY4oKs9a(w&M;|i;W(2<*Ua(N4C~$EUR&(EGI|q z(x&LeTnv{KAuVCMb==Lc5#f;D{9!DU?LlJG za|J51C{d&LCR1V1+1r*qVO=~zG_?uxDk1_wH|}Wk=_KhYYjoo2Y=&YKl%8`UqJ&U|>JJ=A*5pI~v@S$h{=YRj{3*twr2E)*LQTw-vO=Sz z)6oQ%+-4g(587cCg#ew0(BGOy)1LT2A|(iqOCC9yxWMo{lOl7k!@HPTT)9ebG(Kf3 zeNrVKkwl#IXets67jd7^euVgPi88Tp?kzWJ1)1zggqyJ(rFVwQ<)m`NLRQ@_Egmj` z3kn;H4_6@N)@;l%>tZc@37lo@WVoCvL5Uln@{u_hRYN~m?F(uN$$d%uZ?tPh~9k&Z= zrl>mKdI#vw^Iim*Mct{oYOA6EHR5}qJNZMKFduy0Ge2GMf6n+2 zFGD29;m1M7Sn>XcDDIL!Qf2s?RophXkN2nwGqfCL)K+pkLL1?wSWKUp+G1`>b&^|8uU@g6>A_(1FAIr(V^J{1+jZ$cz90 literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/fracture-ours.png b/libraries/path-bool/visual-tests/simple-08/test-results/fracture-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3bc0833994ead103fa3e0ca4e4b06e690f203b GIT binary patch literal 1834 zcmXX{aZDT689)1Co7gy^Q5>h(h0?5(Hm8_`jF845WF$>f)X=O`P>Zo0rOcrY*lriN zBVgZ!O%#$5X;Se7#EV)nDn;O~890#-`(?vpD`i)bC00|#gcu9d4L4Rk=9&gSdjHa2n^-lSuZus9w|ybY@GW(7By8h;k_(Sb+@HMOlo z%GahZWUV(C<<0-x1HH6s!5H(>tk}_JCUc>WoIJ&Q$pWqnb7nI8){C}^XH-N1SEyfo zKvCg^V`ZE*F@xobP|OjNH!IoYcYr1FNgn#Cj`A)T8#LTOFu>SQYzK-l=Q7fD4Wyu6 zR3a`GWDptLH=vAa!(w>qCv5mQK6Yzyhz>0nUyFnnCV?eaGV?q0(^~i@6&9b?jfb&{ zO@ES&t!MLRI92Q5+<^)D0H@La5cZQ1l-Hqx9&)%EwoujiPjg@mCeX^6BF+T!KvFLp zDI#3aC*SDCtK!FTad+^a>UMZi1|0Fu#rd`Wc&;H7i*!HOlP=5<#<5Eth7=Ap+m*LZ<428 zW`|`=5pN;7P=CC#)D~b(Foqs8S!XD?6kWLstb(zyjJLqP+p`xatvHiW+MXkdZJSp@ zx^ZK|lL%pfi9}NYyL^{1ZDJeL{40>ZC4ZnvJD!%akWE66s!vj-DdJf2!tjlvv~)oNStRe|F1Ou zY@*H`vL@7>csS^!=5*us|Lx)41+C<;3jtJcGdgErLXj)beKc-RAu9KI2C9y1?5!2J*RW}^m*_I zu;9NB-b`(`^(q$!=sB%O9VM5Rcl%J)S}>}xPRLfL_4XIo)rY`he`tqZ;?9f;eoCet zDBlK|%IhBlD-x-e{oI~XkyF9`r=RZ0qg`VE<>(U=9KdF}qeHUht?cr>XDQ2VXgA|m z5xIke_UnW3-cJ0m?2q_nWpX>??>gN%g0)LmrFZtK}!v^|lq$7#@ zuSH{hw1t+gJL#p#RD6T7y>UF-t&RY z)R%#c?ovn)wS&d~P&_-Db|HcMvR656L4a<7?oznje2I>J=j! z$%IEz-?f{cqi)R((c#&^*R8Z9;Ym*EE@PvLF*=5d|AefCJJ(xK6LyxSlISKdrR(ZN h^`fkGU;OIdM-R2lK7Z& \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/fracture.png b/libraries/path-bool/visual-tests/simple-08/test-results/fracture.png new file mode 100644 index 0000000000000000000000000000000000000000..f95496ac7dd8172c3444547cca38d67858d19233 GIT binary patch literal 1831 zcmXX{4@?{96~FV@XNobjSshkGNitQf6jN-H;6O2EEum?K7Mi3BBRDqGgeW1#Zcxk} ze|?~Yl_pfFR9rRGM4K`qO|j7!F_q8wSi`8|dLChfP%riwhCOW|cW_!b!o}=^Rr>Dk zlivG&?|bj}d+$De|M*dPsxlRVAo;QPj+_Kv&GwUmf_If@qZfkEC&!Mw{Q(BAP{@tf zst5kEy4CXJ>bKtwU#R%C%N)M*!)mzV9Qc{rdEnqro^04W=URW?TiiJ3Uh`*tzV+yq zz`VO$`k;qcU+iz!JhY|FKqFb0hCOI_`oM0F z#>>lC3m1X*NPw-Ak+)}t)~cyS?zj8EA+y~RH`!EdF?E}?0^4q2BR@<@nr%4TB+;XV za0-^feovLzdm#o93PRDN$n^N*F=9S$dN&r0&rpqfq>(S`Hyh}m+oR}dT_6foivJ{= z-cs_vVzYW&OGQDVh*cS0r-$(v!0pVU-T0lebcg+H-ewM62f=DNsby>Febl-^h;r5qT)|v{)CgaB8oD&!K&tO8!IVYz<=i zrp`Sj>&0Sv8GqhrZ-F~s99Li|juHgZsK4}}o&O#KRm4B8FM=Ph2`BKRQOW1gH(?_n znl5BH%4D6&KrE76e83+sUk^k6Z@Bd{6k}beK>R`OC`*C^Z_+pShy?{3rmB!eT8(QF zCN-JsT=w8ID?mMLSm&OPR~xT`jEa1R*cxheU6fQ}4KD0e`V$yoBnELr_TJyjx`2su zbMp`YZq}+9zO9;ek1zhg{%O3A0V`H*+n8TimSCFDg+TzlpjQ?q zPf{)1`5}>@u%>}){SH6Q1e?KTQjlT|&gGlfWQq%@ry42^j+P+&E*F1}9>b0PU~^%5 zd*&A0&*e_zJ3dq+oDp9zDmCnBs*Mw#YpdGD?B2XKGd+sWkXovOBW?IV1z9UrQ~!ay zK>uERva?sEPv@JQ%cFLnp{FMSv)nU4mm6Rj?a@RZgZ6X6%7sgIDeT@6caJid#Y}lh%QRnEFkrbO^}CY2k)MuG{~(# zqNX8*@C)7W5ZZKEyiK2TzK8ILutw*69$TUdRC3#p>d9^IXH9g+_@eKp%-!a<(uLf+ z>94U7klx^gjP}`=bnc;eb*FUvb5KnQf5ye<)H>?J68&XWB!jm({SI^j?N&|5_&gV8 zp~pUjO&~sq(8B#0L~y4YLW*c`w4-1|rpxAS#_@G@LiUglN3zDt*aFBT&raaa3)ry1 z_5$BzEbPu)^o=jJVRx8VUno(|MJUJH)~TzPzj|ea-q-|1^lmuzxiB;BG0J$e^Avhokpb-YLXhm6# z74a3Yvs5GEpHhUN93+>xK53DGHe9($Ea|%Z+p{nXCZz+rwjz21+P~Ee*oB{&>EW*z zTU{8+{A&BD-LXh_gR5r1dg;UE@@5sA55^yZiUj?Q zs)Xs%J^$ceD2mAF0?h`ZPUE48<4vk!V`$8_Bs_LUBn7b^y2~ zfcz_w(x9x0%78oc>~Z1x54 z&`!B`Z(Yhs(|yt9i^i+PdtIO%4_gN_gB8d$&v0qxi4oX-tx{Il^@*BnFAkPyy0x=`@@^YYQHLMe9NR>kK3CM z6@ooE;`05%z^S~&^Z%hmEYb zh&C5gub`W)0{TOJUW*$+7P1Qm$vMPOOg^$Sn)nVG=hBBrkIkQjzjubs$P3KMLE630 zMD>Im1h;iE`BzjKCMezbeSt+xH#oeob}IR7T^ZJ8idgntd?&z-P9;+T+XRuoBr)FZ zdD1t=32;NU{E}}PGUvSQao&*Bk%GrE%+vH?x8wc%R*!8_QbzrW>WPStQ4~}q+S>+* zX%YQsTR zP;2OBN&cDH=1;--gcor_*Vy>=`AWK)dd8KI8$uC`mR=|}zna&7Ev literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/intersection-ours.svg b/libraries/path-bool/visual-tests/simple-08/test-results/intersection-ours.svg new file mode 100644 index 0000000000..2422318d54 --- /dev/null +++ b/libraries/path-bool/visual-tests/simple-08/test-results/intersection-ours.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/intersection.png b/libraries/path-bool/visual-tests/simple-08/test-results/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..45c13d39ec8253e42a97d33051fea97bf5062dca GIT binary patch literal 947 zcmaJ=Z%i5o6hF9fIPnT`GulcqYxiNPt&oD+M38jTZI(>u*32|GAZa$&IhEFgKdlkY zWo6S9KQxs@oo*wpOBRa>E5vZ_&drWS#>l#C+7P%ai(q0aC$!~=7ub>P!#*u}f0Fm! zFYmqI%lrJT&e!4c!{q<~z#VV2z0G=ANy{MC_HgqK006Iaw4FI;;XKB{uU%RU(8LN^~{};AKlHH{2yKU*3r`crzeBe-YmwxW74l}*_w|R z1KoMz`g(EjT*2)A|I{iL)`0UoaSE$W=+g@b!F7TGdEoo^>dQetIzlGod1m7%?OJK1 zx`TFt+d7?k5?6)@NDl~;{&;!pG9>7%K&-D>T{Lmjg>PB>JMCQ*XB3Arld2VXC+jn{`q|jWMmPO zm_A0{KsF#rg|fyXlc}K*85P1?z+qBCR*Lz$LzW@ZjZ8xE8Vh8sFP>V%9$9dCr73=x zzSyuYCcVpv)07t15EXf!XejJmQ5a`gCJ_P}t)=_P%1B0zYqL^!MjCySoz^=#-M4(R z-U(tn^ofRp!Ix&MWBs6q1sJpB+rjd zSHr6lyKV$~IId+o<61D7&*jB)TUYH`>+d3T+l08FPQZWp?joQDA7zHT0#r!F>|`bN z0NpMtJT+N;X{eC&AP!)j&4068Mc0ro;%0D6b8QkD+-i5wxt4A$$?<0@dMR`Up!1melk2>QZ-*2&9{+K7;Fi>f-2O_PR}<6)nONY=B%qT#4~M pz|Zw_F_=*-g)m{_zi+}EySIMhQ_T-c*VtzSI@&wiZogs}`v-SY>YM-o literal 0 HcmV?d00001 diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/union-ours.png b/libraries/path-bool/visual-tests/simple-08/test-results/union-ours.png new file mode 100644 index 0000000000000000000000000000000000000000..31cb84caae740bdbad77b2f9ab573db4fdacabe1 GIT binary patch literal 1309 zcmYk6Z%h+s9LKLcdnI6HIuWI;_%FJNqcB~?a8McknIjXKMuU_q%VN5&B6Y^v(@L)} zhazLIpax8JCQjeb8aq4^T6-jHb*o)dHtmMOU3HW!LwnE(*Y)h}(d@;N=bq=q@4mn1 zx$pOL&-uN3cF8jHG9d_(?S6mzM_?^}`D7qqJ}6GML(qahc5koTZx%hJ;45qEdVZJ@ zPConU?!D`uSAXJcdU*T4q3?9`eBg4tvuX9Sq>23O)VJ+rhWoBrpS)Wbzrn|MPO2ZY z+2$X2*pV)Hh|5*8Pl2y*)po%V+6Hjpyv5BBi&@eMMotSNU12poWYJ! zRYW@!hxvCy^e)&xI6YvC#I!r3bSz963ZxSkbtygbAweSt&;Sk9Ech(mtMP$!0ON%(6N3XTQxAy%l+Uw#s9? zEU~DR)M*hddz6WO5pammi@CviSpEDE)tvB*xGzB_JbeSTDuIXWDC7c$8uJHpIEB+} zaB@wKNf#b|p`zj}?_I{0Y34?OjIYHprHo%@j=y8wKmzqb-k(7-XQxV2ERkUa!mCX;%mQZqM3=@M4~D)t!ubatcNJe-kk z%a`8i(y~1c8bqu>nzTDn;X=)(go}O)8%u7>8n1R9R zQnudH7?-hO)T$1;d6jbcu(kCva`ejuSRPm8h_u;AvDx5=6tU%Kpe6x?>q{5$8%Gwc zWhbc9iA#5~7%w=h>oV|AI@k>;Q2$sBYvJJ>T4KpP=-I-K`3YAnnNm0=hhAc^{#3J* zd-HC&xtX~p$u42?R$pyVGY~(Jid@+kkQ?hXbhf6Qnqu_uJ&wa(FQ3%B=csQ7G!hhfTKE zp>ClPd{ZIFyuryC8tnkVqOzZJ_NUu%JxF$Vh}L~+k2f86neItlynFkr7!s0cxdg)7r3bh)`$P?2I%d`=kWb~&g02fn%b SU>&&jpxrz6Y \ No newline at end of file diff --git a/libraries/path-bool/visual-tests/simple-08/test-results/union.png b/libraries/path-bool/visual-tests/simple-08/test-results/union.png new file mode 100644 index 0000000000000000000000000000000000000000..31cb84caae740bdbad77b2f9ab573db4fdacabe1 GIT binary patch literal 1309 zcmYk6Z%h+s9LKLcdnI6HIuWI;_%FJNqcB~?a8McknIjXKMuU_q%VN5&B6Y^v(@L)} zhazLIpax8JCQjeb8aq4^T6-jHb*o)dHtmMOU3HW!LwnE(*Y)h}(d@;N=bq=q@4mn1 zx$pOL&-uN3cF8jHG9d_(?S6mzM_?^}`D7qqJ}6GML(qahc5koTZx%hJ;45qEdVZJ@ zPConU?!D`uSAXJcdU*T4q3?9`eBg4tvuX9Sq>23O)VJ+rhWoBrpS)Wbzrn|MPO2ZY z+2$X2*pV)Hh|5*8Pl2y*)po%V+6Hjpyv5BBi&@eMMotSNU12poWYJ! zRYW@!hxvCy^e)&xI6YvC#I!r3bSz963ZxSkbtygbAweSt&;Sk9Ech(mtMP$!0ON%(6N3XTQxAy%l+Uw#s9? zEU~DR)M*hddz6WO5pammi@CviSpEDE)tvB*xGzB_JbeSTDuIXWDC7c$8uJHpIEB+} zaB@wKNf#b|p`zj}?_I{0Y34?OjIYHprHo%@j=y8wKmzqb-k(7-XQxV2ERkUa!mCX;%mQZqM3=@M4~D)t!ubatcNJe-kk z%a`8i(y~1c8bqu>nzTDn;X=)(go}O)8%u7>8n1R9R zQnudH7?-hO)T$1;d6jbcu(kCva`ejuSRPm8h_u;AvDx5=6tU%Kpe6x?>q{5$8%Gwc zWhbc9iA#5~7%w=h>oV|AI@k>;Q2$sBYvJJ>T4KpP=-I-K`3YAnnNm0=hhAc^{#3J* zd-HC&xtX~p$u42?R$pyVGY~(Jid@+kkQ?hXbhf6Qnqu_uJ&wa(FQ3%B=csQ7G!hhfTKE zp>ClPd{ZIFyuryC8tnkVqOzZJ_NUu%JxF$Vh}L~+k2f86neItlynFkr7!s0cxdg)7r3bh)`$P?2I%d`=kWb~&g02fn%b SU>&&jpxrz6Y Self { Self::Node { node_id, output_index } } @@ -573,7 +575,7 @@ impl NodeNetwork { pub fn value_network(node: DocumentNode) -> Self { Self { - exports: vec![NodeInput::node(NodeId(0), 0)], + exports: vec![NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [(NodeId(0), node)].into_iter().collect(), ..Default::default() } @@ -767,7 +769,7 @@ impl NodeNetwork { if let NodeInput::Scope(key) = input { let (import_id, _ty) = self.scope_injections.get(key.as_ref()).expect("Tried to import a non existent key from scope"); // TODO use correct output index - *input = NodeInput::node(*import_id, 0); + *input = NodeInput::node(*import_id, NodeInput::PRIMARY_OUTPUT_INDEX); } } } @@ -866,7 +868,7 @@ impl NodeNetwork { NodeInput::Scope(ref key) => { let (import_id, _ty) = self.scope_injections.get(key.as_ref()).expect("Tried to import a non existent key from scope"); // TODO use correct output index - nested_node.inputs[nested_input_index] = NodeInput::node(*import_id, 0); + nested_node.inputs[nested_input_index] = NodeInput::node(*import_id, NodeInput::PRIMARY_OUTPUT_INDEX); } NodeInput::Reflection(_) => unreachable!("Reflection inputs should have been replaced with value nodes"), } @@ -946,7 +948,7 @@ impl NodeNetwork { ); *export = NodeInput::Node { node_id: merged_node_id, - output_index: 0, + output_index: NodeInput::PRIMARY_OUTPUT_INDEX, }; } } @@ -1149,7 +1151,7 @@ mod test { fn add_network() -> NodeNetwork { NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ ( NodeId(0), @@ -1162,7 +1164,7 @@ mod test { ( NodeId(1), DocumentNode { - inputs: vec![NodeInput::node(NodeId(0), 0)], + inputs: vec![NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX)], implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("core_types::ops::AddPairNode")), ..Default::default() }, @@ -1179,7 +1181,7 @@ mod test { let mut network = add_network(); network.map_ids(|id| NodeId(id.0 + 1)); let mapped_add = NodeNetwork { - exports: vec![NodeInput::node(NodeId(2), 0)], + exports: vec![NodeInput::node(NodeId(2), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ ( NodeId(1), @@ -1192,7 +1194,7 @@ mod test { ( NodeId(2), DocumentNode { - inputs: vec![NodeInput::node(NodeId(1), 0)], + inputs: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("core_types::ops::AddPairNode")), ..Default::default() }, @@ -1214,11 +1216,11 @@ mod test { }; // TODO: Extend test cases to test nested network let mut extraction_network = NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ id_node.clone(), DocumentNode { - inputs: vec![NodeInput::node(NodeId(0), 0)], + inputs: vec![NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX)], implementation: DocumentNodeImplementation::Extract, ..Default::default() }, @@ -1239,7 +1241,7 @@ mod test { #[test] fn flatten_add() { let mut network = NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [( NodeId(1), DocumentNode { @@ -1264,7 +1266,7 @@ mod test { #[test] fn resolve_proto_node_add() { let document_node = DocumentNode { - inputs: vec![NodeInput::node(NodeId(0), 0)], + inputs: vec![NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX)], call_argument: concrete!(u32), implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("core_types::structural::ConsNode")), ..Default::default() @@ -1347,12 +1349,12 @@ mod test { fn flat_network() -> NodeNetwork { NodeNetwork { - exports: vec![NodeInput::node(NodeId(11), 0)], + exports: vec![NodeInput::node(NodeId(11), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ ( NodeId(10), DocumentNode { - inputs: vec![NodeInput::node(NodeId(14), 0)], + inputs: vec![NodeInput::node(NodeId(14), NodeInput::PRIMARY_OUTPUT_INDEX)], call_argument: concrete!(u32), implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("core_types::structural::ConsNode")), original_location: OriginalLocation { @@ -1381,7 +1383,7 @@ mod test { ( NodeId(11), DocumentNode { - inputs: vec![NodeInput::node(NodeId(10), 0)], + inputs: vec![NodeInput::node(NodeId(10), NodeInput::PRIMARY_OUTPUT_INDEX)], implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("core_types::ops::AddPairNode")), original_location: OriginalLocation { path: Some(vec![NodeId(1), NodeId(1)]), @@ -1401,7 +1403,7 @@ mod test { fn two_node_identity() -> NodeNetwork { NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0), NodeInput::node(NodeId(2), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX), NodeInput::node(NodeId(2), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ ( NodeId(1), @@ -1461,10 +1463,10 @@ mod test { #[test] fn simple_duplicate() { - let result = output_duplicate(vec![NodeInput::node(NodeId(1), 0)], NodeInput::node(NodeId(1), 0)); + let result = output_duplicate(vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)); println!("{result:#?}"); assert_eq!(result.exports.len(), 1, "The number of outputs should remain as 1"); - assert_eq!(result.exports[0], NodeInput::node(NodeId(11), 0), "The outer network output should be from a duplicated inner network"); + assert_eq!(result.exports[0], NodeInput::node(NodeId(11), NodeInput::PRIMARY_OUTPUT_INDEX), "The outer network output should be from a duplicated inner network"); let mut ids = result.nodes.keys().copied().collect::>(); ids.sort(); assert_eq!(ids, vec![NodeId(11), NodeId(10010)], "Should only contain identity and values"); diff --git a/node-graph/interpreted-executor/src/lib.rs b/node-graph/interpreted-executor/src/lib.rs index be3c3a7d6a..a0683431ba 100644 --- a/node-graph/interpreted-executor/src/lib.rs +++ b/node-graph/interpreted-executor/src/lib.rs @@ -14,7 +14,7 @@ mod tests { use graph_craft::*; let network = NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: [ // Simple identity node taking a number as input from outside the graph ( @@ -30,7 +30,7 @@ mod tests { ( NodeId(1), DocumentNode { - inputs: vec![NodeInput::node(NodeId(0), 0), NodeInput::node(NodeId(0), 0)], + inputs: vec![NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX), NodeInput::node(NodeId(0), NodeInput::PRIMARY_OUTPUT_INDEX)], implementation: DocumentNodeImplementation::ProtoNode(graphene_std::math_nodes::add::IDENTIFIER), ..Default::default() }, diff --git a/node-graph/interpreted-executor/src/util.rs b/node-graph/interpreted-executor/src/util.rs index 036db17b2d..c8e763ac8d 100644 --- a/node-graph/interpreted-executor/src/util.rs +++ b/node-graph/interpreted-executor/src/util.rs @@ -22,13 +22,13 @@ pub fn wrap_network_in_scope(mut network: NodeNetwork, editor_api: Arc>>>>>> ab83b34a (fix:) implementation: DocumentNodeImplementation::ProtoNode(graphene_std::render_node::create_context::IDENTIFIER), context_features: graphene_std::ContextDependencies { // We add the extract index annotation here to force the compiler to add a context nullification node before this node so the render context is properly nullified so the render cache node can do its's work @@ -107,14 +111,14 @@ pub fn wrap_network_in_scope(mut network: NodeNetwork, editor_api: Arc")), - inputs: vec![NodeInput::node(NodeId(2), 0)], + inputs: vec![NodeInput::node(NodeId(2), NodeInput::PRIMARY_OUTPUT_INDEX)], ..Default::default() }); scope_injections.push(("wgpu-executor".to_string(), (NodeId(3), concrete!(&WgpuExecutor)))); } NodeNetwork { - exports: vec![NodeInput::node(NodeId(1), 0)], + exports: vec![NodeInput::node(NodeId(1), NodeInput::PRIMARY_OUTPUT_INDEX)], nodes: nodes.into_iter().enumerate().map(|(id, node)| (NodeId(id as u64), node)).collect(), scope_injections: scope_injections.into_iter().collect(), // TODO(TrueDoctor): check if it makes sense to set `generated` to `true` diff --git a/node-graph/preprocessor/src/lib.rs b/node-graph/preprocessor/src/lib.rs index 0f9bf398e4..7db2a23acd 100644 --- a/node-graph/preprocessor/src/lib.rs +++ b/node-graph/preprocessor/src/lib.rs @@ -52,7 +52,7 @@ pub fn generate_node_substitutions() -> HashMap = node_inputs(fields, first_node_io); let input_count = inputs.len(); - let network_inputs = (0..input_count).map(|i| NodeInput::node(NodeId(i as u64), 0)).collect(); + let network_inputs = (0..input_count).map(|i| NodeInput::node(NodeId(i as u64), NodeInput::PRIMARY_OUTPUT_INDEX)).collect(); let identity_node = ops::identity::IDENTIFIER; @@ -125,7 +125,7 @@ pub fn generate_node_substitutions() -> HashMap Date: Thu, 5 Mar 2026 15:46:35 +0800 Subject: [PATCH 5/7] fix: revert unrelated float constant changes --- .../no-std-types/src/color/discrete_srgb.rs | 102 ++++++------------ 1 file changed, 33 insertions(+), 69 deletions(-) diff --git a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs index 1a31683c6a..13a06e30ab 100644 --- a/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs +++ b/node-graph/libraries/no-std-types/src/color/discrete_srgb.rs @@ -90,70 +90,38 @@ pub fn float_to_srgb_u8(mut f: f32) -> u8 { #[rustfmt::skip] const FROM_SRGB_U8: [f32; 256] = [ - f32::from_bits(0x00000000), f32::from_bits(0x399f22b4), f32::from_bits(0x3a1f22b4), f32::from_bits(0x3a6eb40f), - f32::from_bits(0x3a9f22b4), f32::from_bits(0x3ac6eb61), f32::from_bits(0x3aeeb40f), f32::from_bits(0x3b0b3e5e), - f32::from_bits(0x3b1f22b4), f32::from_bits(0x3b33070b), f32::from_bits(0x3b46eb61), f32::from_bits(0x3b5b518d), - f32::from_bits(0x3b70f18d), f32::from_bits(0x3b83e1c6), f32::from_bits(0x3b8fe616), f32::from_bits(0x3b9c87fd), - f32::from_bits(0x3ba9c9b7), f32::from_bits(0x3bb7ad6f), f32::from_bits(0x3bc63549), f32::from_bits(0x3bd56361), - f32::from_bits(0x3be539c1), f32::from_bits(0x3bf5ba70), f32::from_bits(0x3c0373b5), f32::from_bits(0x3c0c6152), - f32::from_bits(0x3c15a703), f32::from_bits(0x3c1f45be), f32::from_bits(0x3c293e6b), f32::from_bits(0x3c3391f7), - f32::from_bits(0x3c3e4149), f32::from_bits(0x3c494d43), f32::from_bits(0x3c54b6c7), f32::from_bits(0x3c607eb1), - f32::from_bits(0x3c6ca5df), f32::from_bits(0x3c792d22), f32::from_bits(0x3c830aa8), f32::from_bits(0x3c89af9f), - f32::from_bits(0x3c9085db), f32::from_bits(0x3c978dc5), f32::from_bits(0x3c9ec7c2), f32::from_bits(0x3ca63433), - f32::from_bits(0x3cadd37d), f32::from_bits(0x3cb5a601), f32::from_bits(0x3cbdac20), f32::from_bits(0x3cc5e639), - f32::from_bits(0x3cce54ab), f32::from_bits(0x3cd6f7d5), f32::from_bits(0x3cdfd010), f32::from_bits(0x3ce8ddb9), - f32::from_bits(0x3cf22131), f32::from_bits(0x3cfb9ac6), f32::from_bits(0x3d02a56c), f32::from_bits(0x3d0798df), - f32::from_bits(0x3d0ca7e7), f32::from_bits(0x3d11d2b2), f32::from_bits(0x3d171965), f32::from_bits(0x3d1c7c31), - f32::from_bits(0x3d21fb3f), f32::from_bits(0x3d2796b5), f32::from_bits(0x3d2d4ebe), f32::from_bits(0x3d332384), - f32::from_bits(0x3d39152e), f32::from_bits(0x3d3f23e6), f32::from_bits(0x3d454fd4), f32::from_bits(0x3d4b991f), - f32::from_bits(0x3d51ffef), f32::from_bits(0x3d58846a), f32::from_bits(0x3d5f26b7), f32::from_bits(0x3d65e6fe), - f32::from_bits(0x3d6cc564), f32::from_bits(0x3d73c20f), f32::from_bits(0x3d7add29), f32::from_bits(0x3d810b68), - f32::from_bits(0x3d84b795), f32::from_bits(0x3d887330), f32::from_bits(0x3d8c3e4a), f32::from_bits(0x3d9018f6), - f32::from_bits(0x3d940345), f32::from_bits(0x3d97fd4a), f32::from_bits(0x3d9c0716), f32::from_bits(0x3da020bb), - f32::from_bits(0x3da44a4b), f32::from_bits(0x3da883d7), f32::from_bits(0x3daccd70), f32::from_bits(0x3db12728), f32::from_bits(0x3db59112), - f32::from_bits(0x3dba0b3b), f32::from_bits(0x3dbe95b5), f32::from_bits(0x3dc33092), f32::from_bits(0x3dc7dbe2), - f32::from_bits(0x3dcc97b6), f32::from_bits(0x3dd1641f), f32::from_bits(0x3dd6412c), f32::from_bits(0x3ddb2eef), - f32::from_bits(0x3de02d77), f32::from_bits(0x3de53cd5), f32::from_bits(0x3dea5d19), f32::from_bits(0x3def8e55), - f32::from_bits(0x3df4d093), f32::from_bits(0x3dfa23ea), f32::from_bits(0x3dff8864), f32::from_bits(0x3e027f09), - f32::from_bits(0x3e054282), f32::from_bits(0x3e080ea5), f32::from_bits(0x3e0ae379), f32::from_bits(0x3e0dc107), - f32::from_bits(0x3e10a755), f32::from_bits(0x3e13966c), f32::from_bits(0x3e168e53), f32::from_bits(0x3e198f11), - f32::from_bits(0x3e1c98ae), f32::from_bits(0x3e1fab32), f32::from_bits(0x3e22c6a3), f32::from_bits(0x3e25eb0b), - f32::from_bits(0x3e29186d), f32::from_bits(0x3e2c4ed4), f32::from_bits(0x3e2f8e45), f32::from_bits(0x3e32d6c8), - f32::from_bits(0x3e362865), f32::from_bits(0x3e398322), f32::from_bits(0x3e3ce706), f32::from_bits(0x3e405419), - f32::from_bits(0x3e43ca62), f32::from_bits(0x3e4749e8), f32::from_bits(0x3e4ad2b1), f32::from_bits(0x3e4e64c6), - f32::from_bits(0x3e52002b), f32::from_bits(0x3e55a4e9), f32::from_bits(0x3e595307), f32::from_bits(0x3e5d0a8b), - f32::from_bits(0x3e60cb7c), f32::from_bits(0x3e6495e0), f32::from_bits(0x3e6869bf), f32::from_bits(0x3e6c4720), - f32::from_bits(0x3e702e0c), f32::from_bits(0x3e741e84), f32::from_bits(0x3e781890), f32::from_bits(0x3e7c1c38), - f32::from_bits(0x3e8014c2), f32::from_bits(0x3e82203c), f32::from_bits(0x3e84308d), f32::from_bits(0x3e8645ba), - f32::from_bits(0x3e885fc5), f32::from_bits(0x3e8a7eb2), f32::from_bits(0x3e8ca283), f32::from_bits(0x3e8ecb3d), - f32::from_bits(0x3e90f8e1), f32::from_bits(0x3e932b74), f32::from_bits(0x3e9562f8), f32::from_bits(0x3e979f71), - f32::from_bits(0x3e99e0e2), f32::from_bits(0x3e9c274e), f32::from_bits(0x3e9e72b7), f32::from_bits(0x3ea0c322), - f32::from_bits(0x3ea31892), f32::from_bits(0x3ea57308), f32::from_bits(0x3ea7d289), f32::from_bits(0x3eaa3718), - f32::from_bits(0x3eaca0b7), f32::from_bits(0x3eaf0f69), f32::from_bits(0x3eb18333), f32::from_bits(0x3eb3fc18), - f32::from_bits(0x3eb67a18), f32::from_bits(0x3eb8fd37), f32::from_bits(0x3ebb8579), f32::from_bits(0x3ebe12e1), - f32::from_bits(0x3ec0a571), f32::from_bits(0x3ec33d2d), f32::from_bits(0x3ec5da17), f32::from_bits(0x3ec87c33), - f32::from_bits(0x3ecb2383), f32::from_bits(0x3ecdd00b), f32::from_bits(0x3ed081cd), f32::from_bits(0x3ed338cc), - f32::from_bits(0x3ed5f50b), f32::from_bits(0x3ed8b68d), f32::from_bits(0x3edb7d54), f32::from_bits(0x3ede4965), - f32::from_bits(0x3ee11ac1), f32::from_bits(0x3ee3f16b), f32::from_bits(0x3ee6cd67), f32::from_bits(0x3ee9aeb7), - f32::from_bits(0x3eec955d), f32::from_bits(0x3eef815d), f32::from_bits(0x3ef272ba), f32::from_bits(0x3ef56976), - f32::from_bits(0x3ef86594), f32::from_bits(0x3efb6717), f32::from_bits(0x3efe6e02), f32::from_bits(0x3f00bd2d), - f32::from_bits(0x3f02460e), f32::from_bits(0x3f03d1a7), f32::from_bits(0x3f055ff9), f32::from_bits(0x3f06f108), - f32::from_bits(0x3f0884d1), f32::from_bits(0x3f0a1b57), f32::from_bits(0x3f0bb49d), f32::from_bits(0x3f0d50a2), - f32::from_bits(0x3f0eef69), f32::from_bits(0x3f1090f2), f32::from_bits(0x3f123540), f32::from_bits(0x3f13dc53), - f32::from_bits(0x3f15862d), f32::from_bits(0x3f1732cf), f32::from_bits(0x3f18e23b), f32::from_bits(0x3f1a9471), - f32::from_bits(0x3f1c4973), f32::from_bits(0x3f1e0143), f32::from_bits(0x3f1fbbe1), f32::from_bits(0x3f217950), - f32::from_bits(0x3f23398f), f32::from_bits(0x3f24fca2), f32::from_bits(0x3f26c288), f32::from_bits(0x3f288b43), - f32::from_bits(0x3f2a56d5), f32::from_bits(0x3f2c253f), f32::from_bits(0x3f2df681), f32::from_bits(0x3f2fca9e), - f32::from_bits(0x3f31a199), f32::from_bits(0x3f337b6e), f32::from_bits(0x3f355822), f32::from_bits(0x3f3737b5), - f32::from_bits(0x3f391a28), f32::from_bits(0x3f3aff7e), f32::from_bits(0x3f3ce7b7), f32::from_bits(0x3f3ed2d4), f32::from_bits(0x3f40c0d6), - f32::from_bits(0x3f42b1c0), f32::from_bits(0x3f44a592), f32::from_bits(0x3f469c4d), f32::from_bits(0x3f4895f3), - f32::from_bits(0x3f4a9284), f32::from_bits(0x3f4c9203), f32::from_bits(0x3f4e9470), f32::from_bits(0x3f5099cd), - f32::from_bits(0x3f52a21a), f32::from_bits(0x3f54ad59), f32::from_bits(0x3f56bb8c), f32::from_bits(0x3f58ccb3), - f32::from_bits(0x3f5ae0cf), f32::from_bits(0x3f5cf7e2), f32::from_bits(0x3f5f11ee), f32::from_bits(0x3f612ef2), f32::from_bits(0x3f634eef), - f32::from_bits(0x3f6571ec), f32::from_bits(0x3f6797e3), f32::from_bits(0x3f69c0db), f32::from_bits(0x3f6beccd), - f32::from_bits(0x3f6e1bc4), f32::from_bits(0x3f704db8), f32::from_bits(0x3f7282b4), f32::from_bits(0x3f74baae), - f32::from_bits(0x3f76f5b3), f32::from_bits(0x3f7933b9), f32::from_bits(0x3f7b74cb), f32::from_bits(0x3f7db8e0), - f32::from_bits(0x3f800000), + 0., 0.000303527, 0.000607054, 0.00091058103, 0.001214108, 0.001517635, 0.0018211621, 0.002124689, + 0.002428216, 0.002731743, 0.00303527, 0.0033465356, 0.003676507, 0.004024717, 0.004391442, + 0.0047769533, 0.005181517, 0.0056053917, 0.0060488326, 0.006512091, 0.00699541, 0.0074990317, + 0.008023192, 0.008568125, 0.009134057, 0.009721218, 0.010329823, 0.010960094, 0.011612245, + 0.012286487, 0.012983031, 0.013702081, 0.014443844, 0.015208514, 0.015996292, 0.016807375, + 0.017641952, 0.018500218, 0.019382361, 0.020288562, 0.02121901, 0.022173883, 0.023153365, + 0.02415763, 0.025186857, 0.026241222, 0.027320892, 0.028426038, 0.029556843, 0.03071345, 0.03189604, + 0.033104774, 0.03433981, 0.035601325, 0.036889452, 0.038204376, 0.039546248, 0.04091521, 0.042311423, + 0.043735042, 0.045186214, 0.046665095, 0.048171833, 0.049706575, 0.051269468, 0.052860655, 0.05448028, + 0.056128494, 0.057805434, 0.05951124, 0.06124607, 0.06301003, 0.06480328, 0.06662595, 0.06847818, + 0.07036011, 0.07227186, 0.07421358, 0.07618539, 0.07818743, 0.08021983, 0.082282715, 0.084376216, + 0.086500466, 0.088655606, 0.09084173, 0.09305898, 0.095307484, 0.09758736, 0.09989874, 0.10224175, + 0.10461649, 0.10702311, 0.10946172, 0.111932434, 0.11443538, 0.116970696, 0.11953845, 0.12213881, + 0.12477186, 0.12743773, 0.13013652, 0.13286836, 0.13563336, 0.13843165, 0.14126332, 0.1441285, + 0.1470273, 0.14995982, 0.15292618, 0.1559265, 0.15896086, 0.16202943, 0.16513224, 0.16826946, + 0.17144115, 0.17464745, 0.17788847, 0.1811643, 0.18447503, 0.1878208, 0.19120172, 0.19461787, + 0.19806935, 0.2015563, 0.20507877, 0.2086369, 0.21223079, 0.21586053, 0.21952623, 0.22322798, + 0.22696589, 0.23074007, 0.23455065, 0.23839766, 0.2422812, 0.2462014, 0.25015837, 0.25415218, + 0.2581829, 0.26225072, 0.26635566, 0.27049786, 0.27467737, 0.27889434, 0.2831488, 0.2874409, + 0.2917707, 0.29613832, 0.30054384, 0.30498737, 0.30946895, 0.31398875, 0.31854683, 0.32314324, + 0.32777813, 0.33245158, 0.33716366, 0.34191445, 0.3467041, 0.3515327, 0.35640025, 0.36130688, + 0.3662527, 0.37123778, 0.37626222, 0.3813261, 0.38642952, 0.39157256, 0.3967553, 0.40197787, + 0.4072403, 0.4125427, 0.41788515, 0.42326775, 0.42869055, 0.4341537, 0.43965724, 0.44520125, + 0.45078585, 0.45641106, 0.46207705, 0.46778384, 0.47353154, 0.47932023, 0.48514998, 0.4910209, + 0.49693304, 0.5028866, 0.50888145, 0.5149178, 0.5209957, 0.52711535, 0.5332766, 0.5394797, + 0.5457247, 0.5520116, 0.5583406, 0.5647117, 0.57112503, 0.57758063, 0.5840786, 0.590619, 0.597202, + 0.60382754, 0.61049575, 0.61720675, 0.62396055, 0.63075733, 0.637597, 0.6444799, 0.6514058, + 0.65837497, 0.66538745, 0.67244333, 0.6795426, 0.68668544, 0.69387203, 0.70110214, 0.70837605, + 0.7156938, 0.72305536, 0.730461, 0.7379107, 0.7454045, 0.75294244, 0.76052475, 0.7681514, 0.77582246, + 0.78353804, 0.79129815, 0.79910296, 0.8069525, 0.8148468, 0.822786, 0.8307701, 0.83879924, 0.84687346, + 0.8549928, 0.8631574, 0.87136734, 0.8796226, 0.8879232, 0.89626956, 0.90466136, 0.913099, 0.92158204, + 0.93011117, 0.9386859, 0.9473069, 0.9559735, 0.9646866, 0.9734455, 0.98225087, 0.9911022, 1., ]; #[inline] @@ -194,11 +162,7 @@ mod tests { #[test] fn test_float_to_srgb_u8() { for u in 0..=u8::MAX { - let a = srgb_u8_to_float(u); - let b = srgb_u8_to_float_ref(u); - if a != b { - panic!("Mismatch at u={}: {} != {}", u, a, b); - } + assert!(srgb_u8_to_float(u) == srgb_u8_to_float_ref(u)); } } From 4f63a9b75349f78a5a950573d8990304e43effe0 Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Mon, 9 Mar 2026 11:05:50 +0800 Subject: [PATCH 6/7] fix: add more replacements for magic number indexes - Replace literal 0 with InputConnector::PRIMARY_INPUT_INDEX / OutputConnector::PRIMARY_OUTPUT_INDEX - Add module-level constants for node input indices (e.g. LAYER_SECONDARY_INPUT_INDEX=1, FILL_NODE_BACKUP_COLOR_INPUT_INDEX=2, ARTBOARD_LOCATION_INDEX=2, etc. - Use proto-node generated constants SidesInput, RadiusInput instead of magic numbers - Fix InputConnector::Export() to use PRIMARY_INPUT_INDEX instead of hardcoded 0 --- .../document/document_message_handler.rs | 9 +- .../graph_operation_message_handler.rs | 16 ++-- .../graph_operation/transform_utils.rs | 4 +- .../document/graph_operation/utility_types.rs | 28 +++--- .../node_graph/node_graph_message_handler.rs | 34 +++---- .../utility_types/network_interface.rs | 88 +++++++++---------- .../portfolio/portfolio_message_handler.rs | 4 +- .../shape_gizmos/number_of_points_dial.rs | 10 ++- .../shape_gizmos/point_radius_handle.rs | 21 +++-- .../graph_modification_utils.rs | 19 ++-- .../common_functionality/shapes/line_shape.rs | 2 + .../shapes/polygon_shape.rs | 35 +++++--- .../shapes/shape_utility.rs | 6 +- .../common_functionality/utility_functions.rs | 5 +- .../messages/tool/tool_messages/brush_tool.rs | 2 +- 15 files changed, 154 insertions(+), 129 deletions(-) diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index b0c722c43f..c91d353c7b 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -1371,7 +1371,7 @@ impl MessageHandler> for DocumentMes // Connect the current output data to the artboard's input data, and the artboard's output to the document output responses.add(NodeGraphMessage::InsertNodeBetween { node_id, - input_connector: network_interface::InputConnector::Export(0), + input_connector: network_interface::InputConnector::Export(network_interface::InputConnector::PRIMARY_INPUT_INDEX), insert_node_input_index: 1, }); @@ -1896,10 +1896,10 @@ impl DocumentMessageHandler { }); // If there's already a boolean operation on the selected layer, update it with the new operation + const BOOLEAN_OPERATION_INPUT_INDEX: usize = 1; if let (Some(upstream_boolean_op), Some(only_selected_layer)) = (upstream_boolean_op, only_selected_layer) { - const BOOLEAN_OPERATION_INDEX: usize = 1; network_interface.set_input( - &InputConnector::node(upstream_boolean_op, BOOLEAN_OPERATION_INDEX), + &InputConnector::node(upstream_boolean_op, BOOLEAN_OPERATION_INPUT_INDEX), NodeInput::value(TaggedValue::BooleanOperation(operation), false), &[], ); @@ -2791,9 +2791,8 @@ impl DocumentMessageHandler { .popover_layout({ // Showing only compatible types for the layer based on the output type of the node upstream from its horizontal input let compatible_type = selected_layer.and_then(|layer| { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; self.network_interface - .upstream_output_connector(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]) + .upstream_output_connector(&InputConnector::node(layer.to_node(), InputConnector::PRIMARY_INPUT_INDEX + 1), &[]) .and_then(|upstream_output| self.network_interface.output_type(&upstream_output, &[]).add_node_string()) }); diff --git a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs index 726d58ee4d..37e3d687f4 100644 --- a/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs +++ b/editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs @@ -16,6 +16,11 @@ use graphene_std::table::Table; use graphene_std::text::{Font, TypesettingConfig}; use graphene_std::vector::style::{Fill, Gradient, GradientStop, GradientStops, GradientType, PaintOrder, Stroke, StrokeAlign, StrokeCap, StrokeJoin}; +const ARTBOARD_BASE_INDEX: usize = 0; +const ARTBOARD_CONTENT_INDEX: usize = 1; +const LAYER_SECONDARY_INPUT_INDEX: usize = 1; +const MERGE_CONTENT_INPUT_INDEX: usize = 1; + #[derive(ExtractField)] pub struct GraphOperationMessageContext<'a> { pub network_interface: &'a mut NodeNetworkInterface, @@ -101,7 +106,6 @@ impl MessageHandler> for } } GraphOperationMessage::SetUpstreamToChain { layer } => { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; let Some(OutputConnector::Node { node_id: first_chain_node, .. }) = network_interface.upstream_output_connector(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]) else { return; }; @@ -146,12 +150,9 @@ impl MessageHandler> for // Set the bottom input of the artboard back to artboard let bottom_input = NodeInput::value(TaggedValue::Artboard(Table::new()), true); - const ARTBOARD_BASE_INDEX: usize = 0; network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_BASE_INDEX), bottom_input, &[]); } else { // We have some non layers (e.g. just a rectangle node). We disconnect the bottom input and connect it to the left input. - const ARTBOARD_BASE_INDEX: usize = 0; - const ARTBOARD_CONTENT_INDEX: usize = 1; network_interface.disconnect_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_BASE_INDEX), &[]); network_interface.set_input(&InputConnector::node(artboard_layer.to_node(), ARTBOARD_CONTENT_INDEX), primary_input, &[]); @@ -197,7 +198,6 @@ impl MessageHandler> for let first_new_node_id = new_ids[&NodeId(0)]; responses.add(NodeGraphMessage::AddNodes { nodes, new_ids }); - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; responses.add(NodeGraphMessage::SetInput { input_connector: InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), input: NodeInput::node(first_new_node_id, NodeInput::PRIMARY_OUTPUT_INDEX), @@ -256,7 +256,6 @@ impl MessageHandler> for return; }; - const ARTBOARD_CONTENT_INDEX: usize = 1; artboard_data.insert( artboard.to_node(), ArtboardInfo { @@ -287,9 +286,8 @@ impl MessageHandler> for // Go through all artboards and connect them to the merge nodes for artboard in &artboard_data { // Modify downstream connections - const MERGE_CONTENT_INDEX: usize = 1; - responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(artboard.1.merge_node, MERGE_CONTENT_INDEX), + responses.add(NodeGraphMessage::SetInput { + input_connector: InputConnector::node(artboard.1.merge_node, MERGE_CONTENT_INPUT_INDEX), input: NodeInput::node(artboard.1.input_node.as_node().unwrap_or_default(), NodeInput::PRIMARY_OUTPUT_INDEX), }); diff --git a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs index 0db30b675f..ebf21a75e2 100644 --- a/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs +++ b/editor/src/messages/portfolio/document/graph_operation/transform_utils.rs @@ -103,10 +103,10 @@ pub fn get_current_transform(inputs: &[NodeInput]) -> DAffine2 { DAffine2::from_scale_angle_translation(scale, rotation, translation) * DAffine2::from_cols_array(&[1., shear.y, shear.x, 1., 0., 0.]) } +const ORIGIN_OFFSET_INDEX: usize = 5; + /// Extract the current normalized pivot from the layer pub fn get_current_normalized_pivot(inputs: &[NodeInput]) -> DVec2 { - const ORIGIN_OFFSET_INDEX: usize = 5; - if let Some(&TaggedValue::DVec2(pivot)) = inputs[ORIGIN_OFFSET_INDEX].as_value() { pivot } else { diff --git a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs index e3abf494da..938ad997e0 100644 --- a/editor/src/messages/portfolio/document/graph_operation/utility_types.rs +++ b/editor/src/messages/portfolio/document/graph_operation/utility_types.rs @@ -35,6 +35,14 @@ pub struct ModifyInputsContext<'a> { pub layer_node: Option, } +const LAYER_SECONDARY_INPUT_INDEX: usize = 1; +const BRUSH_STROKES_INDEX: usize = 1; +const ARTBOARD_LOCATION_INDEX: usize = 2; +const ARTBOARD_DIMENSIONS_INDEX: usize = 3; +const FILL_NODE_FILL_INPUT_INDEX: usize = 1; +const FILL_NODE_BACKUP_COLOR_INPUT_INDEX: usize = 2; +const FILL_NODE_BACKUP_GRADIENT_INPUT_INDEX: usize = 3; + impl<'a> ModifyInputsContext<'a> { /// Get the node network from the document pub fn new(network_interface: &'a mut NodeNetworkInterface, responses: &'a mut VecDeque) -> Self { @@ -69,9 +77,8 @@ impl<'a> ModifyInputsContext<'a> { /// if insert_index == 3, return (Layer3, None) pub fn get_post_node_with_index(network_interface: &NodeNetworkInterface, parent: LayerNodeIdentifier, insert_index: usize) -> InputConnector { let mut post_node_input_connector = if parent == LayerNodeIdentifier::ROOT_PARENT { - InputConnector::Export(0) + InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX) } else { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX) }; // Skip layers based on skip_layer_nodes, which inserts the new layer at a certain index of the layer stack. @@ -321,7 +328,6 @@ impl<'a> ModifyInputsContext<'a> { // If inserting a 'Path' node, insert a 'Flatten Path' node if the type is `Graphic`. // TODO: Allow the 'Path' node to operate on table data by utilizing the reference (index or ID?) for each row. if node_definition.identifier == "Path" { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; let layer_input_type = self.network_interface.input_type(&InputConnector::node(output_layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]); if layer_input_type.compiled_nested_type() == Some(&concrete!(Table)) { let Some(flatten_path_definition) = resolve_proto_node_type(graphene_std::vector_nodes::flatten_path::IDENTIFIER) else { @@ -340,28 +346,24 @@ impl<'a> ModifyInputsContext<'a> { } pub fn fill_set(&mut self, fill: Fill) { - let fill_index = 1; - let backup_color_index = 2; - let backup_gradient_index = 3; - let Some(fill_node_id) = self.existing_proto_node_id(graphene_std::vector_nodes::fill::IDENTIFIER, true) else { return; }; match &fill { Fill::None => { - let input_connector = InputConnector::node(fill_node_id, backup_color_index); + let input_connector = InputConnector::node(fill_node_id, FILL_NODE_BACKUP_COLOR_INPUT_INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::Color(Table::new()), false), true); } Fill::Solid(color) => { - let input_connector = InputConnector::node(fill_node_id, backup_color_index); + let input_connector = InputConnector::node(fill_node_id, FILL_NODE_BACKUP_COLOR_INPUT_INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::Color(Table::new_from_element(*color)), false), true); } Fill::Gradient(gradient) => { - let input_connector = InputConnector::node(fill_node_id, backup_gradient_index); + let input_connector = InputConnector::node(fill_node_id, FILL_NODE_BACKUP_GRADIENT_INPUT_INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::Gradient(gradient.clone()), false), true); } } - let input_connector = InputConnector::node(fill_node_id, fill_index); + let input_connector = InputConnector::node(fill_node_id, FILL_NODE_FILL_INPUT_INDEX); self.set_input_with_refresh(input_connector, NodeInput::value(TaggedValue::Fill(fill), false), false); } @@ -507,7 +509,6 @@ impl<'a> ModifyInputsContext<'a> { let Some(brush_node_id) = self.existing_network_node_id("Brush", true) else { return; }; - const BRUSH_STROKES_INDEX: usize = 1; self.set_input_with_refresh( InputConnector::node(brush_node_id, BRUSH_STROKES_INDEX), NodeInput::value(TaggedValue::BrushStrokes(strokes), false), @@ -516,9 +517,6 @@ impl<'a> ModifyInputsContext<'a> { } pub fn resize_artboard(&mut self, location: IVec2, dimensions: IVec2) { - const ARTBOARD_LOCATION_INDEX: usize = 2; - const ARTBOARD_DIMENSIONS_INDEX: usize = 3; - let Some(artboard_node_id) = self.existing_network_node_id("Artboard", true) else { return; }; diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs index 68a815a47b..07b60823f8 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs @@ -492,7 +492,7 @@ impl<'a> MessageHandler> for NodeG log::error!("Could not get outward wires in remove_import"); return; }; - let Some(downstream_connections) = outward_wires.get(&OutputConnector::Import(0)).cloned() else { + let Some(downstream_connections) = outward_wires.get(&OutputConnector::Import(OutputConnector::PRIMARY_OUTPUT_INDEX)).cloned() else { log::error!("Could not get outward wires for import in remove_import"); return; }; @@ -506,7 +506,7 @@ impl<'a> MessageHandler> for NodeG responses.add(NodeGraphMessage::SendWires); } NodeGraphMessage::ExposePrimaryExport { exposed } => { - let export_connector: InputConnector = InputConnector::Export(0); + let export_connector: InputConnector = InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX); if !exposed { network_interface.disconnect_input(&export_connector, breadcrumb_network_path); } @@ -865,7 +865,7 @@ impl<'a> MessageHandler> for NodeG if let Some(remove_import_index) = modify_import_export.remove_imports_exports.clicked_output_port_from_point(node_graph_point) { responses.add(DocumentMessage::AddTransaction); - if remove_import_index == 0 { + if remove_import_index == InputConnector::PRIMARY_INPUT_INDEX { responses.add(NodeGraphMessage::ExposeEncapsulatingPrimaryInput { exposed: false }) } else { responses.add(NodeGraphMessage::RemoveImport { import_index: remove_import_index }); @@ -873,7 +873,7 @@ impl<'a> MessageHandler> for NodeG return; } else if let Some(remove_export_index) = modify_import_export.remove_imports_exports.clicked_input_port_from_point(node_graph_point) { responses.add(DocumentMessage::AddTransaction); - if remove_export_index == 0 { + if remove_export_index == InputConnector::PRIMARY_INPUT_INDEX { responses.add(NodeGraphMessage::ExposePrimaryExport { exposed: false }) } else { responses.add(NodeGraphMessage::RemoveExport { export_index: remove_export_index }); @@ -930,7 +930,7 @@ impl<'a> MessageHandler> for NodeG self.initial_disconnecting = true; self.disconnecting = Some(*clicked_input); - let output_connector = if *clicked_input == InputConnector::Export(0) { + let output_connector = if *clicked_input == InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX) { network_interface.root_node(breadcrumb_network_path).map(|root_node| root_node.to_connector()) } else { network_interface.upstream_output_connector(clicked_input, breadcrumb_network_path) @@ -1070,7 +1070,7 @@ impl<'a> MessageHandler> for NodeG let mut disconnect_root_node = false; if let Previewing::Yes { root_node_to_restore } = network_interface.previewing(selection_network_path) && root_node_to_restore.is_some() - && *disconnecting == InputConnector::Export(0) + && *disconnecting == InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX) { disconnect_root_node = true; } @@ -1107,7 +1107,7 @@ impl<'a> MessageHandler> for NodeG }); let to_connector_is_layer = to_connector.is_some_and(|to_connector| { if let InputConnector::Node { node_id, input_index } = to_connector { - input_index == 0 && network_interface.is_layer(&node_id, selection_network_path) + input_index == InputConnector::PRIMARY_INPUT_INDEX && network_interface.is_layer(&node_id, selection_network_path) } else { false } @@ -1324,8 +1324,7 @@ impl<'a> MessageHandler> for NodeG .cloned() .collect::>() { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - network_interface.try_set_upstream_to_chain(&InputConnector::node(layer, LAYER_SECONDARY_INPUT_INDEX), selection_network_path); + network_interface.try_set_upstream_to_chain(&InputConnector::node(layer, InputConnector::PRIMARY_INPUT_INDEX + 1), selection_network_path); } responses.add(NodeGraphMessage::SendGraph); @@ -1336,9 +1335,11 @@ impl<'a> MessageHandler> for NodeG // Check if a single node was dragged onto a wire and that the node was dragged onto the wire if selected_nodes.selected_nodes_ref().len() == 1 && !self.begin_dragging { let selected_node_id = selected_nodes.selected_nodes_ref()[0]; - let has_primary_output_connection = network_interface - .outward_wires(selection_network_path) - .is_some_and(|outward_wires| outward_wires.get(&OutputConnector::node(selected_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)).is_some_and(|outward_wires| !outward_wires.is_empty())); + let has_primary_output_connection = network_interface.outward_wires(selection_network_path).is_some_and(|outward_wires| { + outward_wires + .get(&OutputConnector::node(selected_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)) + .is_some_and(|outward_wires| !outward_wires.is_empty()) + }); if !has_primary_output_connection { let Some(network) = network_interface.nested_network(selection_network_path) else { return; @@ -1532,7 +1533,8 @@ impl<'a> MessageHandler> for NodeG } let number_of_outputs = network_interface.number_of_outputs(selected_node, selection_network_path); - let mut first_deselected_upstream_output = network_interface.upstream_output_connector(&InputConnector::node(*selected_node, InputConnector::PRIMARY_INPUT_INDEX), selection_network_path); + let mut first_deselected_upstream_output = + network_interface.upstream_output_connector(&InputConnector::node(*selected_node, InputConnector::PRIMARY_INPUT_INDEX), selection_network_path); while let Some(OutputConnector::Node { node_id, .. }) = &first_deselected_upstream_output { if !all_selected_nodes.contains(node_id) { break; @@ -2189,7 +2191,9 @@ impl NodeGraphMessageHandler { .popover_layout({ // Showing only compatible types let compatible_type = match (selection_includes_layers, has_multiple_selection, selected_layer) { - (true, false, Some(layer)) => network_interface.output_type(&OutputConnector::node(layer.to_node(), 1), &[]).add_node_string(), + (true, false, Some(layer)) => network_interface + .output_type(&OutputConnector::node(layer.to_node(), OutputConnector::PRIMARY_OUTPUT_INDEX + 1), &[]) + .add_node_string(), _ => None, }; @@ -2619,7 +2623,7 @@ impl NodeGraphMessageHandler { }; let is_export = network_interface - .input_from_connector(&InputConnector::Export(0), breadcrumb_network_path) + .input_from_connector(&InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX), breadcrumb_network_path) .is_some_and(|export| export.as_node().is_some_and(|export_node_id| node_id == export_node_id)); let is_root_node = network_interface.root_node(breadcrumb_network_path).is_some_and(|root_node| root_node.node_id == node_id); diff --git a/editor/src/messages/portfolio/document/utility_types/network_interface.rs b/editor/src/messages/portfolio/document/utility_types/network_interface.rs index ef451271b4..226502d4a1 100644 --- a/editor/src/messages/portfolio/document/utility_types/network_interface.rs +++ b/editor/src/messages/portfolio/document/utility_types/network_interface.rs @@ -417,10 +417,9 @@ impl NodeNetworkInterface { .collect::>(); for old_id in new_nodes.iter().map(|(_, old_id, _)| *old_id).collect::>() { - // Try set all selected nodes upstream of a layer to be chain nodes + // Try set all selected nodes upstream of a layer to be chain nodes if self.is_layer(&old_id, network_path) { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - for valid_upstream_chain_node in self.valid_upstream_chain_nodes(&InputConnector::node(old_id, LAYER_SECONDARY_INPUT_INDEX), network_path) { + for valid_upstream_chain_node in self.valid_upstream_chain_nodes(&InputConnector::node(old_id, InputConnector::PRIMARY_INPUT_INDEX + 1), network_path) { if let Some(node_template) = new_nodes.iter_mut().find_map(|(_, old_id, template)| (*old_id == valid_upstream_chain_node).then_some(template)) { match &mut node_template.persistent_node_metadata.node_type_metadata { NodeTypePersistentMetadata::Node(node_metadata) => node_metadata.position = NodePosition::Chain, @@ -683,7 +682,7 @@ impl NodeNetworkInterface { let (name, description) = match output_connector { OutputConnector::Node { node_id, output_index } => { // Do not display the primary output port for a node if it is a network node with a hidden primary export - if *output_index == 0 && self.hidden_primary_output(node_id, network_path) { + if *output_index == OutputConnector::PRIMARY_OUTPUT_INDEX && self.hidden_primary_output(node_id, network_path) { return None; }; // Get the output name from the interior network export name @@ -700,7 +699,7 @@ impl NodeNetworkInterface { return None; }; // Return None if the primary input is hidden and this is the primary import - if *import_index == 0 && self.hidden_primary_import(network_path) { + if *import_index == InputConnector::PRIMARY_INPUT_INDEX && self.hidden_primary_import(network_path) { return None; }; let (import_name, description) = self.displayed_input_name_and_description(encapsulating_node_id, *import_index, encapsulating_path); @@ -840,7 +839,7 @@ impl NodeNetworkInterface { input_index, } => { // Stop iterating once the downstream node is the left input to the chain or a sole dependent - if !(sole_dependents.contains(downstream_node_id) || downstream_node_id == node_id && *input_index == 1) { + if !(sole_dependents.contains(downstream_node_id) || downstream_node_id == node_id && *input_index == InputConnector::PRIMARY_INPUT_INDEX + 1) { // Continue iterating downstream for the downstream node let number_of_outputs = self.number_of_outputs(downstream_node_id, network_path); let Some(outward_wires) = self.outward_wires(network_path) else { @@ -1073,7 +1072,7 @@ impl NodeNetworkInterface { let downstream_nodes = downstream_connectors .iter() - .filter_map(|connector| connector.node_id().filter(|_| connector.input_index() == 0)) + .filter_map(|connector| connector.node_id().filter(|_| connector.input_index() == InputConnector::PRIMARY_INPUT_INDEX)) .collect::>(); downstream_nodes.iter().any(|node_id| self.is_layer(node_id, network_path)) } @@ -1196,8 +1195,9 @@ impl NodeNetworkInterface { .find(|ancestor| *ancestor != LayerNodeIdentifier::ROOT_PARENT && self.is_artboard(&ancestor.to_node(), &[])) { let artboard = self.document_node(&artboard_node_identifier.to_node(), &[]); - const ARTBOARD_CLIP_INDEX: usize = 5; - let clip_input = artboard.unwrap().inputs.get(ARTBOARD_CLIP_INDEX).unwrap(); + // Artboard node: [0]=base, [1]=content, [2]=location, [3]=dimensions, [4]=background, [5]=clip + const ARTBOARD_CLIP_INPUT_INDEX: usize = 5; + let clip_input = artboard.unwrap().inputs.get(ARTBOARD_CLIP_INPUT_INDEX).unwrap(); if let NodeInput::Value { tagged_value, .. } = clip_input && tagged_value.clone().deref() == &TaggedValue::Bool(true) { @@ -1314,8 +1314,7 @@ impl NodeNetworkInterface { .iter() .filter_map(move |node_id| { if self.is_layer(node_id, network_path) { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - network.nodes.get(node_id).and_then(|node| node.inputs.get(LAYER_SECONDARY_INPUT_INDEX)).and_then(|input| input.as_node()) + network.nodes.get(node_id).and_then(|node| node.inputs.get(InputConnector::PRIMARY_INPUT_INDEX + 1)).and_then(|input| input.as_node()) } else { Some(*node_id) } @@ -1868,7 +1867,7 @@ impl NodeNetworkInterface { }; let reorder_import_center = (import_bounding_box[0] + import_bounding_box[1]) / 2. + DVec2::new(-12., 0.); - if *import_index == 0 { + if *import_index == InputConnector::PRIMARY_INPUT_INDEX { let remove_import_center = reorder_import_center + DVec2::new(-4., 0.); let remove_import = ClickTarget::new_with_subpath(Subpath::new_rectangle(remove_import_center - DVec2::new(8., 8.), remove_import_center + DVec2::new(8., 8.)), 0.); remove_imports_exports.insert_custom_output_port(*import_index, remove_import); @@ -1888,7 +1887,7 @@ impl NodeNetworkInterface { }; let reorder_export_center = (export_bounding_box[0] + export_bounding_box[1]) / 2. + DVec2::new(12., 0.); - if *export_index == 0 { + if *export_index == InputConnector::PRIMARY_INPUT_INDEX { let remove_export_center = reorder_export_center + DVec2::new(4., 0.); let remove_export = ClickTarget::new_with_subpath(Subpath::new_rectangle(remove_export_center - DVec2::new(8., 8.), remove_export_center + DVec2::new(8., 8.)), 0.); remove_imports_exports.insert_custom_input_port(*export_index, remove_export); @@ -2238,7 +2237,7 @@ impl NodeNetworkInterface { let dashed = match self.previewing(network_path) { Previewing::Yes { .. } => match input { InputConnector::Node { .. } => false, - InputConnector::Export(export_index) => *export_index == 0, + InputConnector::Export(export_index) => *export_index == InputConnector::PRIMARY_INPUT_INDEX, }, Previewing::No => false, }; @@ -2364,7 +2363,7 @@ impl NodeNetworkInterface { /// When previewing, there may be a second path to the root node. pub fn wire_to_root(&mut self, graph_wire_style: GraphWireStyle, network_path: &[NodeId]) -> Option { - let input = InputConnector::Export(0); + let input = InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX); let current_export = self.upstream_output_connector(&input, network_path)?; let root_node = match self.previewing(network_path) { @@ -2384,7 +2383,7 @@ impl NodeNetworkInterface { log::error!("Could not get output position for wire start in root node: {upstream_output:?}"); return None; }; - let vertical_end = input.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path) && input.input_index() == 0); + let vertical_end = input.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path) && input.input_index() == InputConnector::PRIMARY_INPUT_INDEX); let vertical_start: bool = upstream_output.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path)); let thick = vertical_end && vertical_start; let vector_wire = build_vector_wire(output_position, input_position, vertical_start, vertical_end, graph_wire_style); @@ -2419,7 +2418,7 @@ impl NodeNetworkInterface { log::error!("Could not get output port for wire start: {:?}", upstream_output); return None; }; - let vertical_end = input.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path) && input.input_index() == 0); + let vertical_end = input.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path) && input.input_index() == InputConnector::PRIMARY_INPUT_INDEX); let vertical_start = upstream_output.node_id().is_some_and(|node_id| self.is_layer(&node_id, network_path)); let thick = vertical_end && vertical_start; Some((build_vector_wire(output_position, input_position, vertical_start, vertical_end, wire_style), thick)) @@ -2488,7 +2487,7 @@ impl NodeNetworkInterface { port_click_targets.insert_node_input(input_index, input_row_count, node_top_left); } // Primary input row is always displayed, even if the input is not exposed - if input_index == 0 || input.is_exposed() { + if input_index == InputConnector::PRIMARY_INPUT_INDEX || input.is_exposed() { input_row_count += 1; } } @@ -3945,11 +3944,11 @@ impl NodeNetworkInterface { (_, NodeInput::Node { node_id: upstream_node_id, .. }) => { // Load structure if the change is to the document network and to the first or second if network_path.is_empty() { - if matches!(input_connector, InputConnector::Export(0)) { + if matches!(input_connector, InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX)) { self.load_structure(); } else if let InputConnector::Node { node_id, input_index } = &input_connector { // If the connection is made to the first or second input of a node connected to the output, then load the structure - if self.connected_to_output(node_id, network_path) && (*input_index == 0 || *input_index == 1) { + if self.connected_to_output(node_id, network_path) && (*input_index == InputConnector::PRIMARY_INPUT_INDEX || *input_index == InputConnector::PRIMARY_INPUT_INDEX + 1) { self.load_structure(); } } @@ -3987,7 +3986,7 @@ impl NodeNetworkInterface { .outward_wires(network_path) .and_then(|all_outward_wires| all_outward_wires.get(&OutputConnector::node(*upstream_node_id, OutputConnector::PRIMARY_OUTPUT_INDEX))) .is_some_and(|outward_wires| outward_wires.len() > 1); - if *input_index == 0 && !multiple_outward_wires { + if *input_index == InputConnector::PRIMARY_INPUT_INDEX && !multiple_outward_wires { self.set_stack_position_calculated_offset(upstream_node_id, downstream_node_id, network_path); } else { self.set_absolute_position(upstream_node_id, current_node_position, network_path); @@ -4032,7 +4031,7 @@ impl NodeNetworkInterface { return; }; // If it is a layer and is connected to a single layer, set its position to stack at its previous y position - if old_upstream_node_is_layer && outward_wires.len() == 1 && outward_wires[0].input_index() == 0 { + if old_upstream_node_is_layer && outward_wires.len() == 1 && outward_wires[0].input_index() == InputConnector::PRIMARY_INPUT_INDEX { if let Some(downstream_node_id) = outward_wires[0].node_id() && self.is_layer(&downstream_node_id, network_path) { @@ -4051,11 +4050,11 @@ impl NodeNetworkInterface { } // Load structure if the change is to the document network and to the first or second if network_path.is_empty() { - if matches!(input_connector, InputConnector::Export(0)) { + if matches!(input_connector, InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX)) { self.load_structure(); } else if let InputConnector::Node { node_id, input_index } = &input_connector { // If the connection is made to the first or second input of a node connected to the output, then load the structure - if self.connected_to_output(node_id, network_path) && (*input_index == 0 || *input_index == 1) { + if self.connected_to_output(node_id, network_path) && (*input_index == InputConnector::PRIMARY_INPUT_INDEX || *input_index == InputConnector::PRIMARY_INPUT_INDEX + 1) { self.load_structure(); } } @@ -4104,7 +4103,7 @@ impl NodeNetworkInterface { input_index, } = other_outward_wire && self.is_layer(&downstream_node_id, network_path) - && input_index == 0 + && input_index == InputConnector::PRIMARY_INPUT_INDEX { self.set_stack_position_calculated_offset(upstream_node_id, &downstream_node_id, network_path); } @@ -4238,11 +4237,11 @@ impl NodeNetworkInterface { if let InputConnector::Node { node_id: downstream_id, input_index } = downstream_node { // If the downstream node is not in the delete nodes set, then continue iterating // If the downstream node is the bottom input of a layer then continue iterating - if !delete_nodes.contains(downstream_id) || (*input_index == 0 && self.is_layer(downstream_id, network_path)) { + if !delete_nodes.contains(downstream_id) || (*input_index == InputConnector::PRIMARY_INPUT_INDEX && self.is_layer(downstream_id, network_path)) { stack.push(*downstream_id); } // If the traversal reaches the primary input of the node to delete then do not delete it - if node_id == downstream_id && *input_index == 0 { + if node_id == downstream_id && *input_index == InputConnector::PRIMARY_INPUT_INDEX { can_delete = false; stack = Vec::new(); break; @@ -4402,7 +4401,7 @@ impl NodeNetworkInterface { } = self.previewing(network_path) { self.set_input( - &InputConnector::Export(0), + &InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX), NodeInput::node(root_node_to_restore.node_id, root_node_to_restore.output_index), network_path, ); @@ -4461,10 +4460,11 @@ impl NodeNetworkInterface { return; }; - let label_index = 1; + // Artboard node internal structure: inputs[0]=content, inputs[1]=label(name) + const ARTBOARD_LABEL_INPUT_INDEX: usize = 1; let label = if !display_name.is_empty() { display_name } else { "Artboard".to_string() }; let label_input = NodeInput::value(TaggedValue::String(label), false); - to_artboard.inputs[label_index] = label_input; + to_artboard.inputs[ARTBOARD_LABEL_INPUT_INDEX] = label_input; } self.transaction_modified(); @@ -4584,7 +4584,7 @@ impl NodeNetworkInterface { outward_wires .get(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX)) .and_then(|outward_wires| (outward_wires.len() == 1).then(|| outward_wires[0])) - .and_then(|downstream_connector| if downstream_connector.input_index() == 0 { downstream_connector.node_id() } else { None }) + .and_then(|downstream_connector| if downstream_connector.input_index() == InputConnector::PRIMARY_INPUT_INDEX { downstream_connector.node_id() } else { None }) }) .filter(|downstream_node_id| self.is_layer(downstream_node_id, network_path)) .and_then(|downstream_layer| self.position(&downstream_layer, network_path)); @@ -4608,8 +4608,7 @@ impl NodeNetworkInterface { // Try build the chain if is_layer { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - self.try_set_upstream_to_chain(&InputConnector::node(*node_id, LAYER_SECONDARY_INPUT_INDEX), network_path); + self.try_set_upstream_to_chain(&InputConnector::node(*node_id, InputConnector::PRIMARY_INPUT_INDEX + 1), network_path); } else { self.try_set_node_to_chain(node_id, network_path); } @@ -4716,10 +4715,10 @@ impl NodeNetworkInterface { } match new_export { Some(new_export) => { - self.create_wire(&new_export, &InputConnector::Export(0), network_path); + self.create_wire(&new_export, &InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX), network_path); } None => { - self.disconnect_input(&InputConnector::Export(0), network_path); + self.disconnect_input(&InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX), network_path); } } let Some(network_metadata) = self.network_metadata_mut(network_path) else { @@ -4853,7 +4852,7 @@ impl NodeNetworkInterface { return Vec::new(); }; let mut set_position_to_chain = Vec::new(); - if self.is_layer(input_connector_node_id, network_path) && *input_index == 1 || self.is_chain(input_connector_node_id, network_path) && *input_index == 0 { + if self.is_layer(input_connector_node_id, network_path) && *input_index == InputConnector::PRIMARY_INPUT_INDEX + 1 || self.is_chain(input_connector_node_id, network_path) && *input_index == InputConnector::PRIMARY_INPUT_INDEX { let mut downstream_id = *input_connector_node_id; for upstream_node in self .upstream_flow_back_from_nodes(vec![*input_connector_node_id], network_path, FlowType::HorizontalFlow) @@ -5498,7 +5497,7 @@ impl NodeNetworkInterface { // Get the height of the downstream node if inserting into a stack let mut downstream_height = 0; let inserting_into_stack = - !(post_node.input_index() == 1 || matches!(post_node, InputConnector::Export(_)) || !post_node.node_id().is_some_and(|post_node_id| self.is_layer(&post_node_id, network_path))); + !(post_node.input_index() == InputConnector::PRIMARY_INPUT_INDEX + 1 || matches!(post_node, InputConnector::Export(_)) || !post_node.node_id().is_some_and(|post_node_id| self.is_layer(&post_node_id, network_path))); if inserting_into_stack && let Some(downstream_node) = post_node.node_id() { let Some(downstream_node_position) = self.position(&downstream_node, network_path) else { log::error!("Could not get downstream node position in move_layer_to_stack"); @@ -5660,17 +5659,16 @@ impl NodeNetworkInterface { // Moves a node and to the start of a layer chain (feeding into the secondary input of the layer) pub fn move_node_to_chain_start(&mut self, node_id: &NodeId, parent: LayerNodeIdentifier, network_path: &[NodeId]) { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - let Some(current_input) = self.input_from_connector(&InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path) else { + let Some(current_input) = self.input_from_connector(&InputConnector::node(parent.to_node(), InputConnector::PRIMARY_INPUT_INDEX + 1), network_path) else { log::error!("Could not get input for node {node_id}"); return; }; if matches!(current_input, NodeInput::Value { .. }) { - self.create_wire(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), network_path); + self.create_wire(&OutputConnector::node(*node_id, OutputConnector::PRIMARY_OUTPUT_INDEX), &InputConnector::node(parent.to_node(), InputConnector::PRIMARY_INPUT_INDEX + 1), network_path); self.set_chain_position(node_id, network_path); } else { // Insert the node in the gap and set the upstream to a chain - self.insert_node_between(node_id, &InputConnector::node(parent.to_node(), LAYER_SECONDARY_INPUT_INDEX), 0, network_path); + self.insert_node_between(node_id, &InputConnector::node(parent.to_node(), InputConnector::PRIMARY_INPUT_INDEX + 1), 0, network_path); self.force_set_upstream_to_chain(node_id, network_path); } } @@ -5716,7 +5714,7 @@ impl Iterator for FlowIter<'_> { let inputs = document_node.inputs.iter().skip(skip).take(take); let node_ids = inputs.filter_map(|input| match input { - NodeInput::Node { output_index, .. } if self.flow_type == FlowType::HorizontalPrimaryOutputFlow && *output_index != 0 => None, + NodeInput::Node { output_index, .. } if self.flow_type == FlowType::HorizontalPrimaryOutputFlow && *output_index != OutputConnector::PRIMARY_OUTPUT_INDEX => None, NodeInput::Node { node_id, .. } => Some(node_id), _ => None, }); @@ -5753,7 +5751,7 @@ pub enum InputConnector { impl Default for InputConnector { fn default() -> Self { - InputConnector::Export(0) + InputConnector::Export(InputConnector::PRIMARY_INPUT_INDEX) } } @@ -5796,7 +5794,7 @@ pub enum OutputConnector { impl Default for OutputConnector { fn default() -> Self { - OutputConnector::Import(0) + OutputConnector::Import(OutputConnector::PRIMARY_OUTPUT_INDEX) } } @@ -5896,7 +5894,7 @@ impl Ports { } fn insert_layer_input(&mut self, input_index: usize, node_top_left: DVec2) { - let center = if input_index == 0 { + let center = if input_index == InputConnector::PRIMARY_INPUT_INDEX { node_top_left + DVec2::new(2. * 24., 24. * 2. + 8.) } else { node_top_left + DVec2::new(0., 24. * 1.) diff --git a/editor/src/messages/portfolio/portfolio_message_handler.rs b/editor/src/messages/portfolio/portfolio_message_handler.rs index 71a2675636..0c8dad29d3 100644 --- a/editor/src/messages/portfolio/portfolio_message_handler.rs +++ b/editor/src/messages/portfolio/portfolio_message_handler.rs @@ -14,7 +14,7 @@ use crate::messages::portfolio::document::DocumentMessageContext; use crate::messages::portfolio::document::graph_operation::utility_types::TransformIn; use crate::messages::portfolio::document::node_graph::document_node_definitions::{self, resolve_network_node_type}; use crate::messages::portfolio::document::utility_types::clipboards::{Clipboard, CopyBufferEntry, INTERNAL_CLIPBOARD_COUNT}; -use crate::messages::portfolio::document::utility_types::network_interface::OutputConnector; +use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, OutputConnector}; use crate::messages::portfolio::document::utility_types::nodes::SelectedNodes; use crate::messages::portfolio::document_migration::*; use crate::messages::portfolio::utility_types::FileContent; @@ -620,7 +620,7 @@ impl MessageHandler> for Portfolio }; // If the downstream node is a layer and the input is the first input and the current layer is not in a stack - if input_index == 0 && document.network_interface.is_layer(&downstream_node, &[]) && !document.network_interface.is_stack(&layer.to_node(), &[]) { + if input_index == InputConnector::PRIMARY_INPUT_INDEX && document.network_interface.is_layer(&downstream_node, &[]) && !document.network_interface.is_stack(&layer.to_node(), &[]) { // Ensure the layer is horizontally aligned with the downstream layer to prevent changing the layout of old files let (Some(layer_position), Some(downstream_position)) = (document.network_interface.position(&layer.to_node(), &[]), document.network_interface.position(&downstream_node, &[])) diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs index 679da36244..e2f9651117 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/number_of_points_dial.rs @@ -14,6 +14,8 @@ use glam::{DAffine2, DVec2}; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::regular_polygon; +use graphene_std::vector::generator_nodes::star; use std::collections::VecDeque; use std::f64::consts::TAU; @@ -195,14 +197,18 @@ impl NumberOfPointsDial { let net_delta = (delta.length() / 25.).round() * sign; let Some(layer) = self.layer else { return }; - let Some(node_id) = graph_modification_utils::get_star_id(layer, &document.network_interface).or(graph_modification_utils::get_polygon_id(layer, &document.network_interface)) else { + let (node_id, sides_input_index) = if let Some(id) = graph_modification_utils::get_star_id(layer, &document.network_interface) { + (id, star::SidesInput::::INDEX) + } else if let Some(id) = graph_modification_utils::get_polygon_id(layer, &document.network_interface) { + (id, regular_polygon::SidesInput::::INDEX) + } else { return; }; let new_point_count = ((self.initial_points as i32) + (net_delta as i32)).max(3); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, graphene_std::vector::generator_nodes::star::SidesInput::::INDEX), + input_connector: InputConnector::node(node_id, sides_input_index), input: NodeInput::value(TaggedValue::U32(new_point_count as u32), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs index daf91a0cba..efead9c19e 100644 --- a/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs +++ b/editor/src/messages/tool/common_functionality/gizmos/shape_gizmos/point_radius_handle.rs @@ -15,6 +15,7 @@ use glam::DVec2; use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; use graphene_std::NodeInputDecleration; +use graphene_std::vector::generator_nodes::regular_polygon; use graphene_std::vector::generator_nodes::star::*; use std::collections::VecDeque; use std::f64::consts::{FRAC_1_SQRT_2, FRAC_PI_4, PI, SQRT_2}; @@ -65,7 +66,7 @@ impl PointRadiusHandle { let viewport = document.metadata().transform_to_viewport(layer); for i in 0..2 * sides { - let (radius, radius_index) = if i % 2 == 0 { (radius1, 2) } else { (radius2, 3) }; + let (radius, radius_index) = if i % 2 == 0 { (radius1, Radius1Input::INDEX) } else { (radius2, Radius2Input::INDEX) }; let point = star_vertex_position(viewport, i as i32, sides, radius1, radius2); let center = viewport.transform_point2(DVec2::ZERO); @@ -102,7 +103,7 @@ impl PointRadiusHandle { } if point.distance(mouse_position) < 5. { - self.radius_index = 2; + self.radius_index = regular_polygon::RadiusInput::INDEX; self.layer = Some(layer); self.point = i; self.snap_radii.clear(); @@ -343,7 +344,7 @@ impl PointRadiusHandle { return snap_radii; }; - let other_radius = if radius_index == 3 { radius_1 } else { radius_2 }; + let other_radius = if radius_index == Radius2Input::INDEX { radius_1 } else { radius_2 }; let Some(&TaggedValue::U32(sides)) = node_inputs[SidesInput::::INDEX].as_value() else { return snap_radii; @@ -418,13 +419,21 @@ impl PointRadiusHandle { pub fn update_inner_radius(&mut self, document: &DocumentMessageHandler, input: &InputPreprocessorMessageHandler, responses: &mut VecDeque, drag_start: DVec2) { let Some(layer) = self.layer else { return }; - let Some(node_id) = graph_modification_utils::get_star_id(layer, &document.network_interface).or(graph_modification_utils::get_polygon_id(layer, &document.network_interface)) else { + let radius_index = self.radius_index; + + // Radius2Input (index 3) only exists in star nodes + // RadiusInput (index 2) exists in both star (as Radius1Input) and polygon nodes + let node_id = if radius_index == Radius2Input::INDEX { + graph_modification_utils::get_star_id(layer, &document.network_interface) + } else { + graph_modification_utils::get_star_id(layer, &document.network_interface).or(graph_modification_utils::get_polygon_id(layer, &document.network_interface)) + }; + let Some(node_id) = node_id else { return; }; let viewport_transform = document.network_interface.document_metadata().transform_to_viewport(layer); let center = viewport_transform.transform_point2(DVec2::ZERO); - let radius_index = self.radius_index; let original_radius = self.initial_radius; @@ -462,7 +471,7 @@ impl PointRadiusHandle { return; }; - let other_radius = if radius_index == 3 { radius_1 } else { radius_2 }; + let other_radius = if radius_index == Radius2Input::INDEX { radius_1 } else { radius_2 }; let flipped = (other_radius.is_sign_positive() && original_radius.is_sign_negative() && new_radius.is_sign_positive()) || (other_radius.is_sign_negative() && original_radius.is_sign_positive() && new_radius.is_sign_negative()); diff --git a/editor/src/messages/tool/common_functionality/graph_modification_utils.rs b/editor/src/messages/tool/common_functionality/graph_modification_utils.rs index 8b910fb4de..95c806528c 100644 --- a/editor/src/messages/tool/common_functionality/graph_modification_utils.rs +++ b/editor/src/messages/tool/common_functionality/graph_modification_utils.rs @@ -20,6 +20,10 @@ use graphene_std::vector::style::{Fill, Gradient}; use graphene_std::vector::{PointId, SegmentId, VectorModificationType}; use std::collections::VecDeque; +const LAYER_SECONDARY_INPUT_INDEX: usize = 1; +const MERGE_CONTENT_INPUT_INDEX: usize = 1; +const FILL_NODE_FILL_INPUT_INDEX: usize = 1; + /// Returns the ID of the first Spline node in the horizontal flow which is not followed by a `Path` node, or `None` if none exists. pub fn find_spline(document: &DocumentMessageHandler, layer: LayerNodeIdentifier) -> Option { document @@ -93,11 +97,9 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde node_id: merge_node_id, parent: first_layer, }); - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - const MERGE_CONTENT_INDEX: usize = 1; responses.add(NodeGraphMessage::ConnectUpstreamOutputToInput { downstream_input: InputConnector::node(second_layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), - input_connector: InputConnector::node(merge_node_id, MERGE_CONTENT_INDEX), + input_connector: InputConnector::node(merge_node_id, MERGE_CONTENT_INPUT_INDEX), }); responses.add(NodeGraphMessage::DeleteNodes { node_ids: vec![second_layer.to_node()], @@ -278,10 +280,8 @@ pub fn get_viewport_center(layer: LayerNodeIdentifier, network_interface: &NodeN /// Get the current gradient of a layer from the closest "Fill" node. pub fn get_gradient(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { - let fill_index = 1; - let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::fill::IDENTIFIER))?; - let TaggedValue::Fill(Fill::Gradient(gradient)) = inputs.get(fill_index)?.as_value()? else { + let TaggedValue::Fill(Fill::Gradient(gradient)) = inputs.get(FILL_NODE_FILL_INPUT_INDEX)?.as_value()? else { return None; }; Some(gradient.clone()) @@ -289,10 +289,8 @@ pub fn get_gradient(layer: LayerNodeIdentifier, network_interface: &NodeNetworkI /// Get the current fill of a layer from the closest "Fill" node. pub fn get_fill_color(layer: LayerNodeIdentifier, network_interface: &NodeNetworkInterface) -> Option { - let fill_index = 1; - let inputs = NodeGraphLayer::new(layer, network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::fill::IDENTIFIER))?; - let TaggedValue::Fill(Fill::Solid(color)) = inputs.get(fill_index)?.as_value()? else { + let TaggedValue::Fill(Fill::Solid(color)) = inputs.get(FILL_NODE_FILL_INPUT_INDEX)?.as_value()? else { return None; }; Some(color.to_linear_srgb()) @@ -521,8 +519,7 @@ impl<'a> NodeGraphLayer<'a> { /// Check if a layer is a raster layer pub fn is_raster_layer(layer: LayerNodeIdentifier, network_interface: &mut NodeNetworkInterface) -> bool { - const LAYER_SECONDARY_INPUT_INDEX: usize = 1; - let layer_input_type = network_interface.input_type(&InputConnector::node(layer.to_node(), LAYER_SECONDARY_INPUT_INDEX), &[]); + let layer_input_type = network_interface.input_type(&InputConnector::node(layer.to_node(), InputConnector::PRIMARY_INPUT_INDEX + 1), &[]); layer_input_type.compiled_nested_type() == Some(&concrete!(Table>)) || layer_input_type.compiled_nested_type() == Some(&concrete!(Table>)) } diff --git a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs index 3e739b58ea..7287f6afa1 100644 --- a/editor/src/messages/tool/common_functionality/shapes/line_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/line_shape.rs @@ -196,6 +196,8 @@ mod test_line_tool { use crate::test_utils::test_prelude::*; use glam::DAffine2; use graph_craft::document::value::TaggedValue; + use graphene_std::NodeInputDecleration; + use graphene_std::vector::generator_nodes::line::{StartInput, EndInput}; /// Get the line's document-space start and end points by reading line_to from the node /// and computing the actual positions via the layer's transform. diff --git a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs index 24808e37e2..e9e0fd9b75 100644 --- a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs @@ -17,6 +17,7 @@ use graph_craft::document::NodeInput; use graph_craft::document::value::TaggedValue; use graphene_std::NodeInputDecleration; use graphene_std::vector::generator_nodes::regular_polygon::*; +use graphene_std::vector::generator_nodes::star; use std::collections::VecDeque; #[derive(Clone, Debug, Default)] @@ -165,18 +166,26 @@ impl Polygon { /// Updates the number of sides of a polygon or star node and syncs the Shape tool UI widget accordingly. /// Increases or decreases the side count based on user input, clamped to a minimum of 3. pub fn decrease_or_increase_sides(decrease: bool, layer: LayerNodeIdentifier, document: &DocumentMessageHandler, responses: &mut VecDeque) { - let Some(node_id) = graph_modification_utils::get_polygon_id(layer, &document.network_interface).or(graph_modification_utils::get_star_id(layer, &document.network_interface)) else { - return; - }; - - let Some(node_inputs) = NodeGraphLayer::new(layer, &document.network_interface) - .find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::regular_polygon::IDENTIFIER)) - .or(NodeGraphLayer::new(layer, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::star::IDENTIFIER))) - else { - return; - }; - - let Some(&TaggedValue::U32(n)) = node_inputs.get(SidesInput::::INDEX).unwrap().as_value() else { + let (node_id, sides_input_index, n) = if let Some(id) = graph_modification_utils::get_polygon_id(layer, &document.network_interface) { + let Some(node_inputs) = + NodeGraphLayer::new(layer, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::regular_polygon::IDENTIFIER)) + else { + return; + }; + let Some(&TaggedValue::U32(n)) = node_inputs.get(SidesInput::::INDEX).unwrap().as_value() else { + return; + }; + (id, SidesInput::::INDEX, n) + } else if let Some(id) = graph_modification_utils::get_star_id(layer, &document.network_interface) { + let Some(node_inputs) = NodeGraphLayer::new(layer, &document.network_interface).find_node_inputs(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::star::IDENTIFIER)) + else { + return; + }; + let Some(&TaggedValue::U32(n)) = node_inputs.get(star::SidesInput::::INDEX).unwrap().as_value() else { + return; + }; + (id, star::SidesInput::::INDEX, n) + } else { return; }; @@ -187,7 +196,7 @@ impl Polygon { }); responses.add(NodeGraphMessage::SetInput { - input_connector: InputConnector::node(node_id, SidesInput::::INDEX), + input_connector: InputConnector::node(node_id, sides_input_index), input: NodeInput::value(TaggedValue::U32(new_dimension), false), }); responses.add(NodeGraphMessage::RunDocumentGraph); diff --git a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs index 3224583bde..7cae6cc752 100644 --- a/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs +++ b/editor/src/messages/tool/common_functionality/shapes/shape_utility.rs @@ -19,6 +19,8 @@ use graph_craft::document::value::TaggedValue; use graphene_std::NodeInputDecleration; use graphene_std::subpath::{self, Subpath}; use graphene_std::vector::click_target::ClickTargetType; +use graphene_std::vector::generator_nodes::regular_polygon::SidesInput as PolygonSidesInput; +use graphene_std::vector::generator_nodes::star::SidesInput as StarSidesInput; use graphene_std::vector::misc::{ArcType, GridType, SpiralType, dvec2_to_point}; use kurbo::{BezPath, PathEl, Shape}; use std::collections::VecDeque; @@ -194,7 +196,7 @@ pub fn update_radius_sign(end: DVec2, start: DVec2, layer: LayerNodeIdentifier, let new_layer = NodeGraphLayer::new(layer, &document.network_interface); if new_layer - .find_input(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::regular_polygon::IDENTIFIER), 1) + .find_input(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::regular_polygon::IDENTIFIER), PolygonSidesInput::::INDEX) .unwrap_or(&TaggedValue::U32(0)) .to_u32() % 2 == 1 @@ -211,7 +213,7 @@ pub fn update_radius_sign(end: DVec2, start: DVec2, layer: LayerNodeIdentifier, } if new_layer - .find_input(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::star::IDENTIFIER), 1) + .find_input(&DefinitionIdentifier::ProtoNode(graphene_std::vector::generator_nodes::star::IDENTIFIER), StarSidesInput::::INDEX) .unwrap_or(&TaggedValue::U32(0)) .to_u32() % 2 == 1 diff --git a/editor/src/messages/tool/common_functionality/utility_functions.rs b/editor/src/messages/tool/common_functionality/utility_functions.rs index accf27dc96..83a2e2d21f 100644 --- a/editor/src/messages/tool/common_functionality/utility_functions.rs +++ b/editor/src/messages/tool/common_functionality/utility_functions.rs @@ -22,6 +22,8 @@ use graphene_std::vector::misc::{HandleId, ManipulatorPointId, dvec2_to_point}; use graphene_std::vector::{HandleExt, PointId, SegmentId, Vector, VectorModification, VectorModificationType}; use kurbo::{CubicBez, DEFAULT_ACCURACY, Line, ParamCurve, PathSeg, Point, QuadBez, Shape}; +const PATH_MODIFICATION_INPUT_INDEX: usize = 1; + /// Determines if a path should be extended. Goal in viewport space. Returns the path and if it is extending from the start, if applicable. pub fn should_extend(document: &DocumentMessageHandler, goal: DVec2, tolerance: f64, layers: impl Iterator) -> Option<(LayerNodeIdentifier, PointId, DVec2)> { closest_point(document, goal, tolerance, layers, |_| false) @@ -582,7 +584,8 @@ pub fn make_path_editable_is_allowed(network_interface: &mut NodeNetworkInterfac // Must not already have an existing Path node, in the right-most part of the layer chain, which has an empty set of modifications // (otherwise users could repeatedly keep running this command and stacking up empty Path nodes) - if let Some(TaggedValue::VectorModification(modifications)) = NodeGraphLayer::new(first_layer, network_interface).find_input(&DefinitionIdentifier::Network("Path".into()), 1) + if let Some(TaggedValue::VectorModification(modifications)) = + NodeGraphLayer::new(first_layer, network_interface).find_input(&DefinitionIdentifier::Network("Path".into()), PATH_MODIFICATION_INPUT_INDEX) && modifications.as_ref() == &VectorModification::default() { return None; diff --git a/editor/src/messages/tool/tool_messages/brush_tool.rs b/editor/src/messages/tool/tool_messages/brush_tool.rs index acfe5c5f5f..186f0d87c9 100644 --- a/editor/src/messages/tool/tool_messages/brush_tool.rs +++ b/editor/src/messages/tool/tool_messages/brush_tool.rs @@ -12,6 +12,7 @@ use graphene_std::brush::brush_stroke::{BrushInputSample, BrushStroke, BrushStyl use graphene_std::raster::BlendMode; const BRUSH_MAX_SIZE: f64 = 5000.; +const BRUSH_STROKES_INDEX: usize = 1; #[cfg_attr(feature = "wasm", derive(tsify::Tsify))] #[derive(PartialEq, Copy, Clone, Debug, serde::Serialize, serde::Deserialize)] @@ -320,7 +321,6 @@ impl BrushToolData { }; if reference == DefinitionIdentifier::Network("Brush".into()) && node_id != layer.to_node() { - const BRUSH_STROKES_INDEX: usize = 1; let points_input = node.inputs.get(BRUSH_STROKES_INDEX)?; let Some(TaggedValue::BrushStrokes(strokes)) = points_input.as_value() else { continue }; self.strokes.clone_from(strokes); From 28e0ed29fad3c47bb81dbc8d558ab3ea602cbd63 Mon Sep 17 00:00:00 2001 From: Tyooughtul Date: Tue, 10 Mar 2026 23:48:44 +0800 Subject: [PATCH 7/7] fix: replace.unwrap() with.and_then(|input|input.as_value()) --- .../tool/common_functionality/shapes/polygon_shape.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs index e9e0fd9b75..0f291c87ff 100644 --- a/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs +++ b/editor/src/messages/tool/common_functionality/shapes/polygon_shape.rs @@ -172,7 +172,7 @@ impl Polygon { else { return; }; - let Some(&TaggedValue::U32(n)) = node_inputs.get(SidesInput::::INDEX).unwrap().as_value() else { + let Some(&TaggedValue::U32(n)) = node_inputs.get(SidesInput::::INDEX).and_then(|input| input.as_value()) else { return; }; (id, SidesInput::::INDEX, n) @@ -181,7 +181,7 @@ impl Polygon { else { return; }; - let Some(&TaggedValue::U32(n)) = node_inputs.get(star::SidesInput::::INDEX).unwrap().as_value() else { + let Some(&TaggedValue::U32(n)) = node_inputs.get(star::SidesInput::::INDEX).and_then(|input| input.as_value()) else { return; }; (id, star::SidesInput::::INDEX, n)