September 14 - September 18
This week I added initial tilt support, made patches to fix most of the visibility sync issues and finished the workflow with multiple objects for 2.91. I also updated most of the backlog of patches that were not merged yet.
- Bug fixing, I expect more bugs than usual after merging the new rendering features
- Write a proposal for shape keys + Multires
- D8957 Fix Face Set overlay rendering wrong color with modifiers
- D8956 Fix missing Sculpt Overlays updates when using modifiers
- D8938 Face Set Edit: Delete Geometry operation
- D8925 Sculpt: Make Subsuft Modifier use the On Cage option
- D8921 Fix T80873: Grab active vertex preview not working with shape keys
- D8914 Refactor: Store is_duplicate as part of each SubdivCCGNeighbors element
- D8901 Sculpt: Preserve Mesh visibility from edit mode using the Face Sets
- D8900 Multires: Stitch grids visibility after Face Set modifications
- D8893 Sculpt: Experimental Pen Tilt Support
- Fix light rotation slider in Lookdev popover being disabled c9c51c07cf.
- Unify all XYZ symmetry options using Mesh Symmetry 5502517c3c.
- Object: Switch Object operator 827dfd76dd.
- Sculpt: Render Mask and Face Sets with modifiers active 6c9ec1c893.
- Overlay: Fade Inactive Geometry ea6cd1c8f0.
- LookDev: Lock HDRI rotation to View 5855f317a7.
- Sculpt: Scale Cloth Filter 5d728d38b9.
- Sculpt: Lower the default cloth deformation constraints strength 8ac1ca13c8.
- Fix T80771: Avoid changing the visibility of loose geometry when entering Sculpt Mode cacd57b67a.
- Fix Brushes with deformation target being affected by sim areas adfbb77b20.
- Fix bad allocation in mask sculpt gestures 459fd1814c.
September 7 - September 11
This week I did mostly bug fixing, write design tasks and started working on mockups and graphics elements for the brush management project
- More tool polishing depending on the discussions of the 2.91 projects
- D8887 Fix cloth filter creating incorrect constraints
- D8886 Fix bad allocation in mask sculpt gestures
- D8885 Fix Brushes with deformation target being affected by sim areas
- D8884 Sculpt: Lower the default cloth deformation constraints strength
- D8866 Fix T80673: Edit voxel size text flipped with some objects
- D8852 Fix T80625: Trimming tools not working with transformed objects
- Sculpt: Enable pen pressure for Scrape/Fill Area Radius c01f8bb672.
- Fix T79754: Boundary Brush crashing with symmetry enabled 4c3ad047e7.
- Hide tools with missing icons under experimental 7ca42545d1.
- Sculpt: Sculpt Trimming gestures tools 675c964442.
- Fix T79914: Grab active vertex using wrong coordinates 1dc11d15a6.
- Fix Boundary Brush not working with partially hidden meshes bbbfd7130a.
- Fix T78225: Vertex Colors not showing in edit mode 0c4b732ef2.
August 31 - September 4
This week I finished the trimming tool, I did more tool polishing and I wrote the design tasks for the projects for 2.91.
- More tool polishing depending on the discussions of the 2.91 projects
- D8821 Sculpt: Enable pen pressure for Scrape/Fill Area Radius
- D8819 Fix Boundary Brush not working with partially hidden meshes
- D8818 Fix T78225: Vertex Colors not showing in edit mode
- D8774 Multires: Multithread unsubdivide grid extraction
- D8766 Sculpt: Sculpt Trimming gestures tools
- D8764 Sculpt: Cloth Brush connected only property
- Cleanup: Use function pointers in sculpt gestures 587f75f009.
- Cleanup: Use function pointers in geometry extract 985cc48fca.
- Sculpt: Face Set Extract Operator afb43b881c.
- Sculpt: Remove unused code in Clay Strips eb82b3947e.
- Fix cloth brush not working with anchored stroke 38737f780a.
- Sculpt: Sculpt Face Set gestures tools c05715b03f.
- Fix Cloth Snake Hook brush not using pressure 89cdf4f75d.
- Fix T80311: Sculpt Filters not working when using vertical split fb09bc3c35.
August 24 - August 28
This week I started refactoring and implementing sculpt gestures and configuring and profiling the new workstation.
- Finish all the remaining gesture tools, including trimming using the newboolean code
- D8726 Sculpt: Cloth Simulation Dynamic area mode
- D8724 Fix Cloth Snake Hook brush not using pressure
- D8722 Sculpt: Line gestures and Mask Line tool
- D8716 Sculpt: Sculpt Face Set gestures tools
- Clenaup: Refactor Sculpt gesture mask operators 239b0ba750.
- Sculpt: Cloth Snake Hook Brush 46eca3366e.
- Fix T80008: Smooth brush not deforming mesh boundaries correctly 5a634735e6.
- Fix T80039: Do not subdivide with Multires is mesh has no faces 1bced5884c.
August 17 - August 21
I spent the week polishing and improving features for 2.91 as well as solving limitations of previous versions of Blender related to the Sculpt overlays.
- More tool polishing for 2.91
- D8680 Fix T80008: Use a better smooth algorithm to smooth mesh boundaries by default
- D8679 Overlay: Darken Inactive Geometry
- D8673 Sculpt: Render Mask and Face Sets with modifiers active
- D8661 Sculpt: Scale Cloth Filter
- D8640 Fix Grab Active Vertex preview drawing repeated edges
- D8630 Fix T79914: Grab active vertex using wrong coordinates
- D8621 Sculpt: Cloth Snake Hook Brush
- D8619 Fix Cloth Brush creating artifacts on planes
- D8599 Sculpt: Face Set Extract Operator
- Cleanup: Mesh Filter invoke refactor 7d79b06fa7.
- Fix T79924: Update the view rotation origin after setting the sculpt pivot c85144934a.
- Fix variable simulation steps with cloth deform brushes d74c495838.
- Sculpt: Add orientation modes to the Cloth Filter b3bd121dd4.
- Sculpt: Enable Cloth Simulation Target for Pose and Boundary c2f0522760.
- Sculpt: Erase Displacement Mesh Filter bedd6f90ca.
- Sculpt: Enhance Details Mesh Filter 0957189d4a.
- Sculpt: Invert Smooth to Enhance Details 3e5431fdf4.
- Sculpt: Sculpt Filter Orientation Options 89a374cd96.
- Sculpt: Option to limit the forces axis in the Cloth Filter 4814836120.
- Multires: Base Mesh Sculpting 976f0113e0.
- Cleanup: rename bdata to boundary e371378c8b.
- Fix Cloth Brush Grab deform types not working with spacing 5aecc4b57b.
- Cleanup: Remove unused code in the Paint Cursor e3eb53a5b3.
- Fix Face Set Visibility operator using wrong active Face Set 762daacbc7.
- Fix Mesh Filter deformation axis UI layout cfeadaa295.
- Fix Mask Slice deleting the Face Sets ca7414c4cb.
- Sculpt: Expose the functions to create and init a SculptClothSimulation db4e08dfdc.
- Fix T79597: Crash with dyntopo after paint cursor refactor 9c241eae48.
August 10 - August 14
I spent the week polishing and improving features for 2.91
- Try to make the paint event queue work with sculpt mode
- More tool polishing for 2.91
- D8587 Unify all XYZ symmetry options using Mesh Symmetry
- D8583 Fix Mask Slice deleting the Face Sets
- D8582 Sculpt: Sculpt Filter Orientation Options
- D8581 Fix Mesh Filter deformation axis UI layout
- D8580 Fix Face Set Visibility operator using wrong active Face Set
- D8579 Cleanup: Remove unused code in the Paint Cursor
- D8578 Sculpt: Enable Cloth Simulation Target for Pose and Boundary
- D8568 Fix Cloth Brush Grab deform types not working with spacing
- D8567 Sculpt: Option to limit the forces axis in the Cloth Filter
- D8566 LookDev: Lock HDRI rotation to View
- D8564 Sculpt: Use Simplified Materials option
- D8558 Fix EEVEE not using the PBVH for rendering in Sculpt Mode
- D8556 Cleanup: rename bdata to boundary
- D8555 Multires: Base Mesh Sculpting
- Fix Boundary Brush symmetry with no constant falloff ca827e36ac.
- Sculpt: Boundary Brush Falloff Types and Offset c77bf95221.
- Sculpt: Multires Displacement Eraser Brush 478ea4c898.
- Sculpt: Expose Edit Face Set as a tool 77e40708c2.
- Cleanup: Remove explicit float casts in sculpt code ff4b5d00e4.
- Clenaup: Rename random_access_init to random_access_ensure 010911d722.
- Cleanup: Use clamp_f instead of CLAMP in sculpt code 697c449578.
- Fix Sculpt Filters operator naming 2476b31c71.
- Sculpt: Option to not modify hidden Face Sets in Face Sets Edit 48c0a82f7a.
- Sculpt: Option to mask front faces only using Lasso and Box Mask af77bf1f0f.
- Sculpt: Boundary Brush ed9c0464ba.
August 3 - August 7
I spent most of the week investigating the performances bugs related to Multires and clay brushes. I found one of the main sources of the lag and how to fix it, but that needs more development to update the brushes, so it is planned for 2.91.
- Finish some cleanup patches
- More tool polishing for 2.91
- D8510 Sculpt: Intensify Details Mesh Filter
- D8509 Sculpt: Invert Smooth to Intensify Details
- D8508 Sculpt/Paint: Dynamic Stroke Spacing
- D8504 Cleanup: Use a separate function for mask smoothing
- D8489 Fix T79597: Crash with dyntopo after paint cursor refactor
- Fix Pose Brush FK mode detecting wrong rotation origin cc3cb52b23.
- Sculpt: Cloth Brush simulation area property d693d77fed.
- Cleanup: Paint Cursor Refactor 5f51438185.
- Sculpt: Cloth Brush/Filter Collisions 675700d948.
- Sculpt: Sharpen Mesh Filter curvature smoothing and intensify details 3570173d0f.
- Fix Squash and Stretch naming in the Pose Brush deform mode ad3838e1e0.
- Sculpt: Option to lock the rotation in the Pose Brush scale deform mode 9ea77f5232.
- Sculpt: Use vertices instead of faces to limit the grids in each PBVH node 531a3f6c4e.
- Fix T78665: Face Set visibility reverted when chaning Multires Levels 3ebe97c06b.
- Fix missing duplicates in the subdiv_ccg neighbors function 50e6d56e4e.
- Sculpt: Cloth brush Pin Simulation Boundary property bf65820782.
- Sculpt: Split Box Mask into its own operator 6faa765af8.
July 27 - July 31
This week I mostly worked on new features and improvements for the Cloth Brush for 2.91
- Bug Fixing
- D8448 Sculpt: Option to mask front faces only using Lasso Mask
- D8447 Sculpt: Sharpen Mesh Filter curvature smoothing and intensify details
- D8442 Sculpt: Change PBVH leaf limit size
- D8436 Multires: Remove Simple subdivision type
- D8435 Sculpt: Cloth brush Pin Simulation Boundary property
- Cleanup: Use MEM_calloc_arrayN in the Cloth Brush 008ccacdfc.
- Sculpt: Use constraints in cloth deform brushes 2e33c5ca15.
- Sculpt: Enable persistent base for the cloth brush 49c1359b55.
- Sculpt: Cloth Brush Soft Body Influence property 8c10e56331.
- Fix Cloth Brush global Sculpt gravity applied in the wrong falloff 54a2fcc0f3.
- Fix T79054: Crash with Cloth Brush and anchored stroke 6e5278c3da.
- Fix Sculpt Relax operation when deforming mesh boundaries 221604cdd6.
- Fix T79074: Mesh Topology info not being updated after changes 0006526952.
- Fix T79164: Sculpting with smooth shading doesn't update normals 7eebebebc7.
- Fix T78242: Crash when using a Sculpt color tools that needs connectivity for the first time 4f3233dd53.
- Sculpt: Add extra deform types to Slide 878d191bae.
- Sculpt: Support pen pressure modulation in Paint Brush properties 69afdf6970.
- Fix T79056: Topology automasking artifacts in multires a39da2cbca.
- Fix T79007: Smooth brushes crasing in dyntopo 7aabd74222.
July 20 - July 24
This week I worked on the Boundary Brush and simulated brushes for 2.91. I also wrote the release notes for 2.90
- Continue with the 2.91 tools
- D8385 Fix missing duplicates in the subdiv_ccg neighbors function
- D8377 [WIP] Sculpt/Paint: Simulated Brush Fibers Falloff
- D8364 Fix T79164: Sculpting with smooth shading doesn't update normals
- D8357 Fix T79074: Mesh Topology info not being updated after changes
- D8356 Sculpt: Boundary Brush
July 13 - July 17
This week I mostly did bug fixing and updating bug patches.
- Continue with Sculpt Vertex Colors tools for 2.91
- D8350 Fix Sculpt Relax operation when deforming mesh boundaries
- D8349 Sculpt: Add extra deform types to Slide
- D8348 Fix T79054: Crash with Cloth Brush and anchored stroke
- D8347 Fix T79056: Topology automasking artifacts in multires
- D8333 Fix T79007: Smooth brushes crasing in dyntopo
- D8320 Fix T79005: Vertex color conversion operators changing the colors
- D8318 Fix T78975: Color Filter and Mask by Color tools not working when enabled
- Fix T78369: Sculpt Vertex Colors not rendering in EEVEE f1104c2828.
- Fix T78747: Fix mesh boundary detection and automasking e06a346458.
- Fix T77417: Topology Automasking not working with individual vertices 10cacbbb15.
- Sculpt: Add extra deform types to Smear 2b5e21fe00.
- Fix wrong variable name in Sculpt Vertex Colors experimental check 1076952209.
- Sculpt: Enable color palettes for sculpt vertex colors eb3f74a0fe.
July 6 - July 10
This week I made some new sculpt vertex colors features and general polishing and bug fixing in sculpt mode.
- Bug Fixing
- D8276 Sculpt: Improve Front Faces Only option
- D8272 [WIP] Sculpt: Light Brush
- D8270 Sculpt: Add extra deform types to Smear
- D8269 Fix wrong variable name in Sculpt Vertex Colors experimental check
- D8268 Sculpt: Enable color palettes for sculpt vertex colors
- D8267 Sculpt: Support pen pressure modulation in Paint Brush properties
- D8260 Fix T78747: Fix mesh boundary detection and automasking
- D8225 Fix T78665: Face Set visibility reverted when chaning Multires Levels
- Sculpt: Make Sculpt Vertex Colors features experimental 03a00bda2b.
- Fix repeated Face Sets IDs when joining meshes 6778949e01.
- Sculpt: Skip fully hidden nodes in sculpt tools 78b629a98f.
- Fix wrong upate flag when updating the PBVH visibility 1fb667da01.
- Fix T78664: Implement Mesh and Face Set boundary automasking in Multires e5ebaa9fd6.
- Fix Sculpt Vertex Colors sample color changing brush alpha bd84b2cbcc.
- Fix crash when using Mask by Color in Multires 13b1374497.
June 29 - July 3
This week I continued working on sculpt vertex colors features and polishing. I also refactored the paint cursor drawing as part of the cleanup day.
- Continue working on sculpt vertex colors
- Design and code the integration between sculpt and paint brushes
- D8210 Fix Mesh filter and transform tool performance after a full mesh update
- D8209 Sculpt/Paint: Add Paint Studio Light preset
- D8208 Fix Sculpt Vertex Colors sample color changing brush alpha
- D8207 Fix crash when using Mask by Color in Multires
- D8206 Cleanup: Paint Cursor Refactor
- D8196 [WIP] Enable persistent base for the Pose Brush fake neighbors
- D8194 Sculpt: Multires switch sculpt level operator
- D8191 Multires: Add function to check the vertex count of a mesh at a level
- D8190 Sculpt: Change Multires relative subdivision levels set keymap
- D8189 Fix subdivision_set operator not adding new subdivisions
- D8185 Fix T78369: Sculpt Vertex Colors not rendering in EEVEE
- D8175 Sculpt/Paint: Use different properties for alpha and sculpt strength
- D8163 Sculpt: Improve fake neighbors searching
- Fix Pose Brush crashing after disabling connected only in FK mode 17ba566018.
- Sculpt: Mask By Color c5ec8d91bd.
- Fix T78525: Status bar not reset after Edit Voxel Size 95f3397a68.
- Cleanup: Add functions to check the first brush step and symmetry passes 6358c7754c.
- Sculpt: Refactor persistent base to make it usable from other tools a3e6b7c2ce.
- Fix T78201: Paint color not matching the UI and color picker db7d370657.
- Sculpt: Color filter fill mode 21c2a64e79.
- Sculpt: Pose Brush option to affect loose parts 438bd82371.
- Remove Threaded Sculpt option 5d31ef0820.
- Fix T78323: Enable Unified and Secondary colors for Scultp Vertex Colors bf87df3485.
- Fix Smear Tool too weak on high poly meshes 3118636f81.
June 22 - June 26
This week I committed the sculpt vertex colors, so I spent most of the time fixing bugs and implementing the remaining tasks for 2.90 (multires support for sculpt vertex colors)
- Continue working on sculpt vertex colors
- Start designing and coding the remaining tools for sculpt vertex colors
- D8136 Fix T78323: Enable Unified and Secondary colors for Scultp Vertex Colors
- D8135 Fix T78242: Crash when using a Sculpt color tools that needs connectivity for the first time
- D8134 Fix Smear Tool too weak on high poly meshes
- D8133 Fix Paint Brush adding a step step in the first iteration when symmetry enabled
- D8111 Fix T78201: Paint color not matching the UI and color picker
- D8104 [WIP] Sculpt Vertex Colors: Multires support
- Fix sample color operator not updating the color in the UI 06e24f6c91.
- Fix Color Filter not updating during modal operator 4817426b3e.
- Fix Edit Voxel Size label rotation and scale in rotated objects 0c98bb75cb.
- Fix artifact in Clay Strips when producing large deformations 560a73610b.
- Fix Surface Smooth not taking the sculpt mask into account 255638d223.
- Fix T78188: Sculpt mask glitching after using sculpt vertex colors 2b522e3345.
- Fix T78192: Draw Face Sets tool not updating the viewport color 0f7851ee79.
- Cleanup: Replace GSet with Edgeset in Cloth Brush 5c8e349c28.
- Sculpt Vertex Colors: Initial implementation f7bbc7cdbb.
June 15 - June 19
This week I updated and finished the major features for 2.90 (I will start committing them next week). I also made the cloth brush work with angular constraints to control the size of the folds, but it still does not work with multires so I'm not sure if it is going to be ready for 2.90.
- Commit the patches for the new features (Vertex colors, Pose Brush for multiple meshes, cloth collisions) and fix all bugs that may appear.
- D8071 Fix Surface Smooth not taking the sculpt mask into account
- D8069 Edit Voxel Size: Move the label to the center of region when not visible
- D8068 Fix Edit Voxel Size label rotation and scale in rotated objects
- D8062 [WIP] Sculpt: Cloth tension, shearing and bending properties
- D8038 Voxel Remesh: Recalculate normals only on new faces
- D8036 Cleanup: Replace GSet with Edgeset in Cloth Brush
- D8029 Sculpt: Option to not modify hidden Face Sets in Face Sets Edit
- Fix T77328: Crash on undo Draw Face Sets stroke with dyntopo active 2d9ab46e0b.
June 8 - June 12
This week I finished the pose brush for multiple meshes and I did improvements in the cloth brush that end up being major features instead of focusing on attribute painting (waiting for the meeting on Monday).
- Try to finish some improvements left in the cloth brush (angular constraints are still not working)
- This week I also investigated the performance of the voxel remesher. Updating the normals often takes 60% of the time, so this should be possible to improve.
- D8019 Sculpt: Cloth Brush/Filter Collisions
- D8004 Fix artifact in Clay Strips when producing large deformations
- D8003 Sculpt: Refactor persistent base to make it usable from other tools
- D7984 Fix Pose Brush FK mode detecting wrong rotation origin
- D7960 Remove Threaded Sculpt option
- Sculpt: Fix creation of repeated constraints in the Cloth Brush 23d0361b30.
- Sculpt: Face Set Edit Operator cb9de95d61.
- Sculpt: Pose Squash and Stretch deform mode 77789a1904.
- Voxel Size Edit: Fix text not readable when zooming in the viewport 075156de9f.
June 1 - June 5
This week I made some improvements for the current tools and I spent some time with the UI and RNA code for attributes, but I'm still not sure how to do it
- Finish the Pose Brush for multiple meshes
- Do some small tweaks to make the cloth filter more usable
- Try to start implementing the attribute UI
- D7942 Fix Edit Voxel Size label in preview
- D7941 Voxel Size Edit: Calcualte the preview text size in screen space
- D7934 Sculpt: Pose Squash and Stretch deform mode
- D7924 Fix T77328: Crash on undo Draw Face Sets stroke with dyntopo active
- D7921 Fix strength of Face Sets Draw tool
- D7911 Sculpt: Avoid reading and writing coordinates at the same time in smooth
- Object: Switch Object operator 79cdc87432.
- Disable gravity in Draw Face Sets brush f2a0532111.
- Fix Sharpen mesh filter in Multires 15ed2f841c.
- Fix T76776: Implement vertex_visibility_get for PBVH_GRIDS 85098bdb89.
- Cleanup: Always use pbvh in PBVH BKE files 572c472754.
- Sculpt: Improve twist axis in Pose FK mode b08caeb92b.
- Cleanup: Remove unused grab delta in Pose Brush ca09625dcc.
May 25 - May 29
This week I implement some new sculpt tools and I started looking into splitting the vertex paint patch to follow the attribute design task
- Continue with vertex/attribute paint
- D7889 Cleanup: Always use pbvh in PBVH BKE files
- D7845 Sculpt: Cloth Brush Soft Body strength property
- Sculpt: Cloth Filter 1d4bae8566.
- Sculpt: Pose Brush Face Sets FK mode 3778f168f6.
- Fix mesh filter using the wrong face set as active 91fb07f361.
- CD_PROP_COL datalayer d7282537f0.
- Cleanup: Use bitmaps insteand of bool and char arrays 0b793514fa.
- Update the default Face Set when creating Face Sets from visible 7e80aa7ca6.
- Fix Cloth Brush grab deformation mode 18f33f293b.
- Fix Pose Brush origin position with large brush size 9aea7dc7c6.
- Fix naming in the PBVH neighbor iterator macro 9b0f65c4a6.
- Fix PBVH API returning wrong normal when using shape keys and modifiers 5f63344e84.
- Sculpt: Pose Brush Scale/Transform deform mode 6d4dc22e17.
May 18 - May 22
Another bug fixing week.
- Implement some new features for the cloth brush and pose brush
- Start splitting the vertex paint patch for review
- D7810 Fix T76862: Modify grids and base mesh directly when using mask flood fill
- D7809 Fix T76776: Implement vertex_visibility_get for PBVH_GRIDS
- D7808 Cleanup: Use sculpt API in smooth PBVH_FACES implementation
- D7805 Fix PBVH API returning wrong normal when using shape keys and modifiers
- D7774 Fix naming in the PBVH neighbor iterator macro
- D7773 Fix Pose Brush origin position with large brush size
- Fix T75977: Lower the merge limit in the bisect/mirror operation in symmetrize aa02a05bc7.
- Fix sculpt mask interpolation in subdivisions ff7a30d928.
- Fix T76397: Missing value property on Clear Mask pie menu 7c9c8cee7b.
May 11 - May 15
This week I only did bug fixing.
- More bug fixing
- D7756 Fix Cloth Brush grab deformation mode
- D7726 Fix T76655: Change Edit Voxel Size shortcut to R
- D7699 Fix T76397: Missing value property on Clear Mask pie menu
- Sculpt: Render Face Sets always as flat shading 78e3b7c28d.
- Fix T76654: Wrong text in Face Set boundary automasking brush property 5445353095.
- Fix T76488: fix mask extract poll function 9253386dcb.
- Fix T75347: Update cloth brushes in versioning with a valid mass value 05dd9ca06c.
- Fix T76306: Disable use creases when there is displacement data ce35cfd208.
- Fix T75968: PBVH raycast returns wrong active vertex bf0a554114.
- Fix T75743: Implement restore for brushes that modify their own data e6fab27d6a.
May 4 - May 8
This week I did some work on the brush management UI, continued improving the vertex color patch and did some experiments on how to integrate automasking with future features.
- Continue improving the vertex color patch. After testing the most noticeable issue is the lack of preview in the viewport with constructive modifiers enabled.
- Prepare some videos and demos for the release page and release notes of 2.83
- D7646 Sculpt: Add pinch radial and perpendicular modes to Draw Sharp
- D7645 Fix T76488: fix mask extract poll function
- D7644 Multires: Option to not refit the base mesh when using Apply Base
- D7640 Fix sculpt mask interpolation in subdivisions
- D7621 [WIP] WM: Brush Palette operator
- D7616 Sculpt: Global Brush Palette
April 27 - May 1
This week I finished some remaining Multires tasks and updated the vertex colors patch with multiple fixes while trying to make it closer to the discussed design.
- Continue testing and fixing the vertex colors patch
- Make a minimum version of the Vertex Info Management which at least fixes the automasking performance and bugs.
- D7606 [WIP] Sculpt: Convert to Multires
- D7582 Multires: Delete Lower
- D7561 Overlays: Add Multires Levels info to Stats
- D7560 Object: Switch Subdivision Level operator
- Fix crash when switching subdivision level in Multires d44f323df5.
- Multires: Subdivide Simple and Subdivide Linear 134619fabb.
- Multires: Unsubdivide and Rebuild Subdivisions f28875a998.
- Multires: Enable sculpting in all subdivision levels d4c547b7bd.
April 20 - April 24
This week I updated some patches, fixed some bugs and made patches for the Sculpt Mode with multiple objects project for 2.90. I also started experimenting with geodesic distances, as it is needed to make some of the new tools work properly. I'm still not sure how to make this work with Multires. I also rebased the lanpr branch on top or 2.90, but it is still crashing.
- Check the status of the vertex colors patch
- Continue with UI/UX projects related to Multires
- D7530 Update the default Face Set when creating Face Sets from visible
- D7524 Tweak the pressure/size dynamic range of Clay Strips
- D7522 Add Multires experimental features
- D7516 Workbench: Darken inactive objects
- D7510 Object: Switch Object operator
- D7508 Fix Sharpen mesh filter in Multires
- D7495 Fix T75977: Lower the merge limit in the bisect/mirror operation in symmetrize
- D7485 Fix T75968: PBVH raycast returns wrong active vertex
- D7480 Cleanup: Use bitmaps insteand of bool and char arrays
April 13 - April 17
This week I updated the unsubdivide patch and I made the initial patch for subdivide simple. I also started coding the vertex info management and designing some new tools for 2.90. I also fixes some bugs in 2.83 and in the Sculpt Vertex Colors patch.
- Continue updating the multires patches
- Finish the vertex info management and try to do some prototypes for new tools
- D7471 Sculpt: Vertex Info management
- D7442 Fix T75743: Implement restore for brushes that modify their own data
- D7415 Sculpt: Multires Subdivide Simple
- Fix T75778: Missing ME_VERT_PBVH_UPDATE in Surface Smooth 28f667c7c4.
- Fix T75766: Smooth mask using mesh vert indices direclty 7e72b74713.
- Fix T75329: Missing show_face_sets checks for Multires 44a386b88c.
- Fix T75662: Surface Smooth filter not checking face sets 65aaa13a00.
- Fix crash on Multires Face Set visibility sync 35cbf3b5dc.
- Sculpt: New Layer Brush 47f46637be.
- Sculpt: Sharpen Mesh Filter 7dd8c889f1.
- Fix Shift-Smooth mode using wrong parameters f881ff129f.
- Fix automasking using the wrong active face set f12589d335.
- Fix Randomize Face Sets Colors not working in Multires bb9a282c7e.
- Fix T75104: Update Face Sets visibility when entering Sculpt Mode bf49bb354f.
April 6 - April 10
This week I worked most of the time in unsubdivide and rebuild subdivisions, as it should be available as soon as possible to let people properly test multires for 2.83. I also did some other minor patches and fixed depth detection and orthographic views in the trimming tool.
- Finish Unsubdivide/Rebuild subdivisions
- D7403 Sculpt: Improve Multires Fast Navigate rendering
- D7374 Sculpt: Pose Brush Scale/Transform deform mode
- D7372 Sculpt: Multires Unsubdivide
- D7367 Sculpt: Face Set Edit Operator
- D7362 Fix automasking using the wrong active face set
- D7354 Fix Shift-Smooth mode using wrong parameters
- D7353 Sculpt: Render flat shading as triangles
March 30 - April 3
This week I finished the pose brush for multiple meshes, the voxel mode for the remesh modifier and the sharpen mesh filter. I fixed some bugs and precision issues in the face sets tools. I also wrote the first version of the trimming tool.
- Finish the trimming tool
- Fix the bug in shift-smooth with different stroke types
- D7335 Sculpt: Sharpen Mesh Filter
- D7312 Fix Randomize Face Sets Colors not working in Multires
- D7306 Sculpt: Trimming tool
- D7282 Sculpt: Pose Brush Affect Loose Parts property
- Cleanup: Move Detail Operators and Dyntopo to their own files 7c0e285948.
- Cleanup: Move Mask Filter and Mask Expand to their own files 17931f3b51.
- Cleanup: Move Mesh Filter, Smooth and Automasking to their own files f2f30db98d.
- Cleanup: Move all sculpt transform functionality to its own file 82774a9d24.
- Cleanup: Missing clang format in previous commit 200cc531bd.
- Cleanup: Move all Face Set functionality to its own file cfc8d73546.
- Sculpt: Delay Viewport Updates b8d9b5e331.
- Sculpt: Add global automasking options for all brushes 1f745e2c72.
- Scultp: Face Set boundary automasking 7c88968c89.
- Fix Face Sets painting and selection precision 009dde69cd.
- Fix T75121: Memory leak in Surface Smooth 6cc4c68dad.
- Fix mesh boundary automask curve falloff 43f748a32f.
- Multires: Initial Face Sets support da3cb514e5.
- Add Voxel Mode to the Remesh modifier 6c036a65c9.
- Voxel Remesh: Edit Voxel Size operator 1c1a14dcdf.
March 23 - March 27
This week I updated and committed most of the patches planned for 2.83 and started working on 2.90 projects like the new grab brushes and the pose brush with support for multiple meshes. I also implemented the face sets support in the pose brush.
- Finish the grab brush and the pose brush
- Do some minor tweaks to the brushes
- D7262 Fix mesh boundary automask curve falloff
- D7259 Fix Face Sets init breaking the sculpt symmetry
- D7254 Fix T75121: Memory leak in Surface Smooth
- D7249 Fix T75104: Update Face Sets visibility when entering Sculpt Mode
- Sculpt: Pose Brush Face Sets origin mode 9120191fe2.
- Rename Edge Automasking to Mesh Boundary Automasking 4c0cca78eb.
- Sculpt: Weight normal and area sampling towards the brush center 015c084bda.
- Fix T74637: Reset face set data when disabling dyntopo 7eacda5a2b.
- Sculpt: Create Face Set by Edit Mode Selection 48ea173a7d.
- Sculpt: Face Sets Init operator 99530ef4ed.
- Sculpt: Surface Smooth Brush and Mesh Filter a218be3080.
- Sculpt: Use uchar to store the sculpt mask in the GPU f5ac118fb3.
- Fix T74780: Face sets operators not aware of SCULPT_FACE_SET_NONE 458f50ba73.
- Fix T74761: Reimplement vertex to face sets visibility sync 83947ea253.
- Fix T74899: Add Draw Face Sets brush to versioning defaults c286fa309e.
- Fix T74692: Do not draw nodes with the default face set 32bb848838.
- Fix T74808: Division by 0 in Cloth brush solver with overlapping vertices c32cf06e42.
- Fix T75089: Missing pmap when using Face Sets in the mesh filter 4ff3d5aded.
March 16 - March 20
This week I finalized the implementation of the two most important multires pending projects (automasking and face sets). I also implemented a few operators that were left in the Face Sets design task for 2.83. I also started to design the algorithms for new brushes that work on negative space (for 2.90)
- Update and commit all pending patches
- Continue designing the negative space brushes
- D7211 Sculpt: Create Face Set by Edit Mode Selection
- D7209 Sculpt: Face Sets Init operator
- D7207 Fix T74692: Do not draw nodes with the default face set
- D7199 Fix T74899: Add Draw Face Sets brush to versioning defaults
- D7188 Fix T74780: Face sets operators not aware of SCULPT_FACE_SET_NONE
- D7187 Fix T74761: Reimplement vertex to face sets visibility sync
- D7185 Rename Edge Automasking to Boundary Automasking
- D7184 Fix T74808: Division by 0 in Cloth brush solver with overlapping vertices
- D7174 Fix paint cursor lagging behind the OS cursor
- D7168 Multires: Initial Face Sets support
- D7165 Multires: Implement edge boundary automasking
- Fix incorrect Face Sets when using mask extract e42f61dda8.
- Fix visual artifacts with partially hidden meshes and mask extract bab0fd1308.
- Fix T74626: Wrong Face Sets overlay rendering in smooth shading e4077ea69d.
- Update viewport rotation origin when changing Face Set visibility 7941ea02f8.
March 9 - March 13
I rebased the vertex color patch and did a lot of fixes to the face sets and the sculpting system in general. I also did a new layer brush that should fix all the artifacts of the previous one.
- Start planning the new Multires features and UI
- Continue fixing Face Sets bugs
- More patches with to improve brushes
- D7148 Sculpt: Use uchar to store the sculpt mask in the GPU
- D7147 Sculpt: New Layer Brush
- D7137 Update viewport rotation origin when changing Face Set visibility
- D7130 Fix visual artifacts with partially hidden meshes and mask extract
- D7129 Fix incorrect Face Sets when using mask extract
- D7105 Sculpt: Render Face Sets always as flat shading
- D7099 Fix T74637: Reset face set data when disabling dyntopo
- D7096 Fix T74626: Wrong Face Sets overlay rendering in smooth shading
- D7080 Sculpt: Split plane offset into base and offset
- Fix boundary edges detection ignoring Face Set visibility fa823f0af8.
- Fix flood fill operation not taking into account hidden vertices 69eaa19340.
- Use golden ratio conjugate for Face Sets hue generation b0271c6e40.
- Fix Face Set operators not modifying sigle poly Face Sets 53c03d4679.
- Fix T74646: Pick a random face set to be rendered white when randomizing the colors 9dcd6ba3eb.
- Fix T74648: Do not relax with 0 neighbors or no vertex normal 88fd2b1dd5.
- Fix mesh shrinking when using the relax mesh filter. 088b92b92c.
- Fix rendering artifacts when changing Face Sets visibility 1619a5d8e9.
- Fix T74613: Assign the default face set color in the versioning code b37482bc3d.
- Fix T74354: Avoid division by 0 when calculating hardness 4652f23fa3.
- Sculpt: Edge Automasking 84b94f9e7b.
- Face Sets: Use white color for a default Face Set to enable the overlay 18e3615a68.
- Face Sets: Add relax support to Mesh Filter and Draw Face Sets 0dfb4ac1ff.
- Fix Cloth Brush not working with automasking e702c9a700.
- Fix T74500: Rebuild the Face Sets datalayer after slicing the geometry 0030e6a2fc.
- Fix T74499: Add visibility checks to Face Sets creation operations 503d5c0c65.
- Sculpt: Remove hardcoded hardness from Clay brush c65b9fb825.
- Fix T74492: Reset Face Set data when cancelling the expand operator 6eb76f6430.
- Cleanup: Move Face Sets random color generation to its own function a540d16ee8.
March 2 - March 6
I finished and committed the Face Sets patch, and also created a lot of patches for Face Sets fixes and bugs that were already there, but really hard to notices without Face Sets. I also implemented Surfae Smooth and an initial version of topology falloff.
- Rebase the vertex color patch
- Continue fixing Face Sets bugs
- More patches with small tweaks to improve brushes
- D7059 Sculpt: Initial Topology Distances and Falloff support
- D7057 Sculpt: Surface Smooth Brush
- D7049 Fix T74500: Rebuild the Face Sets datalayer after slicing the geometry
- D7048 Fix T74499: Add visibility checks to Face Sets creation operations
- D7043 Fix T74492: Reset Face Set data when cancelling the expand operator
- D7042 Cleanup: Move Face Sets random color generation to its own function
- D7036 Sculpt: Add face iterators to the PBVH
- D7035 Face Sets: Use white color for a default Face Set to enable the overlay
- D7034 Face Sets: Add relax support to Mesh Filter and Draw Face Sets
- Fix T74513: Wrong naming in some Face Set comments and operators 6b49a9db52.
- Fix T74501: Wrong initial iteration when using mask expand db1d711458.
- Fix T74498: Do not iterate over hidden vertices when using the transform tool 7760cec5dc.
- Cleanup: Move Multiplane Scrape brush to its own file f2f8c5b2bd.
- Cleanup: Use the SCULPT_ prefix in all sculpt_intern functions 69d4aec55f.
- Fix using wrong property name for preserve face sets when remeshing 8bb0ac27dc.
- Sculpt Face Sets 38d6533f21.
- Fix T74426: Crash in the IK Pose Brush preview with null preview chain d83c0969f6.
- Fix Snake Hook rake on rotated objects daca00f187.
- Fix hardness not resetting when using reset brush b39273c071.
February 24 - February 28
I updated and rebased the Face Sets and Vertex Colors patch. I coded some new features for Face Sets and improved some regular brushes.
- Try to fix the vertex paint brush bugs
- Continue improving the brushes for the LTS release
- D6992 Fix hardness not resetting when using reset brush
- D6989 Sculpt: Weight normal and area sampling towards the brush center
- D6987 Fix T74354: Avoid division by 0 when calculating hardness
- Clay Thumb: Remove hardcoded hardness value c930cd7450.
- Sculpt: Hardness brush property ff0124418f.
- Cleanup: Move pose brush to its own file fc7fdc5c4e.
- Fix T74307: Add missing brushes to versioning_defaults 233158b555.
- Fix T73707: Missing mesh normals update on sculpt undo 3c9956a3ac.
- Fix T74074: Strokes with timer events don't get pressure values a489d77c5b.
- Fix T73947: Support radial symmetry in Multiplane Scrape c04c5ac4f6.
- Sculpt: Cloth brush 4a373afa5f.
- Fix wrong coordinates being read when using the sculpt API 793135e190.
- Fix T72721: Add visibility flags updates to the PBVH f4411b58ad.
February 17 - February 21
This week I updated and rebased most of the old patches. I was sick 2-3 days during the weekend, so not the most productive week.
- Rebase and update the Face Groups patch. Rename everything to face masks.
- D6902 Sculpt: Hardness brush property
- D6901 Fix T73947: Support radial symmetry in Multiplane Scrape
- Theme: Radial gradient background and enum for gradient type 05fd2acf89.
- Fix T54270: Reset last_hit and last_location when reading the file 2df040ed58.
- Sculpt: Pinch only in the direction perpendicular to the stroke ee5c13c45c.
- Sculpt: Update red cursor color 43c497051a.
- Sculpt: Fix slide relax cursor color 8673d2e92a.
- Fix T73105: Use Magnify instead of Pinch in the brush context menu f996aeaf76.
February 10 - February 14
This week I implemented some new features (radial background), fixed some bugs and refactored the brush presets. I also wrote some design tasks for future projects.
- Rebase and update a lot of old patches
- Start creating patches for splitting sculpt mode into multiple files
- D6830 Sculpt: Default brush presets and reset all operator
- D6828 Sculpt: Update red cursor color
- D6827 Sculpt: Fix slide relax cursor color
- D6825 Theme: Radial gradient background and enum for gradient type
- D6805 Fix T73105: Use Magnify instead of Pinch in the brush context menu
- D6804 Fix T73656: Use BKE_brush_alpha_get in texture paint
- D6801 Fix T73706: Crash after disabling dyntopo with multires modifier
- Sculpt: Split normal radius and area radius df45257ec5.
- Sculpt: Clay Strips Tip Roundness property 6ee6a42d10.
- Pose Brush: Option to disable the IK anchor point 0ab7e32158.
- Sculpt: Clay Thumb Brush 015d5eda88.
- Fix T73656: Use BKE_brush_alpha_get in texture paint 35490c3ead.
- Cleanup: Sculpt/Paint, use correct types and iterator variable declaration 64e65442a1.
- Cleanup: Sculpt, Comment formatting 395e91b87c.
February 3 - February 7
This week I focused on bug fixes and code cleanup.
- More bug fixing
- Implement some new features
- Write some design task
- D6792 Cleanup: Sculpt, Comment formatting
- D6788 Cleanup: Sculpt/Paint, use correct types and iterator variable declaration
- D6771 Fix T70020: Force using the internal sculpt pivot when transforming
- D6767 Fix T72721: Add visibility flags updates to the PBVH
- D6754 Fix T54270: Ensure that the vector read from ups->last_location is valid
- D6753 Fix T73226: Add defaults and versioning for uv_relax_method
- Fix T73706: Crash after disabling dyntopo with multires modifier af6ba4dce5.
- Revert "Sculpt: Remove partial viewport updates from sculpt stroke code" 51b67218ae.
- Fix T72690: Do not draw points behind the viewport camera in the paint cursor 78cf61cc62.
- Fix T66349: Add missing update for face orientation overlay 08d1df4729.
- Merge branch 'blender-v2.82-release' 6b9062508a.
- Fix warning when initializing the IK chain in the Pose Brush db4bb49aae.
January 27 - January 31
This week I wrote a blog post about the new sculpt mode features (still not published), I implemented edge automasking and I made the initial patch for the Cloth Brush.
- Update the blog post about the Sculpt Mode Features with the cloth brush
- Continue polishing the cloth brush UX
- D6715 Sculpt: Cloth brush
- D6705 Sculpt: Edge Automasking
- D6688 Revert "Sculpt: Remove partial viewport updates from sculpt stroke code"
- Fix T73054: Add DNA defaults for pose_ik_segments e7c90438e0.
January 20 - January 24
This week I rebased the Vertex Colors patch and I updated and fixed the Clay Thumb Brush (it is now ready to be committed). I also continued experimenting with snapshots and the sculpt/pressure patch for grab brushes.
- Write a new blog post about the Sculpt Mode features
- Implement automasking for edge preservation
- D6665 Fix T70173: Ensure CD_MDISP when sculpting in Multires
- D6663 Fix T73054: Add DNA defaults for pose_ik_segments
- Sculpt: Rename Topology Brush to Slide Relax Brush 300f937aec.
- Fix T71373: Sculpt Mask not extracting correctly on scaled objects 5186bb56b5.
- Fix T73080: Remove support for scene radius in Weight/Vertex paint be691105c2.
January 13 - January 17
I made some improvements and new features on top of the current brushes and I coded the first prototype for sculpt snapshots.
- Rebase the Vertex Color patch and add all missing features following the project document
- D6623 Sculpt: Limit viewport redraws to 30fps
- D6603 Sculpt: Enable size/pressure in Grab Brush
- D6594 Sculpt Snapshots
- D6591 Sculpt: Crease brush: Pinch perpendicular and new defaults
- D6590 Sculpt: Rename Topology Brush to Slide Relax Brush
- D6587 Sculpt: Pinch only in the direction perpendicular to the stroke
- D6586 Fix T73080: Remove support for scene radius in Weight/Vertex paint
- D6584 Pose Brush: Option to disable the IK anchor point
- Fix T73070: Disable falloff_shape in the Pose Brush f4beab7192.
- Fix T73094: Check all vertices when recalculating the mask flags 22a317347f.
January 6 - January 10
This week I made the design tasks for the vertex colors/attribute paint, Multires and sculpt mode performance projects projects
- Work on some improvements to the 2.82 sculpt tools
- T73047 Sculpt Mode Multires Design
- T72943 PBVH task scheduler performance issues
- T71947 Vertex Color/Attribute Edit Design
- Fix T71712: Free the dynamic mesh preview when rebuilding the PBVH 22f5edcf45.
- Fix T72251: Add rotate brush as constrained by radius for automasking 55daa0d444.
- Fix T72647: Check if the PBVH type makes sense for the sampling mode 4f70af34e0.
- Fix T72830: Check if the mesh has mask data before extractig or slicing bc9c8c35e1.
- Sculpt: Pose Brush with Inverse Kinematics fdf89acc86.
December 30 - January 5
I designed, code and test the main painting brush in sculpt vertex colors. All previous issues are fixed, but it will still require some tweaking to consider it final.
- Continue working in the sculpt vertex colors patch
- D6513 Fix T72830: Check if the mesh has mask data before extracting or slicing
- Fix T72700: Missing flush vert visibility on sculpt undo 04ddd6f717.
- Sculpt: Add color alpha controls to the brush cursor 0314561684.
- Sculpt: Remove partial viewport updates from sculpt stroke code 394b48029c.
- Fix T72747: Increase minimum voxel size in the voxel remesher 6a54969cf1.
- Sculpt: Use more saturated colors in the cursor e998cb2c2e.