MusescoreXML documentation for Slurs
I'm trying to understand the MusescoreXML format and the underlying way how slurs are conceptually encoded.
I've created a very simply case of a slur that makes an s-curve.
The corresponding encoding is
<Spanner type="Slur"> <Slur> <SlurSegment no="0"> <o2 x="3.77827" y="0.485428"/> <o3 x="-4.10585" y="24.6961"/> <o4 x="-1.0377" y="0.878901"/> <offset x="-0.636204" y="5.82274"/> </SlurSegment> </Slur> </Spanner>
Is there some documentation how the slur segment is being encoded and interpreted? As far as I understand, a slur is a bezier curve with a starting point, an end point and some intermediate points (editable in MuseScore are two). Ideally this is stored in relative sizes to allow for dynamic scaling. Any information on how this is being done would be helpful.
As a bonus question: is there some information on how the solution relates to how other formats encode this? I found https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-slur.htm, but the documentation does not reveal how the fields
bezier-y etc. are supposed to being handled or what information they store. MuseScore seems to ignore them when importing a score from a MusicXML file, where I manually added some values. In MEI it seems to be a list of coordinate pairs in absolute coordinates (https://music-encoding.org/guidelines/v3/elements/slur.html) inside of the bezier element.