I think I remember Stephan Lehmke writing here somewhere in a comment about outputting a spread at a time instead of page.
That got me thinking; does that mean something like:
\output={\shipout\vbox to 2\vsize{\vsplit255 to\vsize\vfil}}
(Does that even make any sense?) What benefits does it have compared to page at a time?
\shipout
twice, producing two physical pages. The point in question was how to make margin notes on a left page depend on a float placed on the right page. In other contexts, the pattern sketched by you may make more sense. It really depends on the context. In my own system DocScape you can create any number of pages in memory and distribute material on them in any order, destroying and recreating pages as you go, until finally some pages are shipped out. That gives a lot of freedom for optimisation.\shipout
twice\box255
? Isn't the box empty after the first shipout? (I tried\output={\shipout\vbox{\unvbox255}\shipout\vbox{\unvbox255}}
; I think I'm missing something here:-)
)\@outputdblcol
where the first column (coming from box255) is saved in the box\@leftcolumn
and combined with the second column at the next output. Only this would be pages instead of columns and instead of constructing a single page with two columns, two pages would be shipped out.