4. Parameters
Layout — independent knobs for splitting and orienting the greenhouse.
Bed #1 sits at this corner; Z01 of every bed lands on the chosen side. Corners are in the rotated long-axis frame (shown on the map after Generate). Beds U-turn between blocks when the cut crosses the bed direction.
Terrace mode (overrides equal split)
For staircase-shaped greenhouses: pick any one of the stepped edges, the system auto-finds the rest of the chain, projects each tread inward, and slices the polygon into numbered sections. Group sections into blocks with a list like 1-3, 4, 5-7. Append [Nx longest] or [Nx shortest] to a group to further equal-partition that block — sub-blocks get IDs P01a, P01b…
No edge picked.
Examples — 1-2, 3 (two blocks). 1-2, 3[3x longest] (block 2 split into 3 along long axis → P02a/b/c). 1[2xL], 2-3 (shorthand: L=longest, S=shortest). The order you list groups in is the bed-flow order — block 1 is where the snake starts. Append @NW/@NE/@SW/@SE to force a specific corner for that block — 1, 2@SE, 3 overrides P02 to start at SE; the next blocks alternate from there.
Per-sub corners (more control): 5[2x shortest: 1@SE, 2@SW] — split section 5 into 2 pieces by shortest axis, original piece #1 becomes P05a at SE, original #2 becomes P05b at SW. To swap bed-flow order while keeping corners pinned to the same physical pieces: 5[2x shortest: 2@SW, 1@SE]. Omit @C on a sub to let it auto-flip from the previous one. Count is optional when the list length is unambiguous: 5[shortest: 1@SE, 2]. The legacy ~ shortcut (5[2x shortest~]) still works as sugar for the reversed list.
After previewing blocks, click Pick block corner then click anywhere in the corner area of any block — it snaps to the nearest quadrant (NW/NE/SW/SE) and updates the grouping. With per-sub syntax, the click rewrites that sub's @C in place. With legacy syntax, clicking a non-first sub auto-swaps a/b so that piece becomes bed #1. Swap sub-blocks reverses sub-block order for the picked group (reorders the per-sub list, or toggles ~ on legacy groups).
Beds and zones.
One entry per block, comma-separated. A bare number is the cumulative end-bed (continues from the previous block) — 50, 95 gives block 1 → B0001-B0050, block 2 → B0051-B0095. A start-end range sets explicit IDs — 1-50, 200-244 gives block 1 → B0001-B0050, block 2 → B0200-B0244 (useful when blocks belong to physically-separate greenhouses and shouldn't share contiguous IDs). Forms can be mixed. Leave empty to fall back to fixed spacing.
Fallback: fixed bed spacing
Used only when the end-bed list above is empty. Fragments under notches each become their own bed in this mode.
5. Generate
Clear results wipes the generated beds/zones but keeps your polygon. Copy for Frappe puts the latest output into your clipboard in the format the Bed And Zone Automation doctype's Zones Geojson textarea expects (one FeatureCollection per line, zones only, with fid/line_id/segment_id/zone_id).