Dorico is know to do some rough guessing as a first step to determine how much space each stave might take. If this guessing is wrong (because there are too many text inserts that collide with tempo indications that collide with dynamic instructions that collide with section letters), then this kind of “page too full” can easily occur.
It could also be simply that things do seem to fit fine, and you’re fretting about an internal statistic for nothing. You could decrease some default vertical spacing values and watch the layout not actually change much, if at all, but that box suddenly register 99.8% spacing.
Yes, mainly “staff to staff”. But just have a look at your score: “accolade to accolade” will target the gap between the 2 piano staves, and since you have multiple groups of players you might also want to change the other ones, too
Your setup is indeed the perfect use case for all of these 6 settings
You can easily try to reduce each of the by 1 or even 2.
Sounds recursive … Dorico no doubt tackles this using recursion, the problem is knowing when to give up and bail out. But seems like it’s basically a packing algorithm, which you keep iterating until you reach a minima on your fit metric, which unless you’re solving this in parallel you may not be confident it’s the global minima.
Don Knuth (famed CS prof) tackled this in creating TeX. Cursory glance is it appears to be a similar problem, that of formatting text with equations, and music, as two different but perhaps similar typesetting problems. I suppose music is a bit more interesting as you have to coordinate across staves.
I think I might be about to give up trying to get 2 systems on a page. I’ve been tweaking the vertical numbers, and I push it down say one space and it reduces, then push it down more and it increases again. I’m not getting the sense that there’s a setting or group of settings that will fix this for 2 systems per page.
You want to make the Ideal Gap values as SMALL as possible, not as large as possible. Then Dorico will have room to expand. You can make the system gaps relatively larger (than the staff gaps), but not too much.
FWIW my post was referencing exactly that comment you link to - ‘circularity’ and recursion are not mutually exclusive nor intractable. As I alluded this same problem is solved elsewhere via parallelism, either SIMD as in AI or multithread as might be used here. The problem being finding minima/maxima. D & the team know their business so no second guessing there.
As I said tl/dr, mainly me talking to myself about the problem as it’s an interesting one that crops up in CS time and again and not worth commenting on. My son is getting a CS degree now so we’ve been chatting about this as it’s touched on in his classes. Move along …
So, piece all done and sent off. I ended up going with one system per page, as I couldn’t afford the time to sort the collision issues that were occuring. Would be good at some point to figure out if I could have done this differently in order to achieve 2 systems per page without the collisions. For example, whether it would just have been a case of taking the raster size down a bit. I may experiment a bit more now that I don’t have a deadline hanging over me.
I would say (and I do appreciate that this is the first more complex score I’ve taken to print-ready status in Dorico, so it could be user unfamiliarityy) that the experience of writing the piece in Dorico versus the experience of preparing the score were day and night. Writing it was a joy, preparing the score was much less so. It wasn’t always clear exactly what vertical space settings would do. Sometimes I’d decrease staff spacing and system gaps would increase, then I’d decrease a bit more and they would increase again. I realise the settings all inter-operate with one another, but how preciesly they do is currently quite opaque to me.
I actually did watch that, and it was useful. I may share the file with some questions once the piece has been and gone, can’t really do so before that. In the meantime I think I will experiment further and see if I can get to the bottom of it.