Skip to main content

plan_shuttle

Function plan_shuttle 

Source
pub fn plan_shuttle(
    macros: &[ShuttleMacro],
    area: UserArea,
) -> Result<Vec<Placement>, ShuttleUnplaceable>
Expand description

Shelf-pack the macros into the user area, tallest first.

Tallest-first shelf packing is the right shape here and not merely convenient: the macros vary by two orders of magnitude in area (0.019 to 1.140 mm^2), and packing the tall ones first keeps each shelf’s wasted height bounded by the shortest macro on it. At 46% occupancy this has enormous slack; the planner still REFUSES rather than overlapping if it runs out.