Revision 689bdd7 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:15 (GMT) |
Asset Catalogs: read new on-disk catalogs before saving to disk Before saving asset catalogs to disk, the to-be-overwritten file gets inspected. Any new catalogs are loaded to memory. - Changed catalog path: in-memory data wins - Catalogs deleted on disk: they are recreated based on in-memory data - Catalogs deleted in memory: deleted on disk as well - New catalogs on disk: are loaded and thus survive the overwriting |
Revision 9f7741a by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:15 (GMT) |
Asset Catalog tests: initialise the tempdirs Call `BKE_tempdir_init("")` to have non-empty tempdirs. |
Revision 07af2da by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:11 (GMT) |
Cleanup: refactor asset catalog definition file loading Change the API for loading asset catalog definition files, by moving the file/line parsing code into the `AssetCatalogDefinitionFile` class. This separates the parsing of these files from handling the parsed data. The caller of the `parse_catalog_line()` function has to provide a callback that stores the `AssetCatalog` in the desired place. No functional changes. |
Revision c675dd0 by Julian Eisel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:10 (GMT) |
Remove remaining C++ filesystem file & CMakeLists entries |
Revision f4a68c3 by Julian Eisel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:07 (GMT) |
Merge remote-tracking branch 'origin/master' into temp-asset-browser-catalogs |
Revision 27ceb53 by Julian Eisel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:06 (GMT) |
Remove ghc::filesystem files |
Revision 1bf0f1a by Julian Eisel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 14:02 (GMT) |
Use existing C-APIs for path and filesystem handling The `ghc::filesystem` we wanted to use for a platform compatible replacement of `std::filesystem` (see D12197) doesn't behave as we expect or want to. We could probably find a solution, but it's not worth the extra time. To move this forward, we can switch the asset catalogs to use Blender's C functions for path and filesystem handling. Differential Revision: https://developer.blender.org/D12538 |
Revision a1cbcac by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 10:35 (GMT) |
Asset Catalogs: implement catalog deletion Asset catalogs can now be deleted by providing their UUID. This marks the catalog for deletion, which causes it to be hidden from the UI and not saved to disk. The catalog is not immediately deleted from memory, to make it possible to later merge on-disk data with in-memory data. This is envisioned to support multi-user edits to the same catalog definition file (for example when synced between machines with SyncThing). |
Revision c176cfb by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 10:32 (GMT) |
Cleanup: asset catalog tests, move tree testing code into separate function Move `AssetCatalogTree` verification code into its own function, so that it can be called from other places as well. |
Revision 5d4bd31 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 10:23 (GMT) |
Cleanup: asset catalogs, move "only for test" code into test Move the "for testing only" function `get_catalog_definition_file()` from `AssetCatalogService` to a new class `TestableAssetCatalogService` that's only available in the unit test file that needs it. No functional changes. |
Revision 33ff5b6 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 09:49 (GMT) |
Cleanup: Asset Tests, rename Elly to Ellie The test character names come from the Sprite Fright production, and there the girl is named Ellie, not Elly. Once seen cannot be un-seen. No functional changes. |
Revision 0a98ae6 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 09:15 (GMT) |
Cleanup: asset catalog, add note about path cleanup No functional changes. |
Revision 99bef6a by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 08:55 (GMT) |
Merge remote-tracking branch 'origin/master' into temp-asset-browser-catalogs |
Revision b661536 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 08:30 (GMT) |
Asset Catalogs: move from string identifier to UUIDs Move from a string `catalog_id` to a UUID. This avoids having to keep the ID of the catalog in sync with its semantics (so renaming from X to Y can keep the UUID the same). Since UUIDs don't communicate any human-readable information, the mapping from catalog UUID to its path (stored in the Catalog Definition File, CDF) is critical for understanding which asset is stored in which human-readable catalog. To make this less critical, and to allow manual data reconstruction after a CDF is lost/corrupted, each catalog also has a "simple name" that's stored along with the UUID. This is also stored on each asset, next to the catalog UUID. |
Revision e7e1402 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 08:23 (GMT) |
Asset Catalog tree test: add array boundary check This makes it easier to figure out what's going on when the test isn't updated for new test data in the file it reads. No functional changes to Blender itself. |
Revision ed53fb5 by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 21, 2021, 08:22 (GMT) |
Cleanup: asset catalog test, add explanatory comment No functional changes. |
September 20, 2021, 22:17 (GMT) |
Ensure unique catalog name when adding Without this, adding multiple catalogs would always add them with the same name. The first duplicate name would cause an assert to fail. |
September 20, 2021, 17:40 (GMT) |
Merge branch 'master' into temp-asset-browser-catalogs-ui |
Revision 89423ea by Sybren A. Stüvel (temp-asset-browser-catalogs, temp-asset-browser-catalogs-ui, temp-assetlib-plus-uuid-rename) September 20, 2021, 10:16 (GMT) |
Merge remote-tracking branch 'origin/master' into temp-asset-browser-catalogs |
September 19, 2021, 22:08 (GMT) |
Merge branch 'temp-asset-browser-catalogs' into temp-asset-browser-catalogs-ui |
|