not convinced...
you won't be travelling back and forth via commits... as most of the time, users will be dealing with latest versions, and not particularly old versions.
sparse checkout, id add if/when needed... don't overcomplicate from the start... my experience is repos are not particularly large, and I've never had an issue, I cannot see the axo objects are particularly large as they are text objects so are compressed.
merge/stash, this needs to be considered (which is why is set my idea has flaws), essentially my idea was that users would NOT edit the repo directly, more there changes would be submitted by the app into the repo SO it could for changes, do syncs beforehand etc to prevent this.
(not as simple as that but solvable i think)
I know the tendency is to think this is 'overkill' we only need something simple, but Ive seen this so many times on projects... a team hack together a simple solution, which overtime gets more involved and complex... (I've seen it with files vs databases, version control and N other things) and it ends in a dogs breakfast and a maintenance nightmare.
and I can see it here already....
a file solution, will not provide any history, or authoring, or dates, comments, or checkpoints.... how long before someone suggests as well as the files we need metadata (so we can see comments, or the date of change, or the author), or wants to be able to access a file from 3rd January... how long before someone says its too big, we need to store only differences, or compress it?
I don't think any of these are unreasonable requests... and are probably likely, once the library has been around for a while..... before long you have build a version control system.
its the same with packaging and interdependencies, first people want zip files, then they want dependancy management, package retrieval, archiving.
doing this, means before you know it yours spending weeks of development time on it, which we just don't have... and there are many more interesting things to get on with.
Im not saying we could not build a custom solution, we could , but frankly, as an open source developer Im not interested in build a VCS/Packaging system (if I were, Id contribute to a VCS/packaging project)... Im interested in building a music related product, this is what I think Axolotl excels at.. we all want a user library, but this is only 3% of the requirement, so I don't want to spend 80% dev time on it.... a few days, not a few weeks/months for me.
BUT this is only my opinion, if it interests you/johannes thats cool
one point on 'requirements', please remember many musicians will have axoloti UI on a machine in a studio that is NOT connected to the internet (also if they are 'away' they might not have an easy way to connect), so we should minimise the amount of online retrieval... which means having local caches.