Code architecture

Hello,

It would be good for users to be able to submit proposed bugfixes or enhancements, however I found it hard to understand the code architecture, i.e. where different areas of functionality exist in the code.
Are there any diagrams, or explanation of which folders or files to look at, to make changes in (say) the schematic diagram functionality, or in the board layout and so on?
It doesn’t have to be a very detailed explanation.
I think it could help scale the project, if some users slowly become confident in delving in the code.
I have tried looking at the code, but none of the files have any comments, or even a header to explain what the file is used for. The filename and folder name have not helped me narrow things down unfortunately so far. I can see things are logically organized, the code looks very neat, I just would like to see a document or diagram or a few lines explaining at least the important files or folders, for instance which files and folders of code are running waiting for mouse clicks in (say) Schematic view, which files are responsible for managing the topology of the schematic as it is being drawn, and so on.
Thanks for the project.

Dunno, taking at look at merged pull requests, people were able to add nontrivial features without much support from my end: add "do not populate" component marking by eqvinox · Pull Request #347 · horizon-eda/horizon · GitHub

Some detail is explained in various blog posts: https://blog.horizon-eda.org/

The filename and folder name have not helped me narrow things down unfortunately so far.

what thing in particular are you looking for?