Generate benchmarks for all test fixtures
Delta semántico · 482
benches/complex.rs
- nueva fn stretch_benchmarks
benches/generated.rs
- borrada fn stretch_benchmarks
benches/generated/absolute_layout_align_items_and_justify_content_center.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_and_justify_content_center_and_bottom_position.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_and_justify_content_center_and_left_position.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_and_justify_content_center_and_right_position.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_and_justify_content_center_and_top_position.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_and_justify_content_flex_end.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_center.rs
- nueva fn compute pub
benches/generated/absolute_layout_align_items_center_on_child_only.rs
- nueva fn compute pub
benches/generated/absolute_layout_child_order.rs
- nueva fn compute pub
benches/generated/absolute_layout_in_wrap_reverse_column_container.rs
- nueva fn compute pub
benches/generated/absolute_layout_in_wrap_reverse_column_container_flex_end.rs
- nueva fn compute pub
benches/generated/absolute_layout_in_wrap_reverse_row_container.rs
- nueva fn compute pub
benches/generated/absolute_layout_in_wrap_reverse_row_container_flex_end.rs
- nueva fn compute pub
benches/generated/absolute_layout_justify_content_center.rs
- nueva fn compute pub
benches/generated/absolute_layout_no_size.rs
- nueva fn compute pub
benches/generated/absolute_layout_percentage_bottom_based_on_parent_height.rs
- nueva fn compute pub
benches/generated/absolute_layout_start_top_end_bottom.rs
- nueva fn compute pub
benches/generated/absolute_layout_width_height_end_bottom.rs
- nueva fn compute pub
benches/generated/absolute_layout_width_height_start_top.rs
- nueva fn compute pub
benches/generated/absolute_layout_width_height_start_top_end_bottom.rs
- nueva fn compute pub
benches/generated/absolute_layout_within_border.rs
- nueva fn compute pub
benches/generated/align_baseline.rs
- nueva fn compute pub
benches/generated/align_baseline_child_multiline.rs
- nueva fn compute pub
benches/generated/align_baseline_nested_child.rs
- nueva fn compute pub
benches/generated/align_center_should_size_based_on_content.rs
- nueva fn compute pub
benches/generated/align_flex_start_with_shrinking_children.rs
- nueva fn compute pub
benches/generated/align_flex_start_with_shrinking_children_with_stretch.rs
- nueva fn compute pub
benches/generated/align_flex_start_with_stretching_children.rs
- nueva fn compute pub
benches/generated/align_items_center.rs
- nueva fn compute pub
benches/generated/align_items_center_child_with_margin_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/align_items_center_child_without_margin_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/align_items_center_with_child_margin.rs
- nueva fn compute pub
benches/generated/align_items_center_with_child_top.rs
- nueva fn compute pub
benches/generated/align_items_flex_end.rs
- nueva fn compute pub
benches/generated/align_items_flex_end_child_with_margin_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/align_items_flex_end_child_without_margin_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/align_items_flex_start.rs
- nueva fn compute pub
benches/generated/align_items_min_max.rs
- nueva fn compute pub
benches/generated/align_items_stretch.rs
- nueva fn compute pub
benches/generated/align_self_baseline.rs
- nueva fn compute pub
benches/generated/align_self_center.rs
- nueva fn compute pub
benches/generated/align_self_flex_end.rs
- nueva fn compute pub
benches/generated/align_self_flex_end_override_flex_start.rs
- nueva fn compute pub
benches/generated/align_self_flex_start.rs
- nueva fn compute pub
benches/generated/align_strech_should_size_based_on_parent.rs
- nueva fn compute pub
benches/generated/border_center_child.rs
- nueva fn compute pub
benches/generated/border_flex_child.rs
- nueva fn compute pub
benches/generated/border_no_child.rs
- nueva fn compute pub
benches/generated/border_stretch_child.rs
- nueva fn compute pub
benches/generated/child_min_max_width_flexing.rs
- nueva fn compute pub
benches/generated/container_with_unsized_child.rs
- nueva fn compute pub
benches/generated/display_none.rs
- nueva fn compute pub
benches/generated/display_none_fixed_size.rs
- nueva fn compute pub
benches/generated/display_none_with_child.rs
- nueva fn compute pub
benches/generated/display_none_with_margin.rs
- nueva fn compute pub
benches/generated/display_none_with_position.rs
- nueva fn compute pub
benches/generated/flex_basis_and_main_dimen_set_when_flexing.rs
- nueva fn compute pub
benches/generated/flex_basis_flex_grow_column.rs
- nueva fn compute pub
benches/generated/flex_basis_flex_grow_row.rs
- nueva fn compute pub
benches/generated/flex_basis_flex_shrink_column.rs
- nueva fn compute pub
benches/generated/flex_basis_flex_shrink_row.rs
- nueva fn compute pub
benches/generated/flex_basis_larger_than_content_column.rs
- nueva fn compute pub
benches/generated/flex_basis_larger_than_content_row.rs
- nueva fn compute pub
benches/generated/flex_basis_overrides_main_size.rs
- nueva fn compute pub
benches/generated/flex_basis_slightly_smaller_then_content_with_flex_grow_large_size.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_than_content_column.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_than_content_row.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_than_main_dimen_column.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_than_main_dimen_row.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_then_content_with_flex_grow_large_size.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_then_content_with_flex_grow_small_size.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_then_content_with_flex_grow_unconstraint_size.rs
- nueva fn compute pub
benches/generated/flex_basis_smaller_then_content_with_flex_grow_very_large_size.rs
- nueva fn compute pub
benches/generated/flex_basis_unconstraint_column.rs
- nueva fn compute pub
benches/generated/flex_basis_unconstraint_row.rs
- nueva fn compute pub
benches/generated/flex_direction_column.rs
- nueva fn compute pub
benches/generated/flex_direction_column_no_height.rs
- nueva fn compute pub
benches/generated/flex_direction_column_reverse.rs
- nueva fn compute pub
benches/generated/flex_direction_row.rs
- nueva fn compute pub
benches/generated/flex_direction_row_no_width.rs
- nueva fn compute pub
benches/generated/flex_direction_row_reverse.rs
- nueva fn compute pub
benches/generated/flex_grow_child.rs
- nueva fn compute pub
benches/generated/flex_grow_flex_basis_percent_min_max.rs
- nueva fn compute pub
benches/generated/flex_grow_height_maximized.rs
- nueva fn compute pub
benches/generated/flex_grow_in_at_most_container.rs
- nueva fn compute pub
benches/generated/flex_grow_less_than_factor_one.rs
- nueva fn compute pub
benches/generated/flex_grow_root_minimized.rs
- nueva fn compute pub
benches/generated/flex_grow_shrink_at_most.rs
- nueva fn compute pub
benches/generated/flex_grow_to_min.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_max_column.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_max_row.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_max_width.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_min_column.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_min_max_column.rs
- nueva fn compute pub
benches/generated/flex_grow_within_constrained_min_row.rs
- nueva fn compute pub
benches/generated/flex_grow_within_max_width.rs
- nueva fn compute pub
benches/generated/flex_root_ignored.rs
- nueva fn compute pub
benches/generated/flex_shrink_by_outer_margin_with_max_size.rs
- nueva fn compute pub
benches/generated/flex_shrink_flex_grow_child_flex_shrink_other_child.rs
- nueva fn compute pub
benches/generated/flex_shrink_flex_grow_row.rs
- nueva fn compute pub
benches/generated/flex_shrink_to_zero.rs
- nueva fn compute pub
benches/generated/flex_wrap_align_stretch_fits_one_row.rs
- nueva fn compute pub
benches/generated/flex_wrap_children_with_min_main_overriding_flex_basis.rs
- nueva fn compute pub
benches/generated/flex_wrap_wrap_to_child_height.rs
- nueva fn compute pub
benches/generated/justify_content_column_center.rs
- nueva fn compute pub
benches/generated/justify_content_column_flex_end.rs
- nueva fn compute pub
benches/generated/justify_content_column_flex_start.rs
- nueva fn compute pub
benches/generated/justify_content_column_min_height_and_margin_bottom.rs
- nueva fn compute pub
benches/generated/justify_content_column_min_height_and_margin_top.rs
- nueva fn compute pub
benches/generated/justify_content_column_space_around.rs
- nueva fn compute pub
benches/generated/justify_content_column_space_between.rs
- nueva fn compute pub
benches/generated/justify_content_column_space_evenly.rs
- nueva fn compute pub
benches/generated/justify_content_min_max.rs
- nueva fn compute pub
benches/generated/justify_content_min_width_with_padding_child_width_greater_than_parent.rs
- nueva fn compute pub
benches/generated/justify_content_min_width_with_padding_child_width_lower_than_parent.rs
- nueva fn compute pub
benches/generated/justify_content_overflow_min_max.rs
- nueva fn compute pub
benches/generated/justify_content_row_center.rs
- nueva fn compute pub
benches/generated/justify_content_row_flex_end.rs
- nueva fn compute pub
benches/generated/justify_content_row_flex_start.rs
- nueva fn compute pub
benches/generated/justify_content_row_max_width_and_margin.rs
- nueva fn compute pub
benches/generated/justify_content_row_min_width_and_margin.rs
- nueva fn compute pub
benches/generated/justify_content_row_space_around.rs
- nueva fn compute pub
benches/generated/justify_content_row_space_between.rs
- nueva fn compute pub
benches/generated/justify_content_row_space_evenly.rs
- nueva fn compute pub
benches/generated/margin_and_flex_column.rs
- nueva fn compute pub
benches/generated/margin_and_flex_row.rs
- nueva fn compute pub
benches/generated/margin_and_stretch_column.rs
- nueva fn compute pub
benches/generated/margin_and_stretch_row.rs
- nueva fn compute pub
benches/generated/margin_auto_bottom.rs
- nueva fn compute pub
benches/generated/margin_auto_bottom_and_top.rs
- nueva fn compute pub
benches/generated/margin_auto_bottom_and_top_justify_center.rs
- nueva fn compute pub
benches/generated/margin_auto_left.rs
- nueva fn compute pub
benches/generated/margin_auto_left_and_right.rs
- nueva fn compute pub
benches/generated/margin_auto_left_and_right_column.rs
- nueva fn compute pub
benches/generated/margin_auto_left_and_right_column_and_center.rs
- nueva fn compute pub
benches/generated/margin_auto_left_and_right_strech.rs
- nueva fn compute pub
benches/generated/margin_auto_left_child_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/margin_auto_left_fix_right_child_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/margin_auto_left_right_child_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/margin_auto_left_stretching_child.rs
- nueva fn compute pub
benches/generated/margin_auto_mutiple_children_column.rs
- nueva fn compute pub
benches/generated/margin_auto_mutiple_children_row.rs
- nueva fn compute pub
benches/generated/margin_auto_right.rs
- nueva fn compute pub
benches/generated/margin_auto_top.rs
- nueva fn compute pub
benches/generated/margin_auto_top_and_bottom_strech.rs
- nueva fn compute pub
benches/generated/margin_auto_top_stretching_child.rs
- nueva fn compute pub
benches/generated/margin_bottom.rs
- nueva fn compute pub
benches/generated/margin_fix_left_auto_right_child_bigger_than_parent.rs
- nueva fn compute pub
benches/generated/margin_left.rs
- nueva fn compute pub
benches/generated/margin_right.rs
- nueva fn compute pub
benches/generated/margin_should_not_be_part_of_max_height.rs
- nueva fn compute pub
benches/generated/margin_should_not_be_part_of_max_width.rs
- nueva fn compute pub
benches/generated/margin_top.rs
- nueva fn compute pub
benches/generated/margin_with_sibling_column.rs
- nueva fn compute pub
benches/generated/margin_with_sibling_row.rs
- nueva fn compute pub
benches/generated/max_height.rs
- nueva fn compute pub
benches/generated/max_height_overrides_height.rs
- nueva fn compute pub
benches/generated/max_height_overrides_height_on_root.rs
- nueva fn compute pub
benches/generated/max_width.rs
- nueva fn compute pub
benches/generated/max_width_overrides_width.rs
- nueva fn compute pub
benches/generated/max_width_overrides_width_on_root.rs
- nueva fn compute pub
benches/generated/min_height.rs
- nueva fn compute pub
benches/generated/min_height_overrides_height.rs
- nueva fn compute pub
benches/generated/min_height_overrides_height_on_root.rs
- nueva fn compute pub
benches/generated/min_max_percent_no_width_height.rs
- nueva fn compute pub
benches/generated/min_width.rs
- nueva fn compute pub
benches/generated/min_width_overrides_width.rs
- nueva fn compute pub
benches/generated/min_width_overrides_width_on_root.rs
- nueva fn compute pub
benches/generated/mod.rs
- nueva mod absolute_layout_align_items_and_justify_content_center
- nueva mod absolute_layout_align_items_and_justify_content_center_and_bottom_position
- nueva mod absolute_layout_align_items_and_justify_content_center_and_left_position
- nueva mod absolute_layout_align_items_and_justify_content_center_and_right_position
- nueva mod absolute_layout_align_items_and_justify_content_center_and_top_position
- nueva mod absolute_layout_align_items_and_justify_content_flex_end
- nueva mod absolute_layout_align_items_center
- nueva mod absolute_layout_align_items_center_on_child_only
- nueva mod absolute_layout_child_order
- nueva mod absolute_layout_in_wrap_reverse_column_container
- nueva mod absolute_layout_in_wrap_reverse_column_container_flex_end
- nueva mod absolute_layout_in_wrap_reverse_row_container
- nueva mod absolute_layout_in_wrap_reverse_row_container_flex_end
- nueva mod absolute_layout_justify_content_center
- nueva mod absolute_layout_no_size
- nueva mod absolute_layout_percentage_bottom_based_on_parent_height
- nueva mod absolute_layout_start_top_end_bottom
- nueva mod absolute_layout_width_height_end_bottom
- nueva mod absolute_layout_width_height_start_top
- nueva mod absolute_layout_width_height_start_top_end_bottom
- nueva mod absolute_layout_within_border
- nueva mod align_baseline
- nueva mod align_baseline_child_multiline
- nueva mod align_baseline_nested_child
- nueva mod align_center_should_size_based_on_content
- nueva mod align_flex_start_with_shrinking_children
- nueva mod align_flex_start_with_shrinking_children_with_stretch
- nueva mod align_flex_start_with_stretching_children
- nueva mod align_items_center
- nueva mod align_items_center_child_with_margin_bigger_than_parent
- nueva mod align_items_center_child_without_margin_bigger_than_parent
- nueva mod align_items_center_with_child_margin
- nueva mod align_items_center_with_child_top
- nueva mod align_items_flex_end
- nueva mod align_items_flex_end_child_with_margin_bigger_than_parent
- nueva mod align_items_flex_end_child_without_margin_bigger_than_parent
- nueva mod align_items_flex_start
- nueva mod align_items_min_max
- nueva mod align_items_stretch
- nueva mod align_self_baseline
- nueva mod align_self_center
- nueva mod align_self_flex_end
- nueva mod align_self_flex_end_override_flex_start
- nueva mod align_self_flex_start
- nueva mod align_strech_should_size_based_on_parent
- nueva fn benchmark
- nueva mod border_center_child
- nueva mod border_flex_child
- nueva mod border_no_child
- nueva mod border_stretch_child
- nueva mod child_min_max_width_flexing
- nueva mod container_with_unsized_child
- nueva mod display_none
- nueva mod display_none_fixed_size
- nueva mod display_none_with_child
- nueva mod display_none_with_margin
- nueva mod display_none_with_position
- nueva mod flex_basis_and_main_dimen_set_when_flexing
- nueva mod flex_basis_flex_grow_column
- nueva mod flex_basis_flex_grow_row
- nueva mod flex_basis_flex_shrink_column
- nueva mod flex_basis_flex_shrink_row
- nueva mod flex_basis_larger_than_content_column
- nueva mod flex_basis_larger_than_content_row
- nueva mod flex_basis_overrides_main_size
- nueva mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size
- nueva mod flex_basis_smaller_than_content_column
- nueva mod flex_basis_smaller_than_content_row
- nueva mod flex_basis_smaller_than_main_dimen_column
- nueva mod flex_basis_smaller_than_main_dimen_row
- nueva mod flex_basis_smaller_then_content_with_flex_grow_large_size
- nueva mod flex_basis_smaller_then_content_with_flex_grow_small_size
- nueva mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size
- nueva mod flex_basis_smaller_then_content_with_flex_grow_very_large_size
- nueva mod flex_basis_unconstraint_column
- nueva mod flex_basis_unconstraint_row
- nueva mod flex_direction_column
- nueva mod flex_direction_column_no_height
- nueva mod flex_direction_column_reverse
- nueva mod flex_direction_row
- nueva mod flex_direction_row_no_width
- nueva mod flex_direction_row_reverse
- nueva mod flex_grow_child
- nueva mod flex_grow_flex_basis_percent_min_max
- nueva mod flex_grow_height_maximized
- nueva mod flex_grow_in_at_most_container
- nueva mod flex_grow_less_than_factor_one
- nueva mod flex_grow_root_minimized
- nueva mod flex_grow_shrink_at_most
- nueva mod flex_grow_to_min
- nueva mod flex_grow_within_constrained_max_column
- nueva mod flex_grow_within_constrained_max_row
- nueva mod flex_grow_within_constrained_max_width
- nueva mod flex_grow_within_constrained_min_column
- nueva mod flex_grow_within_constrained_min_max_column
- nueva mod flex_grow_within_constrained_min_row
- nueva mod flex_grow_within_max_width
- nueva mod flex_root_ignored
- nueva mod flex_shrink_by_outer_margin_with_max_size
- nueva mod flex_shrink_flex_grow_child_flex_shrink_other_child
- nueva mod flex_shrink_flex_grow_row
- nueva mod flex_shrink_to_zero
- nueva mod flex_wrap_align_stretch_fits_one_row
- nueva mod flex_wrap_children_with_min_main_overriding_flex_basis
- nueva mod flex_wrap_wrap_to_child_height
- nueva mod justify_content_column_center
- nueva mod justify_content_column_flex_end
- nueva mod justify_content_column_flex_start
- nueva mod justify_content_column_min_height_and_margin_bottom
- nueva mod justify_content_column_min_height_and_margin_top
- nueva mod justify_content_column_space_around
- nueva mod justify_content_column_space_between
- nueva mod justify_content_column_space_evenly
- nueva mod justify_content_min_max
- nueva mod justify_content_min_width_with_padding_child_width_greater_than_parent
- nueva mod justify_content_min_width_with_padding_child_width_lower_than_parent
- nueva mod justify_content_overflow_min_max
- nueva mod justify_content_row_center
- nueva mod justify_content_row_flex_end
- nueva mod justify_content_row_flex_start
- nueva mod justify_content_row_max_width_and_margin
- nueva mod justify_content_row_min_width_and_margin
- nueva mod justify_content_row_space_around
- nueva mod justify_content_row_space_between
- nueva mod justify_content_row_space_evenly
- nueva mod margin_and_flex_column
- nueva mod margin_and_flex_row
- nueva mod margin_and_stretch_column
- nueva mod margin_and_stretch_row
- nueva mod margin_auto_bottom
- nueva mod margin_auto_bottom_and_top
- nueva mod margin_auto_bottom_and_top_justify_center
- nueva mod margin_auto_left
- nueva mod margin_auto_left_and_right
- nueva mod margin_auto_left_and_right_column
- nueva mod margin_auto_left_and_right_column_and_center
- nueva mod margin_auto_left_and_right_strech
- nueva mod margin_auto_left_child_bigger_than_parent
- nueva mod margin_auto_left_fix_right_child_bigger_than_parent
- nueva mod margin_auto_left_right_child_bigger_than_parent
- nueva mod margin_auto_left_stretching_child
- nueva mod margin_auto_mutiple_children_column
- nueva mod margin_auto_mutiple_children_row
- nueva mod margin_auto_right
- nueva mod margin_auto_top
- nueva mod margin_auto_top_and_bottom_strech
- nueva mod margin_auto_top_stretching_child
- nueva mod margin_bottom
- nueva mod margin_fix_left_auto_right_child_bigger_than_parent
- nueva mod margin_left
- nueva mod margin_right
- nueva mod margin_should_not_be_part_of_max_height
- nueva mod margin_should_not_be_part_of_max_width
- nueva mod margin_top
- nueva mod margin_with_sibling_column
- nueva mod margin_with_sibling_row
- nueva mod max_height
- nueva mod max_height_overrides_height
- nueva mod max_height_overrides_height_on_root
- nueva mod max_width
- nueva mod max_width_overrides_width
- nueva mod max_width_overrides_width_on_root
- nueva mod min_height
- nueva mod min_height_overrides_height
- nueva mod min_height_overrides_height_on_root
- nueva mod min_max_percent_no_width_height
- nueva mod min_width
- nueva mod min_width_overrides_width
- nueva mod min_width_overrides_width_on_root
- nueva mod nested_overflowing_child
- nueva mod nested_overflowing_child_in_constraint_parent
- nueva mod overflow_cross_axis
- nueva mod overflow_main_axis
- nueva mod padding_align_end_child
- nueva mod padding_center_child
- nueva mod padding_flex_child
- nueva mod padding_no_child
- nueva mod padding_stretch_child
- nueva mod parent_wrap_child_size_overflowing_parent
- nueva mod percent_absolute_position
- nueva mod percent_within_flex_grow
- nueva mod percentage_absolute_position
- nueva mod percentage_container_in_wrapping_container
- nueva mod percentage_flex_basis
- nueva mod percentage_flex_basis_cross
- nueva mod percentage_flex_basis_cross_max_height
- nueva mod percentage_flex_basis_cross_max_width
- nueva mod percentage_flex_basis_cross_min_height
- nueva mod percentage_flex_basis_cross_min_width
- nueva mod percentage_flex_basis_main_max_height
- nueva mod percentage_flex_basis_main_max_width
- nueva mod percentage_flex_basis_main_min_width
- nueva mod percentage_margin_should_calculate_based_only_on_width
- nueva mod percentage_multiple_nested_with_padding_margin_and_percentage_values
- nueva mod percentage_padding_should_calculate_based_only_on_width
- nueva mod percentage_position_bottom_right
- nueva mod percentage_position_left_top
- nueva mod percentage_size_based_on_parent_inner_size
- nueva mod percentage_size_of_flex_basis
- nueva mod percentage_width_height
- nueva mod percentage_width_height_undefined_parent_size
- nueva mod relative_position_should_not_nudge_siblings
- nueva mod rounding_flex_basis_flex_grow_row_prime_number_width
- nueva mod rounding_flex_basis_flex_grow_row_width_of_100
- nueva mod rounding_flex_basis_flex_shrink_row
- nueva mod rounding_flex_basis_overrides_main_size
- nueva mod rounding_fractial_input_1
- nueva mod rounding_fractial_input_2
- nueva mod rounding_fractial_input_3
- nueva mod rounding_fractial_input_4
- nueva mod rounding_total_fractial
- nueva mod rounding_total_fractial_nested
- nueva mod size_defined_by_child
- nueva mod size_defined_by_child_with_border
- nueva mod size_defined_by_child_with_padding
- nueva mod size_defined_by_grand_child
- nueva mod width_smaller_then_content_with_flex_grow_large_size
- nueva mod width_smaller_then_content_with_flex_grow_small_size
- nueva mod width_smaller_then_content_with_flex_grow_unconstraint_size
- nueva mod width_smaller_then_content_with_flex_grow_very_large_size
- nueva mod wrap_column
- nueva mod wrap_nodes_with_content_sizing_margin_cross
- nueva mod wrap_nodes_with_content_sizing_overflowing_margin
- nueva mod wrap_reverse_column
- nueva mod wrap_reverse_column_fixed_size
- nueva mod wrap_reverse_row
- nueva mod wrap_reverse_row_align_content_center
- nueva mod wrap_reverse_row_align_content_flex_start
- nueva mod wrap_reverse_row_align_content_space_around
- nueva mod wrap_reverse_row_align_content_stretch
- nueva mod wrap_reverse_row_single_line_different_size
- nueva mod wrap_row
- nueva mod wrap_row_align_items_center
- nueva mod wrap_row_align_items_flex_end
- nueva mod wrapped_column_max_height
- nueva mod wrapped_column_max_height_flex
- nueva mod wrapped_row_within_align_items_center
- nueva mod wrapped_row_within_align_items_flex_end
- nueva mod wrapped_row_within_align_items_flex_start
benches/generated/nested_overflowing_child.rs
- nueva fn compute pub
benches/generated/nested_overflowing_child_in_constraint_parent.rs
- nueva fn compute pub
benches/generated/overflow_cross_axis.rs
- nueva fn compute pub
benches/generated/overflow_main_axis.rs
- nueva fn compute pub
benches/generated/padding_align_end_child.rs
- nueva fn compute pub
benches/generated/padding_center_child.rs
- nueva fn compute pub
benches/generated/padding_flex_child.rs
- nueva fn compute pub
benches/generated/padding_no_child.rs
- nueva fn compute pub
benches/generated/padding_stretch_child.rs
- nueva fn compute pub
benches/generated/parent_wrap_child_size_overflowing_parent.rs
- nueva fn compute pub
benches/generated/percent_absolute_position.rs
- nueva fn compute pub
benches/generated/percent_within_flex_grow.rs
- nueva fn compute pub
benches/generated/percentage_absolute_position.rs
- nueva fn compute pub
benches/generated/percentage_container_in_wrapping_container.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_cross.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_cross_max_height.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_cross_max_width.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_cross_min_height.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_cross_min_width.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_main_max_height.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_main_max_width.rs
- nueva fn compute pub
benches/generated/percentage_flex_basis_main_min_width.rs
- nueva fn compute pub
benches/generated/percentage_margin_should_calculate_based_only_on_width.rs
- nueva fn compute pub
benches/generated/percentage_multiple_nested_with_padding_margin_and_percentage_values.rs
- nueva fn compute pub
benches/generated/percentage_padding_should_calculate_based_only_on_width.rs
- nueva fn compute pub
benches/generated/percentage_position_bottom_right.rs
- nueva fn compute pub
benches/generated/percentage_position_left_top.rs
- nueva fn compute pub
benches/generated/percentage_size_based_on_parent_inner_size.rs
- nueva fn compute pub
benches/generated/percentage_size_of_flex_basis.rs
- nueva fn compute pub
benches/generated/percentage_width_height.rs
- nueva fn compute pub
benches/generated/percentage_width_height_undefined_parent_size.rs
- nueva fn compute pub
benches/generated/relative_position_should_not_nudge_siblings.rs
- nueva fn compute pub
benches/generated/rounding_flex_basis_flex_grow_row_prime_number_width.rs
- nueva fn compute pub
benches/generated/rounding_flex_basis_flex_grow_row_width_of_100.rs
- nueva fn compute pub
benches/generated/rounding_flex_basis_flex_shrink_row.rs
- nueva fn compute pub
benches/generated/rounding_flex_basis_overrides_main_size.rs
- nueva fn compute pub
benches/generated/rounding_fractial_input_1.rs
- nueva fn compute pub
benches/generated/rounding_fractial_input_2.rs
- nueva fn compute pub
benches/generated/rounding_fractial_input_3.rs
- nueva fn compute pub
benches/generated/rounding_fractial_input_4.rs
- nueva fn compute pub
benches/generated/rounding_total_fractial.rs
- nueva fn compute pub
benches/generated/rounding_total_fractial_nested.rs
- nueva fn compute pub
benches/generated/size_defined_by_child.rs
- nueva fn compute pub
benches/generated/size_defined_by_child_with_border.rs
- nueva fn compute pub
benches/generated/size_defined_by_child_with_padding.rs
- nueva fn compute pub
benches/generated/size_defined_by_grand_child.rs
- nueva fn compute pub
benches/generated/width_smaller_then_content_with_flex_grow_large_size.rs
- nueva fn compute pub
benches/generated/width_smaller_then_content_with_flex_grow_small_size.rs
- nueva fn compute pub
benches/generated/width_smaller_then_content_with_flex_grow_unconstraint_size.rs
- nueva fn compute pub
benches/generated/width_smaller_then_content_with_flex_grow_very_large_size.rs
- nueva fn compute pub
benches/generated/wrap_column.rs
- nueva fn compute pub
benches/generated/wrap_nodes_with_content_sizing_margin_cross.rs
- nueva fn compute pub
benches/generated/wrap_nodes_with_content_sizing_overflowing_margin.rs
- nueva fn compute pub
benches/generated/wrap_reverse_column.rs
- nueva fn compute pub
benches/generated/wrap_reverse_column_fixed_size.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row_align_content_center.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row_align_content_flex_start.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row_align_content_space_around.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row_align_content_stretch.rs
- nueva fn compute pub
benches/generated/wrap_reverse_row_single_line_different_size.rs
- nueva fn compute pub
benches/generated/wrap_row.rs
- nueva fn compute pub
benches/generated/wrap_row_align_items_center.rs
- nueva fn compute pub
benches/generated/wrap_row_align_items_flex_end.rs
- nueva fn compute pub
benches/generated/wrapped_column_max_height.rs
- nueva fn compute pub
benches/generated/wrapped_column_max_height_flex.rs
- nueva fn compute pub
benches/generated/wrapped_row_within_align_items_center.rs
- nueva fn compute pub
benches/generated/wrapped_row_within_align_items_flex_end.rs
- nueva fn compute pub
benches/generated/wrapped_row_within_align_items_flex_start.rs
- nueva fn compute pub
scripts/gentest/src/main.rs
- nueva fn generate_bench
- cambió de firma fn generate_test
- cambió por dentro fn main
244 archivos · +8351 −114
- Cargo.toml +5 −0
- benches/complex.rs +108 −0
- benches/generated.rs +0 −108
- benches/generated/absolute_layout_align_items_and_justify_content_center.rs +25 −0
- benches/generated/absolute_layout_align_items_and_justify_content_center_and_bottom_position.rs +29 −0
- benches/generated/absolute_layout_align_items_and_justify_content_center_and_left_position.rs +29 −0
- benches/generated/absolute_layout_align_items_and_justify_content_center_and_right_position.rs +29 −0
- benches/generated/absolute_layout_align_items_and_justify_content_center_and_top_position.rs +29 −0
- benches/generated/absolute_layout_align_items_and_justify_content_flex_end.rs +25 −0
- benches/generated/absolute_layout_align_items_center.rs +24 −0
- benches/generated/absolute_layout_align_items_center_on_child_only.rs +24 −0
- benches/generated/absolute_layout_child_order.rs +43 −0
- benches/generated/absolute_layout_in_wrap_reverse_column_container.rs +25 −0
- benches/generated/absolute_layout_in_wrap_reverse_column_container_flex_end.rs +26 −0
- benches/generated/absolute_layout_in_wrap_reverse_row_container.rs +24 −0
- benches/generated/absolute_layout_in_wrap_reverse_row_container_flex_end.rs +25 −0
- benches/generated/absolute_layout_justify_content_center.rs +24 −0
- benches/generated/absolute_layout_no_size.rs +18 −0
- benches/generated/absolute_layout_percentage_bottom_based_on_parent_height.rs +55 −0
- benches/generated/absolute_layout_start_top_end_bottom.rs +25 −0
- benches/generated/absolute_layout_width_height_end_bottom.rs +28 −0
- benches/generated/absolute_layout_width_height_start_top.rs +28 −0
- benches/generated/absolute_layout_width_height_start_top_end_bottom.rs +30 −0
- benches/generated/absolute_layout_within_border.rs +100 −0
- benches/generated/align_baseline.rs +33 −0
- benches/generated/align_baseline_child_multiline.rs +63 −0
- benches/generated/align_baseline_nested_child.rs +42 −0
- benches/generated/align_center_should_size_based_on_content.rs +34 −0
- benches/generated/align_flex_start_with_shrinking_children.rs +24 −0
- benches/generated/align_flex_start_with_shrinking_children_with_stretch.rs +24 −0
- benches/generated/align_flex_start_with_stretching_children.rs +23 −0
- benches/generated/align_items_center.rs +23 −0
- benches/generated/align_items_center_child_with_margin_bigger_than_parent.rs +33 −0
- benches/generated/align_items_center_child_without_margin_bigger_than_parent.rs +28 −0
- benches/generated/align_items_center_with_child_margin.rs +24 −0
- benches/generated/align_items_center_with_child_top.rs +27 −0
- benches/generated/align_items_flex_end.rs +23 −0
- benches/generated/align_items_flex_end_child_with_margin_bigger_than_parent.rs +33 −0
- benches/generated/align_items_flex_end_child_without_margin_bigger_than_parent.rs +28 −0
- benches/generated/align_items_flex_start.rs +23 −0
- benches/generated/align_items_min_max.rs +28 −0
- benches/generated/align_items_stretch.rs +18 −0
- benches/generated/align_self_baseline.rs +42 −0
- benches/generated/align_self_center.rs +23 −0
- benches/generated/align_self_flex_end.rs +23 −0
- benches/generated/align_self_flex_end_override_flex_start.rs +24 −0
- benches/generated/align_self_flex_start.rs +23 −0
- benches/generated/align_strech_should_size_based_on_parent.rs +33 −0
- benches/generated/border_center_child.rs +29 −0
- benches/generated/border_flex_child.rs +26 −0
- benches/generated/border_no_child.rs +16 −0
- benches/generated/border_stretch_child.rs +25 −0
- benches/generated/child_min_max_width_flexing.rs +36 −0
- benches/generated/container_with_unsized_child.rs +15 −0
- benches/generated/display_none.rs +18 −0
- benches/generated/display_none_fixed_size.rs +26 −0
- benches/generated/display_none_with_child.rs +46 −0
- benches/generated/display_none_with_margin.rs +33 −0
- benches/generated/display_none_with_position.rs +26 −0
- benches/generated/flex_basis_and_main_dimen_set_when_flexing.rs +32 −0
- benches/generated/flex_basis_flex_grow_column.rs +23 −0
- benches/generated/flex_basis_flex_grow_row.rs +22 −0
- benches/generated/flex_basis_flex_shrink_column.rs +19 −0
- benches/generated/flex_basis_flex_shrink_row.rs +18 −0
- benches/generated/flex_basis_larger_than_content_column.rs +24 −0
- benches/generated/flex_basis_larger_than_content_row.rs +23 −0
- benches/generated/flex_basis_overrides_main_size.rs +41 −0
- benches/generated/flex_basis_slightly_smaller_then_content_with_flex_grow_large_size.rs +40 −0
- benches/generated/flex_basis_smaller_than_content_column.rs +24 −0
- benches/generated/flex_basis_smaller_than_content_row.rs +23 −0
- benches/generated/flex_basis_smaller_than_main_dimen_column.rs +20 −0
- benches/generated/flex_basis_smaller_than_main_dimen_row.rs +19 −0
- benches/generated/flex_basis_smaller_then_content_with_flex_grow_large_size.rs +40 −0
- benches/generated/flex_basis_smaller_then_content_with_flex_grow_small_size.rs +40 −0
- benches/generated/flex_basis_smaller_then_content_with_flex_grow_unconstraint_size.rs +39 −0
- benches/generated/flex_basis_smaller_then_content_with_flex_grow_very_large_size.rs +40 −0
- benches/generated/flex_basis_unconstraint_column.rs +18 −0
- benches/generated/flex_basis_unconstraint_row.rs +17 −0
- benches/generated/flex_direction_column.rs +38 −0
- benches/generated/flex_direction_column_no_height.rs +34 −0
- benches/generated/flex_direction_column_reverse.rs +38 −0
- benches/generated/flex_direction_row.rs +37 −0
- benches/generated/flex_direction_row_no_width.rs +33 −0
- benches/generated/flex_direction_row_reverse.rs +38 −0
- benches/generated/flex_grow_child.rs +18 −0
- benches/generated/flex_grow_flex_basis_percent_min_max.rs +41 −0
- benches/generated/flex_grow_height_maximized.rs +42 −0
- benches/generated/flex_grow_in_at_most_container.rs +23 −0
- benches/generated/flex_grow_less_than_factor_one.rs +24 −0
- benches/generated/flex_grow_root_minimized.rs +46 −0
- benches/generated/flex_grow_shrink_at_most.rs +18 −0
- benches/generated/flex_grow_to_min.rs +29 −0
- benches/generated/flex_grow_within_constrained_max_column.rs +29 −0
- benches/generated/flex_grow_within_constrained_max_row.rs +36 −0
- benches/generated/flex_grow_within_constrained_max_width.rs +30 −0
- benches/generated/flex_grow_within_constrained_min_column.rs +24 −0
- benches/generated/flex_grow_within_constrained_min_max_column.rs +23 −0
- benches/generated/flex_grow_within_constrained_min_row.rs +24 −0
- benches/generated/flex_grow_within_max_width.rs +30 −0
- benches/generated/flex_root_ignored.rs +33 −0
- benches/generated/flex_shrink_by_outer_margin_with_max_size.rs +27 −0
- benches/generated/flex_shrink_flex_grow_child_flex_shrink_other_child.rs +36 −0
- benches/generated/flex_shrink_flex_grow_row.rs +36 −0
- benches/generated/flex_shrink_to_zero.rs +39 −0
- benches/generated/flex_wrap_align_stretch_fits_one_row.rs +31 −0
- benches/generated/flex_wrap_children_with_min_main_overriding_flex_basis.rs +37 −0
- benches/generated/flex_wrap_wrap_to_child_height.rs +41 −0
- benches/generated/justify_content_column_center.rs +39 −0
- benches/generated/justify_content_column_flex_end.rs +39 −0
- benches/generated/justify_content_column_flex_start.rs +38 −0
- benches/generated/justify_content_column_min_height_and_margin_bottom.rs +27 −0
- benches/generated/justify_content_column_min_height_and_margin_top.rs +24 −0
- benches/generated/justify_content_column_space_around.rs +39 −0
- benches/generated/justify_content_column_space_between.rs +39 −0
- benches/generated/justify_content_column_space_evenly.rs +39 −0
- benches/generated/justify_content_min_max.rs +28 −0
- benches/generated/justify_content_min_width_with_padding_child_width_greater_than_parent.rs +39 −0
- benches/generated/justify_content_min_width_with_padding_child_width_lower_than_parent.rs +39 −0
- benches/generated/justify_content_overflow_min_max.rs +48 −0
- benches/generated/justify_content_row_center.rs +38 −0
- benches/generated/justify_content_row_flex_end.rs +38 −0
- benches/generated/justify_content_row_flex_start.rs +37 −0
- benches/generated/justify_content_row_max_width_and_margin.rs +24 −0
- benches/generated/justify_content_row_min_width_and_margin.rs +23 −0
- benches/generated/justify_content_row_space_around.rs +38 −0
- benches/generated/justify_content_row_space_between.rs +38 −0
- benches/generated/justify_content_row_space_evenly.rs +38 −0
- benches/generated/margin_and_flex_column.rs +24 −0
- benches/generated/margin_and_flex_row.rs +23 −0
- benches/generated/margin_and_stretch_column.rs +24 −0
- benches/generated/margin_and_stretch_row.rs +23 −0
- benches/generated/margin_auto_bottom.rs +34 −0
- benches/generated/margin_auto_bottom_and_top.rs +38 −0
- benches/generated/margin_auto_bottom_and_top_justify_center.rs +38 −0
- benches/generated/margin_auto_left.rs +34 −0
- benches/generated/margin_auto_left_and_right.rs +37 −0
- benches/generated/margin_auto_left_and_right_column.rs +38 −0
- benches/generated/margin_auto_left_and_right_column_and_center.rs +38 −0
- benches/generated/margin_auto_left_and_right_strech.rs +37 −0
- benches/generated/margin_auto_left_child_bigger_than_parent.rs +24 −0
- benches/generated/margin_auto_left_fix_right_child_bigger_than_parent.rs +28 −0
- benches/generated/margin_auto_left_right_child_bigger_than_parent.rs +28 −0
- benches/generated/margin_auto_left_stretching_child.rs +32 −0
- benches/generated/margin_auto_mutiple_children_column.rs +44 −0
- benches/generated/margin_auto_mutiple_children_row.rs +43 −0
- benches/generated/margin_auto_right.rs +34 −0
- benches/generated/margin_auto_top.rs +34 −0
- benches/generated/margin_auto_top_and_bottom_strech.rs +38 −0
- benches/generated/margin_auto_top_stretching_child.rs +32 −0
- benches/generated/margin_bottom.rs +27 −0
- benches/generated/margin_fix_left_auto_right_child_bigger_than_parent.rs +28 −0
- benches/generated/margin_left.rs +22 −0
- benches/generated/margin_right.rs +20 −0
- benches/generated/margin_should_not_be_part_of_max_height.rs +27 −0
- benches/generated/margin_should_not_be_part_of_max_width.rs +30 −0
- benches/generated/margin_top.rs +23 −0
- benches/generated/margin_with_sibling_column.rs +26 −0
- benches/generated/margin_with_sibling_row.rs +25 −0
- benches/generated/max_height.rs +22 −0
- benches/generated/max_height_overrides_height.rs +20 −0
- benches/generated/max_height_overrides_height_on_root.rs +14 −0
- benches/generated/max_width.rs +26 −0
- benches/generated/max_width_overrides_width.rs +20 −0
- benches/generated/max_width_overrides_width_on_root.rs +14 −0
- benches/generated/min_height.rs +26 −0
- benches/generated/min_height_overrides_height.rs +20 −0
- benches/generated/min_height_overrides_height_on_root.rs +14 −0
- benches/generated/min_max_percent_no_width_height.rs +29 −0
- benches/generated/min_width.rs +25 −0
- benches/generated/min_width_overrides_width.rs +17 −0
- benches/generated/min_width_overrides_width_on_root.rs +14 −0
- benches/generated/mod.rs +485 −0
- benches/generated/nested_overflowing_child.rs +25 −0
- benches/generated/nested_overflowing_child_in_constraint_parent.rs +30 −0
- benches/generated/overflow_cross_axis.rs +22 −0
- benches/generated/overflow_main_axis.rs +22 −0
- benches/generated/padding_align_end_child.rs +31 −0
- benches/generated/padding_center_child.rs +31 −0
- benches/generated/padding_flex_child.rs +26 −0
- benches/generated/padding_no_child.rs +16 −0
- benches/generated/padding_stretch_child.rs +28 −0
- benches/generated/parent_wrap_child_size_overflowing_parent.rs +29 −0
- benches/generated/percent_absolute_position.rs +44 −0
- benches/generated/percent_within_flex_grow.rs +42 −0
- benches/generated/percentage_absolute_position.rs +29 −0
- benches/generated/percentage_container_in_wrapping_container.rs +47 −0
- benches/generated/percentage_flex_basis.rs +26 −0
- benches/generated/percentage_flex_basis_cross.rs +27 −0
- benches/generated/percentage_flex_basis_cross_max_height.rs +35 −0
- benches/generated/percentage_flex_basis_cross_max_width.rs +35 −0
- benches/generated/percentage_flex_basis_cross_min_height.rs +33 −0
- benches/generated/percentage_flex_basis_cross_min_width.rs +35 −0
- benches/generated/percentage_flex_basis_main_max_height.rs +34 −0
- benches/generated/percentage_flex_basis_main_max_width.rs +34 −0
- benches/generated/percentage_flex_basis_main_min_width.rs +34 −0
- benches/generated/percentage_margin_should_calculate_based_only_on_width.rs +35 −0
- benches/generated/percentage_multiple_nested_with_padding_margin_and_percentage_values.rs +93 −0
- benches/generated/percentage_padding_should_calculate_based_only_on_width.rs +35 −0
- benches/generated/percentage_position_bottom_right.rs +27 −0
- benches/generated/percentage_position_left_top.rs +27 −0
- benches/generated/percentage_size_based_on_parent_inner_size.rs +30 −0
- benches/generated/percentage_size_of_flex_basis.rs +22 −0
- benches/generated/percentage_width_height.rs +22 −0
- benches/generated/percentage_width_height_undefined_parent_size.rs +18 −0
- benches/generated/relative_position_should_not_nudge_siblings.rs +39 −0
- benches/generated/rounding_flex_basis_flex_grow_row_prime_number_width.rs +21 −0
- benches/generated/rounding_flex_basis_flex_grow_row_width_of_100.rs +19 −0
- benches/generated/rounding_flex_basis_flex_shrink_row.rs +23 −0
- benches/generated/rounding_flex_basis_overrides_main_size.rs +42 −0
- benches/generated/rounding_fractial_input_1.rs +42 −0
- benches/generated/rounding_fractial_input_2.rs +42 −0
- benches/generated/rounding_fractial_input_3.rs +42 −0
- benches/generated/rounding_fractial_input_4.rs +42 −0
- benches/generated/rounding_total_fractial.rs +42 −0
- benches/generated/rounding_total_fractial_nested.rs +71 −0
- benches/generated/size_defined_by_child.rs +17 −0
- benches/generated/size_defined_by_child_with_border.rs +24 −0
- benches/generated/size_defined_by_child_with_padding.rs +24 −0
- benches/generated/size_defined_by_grand_child.rs +20 −0
- benches/generated/width_smaller_then_content_with_flex_grow_large_size.rs +46 −0
- benches/generated/width_smaller_then_content_with_flex_grow_small_size.rs +46 −0
- benches/generated/width_smaller_then_content_with_flex_grow_unconstraint_size.rs +45 −0
- benches/generated/width_smaller_then_content_with_flex_grow_very_large_size.rs +46 −0
- benches/generated/wrap_column.rs +50 −0
- benches/generated/wrap_nodes_with_content_sizing_margin_cross.rs +50 −0
- benches/generated/wrap_nodes_with_content_sizing_overflowing_margin.rs +50 −0
- benches/generated/wrap_reverse_column.rs +50 −0
- benches/generated/wrap_reverse_column_fixed_size.rs +59 −0
- benches/generated/wrap_reverse_row.rs +45 −0
- benches/generated/wrap_reverse_row_align_content_center.rs +54 −0
- benches/generated/wrap_reverse_row_align_content_flex_start.rs +54 −0
- benches/generated/wrap_reverse_row_align_content_space_around.rs +54 −0
- benches/generated/wrap_reverse_row_align_content_stretch.rs +53 −0
- benches/generated/wrap_reverse_row_single_line_different_size.rs +54 −0
- benches/generated/wrap_row.rs +45 −0
- benches/generated/wrap_row_align_items_center.rs +46 −0
- benches/generated/wrap_row_align_items_flex_end.rs +46 −0
- benches/generated/wrapped_column_max_height.rs +56 −0
- benches/generated/wrapped_column_max_height_flex.rs +62 −0
- benches/generated/wrapped_row_within_align_items_center.rs +38 −0
- benches/generated/wrapped_row_within_align_items_flex_end.rs +38 −0
- benches/generated/wrapped_row_within_align_items_flex_start.rs +38 −0
- scripts/gentest/src/main.rs +51 −5
- tests/generated/flex_basis_smaller_than_content_column.rs +0 −1
diff --git a/Cargo.toml b/Cargo.toml
index b26aba789..e14a1848e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,6 +31,11 @@ panic = 'abort'
[[bench]]
name = "generated"
+path = "benches/generated/mod.rs"
+harness = false
+
+[[bench]]
+name = "complex"
harness = false
[workspace]
diff --git a/benches/generated.rs b/benches/complex.rs
similarity index 100%
rename from benches/generated.rs
rename to benches/complex.rs
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_center.rs b/benches/generated/absolute_layout_align_items_and_justify_content_center.rs
new file mode 100644
index 000000000..abdcfb8e2
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_center.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_center_and_bottom_position.rs b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_bottom_position.rs
new file mode 100644
index 000000000..5f80ae758
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_bottom_position.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_center_and_left_position.rs b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_left_position.rs
new file mode 100644
index 000000000..b6b697f2d
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_left_position.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_center_and_right_position.rs b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_right_position.rs
new file mode 100644
index 000000000..fd11f81ec
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_right_position.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_center_and_top_position.rs b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_top_position.rs
new file mode 100644
index 000000000..09d76c68f
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_center_and_top_position.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_and_justify_content_flex_end.rs b/benches/generated/absolute_layout_align_items_and_justify_content_flex_end.rs
new file mode 100644
index 000000000..5153f0909
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_and_justify_content_flex_end.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexEnd,
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_center.rs b/benches/generated/absolute_layout_align_items_center.rs
new file mode 100644
index 000000000..e98ca6106
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_center.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_align_items_center_on_child_only.rs b/benches/generated/absolute_layout_align_items_center_on_child_only.rs
new file mode 100644
index 000000000..ef82d2adb
--- /dev/null
+++ b/benches/generated/absolute_layout_align_items_center_on_child_only.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ align_self: stretch::style::AlignSelf::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_child_order.rs b/benches/generated/absolute_layout_child_order.rs
new file mode 100644
index 000000000..07a422c3d
--- /dev/null
+++ b/benches/generated/absolute_layout_child_order.rs
@@ -0,0 +1,43 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_in_wrap_reverse_column_container.rs b/benches/generated/absolute_layout_in_wrap_reverse_column_container.rs
new file mode 100644
index 000000000..2b23f65c3
--- /dev/null
+++ b/benches/generated/absolute_layout_in_wrap_reverse_column_container.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_in_wrap_reverse_column_container_flex_end.rs b/benches/generated/absolute_layout_in_wrap_reverse_column_container_flex_end.rs
new file mode 100644
index 000000000..623e91a1e
--- /dev/null
+++ b/benches/generated/absolute_layout_in_wrap_reverse_column_container_flex_end.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ align_self: stretch::style::AlignSelf::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_in_wrap_reverse_row_container.rs b/benches/generated/absolute_layout_in_wrap_reverse_row_container.rs
new file mode 100644
index 000000000..0c9c77c58
--- /dev/null
+++ b/benches/generated/absolute_layout_in_wrap_reverse_row_container.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_in_wrap_reverse_row_container_flex_end.rs b/benches/generated/absolute_layout_in_wrap_reverse_row_container_flex_end.rs
new file mode 100644
index 000000000..08aa8e8ea
--- /dev/null
+++ b/benches/generated/absolute_layout_in_wrap_reverse_row_container_flex_end.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ align_self: stretch::style::AlignSelf::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_justify_content_center.rs b/benches/generated/absolute_layout_justify_content_center.rs
new file mode 100644
index 000000000..5d1b13f9c
--- /dev/null
+++ b/benches/generated/absolute_layout_justify_content_center.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(110f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_no_size.rs b/benches/generated/absolute_layout_no_size.rs
new file mode 100644
index 000000000..0a578d73b
--- /dev/null
+++ b/benches/generated/absolute_layout_no_size.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_percentage_bottom_based_on_parent_height.rs b/benches/generated/absolute_layout_percentage_bottom_based_on_parent_height.rs
new file mode 100644
index 000000000..76d8a8444
--- /dev/null
+++ b/benches/generated/absolute_layout_percentage_bottom_based_on_parent_height.rs
@@ -0,0 +1,55 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Percent(0.1f32),
+ bottom: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_start_top_end_bottom.rs b/benches/generated/absolute_layout_start_top_end_bottom.rs
new file mode 100644
index 000000000..e0df1369d
--- /dev/null
+++ b/benches/generated/absolute_layout_start_top_end_bottom.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_width_height_end_bottom.rs b/benches/generated/absolute_layout_width_height_end_bottom.rs
new file mode 100644
index 000000000..d6e232fad
--- /dev/null
+++ b/benches/generated/absolute_layout_width_height_end_bottom.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_width_height_start_top.rs b/benches/generated/absolute_layout_width_height_start_top.rs
new file mode 100644
index 000000000..435e3e8d3
--- /dev/null
+++ b/benches/generated/absolute_layout_width_height_start_top.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_width_height_start_top_end_bottom.rs b/benches/generated/absolute_layout_width_height_start_top_end_bottom.rs
new file mode 100644
index 000000000..2f4dd894c
--- /dev/null
+++ b/benches/generated/absolute_layout_width_height_start_top_end_bottom.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/absolute_layout_within_border.rs b/benches/generated/absolute_layout_within_border.rs
new file mode 100644
index 000000000..8570c34b8
--- /dev/null
+++ b/benches/generated/absolute_layout_within_border.rs
@@ -0,0 +1,100 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(0f32),
+ top: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(0f32),
+ bottom: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(0f32),
+ top: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(0f32),
+ bottom: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ border: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_baseline.rs b/benches/generated/align_baseline.rs
new file mode 100644
index 000000000..340f67491
--- /dev/null
+++ b/benches/generated/align_baseline.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Baseline,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_baseline_child_multiline.rs b/benches/generated/align_baseline_child_multiline.rs
new file mode 100644
index 000000000..c9327e7db
--- /dev/null
+++ b/benches/generated/align_baseline_child_multiline.rs
@@ -0,0 +1,63 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Baseline,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(25f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(25f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(25f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(25f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_baseline_nested_child.rs b/benches/generated/align_baseline_nested_child.rs
new file mode 100644
index 000000000..48de8d892
--- /dev/null
+++ b/benches/generated/align_baseline_nested_child.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Baseline,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_center_should_size_based_on_content.rs b/benches/generated/align_center_should_size_based_on_content.rs
new file mode 100644
index 000000000..a705fdfba
--- /dev/null
+++ b/benches/generated/align_center_should_size_based_on_content.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ flex_grow: 0f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_flex_start_with_shrinking_children.rs b/benches/generated/align_flex_start_with_shrinking_children.rs
new file mode 100644
index 000000000..7e9f26b1a
--- /dev/null
+++ b/benches/generated/align_flex_start_with_shrinking_children.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexStart,
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node { flex_grow: 1f32, flex_shrink: 1f32, ..Default::default() }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_flex_start_with_shrinking_children_with_stretch.rs b/benches/generated/align_flex_start_with_shrinking_children_with_stretch.rs
new file mode 100644
index 000000000..7e9f26b1a
--- /dev/null
+++ b/benches/generated/align_flex_start_with_shrinking_children_with_stretch.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexStart,
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node { flex_grow: 1f32, flex_shrink: 1f32, ..Default::default() }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_flex_start_with_stretching_children.rs b/benches/generated/align_flex_start_with_stretching_children.rs
new file mode 100644
index 000000000..fddeb7397
--- /dev/null
+++ b/benches/generated/align_flex_start_with_stretching_children.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node { flex_grow: 1f32, flex_shrink: 1f32, ..Default::default() }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_center.rs b/benches/generated/align_items_center.rs
new file mode 100644
index 000000000..a17cf6bdd
--- /dev/null
+++ b/benches/generated/align_items_center.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_center_child_with_margin_bigger_than_parent.rs b/benches/generated/align_items_center_child_with_margin_bigger_than_parent.rs
new file mode 100644
index 000000000..4d1e7932a
--- /dev/null
+++ b/benches/generated/align_items_center_child_with_margin_bigger_than_parent.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_center_child_without_margin_bigger_than_parent.rs b/benches/generated/align_items_center_child_without_margin_bigger_than_parent.rs
new file mode 100644
index 000000000..ff5262cb4
--- /dev/null
+++ b/benches/generated/align_items_center_child_without_margin_bigger_than_parent.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(70f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_center_with_child_margin.rs b/benches/generated/align_items_center_with_child_margin.rs
new file mode 100644
index 000000000..d23748a1b
--- /dev/null
+++ b/benches/generated/align_items_center_with_child_margin.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_center_with_child_top.rs b/benches/generated/align_items_center_with_child_top.rs
new file mode 100644
index 000000000..39af96743
--- /dev/null
+++ b/benches/generated/align_items_center_with_child_top.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_flex_end.rs b/benches/generated/align_items_flex_end.rs
new file mode 100644
index 000000000..c8dfffed4
--- /dev/null
+++ b/benches/generated/align_items_flex_end.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_flex_end_child_with_margin_bigger_than_parent.rs b/benches/generated/align_items_flex_end_child_with_margin_bigger_than_parent.rs
new file mode 100644
index 000000000..603e64143
--- /dev/null
+++ b/benches/generated/align_items_flex_end_child_with_margin_bigger_than_parent.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexEnd,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_flex_end_child_without_margin_bigger_than_parent.rs b/benches/generated/align_items_flex_end_child_without_margin_bigger_than_parent.rs
new file mode 100644
index 000000000..387819e5a
--- /dev/null
+++ b/benches/generated/align_items_flex_end_child_without_margin_bigger_than_parent.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexEnd,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(70f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_flex_start.rs b/benches/generated/align_items_flex_start.rs
new file mode 100644
index 000000000..cdd29792b
--- /dev/null
+++ b/benches/generated/align_items_flex_start.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_min_max.rs b/benches/generated/align_items_min_max.rs
new file mode 100644
index 000000000..e4f258b06
--- /dev/null
+++ b/benches/generated/align_items_min_max.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_items_stretch.rs b/benches/generated/align_items_stretch.rs
new file mode 100644
index 000000000..b68f0471a
--- /dev/null
+++ b/benches/generated/align_items_stretch.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_self_baseline.rs b/benches/generated/align_self_baseline.rs
new file mode 100644
index 000000000..a86faab52
--- /dev/null
+++ b/benches/generated/align_self_baseline.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ align_self: stretch::style::AlignSelf::Baseline,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ align_self: stretch::style::AlignSelf::Baseline,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_self_center.rs b/benches/generated/align_self_center.rs
new file mode 100644
index 000000000..0676f4d57
--- /dev/null
+++ b/benches/generated/align_self_center.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_self: stretch::style::AlignSelf::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_self_flex_end.rs b/benches/generated/align_self_flex_end.rs
new file mode 100644
index 000000000..dd3cb0b1c
--- /dev/null
+++ b/benches/generated/align_self_flex_end.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_self: stretch::style::AlignSelf::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_self_flex_end_override_flex_start.rs b/benches/generated/align_self_flex_end_override_flex_start.rs
new file mode 100644
index 000000000..8c3fe8168
--- /dev/null
+++ b/benches/generated/align_self_flex_end_override_flex_start.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_self: stretch::style::AlignSelf::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_self_flex_start.rs b/benches/generated/align_self_flex_start.rs
new file mode 100644
index 000000000..e4ab69fd0
--- /dev/null
+++ b/benches/generated/align_self_flex_start.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ align_self: stretch::style::AlignSelf::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/align_strech_should_size_based_on_parent.rs b/benches/generated/align_strech_should_size_based_on_parent.rs
new file mode 100644
index 000000000..e3284fb51
--- /dev/null
+++ b/benches/generated/align_strech_should_size_based_on_parent.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ flex_grow: 0f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/border_center_child.rs b/benches/generated/border_center_child.rs
new file mode 100644
index 000000000..da006a60e
--- /dev/null
+++ b/benches/generated/border_center_child.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ border: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/border_flex_child.rs b/benches/generated/border_flex_child.rs
new file mode 100644
index 000000000..12eb0ccad
--- /dev/null
+++ b/benches/generated/border_flex_child.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ border: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/border_no_child.rs b/benches/generated/border_no_child.rs
new file mode 100644
index 000000000..e3dae5993
--- /dev/null
+++ b/benches/generated/border_no_child.rs
@@ -0,0 +1,16 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ border: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/border_stretch_child.rs b/benches/generated/border_stretch_child.rs
new file mode 100644
index 000000000..557056719
--- /dev/null
+++ b/benches/generated/border_stretch_child.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ border: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/child_min_max_width_flexing.rs b/benches/generated/child_min_max_width_flexing.rs
new file mode 100644
index 000000000..dde03f2c9
--- /dev/null
+++ b/benches/generated/child_min_max_width_flexing.rs
@@ -0,0 +1,36 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(120f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 0f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 0f32,
+ flex_basis: stretch::style::Dimension::Percent(0.5f32),
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/container_with_unsized_child.rs b/benches/generated/container_with_unsized_child.rs
new file mode 100644
index 000000000..7e935e6ef
--- /dev/null
+++ b/benches/generated/container_with_unsized_child.rs
@@ -0,0 +1,15 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node { ..Default::default() }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/display_none.rs b/benches/generated/display_none.rs
new file mode 100644
index 000000000..b2dcd1d32
--- /dev/null
+++ b/benches/generated/display_none.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { display: stretch::style::Display::None, flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/display_none_fixed_size.rs b/benches/generated/display_none_fixed_size.rs
new file mode 100644
index 000000000..512ac34ce
--- /dev/null
+++ b/benches/generated/display_none_fixed_size.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node {
+ display: stretch::style::Display::None,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/display_none_with_child.rs b/benches/generated/display_none_with_child.rs
new file mode 100644
index 000000000..bceb7f72a
--- /dev/null
+++ b/benches/generated/display_none_with_child.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ display: stretch::style::Display::None,
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/display_none_with_margin.rs b/benches/generated/display_none_with_margin.rs
new file mode 100644
index 000000000..924a51175
--- /dev/null
+++ b/benches/generated/display_none_with_margin.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ display: stretch::style::Display::None,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/display_none_with_position.rs b/benches/generated/display_none_with_position.rs
new file mode 100644
index 000000000..342a77a3e
--- /dev/null
+++ b/benches/generated/display_none_with_position.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node {
+ display: stretch::style::Display::None,
+ flex_grow: 1f32,
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_and_main_dimen_set_when_flexing.rs b/benches/generated/flex_basis_and_main_dimen_set_when_flexing.rs
new file mode 100644
index 000000000..4d96aed99
--- /dev/null
+++ b/benches/generated/flex_basis_and_main_dimen_set_when_flexing.rs
@@ -0,0 +1,32 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(10f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(10f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_flex_grow_column.rs b/benches/generated/flex_basis_flex_grow_column.rs
new file mode 100644
index 000000000..c73ddd60a
--- /dev/null
+++ b/benches/generated/flex_basis_flex_grow_column.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_flex_grow_row.rs b/benches/generated/flex_basis_flex_grow_row.rs
new file mode 100644
index 000000000..c791dfbab
--- /dev/null
+++ b/benches/generated/flex_basis_flex_grow_row.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_flex_shrink_column.rs b/benches/generated/flex_basis_flex_shrink_column.rs
new file mode 100644
index 000000000..84d335af1
--- /dev/null
+++ b/benches/generated/flex_basis_flex_shrink_column.rs
@@ -0,0 +1,19 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_flex_shrink_row.rs b/benches/generated/flex_basis_flex_shrink_row.rs
new file mode 100644
index 000000000..8ceb5d1ef
--- /dev/null
+++ b/benches/generated/flex_basis_flex_shrink_row.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_larger_than_content_column.rs b/benches/generated/flex_basis_larger_than_content_column.rs
new file mode 100644
index 000000000..cdfde7fc4
--- /dev/null
+++ b/benches/generated/flex_basis_larger_than_content_column.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_larger_than_content_row.rs b/benches/generated/flex_basis_larger_than_content_row.rs
new file mode 100644
index 000000000..979134ab1
--- /dev/null
+++ b/benches/generated/flex_basis_larger_than_content_row.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_overrides_main_size.rs b/benches/generated/flex_basis_overrides_main_size.rs
new file mode 100644
index 000000000..e6262123d
--- /dev/null
+++ b/benches/generated/flex_basis_overrides_main_size.rs
@@ -0,0 +1,41 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_slightly_smaller_then_content_with_flex_grow_large_size.rs b/benches/generated/flex_basis_slightly_smaller_then_content_with_flex_grow_large_size.rs
new file mode 100644
index 000000000..a36efbde3
--- /dev/null
+++ b/benches/generated/flex_basis_slightly_smaller_then_content_with_flex_grow_large_size.rs
@@ -0,0 +1,40 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(60f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_than_content_column.rs b/benches/generated/flex_basis_smaller_than_content_column.rs
new file mode 100644
index 000000000..e195bfa7c
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_than_content_column.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_than_content_row.rs b/benches/generated/flex_basis_smaller_than_content_row.rs
new file mode 100644
index 000000000..a82d1d6bf
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_than_content_row.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_than_main_dimen_column.rs b/benches/generated/flex_basis_smaller_than_main_dimen_column.rs
new file mode 100644
index 000000000..ed59ab8be
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_than_main_dimen_column.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(10f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_than_main_dimen_row.rs b/benches/generated/flex_basis_smaller_than_main_dimen_row.rs
new file mode 100644
index 000000000..daf682cf4
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_than_main_dimen_row.rs
@@ -0,0 +1,19 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(10f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_then_content_with_flex_grow_large_size.rs b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_large_size.rs
new file mode 100644
index 000000000..542229616
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_large_size.rs
@@ -0,0 +1,40 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_then_content_with_flex_grow_small_size.rs b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_small_size.rs
new file mode 100644
index 000000000..705ea8bbf
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_small_size.rs
@@ -0,0 +1,40 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_then_content_with_flex_grow_unconstraint_size.rs b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_unconstraint_size.rs
new file mode 100644
index 000000000..025cafa38
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_unconstraint_size.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_smaller_then_content_with_flex_grow_very_large_size.rs b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_very_large_size.rs
new file mode 100644
index 000000000..a09ba705e
--- /dev/null
+++ b/benches/generated/flex_basis_smaller_then_content_with_flex_grow_very_large_size.rs
@@ -0,0 +1,40 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(200f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_unconstraint_column.rs b/benches/generated/flex_basis_unconstraint_column.rs
new file mode 100644
index 000000000..67f9632d2
--- /dev/null
+++ b/benches/generated/flex_basis_unconstraint_column.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_basis_unconstraint_row.rs b/benches/generated/flex_basis_unconstraint_row.rs
new file mode 100644
index 000000000..722ee4121
--- /dev/null
+++ b/benches/generated/flex_basis_unconstraint_row.rs
@@ -0,0 +1,17 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_column.rs b/benches/generated/flex_direction_column.rs
new file mode 100644
index 000000000..65092d1d9
--- /dev/null
+++ b/benches/generated/flex_direction_column.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_column_no_height.rs b/benches/generated/flex_direction_column_no_height.rs
new file mode 100644
index 000000000..28c72fa5f
--- /dev/null
+++ b/benches/generated/flex_direction_column_no_height.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_column_reverse.rs b/benches/generated/flex_direction_column_reverse.rs
new file mode 100644
index 000000000..a4dd73822
--- /dev/null
+++ b/benches/generated/flex_direction_column_reverse.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::ColumnReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_row.rs b/benches/generated/flex_direction_row.rs
new file mode 100644
index 000000000..e59334303
--- /dev/null
+++ b/benches/generated/flex_direction_row.rs
@@ -0,0 +1,37 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_row_no_width.rs b/benches/generated/flex_direction_row_no_width.rs
new file mode 100644
index 000000000..42230dfe3
--- /dev/null
+++ b/benches/generated/flex_direction_row_no_width.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_direction_row_reverse.rs b/benches/generated/flex_direction_row_reverse.rs
new file mode 100644
index 000000000..afd06990b
--- /dev/null
+++ b/benches/generated/flex_direction_row_reverse.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::RowReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_child.rs b/benches/generated/flex_grow_child.rs
new file mode 100644
index 000000000..8df040e84
--- /dev/null
+++ b/benches/generated/flex_grow_child.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_flex_basis_percent_min_max.rs b/benches/generated/flex_grow_flex_basis_percent_min_max.rs
new file mode 100644
index 000000000..597c3b2cb
--- /dev/null
+++ b/benches/generated/flex_grow_flex_basis_percent_min_max.rs
@@ -0,0 +1,41 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(120f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 0f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 0f32,
+ flex_basis: stretch::style::Dimension::Percent(0.5f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_height_maximized.rs b/benches/generated/flex_grow_height_maximized.rs
new file mode 100644
index 000000000..aa12b667a
--- /dev/null
+++ b/benches/generated/flex_grow_height_maximized.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_in_at_most_container.rs b/benches/generated/flex_grow_in_at_most_container.rs
new file mode 100644
index 000000000..a49caf880
--- /dev/null
+++ b/benches/generated/flex_grow_in_at_most_container.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_less_than_factor_one.rs b/benches/generated/flex_grow_less_than_factor_one.rs
new file mode 100644
index 000000000..4c29bda58
--- /dev/null
+++ b/benches/generated/flex_grow_less_than_factor_one.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 0.2f32,
+ flex_shrink: 0f32,
+ flex_basis: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 0.2f32, flex_shrink: 0f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 0.4f32, flex_shrink: 0f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_root_minimized.rs b/benches/generated/flex_grow_root_minimized.rs
new file mode 100644
index 000000000..74268e84c
--- /dev/null
+++ b/benches/generated/flex_grow_root_minimized.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_shrink_at_most.rs b/benches/generated/flex_grow_shrink_at_most.rs
new file mode 100644
index 000000000..6c5532699
--- /dev/null
+++ b/benches/generated/flex_grow_shrink_at_most.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node { flex_grow: 1f32, flex_shrink: 1f32, ..Default::default() }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_to_min.rs b/benches/generated/flex_grow_to_min.rs
new file mode 100644
index 000000000..bcd1a83a4
--- /dev/null
+++ b/benches/generated/flex_grow_to_min.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, flex_shrink: 1f32, ..Default::default() },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_max_column.rs b/benches/generated/flex_grow_within_constrained_max_column.rs
new file mode 100644
index 000000000..07c15c6cd
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_max_column.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_max_row.rs b/benches/generated/flex_grow_within_constrained_max_row.rs
new file mode 100644
index 000000000..9c6203b3d
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_max_row.rs
@@ -0,0 +1,36 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(200f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_max_width.rs b/benches/generated/flex_grow_within_constrained_max_width.rs
new file mode 100644
index 000000000..2a481e501
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_max_width.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(300f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_min_column.rs b/benches/generated/flex_grow_within_constrained_min_column.rs
new file mode 100644
index 000000000..42b8c920c
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_min_column.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_min_max_column.rs b/benches/generated/flex_grow_within_constrained_min_max_column.rs
new file mode 100644
index 000000000..79fba405d
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_min_max_column.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_constrained_min_row.rs b/benches/generated/flex_grow_within_constrained_min_row.rs
new file mode 100644
index 000000000..ab7781764
--- /dev/null
+++ b/benches/generated/flex_grow_within_constrained_min_row.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_grow_within_max_width.rs b/benches/generated/flex_grow_within_max_width.rs
new file mode 100644
index 000000000..76d745007
--- /dev/null
+++ b/benches/generated/flex_grow_within_max_width.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_root_ignored.rs b/benches/generated/flex_root_ignored.rs
new file mode 100644
index 000000000..a0ed0e6ca
--- /dev/null
+++ b/benches/generated/flex_root_ignored.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_shrink_by_outer_margin_with_max_size.rs b/benches/generated/flex_shrink_by_outer_margin_with_max_size.rs
new file mode 100644
index 000000000..04049953b
--- /dev/null
+++ b/benches/generated/flex_shrink_by_outer_margin_with_max_size.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_shrink_flex_grow_child_flex_shrink_other_child.rs b/benches/generated/flex_shrink_flex_grow_child_flex_shrink_other_child.rs
new file mode 100644
index 000000000..8dc0192ee
--- /dev/null
+++ b/benches/generated/flex_shrink_flex_grow_child_flex_shrink_other_child.rs
@@ -0,0 +1,36 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 0f32,
+ flex_shrink: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_shrink_flex_grow_row.rs b/benches/generated/flex_shrink_flex_grow_row.rs
new file mode 100644
index 000000000..f4ad3df13
--- /dev/null
+++ b/benches/generated/flex_shrink_flex_grow_row.rs
@@ -0,0 +1,36 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 0f32,
+ flex_shrink: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 0f32,
+ flex_shrink: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_shrink_to_zero.rs b/benches/generated/flex_shrink_to_zero.rs
new file mode 100644
index 000000000..8c3c4ab23
--- /dev/null
+++ b/benches/generated/flex_shrink_to_zero.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(75f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_shrink: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_wrap_align_stretch_fits_one_row.rs b/benches/generated/flex_wrap_align_stretch_fits_one_row.rs
new file mode 100644
index 000000000..98ef178d0
--- /dev/null
+++ b/benches/generated/flex_wrap_align_stretch_fits_one_row.rs
@@ -0,0 +1,31 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(150f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_wrap_children_with_min_main_overriding_flex_basis.rs b/benches/generated/flex_wrap_children_with_min_main_overriding_flex_basis.rs
new file mode 100644
index 000000000..bc9a415ce
--- /dev/null
+++ b/benches/generated/flex_wrap_children_with_min_main_overriding_flex_basis.rs
@@ -0,0 +1,37 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(55f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(55f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/flex_wrap_wrap_to_child_height.rs b/benches/generated/flex_wrap_wrap_to_child_height.rs
new file mode 100644
index 000000000..cc0ed36c9
--- /dev/null
+++ b/benches/generated/flex_wrap_wrap_to_child_height.rs
@@ -0,0 +1,41 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![
+ stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ align_items: stretch::style::AlignItems::FlexStart,
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_center.rs b/benches/generated/justify_content_column_center.rs
new file mode 100644
index 000000000..1391caf63
--- /dev/null
+++ b/benches/generated/justify_content_column_center.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_flex_end.rs b/benches/generated/justify_content_column_flex_end.rs
new file mode 100644
index 000000000..fa1a7b1e3
--- /dev/null
+++ b/benches/generated/justify_content_column_flex_end.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_flex_start.rs b/benches/generated/justify_content_column_flex_start.rs
new file mode 100644
index 000000000..65092d1d9
--- /dev/null
+++ b/benches/generated/justify_content_column_flex_start.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_min_height_and_margin_bottom.rs b/benches/generated/justify_content_column_min_height_and_margin_bottom.rs
new file mode 100644
index 000000000..0734c6e98
--- /dev/null
+++ b/benches/generated/justify_content_column_min_height_and_margin_bottom.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_min_height_and_margin_top.rs b/benches/generated/justify_content_column_min_height_and_margin_top.rs
new file mode 100644
index 000000000..42740d308
--- /dev/null
+++ b/benches/generated/justify_content_column_min_height_and_margin_top.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_space_around.rs b/benches/generated/justify_content_column_space_around.rs
new file mode 100644
index 000000000..092e9ee7a
--- /dev/null
+++ b/benches/generated/justify_content_column_space_around.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::SpaceAround,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_space_between.rs b/benches/generated/justify_content_column_space_between.rs
new file mode 100644
index 000000000..e02bf9f7b
--- /dev/null
+++ b/benches/generated/justify_content_column_space_between.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::SpaceBetween,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_column_space_evenly.rs b/benches/generated/justify_content_column_space_evenly.rs
new file mode 100644
index 000000000..ee1c71d31
--- /dev/null
+++ b/benches/generated/justify_content_column_space_evenly.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::SpaceEvenly,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_min_max.rs b/benches/generated/justify_content_min_max.rs
new file mode 100644
index 000000000..60346c353
--- /dev/null
+++ b/benches/generated/justify_content_min_max.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_min_width_with_padding_child_width_greater_than_parent.rs b/benches/generated/justify_content_min_width_with_padding_child_width_greater_than_parent.rs
new file mode 100644
index 000000000..0c28236ae
--- /dev/null
+++ b/benches/generated/justify_content_min_width_with_padding_child_width_greater_than_parent.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(1000f32),
+ height: stretch::style::Dimension::Points(1584f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(300f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(100f32),
+ end: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_min_width_with_padding_child_width_lower_than_parent.rs b/benches/generated/justify_content_min_width_with_padding_child_width_lower_than_parent.rs
new file mode 100644
index 000000000..c413648bf
--- /dev/null
+++ b/benches/generated/justify_content_min_width_with_padding_child_width_lower_than_parent.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(1080f32),
+ height: stretch::style::Dimension::Points(1584f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(199f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(100f32),
+ end: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_overflow_min_max.rs b/benches/generated/justify_content_overflow_min_max.rs
new file mode 100644
index 000000000..b7d69d532
--- /dev/null
+++ b/benches/generated/justify_content_overflow_min_max.rs
@@ -0,0 +1,48 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(110f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_center.rs b/benches/generated/justify_content_row_center.rs
new file mode 100644
index 000000000..9d5445610
--- /dev/null
+++ b/benches/generated/justify_content_row_center.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_flex_end.rs b/benches/generated/justify_content_row_flex_end.rs
new file mode 100644
index 000000000..0d3806e82
--- /dev/null
+++ b/benches/generated/justify_content_row_flex_end.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_flex_start.rs b/benches/generated/justify_content_row_flex_start.rs
new file mode 100644
index 000000000..e59334303
--- /dev/null
+++ b/benches/generated/justify_content_row_flex_start.rs
@@ -0,0 +1,37 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_max_width_and_margin.rs b/benches/generated/justify_content_row_max_width_and_margin.rs
new file mode 100644
index 000000000..de6ca0d9b
--- /dev/null
+++ b/benches/generated/justify_content_row_max_width_and_margin.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ max_size: stretch::geometry::Size { width: stretch::style::Dimension::Points(80f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_min_width_and_margin.rs b/benches/generated/justify_content_row_min_width_and_margin.rs
new file mode 100644
index 000000000..679cc63c2
--- /dev/null
+++ b/benches/generated/justify_content_row_min_width_and_margin.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ min_size: stretch::geometry::Size { width: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_space_around.rs b/benches/generated/justify_content_row_space_around.rs
new file mode 100644
index 000000000..f36b2be0c
--- /dev/null
+++ b/benches/generated/justify_content_row_space_around.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::SpaceAround,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_space_between.rs b/benches/generated/justify_content_row_space_between.rs
new file mode 100644
index 000000000..0a1bde846
--- /dev/null
+++ b/benches/generated/justify_content_row_space_between.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::SpaceBetween,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/justify_content_row_space_evenly.rs b/benches/generated/justify_content_row_space_evenly.rs
new file mode 100644
index 000000000..f6fd45d54
--- /dev/null
+++ b/benches/generated/justify_content_row_space_evenly.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::SpaceEvenly,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_and_flex_column.rs b/benches/generated/margin_and_flex_column.rs
new file mode 100644
index 000000000..9481a4bf2
--- /dev/null
+++ b/benches/generated/margin_and_flex_column.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_and_flex_row.rs b/benches/generated/margin_and_flex_row.rs
new file mode 100644
index 000000000..36febf1be
--- /dev/null
+++ b/benches/generated/margin_and_flex_row.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_and_stretch_column.rs b/benches/generated/margin_and_stretch_column.rs
new file mode 100644
index 000000000..481c5a47f
--- /dev/null
+++ b/benches/generated/margin_and_stretch_column.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_and_stretch_row.rs b/benches/generated/margin_and_stretch_row.rs
new file mode 100644
index 000000000..94406ec4d
--- /dev/null
+++ b/benches/generated/margin_and_stretch_row.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_bottom.rs b/benches/generated/margin_auto_bottom.rs
new file mode 100644
index 000000000..05947697b
--- /dev/null
+++ b/benches/generated/margin_auto_bottom.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { bottom: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_bottom_and_top.rs b/benches/generated/margin_auto_bottom_and_top.rs
new file mode 100644
index 000000000..8faf2e192
--- /dev/null
+++ b/benches/generated/margin_auto_bottom_and_top.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Auto,
+ bottom: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_bottom_and_top_justify_center.rs b/benches/generated/margin_auto_bottom_and_top_justify_center.rs
new file mode 100644
index 000000000..36f0dc6cb
--- /dev/null
+++ b/benches/generated/margin_auto_bottom_and_top_justify_center.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Auto,
+ bottom: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left.rs b/benches/generated/margin_auto_left.rs
new file mode 100644
index 000000000..bc9a8f0f6
--- /dev/null
+++ b/benches/generated/margin_auto_left.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { start: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_and_right.rs b/benches/generated/margin_auto_left_and_right.rs
new file mode 100644
index 000000000..4a48a2c57
--- /dev/null
+++ b/benches/generated/margin_auto_left_and_right.rs
@@ -0,0 +1,37 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_and_right_column.rs b/benches/generated/margin_auto_left_and_right_column.rs
new file mode 100644
index 000000000..76e4dba87
--- /dev/null
+++ b/benches/generated/margin_auto_left_and_right_column.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_and_right_column_and_center.rs b/benches/generated/margin_auto_left_and_right_column_and_center.rs
new file mode 100644
index 000000000..76e4dba87
--- /dev/null
+++ b/benches/generated/margin_auto_left_and_right_column_and_center.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_and_right_strech.rs b/benches/generated/margin_auto_left_and_right_strech.rs
new file mode 100644
index 000000000..4a48a2c57
--- /dev/null
+++ b/benches/generated/margin_auto_left_and_right_strech.rs
@@ -0,0 +1,37 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_child_bigger_than_parent.rs b/benches/generated/margin_auto_left_child_bigger_than_parent.rs
new file mode 100644
index 000000000..ca6ba56c4
--- /dev/null
+++ b/benches/generated/margin_auto_left_child_bigger_than_parent.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(52f32),
+ height: stretch::style::Dimension::Points(52f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(72f32),
+ height: stretch::style::Dimension::Points(72f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { start: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_fix_right_child_bigger_than_parent.rs b/benches/generated/margin_auto_left_fix_right_child_bigger_than_parent.rs
new file mode 100644
index 000000000..a9d8a5be6
--- /dev/null
+++ b/benches/generated/margin_auto_left_fix_right_child_bigger_than_parent.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(52f32),
+ height: stretch::style::Dimension::Points(52f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(72f32),
+ height: stretch::style::Dimension::Points(72f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_right_child_bigger_than_parent.rs b/benches/generated/margin_auto_left_right_child_bigger_than_parent.rs
new file mode 100644
index 000000000..7aecb94a7
--- /dev/null
+++ b/benches/generated/margin_auto_left_right_child_bigger_than_parent.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(52f32),
+ height: stretch::style::Dimension::Points(52f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(72f32),
+ height: stretch::style::Dimension::Points(72f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Auto,
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_left_stretching_child.rs b/benches/generated/margin_auto_left_stretching_child.rs
new file mode 100644
index 000000000..beb523bec
--- /dev/null
+++ b/benches/generated/margin_auto_left_stretching_child.rs
@@ -0,0 +1,32 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ margin: stretch::geometry::Rect { start: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_mutiple_children_column.rs b/benches/generated/margin_auto_mutiple_children_column.rs
new file mode 100644
index 000000000..febe2e7a6
--- /dev/null
+++ b/benches/generated/margin_auto_mutiple_children_column.rs
@@ -0,0 +1,44 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_mutiple_children_row.rs b/benches/generated/margin_auto_mutiple_children_row.rs
new file mode 100644
index 000000000..f231255c2
--- /dev/null
+++ b/benches/generated/margin_auto_mutiple_children_row.rs
@@ -0,0 +1,43 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { end: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { end: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_right.rs b/benches/generated/margin_auto_right.rs
new file mode 100644
index 000000000..a12f5bef0
--- /dev/null
+++ b/benches/generated/margin_auto_right.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { end: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_top.rs b/benches/generated/margin_auto_top.rs
new file mode 100644
index 000000000..f34ba4023
--- /dev/null
+++ b/benches/generated/margin_auto_top.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_top_and_bottom_strech.rs b/benches/generated/margin_auto_top_and_bottom_strech.rs
new file mode 100644
index 000000000..db8b032df
--- /dev/null
+++ b/benches/generated/margin_auto_top_and_bottom_strech.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Auto,
+ bottom: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_auto_top_stretching_child.rs b/benches/generated/margin_auto_top_stretching_child.rs
new file mode 100644
index 000000000..ca1888725
--- /dev/null
+++ b/benches/generated/margin_auto_top_stretching_child.rs
@@ -0,0 +1,32 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Auto, ..Default::default() },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_bottom.rs b/benches/generated/margin_bottom.rs
new file mode 100644
index 000000000..29d63c761
--- /dev/null
+++ b/benches/generated/margin_bottom.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_fix_left_auto_right_child_bigger_than_parent.rs b/benches/generated/margin_fix_left_auto_right_child_bigger_than_parent.rs
new file mode 100644
index 000000000..f9a29a89c
--- /dev/null
+++ b/benches/generated/margin_fix_left_auto_right_child_bigger_than_parent.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(52f32),
+ height: stretch::style::Dimension::Points(52f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(72f32),
+ height: stretch::style::Dimension::Points(72f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Auto,
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_left.rs b/benches/generated/margin_left.rs
new file mode 100644
index 000000000..d01860dba
--- /dev/null
+++ b/benches/generated/margin_left.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_right.rs b/benches/generated/margin_right.rs
new file mode 100644
index 000000000..a823b72c0
--- /dev/null
+++ b/benches/generated/margin_right.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ margin: stretch::geometry::Rect { end: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_should_not_be_part_of_max_height.rs b/benches/generated/margin_should_not_be_part_of_max_height.rs
new file mode 100644
index 000000000..be6acb6d5
--- /dev/null
+++ b/benches/generated/margin_should_not_be_part_of_max_height.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(250f32),
+ height: stretch::style::Dimension::Points(250f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Points(20f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_should_not_be_part_of_max_width.rs b/benches/generated/margin_should_not_be_part_of_max_width.rs
new file mode 100644
index 000000000..9b307004c
--- /dev/null
+++ b/benches/generated/margin_should_not_be_part_of_max_width.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(250f32),
+ height: stretch::style::Dimension::Points(250f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_top.rs b/benches/generated/margin_top.rs
new file mode 100644
index 000000000..c350e36b2
--- /dev/null
+++ b/benches/generated/margin_top.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect { top: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_with_sibling_column.rs b/benches/generated/margin_with_sibling_column.rs
new file mode 100644
index 000000000..73aa2722f
--- /dev/null
+++ b/benches/generated/margin_with_sibling_column.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/margin_with_sibling_row.rs b/benches/generated/margin_with_sibling_row.rs
new file mode 100644
index 000000000..12d159243
--- /dev/null
+++ b/benches/generated/margin_with_sibling_row.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ margin: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_height.rs b/benches/generated/max_height.rs
new file mode 100644
index 000000000..345ae5439
--- /dev/null
+++ b/benches/generated/max_height.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_height_overrides_height.rs b/benches/generated/max_height_overrides_height.rs
new file mode 100644
index 000000000..b107be7df
--- /dev/null
+++ b/benches/generated/max_height_overrides_height.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_height_overrides_height_on_root.rs b/benches/generated/max_height_overrides_height_on_root.rs
new file mode 100644
index 000000000..d2a7792a2
--- /dev/null
+++ b/benches/generated/max_height_overrides_height_on_root.rs
@@ -0,0 +1,14 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(200f32), ..Default::default() },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_width.rs b/benches/generated/max_width.rs
new file mode 100644
index 000000000..cff094748
--- /dev/null
+++ b/benches/generated/max_width.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_width_overrides_width.rs b/benches/generated/max_width_overrides_width.rs
new file mode 100644
index 000000000..88ecdbe94
--- /dev/null
+++ b/benches/generated/max_width_overrides_width.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/max_width_overrides_width_on_root.rs b/benches/generated/max_width_overrides_width_on_root.rs
new file mode 100644
index 000000000..6b7049726
--- /dev/null
+++ b/benches/generated/max_width_overrides_width_on_root.rs
@@ -0,0 +1,14 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(200f32), ..Default::default() },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_height.rs b/benches/generated/min_height.rs
new file mode 100644
index 000000000..0a9bcf0ee
--- /dev/null
+++ b/benches/generated/min_height.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_height_overrides_height.rs b/benches/generated/min_height_overrides_height.rs
new file mode 100644
index 000000000..15a90b7f8
--- /dev/null
+++ b/benches/generated/min_height_overrides_height.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_height_overrides_height_on_root.rs b/benches/generated/min_height_overrides_height_on_root.rs
new file mode 100644
index 000000000..ba7ec455e
--- /dev/null
+++ b/benches/generated/min_height_overrides_height_on_root.rs
@@ -0,0 +1,14 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { height: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_max_percent_no_width_height.rs b/benches/generated/min_max_percent_no_width_height.rs
new file mode 100644
index 000000000..277868168
--- /dev/null
+++ b/benches/generated/min_max_percent_no_width_height.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.1f32),
+ height: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.1f32),
+ height: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_width.rs b/benches/generated/min_width.rs
new file mode 100644
index 000000000..3682e8c22
--- /dev/null
+++ b/benches/generated/min_width.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_width_overrides_width.rs b/benches/generated/min_width_overrides_width.rs
new file mode 100644
index 000000000..6e437cc7e
--- /dev/null
+++ b/benches/generated/min_width_overrides_width.rs
@@ -0,0 +1,17 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/min_width_overrides_width_on_root.rs b/benches/generated/min_width_overrides_width_on_root.rs
new file mode 100644
index 000000000..4d4d5014e
--- /dev/null
+++ b/benches/generated/min_width_overrides_width_on_root.rs
@@ -0,0 +1,14 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(50f32), ..Default::default() },
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/mod.rs b/benches/generated/mod.rs
new file mode 100644
index 000000000..62062ffc5
--- /dev/null
+++ b/benches/generated/mod.rs
@@ -0,0 +1,485 @@
+use criterion::{criterion_group, criterion_main, Criterion};
+mod absolute_layout_align_items_and_justify_content_center;
+mod absolute_layout_align_items_and_justify_content_center_and_bottom_position;
+mod absolute_layout_align_items_and_justify_content_center_and_left_position;
+mod absolute_layout_align_items_and_justify_content_center_and_right_position;
+mod absolute_layout_align_items_and_justify_content_center_and_top_position;
+mod absolute_layout_align_items_and_justify_content_flex_end;
+mod absolute_layout_align_items_center;
+mod absolute_layout_align_items_center_on_child_only;
+mod absolute_layout_child_order;
+mod absolute_layout_in_wrap_reverse_column_container;
+mod absolute_layout_in_wrap_reverse_column_container_flex_end;
+mod absolute_layout_in_wrap_reverse_row_container;
+mod absolute_layout_in_wrap_reverse_row_container_flex_end;
+mod absolute_layout_justify_content_center;
+mod absolute_layout_no_size;
+mod absolute_layout_percentage_bottom_based_on_parent_height;
+mod absolute_layout_start_top_end_bottom;
+mod absolute_layout_width_height_end_bottom;
+mod absolute_layout_width_height_start_top;
+mod absolute_layout_width_height_start_top_end_bottom;
+mod absolute_layout_within_border;
+mod align_baseline;
+mod align_baseline_child_multiline;
+mod align_baseline_nested_child;
+mod align_center_should_size_based_on_content;
+mod align_flex_start_with_shrinking_children;
+mod align_flex_start_with_shrinking_children_with_stretch;
+mod align_flex_start_with_stretching_children;
+mod align_items_center;
+mod align_items_center_child_with_margin_bigger_than_parent;
+mod align_items_center_child_without_margin_bigger_than_parent;
+mod align_items_center_with_child_margin;
+mod align_items_center_with_child_top;
+mod align_items_flex_end;
+mod align_items_flex_end_child_with_margin_bigger_than_parent;
+mod align_items_flex_end_child_without_margin_bigger_than_parent;
+mod align_items_flex_start;
+mod align_items_min_max;
+mod align_items_stretch;
+mod align_self_baseline;
+mod align_self_center;
+mod align_self_flex_end;
+mod align_self_flex_end_override_flex_start;
+mod align_self_flex_start;
+mod align_strech_should_size_based_on_parent;
+mod border_center_child;
+mod border_flex_child;
+mod border_no_child;
+mod border_stretch_child;
+mod child_min_max_width_flexing;
+mod container_with_unsized_child;
+mod display_none;
+mod display_none_fixed_size;
+mod display_none_with_child;
+mod display_none_with_margin;
+mod display_none_with_position;
+mod flex_basis_and_main_dimen_set_when_flexing;
+mod flex_basis_flex_grow_column;
+mod flex_basis_flex_grow_row;
+mod flex_basis_flex_shrink_column;
+mod flex_basis_flex_shrink_row;
+mod flex_basis_larger_than_content_column;
+mod flex_basis_larger_than_content_row;
+mod flex_basis_overrides_main_size;
+mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size;
+mod flex_basis_smaller_than_content_column;
+mod flex_basis_smaller_than_content_row;
+mod flex_basis_smaller_than_main_dimen_column;
+mod flex_basis_smaller_than_main_dimen_row;
+mod flex_basis_smaller_then_content_with_flex_grow_large_size;
+mod flex_basis_smaller_then_content_with_flex_grow_small_size;
+mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size;
+mod flex_basis_smaller_then_content_with_flex_grow_very_large_size;
+mod flex_basis_unconstraint_column;
+mod flex_basis_unconstraint_row;
+mod flex_direction_column;
+mod flex_direction_column_no_height;
+mod flex_direction_column_reverse;
+mod flex_direction_row;
+mod flex_direction_row_no_width;
+mod flex_direction_row_reverse;
+mod flex_grow_child;
+mod flex_grow_flex_basis_percent_min_max;
+mod flex_grow_height_maximized;
+mod flex_grow_in_at_most_container;
+mod flex_grow_less_than_factor_one;
+mod flex_grow_root_minimized;
+mod flex_grow_shrink_at_most;
+mod flex_grow_to_min;
+mod flex_grow_within_constrained_max_column;
+mod flex_grow_within_constrained_max_row;
+mod flex_grow_within_constrained_max_width;
+mod flex_grow_within_constrained_min_column;
+mod flex_grow_within_constrained_min_max_column;
+mod flex_grow_within_constrained_min_row;
+mod flex_grow_within_max_width;
+mod flex_root_ignored;
+mod flex_shrink_by_outer_margin_with_max_size;
+mod flex_shrink_flex_grow_child_flex_shrink_other_child;
+mod flex_shrink_flex_grow_row;
+mod flex_shrink_to_zero;
+mod flex_wrap_align_stretch_fits_one_row;
+mod flex_wrap_children_with_min_main_overriding_flex_basis;
+mod flex_wrap_wrap_to_child_height;
+mod justify_content_column_center;
+mod justify_content_column_flex_end;
+mod justify_content_column_flex_start;
+mod justify_content_column_min_height_and_margin_bottom;
+mod justify_content_column_min_height_and_margin_top;
+mod justify_content_column_space_around;
+mod justify_content_column_space_between;
+mod justify_content_column_space_evenly;
+mod justify_content_min_max;
+mod justify_content_min_width_with_padding_child_width_greater_than_parent;
+mod justify_content_min_width_with_padding_child_width_lower_than_parent;
+mod justify_content_overflow_min_max;
+mod justify_content_row_center;
+mod justify_content_row_flex_end;
+mod justify_content_row_flex_start;
+mod justify_content_row_max_width_and_margin;
+mod justify_content_row_min_width_and_margin;
+mod justify_content_row_space_around;
+mod justify_content_row_space_between;
+mod justify_content_row_space_evenly;
+mod margin_and_flex_column;
+mod margin_and_flex_row;
+mod margin_and_stretch_column;
+mod margin_and_stretch_row;
+mod margin_auto_bottom;
+mod margin_auto_bottom_and_top;
+mod margin_auto_bottom_and_top_justify_center;
+mod margin_auto_left;
+mod margin_auto_left_and_right;
+mod margin_auto_left_and_right_column;
+mod margin_auto_left_and_right_column_and_center;
+mod margin_auto_left_and_right_strech;
+mod margin_auto_left_child_bigger_than_parent;
+mod margin_auto_left_fix_right_child_bigger_than_parent;
+mod margin_auto_left_right_child_bigger_than_parent;
+mod margin_auto_left_stretching_child;
+mod margin_auto_mutiple_children_column;
+mod margin_auto_mutiple_children_row;
+mod margin_auto_right;
+mod margin_auto_top;
+mod margin_auto_top_and_bottom_strech;
+mod margin_auto_top_stretching_child;
+mod margin_bottom;
+mod margin_fix_left_auto_right_child_bigger_than_parent;
+mod margin_left;
+mod margin_right;
+mod margin_should_not_be_part_of_max_height;
+mod margin_should_not_be_part_of_max_width;
+mod margin_top;
+mod margin_with_sibling_column;
+mod margin_with_sibling_row;
+mod max_height;
+mod max_height_overrides_height;
+mod max_height_overrides_height_on_root;
+mod max_width;
+mod max_width_overrides_width;
+mod max_width_overrides_width_on_root;
+mod min_height;
+mod min_height_overrides_height;
+mod min_height_overrides_height_on_root;
+mod min_max_percent_no_width_height;
+mod min_width;
+mod min_width_overrides_width;
+mod min_width_overrides_width_on_root;
+mod nested_overflowing_child;
+mod nested_overflowing_child_in_constraint_parent;
+mod overflow_cross_axis;
+mod overflow_main_axis;
+mod padding_align_end_child;
+mod padding_center_child;
+mod padding_flex_child;
+mod padding_no_child;
+mod padding_stretch_child;
+mod parent_wrap_child_size_overflowing_parent;
+mod percent_absolute_position;
+mod percent_within_flex_grow;
+mod percentage_absolute_position;
+mod percentage_container_in_wrapping_container;
+mod percentage_flex_basis;
+mod percentage_flex_basis_cross;
+mod percentage_flex_basis_cross_max_height;
+mod percentage_flex_basis_cross_max_width;
+mod percentage_flex_basis_cross_min_height;
+mod percentage_flex_basis_cross_min_width;
+mod percentage_flex_basis_main_max_height;
+mod percentage_flex_basis_main_max_width;
+mod percentage_flex_basis_main_min_width;
+mod percentage_margin_should_calculate_based_only_on_width;
+mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
+mod percentage_padding_should_calculate_based_only_on_width;
+mod percentage_position_bottom_right;
+mod percentage_position_left_top;
+mod percentage_size_based_on_parent_inner_size;
+mod percentage_size_of_flex_basis;
+mod percentage_width_height;
+mod percentage_width_height_undefined_parent_size;
+mod relative_position_should_not_nudge_siblings;
+mod rounding_flex_basis_flex_grow_row_prime_number_width;
+mod rounding_flex_basis_flex_grow_row_width_of_100;
+mod rounding_flex_basis_flex_shrink_row;
+mod rounding_flex_basis_overrides_main_size;
+mod rounding_fractial_input_1;
+mod rounding_fractial_input_2;
+mod rounding_fractial_input_3;
+mod rounding_fractial_input_4;
+mod rounding_total_fractial;
+mod rounding_total_fractial_nested;
+mod size_defined_by_child;
+mod size_defined_by_child_with_border;
+mod size_defined_by_child_with_padding;
+mod size_defined_by_grand_child;
+mod width_smaller_then_content_with_flex_grow_large_size;
+mod width_smaller_then_content_with_flex_grow_small_size;
+mod width_smaller_then_content_with_flex_grow_unconstraint_size;
+mod width_smaller_then_content_with_flex_grow_very_large_size;
+mod wrap_column;
+mod wrap_nodes_with_content_sizing_margin_cross;
+mod wrap_nodes_with_content_sizing_overflowing_margin;
+mod wrap_reverse_column;
+mod wrap_reverse_column_fixed_size;
+mod wrap_reverse_row;
+mod wrap_reverse_row_align_content_center;
+mod wrap_reverse_row_align_content_flex_start;
+mod wrap_reverse_row_align_content_space_around;
+mod wrap_reverse_row_align_content_stretch;
+mod wrap_reverse_row_single_line_different_size;
+mod wrap_row;
+mod wrap_row_align_items_center;
+mod wrap_row_align_items_flex_end;
+mod wrapped_column_max_height;
+mod wrapped_column_max_height_flex;
+mod wrapped_row_within_align_items_center;
+mod wrapped_row_within_align_items_flex_end;
+mod wrapped_row_within_align_items_flex_start;
+fn benchmark(c: &mut Criterion) {
+ c.bench_function("generated benchmarks", |b| {
+ b.iter(|| {
+ absolute_layout_align_items_and_justify_content_center::compute();
+ absolute_layout_align_items_and_justify_content_center_and_bottom_position::compute();
+ absolute_layout_align_items_and_justify_content_center_and_left_position::compute();
+ absolute_layout_align_items_and_justify_content_center_and_right_position::compute();
+ absolute_layout_align_items_and_justify_content_center_and_top_position::compute();
+ absolute_layout_align_items_and_justify_content_flex_end::compute();
+ absolute_layout_align_items_center::compute();
+ absolute_layout_align_items_center_on_child_only::compute();
+ absolute_layout_child_order::compute();
+ absolute_layout_in_wrap_reverse_column_container::compute();
+ absolute_layout_in_wrap_reverse_column_container_flex_end::compute();
+ absolute_layout_in_wrap_reverse_row_container::compute();
+ absolute_layout_in_wrap_reverse_row_container_flex_end::compute();
+ absolute_layout_justify_content_center::compute();
+ absolute_layout_no_size::compute();
+ absolute_layout_percentage_bottom_based_on_parent_height::compute();
+ absolute_layout_start_top_end_bottom::compute();
+ absolute_layout_width_height_end_bottom::compute();
+ absolute_layout_width_height_start_top::compute();
+ absolute_layout_width_height_start_top_end_bottom::compute();
+ absolute_layout_within_border::compute();
+ align_baseline::compute();
+ align_baseline_child_multiline::compute();
+ align_baseline_nested_child::compute();
+ align_center_should_size_based_on_content::compute();
+ align_flex_start_with_shrinking_children::compute();
+ align_flex_start_with_shrinking_children_with_stretch::compute();
+ align_flex_start_with_stretching_children::compute();
+ align_items_center::compute();
+ align_items_center_child_with_margin_bigger_than_parent::compute();
+ align_items_center_child_without_margin_bigger_than_parent::compute();
+ align_items_center_with_child_margin::compute();
+ align_items_center_with_child_top::compute();
+ align_items_flex_end::compute();
+ align_items_flex_end_child_with_margin_bigger_than_parent::compute();
+ align_items_flex_end_child_without_margin_bigger_than_parent::compute();
+ align_items_flex_start::compute();
+ align_items_min_max::compute();
+ align_items_stretch::compute();
+ align_self_baseline::compute();
+ align_self_center::compute();
+ align_self_flex_end::compute();
+ align_self_flex_end_override_flex_start::compute();
+ align_self_flex_start::compute();
+ align_strech_should_size_based_on_parent::compute();
+ border_center_child::compute();
+ border_flex_child::compute();
+ border_no_child::compute();
+ border_stretch_child::compute();
+ child_min_max_width_flexing::compute();
+ container_with_unsized_child::compute();
+ display_none::compute();
+ display_none_fixed_size::compute();
+ display_none_with_child::compute();
+ display_none_with_margin::compute();
+ display_none_with_position::compute();
+ flex_basis_and_main_dimen_set_when_flexing::compute();
+ flex_basis_flex_grow_column::compute();
+ flex_basis_flex_grow_row::compute();
+ flex_basis_flex_shrink_column::compute();
+ flex_basis_flex_shrink_row::compute();
+ flex_basis_larger_than_content_column::compute();
+ flex_basis_larger_than_content_row::compute();
+ flex_basis_overrides_main_size::compute();
+ flex_basis_slightly_smaller_then_content_with_flex_grow_large_size::compute();
+ flex_basis_smaller_than_content_column::compute();
+ flex_basis_smaller_than_content_row::compute();
+ flex_basis_smaller_than_main_dimen_column::compute();
+ flex_basis_smaller_than_main_dimen_row::compute();
+ flex_basis_smaller_then_content_with_flex_grow_large_size::compute();
+ flex_basis_smaller_then_content_with_flex_grow_small_size::compute();
+ flex_basis_smaller_then_content_with_flex_grow_unconstraint_size::compute();
+ flex_basis_smaller_then_content_with_flex_grow_very_large_size::compute();
+ flex_basis_unconstraint_column::compute();
+ flex_basis_unconstraint_row::compute();
+ flex_direction_column::compute();
+ flex_direction_column_no_height::compute();
+ flex_direction_column_reverse::compute();
+ flex_direction_row::compute();
+ flex_direction_row_no_width::compute();
+ flex_direction_row_reverse::compute();
+ flex_grow_child::compute();
+ flex_grow_flex_basis_percent_min_max::compute();
+ flex_grow_height_maximized::compute();
+ flex_grow_in_at_most_container::compute();
+ flex_grow_less_than_factor_one::compute();
+ flex_grow_root_minimized::compute();
+ flex_grow_shrink_at_most::compute();
+ flex_grow_to_min::compute();
+ flex_grow_within_constrained_max_column::compute();
+ flex_grow_within_constrained_max_row::compute();
+ flex_grow_within_constrained_max_width::compute();
+ flex_grow_within_constrained_min_column::compute();
+ flex_grow_within_constrained_min_max_column::compute();
+ flex_grow_within_constrained_min_row::compute();
+ flex_grow_within_max_width::compute();
+ flex_root_ignored::compute();
+ flex_shrink_by_outer_margin_with_max_size::compute();
+ flex_shrink_flex_grow_child_flex_shrink_other_child::compute();
+ flex_shrink_flex_grow_row::compute();
+ flex_shrink_to_zero::compute();
+ flex_wrap_align_stretch_fits_one_row::compute();
+ flex_wrap_children_with_min_main_overriding_flex_basis::compute();
+ flex_wrap_wrap_to_child_height::compute();
+ justify_content_column_center::compute();
+ justify_content_column_flex_end::compute();
+ justify_content_column_flex_start::compute();
+ justify_content_column_min_height_and_margin_bottom::compute();
+ justify_content_column_min_height_and_margin_top::compute();
+ justify_content_column_space_around::compute();
+ justify_content_column_space_between::compute();
+ justify_content_column_space_evenly::compute();
+ justify_content_min_max::compute();
+ justify_content_min_width_with_padding_child_width_greater_than_parent::compute();
+ justify_content_min_width_with_padding_child_width_lower_than_parent::compute();
+ justify_content_overflow_min_max::compute();
+ justify_content_row_center::compute();
+ justify_content_row_flex_end::compute();
+ justify_content_row_flex_start::compute();
+ justify_content_row_max_width_and_margin::compute();
+ justify_content_row_min_width_and_margin::compute();
+ justify_content_row_space_around::compute();
+ justify_content_row_space_between::compute();
+ justify_content_row_space_evenly::compute();
+ margin_and_flex_column::compute();
+ margin_and_flex_row::compute();
+ margin_and_stretch_column::compute();
+ margin_and_stretch_row::compute();
+ margin_auto_bottom::compute();
+ margin_auto_bottom_and_top::compute();
+ margin_auto_bottom_and_top_justify_center::compute();
+ margin_auto_left::compute();
+ margin_auto_left_and_right::compute();
+ margin_auto_left_and_right_column::compute();
+ margin_auto_left_and_right_column_and_center::compute();
+ margin_auto_left_and_right_strech::compute();
+ margin_auto_left_child_bigger_than_parent::compute();
+ margin_auto_left_fix_right_child_bigger_than_parent::compute();
+ margin_auto_left_right_child_bigger_than_parent::compute();
+ margin_auto_left_stretching_child::compute();
+ margin_auto_mutiple_children_column::compute();
+ margin_auto_mutiple_children_row::compute();
+ margin_auto_right::compute();
+ margin_auto_top::compute();
+ margin_auto_top_and_bottom_strech::compute();
+ margin_auto_top_stretching_child::compute();
+ margin_bottom::compute();
+ margin_fix_left_auto_right_child_bigger_than_parent::compute();
+ margin_left::compute();
+ margin_right::compute();
+ margin_should_not_be_part_of_max_height::compute();
+ margin_should_not_be_part_of_max_width::compute();
+ margin_top::compute();
+ margin_with_sibling_column::compute();
+ margin_with_sibling_row::compute();
+ max_height::compute();
+ max_height_overrides_height::compute();
+ max_height_overrides_height_on_root::compute();
+ max_width::compute();
+ max_width_overrides_width::compute();
+ max_width_overrides_width_on_root::compute();
+ min_height::compute();
+ min_height_overrides_height::compute();
+ min_height_overrides_height_on_root::compute();
+ min_max_percent_no_width_height::compute();
+ min_width::compute();
+ min_width_overrides_width::compute();
+ min_width_overrides_width_on_root::compute();
+ nested_overflowing_child::compute();
+ nested_overflowing_child_in_constraint_parent::compute();
+ overflow_cross_axis::compute();
+ overflow_main_axis::compute();
+ padding_align_end_child::compute();
+ padding_center_child::compute();
+ padding_flex_child::compute();
+ padding_no_child::compute();
+ padding_stretch_child::compute();
+ parent_wrap_child_size_overflowing_parent::compute();
+ percent_absolute_position::compute();
+ percent_within_flex_grow::compute();
+ percentage_absolute_position::compute();
+ percentage_container_in_wrapping_container::compute();
+ percentage_flex_basis::compute();
+ percentage_flex_basis_cross::compute();
+ percentage_flex_basis_cross_max_height::compute();
+ percentage_flex_basis_cross_max_width::compute();
+ percentage_flex_basis_cross_min_height::compute();
+ percentage_flex_basis_cross_min_width::compute();
+ percentage_flex_basis_main_max_height::compute();
+ percentage_flex_basis_main_max_width::compute();
+ percentage_flex_basis_main_min_width::compute();
+ percentage_margin_should_calculate_based_only_on_width::compute();
+ percentage_multiple_nested_with_padding_margin_and_percentage_values::compute();
+ percentage_padding_should_calculate_based_only_on_width::compute();
+ percentage_position_bottom_right::compute();
+ percentage_position_left_top::compute();
+ percentage_size_based_on_parent_inner_size::compute();
+ percentage_size_of_flex_basis::compute();
+ percentage_width_height::compute();
+ percentage_width_height_undefined_parent_size::compute();
+ relative_position_should_not_nudge_siblings::compute();
+ rounding_flex_basis_flex_grow_row_prime_number_width::compute();
+ rounding_flex_basis_flex_grow_row_width_of_100::compute();
+ rounding_flex_basis_flex_shrink_row::compute();
+ rounding_flex_basis_overrides_main_size::compute();
+ rounding_fractial_input_1::compute();
+ rounding_fractial_input_2::compute();
+ rounding_fractial_input_3::compute();
+ rounding_fractial_input_4::compute();
+ rounding_total_fractial::compute();
+ rounding_total_fractial_nested::compute();
+ size_defined_by_child::compute();
+ size_defined_by_child_with_border::compute();
+ size_defined_by_child_with_padding::compute();
+ size_defined_by_grand_child::compute();
+ width_smaller_then_content_with_flex_grow_large_size::compute();
+ width_smaller_then_content_with_flex_grow_small_size::compute();
+ width_smaller_then_content_with_flex_grow_unconstraint_size::compute();
+ width_smaller_then_content_with_flex_grow_very_large_size::compute();
+ wrap_column::compute();
+ wrap_nodes_with_content_sizing_margin_cross::compute();
+ wrap_nodes_with_content_sizing_overflowing_margin::compute();
+ wrap_reverse_column::compute();
+ wrap_reverse_column_fixed_size::compute();
+ wrap_reverse_row::compute();
+ wrap_reverse_row_align_content_center::compute();
+ wrap_reverse_row_align_content_flex_start::compute();
+ wrap_reverse_row_align_content_space_around::compute();
+ wrap_reverse_row_align_content_stretch::compute();
+ wrap_reverse_row_single_line_different_size::compute();
+ wrap_row::compute();
+ wrap_row_align_items_center::compute();
+ wrap_row_align_items_flex_end::compute();
+ wrapped_column_max_height::compute();
+ wrapped_column_max_height_flex::compute();
+ wrapped_row_within_align_items_center::compute();
+ wrapped_row_within_align_items_flex_end::compute();
+ wrapped_row_within_align_items_flex_start::compute();
+ })
+ });
+}
+criterion_group!(benches, benchmark);
+criterion_main!(benches);
diff --git a/benches/generated/nested_overflowing_child.rs b/benches/generated/nested_overflowing_child.rs
new file mode 100644
index 000000000..831a24e0a
--- /dev/null
+++ b/benches/generated/nested_overflowing_child.rs
@@ -0,0 +1,25 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/nested_overflowing_child_in_constraint_parent.rs b/benches/generated/nested_overflowing_child_in_constraint_parent.rs
new file mode 100644
index 000000000..ae8f4e829
--- /dev/null
+++ b/benches/generated/nested_overflowing_child_in_constraint_parent.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/overflow_cross_axis.rs b/benches/generated/overflow_cross_axis.rs
new file mode 100644
index 000000000..4b16df78a
--- /dev/null
+++ b/benches/generated/overflow_cross_axis.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/overflow_main_axis.rs b/benches/generated/overflow_main_axis.rs
new file mode 100644
index 000000000..20b7b27b9
--- /dev/null
+++ b/benches/generated/overflow_main_axis.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_shrink: 0f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/padding_align_end_child.rs b/benches/generated/padding_align_end_child.rs
new file mode 100644
index 000000000..eb0336b08
--- /dev/null
+++ b/benches/generated/padding_align_end_child.rs
@@ -0,0 +1,31 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::FlexEnd,
+ justify_content: stretch::style::JustifyContent::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(20f32),
+ end: stretch::style::Dimension::Points(20f32),
+ top: stretch::style::Dimension::Points(20f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/padding_center_child.rs b/benches/generated/padding_center_child.rs
new file mode 100644
index 000000000..9f9b98780
--- /dev/null
+++ b/benches/generated/padding_center_child.rs
@@ -0,0 +1,31 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(20f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/padding_flex_child.rs b/benches/generated/padding_flex_child.rs
new file mode 100644
index 000000000..144e37e26
--- /dev/null
+++ b/benches/generated/padding_flex_child.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/padding_no_child.rs b/benches/generated/padding_no_child.rs
new file mode 100644
index 000000000..7fd0938da
--- /dev/null
+++ b/benches/generated/padding_no_child.rs
@@ -0,0 +1,16 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/padding_stretch_child.rs b/benches/generated/padding_stretch_child.rs
new file mode 100644
index 000000000..c1842c3da
--- /dev/null
+++ b/benches/generated/padding_stretch_child.rs
@@ -0,0 +1,28 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/parent_wrap_child_size_overflowing_parent.rs b/benches/generated/parent_wrap_child_size_overflowing_parent.rs
new file mode 100644
index 000000000..66ed16cbb
--- /dev/null
+++ b/benches/generated/parent_wrap_child_size_overflowing_parent.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percent_absolute_position.rs b/benches/generated/percent_absolute_position.rs
new file mode 100644
index 000000000..a3aa59587
--- /dev/null
+++ b/benches/generated/percent_absolute_position.rs
@@ -0,0 +1,44 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(60f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percent_within_flex_grow.rs b/benches/generated/percent_within_flex_grow.rs
new file mode 100644
index 000000000..d24141bff
--- /dev/null
+++ b/benches/generated/percent_within_flex_grow.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(350f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_absolute_position.rs b/benches/generated/percentage_absolute_position.rs
new file mode 100644
index 000000000..6d461a926
--- /dev/null
+++ b/benches/generated/percentage_absolute_position.rs
@@ -0,0 +1,29 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ position_type: stretch::style::PositionType::Absolute,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.3f32),
+ top: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_container_in_wrapping_container.rs b/benches/generated/percentage_container_in_wrapping_container.rs
new file mode 100644
index 000000000..c7041d944
--- /dev/null
+++ b/benches/generated/percentage_container_in_wrapping_container.rs
@@ -0,0 +1,47 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(50f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis.rs b/benches/generated/percentage_flex_basis.rs
new file mode 100644
index 000000000..0623423dd
--- /dev/null
+++ b/benches/generated/percentage_flex_basis.rs
@@ -0,0 +1,26 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.25f32),
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_cross.rs b/benches/generated/percentage_flex_basis_cross.rs
new file mode 100644
index 000000000..f10e08827
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_cross.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.25f32),
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_cross_max_height.rs b/benches/generated/percentage_flex_basis_cross_max_height.rs
new file mode 100644
index 000000000..ab3ad3cd8
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_cross_max_height.rs
@@ -0,0 +1,35 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_cross_max_width.rs b/benches/generated/percentage_flex_basis_cross_max_width.rs
new file mode 100644
index 000000000..e8a0c7788
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_cross_max_width.rs
@@ -0,0 +1,35 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.15f32),
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_cross_min_height.rs b/benches/generated/percentage_flex_basis_cross_min_height.rs
new file mode 100644
index 000000000..9ba3912cd
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_cross_min_height.rs
@@ -0,0 +1,33 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 2f32,
+ min_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_cross_min_width.rs b/benches/generated/percentage_flex_basis_cross_min_width.rs
new file mode 100644
index 000000000..71c6676d0
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_cross_min_width.rs
@@ -0,0 +1,35 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.15f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_main_max_height.rs b/benches/generated/percentage_flex_basis_main_max_height.rs
new file mode 100644
index 000000000..69495e2a6
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_main_max_height.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_main_max_width.rs b/benches/generated/percentage_flex_basis_main_max_width.rs
new file mode 100644
index 000000000..c54036fce
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_main_max_width.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.15f32),
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ max_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_flex_basis_main_min_width.rs b/benches/generated/percentage_flex_basis_main_min_width.rs
new file mode 100644
index 000000000..fe7daab9b
--- /dev/null
+++ b/benches/generated/percentage_flex_basis_main_min_width.rs
@@ -0,0 +1,34 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.15f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_margin_should_calculate_based_only_on_width.rs b/benches/generated/percentage_margin_should_calculate_based_only_on_width.rs
new file mode 100644
index 000000000..fbcfd9d45
--- /dev/null
+++ b/benches/generated/percentage_margin_should_calculate_based_only_on_width.rs
@@ -0,0 +1,35 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.1f32),
+ end: stretch::style::Dimension::Percent(0.1f32),
+ top: stretch::style::Dimension::Percent(0.1f32),
+ bottom: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_multiple_nested_with_padding_margin_and_percentage_values.rs b/benches/generated/percentage_multiple_nested_with_padding_margin_and_percentage_values.rs
new file mode 100644
index 000000000..66d9c1bda
--- /dev/null
+++ b/benches/generated/percentage_multiple_nested_with_padding_margin_and_percentage_values.rs
@@ -0,0 +1,93 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0.1f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.6f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.45f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.05f32),
+ end: stretch::style::Dimension::Percent(0.05f32),
+ top: stretch::style::Dimension::Percent(0.05f32),
+ bottom: stretch::style::Dimension::Percent(0.05f32),
+ ..Default::default()
+ },
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(3f32),
+ end: stretch::style::Dimension::Points(3f32),
+ top: stretch::style::Dimension::Points(3f32),
+ bottom: stretch::style::Dimension::Points(3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(5f32),
+ end: stretch::style::Dimension::Points(5f32),
+ top: stretch::style::Dimension::Points(5f32),
+ bottom: stretch::style::Dimension::Points(5f32),
+ ..Default::default()
+ },
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.03f32),
+ end: stretch::style::Dimension::Percent(0.03f32),
+ top: stretch::style::Dimension::Percent(0.03f32),
+ bottom: stretch::style::Dimension::Percent(0.03f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(5f32),
+ end: stretch::style::Dimension::Points(5f32),
+ top: stretch::style::Dimension::Points(5f32),
+ bottom: stretch::style::Dimension::Points(5f32),
+ ..Default::default()
+ },
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(3f32),
+ end: stretch::style::Dimension::Points(3f32),
+ top: stretch::style::Dimension::Points(3f32),
+ bottom: stretch::style::Dimension::Points(3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Percent(0.15f32),
+ min_size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_padding_should_calculate_based_only_on_width.rs b/benches/generated/percentage_padding_should_calculate_based_only_on_width.rs
new file mode 100644
index 000000000..c08f5642f
--- /dev/null
+++ b/benches/generated/percentage_padding_should_calculate_based_only_on_width.rs
@@ -0,0 +1,35 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.1f32),
+ end: stretch::style::Dimension::Percent(0.1f32),
+ top: stretch::style::Dimension::Percent(0.1f32),
+ bottom: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_position_bottom_right.rs b/benches/generated/percentage_position_bottom_right.rs
new file mode 100644
index 000000000..b0549a842
--- /dev/null
+++ b/benches/generated/percentage_position_bottom_right.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.55f32),
+ height: stretch::style::Dimension::Percent(0.15f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Percent(0.2f32),
+ bottom: stretch::style::Dimension::Percent(0.1f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_position_left_top.rs b/benches/generated/percentage_position_left_top.rs
new file mode 100644
index 000000000..77121ba50
--- /dev/null
+++ b/benches/generated/percentage_position_left_top.rs
@@ -0,0 +1,27 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(400f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.45f32),
+ height: stretch::style::Dimension::Percent(0.55f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Percent(0.1f32),
+ top: stretch::style::Dimension::Percent(0.2f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_size_based_on_parent_inner_size.rs b/benches/generated/percentage_size_based_on_parent_inner_size.rs
new file mode 100644
index 000000000..69884f050
--- /dev/null
+++ b/benches/generated/percentage_size_based_on_parent_inner_size.rs
@@ -0,0 +1,30 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.5f32),
+ height: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(20f32),
+ end: stretch::style::Dimension::Points(20f32),
+ top: stretch::style::Dimension::Points(20f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_size_of_flex_basis.rs b/benches/generated/percentage_size_of_flex_basis.rs
new file mode 100644
index 000000000..35aa449c2
--- /dev/null
+++ b/benches/generated/percentage_size_of_flex_basis.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![stretch::style::Node {
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(1f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_width_height.rs b/benches/generated/percentage_width_height.rs
new file mode 100644
index 000000000..9fcf0e990
--- /dev/null
+++ b/benches/generated/percentage_width_height.rs
@@ -0,0 +1,22 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(400f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.3f32),
+ height: stretch::style::Dimension::Percent(0.3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/percentage_width_height_undefined_parent_size.rs b/benches/generated/percentage_width_height_undefined_parent_size.rs
new file mode 100644
index 000000000..0d25a930e
--- /dev/null
+++ b/benches/generated/percentage_width_height_undefined_parent_size.rs
@@ -0,0 +1,18 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Percent(0.5f32),
+ height: stretch::style::Dimension::Percent(0.5f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/relative_position_should_not_nudge_siblings.rs b/benches/generated/relative_position_should_not_nudge_siblings.rs
new file mode 100644
index 000000000..76285d033
--- /dev/null
+++ b/benches/generated/relative_position_should_not_nudge_siblings.rs
@@ -0,0 +1,39 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(15f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(15f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_flex_basis_flex_grow_row_prime_number_width.rs b/benches/generated/rounding_flex_basis_flex_grow_row_prime_number_width.rs
new file mode 100644
index 000000000..16d8766d5
--- /dev/null
+++ b/benches/generated/rounding_flex_basis_flex_grow_row_prime_number_width.rs
@@ -0,0 +1,21 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(113f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_flex_basis_flex_grow_row_width_of_100.rs b/benches/generated/rounding_flex_basis_flex_grow_row_width_of_100.rs
new file mode 100644
index 000000000..b134b138e
--- /dev/null
+++ b/benches/generated/rounding_flex_basis_flex_grow_row_width_of_100.rs
@@ -0,0 +1,19 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ stretch::style::Node { flex_grow: 1f32, ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_flex_basis_flex_shrink_row.rs b/benches/generated/rounding_flex_basis_flex_shrink_row.rs
new file mode 100644
index 000000000..82fa03ee0
--- /dev/null
+++ b/benches/generated/rounding_flex_basis_flex_shrink_row.rs
@@ -0,0 +1,23 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(101f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(25f32), ..Default::default() },
+ stretch::style::Node { flex_basis: stretch::style::Dimension::Points(25f32), ..Default::default() },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_flex_basis_overrides_main_size.rs b/benches/generated/rounding_flex_basis_overrides_main_size.rs
new file mode 100644
index 000000000..4b7d557d0
--- /dev/null
+++ b/benches/generated/rounding_flex_basis_overrides_main_size.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(113f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_fractial_input_1.rs b/benches/generated/rounding_fractial_input_1.rs
new file mode 100644
index 000000000..c303aecca
--- /dev/null
+++ b/benches/generated/rounding_fractial_input_1.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(113.4f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_fractial_input_2.rs b/benches/generated/rounding_fractial_input_2.rs
new file mode 100644
index 000000000..f4f35ebde
--- /dev/null
+++ b/benches/generated/rounding_fractial_input_2.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(113.6f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_fractial_input_3.rs b/benches/generated/rounding_fractial_input_3.rs
new file mode 100644
index 000000000..c303aecca
--- /dev/null
+++ b/benches/generated/rounding_fractial_input_3.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(113.4f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_fractial_input_4.rs b/benches/generated/rounding_fractial_input_4.rs
new file mode 100644
index 000000000..c303aecca
--- /dev/null
+++ b/benches/generated/rounding_fractial_input_4.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(113.4f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(50f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_total_fractial.rs b/benches/generated/rounding_total_fractial.rs
new file mode 100644
index 000000000..3b97807dc
--- /dev/null
+++ b/benches/generated/rounding_total_fractial.rs
@@ -0,0 +1,42 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(87.4f32),
+ height: stretch::style::Dimension::Points(113.4f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 0.7f32,
+ flex_basis: stretch::style::Dimension::Points(50.3f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20.3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1.6f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1.1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10.7f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/rounding_total_fractial_nested.rs b/benches/generated/rounding_total_fractial_nested.rs
new file mode 100644
index 000000000..75fbad08a
--- /dev/null
+++ b/benches/generated/rounding_total_fractial_nested.rs
@@ -0,0 +1,71 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(87.4f32),
+ height: stretch::style::Dimension::Points(113.4f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 0.7f32,
+ flex_basis: stretch::style::Dimension::Points(50.3f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(20.3f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_basis: stretch::style::Dimension::Points(0.3f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(9.9f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ bottom: stretch::style::Dimension::Points(13.3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 4f32,
+ flex_basis: stretch::style::Dimension::Points(0.3f32),
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(1.1f32),
+ ..Default::default()
+ },
+ position: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(13.3f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1.6f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1.1f32,
+ size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(10.7f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/size_defined_by_child.rs b/benches/generated/size_defined_by_child.rs
new file mode 100644
index 000000000..7120b74ab
--- /dev/null
+++ b/benches/generated/size_defined_by_child.rs
@@ -0,0 +1,17 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/size_defined_by_child_with_border.rs b/benches/generated/size_defined_by_child_with_border.rs
new file mode 100644
index 000000000..af0eab290
--- /dev/null
+++ b/benches/generated/size_defined_by_child_with_border.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ border: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/size_defined_by_child_with_padding.rs b/benches/generated/size_defined_by_child_with_padding.rs
new file mode 100644
index 000000000..8c544fbcf
--- /dev/null
+++ b/benches/generated/size_defined_by_child_with_padding.rs
@@ -0,0 +1,24 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(10f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ padding: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(10f32),
+ end: stretch::style::Dimension::Points(10f32),
+ top: stretch::style::Dimension::Points(10f32),
+ bottom: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/size_defined_by_grand_child.rs b/benches/generated/size_defined_by_grand_child.rs
new file mode 100644
index 000000000..7ef4ef9b9
--- /dev/null
+++ b/benches/generated/size_defined_by_grand_child.rs
@@ -0,0 +1,20 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![stretch::style::Node {
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/width_smaller_then_content_with_flex_grow_large_size.rs b/benches/generated/width_smaller_then_content_with_flex_grow_large_size.rs
new file mode 100644
index 000000000..c306258a7
--- /dev/null
+++ b/benches/generated/width_smaller_then_content_with_flex_grow_large_size.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/width_smaller_then_content_with_flex_grow_small_size.rs b/benches/generated/width_smaller_then_content_with_flex_grow_small_size.rs
new file mode 100644
index 000000000..49ac90fac
--- /dev/null
+++ b/benches/generated/width_smaller_then_content_with_flex_grow_small_size.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(10f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/width_smaller_then_content_with_flex_grow_unconstraint_size.rs b/benches/generated/width_smaller_then_content_with_flex_grow_unconstraint_size.rs
new file mode 100644
index 000000000..d77c7373f
--- /dev/null
+++ b/benches/generated/width_smaller_then_content_with_flex_grow_unconstraint_size.rs
@@ -0,0 +1,45 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/width_smaller_then_content_with_flex_grow_very_large_size.rs b/benches/generated/width_smaller_then_content_with_flex_grow_very_large_size.rs
new file mode 100644
index 000000000..0ddca5201
--- /dev/null
+++ b/benches/generated/width_smaller_then_content_with_flex_grow_very_large_size.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(200f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(70f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_grow: 1f32,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(0f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(20f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_column.rs b/benches/generated/wrap_column.rs
new file mode 100644
index 000000000..bec53fb8b
--- /dev/null
+++ b/benches/generated/wrap_column.rs
@@ -0,0 +1,50 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(31f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(32f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(33f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(34f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_nodes_with_content_sizing_margin_cross.rs b/benches/generated/wrap_nodes_with_content_sizing_margin_cross.rs
new file mode 100644
index 000000000..15a093804
--- /dev/null
+++ b/benches/generated/wrap_nodes_with_content_sizing_margin_cross.rs
@@ -0,0 +1,50 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(70f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(40f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(40f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ margin: stretch::geometry::Rect {
+ top: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_nodes_with_content_sizing_overflowing_margin.rs b/benches/generated/wrap_nodes_with_content_sizing_overflowing_margin.rs
new file mode 100644
index 000000000..8fc2e5852
--- /dev/null
+++ b/benches/generated/wrap_nodes_with_content_sizing_overflowing_margin.rs
@@ -0,0 +1,50 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(500f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(85f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(40f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ children: vec![stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(40f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ }],
+ margin: stretch::geometry::Rect {
+ end: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_column.rs b/benches/generated/wrap_reverse_column.rs
new file mode 100644
index 000000000..c7394b650
--- /dev/null
+++ b/benches/generated/wrap_reverse_column.rs
@@ -0,0 +1,50 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(31f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(32f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(33f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(34f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_column_fixed_size.rs b/benches/generated/wrap_reverse_column_fixed_size.rs
new file mode 100644
index 000000000..ddcede52c
--- /dev/null
+++ b/benches/generated/wrap_reverse_column_fixed_size.rs
@@ -0,0 +1,59 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row.rs b/benches/generated/wrap_reverse_row.rs
new file mode 100644
index 000000000..1bd4f1d74
--- /dev/null
+++ b/benches/generated/wrap_reverse_row.rs
@@ -0,0 +1,45 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(31f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(32f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(33f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(34f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row_align_content_center.rs b/benches/generated/wrap_reverse_row_align_content_center.rs
new file mode 100644
index 000000000..88d67e726
--- /dev/null
+++ b/benches/generated/wrap_reverse_row_align_content_center.rs
@@ -0,0 +1,54 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ align_content: stretch::style::AlignContent::Center,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row_align_content_flex_start.rs b/benches/generated/wrap_reverse_row_align_content_flex_start.rs
new file mode 100644
index 000000000..243e93893
--- /dev/null
+++ b/benches/generated/wrap_reverse_row_align_content_flex_start.rs
@@ -0,0 +1,54 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ align_content: stretch::style::AlignContent::FlexStart,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row_align_content_space_around.rs b/benches/generated/wrap_reverse_row_align_content_space_around.rs
new file mode 100644
index 000000000..af2a4e2eb
--- /dev/null
+++ b/benches/generated/wrap_reverse_row_align_content_space_around.rs
@@ -0,0 +1,54 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ align_content: stretch::style::AlignContent::SpaceAround,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row_align_content_stretch.rs b/benches/generated/wrap_reverse_row_align_content_stretch.rs
new file mode 100644
index 000000000..7c88ad5d7
--- /dev/null
+++ b/benches/generated/wrap_reverse_row_align_content_stretch.rs
@@ -0,0 +1,53 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_reverse_row_single_line_different_size.rs b/benches/generated/wrap_reverse_row_single_line_different_size.rs
new file mode 100644
index 000000000..49bce7143
--- /dev/null
+++ b/benches/generated/wrap_reverse_row_single_line_different_size.rs
@@ -0,0 +1,54 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::WrapReverse,
+ align_content: stretch::style::AlignContent::FlexStart,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(300f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(40f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(50f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_row.rs b/benches/generated/wrap_row.rs
new file mode 100644
index 000000000..7df237cbb
--- /dev/null
+++ b/benches/generated/wrap_row.rs
@@ -0,0 +1,45 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(31f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(32f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(33f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(34f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_row_align_items_center.rs b/benches/generated/wrap_row_align_items_center.rs
new file mode 100644
index 000000000..943717222
--- /dev/null
+++ b/benches/generated/wrap_row_align_items_center.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrap_row_align_items_flex_end.rs b/benches/generated/wrap_row_align_items_flex_end.rs
new file mode 100644
index 000000000..d23aa8979
--- /dev/null
+++ b/benches/generated/wrap_row_align_items_flex_end.rs
@@ -0,0 +1,46 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ align_items: stretch::style::AlignItems::FlexEnd,
+ size: stretch::geometry::Size { width: stretch::style::Dimension::Points(100f32), ..Default::default() },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(10f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(30f32),
+ height: stretch::style::Dimension::Points(30f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrapped_column_max_height.rs b/benches/generated/wrapped_column_max_height.rs
new file mode 100644
index 000000000..dfe1592f3
--- /dev/null
+++ b/benches/generated/wrapped_column_max_height.rs
@@ -0,0 +1,56 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ align_items: stretch::style::AlignItems::Center,
+ align_content: stretch::style::AlignContent::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(700f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(20f32),
+ end: stretch::style::Dimension::Points(20f32),
+ top: stretch::style::Dimension::Points(20f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrapped_column_max_height_flex.rs b/benches/generated/wrapped_column_max_height_flex.rs
new file mode 100644
index 000000000..fce4d7c0d
--- /dev/null
+++ b/benches/generated/wrapped_column_max_height_flex.rs
@@ -0,0 +1,62 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ align_items: stretch::style::AlignItems::Center,
+ align_content: stretch::style::AlignContent::Center,
+ justify_content: stretch::style::JustifyContent::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(700f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ children: vec![
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(500f32),
+ ..Default::default()
+ },
+ max_size: stretch::geometry::Size {
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ flex_grow: 1f32,
+ flex_shrink: 1f32,
+ flex_basis: stretch::style::Dimension::Percent(0f32),
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ margin: stretch::geometry::Rect {
+ start: stretch::style::Dimension::Points(20f32),
+ end: stretch::style::Dimension::Points(20f32),
+ top: stretch::style::Dimension::Points(20f32),
+ bottom: stretch::style::Dimension::Points(20f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(100f32),
+ height: stretch::style::Dimension::Points(100f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrapped_row_within_align_items_center.rs b/benches/generated/wrapped_row_within_align_items_center.rs
new file mode 100644
index 000000000..5faf6cd02
--- /dev/null
+++ b/benches/generated/wrapped_row_within_align_items_center.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::Center,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(150f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(80f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrapped_row_within_align_items_flex_end.rs b/benches/generated/wrapped_row_within_align_items_flex_end.rs
new file mode 100644
index 000000000..d7c87eceb
--- /dev/null
+++ b/benches/generated/wrapped_row_within_align_items_flex_end.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::FlexEnd,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(150f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(80f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/benches/generated/wrapped_row_within_align_items_flex_start.rs b/benches/generated/wrapped_row_within_align_items_flex_start.rs
new file mode 100644
index 000000000..e327d6e9e
--- /dev/null
+++ b/benches/generated/wrapped_row_within_align_items_flex_start.rs
@@ -0,0 +1,38 @@
+pub fn compute() -> stretch::layout::Node {
+ stretch::compute(
+ &stretch::style::Node {
+ flex_direction: stretch::style::FlexDirection::Column,
+ align_items: stretch::style::AlignItems::FlexStart,
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(200f32),
+ height: stretch::style::Dimension::Points(200f32),
+ ..Default::default()
+ },
+ children: vec![stretch::style::Node {
+ flex_wrap: stretch::style::FlexWrap::Wrap,
+ children: vec![
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(150f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ stretch::style::Node {
+ size: stretch::geometry::Size {
+ width: stretch::style::Dimension::Points(80f32),
+ height: stretch::style::Dimension::Points(80f32),
+ ..Default::default()
+ },
+ ..Default::default()
+ },
+ ],
+ ..Default::default()
+ }],
+ ..Default::default()
+ },
+ stretch::geometry::Size::undefined(),
+ )
+ .unwrap()
+}
diff --git a/scripts/gentest/src/main.rs b/scripts/gentest/src/main.rs
index cbe71ee36..140b837d5 100644
--- a/scripts/gentest/src/main.rs
+++ b/scripts/gentest/src/main.rs
@@ -81,14 +81,30 @@ fn main() {
info!("generating test sources and concatenating...");
+ let bench_descs: Vec<_> = test_descs
+ .iter()
+ .map(|(name, description)| {
+ debug!("generating bench contents for {}", &name);
+ (name.clone(), generate_bench(description))
+ })
+ .collect();
+
let test_descs: Vec<_> = test_descs
- .into_iter()
+ .iter()
.map(|(name, description)| {
debug!("generating test contents for {}", &name);
(name.clone(), generate_test(name, description))
})
.collect();
+ let benchmarks: Vec<_> = test_descs
+ .iter()
+ .map(|(name, _)| {
+ let bench_mod = Ident::new(name, Span::call_site());
+ quote!(#bench_mod::compute())
+ })
+ .collect();
+
let test_mods = test_descs
.iter()
.map(|(name, _)| {
@@ -97,6 +113,13 @@ fn main() {
})
.fold(quote!(), |a, b| quote!(#a #b));
+ for (name, bench_body) in bench_descs {
+ let mut bench_filename = repo_root.join("benches").join("generated").join(&name);
+ bench_filename.set_extension("rs");
+ debug!("writing {} to disk...", &name);
+ fs::write(bench_filename, bench_body.to_string()).unwrap();
+ }
+
for (name, test_body) in test_descs {
let mut test_filename = repo_root.join("tests").join("generated").join(&name);
test_filename.set_extension("rs");
@@ -104,8 +127,25 @@ fn main() {
fs::write(test_filename, test_body.to_string()).unwrap();
}
+ let bench_mods = quote!(
+ use criterion::{criterion_group, criterion_main, Criterion};
+
+ #test_mods
+
+ fn benchmark(c: &mut Criterion) {
+ c.bench_function("generated benchmarks", |b| {
+ b.iter(|| { #(#benchmarks;)* })
+ });
+ }
+
+ criterion_group!(benches, benchmark);
+ criterion_main!(benches);
+ );
+
info!("writing generated test file to disk...");
+ fs::write(repo_root.join("benches").join("generated").join("mod.rs"), bench_mods.to_string()).unwrap();
fs::write(repo_root.join("tests").join("generated").join("mod.rs"), test_mods.to_string()).unwrap();
+
info!("formatting the source directory");
Command::new("cargo").arg("fmt").current_dir(repo_root).status().unwrap();
}
@@ -140,18 +180,24 @@ fn test_root_element(
.map_err(|c| c.into())
}
-fn generate_test(name: impl AsRef<str>, description: json::JsonValue) -> TokenStream {
- let ignorelist = &["flex_basis_smaller_than_content_column"];
+fn generate_bench(description: &json::JsonValue) -> TokenStream {
+ let node_description = generate_node(&description);
+
+ quote!(
+ pub fn compute() -> stretch::layout::Node {
+ stretch::compute(&#node_description, stretch::geometry::Size::undefined()).unwrap()
+ }
+ )
+}
+fn generate_test(name: impl AsRef<str>, description: &json::JsonValue) -> TokenStream {
let name = name.as_ref();
- let maybe_ignore = if ignorelist.contains(&name) { quote!(#[ignore]) } else { quote!() };
let name = Ident::new(name, Span::call_site());
let node_description = generate_node(&description);
let assertions = generate_assertions(quote!(layout), &description);
quote!(
#[test]
- #maybe_ignore
fn #name() {
let layout = stretch::compute(&#node_description, stretch::geometry::Size::undefined()).unwrap();
#assertions
diff --git a/tests/generated/flex_basis_smaller_than_content_column.rs b/tests/generated/flex_basis_smaller_than_conte
El parche sigue, pero se cortó acá: pedí el commit por git para verlo entero.