According to the manual's discussion of the library, the library contents are specific to, and saved with, the project. If you have a GENERAL library that contain comprehensive materials that are not project-specific, then the size of all saved projects could skyrocket (or so it seems to me...)

The section of GEORGE COMMANDS on Guidelines contain a collection of options for creating and managing Project Library subfolders, and loading and unloading their images, from/to various sources.

Recently, using these commands I've been able to create the skeleton of an ARAP WARP subfolder manager that works very well.

A Cross-Project Library Annex
Using the built-in Library commands and some custom GEORGE scripting, I could see how a disk based folder (and its subfolders) might be maintained outside of TVPaint, and accessed (loaded automatically ) to any given project using a button/script for temporarily loading parts or all of the Library Annex. To keep Project size manageable the Project Save options might purge or exclude the Library Annex content during the save process, but still maintain its availability after a Project save. It might be a future feature in the next update to Version 11 or exclusive to 11Pro?

If you have a GENERAL library that contain comprehensive materials that are not project-specific, then the size of all saved projects could skyrocket (or so it seems to me...)

i don't agree, because i think this general library should not be saved with the project, it should stay within the configuration,... unless you specifically want them contained.
It should work similar to custompanels.
Custompanels are General and unless you embed them in a project, they are not saved with the project.
the custompanels are saved in the configuration and unless you delete them they are there when you open TVPaint.

If you want to make it a little more sophisticated,
Like Paul Suggested
'Then why not make a split library with a general part and a project specific part.
images in the general part are not saved with the project, but will always be available in the current configuration, and images in the project part are only there when you open that project...

After studying all the different possibilities, it was decided to make the library relative to the project to facilitate the sharing of projects with their images.
That way it allows us to keep the same source of images for several clips.

If the library was common to all the projects, it would need to be located in the TVPaint configuration.
However, if you want to open the project on another computer and configuration, you wouldn't be able to find your images.

If the library was also included within the project as well as in the configuration, when sharing it with someone else, there could be problems of duplicates in the receiving library.

These different issues made it coherent for the library to be related to the project only.

But would you not say my suggestion is better to have?
Your decision works for small projects, but not for big ones.

the problem can really be compared with the custompanel, you can choose to embed it or not...
if you open a project with an embedded custompanel and you already have this panel in your config you then have two identical custompanels in tvpaint

The library doesn't have the same way of working as the custom panels, which can be exported and transferable as TVPX.
It is not the case for the library.

The possibilities for sharing a global library are being studied. But applying the same behaviour to the library than the custom panels will not necessarily prevent duplicates, but it can be a good approach.
In any case, it would require a large amount of work, for the interface as well.