91 KiB
Weekly Reports: 2023
November 27 - December 3
- Gave a presentation on the new (proposed) developer documentation platform.
- Wrote a blog post based on the presentation. Needs finishing but most content is there.
- Meeting with two Blender Studio technical artists about the Blender Projects support. Quite useful, and important outcome is that we will try to get it used in the Gold production.
Main branch commits:
- e3b3399bcbee: Cleanup: Add constructor/destructor for drag data to avoid includes
- 0156169a9c01: Fix #115431: Crash on right click on string button inside menu
- 86362f14f9f6: UI: Improve description of custom asset library type
- Developer Documentation:
Review:
- #115364: Fix #115363: Scrollbars for template_lists in popups update issue
- #107230: IO: Add support for multiple drag-n-drop files
- #104547: UI: Dynamic File Browser Tooltips
Next Week
- Work on Blender Projects
- Finish & publish blog post about the new developer documentation platform.
- UI meeting
November 20 - November 26
Focused on Blender project add-ons support, almost done. Showed it to the Studio, they are really enthusiastic about it.
- Worked on presentation for the new developer documentation platform.
- Blender Projects:
- Blender Projects, per project add-ons:
- 327b25bd2224: Initial addons UI in project settings, showing addons from preferences
- 793631722fac: Recognize available project add-ons & refresh on project change
- dc96ca23ff58: Make enabling, disabling, installing and removing project addons work
- 8d34bc8ea0ec: Basic, temporary add-on UI in the project settings
- 66f8ce5d5366: Fix add-ons not loading correctly after reload/file-load
- b01cb5df9443: Fix use-after-free
- f9aa81efe133: Complete addon UI in Project Settings UI
- c22190d20ee8: Fix installing addon when project addon path doesn't exist
- 0ab47144ee36: Support custom addon preferences as properties in settings.json
- Fixes to Blender Media Viewer (used by the Blender Studio)
Review:
- #107230: IO: Add support for multiple drag-n-drop files
- #115353: Assets: Cleanup/deduplicate usages of RNA enum for asset lib types.
- feac369e30f7: Add unit tests for new project API functions
Next Week
- Presentation on new developer documentation platform.
- More work on Blender projects.
- Catch up with patch reviews.
September 18 - September 24
New PRs:
- Assets: Replace most asset handle usages in BPY with asset representation
- Asset shelf: Better region height snapping behavior, "Show Names" changes size
Main branch commits:
- Assets: Expose more data in the asset representation RNA/BPY
- Assets: Expose asset representation in context RNA/BPY
- Assets: Remove (almost) all usages of asset handle in Python scripts
- Pose library: Use asset representation type instead of asset handle
- Assets/BPY: Remove unnecessary asset handle related RNA members
- Assets/BPY: Remove unnecessary asset file handle context member
- Refactor: Use asset representation from context instead of asset handle
- Cleanup: Remove unnecessary asset temporary ID consumer override
- Cleanup: Remove unnecessary forward declaration
- Refactor: Use asset representation for asset browser context query
- RNA/BPY: Replace
asset_library_ref
withasset_library_reference
- Pose library: Update to reflect naming change in BPY
- Fix documentation build (validation?) error
- Pose Library: Tweak to the add-on description
- Fix incorrect preview tile button size label height
- Fix tooltip showing button label redundantly (regression)
- Asset shelf: Improved region height snapping behavior
- Fix duplicated member in grid view item class
- UI: Remove dead space between tree view items
Review:
- Fix #112462: Panel buttons remain active after redrawing
- Update theme presets with missing fields and values
- Fix: Changing theme color for recent additions doesn't save
- UI: Remove File Browser "small_size" Feature
- Fix: UI: Don't show padding buttons in menus
- UI: Discrete Thumbnail Sizes for Menus
- Outliner: Double-click on item icon to select contents/hierarchy
September 11 - September 17
- UI module meeting
- Meetings regarding UI/UX designer candidate.
- Work on asset shelf UI polish.
New PRs:
- #112241: Asset Shelf: Transparent asset shelf header with background for buttons
- 06913ca62c83: Asset Shelf: Draw asset shelf header transparent with button background
- 9e0810bb3f3c: Use normal region clearing without region overlap enabled
- 5d6b8d2ff7ba: Add separator line with rounded corners; general cleanup
- 262e419405be: Refactor: Split and reorganize functions
- 7f9b1d002c68: Move all button section code to own file
- d30ee01c3f76: Disable resizing region between button sections
- d1f83b6d179b: Minor tweaks from review
- b267d3c14ad5: Cleanup: Pass span by value
- 5695cf56b79b: Slightly increase shelf header height so padding matches separator line
- #104889: Pose Library: Tweak to the add-on description
Main/release branch commits:
- 0519e8d711dd: UI: Remove panel name size limit for complex character languages
- 5470ce4cf3ba: Cleanup: Improve comment on asset shelf header size
- 36f31f1eff92: Asset shelf: Remove unnecessary separator between buttons in header
- bb7a220e890d: UI: Improve/correct vertical widget positioning in header-like regions
- 213b8325bfaa: Asset Shelf: Make display popup more constistent with Asset Browser
- 18281ee21106: Asset Shelf: Make header buttons consistent with Asset browser
- 4fff53d9ef0e: Cleanup: Improve internal asset shelf function name
- d421ebac5e31: Assets: Expose ID type in asset representation RNA for Python access
- 728d47f3e4de: Asset shelf: Use asset representation for asset shelf BPY methods
- 92ac50f257cd: Pose library: Update asset shelf methods for changes in BPY
- dcce2a85c529: Pose Library: Adding myself to authors list
Review:
- #112166: Geometry Nodes: Update node tool menus dynamically
- #112104: UI: Input Placeholders
- #111519: GPv3: Send updates after drop operation
- #112355: Geometry Nodes: Show uncategorized assets in separate menus
- (Design) #112209: UI: Possible Change of Interface Font
- (Design) #112160: UI: Replace UI_ACTIVE with UI_HOVER
- #112090: UI: Theme: Allow transparency when editing text in widgets
- #111506: UI: Add save button to theme selection UI
Next Week
- Wrap up asset shelf UI polish
- General development.
September 4 - September 10
New PRs:
- #111920: Code quality: Add type-safe C++ functions to cast ID types
- #111979: UI: Remove panel name size limit for complex character languages
- #112101: Thumbnails: Always use cached thumbnails for offline files
Main/release branch commits:
- 4c8847ec4f07: Cleanup: Remove
extern "C"
from DNA headers - ba03948dd229: Cleanup: Move BKE preview image code to separate file
- 6659579abc25: Cleanup: Move variable declarations close to usage in thumbnail function
- 1ee584c137a6: Cleanup: Add comments to thumbnail creation function
- a24fa3512095: Cleanup: Avoid redundant/confusing variable in thubnail create function
- f20853a6c99f: Fix possible crash when loading thumbnails from .blend files
- 1b2e29e69223: Cleanup: Clarify path variable name in thumbnail create function
- 3589533908c3: Thumbnails: Always use cached thumbnails for offline files
- 87aa34d8017e: UI: Let asset shelf header resizing affect the entire asset shelf
Review:
- #111921: Fix #111779: drop asset shading group to GN editor still imports
- #111717: Geometry Nodes: Extend add modifier menu with node group assets
- #111924: Fix: Outliner missing update adding asset nodegroups
- #111926: Cleanup: Remove extern "C" from DNA headers
- #111074: UI: Highlight Selected Enum
- #111954: Fix #111896: Regression: Crash for entering into Armature Edit Mode
- #110855: UI: support searching in menus
- #111670: Fix: Crash when trying to poll the status of non-existent icons
- #111939: UI: Show Selected Tool Item
August 28 - September 3
Bug fixes and general UI/asset-system development (plenty of refactoring).
- GSoC final evaluation
- User interface module meeting
- Updated #109234: WIP: Use UI preview system for async loading of file/asset previews:
- Painfully updated #107576: WIP: Rewrite asset browser as separate editor
- Design feedback:
New Tasks:
New PRs:
Main/release branch commits:
- e2d4403497c6: Fix #111332: 4.0 files cannot be opened in 3.6, invalid region types
- 7fb58a33f0ad: Fix #111332: 4.0 files cannot be opened in 3.6, invalid region types (updated to changes in
main
branch) - 567e3b9b197f: Assets: Always use guarded allocator for weak references
- 94d82531d4bf: Fix #111694: Crash when reloading scripts with asset shelves
- b5b77a43e24b: UI: Add assert for valid asset shelf type
- d5bac0421f17: Fix warning print when running asset shelf UI template
- eefee47a8acb: UI: Refactor deferred preview image storage
- 401340fadead: MSVC: Attempt to fix build error because C++ type in C-linkage block
- ce8e9c6a372b: Fix error in preview image freeing, own earlier commit
- 8c193180d300: Fix memory leak when freeing custom preview icons
- c130b703c5ed: Cleanup: Use snake case for outliner functions
- 0699c9a2b35c: Cleanup: make format changes in space_sequencer.py
- 6a441482e606: Cleanup: Simplify sanity check for new outliner tree element design
- 4a689ea7ee5d: Cleanup: Remove dead outliner tree element code, replace with assert
- ba44afae5e53: Cleanup: Simplify outliner tree element assert
- 0a633a4e07fd: Refactor: Untangle confusing & unsafe outliner tree element data passing
- 781492fdb4c3: Refactor: Simplify outliner tree element creation using member function
Review:
- #111621: Cleanup: remove irrelevant comment in TreeElementModifier
- #111646: Fix #111545: Regression: Crash when drawing all view layers in outliner
- #109798: UI: Consistent Menu/Block/Popup Content Ordering
- #111693: Fix: Enter on the filebrowser filename label skips operator
- #111717: Geometry Nodes: Extend add modifier menu with node group assets
August 21 - August 27
Back from holidays on Wednesday. Made the asset-shelf non-experimental, fixed high priority bugs and some general UI development.
- Worked on using a tree-view for the collection visibility UI in the sidebar:
Main/release branch commits:
- 7bb693581f7c: UI: Move asset shelf out of experimental
- 3c3a2ce205e3: Pose Library: Always use asset shelf, remove old UI (hint at new one)
- 604985452a67: Fix label alignment in preview commit (pose library)
- 3220912760e0: Fix 109320: Crash when showing tooltip in menu search (Intel MacOS)
- e57726594def: Fix missing context attribute access in asset shelf polls
- e5818ed85123: Pose Library: Fix missing context attribute access in asset shelf poll
- 56781c80b78a: Fix #111212: Crash in menu search when cursor is outside the window
Review:
- #107854: UI: Add Placement Settings to the Options popover
- #111230: Outliner: Port view collection base elements to new tree-element code design
- #111167: Outliner: Port pose channel elements to new tree-element code design
- #110547: Fix #109847: Inconsistent panning in editors
- #111522: UI: Add a context argument to tree view item rename functions.
August 14 - August 20
One day of work only, Holidays starting Tuesday.
Main/release branch commits:
- 5dcf704324da: Refactor: Solve invalid icon-id enum values, use type alias
- 99a0ddd4a1dc: Outliner: Show same warning for all fixed name tree element types
- 5c2c95f80da5: Outliner: Reword warnings when element renaming is not possible
Review:
- #111105: GPv3: Outliner support
- #110929: Fix #110723: cant drop object name on object field/socket in node editor
- #111110: Fix #111067: NLA tracks cannot be renamed from Outliner
- #111118: Cleanup: remove unnecessary constraint code in pose base expand()
- #111130: Outliner: Port linked object elements to new tree-element code design
- #111114: Outliner: Port modifier elements to new tree-element code design
- #111220: Outliner: Port layer collection elements to new tree-element code design
Next Week
- Move asset shelf out of experimental
- Asset shelf UI polish
- General maintenance, review & fixes.
August 7 - August 13
Two days of sick leave again :/
- New developer documentation platform:
- 429cfded66db: Update repository URL, get edit button to work, remove view button
- 74fbe9b3c18a: Add banner warning that the platform is experimental
- 7ce6d21a5905: Remove proof of concept warning on landing page
- Added global navigation bar from developer.blender.org (1c0b1dd7575f, bf037b16c939, 737d7815c2b8)
- Updated #109234: WIP: Use UI preview system for async loading of file/asset previews
Main/release branch commits:
- a995e16cd2de: Fix incorrect type cast of Outliner view layer element data
- c0065979a15b: Refactor: Remove hack to store sequence type in Outliner tree element
- e2cd2236cabe: Refactor: Avoid unsafe cast for Outliner sequence elements
- ff636ed092e9: UI: Allow passing empty string to templateID to ensure no label
- 4095e6a14c28: Fix incorrect parameter value passed to ID template
- a89c10497227: Cleanup: Don't set unused ID code member for Outliner layer base element
- c19caff2dc68: Cleanup: Include layer tree element in assert check
New PRs:
Review:
- #110929: Fix #110723: cant drop object name on object field/socket in node editor
- #110920: Outliner: Port view layer elements to new tree-element code design
- #110585: Cleanup: Fix missed ShaderFx pointer to TreeElementGPencilEffect constructor
- #110920: Outliner: Port view layer elements to new tree-element code design
- #110458: UI: Add initial UI support for ID pointers custom properties
- #111032: WIP: UI: TreeView Item Drag Padding
- #110587: Outliner: Port pose group elements to new tree-element code design
- #110806: Outliner: Port pose base elements to new tree-element code design
Next Week
- Holidays mostly :)
July 31 - August 6
One day off. Managed to land the asset shelf in the main
branch now!
- Added element type porting status table to #96713: Continued Outliner Code Refactor
- Asset shelf:
- 061469eb9026: Make asset poll callback non-temporary design
- eb4b74e8dcf9: Cleanup: Remove outdated TODO comment
- c415f0783303: Pose Library: Correct asset shelf callback name, remove outdated TODO
- 169093f1bc80: Pose Library: Add comment on asset shelf option
- 50259e62bfa7: Show loading icon while loading previews, and type icon if no preview
- 182deed7914a: Avoid slight text flashing while clicking assets
- 8c584cb7aeb4: Address points from review (except feature request)
- New PR: #110756: Gray out "Asset Shelf" region toggle in menu if none is available
- 7b61dde976a1: Fix earlier active asset shelf exposed in context when poll fails
- a1d1bc43eeb0: Remove changes to be committed separately
- Split the PR into multiple commits.
- UI meeting, polished meeting notes
Main/release branch commits:
- 9d1b89c513ff: Cleanup: Move file context callback to own file
- 159c82903c84: Cleanup: Correct copyright year in asset catalog UI file
- 96c167e54547: Outliner: Add context member for active data-block
- 7bbf2f6754ab: Cleanup: Compile internal File/Asset Browser headers in C++
- 3d6aed39b9fc: Cleanup: C++ cleanup for File Browser headers recently converted to C++
- f671cf0786d7: Cleanup: Remove unnecessary struct keywords in internal Outliner header
- ebfa6b9f045c: Cleanup: Add asserts for Outliner tree element creation
- 49adf49bae22: Fix outliner library override data storage (undefined behavior)
- 9048bf6ffdc3: Cleanup: Use enumerator instead of magic number in outliner function
- Asset Shelf:
- 8662575f40f6: UI: Avoid slight text color flashing while clicking preview tiles
- 98142f5e35b4: UI: Asset Shelf Support (Experimental Feature)
- 8b19477e9c89: UI: Support asset shelves in 3D Views
- 268d322e7cd3: BKE: Bump subversion for versioning in previous commit
- 94fdafe90618: Sculpt/UI: Experimental asset shelf for brush assets in sculpt mode
- 6764e6949121: UI: Add asset shelf Python UI template
- 42dfa740c44c: Fix crash when toggling asset shelf "Show Names" with sidebar open
- 2faef810411b: Pose Library: Update to use the asset shelf (when enabled)
Review:
Next Week
- Further Asset Shelf UI polish
- General changes focusing on 4.0 compatibility breakages.
July 24 - July 30
One last day of sick leave. Focused on the asset shelf review and merging individual bits into main
otherwise.
- Asset Shelf:
- Updated #110212: Fix missing redraws of affected regions with dynamically sized regions
- Updated #110200: UI: Refactor quick label tooltip implementation for buttons
- Updated #108892: UI: Attempt to restore region for redo from Adjust Last Operation panel
- Replied to review comments in #104831: UI: Asset Shelf (Experimental Feature)
- 4beaf1531d54: Fix crash with no custom context menu is set for asset shelf type
- f7ab83d5585c: Fix crash when duplicating 3D view with asset shelf in "All" tab
- 77505cf4163a: Quiet warning about empty asset shelf keymap
- 877c2d53fdb7: Address various points from review
- dca343a2599e: Pose Library: Correct changed asset shelf function name
- 4bb3435225f9: Rename settings region to header region
- 0d6572f4520d: Move asset shelf storage to asset shelf region data
- 4095dcdd44ff: Remove now unnecessary changes
- 40dea5249881: Remove now unnecessary changes to pass context to drag data creation
- 83a0641fcd27: Remove now unnecessary change for layout based region drawing
- 45367db7c962: Cleanup: Use nullptr in RNA C++ files
- 7b1da46441d2: Rename
AssetShelfHook
toRegionAssetShelf
- efdf201477b4: Use same padding horizontally as is used vertically
- c10be0165e38: Don't assume 3D View for asset shelf data reading/writing
- Updated #109234: WIP: Use UI preview system for async loading of file/asset previews:
- Opened Issues:
- Created PRs:
Main/release branch commits:
- 4137f9a87fa0: Fix missing redraws of affected regions with dynamically sized regions
- 63c07c80f5df: Cleanup: Use const for screen lookup helpers
- db0b804a0a03: UI: Attempt to restore region for redo from Adjust Last Operation panel
- 9d0907560a55: UI: Refactor quick label tooltip implementation for buttons
- add3ec71d280: Cleanup: Address clang-tidy warnings in UI views
- dedd55df33c9: Fix API design issue with activating UI view items
- 5f437908a2d5: Cleanup: Correct grid view comments
- 2e9bc6373c81: Refactor: Deduplicate view item active state logic
- 741c684bf689: Refactor: Pass context to UI view item activate function
- 382683db622a: Fix build errors after ee7ba1955c
- 3d6f02493e0f: Revert 790cbeda2ce920bcd4d5e1a4967783f351bfbf5e
- d1e590eafa1f: Refactor: Avoid evil context storage in drag data for asset import
- 4319c211dc19: UI: Support layout based region resizing that still allows user resizing
- 3053cba6e98c: Fix glitch when unhiding fixed size regions with region resizing
- 1fe45cef9192: Fix broking popover refreshing [sic]
- 088d7a0bdd8e: UI: Activate view item on right click on nested button too
Review:
- #110378: GPv3: send notifiers and undo push when changing the active layer
- #110109: Implementation of new blendfile compatibility policy
- #110517: Fix #110497: Quick favorites can be duplicated
- #110245: Outliner: Port particle system elements to new tree-element code design
- #110371: Outliner: Port grease pencil effect elements to new tree-element code design
- #110003: Outliner: Port deform group elements to new tree-element code design
- (Brief in-person checkup) #110534: LibOverride/RNA Diffing refactor.
- #110018: Refactor: Retrieve node operator asset with property
Next Week
- Further Asset Shelf UI polish
- Merge Asset Shelf into
main
July 17 - July 23
4 days of sick leave.
- Asset Shelf:
New PRs:
- #110197: Assets/Pipeline: Clear asset data by default on all "Make Local" actions
- #110200: UI: Customizable quick label tooltip for buttons (for asset shelf)
- #110212: Fix missing redraws of affected regions with dynamically sized regions (for asset shelf)
Main/release branch commits:
- 93bb7cbd91d7: Fix compile error with
WITH_OCEANSIM
disabled - e8187413cf83: Fix compiler error with
WITH_BULLET
disabled - 0fe2d5acb6ca: UI: Refactor calculations for grid view visible items optimization (for asset shelf)
Review:
Next Week
- Get asset shelf reviewed
- Further asset shelf UI polish
July 11 - July 16
Got tree-view and Grease Pencil 3 layer UI drag & drop support merged, further merges of asset-shelf related changes and a UI polish pass on the asset shelf.
- Asset Shelf:
- Drag & drop reordering support for tree-views and the grease pencil tree view UI -- merged into main branch now, see below:
- Further discussion on #105807: Asset Types & Traits
New PRs:
- #110016: UI: Customizable quick label tooltip for buttons (for asset shelf)
Main/release branch commits:
- For asset shelf:
- 4525527852f7: UI: Basic tree-view drag & drop reordering and inserting support
- d31a0e83936d: GPv3: Drag & drop reordering & inserting in the layer tree UI
- 3757ec7ee898: Silence unused variable warning in Outliner code
- efbca8d66067: Cleanup: Remove unnecessary tree view function override, add comment
- 3d1bcb3b74d0: Extern: Update json library to 3.11.2
Review:
- #109793: Outliner: Port edit bone elements to new tree-element code design
- #109706: Fix: Adding node group asset doesn't respect import method
- #109810: Fix #109802: Outliner "Blender File" view cant delete scene
- #110018: Refactor: Retrieve node operator asset with property
- #108210: UI: uiBut Indeterminate State
Next Week
- Get asset shelf reviewed
- Further asset shelf UI polish
July 3 - July 10
Asset shelf UI polish, merged some more changes from the asset shelf branch into the main branch, and some work on tree-views (hierarchy lines drawing and drag & drop reordering).
- Asset Shelf:
- 024f37556703: Avoid rather sneaky overriding of operator context in context menu
- 0070e05e00f4: Remove separately submitted changes for azone offset (see #109753)
- 522aecd7b576: Turn footer into a header
- 2be740492b13: Hide catalogs without applicable assets from catalog selector
- 4b1865c2452a: Show info label in catalog selector when no applicable assets are found
- 5d0634b3c030: Hide scrollbar when not needed
- c81fd2cb6c48: Make asset shelf use full area width, cut into sidbar/toobar
- adbef033d5fa: Move checkboxes to the right
- b773d3e66002: Gray out catalog names of disabled catalogs
- 1a809193d5c2: Uncollapse root level catalogs in the catalog selector
- New developer documentation platform:
- Drag & drop reordering support for tree-views and the grease pencil tree view UI:
- 7ff5eabb612e: Grease pencil: Support dragging layers into, before, and after groups
- 4d6f5f3597d3: Refactor hovered item query
- Created separate PRs for the changes, see below.
Main/release branch commits:
- 248b32289619: UI: Improve how region size snapping respects the maximum size
- 0d1f3f445a68: UI: Support page based scrolling in View2D
- ed38ef31f7e5: UI: Fix view item context menu not using context from button
- eb1e8cb4cc1c: Pass context to region polls
- 71273df2d5f5: UI: Draw hierarchy lines for tree-views
- 59adf9cdd6bc: GPv3: API tweaks to prepare for drag & drop reordering
New PRs:
- #109690: UI: Use search popup to select a new ID for "Remap Users" #109690
- #109753: UI: Improve region resize edge detection for transparent regions #109753
- #109824: GPv3: API tweaks to prepare for drag & drop reordering #109824
- #109825: UI: Basic tree-view drag & drop reordering and inserting support #109825
- #109826: GPv3: Layer drag & drop reordering/inserting in layer tree UI #109826
Review:
- #109661: Cleanup: Remove unnecessary C API for asset representation #109661
- #109684: Outliner: Port bone elements to new tree-element code design #109684
- #108210: UI: uiBut Indeterminate State #108210
Next Week
- Get asset shelf reviewed
- Asset shelf UI polish
- Merge tree view and grease pencil tree view drag & drop reordering support
June 26 - July 2
1 day of work only, 4 days off.
- Created issue for manual: #104500: Clean up unused files on server when deploying? #104500
- New developer documentation platform:
- Buildbot support landed (#107844: Buildbot & Server Setup for experimental Developer Documentation Infrastructure).
- Had to do some minor tweaks/fixes.
Main/release branch commits:
- 0b19ab2cdeea: UI: Add type-safe C++ button apply function object
- adb370e6ba0a: UI: Use new C++ button apply function
Review:
- #109256: Outliner: Port remaining ID elements to new tree-element code design #109256
- #109380: Outliner: Remove isExpandValid() from AbstractTreeElement and its sub-classes #109380
- #108947: Geometry Nodes: Node group operators initial phase #108947
- #109402: Cleanup: Rename functions of TreeElementID sub-classes from camel case to snake case #109402
Next Week
- Get asset shelf reviewed
- Asset shelf UI polish
June 19 - June 25
- Asset Shelf:
- 1a2b54eb58d8: Update rna additions to compile in C++
- Merged further changes & created further PRs to reduce the main asset shelf PR. See below.
- Work to replace file browser preview caching with UI preview management. Simplifies code and fixes issues in the asset browser.
- Worked on presentation about the new developer documentation platform proposal
- UI tree-view drag & drop reordering (WIP) - multiple other projects need this:
- 7560623f99a9: Modify drop target API to carry info on drag location
- 7744f3211d96: Further API changes, drag & drop reordering for grease pencil V3 layers
- 688a3c500df0: Better tooltips while draggin
- Offline work to support drawing feedback while dragging.
Created PRs:
- #109136: RNA: Fix compile error when assigning to a typed enum in C++ #109136
- #109154: UI: Support page based scrolling in View2D #109154
- #109157: WIP: Fix #108078: Crash when inverting results in pose library sidebar #109157
- #109234: WIP: Use UI preview system for async loading of file/asset previews #109234
- #109283: WIP: UI: tree-view drag & drop reordering #109283
Main/release branch commits:
- 232e065a17ba: Fix #109053: File Append with recursions leads to crash
- fa5908402504: RNA: Fix compile error when assigning to a typed enum in C++
- c8395e3bbc0b: Cleanup: Remove unused header includes in outliner_tree.cc
- 167c5c6b5318: Fix UI views not refreshing properly in popovers
- d695619a551c: Fix file/asset previews showing document icon on initial load
- fcd1bb170cff: Cleanup: Use const for File Browser file list queries
- 9e8bc1d579fe: Fix unused variable warning
- b1f7c87b9931: Cleanup: Use const for UI coordinate conversion functions
Review:
- #108964: Outliner: Port armature elements to new tree-element code design #108964
- 6fd1f565d231: Cleanup: Replace unnecessary function in file indexer with lambda
- 378843c69c00: Cleanup: Comments & naming to File Browser file-listing logic more clear
- #109162: Outliner: Port object elements to new tree-element code design #109162
- #108295: UI: Fix Scrollbar overlaps sidebar on zoom #108295
- #109256: Outliner: Port remaining ID elements to new tree-element code design #109256
Next Week
- Get asset shelf reviewed (split patch further)
- Holiday starting Tuesday
June 12 - June 18
Work in various areas: asset shelf (merging more general changes into main
, splitting up the patch), asset system (initial work for breaking 4.0 changes), Blender Projects, GSoC reviews.
- Asset Shelf:
- New technical documentation platform:
- Blender Projects - updated patch to changes in main branch:
- Asset system (work in branches):
Created PRs:
- From asset shelf work:
Main/release branch commits:
- 8783038a38ff: Refactor: Remove asset library reference in node add menu code
- 8ad46d94b8c0: UI: Properly cancel dragging on escape or right-click
- From asset shelf work:
- acb4f89a403c: UI: Add filtering support to UI views
- 3b78bca592c1: UI: Allow view items to not be activatable
- ff44e376ce69: Cleanup: Return non-const view in grid view item getter
- 256146a454c4: UI: Add setter function for grid view item tile size
- 6e5559ab4afe: Fix UI tree-view item collapsing not working in popups
- 962fca47d97f: UI: Draw tree-view hover highlight even when emboss is disabled
- e76d2a241cc6: Fix missing mouse hover highlight for UI view items in menus
- 6868a9503f7d: Fix UI view item without drag support still consuming drag event
- 1d4fac0cda9b: Fix tree-view item ignoring custom matches() method override
- 79eebf8aad69: UI: Add assert for single active view item
Review:
- #108697: Outliner: Port texture elements to new tree-element code design #108697
- #108486: UI: Improved Preview Feedback and Reduced Flickering #108486
- #108887: Outliner: Port linestyle elements to new tree-element code design #108887
- #108929: Outliner: Port grease pencil legacy elements to new tree-element code design #108929
- #108943: Outliner: Port collection elements to new tree-element code design #108943
Next Week
- Get asset shelf reviewed
- Asset shelf UI polish
- Review (UI & assets)
June 5 - June 11
Plenty of work to get the asset shelf ready for review, to cleanup changes there and merge more general changes into the main
branch already. Also general review and 4.0 asset system work.
- Asset Shelf:
- c8ea7b0572fb: Add asset shelf UI template
- 2074d2682b46: Add missing filtering support to tree-view
- 0adb48f9faeb: Ensure asset shelf exposes right asset library reference in context
- 86e72999ddfe: Add Ctrl+F to filter in the asset shelf
- Cleanups/refactors:
- 966dcb2ec05f: Avoid warning, general cleanup
- f3057757f63f: Avoid need to sync subversion with main branch
- c4ffacbbfece: Refactor: pose library, use
bl_ui_utils.layout.operator_context
- 0a741e57597f: Cleanup: Comments & remove unnecessary defaults change
- 510e21605532: Remove branch only versioning
- 81ee8de0b15b: General branch cleanup, preparing for review
- ebe4408d3dda: More general cleanup
- 6f8650f3a04b: Fix asset trait comment
- Technical Documentation:
Created Tasks:
Main/release branch commits:
- cdd4beeb5ee4: Cleanup: Use C++ functor for button pushed query callback
- 8e64030a40ec: Assets: Remove unnecessary poll condition in "Open Blend File" operator
- 94b6b52d53db: Pose library: Remove unnecessary poll condition in bone select operator
- 133c3953360b: Fix string buffer size for asset library path query
- 179a2421ca1b: Refactor: Better context override for text button activate API function
- 4394de611f27: Asset system: Add public functions for asset identifier query
- 56f4610a50ef: Cleanup: Make asset-list function static
- a7a3c00f76a8: Cleanup: Get asset ID via asset representation, not via file
- 631e5d5d4f37: Asset system: Store ID type in asset representation
- 0044c93e84b0: Cleanup: Use ID type enum instead of unsafe integer
- 9b83e9b60c02: Refactor: Get rid of asset handle in most asset-list iterators
- e5dd515da823: Cleanup: Remove unnecessary asset handle forward declaration
- f2720bd8e96f: Asset system: Remove unused asset handle API functions
- eff642cd1957: BPY / Asset System: Remove deprecated parameter in asset path query
- 9879e3a84d04: UI: Quiet warning when setting panel type description from C
- 11f1265066f0: Assets: Ignore ID type filter when not set
Review:
- #108486: UI: Improved Preview Feedback and Reduced Flickering #108486
- #108654: Outliner: Port metaball elements to new tree-element code design #108654
- #108547: Assets: add function to copy asset data to another ID #108547
- #108295: UI: Fix Scrollbar overlaps sidebar on zoom #108295
- #108210: UI: uiBut Indeterminate State #108210
Next Week
- Get asset shelf reviewed
- Asset shelf UI polish
- Review (UI & assets)
May 29 - June 4
2 days off. Mostly caught up with some stuff, reviews & fixes.
Main/release branch commits:
- ad50eedb1684: Cleanup: Remove unused argument in recursive function
- 06be652055f8: Cleanup: Clang-format
- c08282f46848: Fix invalid UI panel bit-flag value
- b1b80916679a: Fix 106976: Crash when setting custom asset preview
- 83047bed26cf: Correction to b1b8091667: Use utility function
- a6e1caa1b25e: Fix file/asset browser document type icons using wrong theme color
- 4832114d6032: Fix #107870: Movie Clip Editor hangs in "Clip" view
Review:
- #108437: Outliner: Port mesh elements to new tree-element code design #108437
- #104958: Fix #98923 : Remove the ability to offset a linked collection asset not instantiated #104958
- #108498: Outliner: Port curve elements to new tree-element code design #108498
- #108486: UI: Improved Preview Feedback and Reduced Flickering #108486
- #108547: Assets: add function to copy asset data to another ID #108547
Next Week
- Get asset shelf into review
- Review (UI & assets)
May 22 - May 28
4 days off.
- Asset Shelf (brush assets project):
- 85575edb11f0: Make shelf settings instance based
- be08d78272f8: Fix editors sharing active shelf settings after splitting
- 8848a7811135: Add name filtering, supports wildcard searching
- c2e0623ad124: Add an asset shelf for brushes in sculpt mode (experimental)
- Initial technical documentation (uncommitted).
May 15 - May 21
Mostly work on the asset shelf and the new developer documentation infrastructure.
- Proposed new developer documentation infrastructure:
- Prepared presentation slides
- Finished buildbot integration work (see blender/blender#107844) - non-public repository:
- Register buildbot pipeline for devdocs
- Gitea status reporting for devdocs repository
- Add packaging build step
- Add delivery build step (largely untested)
- Add missing packaging and delivery steps to pipeline config
- Add "html" tag for devdocs workers
- Fix missing package delivery in worker pipeline
- From review: remove nightly builder, correct code repo path
- Move devdocs directories to
blender-$trackId
- Move manual and devdocs back to separate folders, avoids pip conflicts
- Experimental developer documentation repository:
- Asset Shelf (brush assets project):
- 27190e0f902a: Fix crash when opening toolshelf popup
- 4adcdd487451: Fix undefined behavior when splitting 3D View with asset shelf open
- ed87062a24d0: Bring back old asset-view template UI (additionally)
- 345eef6433f0: Disable undo for catalog tabs
- 322388c5f22d: Get pose asset applying on click to work using keymap
- 34b33dee073a: Fix: Applying pose through redo last operation not working
- 1fd5097d03eb: Fix possible crash on file read
- 67db4448de12: Make overriding asset drag for pose blending work
- 3e70549e70b8: Add context menu to asset shelf
- 1e9a0da49c24: Context menu for pose library asset shelf
- b94de0f35e56: Add experimental option for asset shelf
- e102a4de5513: Don't show old pose library UI when experimental asset shelf is enabled
- 0bef07e9c531: Hide asset shelf theme settings if experimental option is disabled
- 61482f9c6d17: Add toggle for asset shelf to View menu
- Various main branch fixes/improvements for preview tiles and the asset view template, see below.
Main branch commits:
- 122adc9e69de: Fix asset list not providing some previews
- ac6af0be7bc0: Cleanup: Add enum type for drag data type definitions
- d4217c278e6f: Fix excessive vertical margin between items in asset view template
- 76112f1439bb: Fix double highlighting of preview tiles in asset view template
- c89354da8081: UI: Properly center text under previews
- 39a502503273: UI: Use fixed width for grid view items, don't stretch to full width
Review:
Next Week
- Asset shelf work (name filtering, finish instance based settings, technical documentation)
- 4 days off
May 8 - May 14
Asset shelf work, review and plenty of work towards the proposed new developer documentation infrastructure.
- Proposed new developer documentation infrastructure (#105348):
- Meeting with Arnd and Jeroen on setting up continuous delivery (using buildbot) and hosting on blender.org servers.
- Created task #107844: Buildbot & Server Setup for experimental Developer Documentation Infrastructure
- Further discussion in #105348: [Draft] New Developer Documentation Infrastructure Proposal (Replacing Wiki?)
- Various fixes and improvements in exerimental developer documentation repository
- Initial work for new buildbot track for a continuous delivery pipeline (see blender/blender#107844).
- Fixes for Debian buildbot provisioning script (non-public repository)
- Small visual improvements for the asset shelf (brush assets project):
- a0a13c78c184: Disable transparency for asset shelf regions
- 16f1f1cc9675: Decrease size of asset shelf footer some more
- 157cc9b17106: Turn catalog selector popup into popover, for consistency
- ed2f8731f336: Enable item mouse hover highlight for the catalog selector popover
- aad8edbb1f94: Display title and box in asset catalog selector
- 3c3cc48018eb: Rename "Show Names" checkbox to "Names"
- Created task #107742: UI Views: Support dragging before or after items
Main branch commits:
- c0ce427760ef: Cleanup: Move file cache lookup into function
- be19edf35679: Cleanup: Add API comment on side-effect of file browser query function
- 7e79e0eec059: File Browser: Avoid filling file cache needlessly on auto-complete
- 50d49e24c46d: Asset Views: Decrease default preview cache size
Review:
- #107698: Fix #106023: File Browser Lists with Incomplete Previews
- #107711: UI: Increase File Browser Minimum Cache size
- #107298: Imbuf: Change thumbnail caching location
- [Developer documentation] #2: Initial gpu and vulkan tech doc.
Next Week
- Get asset shelf ready for merge into main branch as experimental feature
- Patch review (asset system & UI)
May 1 - May 7
- Asset shelf (brush assets project):
- [Created task] #107498: Get pose library asset shelf ready for merge into main, experimental feature
- c3b36345c700: Basic paginated vertical scrolling
- 527e4e2be7ac: Ensure shelf size is snapped correctly on DPI changes
- e635ee1188f7: Disable region zooming
- 9ef337ba9521: Fix offset in region scaling hotspot
- Asset Browser UI rewrite (see #95653):
- Renamed branch (
asset-browser-grid-view
->asset-browser-frontend-split
, new PR: blender/blender#107576) - 8bc451f5c114: Cleanup: Remove unused argument
- c90dfcc52d1a: Add selection state support & "Select All" operator
- 74b7e40fbcc0: Highlight active view item some more
- ca72626d5056: Mouse selection support for views (except Shift to fill selection)
- 90fd5461c605: Remove horizontal scrollbar
- 8946ab70bedf: Fixes for metadata UI: properties and preview display
- 84383ff706a8: Fix broken metadata sidebar UI with no active asset
- 06a5cd6e91cc: Fix double highlight of grid tiles
- ed2cffc0f7b3: Show asset type icon while preview is loaded or couldn't be found
- bed24caa134c: Display "Select all" operators in Select pulldown menu
- 331d685ef615: Fix new asset browser not updating as assets get loaded
- Renamed branch (
- Reuploaded
blender-projects-basics
branch, after this was deleted during infrastructure maintenance. New PR: (blender/blender#107655).
Main Branch Commits:
- 20f54a5698ff: Asset Browser: Let "Clear Asset" act on entire selection
- f22e2bab726a: Assets: Prefer selected IDs over single active ID for asset mark/clear
- f8d2156dda84: Fix #104722: Outliner renaming uses wrong item
- 5e3bf3798213: Cleanup: Add internal header for View2D files
- 9d422f2fbcb9: Cleanup: Avoid nesting (use early exit) in icon code
- bf77d3436d1f: Cleanup: Comment formatting for preview image enums definitions
- 8284bb1ff463: Fix potentially missing redraws when file browser loads recursively
- 95fa4d73d633: Cleanup: Avoid nested conditional blocks in WM-jobs code
- 878477f250ea: Fix broken UI view notifier listening
Review:
- #105841: Assets: Implement Traits
- #107427: Fix #107422: Mesh context menus do not open with the last used option
Next Week
- Get asset shelf ready for merge into main branch as experimental feature
- Patch review (asset system & UI)
April 24 - April 30
3 work days only (national holiday plus one day off). Focused on catching up with reviews and GSoC proposal reviews (there were plenty for me to go through).
- GSoC proposal reviews (signed up to mentor a project).
Main Branch Commits:
- Cleanup: Avoid unnecessary & misleading Outliner context function call (1fad165c1a)
Review:
- Fix #107186: Curve assets don't generate preview images (blender/blender#107214)
- macOS: Add open files to system recent files (blender/blender#107174)
- Fix #107294 : Node Editor "Frame All/Selected" ignore Smooth View (blender/blender#107296)
- UI: OS File Operations Within File Browser (blender/blender#104531)
- macOS/File Browser: Support external operations (blender/blender#107267)
- Initial implicit sharing docs (JulianEisel/devdocs#1)
- Suport relative path option per-asset library (blender/blender#107345)
- Fix #104722: Outliner Renaming Double Click Error (blender/blender#105872)
Next Week
- Focus on brush assets / asset shelf.