Description
In a doc comment on graph packing strategies @garretrieger mentions,
In harfbuzz there's actually an even simpler repacker that is used first (the tetris serializer) which places items in the order they are generated by the subsetting impl. If that strategy doesn't result in overflows then hb-repacker.hh doesn't even get invoked. The vast majority of subsetting ops go through this path (never even entering hb-repacker). We could possible do a similar approach in write fonts.
write-fonts differs from hb-repacker
in that its input is not a previously ordered/valid graph, so I don't have a good intuitive sense of whether this will translate well in the general case, but it should certainly work in many trivial cases and is cheap to try as a first pass.