From b6adff5efd4ae1290a4eb470d8279dceaa495f5e Mon Sep 17 00:00:00 2001 From: Jonas Konrad Date: Sat, 21 Feb 2026 10:07:49 +0100 Subject: [PATCH 1/2] refactor to prepare for fractional cells --- gridflock.scad | 363 ++++++++++++++++++++++++-------------------- justfile | 2 +- mag_insert_jig.scad | 2 +- test.scad | 56 ++++--- 4 files changed, 237 insertions(+), 186 deletions(-) diff --git a/gridflock.scad b/gridflock.scad index 85bcd1d..08a6fe6 100644 --- a/gridflock.scad +++ b/gridflock.scad @@ -36,7 +36,7 @@ magnet_top = 0.5; // 0.25 // Floor below the magnet. Not structurally important, should be small to minimize filament use magnet_bottom = 0.75; // 0.25 -/* [Click latch (Experimental)] */ +/* [Click Latch (Experimental)] */ // Enable the click latch. WARNING: The plastic can deform over time, do not use PLA! PETG might be fine, but there are no long-term tests yet click1 = false; @@ -219,33 +219,34 @@ _SEGMENT_ALGORITHM_INCREMENTAL = 1; * @Summary Run some code in each corner, with proper rotation, to add magnets * @Details From the children's perspective, we are centered at the corner, and * the center of the cell is in the north-east (+x and +y) - * @param half Whether this is a half cell, for each direction + * @param unit_size Size of the cell, in grid units, in each direction */ -module each_cell_corner(half=[false, false]) { - if (half.x && half.y) { - translate([-BASEPLATE_DIMENSIONS.x/4, BASEPLATE_DIMENSIONS.y/4]) rotate([0, 0, 270]) children(); - } else if (half.x) { +module each_cell_corner(unit_size) { + size = [BASEPLATE_DIMENSIONS.x*unit_size.x, BASEPLATE_DIMENSIONS.y*unit_size.y]; + if (unit_size.x < 1 && unit_size.y < 1) { + translate([-size.x/2, size.y/2]) rotate([0, 0, 270]) children(); + } else if (unit_size.x < 1) { // these corners are chosen so that a half-size bin will fit both a vertical and a horizontal half-width slot - translate([BASEPLATE_DIMENSIONS.x/4, -BASEPLATE_DIMENSIONS.y/2]) rotate([0, 0, 90]) children(); - translate([-BASEPLATE_DIMENSIONS.x/4, BASEPLATE_DIMENSIONS.y/2]) rotate([0, 0, 270]) children(); - } else if (half.y) { - translate([-BASEPLATE_DIMENSIONS.x/2, -BASEPLATE_DIMENSIONS.y/4]) children(); - translate([BASEPLATE_DIMENSIONS.x/2, BASEPLATE_DIMENSIONS.y/4]) rotate([0, 0, 180]) children(); + translate([size.x/2, -size.y/2]) rotate([0, 0, 90]) children(); + translate([-size.x/2, size.y/2]) rotate([0, 0, 270]) children(); + } else if (unit_size.y < 1) { + translate([-size.x/2, -size.y/2]) children(); + translate([size.x/2, size.y/2]) rotate([0, 0, 180]) children(); } else { - translate([-BASEPLATE_DIMENSIONS.x/2, -BASEPLATE_DIMENSIONS.y/2]) children(); - translate([BASEPLATE_DIMENSIONS.x/2, -BASEPLATE_DIMENSIONS.y/2]) rotate([0, 0, 90]) children(); - translate([-BASEPLATE_DIMENSIONS.x/2, BASEPLATE_DIMENSIONS.y/2]) rotate([0, 0, 270]) children(); - translate([BASEPLATE_DIMENSIONS.x/2, BASEPLATE_DIMENSIONS.y/2]) rotate([0, 0, 180]) children(); + translate([-size.x/2, -size.y/2]) children(); + translate([size.x/2, -size.y/2]) rotate([0, 0, 90]) children(); + translate([-size.x/2, size.y/2]) rotate([0, 0, 270]) children(); + translate([size.x/2, size.y/2]) rotate([0, 0, 180]) children(); } } /** * @Summary Draw a grid cell centered on 0,0 - * @param half Whether this is a half cell, for each direction + * @param unit_size Size of the cell, in grid units, in each direction * @param positive This flag is false when this cell is used for cutting instead of additively. When cutting, we can simplify the geometry in ways that would waste filament for additive mode */ -module cell(half=[false, false], connector=[false, false, false, false], positive=true) { - size = [BASEPLATE_DIMENSIONS.x/(half.x?2:1), BASEPLATE_DIMENSIONS.y/(half.y?2:1)]; +module cell(unit_size=[1, 1], connector=[false, false, false, false], positive=true) { + size = [BASEPLATE_DIMENSIONS.x*unit_size.x, BASEPLATE_DIMENSIONS.y*unit_size.y]; difference() { union() { difference() { @@ -268,16 +269,16 @@ module cell(half=[false, false], connector=[false, false, false, false], positiv } } if (click1) translate([0, 0, _profile_height/2]) { - if (!half.x) cube([click1_outer_length, size.y-click1_wall_strength*2, _profile_height], center=true); - if (!half.y) cube([size.x-click1_wall_strength*2, click1_outer_length, _profile_height], center=true); + if (unit_size.x == 1) cube([click1_outer_length, size.y-click1_wall_strength*2, _profile_height], center=true); + if (unit_size.y == 1) cube([size.x-click1_wall_strength*2, click1_outer_length, _profile_height], center=true); } } if (click1) { - if (!half.x) { + if (unit_size.x == 1) { translate([0, -size.y/2, 0]) rotate([90, 0, -90]) do_sweep(_click1_sweep, convexity=4); translate([0, size.y/2, 0]) rotate([90, 0, 90]) do_sweep(_click1_sweep, convexity=4); } - if (!half.y) { + if (unit_size.y == 1) { translate([-size.x/2, 0, 0]) rotate([90, 0, 180]) do_sweep(_click1_sweep, convexity=4); translate([size.x/2, 0, 0]) rotate([90, 0, 0]) do_sweep(_click1_sweep, convexity=4); } @@ -287,7 +288,7 @@ module cell(half=[false, false], connector=[false, false, false, false], positiv if (positive && magnet_frame_style != _MAGNET_SOLID) { // round corners if (magnet_frame_style == _MAGNET_ROUND_CORNERS) { - each_cell_corner(half) { + each_cell_corner(unit_size) { total_bounds = _magnet_location + magnet_diameter/2 + _magnet_border; square([_magnet_location, total_bounds]); square([total_bounds, _magnet_location]); @@ -313,9 +314,9 @@ module cell(half=[false, false], connector=[false, false, false, false], positiv } } if (magnets) { - each_cell_corner(half) { + each_cell_corner(unit_size) { translate([_magnet_location, _magnet_location]) { - rot_slot = half.x == half.y ? -45 : -90; + rot_slot = (unit_size == [1, 1] || (unit_size.x < 1 && unit_size.y < 1)) ? -45 : -90; // magnet slot if (magnet_style == _MAGNET_GLUE_BOTTOM) { translate([0, 0, -_extra_height]) cylinder(d=magnet_diameter, h=_extra_height-magnet_top); @@ -337,7 +338,7 @@ module cell(half=[false, false], connector=[false, false, false, false], positiv } } } - if (thumbscrews && !half.x && !half.y) rotate_extrude() { + if (thumbscrews && unit_size == [1, 1]) rotate_extrude() { top = magnets && magnet_frame_style != _MAGNET_SOLID ? -_magnet_level_height : 0; height = 100; polygon([[0, top], [thumbscrew_diameter/2, top], [thumbscrew_diameter/2 + height, top-height], [0, top-height]]); @@ -480,75 +481,75 @@ _click1_path = let ( _click1_sweep = prepare_sweep(_click1_polygon, _click1_path); /** - * @Summary Get the index of the last cell in a segment - * @param count The number of cells on each axis + * @Summary Cumulate the entries of an array. e.g. [1, 1, 0.5] -> [0, 1, 2, 2.5] */ -function last_cell(count) = - assert(count.x % 0.5 == 0) - assert(count.y % 0.5 == 0) - [floor(count.x - 0.25), floor(count.y - 0.25)]; +function cumulate(trace) = + assert(is_list(trace)) + [for (i = 0, cumulated = 0; i <= len(trace); cumulated = cumulated + (i >= len(trace) ? 0 : assert(is_num(trace[i])) trace[i]), i = i + 1) cumulated]; /** * @Summary Get the position of a particular cell on one axis (1D) * @param dimension The cell dimension on this axis * @param size The segment size on this axis - * @param count The number of cells on this axis + * @param trace The array of cell sizes on this axis * @param padding_start The start padding on this axis * @param index The index of this cell on this axis (may be < 0 or >= size also) */ -function cell_axis_position(dimension, size, count, padding_start, index) = +function cell_axis_position(dimension, size, trace, padding_start, index) = let( - half = index == count - 0.5, - // if we go outside the count, and we have a half cell, we need to go back half a cell - adj = index > count && (count % 1) == 0.5 ? 0.5 : 0 - ) -size/2 + padding_start + (index + (half ? 0.25 : 0.5) - adj) * dimension; + cumulated = cumulate(trace), + start_pos_norm = + index < 0 ? index : + index >= len(trace) ? cumulated[len(trace)] + (index - len(trace)) : + cumulated[index], + own_size_norm = index < 0 || index >= len(trace) ? 1 : trace[index], + final = -size/2 + padding_start + (start_pos_norm + own_size_norm / 2) * dimension + ) final; /** * @Summary In the segment coordinate system, translate to the center of a particular cell * @param size The size of the segment - * @param count The number of cells on each axis + * @param trace The cell sizes on each axis * @param padding The padding of the segment (for each edge) * @param index The index of the cell (can also be negative or >= count) */ -module navigate_cell(size, count, padding, index) { +module navigate_cell(size, trace, padding, index) { translate([ - cell_axis_position(BASEPLATE_DIMENSIONS.x, size.x, count.x, padding[_WEST], index.x), - cell_axis_position(BASEPLATE_DIMENSIONS.y, size.y, count.y, padding[_SOUTH], index.y) + cell_axis_position(BASEPLATE_DIMENSIONS.x, size.x, trace.x, padding[_WEST], index.x), + cell_axis_position(BASEPLATE_DIMENSIONS.y, size.y, trace.y, padding[_SOUTH], index.y) ]) children(); } /** * @Summary In the segment coordinate system, translate to a corner of a particular cell * @param size The size of the segment - * @param count The number of cells on each axis + * @param trace The cell sizes on each axis * @param padding The padding of the segment (for each edge) * @param index The index of the cell * @param diry The y direction of the corner (north or south) * @param dirx The x direction of the corner (east or west) */ -module navigate_corner(size, count, padding, index, diry, dirx) { +module navigate_corner(size, trace, padding, index, diry, dirx) { assert(diry == _NORTH || diry == _SOUTH); assert(dirx == _EAST || dirx == _WEST); - half = [index.x == count.x - 0.5, index.y == count.y - 0.5]; - navigate_cell(size, count, padding, index) translate([ - dirx == _WEST ? -BASEPLATE_DIMENSIONS.x/(half.x?4:2) : BASEPLATE_DIMENSIONS.x/(half.x?4:2), - diry == _SOUTH ? -BASEPLATE_DIMENSIONS.y/(half.y?4:2) : BASEPLATE_DIMENSIONS.y/(half.y?4:2) + navigate_cell(size, trace, padding, index) translate([ + (dirx == _WEST ? -1 : 1) * BASEPLATE_DIMENSIONS.x * (index.x < 0 || index.x >= len(trace.x) ? 1 : trace.x[index.x]) / 2, + (diry == _SOUTH ? -1 : 1) * BASEPLATE_DIMENSIONS.y * (index.y < 0 || index.y >= len(trace.y) ? 1 : trace.y[index.y]) / 2 ]) children(); } /** * @Summary In the segment coordinate system, translate to an edge of a particular cell * @param size The size of the segment - * @param count The number of cells on each axis + * @param trace The cell sizes on each axis * @param padding The padding of the segment (for each edge) * @param index The index of the cell * @param dir The edge to navigate to (N/E/S/W) */ -module navigate_edge(size, count, padding, index, dir) { - half = [index.x == count.x - 0.5, index.y == count.y - 0.5]; - navigate_cell(size, count, padding, index) translate([ - (dir == _WEST ? -1 : dir == _EAST ? 1 : 0) * BASEPLATE_DIMENSIONS.x / (half.x ? 4 : 2), - (dir == _SOUTH ? -1 : dir == _NORTH ? 1 : 0) * BASEPLATE_DIMENSIONS.y / (half.y ? 4 : 2) +module navigate_edge(size, trace, padding, index, dir) { + navigate_cell(size, trace, padding, index) translate([ + (dir == _WEST ? -1 : dir == _EAST ? 1 : 0) * BASEPLATE_DIMENSIONS.x * (index.x < 0 || index.x >= len(trace.x) ? 1 : trace.x[index.x]) / 2, + (dir == _SOUTH ? -1 : dir == _NORTH ? 1 : 0) * BASEPLATE_DIMENSIONS.y * (index.y < 0 || index.y >= len(trace.y) ? 1 : trace.y[index.y]) / 2 ]) children(); } @@ -559,37 +560,36 @@ module navigate_edge(size, count, padding, index, dir) { * pass cuts out room from the plate, and the positive pass adds the tabs. * @param positive true if this is the positive pass - * @param count The number of cells on each axis + * @param trace The cell sizes on each axis * @param size The size of the segment (incl. padding) * @param padding The padding of the segment (for each edge) * @param connector The connector configuration (for each edge) */ -module segment_intersection_connectors(positive, count, size, padding, connector) { - last = last_cell(count); +module segment_intersection_connectors(positive, trace, size, padding, connector) { + last = [len(trace.x) - 1, len(trace.y) - 1]; // for the normal case, we iterate over the cells at the edge of the segment, and add two half-connectors for each cell. for (ix = [0:1:last.x]) { // north and south connectors skip_first = ix == 0 && connector[_WEST]; skip_last = ix == last.x && connector[_EAST]; if (connector[_SOUTH]) { - if (!skip_first) navigate_corner(size, count, padding, [ix, 0], _SOUTH, _WEST) mirror([1, 0]) rotate([0, 0, -90]) puzzle_female(positive); - if (!skip_last) navigate_corner(size, count, padding, [ix, 0], _SOUTH, _EAST) rotate([0, 0, -90]) puzzle_female(positive); + if (!skip_first) navigate_corner(size, trace, padding, [ix, 0], _SOUTH, _WEST) mirror([1, 0]) rotate([0, 0, -90]) puzzle_female(positive); + if (!skip_last) navigate_corner(size, trace, padding, [ix, 0], _SOUTH, _EAST) rotate([0, 0, -90]) puzzle_female(positive); } if (connector[_NORTH]) { - if (!skip_first) navigate_corner(size, count, padding, [ix, last.y], _NORTH, _WEST) rotate([0, 0, 90]) puzzle_male(positive); - if (!skip_last) navigate_corner(size, count, padding, [ix, last.y], _NORTH, _EAST) mirror([1, 0]) rotate([0, 0, 90]) puzzle_male(positive); + if (!skip_first) navigate_corner(size, trace, padding, [ix, last.y], _NORTH, _WEST) rotate([0, 0, 90]) puzzle_male(positive); + if (!skip_last) navigate_corner(size, trace, padding, [ix, last.y], _NORTH, _EAST) mirror([1, 0]) rotate([0, 0, 90]) puzzle_male(positive); } } for (iy = [0:1:last.y]) { // east and west connectors - halfy = iy == count.y - 0.5; if (connector[_WEST]) { - navigate_corner(size, count, padding, [0, iy], _SOUTH, _WEST) rotate([0, 0, 180]) puzzle_female(positive); - navigate_corner(size, count, padding, [0, iy], _NORTH, _WEST) mirror([0, 1]) rotate([0, 0, 180]) puzzle_female(positive); + navigate_corner(size, trace, padding, [0, iy], _SOUTH, _WEST) rotate([0, 0, 180]) puzzle_female(positive); + navigate_corner(size, trace, padding, [0, iy], _NORTH, _WEST) mirror([0, 1]) rotate([0, 0, 180]) puzzle_female(positive); } if (connector[_EAST]) { - navigate_corner(size, count, padding, [last.x, iy], _SOUTH, _EAST) mirror([0, 1]) puzzle_male(positive); - navigate_corner(size, count, padding, [last.x, iy], _NORTH, _EAST) puzzle_male(positive); + navigate_corner(size, trace, padding, [last.x, iy], _SOUTH, _EAST) mirror([0, 1]) puzzle_male(positive); + navigate_corner(size, trace, padding, [last.x, iy], _NORTH, _EAST) puzzle_male(positive); } } // At the corners of the segment, we now only have half-connectors. But if we have padding, there may be space for a full connector after all. @@ -609,12 +609,12 @@ module segment_intersection_connectors(positive, count, size, padding, connector translate([bounds_min.x, -size.y/2 - 20]) square([bounds_max.x - bounds_min.x, size.y + 40]); union() { if (!connector[_WEST]) { - if (connector[_SOUTH]) navigate_corner(size, count, padding, [0, 0], _SOUTH, _WEST) rotate([0, 0, -90]) puzzle_female(positive); - if (connector[_NORTH]) navigate_corner(size, count, padding, [0, last.y], _NORTH, _WEST) mirror([1, 0]) rotate([0, 0, 90]) puzzle_male(positive); + if (connector[_SOUTH]) navigate_corner(size, trace, padding, [0, 0], _SOUTH, _WEST) rotate([0, 0, -90]) puzzle_female(positive); + if (connector[_NORTH]) navigate_corner(size, trace, padding, [0, last.y], _NORTH, _WEST) mirror([1, 0]) rotate([0, 0, 90]) puzzle_male(positive); } if (!connector[_EAST]) { - if (connector[_SOUTH]) navigate_corner(size, count, padding, [last.x, 0], _SOUTH, _EAST) mirror([1, 0]) rotate([0, 0, -90]) puzzle_female(positive); - if (connector[_NORTH]) navigate_corner(size, count, padding, [last.x, last.y], _NORTH, _EAST) rotate([0, 0, 90]) puzzle_male(positive); + if (connector[_SOUTH]) navigate_corner(size, trace, padding, [last.x, 0], _SOUTH, _EAST) mirror([1, 0]) rotate([0, 0, -90]) puzzle_female(positive); + if (connector[_NORTH]) navigate_corner(size, trace, padding, [last.x, last.y], _NORTH, _EAST) rotate([0, 0, 90]) puzzle_male(positive); } } } @@ -622,12 +622,12 @@ module segment_intersection_connectors(positive, count, size, padding, connector translate([-size.x/2 - 20, bounds_min.y]) square([size.x + 40, bounds_max.y - bounds_min.y]); union() { if (!connector[_SOUTH]) { - if (connector[_WEST]) navigate_corner(size, count, padding, [0, 0], _SOUTH, _WEST) mirror([0, 1]) rotate([0, 0, 180]) puzzle_female(positive); - if (connector[_EAST]) navigate_corner(size, count, padding, [last.x, 0], _SOUTH, _EAST) puzzle_male(positive); + if (connector[_WEST]) navigate_corner(size, trace, padding, [0, 0], _SOUTH, _WEST) mirror([0, 1]) rotate([0, 0, 180]) puzzle_female(positive); + if (connector[_EAST]) navigate_corner(size, trace, padding, [last.x, 0], _SOUTH, _EAST) puzzle_male(positive); } if (!connector[_NORTH]) { - if (connector[_WEST]) navigate_corner(size, count, padding, [0, last.y], _NORTH, _WEST) rotate([0, 0, 180]) puzzle_female(positive); - if (connector[_EAST]) navigate_corner(size, count, padding, [last.x, last.y], _NORTH, _EAST) mirror([0, 1]) puzzle_male(positive); + if (connector[_WEST]) navigate_corner(size, trace, padding, [0, last.y], _NORTH, _WEST) rotate([0, 0, 180]) puzzle_female(positive); + if (connector[_EAST]) navigate_corner(size, trace, padding, [last.x, last.y], _NORTH, _EAST) mirror([0, 1]) puzzle_male(positive); } } } @@ -640,22 +640,20 @@ module segment_intersection_connectors(positive, count, size, padding, connector * pass cuts out room from the plate, and the positive pass adds the tabs. * @param positive true if this is the positive pass - * @param count The number of cells on each axis + * @param trace The cell sizes on each axis * @param size The size of the segment (incl. padding) * @param padding The padding of the segment (for each edge) * @param connector The connector configuration (for each edge) */ -module segment_edge_connectors(positive, count, size, padding, connector) { - last = last_cell(count); +module segment_edge_connectors(positive, trace, size, padding, connector) { + last = [len(trace.x) - 1, len(trace.y) - 1]; for (ix = [0:1:last.x]) { - half = ix == count.x - 0.5; - if (connector[_SOUTH]) navigate_edge(size, count, padding, [ix, 0], _SOUTH) edge_puzzle(positive, _edge_puzzle_direction_male[_SOUTH], half); - if (connector[_NORTH]) navigate_edge(size, count, padding, [ix, last.y], _NORTH) mirror([0, 1]) edge_puzzle(positive, _edge_puzzle_direction_male[_NORTH], half); + if (connector[_SOUTH]) navigate_edge(size, trace, padding, [ix, 0], _SOUTH) edge_puzzle(positive, _edge_puzzle_direction_male[_SOUTH], trace.x[ix]); + if (connector[_NORTH]) navigate_edge(size, trace, padding, [ix, last.y], _NORTH) mirror([0, 1]) edge_puzzle(positive, _edge_puzzle_direction_male[_NORTH], trace.x[ix]); } for (iy = [0:1:last.y]) { - half = iy == count.y - 0.5; - if (connector[_WEST]) navigate_edge(size, count, padding, [0, iy], _WEST) mirror([1, 0]) rotate([0, 0, 90]) edge_puzzle(positive, _edge_puzzle_direction_male[_WEST], half); - if (connector[_EAST]) navigate_edge(size, count, padding, [last.x, iy], _EAST) rotate([0, 0, 90]) edge_puzzle(positive, _edge_puzzle_direction_male[_EAST], half); + if (connector[_WEST]) navigate_edge(size, trace, padding, [0, iy], _WEST) mirror([1, 0]) rotate([0, 0, 90]) edge_puzzle(positive, _edge_puzzle_direction_male[_WEST], trace.y[iy]); + if (connector[_EAST]) navigate_edge(size, trace, padding, [last.x, iy], _EAST) rotate([0, 0, 90]) edge_puzzle(positive, _edge_puzzle_direction_male[_EAST], trace.y[iy]); } } @@ -688,10 +686,10 @@ module round_bar_x_neg(size) { * @Details This function operates as if on the south edge: The male side extends into the south direction, the female goes into the north direction. For other orientations, rotate/mirror as needed * @param positive Whether this is the positive pass of the edge puzzle drawing * @param male Whether this side has a male connector - * @param half Whether this edge is half size + * @param size Size of this cell edge in grid units */ -module edge_puzzle(positive, male, half) { - count_here = half ? max(1, floor(edge_puzzle_count/2)) : edge_puzzle_count; +module edge_puzzle(positive, male, size) { + count_here = size < 1 ? max(1, floor(edge_puzzle_count/2)) : edge_puzzle_count; for (i = [0:1:count_here-1]) translate([(-(count_here-1)/2+i)*_edge_puzzle_stagger, 0]) { if (male) { if (positive) { @@ -785,26 +783,29 @@ module chamfer_triangle() { polygon([[-extend, -extend], [1 + extend, -extend], [-extend, 1 + extend]]); } -function compute_segment_size(count, padding) = [ - BASEPLATE_DIMENSIONS.x * count.x + padding[_EAST] + padding[_WEST], - BASEPLATE_DIMENSIONS.y * count.y + padding[_NORTH] + padding[_SOUTH], +function compute_segment_size(trace, padding) = [ + BASEPLATE_DIMENSIONS.x * cumulate(trace.x)[len(trace.x)] + padding[_EAST] + padding[_WEST], + BASEPLATE_DIMENSIONS.y * cumulate(trace.y)[len(trace.y)] + padding[_NORTH] + padding[_SOUTH], ]; +// TODO +function half_to_unit_cell(half) = [half.x ? 0.5 : 1, half.y ? 0.5 : 1]; + /** * @Summary Model a segment, which is piece of the plate without breaks - * @param count The number of cells in this segment, on each axis + * @param trace The cell sizes, in grid units, on each axis * @param padding The padding, for each side * @param connector Whether to add a connector, for each side * @param global_segment_index If applicable, the global index of this segment. This is used to emboss numbering * @param global_cell_index If applicable, the global cell index of this segment. This is used for vertical screws at plate corners * @param global_cell_count If applicable, the global cell count. This is used for vertical screws at plate corners */ -module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, false, false], global_segment_index=undef, global_cell_index=[0, 0], global_cell_count=[0, 0]) { - size = compute_segment_size(count, padding); +module segment(trace=[[1], [1]], padding=[0, 0, 0, 0], connector=[false, false, false, false], global_segment_index=undef, global_cell_index=[0, 0], global_cell_count=[0, 0]) { + size = compute_segment_size(trace, padding); _edge_puzzle_height_male = edge_puzzle_height_female - edge_puzzle_height_male_delta; // whether to cut the male edge puzzle connector to make room for the bin in the next cell. For really short connectors this is not necessary, but there's also no good reason to turn this off, so it's not user configurable at the moment _edge_puzzle_overlap = true; - last = last_cell(count); + last = [len(trace.x)-1, len(trace.y)-1]; difference() { union() { intersection() { @@ -812,7 +813,7 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals // basic plate with rounded corners segment_rectangle(size, connector, include_wall=false); if (connector_intersection_puzzle) { - segment_intersection_connectors(false, count, size, padding, connector); + segment_intersection_connectors(false, trace, size, padding, connector); } } union() { @@ -824,13 +825,13 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals if (padding[_WEST] > 0) translate([-size.x/2, -size.y/2]) cube([padding[_WEST], size.y, _total_height]); } // cells - for (ix = [0:1:last.x]) for (iy = [0:1:last.y]) navigate_cell(size, count, padding, [ix, iy]) { - half = [ix == count.x - 0.5, iy == count.y - 0.5]; + for (ix = [0:1:last.x]) for (iy = [0:1:last.y]) navigate_cell(size, trace, padding, [ix, iy]) { + cell_size = [trace.x[ix], trace.y[iy]]; seq_index = (iy + global_cell_index.y) * ceil(global_cell_count.x) + (ix + global_cell_index.x); cell_style = len(cell_override) <= seq_index ? _CELL_STYLE_NORMAL : cell_override[seq_index]; if (cell_style == _CELL_STYLE_NORMAL) { - cell(half, [ + cell(cell_size, [ connector[_NORTH] && iy == last.y, connector[_EAST] && ix == last.x, connector[_SOUTH] && iy == 0, @@ -838,7 +839,7 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals ]); } else if (cell_style == _CELL_STYLE_EMPTY) { } else if (cell_style == _CELL_STYLE_SOLID) { - dim = [BASEPLATE_DIMENSIONS.x * (half.x ? 0.5 : 1), BASEPLATE_DIMENSIONS.y * (half.y ? 0.5 : 1)]; + dim = [BASEPLATE_DIMENSIONS.x * cell_size.x, BASEPLATE_DIMENSIONS.y * cell_size.y]; translate([-dim.x/2, -dim.y/2, -_extra_height]) cube([dim.x, dim.y, _total_height]); } else { assert(false, str("Unknown cell style: '", cell_style, "'")); @@ -852,29 +853,29 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals segment_rectangle(size, connector, include_wall=false); } - if (connector_intersection_puzzle) translate([0, 0, -_extra_height]) linear_extrude(height = _total_height) segment_intersection_connectors(true, count, size, padding, connector); + if (connector_intersection_puzzle) translate([0, 0, -_extra_height]) linear_extrude(height = _total_height) segment_intersection_connectors(true, trace, size, padding, connector); if (connector_edge_puzzle) { intersection() { - translate([0, 0, -_extra_height]) linear_extrude(height = _extra_height+_edge_puzzle_height_male) segment_edge_connectors(true, count, size, padding, connector); + translate([0, 0, -_extra_height]) linear_extrude(height = _extra_height+_edge_puzzle_height_male) segment_edge_connectors(true, trace, size, padding, connector); if (_edge_puzzle_overlap) union() { for (ix = [0:1:last.x]) { - if (connector[_SOUTH]) navigate_cell(size, count, padding, [ix, -1]) cell([ix == count.x - 0.5, false], positive=false); - if (connector[_NORTH]) navigate_cell(size, count, padding, [ix, last.y+1]) cell([ix == count.x - 0.5, false], positive=false); + if (connector[_SOUTH]) navigate_cell(size, trace, padding, [ix, -1]) cell([trace.x[ix], 1], positive=false); + if (connector[_NORTH]) navigate_cell(size, trace, padding, [ix, last.y+1]) cell([trace.x[ix], 1], positive=false); } for (iy = [0:1:last.y]) { - if (connector[_WEST]) navigate_cell(size, count, padding, [-1, iy]) cell([false, iy == count.y - 0.5], positive=false); - if (connector[_EAST]) navigate_cell(size, count, padding, [last.x+1, iy]) cell([false, iy == count.y - 0.5], positive=false); + if (connector[_WEST]) navigate_cell(size, trace, padding, [-1, iy]) cell([1, trace.y[iy]], positive=false); + if (connector[_EAST]) navigate_cell(size, trace, padding, [last.x+1, iy]) cell([1, trace.y[iy]], positive=false); } } } } } if (connector_edge_puzzle) { - translate([0, 0, -_extra_height]) linear_extrude(height = _extra_height+edge_puzzle_height_female) segment_edge_connectors(false, count, size, padding, connector); + translate([0, 0, -_extra_height]) linear_extrude(height = _extra_height+edge_puzzle_height_female) segment_edge_connectors(false, trace, size, padding, connector); } if (numbering && global_segment_index != undef) { - squeeze = count.x <= 1; - navigate_cell(size, count, padding, [0, 0]) translate([BASEPLATE_DIMENSIONS.x/(count.x == 0.5 ? 4 : 2)-(squeeze?2.95/2:0), -BASEPLATE_DIMENSIONS.y/2+4, -_extra_height]) linear_extrude(number_depth) mirror([0, 1]) rotate([0, 0, 90]) text(str(global_segment_index + 1), size = squeeze ? number_squeeze_size : number_size, halign="right", valign = "center", font = number_font); + squeeze = len(trace.x) <= 1; + navigate_cell(size, trace, padding, [0, 0]) translate([BASEPLATE_DIMENSIONS.x*trace.x[0]/2-(squeeze?2.95/2:0), -BASEPLATE_DIMENSIONS.y/2+4, -_extra_height]) linear_extrude(number_depth) mirror([0, 1]) rotate([0, 0, 90]) text(str(global_segment_index + 1), size = squeeze ? number_squeeze_size : number_size, halign="right", valign = "center", font = number_font); } // extend a bit beyond the segment edges to make sure we cut any overhang extend = 10; @@ -891,15 +892,15 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals is_edge_axis = function (index, bounds, inset=0) (index == inset && index <= ceil(bounds - 0.25) - inset) || (index == ceil(bounds - 0.25) - inset && index >= inset); is_edge = function (index, bounds) is_edge_axis(index.x, bounds.x) || is_edge_axis(index.y, bounds.y); is_corner = function (index, bounds, inset) is_edge_axis(index.x, bounds.x, inset.x) && is_edge_axis(index.y, bounds.y, inset.y); - for (ix = [0:1:last.x+1]) for (iy = [0:1:last.y+1]) navigate_corner(size, count, padding, [ix, iy], _SOUTH, _WEST) { + for (ix = [0:1:last.x+1]) for (iy = [0:1:last.y+1]) navigate_corner(size, trace, padding, [ix, iy], _SOUTH, _WEST) { segment_index = [ix, iy]; if (is_corner(segment_index + global_cell_index, global_cell_count, vertical_screw_plate_corner_inset)) { if (vertical_screw_plate_corners) vertical_screw(); } else if (is_edge(segment_index + global_cell_index, global_cell_count)) { if (vertical_screw_plate_edges) vertical_screw(); - } else if (is_corner(segment_index, count, vertical_screw_segment_corner_inset)) { + } else if (is_corner(segment_index, [len(trace.x), len(trace.y)], vertical_screw_segment_corner_inset)) { if (vertical_screw_segment_corners) vertical_screw(); - } else if (is_edge(segment_index, count)) { + } else if (is_edge(segment_index, [len(trace.x), len(trace.y)])) { if (vertical_screw_segment_edges) vertical_screw(); } else { if (vertical_screw_other) vertical_screw(); @@ -910,74 +911,83 @@ module segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[false, false, fals /** * @Summary Calculate the minimum number of segments required to print this axis - * @param axis_norm The number of cells in this axis, may have 0.5 added to indicate a half cell + * @param trace The cell sizes on this axis * @param bed_norm The bed size, normalized by cell size * @param start_padding_norm The extra padding at the start of the axis, normalized by cell size * @param start_padding_norm The extra padding at the end of the axis, normalized by cell size */ -function segments_per_axis(axis_norm, bed_norm, start_padding_norm, end_padding_norm) = - axis_norm + start_padding_norm + end_padding_norm <= bed_norm ? 1 : +function segments_per_axis(trace, bed_norm, start_padding_norm=0, end_padding_norm=0) = let( - start_count = floor(bed_norm - start_padding_norm), - has_half = (axis_norm%1) != 0, - end_count = min(floor(bed_norm - end_padding_norm - (has_half ? 0.5 : 0)) + (has_half ? 0.5 : 0), axis_norm - start_count), - remaining_count = axis_norm - start_count - end_count - ) ceil(remaining_count / floor(bed_norm)) + 2; + index_assignments = [for (i = 0, segment_i = 0, segment_size = start_padding_norm; i < len(trace); begin_new = segment_size + trace[i] > bed_norm, segment_i = segment_i + (begin_new ? 1 : 0), segment_size = (begin_new ? 0 : segment_size) + trace[i], i = i + 1) [segment_i, segment_size]], + last = index_assignments[len(trace) - 1], + split_last = last[1] + trace[len(trace) - 1] + end_padding_norm > bed_norm + ) last[0] + (split_last ? 2 : 1); /** * @Summary Calculate an ideal axis plan. * @Details An ideal axis plan uses the fewest possible segments, and keeps segments roughly the same size. - * @param axis_norm The number of cells in this axis, may have 0.5 added to indicate a half cell + * @param trace The cell sizes on this axis * @param bed_norm The bed size, normalized by cell size * @param start_padding_norm The extra padding at the start of the axis, normalized by cell size * @param start_padding_norm The extra padding at the end of the axis, normalized by cell size * @return A vector containing the number of cells in each planned segment */ -function plan_axis_ideal(axis_norm, bed_norm, start_padding_norm, end_padding_norm) = +function plan_axis_ideal(trace, bed_norm, start_padding_norm=0, end_padding_norm=0) = let( - total_size = axis_norm + start_padding_norm + end_padding_norm, - segment_count = segments_per_axis(axis_norm, bed_norm, start_padding_norm, end_padding_norm), - ) [for (i = [0:segment_count - 1]) let( - ideal_start = total_size * i / segment_count, - ideal_end = total_size * (i + 1) / segment_count, - count = (i == segment_count - 1 ? axis_norm : round(ideal_end - start_padding_norm)) - round(ideal_start - start_padding_norm) - ) count]; + cumulated = cumulate(trace), + total_size = cumulated[len(trace)] + start_padding_norm + end_padding_norm, + segment_count = segments_per_axis(trace, bed_norm, start_padding_norm, end_padding_norm), + avg_segment_size = total_size / segment_count, + // compute which segment each cell is assigned to + assignments = [for (i = [0:len(trace) - 1]) let ( + center = cumulated[i] + trace[i] / 2 + start_padding_norm, + norm_ix = center / avg_segment_size + ) (norm_ix % 1) == 0 ? norm_ix - 1 : floor(norm_ix)] + ) [for (i = [0:segment_count - 1]) len(search(i, assignments, num_returns_per_match=0))]; /** * @Summary Calculate an incremental axis plan. * @Details An incremental axis plan uses the maximum number of cells for each segment, and then sizes the final segment to contain the remaining cells. - * @param axis_norm The number of cells in this axis, may have 0.5 added to indicate a half cell + * @param trace The cell sizes on this axis * @param bed_norm The bed size, normalized by cell size * @param start_padding_norm The extra padding at the start of the axis, normalized by cell size * @param start_padding_norm The extra padding at the end of the axis, normalized by cell size * @param force_first If set, forcibly change the size of the first segment * @return A vector in the format: [start, mid, end], where the start is the size of the first segment, end the size of the last segment, and mid the size of all other segments */ -function plan_axis_incremental_vars(axis_norm, bed_norm, start_padding_norm, end_padding_norm, force_first=undef) = - assert(axis_norm > 0) +function plan_axis_incremental_vars(trace, bed_norm, start_padding_norm, end_padding_norm, force_first=undef) = assert(bed_norm > 1) assert(start_padding_norm != undef) assert(end_padding_norm != undef) - axis_norm + start_padding_norm + end_padding_norm <= bed_norm ? [axis_norm, -1, -1] : + let ( + cumulated = cumulate(trace) + ) + cumulated[len(trace)] + start_padding_norm + end_padding_norm <= bed_norm ? [len(trace), -1, -1] : let( + // size of middle segments + mid = floor(bed_norm), + + // for a given first segment size, compute the last segment size + compute_end = function (first) let(e = (cumulated[len(trace)] - first) % mid) e == 0 ? mid : e, + // make a preliminary first segement first_p = force_first == undef ? floor(bed_norm - start_padding_norm) : force_first, - mid = floor(bed_norm), // make a preliminary end segment - end_p = (axis_norm - first_p - 0.25) % mid + 0.25, + end_p = compute_end(first_p), // is the end segment too small, i.e. a single half-cell, or too big? shift = end_p < 1 || (end_p + end_padding_norm) > bed_norm, // if the end segment was too small, shrink the first segment a bit to give the end segment a better size first = shift ? first_p - 1 : first_p, // recalculate end segment size - end = (axis_norm - first - 0.25) % mid + 0.25 + end = compute_end(first) ) [first, mid, end]; /** * @Summary Transform a short plan from plan_axis_incremental_vars into a full plan as returned by plan_axis_ideal * @return A vector containing the number of cells in each planned segment */ -function vars_to_incremental(axis_norm, vars) = let( +function vars_to_incremental(trace, vars) = let( + axis_norm = len(trace), first = vars[0], mid = vars[1], end = vars[2] @@ -1014,25 +1024,24 @@ function least_index(vec, start=0) = * @param force_first If set, forcibly change the size of the first segment * @return A vector of exactly two axis plans, each a vector containing the number of cells in each planned segment */ -function plan_axis_staggered(axis_norm, bed_norm, start_padding_norm=0, end_padding_norm=0) = - assert(axis_norm > 0) +function plan_axis_staggered(trace, bed_norm, start_padding_norm=0, end_padding_norm=0) = assert(bed_norm > 1) assert(start_padding_norm != undef) assert(end_padding_norm != undef) let ( // lambda: call plan_axis_incremental_vars with a specific shift - plan_vars = function(force_first) plan_axis_incremental_vars(axis_norm, bed_norm, start_padding_norm, end_padding_norm, force_first), + plan_vars = function(force_first) plan_axis_incremental_vars(trace, bed_norm, start_padding_norm, end_padding_norm, force_first), // lambda: calculate the number of segments for a given set of plan_axis_incremental_vars - plan_size = function(vars) vars[1] == -1 ? 1 : (axis_norm - vars[0] - vars[2]) / vars[1] + 2, + plan_size = function(vars) vars[1] == -1 ? 1 : (len(trace) - vars[0] - vars[2]) / vars[1] + 2, // make a simple plan for the first column plan_a1 = plan_vars(y_row_count_first[0] <= 0 ? undef : y_row_count_first[0]), // if the last segment in the column is small, give that segment one more cell plan_a2 = plan_a1[1] == -1 || plan_a1[2] >= 2 || plan_a1[0] <= 2 ? plan_a1 : plan_vars(plan_a1[0] - 1) ) // manual override - y_row_count_first[1] > 0 ? [vars_to_incremental(axis_norm, plan_a1), vars_to_incremental(axis_norm, plan_vars(y_row_count_first[1]))] : + y_row_count_first[1] > 0 ? [vars_to_incremental(trace, plan_a1), vars_to_incremental(trace, plan_vars(y_row_count_first[1]))] : // shortcut: if we don't need to split at all, or we can't change the split, we don't need to worry about staggering - plan_a1[1] <= 1 ? [vars_to_incremental(axis_norm, plan_a1), vars_to_incremental(axis_norm, plan_a1)] : + plan_a1[1] <= 1 ? [vars_to_incremental(trace, plan_a1), vars_to_incremental(trace, plan_a1)] : let( // now, we determine the optimal shift of the second column. // first, plan with a minimum shift as a baseline. @@ -1049,7 +1058,7 @@ function plan_axis_staggered(axis_norm, bed_norm, start_padding_norm=0, end_padd ) score_plan_b(plan_a2, plan)], // pick the shift with the best score shift = least_index(plan_b_shift) + 1 - ) [vars_to_incremental(axis_norm, plan_a2), vars_to_incremental(axis_norm, plan_vars(plan_a2[0] - shift))]; + ) [vars_to_incremental(trace, plan_a2), vars_to_incremental(trace, plan_vars(plan_a2[0] - shift))]; /** * @Summary Calculate the sum of a vector's elements, up to the until index (exclusive) @@ -1057,14 +1066,21 @@ function plan_axis_staggered(axis_norm, bed_norm, start_padding_norm=0, end_padd function sum_sub_vector(vector, until) = [for (i = 0, sum = 0; i <= until; sum = (i == until ? undef : sum + vector[i]), i = i + 1) sum][until]; +function slice(vector, start, length) = [for (i = [0:len(vector)]) each (i >= start && i < start + length) ? [vector[i]] : []]; + module main() { plate_count = [ floor(plate_size.x / BASEPLATE_DIMENSIONS.x * (do_half.x ? 2 : 1)) / (do_half.x ? 2 : 1), floor(plate_size.y / BASEPLATE_DIMENSIONS.y * (do_half.y ? 2 : 1)) / (do_half.y ? 2 : 1) ]; + global_trace = [ + [for (i = [0:plate_count.x-0.5]) i == plate_count.x - 0.5 ? 0.5 : 1], + [for (i = [0:plate_count.y-0.5]) i == plate_count.y - 0.5 ? 0.5 : 1] + ]; + global_trace_cumulated = [cumulate(global_trace.x), cumulate(global_trace.y)]; plate_padding_sum = [ - plate_size.x - plate_count.x * BASEPLATE_DIMENSIONS.x, - plate_size.y - plate_count.y * BASEPLATE_DIMENSIONS.y + plate_size.x - global_trace_cumulated.x[len(global_trace.x)] * BASEPLATE_DIMENSIONS.x, + plate_size.y - global_trace_cumulated.y[len(global_trace.y)] * BASEPLATE_DIMENSIONS.y ]; plate_padding = [ plate_padding_sum.y * (1 - alignment.y), // NORTH @@ -1088,28 +1104,41 @@ module main() { ]; // for the x axis, we only need a single plan, so we can use the ideal algorithm. plan_x = x_segment_algorithm == _SEGMENT_ALGORITHM_IDEAL ? - plan_axis_ideal(axis_norm=plate_count.x, bed_norm=bed_norm.x, start_padding_norm=start_padding_norm.x, end_padding_norm=end_padding_norm.x) : - vars_to_incremental(plate_count.x, plan_axis_incremental_vars(axis_norm=plate_count.x, bed_norm=bed_norm.x, start_padding_norm=start_padding_norm.x, end_padding_norm=end_padding_norm.x, force_first=x_column_count_first == 0 ? undef : x_column_count_first)); + plan_axis_ideal(global_trace.x, bed_norm=bed_norm.x, start_padding_norm=start_padding_norm.x, end_padding_norm=end_padding_norm.x) : + vars_to_incremental(global_trace.x, plan_axis_incremental_vars(global_trace.x, bed_norm=bed_norm.x, start_padding_norm=start_padding_norm.x, end_padding_norm=end_padding_norm.x, force_first=x_column_count_first == 0 ? undef : x_column_count_first)); // for the y axis, we need to avoid 4-way gap intersections, so we need two plans. - plans_y = plan_axis_staggered(axis_norm=plate_count.y, bed_norm=bed_norm.y, start_padding_norm=start_padding_norm.y, end_padding_norm=end_padding_norm.y); + plans_y = plan_axis_staggered(global_trace.y, bed_norm=bed_norm.y, start_padding_norm=start_padding_norm.y, end_padding_norm=end_padding_norm.y); + plan_x_cumulate = cumulate(plan_x); for (segix = [0:len(plan_x) - 1]) { plan_y = plans_y[segix % 2]; + plan_y_cumulate = cumulate(plan_y); + // Compute size of full plate model including segment gaps. We need to do this inside the loop because it changes depending on plan_y + all_size = [ + plate_padding[_WEST] + plate_padding[_EAST] + global_trace_cumulated.x[len(global_trace.x)] * BASEPLATE_DIMENSIONS.x + (len(plan_x) - 1) * _segment_gap, + plate_padding[_SOUTH] + plate_padding[_NORTH] + global_trace_cumulated.y[len(global_trace.y)] * BASEPLATE_DIMENSIONS.y + (len(plan_y) - 1) * _segment_gap + ]; for (segiy = [0:len(plan_y) - 1]) { - // Compute size of full plate model including segment gaps. We need to do this inside the loop because it changes depending on plan_y - all_size = [ - plate_padding[_WEST] + plate_padding[_EAST] + sum_sub_vector(plan_x, len(plan_x)) * BASEPLATE_DIMENSIONS.x + (len(plan_x) - 1) * _segment_gap, - plate_padding[_SOUTH] + plate_padding[_NORTH] + sum_sub_vector(plan_y, len(plan_y)) * BASEPLATE_DIMENSIONS.y + (len(plan_y) - 1) * _segment_gap - ]; segment_padding = [ segiy == len(plan_y) - 1 ? plate_padding[_NORTH] : 0, segix == len(plan_x) - 1 ? plate_padding[_EAST] : 0, segiy == 0 ? plate_padding[_SOUTH] : 0, segix == 0 ? plate_padding[_WEST] : 0, ]; + cells_cumulated_before = [ + global_trace_cumulated.x[plan_x_cumulate[segix]], + global_trace_cumulated.y[plan_y_cumulate[segiy]] + ]; + cells_cumulated_after = [ + global_trace_cumulated.x[plan_x_cumulate[segix+1]], + global_trace_cumulated.y[plan_y_cumulate[segiy+1]] + ]; translate([ - -all_size.x/2 + (sum_sub_vector(plan_x, segix) + plan_x[segix]/2) * BASEPLATE_DIMENSIONS.x + (segix != 0 ? plate_padding[_WEST] : 0) + (segment_padding[_WEST] + segment_padding[_EAST]) / 2 + segix * _segment_gap, - -all_size.y/2 + (sum_sub_vector(plan_y, segiy) + plan_y[segiy]/2) * BASEPLATE_DIMENSIONS.y + (segiy != 0 ? plate_padding[_SOUTH] : 0) + (segment_padding[_NORTH] + segment_padding[_SOUTH]) / 2 + segiy * _segment_gap - ]) segment(count=[plan_x[segix], plan_y[segiy]], padding=segment_padding, connector=[ + -all_size.x/2 + (cells_cumulated_after.x+cells_cumulated_before.x)/2 * BASEPLATE_DIMENSIONS.x + (segix != 0 ? plate_padding[_WEST] : 0) + (segment_padding[_WEST] + segment_padding[_EAST]) / 2 + segix * _segment_gap, + -all_size.y/2 + (cells_cumulated_after.y+cells_cumulated_before.y)/2 * BASEPLATE_DIMENSIONS.y + (segiy != 0 ? plate_padding[_SOUTH] : 0) + (segment_padding[_NORTH] + segment_padding[_SOUTH]) / 2 + segiy * _segment_gap + ]) segment(trace=[ + slice(global_trace.x, plan_x_cumulate[segix], plan_x[segix]), + slice(global_trace.y, plan_y_cumulate[segiy], plan_y[segiy]) + ], padding=segment_padding, connector=[ segiy != len(plan_y) - 1, segix != len(plan_x) - 1, segiy != 0, @@ -1122,34 +1151,34 @@ module main() { } module test_pattern_padding() { - translate([30, 30]) segment(count = [1, 1], padding=[5, 0, 0, 0], connector = [false, true, false, true]); - translate([-30, 30]) segment(count = [1, 1], padding=[0, 5, 0, 0], connector = [true, false, true, false]); - translate([30, -30]) segment(count = [1, 1], padding=[0, 0, 5, 0], connector = [false, true, false, true]); - translate([-30, -30]) segment(count = [1, 1], padding=[0, 0, 0, 5], connector = [true, false, true, false]); + translate([30, 30]) segment(trace = [[1], [1]], padding=[5, 0, 0, 0], connector = [false, true, false, true]); + translate([-30, 30]) segment(trace = [[1], [1]], padding=[0, 5, 0, 0], connector = [true, false, true, false]); + translate([30, -30]) segment(trace = [[1], [1]], padding=[0, 0, 5, 0], connector = [false, true, false, true]); + translate([-30, -30]) segment(trace = [[1], [1]], padding=[0, 0, 0, 5], connector = [true, false, true, false]); } module test_pattern_half() { - segment(count = [1.5, 1.5], connector = [true, true, true, true]); + segment(trace = [[1, 0.5], [1, 0.5]], connector = [true, true, true, true]); } module test_pattern_numbering() { - translate([0, 30]) segment(count = [2, 1], connector = [true, true, true, true], global_segment_index = 11); - translate([30, -30]) segment(count = [0.5, 1], connector = [true, true, true, true], global_segment_index = 12); - translate([-30, -30]) segment(count = [1, 1], connector = [true, true, true, true], global_segment_index = 12); + translate([0, 30]) segment(trace = [[1, 1], [1]], connector = [true, true, true, true], global_segment_index = 11); + translate([30, -30]) segment(trace = [[0.5], [1]], connector = [true, true, true, true], global_segment_index = 12); + translate([-30, -30]) segment(trace = [[1], [1]], connector = [true, true, true, true], global_segment_index = 12); } module test_pattern_wall() { - segment(count = [2, 2], connector=[false, false, false, false], padding=[5, 5, 5, 5]); + segment(trace = [[1, 1], [1, 1]], connector=[false, false, false, false], padding=[5, 5, 5, 5]); } module test_pattern_click() { - count = [1, 3]; + trace = [[1], [1, 1, 1]]; // this should give similar wall strength as a neighbouring cell padding = [12, click1_wall_strength, click1_wall_strength, click1_wall_strength]; - segment(count = count, connector=[false, false, false, false], padding=padding); + segment(trace = trace, connector=[false, false, false, false], padding=padding); format_small = function (d) d < 1 ? str(".", d*10) : (d % 1) == 0 ? str(d) : str(d * 10); txt = click1 ? str(format_small(click1_distance), "|", format_small(click1_steepness), "|", format_small(click1_height), "|", format_small(click1_strength), "|", format_small(click1_wall_strength)) : "off"; - navigate_edge(size = compute_segment_size(count, padding), count = count, padding = padding, index = [0, 2], dir = _NORTH) + navigate_edge(size = compute_segment_size(trace, padding), trace = trace, padding = padding, index = [0, 2], dir = _NORTH) translate([0, padding[_NORTH]/2, _profile_height]) linear_extrude(0.5) scale([0.7, 1]) text(txt, halign="center", valign="center", size=8); diff --git a/justfile b/justfile index a1f7afa..5c7e010 100644 --- a/justfile +++ b/justfile @@ -42,7 +42,7 @@ docs: for line in open("README.md"): match = openscad_pattern.match(line) if match: - cmd = ["openscad", "--projection=ortho", "--colorscheme=Starnight", "--render", "--imgsize=2500,1000", *shlex.split(match.group(1))] + cmd = ["openscad", "--hardwarnings", "--projection=ortho", "--colorscheme=Starnight", "--render", "--imgsize=2500,1000", *shlex.split(match.group(1))] # use gridflock.scad if no other file specified for c in cmd: if ".scad" in c: diff --git a/mag_insert_jig.scad b/mag_insert_jig.scad index cfd4748..e23bf23 100644 --- a/mag_insert_jig.scad +++ b/mag_insert_jig.scad @@ -107,7 +107,7 @@ module jig_bin_tool() { * @Details The baseplate segment we are testing compatibility with */ module jig_baseplate_rig() { - segment(count=[1, 1], padding=[0, 0, 0, 0], connector=[true, true, true, true]); + segment(trace=[[1], [1]], padding=[0, 0, 0, 0], connector=[true, true, true, true]); } /** diff --git a/test.scad b/test.scad index cbd3c9c..0f134cd 100644 --- a/test.scad +++ b/test.scad @@ -8,23 +8,45 @@ module assert_eq(expected, actual) { } } -assert_eq([[1], [1]], plan_axis_staggered(1, 5)); -assert_eq([[2], [2]], plan_axis_staggered(2, 5)); -assert_eq([[3], [3]], plan_axis_staggered(3, 5)); -assert_eq([[4], [4]], plan_axis_staggered(4, 5)); -assert_eq([[5], [5]], plan_axis_staggered(5, 5)); -assert_eq([[4, 2], [2, 4]], plan_axis_staggered(6, 5)); -assert_eq([[5, 2], [2, 5]], plan_axis_staggered(7, 5)); -assert_eq([[5, 3], [3, 5]], plan_axis_staggered(8, 5)); -assert_eq([[5, 4], [4, 5]], plan_axis_staggered(9, 5)); -assert_eq([[5, 5], [2, 5, 3]], plan_axis_staggered(10, 5)); -assert_eq([[4, 5, 2], [2, 5, 4]], plan_axis_staggered(11, 5)); -assert_eq([[5, 5], [2, 6, 2]], plan_axis_staggered(axis_norm=10, bed_norm=6.0119, start_padding_norm=0.357143, end_padding_norm=0.357143)); -assert_eq([5, 6, 5], plan_axis_incremental_vars(axis_norm=10, bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2)); -assert_eq([3, 6, 1], plan_axis_incremental_vars(axis_norm=10, bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=4)); -assert_eq([3, 6, 1], plan_axis_incremental_vars(axis_norm=10, bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=3)); -assert_eq([2, 6, 2], plan_axis_incremental_vars(axis_norm=10, bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=2)); -assert_eq([1, 6, 3], plan_axis_incremental_vars(axis_norm=10, bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=1)); +assert_eq([0, 1, 2], cumulate([1, 1])); +assert_eq([0, 0.5, 1.5], cumulate([0.5, 1])); + +assert_eq(1, segments_per_axis([1], 3)); +assert_eq(1, segments_per_axis([1, 1, 1], 3)); +assert_eq(2, segments_per_axis([1, 1, 1, 1], 3)); +assert_eq(2, segments_per_axis([1, 1, 1.2], 3)); +assert_eq(2, segments_per_axis([1, 1, 1], 3, start_padding_norm=0.1)); +assert_eq(2, segments_per_axis([1, 1, 1], 3, end_padding_norm=0.1)); +assert_eq(3, segments_per_axis([1, 1, 1, 1, 1, 1, 1], 3)); +assert_eq(3, segments_per_axis([1, 1, 1, 1, 1, 1.2], 3)); +assert_eq(3, segments_per_axis([1, 1, 1, 1, 1, 1], 3, start_padding_norm=0.1)); +assert_eq(3, segments_per_axis([1, 1, 1, 1, 1, 1], 3, end_padding_norm=0.1)); + +assert_eq([1], plan_axis_ideal([1], 3)); +assert_eq([3], plan_axis_ideal([1, 1, 1], 3)); +assert_eq([2, 2], plan_axis_ideal([1, 1, 1, 1], 3)); +assert_eq([3, 2], plan_axis_ideal([1, 1, 1, 1, 1], 3)); + +function singles(n) = [for (i = [1:n]) 1]; + +assert_eq([[1], [1]], plan_axis_staggered(singles(1), 5)); +assert_eq([[2], [2]], plan_axis_staggered(singles(2), 5)); +assert_eq([[3], [3]], plan_axis_staggered(singles(3), 5)); +assert_eq([[4], [4]], plan_axis_staggered(singles(4), 5)); +assert_eq([[5], [5]], plan_axis_staggered(singles(5), 5)); +assert_eq([[4, 2], [2, 4]], plan_axis_staggered(singles(6), 5)); +assert_eq([[5, 2], [2, 5]], plan_axis_staggered(singles(7), 5)); +assert_eq([[5, 3], [3, 5]], plan_axis_staggered(singles(8), 5)); +assert_eq([[5, 4], [4, 5]], plan_axis_staggered(singles(9), 5)); +assert_eq([[5, 5], [2, 5, 3]], plan_axis_staggered(singles(10), 5)); +assert_eq([[4, 5, 2], [2, 5, 4]], plan_axis_staggered(singles(11), 5)); +assert_eq([[5, 5], [2, 6, 2]], plan_axis_staggered(singles(10), bed_norm=6.0119, start_padding_norm=0.357143, end_padding_norm=0.357143)); + +assert_eq([5, 6, 5], plan_axis_incremental_vars(trace=singles(10), bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2)); +assert_eq([3, 6, 1], plan_axis_incremental_vars(trace=singles(10), bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=4)); +assert_eq([3, 6, 1], plan_axis_incremental_vars(trace=singles(10), bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=3)); +assert_eq([2, 6, 2], plan_axis_incremental_vars(trace=singles(10), bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=2)); +assert_eq([1, 6, 3], plan_axis_incremental_vars(trace=singles(10), bed_norm=6.1, start_padding_norm=0.2, end_padding_norm=0.2, force_first=1)); assert_eq([[0, 1], [0, 0], [1, 0], [1, 1]], clip_polygon_max([[0, 0], [2, 0], [0, 2]], [1, 1])); assert_eq([[1, 1], [0, 1], [0, 0], [1, 0]], clip_polygon_max([[0, 2], [0, 0], [2, 0]], [1, 1])); From 5be3752c733865c69691474ccd098355b7d148c2 Mon Sep 17 00:00:00 2001 From: Jonas Konrad Date: Sat, 21 Feb 2026 11:20:19 +0100 Subject: [PATCH 2/2] Implement advanced filler settings --- README.md | 52 +++++++++++++--- docs/images/filler-dynamic-expand-always.png | Bin 0 -> 40271 bytes docs/images/filler-dynamic-expand.png | Bin 0 -> 36058 bytes docs/images/filler-dynamic.png | Bin 0 -> 34036 bytes docs/images/filler-half.png | Bin 0 -> 35653 bytes docs/images/filler-none.png | Bin 0 -> 28563 bytes docs/images/filler-third.png | Bin 0 -> 41549 bytes docs/images/half.png | Bin 64358 -> 0 bytes docs/images/halfx.png | Bin 55999 -> 0 bytes editor.toml | 16 +++-- gridflock.scad | 59 ++++++++++++------- test.scad | 18 ++++++ 12 files changed, 111 insertions(+), 34 deletions(-) create mode 100644 docs/images/filler-dynamic-expand-always.png create mode 100644 docs/images/filler-dynamic-expand.png create mode 100644 docs/images/filler-dynamic.png create mode 100644 docs/images/filler-half.png create mode 100644 docs/images/filler-none.png create mode 100644 docs/images/filler-third.png delete mode 100644 docs/images/half.png delete mode 100644 docs/images/halfx.png diff --git a/README.md b/README.md index efd4cdd..84e3f39 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,10 @@ For inserting magnets, check out [the jig](#jig). - [Latch Wall Strength](#latch-wall-strength) - [Height](#height) - [Steepness](#steepness) - - [Half-sized cells](#half-sized-cells) + - [Filler](#filler) + - [None](#none) + - [Integer Fraction](#integer-fraction) + - [Dynamic](#dynamic) - [Corner radius](#corner-radius) - [Alignment](#alignment) - [Custom cell size](#custom-cell-size) @@ -310,17 +313,50 @@ Steepness 5: Click latch with click1_steepness=5 -## Half-sized cells +## Filler -By default, if there isn't enough room for a full cell on the plate, GridFlock will attempt to fill up remaining space with half-sized cells. +If the baseplate is not a multiple of 42mm, there's some room that can't be used for a full-sized cell. There are different options for what to do with this space. - -Half cell +The filler algorithm can be configured with the `filler_x` and `filler_y` properties. -You can turn off this behavior with the `do_half_x` and `do_half_y` options. +### None - -Half cell, x only +In `None` mode, the remaining space is simply filled with padding. + + +No filler + +### Integer Fraction + +In `Integer Fraction` mode, the remaining space is filled with reduced-size cells that are an integer fraction of the standard cell size. This is the default, configured to use half-size cells. + + +Half-cell filler + +> [!NOTE] +> The old `do_half_x` and `do_half_y` options have been removed. + +You can change the fraction using the `filler_fraction` option, for example the value "3" for one-third size cells: + + +Third-cell filler + +### Dynamic + +In `Dynamic` mode, the remaining space is used up completely by a flexibly size cell. + + +Dynamic filler + +Note that there is a minimum size of the dynamic filler cell, configured by `filler_minimum_size`. This ensures that the filler does not become so small that the geometry breaks. If the cell is too small, it will be added to the last cell instead, creating a cell that is slightly bigger than 42mm: + + +Dynamic filler expanded + +If you wish to only create larger cells, not smaller cells, you can set the minimum size to 42: + + +Dynamic filler always expanded ## Corner radius diff --git a/docs/images/filler-dynamic-expand-always.png b/docs/images/filler-dynamic-expand-always.png new file mode 100644 index 0000000000000000000000000000000000000000..67822d598ce5e78f0aaf9c159ec0a5fc13544609 GIT binary patch literal 40271 zcmd?Rc|4T+`#*k5>#0a}qHL)nsZjQ;Z74!1S+bRooiKK$jTTE0vW?1?tP#W5Mk>iN zS;uZ9h6ZCFjOF{f@4=~eea`>C$M62$;xT^Lbs@>%M0^yr7}7^{+jDK@ha{ z+}Sf)5VYw71Thb6TmydM!a8FKL9x5eojG~gjcKUt7!&y6`@Qt!Y2)=K;Gh3Lz8p~l zq&!ECjW1rWn|X11@6(Uf$L<$E+Aml-SPIXrdu%xLG|82z!t^7R`;Lj)=Y)|he=wxO_-$7kSXNZz zy|mzJsA8eI+t#{xV#maM<}tR`IA&zM8#@`S*B(7Tm0F!SOVfu_;$M*z`twUg^@2 zs@PD9Ok4OZCvD2WH#rO6JBs_VHzUi@L{YO1(7C*HF@x~BFc)rHwSs~-F3ygaoYIfB zY^@ASC!*jzoZG_<9k|k6{McIckhOTRm>g!b0M0;zm$#Lzf~fDy^VD!X@+-OeiYEB{7?_nrHwz?~qO@y;5`KySOhEu`qVz6Pu4m#@7>@sdv41K8f* zRVyzLukfvWC>vC&F)nwPRAd}BdF3{GiMGuUnsHO~T_ksxl)iK05LT~nbP`vOj_(|) z7jt4MiawfnMhbBOGO9bn4k^?V;_9{Iq4g>n7CeM!huz7~ zU05V`XLy?Fb=wE|_0)fIOd~hED=@>hbM<*q>9cLCmW(S-J2R1zrs>_Kg(LM}N=n7K z{c7r@?Shh0FjQ3Z)mtT$1+S|s0iX$FJ{;sAOJ8uWcZq1GE%e{ykW}f-KOU9jQPOT} zS2^oLE05HA#fi9yH%@;j40U|=;q62d%rS?r3D)HzzaZI|F~dVEr-yCtMDB)0U^7MSKE6bvykfFrQBC}<5^JX})1NIeOVq7H)7(8&t3qyd z892x#Wjwa4WS1aJ6+Ig;N6a`dvw~Y(-8|-KDz%wuL%5oYFgPzU!KU(Y@V-qGI@S|m z&sKKLXaKodY;0(tb_1J1!fV-Uoa9CLak~*~jq>nsKQ~npL|I6(`rru-X+V49@a3Q0PD@?#A z!`#fkW~A6IIZ(%*<3`qVW8xa5m5tXL*#B&p6GmFf(`$ag)9_NeU4}vUvxz2xB9~UT z3h(xP)lU3J_;HL%Q3g90r%!Cmi*7JGcbuqFVfq7i*l2P*#E)<8orCLy0YUAd9imQr zEF3h}-7D=LC8`bORF$0&6Yp6bAw~$xdN!bs1l(Z+Nbh#HqN1h_my}mLcN;dR>LZ;{ z609KPb?Rqpan>MsY95G%62H1Lw&YtM|JHK%nfaJc$L2;yU8BjWx~k4Xi1Drjm}6yw z&!Qe1Q-JyO;BfvvuaAW+{*AP{4SpiFKS3Z3OU$h%n0IOMW|Uf0+jPA+*`v!PEQ@-$ z=ji44j%oKAoH0Wv`(fr7!DR;EX-xp#t|4dDnrW#*;FtZxt8%`n1@{>QjK4_q$bX$d z+rI?P81%w7TfjFXLFkP49&<6AOhF(1iHG=zaac(M6~U@4;t_f8hC!uJZE>0U=0MJB#Q3*%@OPL>u~8Z~Y{EyFk&(?cI~pAX@Lq zzag5$PZ>Q16GS#fqjXV{lXo0O{X3AF0&6hvCbM)5&X#WonJgYu$Ij%H;GRJSbqMKA zGrDjDof^rFUe#DHz<|;PQ>R4|C)3FFpYmjv1l;L(4|3W@UUh{~j=*>ht!cMU0xP#iLKCxkzQ;aCyQ+>C8w%S}4?!EtxJ{)snV z?)8o}-4HE^I-h*E&j#gE?xmnByo*;sWOQwli!%}$I(jEiLSas4(mvV+d&!g|@l{Mk z$rRCRhAKpO&VyPGgM7GJ6{;(Z6m;2W=^1S$QZ8%jluOyyyUCrsk}4kA;apG5Y_Qqo z-G_fUfb%jUGAagIAo&5nBX?Nx?*bLioO5RG5(b%Iw?PGW^&5h@NLm6P``1V2I zo$)7B^rH^ulGcRm`F$4i3p5`E1)d^jvst^hd4Y3&=(|lWvqc&4jE)steGmsd$ua1v zA@5XD5UEN%r){YIskiKwXaVk;jJoeqah#^cdJ%5k?sr8QO}@Fqodyc{4J&YwdiE%> zL$|`KWa+P8eZFTFxheIBl_(Eucxa``#GqxV-0|H*atbAuk?E7i+NNtucA=wJmhSBW z8;@f8#)A~I4vJpWGk^bP&yfmvI`K~zJ{R+qmhqj zvw{9Qp4Wc4h?WH>NpbWOjDLqn>7q<*tdeoHXVifmdA80%q-`#S2hu2v5{8e^0##t- zBS43Sq17A+>)WdbGGNxV*y&ow?x3a~N@$nF?RId$3C9s#oW^$d8)8MJTl8R-kQn(^-mixvq~V`cFP_z1W9?wpkRaf0R{R0|ziU@9vz=T>mGN73siak!e8@Rm={X z;zo8g$$7Z=7Y6+&yK*eR-@R=h16aj%rSl=plz~&4+6_0}=LKf0<9d}*b)30;<~f(o*zVyE1VN%SEEu zdt4A>Y~;NHD8*8xsc6VUo;aDWyCqyZEb0L6;BjJSL|&lXdajtCVp^{ZciHf&tV_Jy ziJiiR1_rg1DFuV{>GE0k(utw8I89AjxsGvStIg=`iCL2Z#9C&Z__b~*?uBhUC#0#o zECJF(Sa*xL2FjR)frG=S!EfJg8D-LXta5p43G`SC3wlqSZNnhxw0VvXhOj|IXxD;) zHa3GO{?wQSTc20A6)g~-0Sto6VdfF2lcqUF-L&29k~<{TC)rQdy3qJNcQ7fa5c?)@ zLCB1N?}1B8a7C()rRYQ9u`BKU6G;#4lr^SH3|x^rS24lIivvQ>TNeb#(d#a@4cCAC z*jHpkEpM_?jEOVmF)qf*X&ksKrIEZK7roUeia>XNJ3xN(S3W*zle8ev`Y&;wj2CBUX)_J)+#Bn4pt7Io{{P6HH$Stt1U2o-D}4(I&3f z5w!nye;b!(`HItl6VdEDyT!ODf@}AdJ9Pu?1D{}jyiUUGJn1pEPg{F2vFVWdfx3ke z!(WlLGo4(bU!&EOR&*|zO$U?&W^4j0@tqt>>}UadhC@Cr%eVk^i_U6Gv>fN5O{^fp z@aHXWhFAYftEhqX9m?&>QV>r_^wOKI1y@gNT8)bLXt3fUmDhKEx3@d6U9(tj#GRJ! z_|BRu^NzCkt0(&O$j8!;yJmN3>}7x9eRE@DTkCp@UZvfq?pE$AYoo8NU3cTDoAzz$ zzO>DwTgs1~Uq2VBP!%UPeN{e0xjuDpacNi74=k<_^MgGJf@VURSfI%+=Qjl&+Ue`n zO&4b^j^`H~v+vG$N^6vi}6_7lP=%iODra8tbf=N zad`(5NpVQ~?Tl@Qe>%o0iuOKrs9<{eNSF1@as%X`>O;4kmF4)HLnN9@8w6%%1UR)h z%JQv!IZ%u`a#qWmEqdb%`$yk;jXiU@#7D|ajhe-&A91;4fB~FOXdvReECk7G^Aqju zYfQ5Cz`ppB-G$r{gVLY^7LhKLb#ZFUI_1sSR?k0oUz(#VeLp%q|NI!@ zFocmw<%R~ZgO{DA-slHYJS0A6yEq=z4W96l=V8%dCO3bq`|P!}fMUAd*x{q-o*4^q zZayi?^i?sA7iE0#QQn4j3q|gTz({NA1@qwo6a!22jxabS*GERqPY)`V52x?ma-|pc zICX3)cQ;GK-PFUq9k)iySqsy&!*9te4`+Tg*bv3$FI&y znrFn$sHsmFvDgrD;~7W7gE;_W9tOsq5iZ_T(W>U&G86gQi6#?igRMSugJ*A>%Ke~~ z-J!K@%6hx)-3~~z+m|4H@#2tZE~$f<`>8tDwNTcYkh`CO0heYHH-tZjD->%@USh>! z&5!B^+S{GSh-@Gd`wJpjU+cu#?C&$n`{{AR@X>)CEX6y5U={(jdpp%UZFM~s1Oy47zmVSUS z4Zj=BIWd=u%JzSjcp>1T>=oBv6vGuFVF418Ed3(MU1X>YV@*b;V5sF8tl}m_#hry| zl)UI18+o2B)f8e>B`cru@LKuaV$>R&{cDHU;@^IEzxC!ID)N?Hc^Ib{v1|Tq>(UbO zR__vBk@jfXK$acx4Icpqnu!GZqsz=t(ZM%7eSPWTo89#1*BdpyD#9fH1lItr6PT*0 zS7#OK;Y{>DmNL&MUMhZ@qj)8LnwoPo@?DM3&{;hzdq&8U`XDdpJeZNZm5gS##42k!@5rr=JrXl4G56)aGg;(AgiaT?`s#Oht{NoO1Wq;s>_fzoZB5h zHRfW&+XP-5xqm&N?Je#wqb~gOARW{N(&6S92|%>#Ij5{M*WZB9zkkeVLP^a29?iyflF5OldI7jBu>NFKs;kpJ=TF;A#N$!kC z-NB3*$uddqx`SF1QzXa!NQtjI=8cFnw&FryB(DW+`eSt7VBKq5l$>3(?d+A%bM1Gp zt6=VBH)=36GY$6^s3kOe=c8j*6+be5)^C;=d77?ZUAsq2(bOob7K3*25dm#ucT6?m<>^ z#ll*xUe&5PZ%mE2>1iEMIOZzg!l4TaM;5EQF!AyAhHrPA{5Q8epXKQ`k0Tb^ToYH- z2&||~X(a1EKi?LvCXq<^q9w~9wKvi;$AKo+USO2qf4#bH{DI|LrQjnWJCug(i1N^c zzU+JRaRb@1bK5n$8jmq*+w=#R&gKZ6n|pCxlSs-i;T*X;CIjHQ8wl#|UOvM8>lbbG z4ID?p3kYenkw}+*j=Voi&&1W%tfVHbv18+9j2g2E~UqT}^k-mo%YcZ~o5Yl*kfO1tp^d{|eM-Why=&_0q6P=1Lz@BF}R=23+>5{70V%*juyoD9T7)rgBR z)Bj$PYaSbrtGxT7S>nNa?H^t_RS?>r&)%iAP<@_Zrwe+rZ1c>l4?es{M$%97s};+i!jncOWSvNtyQEZdz_=0c^j zY)KohJ>D8~-H|QNDT4jU+;nnbCZ9t=4ZkTD-@Uy{=j~<)xf3_9TYU1dnWYQL)l<*L z$2mXR06|>;Sb$LtT|8>E=~8w^lku@1?i-tHURXvrT%+gRz%5C~b`$a=F zjH{83w${#OGslp|p41=)yI9aU!jK8oT#T|FUp8t)xRhi~GqXIT|SwR7sLI+ z6s!EH2%7dM^G%2=mPEO{O6cIHbxt_%lkNeO|73tUu8DsTtvi3tq%#Ng!%Q8j6t zP;!|k|M^PX72l7q$$Yv}ca=LMGSoX#D^rvch%;axx>o*Tgq^|#0}}M?7npcR8Y?8=}*^f!4wtEHHe3p#j-a6 z=$n^33OYu-MMTWRvln^r>;J_+xkis2$}(+8abboOzx^QzU0rTA3wcyri6Qr5TV z23+k9Asrl_lgnQk-Eh4qG zd8r$?c2d(BZ-S;jz|N}VL;`2Ay~UX18=Yy(j5*nmEAr!j-F3M(5%s zUF73ECCig(pcme3nCTtPYV5OtEb^fsI-@GPHc^ghaOf|t)6=@2XbV-ogFY#}4ANvLl1~(#yfAJd&hf%Y1KReu9IELN<=u&t<0!|BQgy9yj_;Xs4d%m3->5d>1(mkE6uR3Np zow<$yCoBC>rC{rYu$~1c(xK( z_HYxB^Glp7b#A7oJS=eoYeq1&yHvqvu><$+^K1b|*0sS|GdA+c_pbC{DkyW z=A*AxB#%!)I1H7H|59LCy4tbhlPOK*pn#QatpZ6LR0HHo5`h)(p$lp?rRSEQndQ_7 zG@Y<2hye*uaPfBMlbg3fq@Z6N@&ArE^1brz1iNDXE8CC9y;DE}^4xT_&t06K$p*!! zJnZ|pmh%2kDzl0IDoF;|fX#u-$`81*>3%25dMIl*bxMw(V!rTq{B}PR!>Zas*YTOR zE)Q8&o%{|;NlBfev2fy%^zLo=vI_$CM5KzN_kV|TTHIO5laRI{}ntS4x);7|%?1<3s)0Vqp&kO zc&zpz^i?NN5rowv)V|4t`78yleArmh|o&_!KSw zOc|tSo2UUQgPFASSNC0q=jX3rvFXyu-vJ95h_Eig3@lK(y|iH8H%aTx3|^XulU=+5 z?d4w4@K?A2IS`XB0otIcKNXmJv2v6MbS#DOs}h>>YMLWUu=fYX1)RUfaV%#QiJ$?II0mHyJVWVsK+I>C><1hZQJ{Ug&OWkJg2@0 zIwhz+9e=bxQ2kNXwv#4b?#rPIZ`Dg@HQg>eoL9}9kNV==-oL3s=F>(c5_l6p8tRj6 zRn(^+uB7VlDaVDO6vnX}fP)FT!|-Dq>0RV|N0o>5xsOK96OBbgYTB`Ff3qf82ISJ@ zE@>Yi(6A!LQGHs4G$uEZdwe&EYmS~-J&(TA114C^6^P&g>HstOyPWc{dFO?l?UcU0 z>AC52RCM{xJ*LC42^s3)o#)e36bVX0 zF`4Lsr$?Pts2j+0Yb)IY+G=rLy7mi6r)dVeAs+*?CPbbYNQv2lA4x2;k1zg6HG~oG- zbQw+$=A51t(A`S?Gd+Njk-=eUKi=LOX+wN;%e#10o zeX1eE@nrCFVOg)xt~PMGJ?o@VYuadsS`+n2H`Q>>Ql%%~mXn3M(0r?h`Yn%}gu&F* z?=%c%cdif+dGDpgrW^b2DUE$4mM&bOW2F<4jw#N+FkBP-y*S4IMdubgDM7<%3~6E> zRaVHuK+Iiu;c4Tz^Y0WP>3@DhWq=uY1}3FwU)^H{%Jrfu=GR|yRl8C?_xpmuKTFyYqLL67d%7@CXxw?rB2ag zdM>T4n2(LT9pU88_-!)D$V*ItFCd)J4h9&LUoGNnGou4h!Hb?_-x@xe-rsw#%i5RY zpOk_Jr`Mt-uRn7lzk}b&n~)fLz7SK6A9l&98yUm4o_C^UdreX=X!n17oIDgprYY{Y z6XWSSWW1i0ua;lp40Ln9GM}?XA^gc7zjCna`fD;x9mPlD#+$FdY~2l^g*gMO&EpMU zDZWv4qHVkP)w4$R?712xu6@uuw)hy?x=SFM0k12I6p5afIx&;|Z))6E-_oU!Q^Vl}KH zRh~Tg1+AGnhcE3MH^pN6=M5%K^Xyy8H)&J|9(Vl@TBH^jt>I^hC@?QNs49512z@f0 zz1>$I6KjdJ5n6kkW>mQQpKk_Q2*x{4k>9~D^hjv1>cvvhrQ!9#SlyejNCcGk=d|98 z7zkkH{qB`3s`S!uMEsCqtqhOCt~;chx9_KY)h04YPcGPoXdUx1WKR2iWD;r!d%Dal&jdE<_E{9c4cy{Rv*R)2WrWThoe9lVv8^Vgdj^m&r zK~VV(z$v!_69sU7jvBbwX508)1--?UGSwDP!8#|vs~A;zhORaz@_(di60;Jxxl`k? zxmZoGP?aorLo!SRwuUf7m?m+444TAioY{B^ysHyB`=Q{$jnjPLdbzdC33h;c?IhP#A^X@6!0H$fIIzT(cC^6t%g5O5S z_QCQ)^O)_haGV(30^MT;I>KTe=$pgM+GgWkg}RwFZbiQR@gw-)W{uq>OM~#i9jTsUKd>dcV+H#-l4N~UX=b#H_pP-BX z=tQjx$m26tDTsNq?(>(#?=EXi4Nq59a&O%_l^=X;@%GsPVRfCetz-^$ws&6z-fuLQ z!WH#Iu7{-K_+=q!n|APdX0(0p!h)@y&(h))Ww;`^yL4$*pm3;Mb(3GQg+)zjuA7lH zYWGtIk$Ckuqu>=rf_^qgEqaG8F?f+or?+R%FD_7s?ZLeEioWJV-YcqdRQW<1 zqx5y<`Z+ld0;abMvymRu^>G_oLFi2E4e)djuP4tV;@!D`St#S3UR><%Hk+kV3306w z#wpKCT0BwBMf#7)x#kgUn`ol?`|xZ%V_OO05WYL_#s<7Zr(LAIG0_6kMyoc5NT>3K zPcH!*c}H5)cdI@m7h6OCuT6BVQM;bj8NG+SHtMPaF}pQ~aD#LiG?y-!v&WnhEX$$| zrMc(s+G1T(dws8gdj1*oe&q-$IdF96%>qtV*j$DCnrY(N@~)hm{w967Oo_sPv-uHq z+nItk2HU%V6U*W|BpSixXlCD1=Bh8zF|A&fi617qa;m_pqiGVdk3ZiO=>e-a47=(Q z*FzN4o z(9fxQaL;qM5J=zXjGx6GNV*t!J`>?>K&Y6YF5-6a_Wxm;>w4TQfB zbK%lKehdv`D7n1T8D&p+rw;?;LBbNyQJ6B|<1<_T%k*M59HAK!At_7in>)4DY{E*2 zqd6*8>BhSVhlh|#fG~AHiy7~ljSwqRjvn;!&cz6c=}+Uf8L=HJ}YTg}eAFAfOb=x~OC zxdm_nDBSXYUEi`HY&*e|ARMh@U6$26bYx$A@jZb0b!T^#h&_-Npd)@mnl&uB>eQ7Y zu-Pxy+~U}_i~|Py@Fy8Xpy(^Wklpcrh~=R0AMznt9|6V%Y!N+s>HLQ@(aa1y`T(<_ z{{K>ff(@)lw3C~h(HxF0Prs{Z-<`9Wr1f8#@C9{~^p_pB8kZZEa& zT%)$?{YEXgW<9S3_(71ss9Vvb3(d2?B4gQ?(bE4Qih~&tQcTxy`0TVx&7u#W%wPWz zDSi;nCVLBQXbnW#2Rk)$ospl~9`G?{&vt3dKj?VTPczY~Xui)w4k%`h)YF#M+n+nM zUEa9m2J42ic<;+<|M+)A4SN%|yM?r16##;?ITC{{TAg;T-Xk70izHe*$byO1syzOuAAx=@ z2e%`Qp<9(+-iC_fson&e^$^eJJTrFa%ql#;PXX0-NK1ld;{T(LoxcWd>M}tJ9#otB zf5V4oMrMk=gkcns3{n(qNDQ90>K2P;Qh32gYLPxt48TON-EJEwc;i8};`oOkMGjXY z)cPrusD%XpqLbiCWkR~azcm_kFA^85k%=KsP-8~-!mK25{YQWuoj@q_H82hkBp3Q0 zQF;X;3dNL9Ma|CP%zYK{z5h`lM|Z<+EFq;%&c9u#kTf|h4}6*YA3-^Y^sHxM`AdX4 zaGtrS0{D{bTyTTEs2k~~tk+>oF(-bh8!Mv#V~Syhm7&5=23}wlm)|S)=x{qy61?8R zecdGOSG;!*^Mm5c7GEWcYs5F`!Zh4l&dAabt52ynK^StgTV>a8Gt%vIaEcU=6wN&~ zMvC6(2^f4d^Zx|=^R&j(fw%XVtJ4P#0@qD?E1v0d1!y_|64xNFvB5e zWCT@6aUxp7HBZF{>Fi#y|B+XBkSOWMD*lNnM$H2qaux62#ut(ioYpKD4~XXj%$m^) z{}G@9jQJMEi20MwkTSGf;TUCz1%cee3b@T6xm@6Cb^oOgRDjVH-wt;=drA~2hlCzf zm9TU%?2yT>|LA#(@YrQ>>wmdL!v1ladBWHNInH;9-m8Mz6;lP4o?#>a8cF>lalp3@ ziN3z`pIPqQKxVN~3AndH3a3}0{Hf&y&(2N|dAmz}J>4raZm&fabkzOIHni00#P<`I zM^TxXrHgLvl^VC{pjMK^g(Lp0^APDag0$Ci3;ne*`cBWyQGz2PhIY=}LUx4YVtwDL zY`_K{zRKgTgx)OD2<>pYc3JugWT1U8_xhSG$?x6xq#>61eirkQ*z%F^w)(fPsaH1! zmI_T&DBw?rZ4UrvCvGrZB4?*jVNaE{GyVXxOy7BmajT$%h$)cf(h)Uy*nzkV1;^m7 z<(RuG08BeFu4Es0bdqFyjGMfGYGQPkz!7XsN1pLa1Ax2+lt< zEUKG6f%8caIP<_K4elPx_xsmql81+1L$Efq)u=;sm7G;7hdb zyanf$S&k zNHxC`>;w#h;-=t@$?4{WW(u{w6@vo~@QnkU&Gu!xMvOkd_o_Dxcgx2qDq@Glx3p$5 zN$tsDCiT@g0St@$z*ssnjreJ#DOd&{AeYg6yI)Qnph<7fBM`2A9zmx9|3D!Z>J8;kAa zRc{FNo$y+0)nvrAwbZN{9xQ>!{t6?vDt&q=>F`iI>Z1CP22PYKdH&pG2=c6WOx<^K z%2syk>1kPfCW!6H@Phor;DlEdwpk))H{`Yt$(oly;#yNM5LSTWC^&0;3>p>hVY_WC z6X#1I=D~2Lk8VZ?20>3ilm6Y)XO?qOr8&0A*FO8~o{2mLP6E7$VK7kfCVub)$Czc) zN;jy&J#0NG>J38OGI5#o1zY+&m){WfehUJJYo0BucSm2yZ1ztsuKHGljI~8oU2L~~ zTk;x?-cUJVQq6*9mt=4j@&&EwH^k*0TedCK&3e(}I^iXyobwG}tCTJ-eJ5-9xC$mftu}lX6BH+{g{Hf&Qi+6 ztfnaf*V6t`DFm-krT*ifn2`?r2?VC3!4h9zm^up~qotqVgI0dBt>-|maKsRMNf$g= zLPMaIfs?3AM)S8~P zDgj3^-E#0b-Aj=X%Z4WXfAi5pt|ezKMYp4XV%hJ)07H;#4kMQf?}=BzR0^TDtR@mB z*)kKlke%3yaDX%+KzBgn_Os16bMVMR^9G_M40tB6tk{1+53-8-w%}DOd{-989EqkR z^$%6SOVi%IbzNyT%*-HCA}sFlaDMm<1fdWAA>ZFUqmmB$%zD+<-lrpmNeX$xFM|sW zM2%6aesO6s3i8R^UH>{%^3qb(b22a1j}Lsa+z=$c2!kjaB>(nm?LaCpqRjEFv4FG= zuHeQSZoUNJd`7x8uOlJPY+Z%wUyR++mZ~fW?UzJGUje$f*)D4gkG=SN)qNVR-auXK zpN;AKEBL56{OrNk90MvEl%Mm5(hlh`!ewEEn{7PffeZ=wIKf{z)MNO5^SD~W&H(a6 zycmNe>_x9Y@_0u6R9Q~st#0;jtutPbYf5MmnKJblSf(i`I=A}8LF{|T#vGv$$2P@HaYDK?kLJzSWKuGMm-gg4XTinAUv%B zPm2ovv_(WSB`cmrZz^=HqY}Ptsbg}`Z@2wE*y~n(X@aX2`LhyBs=w|gPEB;bi%$d| z0atWH)$719?}(;q;M?YbG@r0~4yT~nSAAcL#YM)rY$Usl!595hrE~dYpm3`w@I5kc zk!%whIjjR~f9MDf%aaF0^`mIF2Dab6$#DJ6@2(%YqB>mMJdpj1^LA6Uv<;6tLmkiS9oeFbsl^*(Z^kSGuR{MD~i)_)N6tZ zG=75zmf#y}5SkdO<(VmgOEXRs{}dCSbMv^fNR67;tD1gUMcvGJW6tXUnXI!7;HzNp z#eOjHldiS%l~Ps9fa59_jwdFpq9SGtqtz#?@C6(QF7W}T&R`6R@&5zp-}opllh*SD zpHdH+u*@AZ1WD4=5KTbd4*S@rha62F059pKA3kgIOs_KooH*9c6{}QLN*ga{UD8{e z7sG9;ZQKTqPT8Hx7=@J#zuxz&_=krO~<-uC;o8BJ$G_$PIPzE?d&+Cf=}5BTN~Xo zO%LV4wkwqk{p&(^*b0XbD%7@@m;dNLAhSlp>H!P7D-cO5aNw<$RY0z?1+YAgadK{L zb%QP6iD*6sMnGnPTB=hzzkNXfEhP@zyxR7&n_y!!_Q@}a3YvsHTN`eT5Il%cmmrbV zir_`}ahaN`vM*J#DAVHvq~5(kYSQ)uMhK16Qs3DQn=7uab%G8-3{v0zy&OTA{0#lG zOGb;tQM-K?EClOLIw*q$1C7$k4CYM=Cr%q#JGb%|mM%@t?p&JBnVThJt7a!>O(%`- zDFFvaH8$9~b&MS0?>|Shixvw%=yZ`d-+8vqzsi7pT{Kd!q*<2; zEZpsqw`?7`c5T?g^%dfD*u)}`wZEd)=vBZDJBPy;HeD^-Dp?%4Ps#4&ngh<8gv-`d z-{skIWID3#?}G31l|8g|ckBKZAyBu02OqDgG_D|18A`UiT#M|(yZl8+z87-Q-c*JAD9J>V@}5H)1RZU z0bk#Q*Z?1*KrR2?xXq4MYA><4GojD&uk2J=tnN`uNmpQryTl#%*ab#?)qx8!} zRYQRaUMd|nkLR;ehoe9G7_pfgm)ptX)d%hjRy1EcXW~NvUVPejNxoPzrW0hSN=p?P2*6OBOa&j# znjzaj+f+@&y890=ojT2?S+) zwF(nPKW<25CMBQ>zfWof6*TE*?}qaCY@c8(v@`&lfG>jp@KcCA zL2U#6)JhJ~@o85E*W~XslmR!e98=E;;`IBToyg^sntKC$fB~w?(oft>+UGn7Nyl~y zA1{7pYL^=hp6`MSjZM4q^esU|bFii-N0`B42Hfaq;F-xoMtZ=Vqs2IQRx)^V?W~5# zDi?I0!|q%IJMVh=3}DjXXQ_%P+Tk>~J?8UoprVh=1B(J~-34Be2=ObT1 zeq?6A8%Dqyp+zR?Rct-&(Nmrq4pSa2HrE%il&~ZJI9RQ54Xd{53Hq>>HJn`ZRS9(` z4LDOGTb44_;E5Q%3|@iQsu;I`|3x<-c#g6(h*R>fofW?NG|%okJ)hSe;i4=kdco>Y1|k!Z|}rEkrC76uWmczd9;o zqI0Nx-Pv_ndnNJfJMMS>Eh7A6FOw*5rkts5r2%EB%m)$ZkT${%(e`kIOo;_WuwP7F zc1QiD>emU(q%Sb|c&<-p*<*~Thz8KCm+P5EJ)0#Avy9=NkoGZ($I;YdK?a_3)It9q zx~dGMpak<6xfT;b;EfiqAn-u7H}&iW*B(H29ld1AC4;pc^rune5!6Q`!CIek+ySDs zci$Tt;En@ddLqol=S>_c8S)s~Wclc6ewZcj<)94y$@?;QMG8q~1&KSJ>zspM`~?R( z4s_)4$E8n&rFMmac^bS=PX{4sQ=(P^1qHKg)v6dUB{m4VVQ^;I_mVJY$iVpDK#Jf% z&`vFR-#yX?mw+5d0pWe&8YWg?Df?wOy#AxgIMSqtCPF~3><|`oM4C0uq_nF6JOEI7 zhfv7miYZsYv|CpLYq`iXu)(qzfqz}E5FJQ(U*HjYA~?H2p=(y2Y%#|<$B$C8o2 zY*Ol?oZyaXGYquK#{H@K=}sz29(pmL8!&jFqD#;w1f~C zEydCMIk#d0OlV7)@mmCkLzN2FWdDsI-v@X!PbW3Sgo zbgCEV_`R*yT~l$3EJy?6!taJtegRH-MxXBxq0W&axl^f5YT%LCYbYDqd2jt!H0}xR zREcQhKhrr%0&)pi%}cR4BJk?&+#^`$HS>vZ4oR8_u`4aCJDr+5K}iK^6$OdZxxf$s zki&*m7FdJuODqf<)@33pSf!uB1pt=>gZ{vP^eH%9C*J4r6Rp*kSiw&$-XS}xg9r!V zN{l`p@Dx01hsg#mCjiKdpNl$sQ3i~&1KV#x0{nz;1ebI?psJcBoK6E{M)j4Bhs8vS z1I|H^&%&PGuLZVhiu1T->kY8=FR)OTBg}uo$WOIZzSe2on6L04(&n4(n*7;DMFLSE1Vzw5McFiZ2}HxI z2c$$niqJA9XuZIvpwWYrNn=-4bOT|1QK3FU7YAh|6m}#OK_rw!ULOQ%;7cnAWWMS@ zvpvK5tBPWD0ZM3I`rU=&MUL$cULCbMuWi2j5c-J8Us3Cmm|XZ!5=;Rc4?;N#U*#6< zbgy0Vr^~|-OD9<30PjpeAP{~k;4P&i`=7XUm#Sq_GBtshst8|*(+i$BQWay8 zL+_7Df+?R0XFNaT7%KK^_+&X@x$WV*ffb)9G9ckqh6wBv7}ZoqVl}XoRW${{YI0ju z({b>WI~LLexImDwX@DU)oFAxZ*$^0;QUL_K{l^Q8DB&xe5E^}XY}&vx4Q{8`VWc4o zB11iBAvmCAf*{~Agb=m#M8sNZwn4FJrr#Q?F|{VP`9 zJ*I?QzyifB#*D(AutF>qU_5Ab^kCqWbrCUc^#|jJ2ceCtV#U7%3<2*G2JeuOHr2H} zab#Ep$P;-e@(V}3UV@}CFZWjcMOAHCLmYx>l+);HtA*p$p4|M#DlP{Y^3C8@C^p9A85C$U+T|Vu?2qC zl6Yf-N$ALkXdw|txKwOm&NvIi?rR>J9(9Y8KgwlT$$~$SPPb-(vfeaj?||((aDeyc zSO0z*OH#6K1>YVA7fCd**A}&QMi2akbJx>YP(Px=q~#yA zr&OJrq@QDf>;#eIfNu^iz?exyR}L_5@hTUI-A4OER3{G)HD`mL1h{4NdS~2>PP$nz z`1m-u@Phyuk_a2TeMv?$vclofr!h&{HC*r})ANh;Z;1~Iz?g^~_ft@BW%f0sGJI`G z2O)cY$i?Fzk)t=`x-w8Ci*f;sK~{45>6Hfvp9qs zT{GJaj*`C5M2Q0X`eiW9+1-pkzhjVuo}frjFOO zw3fI0D3Sc-{q_YX`xZ~nn?fsp%h_SQAGoD!G<#zlW|#dzGX(`jUkAZ&KjvgSL9Y$9 zs?mV`PQJ-ypR*s&2h5FL=jfk1qo_AeE=?;E(Y!Q`2lD|!cc|nANL&13K7HzL z4%jk8tKUQ9dWL2rPV+<8rS5IuqpSK=uu1$CrL@-Jo-qYa6Wyx-De9JT1GO*jUm3cV z!yAGee%sp0WKuSoEggqZ$iMu>%gbkR%a|qjMi|XjUA6DyBzj%J$hdS-&wBa^ z!~R+}Ym}#35rKzeJ7Bj>8@AiWeF5bpMilV7mcbep96qLL$5(7o$_bIqzY7O?0_ic` zoz0Bz?&zqlpmwv{a~NG2YG?>1t3`sh?e-eV28PC^#~bvg?;#sNF@Ye}>GbJ#5k(BH zz&)KGfaclP=@Il96MSUJB4Y7muXKYV`tcP0rVr=3+m6ZaISdvY%tm6AYTlpRIJ3vm zq{FRUEia%!I)z&T^<~q(KJmQ65`Iq(v~#35hSdi?wmvm<_`268|JdW|MQ5Ih&*hAd z$Q9O;%ga++X|Xy4n%*w-j&$PVp)RTl0iKdwB&AI0t}=(~jF|$Aw{t_&5lKyRb1n;( z8sApkhIwsQJJ#F!;c1FVZ}J}dhd*dG+tbBhMs%Q&`NonW0JIo z1mU-j$}ZdS_iv{&U(8w4;ft0+&&=W#eGl z85Q)yn@StdFX=kMmwmHsbT_CqyqQ)Fc>|#jgqg(;dlV1cR?*p6hg3u9AmD0?O88a^ zWU1d|bWW=&+`g2%!2aSHO%|y7fm|@cQ%mh|byRzcK`;-;`**<8JYc$U$hKA^=6@w$gLKiC28!VeWFOb)R%vALqFcNt9S@i`Q_?FUCHe$q`vY;_Ck*d zRvjp`waHLn-SRYK0J>mmD;OPJwK$upQ%(>u=DEdJ<;R+7G~A-uP`8I&X>tI<2YjAD zk_4SMI4lDVS=$P7D&)4eyJQ_nwTh4n=3$%^(X9=@zYTg6 z0R6w_zB88#TMD1B8a#(;-cI21|HK#hbBFS z+=tt~v7YUS7gz+@9*RYD>w2?uu9~+%;;zGuk(ojrPPw@Qg5+v#K{ma+j{tg4r7=4L zoMTi9&kvLZm*TTq4`?vQj*f4Hh|Bw@o`by-L{#W^GmMucUf5R4XT31hInFsPw>nx3 zYiZoX_z)~C(C(a@>O)iTSqUi%ea@`)D7G9YK4&`^DtZXeiZu7Pl4oQ0?Ed;yhFn83 z-+ia=HH2G#myDQ3Iqh@iCnwRUf!YOHMO#&&jpbmq*+AO9OX1^_@7@i^P|4(2jZks) zWDYL55fECQOPidLcb3^*X;H973_V3 z`G?C`q%_81?|?A2CruPv(n-M^b2>5AY4Nuz;cJ#e<*lH+J(XE2* z3d#W;Xp!YAZCwqdA{FB2jv@WqE7{U zdCRwy&GaQmsKe*Pjy>1Ev`v*?VKa!i+O7Lrpr>G2gT17=nfXQy@VvY*#tDtv;!B`J zEfXE7M?Ts@=-`wGlR$H|lbRo8_*tG$8Z)%4EO5A{#%RF$B)CCJM^FG#*j9tc>|*-h z;{A3-MbdMDn|5~(3E*_vy{5a`wXROIw0-}6cet`f!cA4=tAj^jZ6GQIr37GK)%~GV z0K=jWhKFPPm=~*#g5PP;M*Zq&^AvS-LRrhOH}{7 zwQ|{p!ta@OFEfO8^lN@nb^U&OUGMfAj7_uR+4ZIG>dZWI%EcdGn`tGQPZyM_OtCE5 z70dkkXpDzF=GCX~Xe@w6s+GmxIOT`<4f-&i;5`aIA}0(7&#qO6^pCbH*1Po4Og>+e z`H!@ACxRR&IWbOOrOp?26s%BAZB2Y6XhC3QMpt<2)n0;dk~z(X;FCgKXF|`9^DEn( z9f!IE8yxqo2uhDj*iHWHk-<26JPEx!Q@a57FuB!s!%7RxQIqN$atVFl`5AO@6&{{p zE+OlJEBgL$ISC@@*Pg&I7$hr}Q1N$*WS*4Pw%uM|3VQa^-pYdOqsR#<>$sFYK4M6J z&f}X}q#A=r*UiVIX^SDsLr2A0_>`*h*>10oIZ5Q8K7rEOTcg`JGRovY5~irsEJ3SnK~nDW3vXjp*{|f%CkSb=wjSqxop3 z50o_U{d;M5H>q!JWx7+8jfNY8S#eEvA;PE%RJT69<;M#Q(yElH*+dZ$7Ae zen*^mq%d!qGCjTDXOZp;rzksRH^%PyJh_}aQ6pHpy6f=S+6Bt)!om`0^)DM7PglaK z%Oa|;hi+xew?ReFRLIFQQ8!t9ae}=nv1fiKS#P(i!?&mO}-XuFuoq=>9|qQG}l~5!=o5m zWmIVK!xk2{_l&k6Zp7Tezlgy4vzVWm@-N9LJAWDF6tEMKRZu|7Ywys(;~2aR>LsZd zh4dHn9yVTd!N0_Fd4aUvs^mN3(4y3aDi2@LV*V{WO5r5s!UWRHWF#dDEeXA;?K0Pp zqn&*qs%G;QcWUbh*i3z4*kRs*1B%L!KpoQr>&!AqbINIL?OW?I$jhE@HkV@#z~cSg z&~IB<9BRqO>6u@n4CbrI5{xCRLv}&4lk;;U;(=4SRSFvmu#uV3%g*W5DnXCHk7VF$ z6hwJcl?+%FX;5T)ds5$8iW6^@x38*QZm+?_#l-0nW^Q;CqTE%c0%`&pCnm^+g(rX| z{__>_dS`%1b&py?-#$n{A*>TyQxkZ}L9sRnqyyuydvj}StVF!Ta%W8d(Xxw1qdF5j zJ>%koh(}U+rl9MF@+>N~PYAAvavWYh2$mxdiJrX1G1^eWbZ54+MhEF?K5M`h(FJAS z_xkX|0%x3H*#?FAw<*?Xgt;!^&)ju@6?|vaf`zB^AI_GUEtD}#zP@(V;I6I}9oH54 zUA~2tEi!tobf$0%|MC|$tiQ*v+-qAa?Pt%okX%XKLbeEf(_(Q~P}(0;cFRY(l&n-U zs*GX%tf%!>3DzBi+76zO8qkh<5vs6j>4{pApX(vU4|6I09Su78(do@eV?|Zq!OieT z^Uzi?$SaRZjq50yIj9QWWKv)M$p<_yS+eTRyVD9fK8qobZu6%RZs^ldO~08(wf6=; z9>4K7_STC9Q1~@0vp#8JaPWcKDkwZ5X|;3v_MgnCwKoV(A>$&r^FOZlG?HXarW7lf zY*&ZB2Z4{}kWxM`u zP`4gwYGs+LYWKn*x9i}X++cHab1ES=fW-h$K4VU{VseTYly6pbMtm;Libq=QZ9~T0 z|Nfv%vP`v}nK{U)QFxhhz++c7Yhm|jD8VGBK3UEAoHC3A*ZmzSr+IP(h#tN8%lf-+ zkadlW43_yOHU^y9=GVl<>Nf@}9uc)OToW5FU$+mU?Oq<3(vtHwUsL*L1RMlBo7zwQ zei$^a1IoJmzO1Y!uJQi;hd_jnyi{uH=39FguDLm3dN!&iPcu1@|Kj8E!$^?w&niC` zLi8;^A$dReE;xDW zyyW9Id6E-rUD89hzrB{^e@^5~L(WURY=ubKo_x*ID2~IhBldy-4+E@aLigB zGig%aWmu+uW&!xg4292of2JbGkzo&99X+CCZR>;=)3ySI-QLYk5&UMR%7UF=tmf<6 z#cPkYw~H!#<(hq{tk*L6dVt}l7@;R>`*_$;=%_<;LuB=I=k7iG};+{>L-qDFYVc3JbtBjMnD zGyJhw15OTy-O7I0QP8OM^D;!!<8jJU3G)oUkFR&6kTS;!D@uLRc3NSCcWm>wLpG;L zh3VD_;hew;cWBy9Jt7S1`qH%35&u}ej#S1_A$<)B>dQuL2}x2sB!z3ulY#k@>%z_fa*GZQ1Jh!sL|Koezg= zpzxmSJ;mX42CHG(J;T(ob&d9fX(TfjZi^OAi>DFeYDhTf3kI|%bo}*Xof*kzhu8{D ztDiqF6kopo=B};wH|Y(M>Ve%9ra$F-nIz%c^&aqbb1_LUwc&&MsWbSCKfTw&lR{|$ z=#>HTs8?J!(kopj-;W+v<^Q4rPW|KbzksNG#AmOMv{>#t{{r6{P(3ts^zGPPtCQU% zB_`g`bK{Pq0mUhe8fpFRY9*&CGh=LeW=eFBZ=S^cyzi{JC_jij5e08K%kFBnxfM!*k`R1@Jyj?i7PCYsxX!K6DgbZYcFAm z#FY7;t*>k>V?0bg(9B919cXQM`_$4XHMBhbrDesKhdP*a_hQ*!QGBGqTzDGrKYQdL zA>X>$An9!v?OgVl^R4)&yPbtg!LZS@QA9wEgI;_g30c6GJC$8Pfs&B&4$khP^?TcM zeSwPYeoruML0G4ZQfg_UrV7{;XkYDE{-9N6+~9htA!t$=b0>KFG)< z)?Q7oa-x%a}nSfWTMJbMAx^ORgd}yheBCKMxJpd zY4nNABCN7{G4^Aoh3gORs9fX%#YPQohpape`o3%P8*x2d$mO!by&O`d$fs0QIGn*& zysGa&vZY1)Rfp^`QpH|4SaoL1pFi?HmLcGRc$&TxZdb~xMoXUopvH6FG5@6aTY0#k zM*sDTS9K3rEls5jgB^pes?s#5dpatIv*@ zWpJmxH_JUzzyh6y7p1#3!Ve}Z*!n6UCrA7Zxt}qOdr6%rIM9)1~5(VHL*i2PT90Kd2b~` z+j^e0l}!PT#iGzWV?|=inFZ{#4jGd070&`~FsT+oK_9mN>?oP|aXV?c!6+=J8!}sN+&%C1~R?-(PQzzOk+hP1va$?zGJAv!ZZR3e5qCfbf{-}Q7 z@Z$aC1H1%nD%!H;HTAwyUE};+ZobH?aW?5VPSHtx{n)`(bE%3>X9Jm3evPe z6z9C+l9GmQ&k>F2&XVGW`yhY~*ghvA;z@g=xAChZ$%3tm)x3_oLAbO}`JrKuLzS|4 z6pI!YMNs#7Lzy1Sq<2sC{V{Ap{V|hYLn2jRMu*!yojW^Hn!l}5mjR(#4fLv<>eY5P zzW5sCxInyUyDCIf+KeFE-|ZC=wkp|sjBe;oB9Ti650DRcqBc2m=3;oFuqkqxn2Yr;oTKGV}|j4 z1Bsj!#(@ARl>5L{RE)3b$yGHS-8_M+df|YQf`Wq5SrQ&I^V8*)_)2ip>nNRIn`6ar%OL@%EBME+j2gPs@v^_l8XBZ9#aMqT1Msr$H(nZ_!ax}n9EzVy?zWFD z$!iTvO%)`Q@GSZS$OgVN;HuDU)xs~n>N+hzHq%s}M@zWE2`j(aStGngv|v!59Z1v^ zZE(dSs`s1UK|TK;iq`4SI!;z>5JJ9$( zXRFavCYCzbbE(9Sp2vjuAWfNEsJ6kV91d1Hx-GOm{bAILfN4_mop~%PfeEvOXQ$aI z#6{7vhm*tG7QZ^Q8oX7a>NAHe!Vhl{d`0fVhq*rVQo-7Ka3qsqoA7l|v8vSOxSoHL zqP04lz|ZWO({oA4Y+qP;p@tn+&0jyMqGBp2fVt1-GDy;xIN$ZJbU_k``47hdGK~tD z*mXN)WNZA3^SlE33i_^sLG0DUWw?pU;La1G)STgzI+QT68gy6he7csfaK(NLVWcSp zb>_P}LmZ|!FAE_nF{FFcirkwNC!8WHQ}WV;q#X{9T{YdgsyPc+5!SX|^c1*(x@UjyVa#Gmb#%;!-UJUZ=SNodPODlM_$Ct1|O|3p|bH&)&vlShYiF*L{qE9(^6XhTCrQzx?<|QiFby=1H%GT7NFd?7#ZK>xqQdNXP71 zG1{w(58rq?Vk;snK+qsl^59b9VL8hXwkO&j2lw&foQ(#eE%-#LUOQbq zmv)f=8qV)Uhh%-VJpr@h;wSS3miC{)zKnuFg6X*a3YP2>e(V6AF`5{$&2fcSmNX0l zbCNgMfBMw-4i!z7M;S!E+22)_2ySVG2&s)Kh5T|)&bNPmXIg;;O*UPR24g;r*yhR! zb|TrmIvrZxW1O3p0e&3<#K&rl+_fWTcS=NLUP$M2R)ilSvg9mpO0}Q!Q}!S!XMW?A zzy%Cl755vk5(6Y7rXwQrMH-*15}eWNF|U*&7V~kTt3(c^xq2+J-cepqb|X8I0XSU# zV(Q}?YRibAp2=Pk?qL*s!+XdpUMe~gkyR4TdM0&^xG7|nUkq=?Y3pL$#26CO>-6V) zIg5)rVT<7cQenbEdglnk34WO`_$(|qly{n!u-9DV6JRAFLOcR2;+IBPo%vK~J%Zs= z%6V-;9GTC)^%B^x5Y`akLg5z|bVmd~HsIvvd-;o(pMyQ78TMP1vcIn)3Lv(aS7lf5 zeDllQLGa6>PW(J)Yoh0T!L8RIz&cWR=*PWAn-Xm|b}X&mGG@|gurD+-c~au=r1?%XMw*gxo3|@V zj?8PMQ6rX3&`PK6q|i-}naa<cAw6=%+t zlFi`E#PXN!Rq0S=;)pIh^<4R&?fZ3%zq-eTD+x*G~?jUe0lDM@(F z=0i}NL&(QB0~(<1n(IpV>X94DiP2XqvUWjPKWByDIcpB#1m$%uw4kx>m^yJ#+N@W}S_gTcNS6RF7qX$?9Y*csfk1fM!hN$w(~X z!o^-i<>8gM=3iD>i)W{UePQ!B;}+Pj`pQ6*Qy-QD7YtKjTvQG&Iq-fDF7#eUxo9P! zv>G6>lILRm<2avHD#|L|jEB`jTta&9fei+U^MV%?nJ+hc74{TQEP9IkmiqKrzar_2 zM`srwbNmG6B1Dnm<;zNLz7Lbplv|LLiFF)L69YEPPsv_Y#{-O##>MItL?PUi0k>O; zgIsDCB5D&a@${PYIxbe*5mvhbdC*h-=E~@SX8Z$L^$R_v}^K=o>S447me?bj6 zzJR?thA=WPlHIM(v&yh1LrrE1H&TxB7Gch1jt6V3iTW5`?uuAR0w+ELlza#ECbL@It z<*3hWEm9fWk08E2&>R;9NKa{LjqR)W99Fsok299pXIaAA0 z_tVTF?5jo}FsDWf?o&5_Ii+(4HZF0Ao=H4>IGbB+Wt>(^=BJFJ!3OlJ?VFUWH=w~v zcV4^=AGfqkV$Wsk#4RIA*`-}-ahIrBrh>oQiL-kFKUM%bmK3qA030>Cw$9#Y*x)Y% z32^~q$D)JRX8>RdbHGYW?AznhXT91#d56*$ACuGu`#SJ|qJ-VGYjMw_TRUW5HTJpk zO>aq?0F$xXU5dPaP*m>z8hFe?%uIvGK5)=p?KmQAXg{70(Y60=S&0r$PG%uWM$tdi z4Kphq9YM%|I#YQH2%y)R)_|Q(tnf8UNdn)#Bk938utwqgp*>TNg2+> z3kKlk46qB>#8biI1|*iH=QYdH62ALrtgiY8nTO!x2q#}chUxQ~MbqE7NZX4FKtGHG ztDU0*8^%?@F|+_JX>Oe;=eX3=K!b(gxy#gy=5odfG!_-ne0dK?^Do-=>R|ABS$>3N zs+2-xf|xJ3V-X)-neU7l)EUG=9+?7+{xw($&$4hX_1Jp!V4xLXBuk^n zRC&0lOv;W0vqMexN0AQL=SQHA8oA38OUr&feCY(l*u-+4Sj(Rwv5JO&6y5Y+VEX`# zh2e2omoC~R_ya2VbDcO7cCZ@5&ws+-=kkXb@2-Su2v46uE$h9RynjqoE){jQ$Z2kq zZ8GIzY$saeb_4EMeF^h{ZI48OW$og&gloiPZBjjaxOwBJ15&<*x8MJHurXu7r%(H$ zl|H4*zP$U*=O%qYrJKBZXU)45yOwmTwM_x?w)PX<w-sk1|;4`E%)^YuNq5jU?MLRUjKC?ySH&{Ku; zm>>4*u21F>TUVXWF~nf8CvJe?Ph4Y$^>A9-Il-5b{ZqyGG*5lNekAQ)ICS;zL7U3P z{_>iUL~!ooGZ-g2qSmqQ28<>0>45i{_L zVZD8mS|zrdFNZIqzZRj6=a;Ay`foU$5C<|G2N@FPXV_NcoGl6MsA>|Nd2-{ax=hBA z5O11!XLP$pXmZ^NA@BY~z@`B%aIWBt;~lvzLeQFvgF${(e|-@b7Lfh0{5Zg5aPHWH zr9#bK_4)d~lEi0od^V|Yg9;85I)8IJN$FCuT%z8MTMk7(&6A3Sy1v|opFRkG`gjD` zp&zpT34nAwTmJ0MLl?R)A~gi*&#~k<%B@(Fnf!1;X-`9Pwg=4)1=R^aNzVth0I4Fv zmQ%&-rVlY#=2-vuq+ME!KHzurmVv35fj3J0U57b|tiw_HA~^CD$;%IqQy&^7<({w~ za9;x-YA`^)Uh7?oXD2Z7w6*1eC$>ps+b1S6=59zAUUPuh7}b zGDbf;+ao0uLFcSOvXfmzynC7b69nQxDi00!L_Ej8RixIJW74uuJHnYB7xy6OJm)gW zq5iew_;=J#e)xMTC@E{T{m>cF(+PhavL!_$JcMyFLCgpQo;IhW%Ia;}%8Y7c_4|F~ z54>sAM}_jJLaG|R#SymaERWg3!fe`TQeZo$IQQa5F=qBjEsu7t-Lki^7oc1N{X&`H z&n?#!@qJ$VNQ_nVi}-ZmER4zjxZyuMy}##7h#9?UrtH%h(uB>V5vN4)&a3J59ZPV& zbE=)}Mf!S9~U3O_y=#Yq@{Z} zTqJkwF*W%9L}`I#rT#0n6yAPd@Bq<==X`G+=fyQ0+H$2nkOH~~a-Z2n4v=AjjM;UL zO~W(J0BW0SGGYgh_$fAiRjpQpc2?38+k7Tze&)w3QD6T(r{|p>?qaiUjh5lDj7iGK zt}#q4WNoDyTap#wUOyI8?cU9HyQA?5^mTrT5eixn`?& zOp_8#(j^)vY&>kzVy>J|IdkjqPGIC*@N-Nd&a8)G%jbu<;`(7ab4nv%Mxi0KVf4d+ z<5}jIR|92(?@bRhd^iIp`WaNrL2 zIy_vruB~=2wAh5Z^yeHy9ZNamyVOJD!qCl9L5W_ekxtgIWO?}sMh|#QFP2X2E*Ct} zZl0zX@B&yh$i3J&s{7n3nDUQ9_4!T*3i&hCe^C~Nv{t|%tLa%lgL2lsux@c>{&N>T z)oq&8(ckBDM>;8Ig-pX9hlg8|?`dwzh>3E`f0nc)I=Fe+NufaD1I<$nA8BOWebkvX zrL`lMElWm-VIQq9?IX*|%c-+7Gj!(UkeHy_fm!+}DS$bXGuty3DMj#czj{@%FfO*_ zahQ}8UJ5@pWDyqD^03tA^)x--wAgo1kz8;;viq@?(jM<$Xx;e(AIDS{lW?AWH#3uF zZM;mH*hJ&^*k4|6qUzJGV{z^ME06FZ@AdBU={ z1B)SCo4Oj;?&|8A#gM?#eqI|Gx>hmN)05NMGe*xz4Gzv~W{i(lxv8mmGlF`+6Lkk> z`d<30>|O_+9M@jYxJJBh*MJ=T5SbMl>*eE(z_k;HdUo&y4^$G*AHomwL(>+iD-nFt z+g&S%g^E>IK+4K&$X!ls$T+DC)8bTps5cws2Pg1(W0vnBy#4}c@*sPAFB|q^$h!Ou zdzr*$*JI_kEZY}BMds|7PmlFJYM1nJ-{7(%J-x$73d+5L!h~e?dmn`f6&Eanrk|O* zBbbOzA31qqwb^-^963A+m|GO%^`RVgosjPiPPR5J_G0BVkI#FA_chpoJIV~vBQTe~ zz2$BpeGL{wYC(aIRSeYj>@2$bl#}Ezu#%IkOPswJ$_Qd(g2Fl6Ib~Z0ywZn;8&Ogr zuXXHXE`5yy;SGNfJvqqeCpp}BUFC$C*jqj*UYlBP-T8_n0hAtT;DpKN=NgM@!i5MTDHvA)dEy=f?c|G+{Lh;BDJaDk?&4y?s0+lRcxnjS;j1` zxtNuo4xp#8ODB%7b5e|>s@&cADXZ9evQXK!IUnagO*snE7<1BGxqyOg5|GfK8^l0rf3xKp3}j_u z$`jKroZ1*>ph^=LUzqF>sZA;LQttM8sSl;wzC@bK2$v)D@7};92 zOPacG=-hi8mh9$Dv@4*l)XI{L;19yAeaIhj=Kf%|clKJy4^4V*u;9YM3VXho4vyYrts&#n-&?LhuPBdu!l;ej(x(iu8mHR9`-O8BkjXA z{o(v(nQZ4mc|Rs5@D2WifP9ziP8Mx?I*IesE@UeFSN>yN&%7uY2A__C7SEWCNN6Gd z{I5XyzmU}BwLm$14iXBar%i=FL;m@H0oQ*8LtabZ0%TWvkl7e$&OYVvUqSN!ODe&a X<=sY)TW>~$S02&UKa~EL_4WS;I3ItW literal 0 HcmV?d00001 diff --git a/docs/images/filler-dynamic-expand.png b/docs/images/filler-dynamic-expand.png new file mode 100644 index 0000000000000000000000000000000000000000..3f64492224920422d9fa9afb1111a5cb17eb1b47 GIT binary patch literal 36058 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 S2d{63jvqaBr05UZEB^zVH|+-i literal 0 HcmV?d00001 diff --git a/docs/images/filler-dynamic.png b/docs/images/filler-dynamic.png new file mode 100644 index 0000000000000000000000000000000000000000..ced6cde9fb8a441e68a684f56b5742db5e154c74 GIT binary patch literal 34036 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 MF+NuClijcX2MMzrPXGV_ literal 0 HcmV?d00001 diff --git a/docs/images/filler-none.png b/docs/images/filler-none.png new file mode 100644 index 0000000000000000000000000000000000000000..52be7cb432d568f687aed84e08ff73c45eaf9bd9 GIT binary patch literal 28563 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 literal 0 HcmV?d00001 diff --git a/docs/images/half.png b/docs/images/half.png deleted file mode 100644 index efa6f04b6b30f217339f84f5c8967037e1d8a808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64358 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 KNx7u?`2PXtoJX$! diff --git a/docs/images/halfx.png b/docs/images/halfx.png deleted file mode 100644 index 8d1e8f93bf0e9a98459812e67ed44479cddd1ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55999 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 z 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 diff --git a/editor.toml b/editor.toml index 51e301e..6ad4778 100644 --- a/editor.toml +++ b/editor.toml @@ -7,7 +7,7 @@ head-extra = '