Hello, I'm a software engineer and I am working on my personal side project related to rendering sheet music. I didn't want to reinvent the wheel so I decided to check Lilypond source code (I find Lilypond the best music typesetter software I know) to understand basic concepts which could help me with my project. However, I have to say I'm struggling to understand how Lilypond works internally. Therefore I'm asking for help.
I browsed through the source code on Github, yet I'm unable to find out how, i.e. slur keypoints are calculated. The Essay on automated music engraving <https://lilypond.org/doc/v2.21/Documentation/essay/automated-engraving> explains that actually three slurs are "generated" and one with the highest point rating is selected. I can't find either three-fold slur generation nor the rating algorithm. Is there any valuable documentation for beginners? I am aware of the Contributor Guide <https://lilypond.org/doc/v2.21/Documentation/contributor.pdf>, yet it gives little to none introduction to code itself. Is there anyone who knows the Lilypond internals and would agree to have a call (Skype/Teams/Discord) to introduce me to the code? I think explaining how the slur is generated (from parsing the code until final control points are calculated) would be a great kickoff and would allow me to continue deep-diving in the Lilypond internals on my own. Best, Mateusz