Catalogs defined in `${ASSET_LIBRARY_ROOT}/blender_assets.cats.txt` should be parsed & shown in the user interface.
This work is done in the branch `temp-asset-browser-catalogs` until we have a working `<filesystem>` replacement (see {D12117}).
The basic code design was approved in {D12172}.
- [x] Given `${ASSET_LIBRARY_ROOT}`, find and parse `blender_assets.cats.txt`. This is done in `AssetCatalogService`, which owns the parsed `AssetCatalog` objects.
- [x] Allow getting a single asset catalog by ID from `AssetCatalogService`.
- [x] Ignore comments, empty lines, and catalog IDs without path.
This task can be marked "done" once its code has actually landed in master.