It would be great it neoscore could support things like curved staves. It's not obvious how this could be easily implemented though. I think a reasonable initial approach doesn't need to do add any special logic for staves, just deformation of arbitrary paths. (Note that the underlying text implementation uses paths, so in theory we should be able to implement this just for paths and get text behavior for free.) Ideally this deformation would operate as a sort of effect layer so a user could modify staff contents normally while the staff is under deformation. If users want to manipulate the path as deformed, they should be able to irreversibly commit the effect to the path contents (also irreversibly converting text objects into paths).
I see Inkscape supports this, maybe we can port their implementation.
A basis path in black, with a desired deformation path in green:

The basis path deformed:

It would be great it neoscore could support things like curved staves. It's not obvious how this could be easily implemented though. I think a reasonable initial approach doesn't need to do add any special logic for staves, just deformation of arbitrary paths. (Note that the underlying text implementation uses paths, so in theory we should be able to implement this just for paths and get text behavior for free.) Ideally this deformation would operate as a sort of effect layer so a user could modify staff contents normally while the staff is under deformation. If users want to manipulate the path as deformed, they should be able to irreversibly commit the effect to the path contents (also irreversibly converting text objects into paths).
I see Inkscape supports this, maybe we can port their implementation.
A basis path in black, with a desired deformation path in green:

The basis path deformed:
