Cross staff rests collide with notes

FYI. Cross staff rests collide with notes on the crossed staff and vice versa. See image.
x-staff collisions.png

I don’t have an answer for this problem, but it does seem that the issue is with the angle of the beams - where is the rest supposed to go? If the beam was not slanted, there would be room for the rest, but somehow one voice doesn’t see the other, due to the cross-staff nature. Interesting question!

As Ron points out, there’s a tension here between keeping the rests in line with the notes under the beam and avoiding notes in the other voice. If those notes were not beamed, you would find that the rests would correctly avoid the notes in the other voice, but because of the beams, they have nowhere to go.

I think you can manually adjust the rests in engrave mode but it would be a lot of work

Both breaking the beams and elongating them in engrave mode allows the rests to not collide. The source score uses longer beams and the shown beaming pattern (which is different than the Dorico default).

So is there a reason that Dorico can’t elongate beams or move the rests above/below the beams automatically to resolve these types of collisions?

And for completeness, this issue has nothing to do with cross staff voices. Dorico responds the same when both voices are on the same staff.

Dorico’s policy for positioning rests within beamed groups is to avoid lengthening the stems of the notes in order to accommodate the rests, because, in general, that looks pretty bad. It’s better to move the rests so that they are broadly in line with the surrounding notes in the beamed group and try to keep the stems a more conventional length. Of course there are always exceptional corner cases, but hopefully you have found that sufficient tools are provided in Engrave mode to produce an acceptable result relatively quickly.

One final question in this topic. Will there be proofing tools added to highlight items such as collisions that need manual intervention?

Honestly, it’s not something we have considered, but it is something I will now give some thought to.

What an interesting (and potentially very useful) idea. :slight_smile: