Revision c8cb79e by Bastien Montagne / Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 21, 2021, 15:11 (GMT) |
Fix 3DView not updating on some NC_ID notifiers. Outliner uses a lot `NC_ID | NA_EDITED` e.g., which was not caught by the View3D editor for update. |
Revision dfaf420 by Philipp Oeser / Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 21, 2021, 15:11 (GMT) |
Fix missing view3d updates after recent NC_SPACE notifier filters Since {rB46aa70cb486d}, using `NC_SPACE | ND_SPACE_VIEW3D` as notifier is restricted to space data as a reference. This was still used though for RNA updates in other places (namely `rna_camera`, `rna_scene`, `rna_animviz`), and passing NULL would automatically set the notifier reference to the owner id. Above commit would happily filter these out, leading to missing refreshes. Now use more specific notifiers (in case of animviz a new `ND_DRAW_ANIMVIZ` was added). This was reported for Camera background images btw. Fixes T86670. Maniphest Tasks: T86670 Differential Revision: https://developer.blender.org/D10758 |
Revision 4886bce by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:22 (GMT) |
Merge branch 'ui-asset-view-template' into asset-browser-poselib |
Revision 694609e by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:22 (GMT) |
Merge branch 'master' into asset-browser-poselib |
Revision c2b041c by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 19, 2021, 16:16 (GMT) |
Merge branch 'master' into ui-asset-view-template |
Revision c026bb2 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 19, 2021, 16:14 (GMT) |
Cleanup: Python code style |
Revision 063c248 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 19, 2021, 16:09 (GMT) |
Fix race condition when multiple file/asset-lists are running at once E.g. opening a file with an asset viewer and an Asset Browser could cause one of them to not load its files properly. That is because there was only one `wmJob` per scene so when the first one was done it would end the other one(s). I think this would be a problem in master for the regular File Browser too. Instead of setting the scene as owner of the job, use the file-list, so that each file/asset-list gets its own job. |
Revision 40ed613 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 18, 2021, 18:47 (GMT) |
Cleanup: First round of polishing (C++ style, type safety, naming, etc) * Follow "rule of five" * Explicit conversion constructors * Separate inteface declarations from definitions (readability) * Avoid clang-tidy error * Naming .... |
Revision d88b36d by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 18, 2021, 14:48 (GMT) |
Merge branch 'ui-asset-view-template' into asset-browser-poselib |
Revision d78754f by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 18, 2021, 14:30 (GMT) |
Merge branch 'master' into ui-asset-view-template |
Revision 2587656 by Sybren A. Stüvel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 18, 2021, 13:44 (GMT) |
Pose Library: use the new temp-loading functions in the blenloader module |
Revision b2d90ec by Sybren A. Stüvel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 18, 2021, 13:44 (GMT) |
Cleanup: pose lib, clarify comment |
Revision 95fa1b7 by Sybren A. Stüvel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 18, 2021, 13:43 (GMT) |
Merge remote-tracking branch 'origin/master' into asset-browser-poselib # Conflicts: # source/blender/blenloader/intern/versioning_290.c |
Revision 02ccd59 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 17, 2021, 19:51 (GMT) |
Use custom collection property to pass the asset list to UI lists `UIList` is designed to use collection properties. I previously did a whole bunch of hacks to use it without. This isn't acceptable for master, instead a proper collection property should be provided. Idea is to let scripts register a custom collection property, that the asset view template can fill with the latest asset list contents and pass that to the UI list. Longer term I'd prefer if the UI code would support other containers, and not rely so much on RNA and custom/ID properties. I have ideas and plans for this, but meanwhile, this will do to remove the hacks. |
Revision b485710 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 17, 2021, 12:56 (GMT) |
Fix warning about possibly mixed C/C++ linkage of type Would give a warning: ``` 'ED_asset_library_reference_from_enum_value' has C-linkage specified, but returns incomplete type 'struct AssetLibraryReference' which could be incompatible with C [-Wreturn-type-c-linkage] ``` |
Revision 9b2661a by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 16, 2021, 16:38 (GMT) |
Construct-on-first-use to stay far away from static init. fiasco We didn't actually run into the static initialization fiasco, but only because `blender::Map` didn't use the guarded allocator on default destruction. Better to stay far way from static initialization fiasco, and the construct on first use idiom is trivial and prevents it. So better use that. |
Revision 943467a by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 16, 2021, 15:45 (GMT) |
Merge branch 'ui-asset-view-template' into asset-browser-poselib |
Revision 19e1ae8 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 16, 2021, 15:44 (GMT) |
Fix asset storage crash when closing Blender in release mode |
Revision a048551 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt) March 16, 2021, 14:45 (GMT) |
Use custom .py property for active asset index, stored in the workspace Previously I just used the active color index of the first palette to get things to work. I would've preferred if the asset view template could register own properties and store them in the `UIList` it creates. That way you could have multiple asset views with entirely independent data. But since this isn't possible, we need a different way to store such data, I think the workspace makes sense. It should still be possible to store different data for different use-cases, e.g. to show a pose asset list in pose mode and a material asset list in object mode. So idea is to let scripts/add-ons register custom properties for their specific use case (e.g. "Active Pose Asset" for the pose libraries). |
Revision 9654394 by Julian Eisel (asset-browser, asset-browser-poselib, asset-system-filelist, temp-pose-flipping-fix-attempt, ui-asset-view-template) March 16, 2021, 14:43 (GMT) |
Use custom .py property for active asset index, stored in the workspace Previously I just used the active color index of the first palette to get things to work. I would've preferred if the asset view template could register own properties and store them in the `UIList` it creates. That way you could have multiple asset views with entirely independent data. But since this isn't possible, we need a different way to store such data, I think the workspace makes sense. It should still be possible to store different data for different use-cases, e.g. to show a pose asset list in pose mode and a material asset list in object mode. So idea is to let scripts/add-ons register custom properties for their specific use case (e.g. "Active Pose Asset" for the pose libraries). |
|