User:Pablodp606/Reports/2021

July 19 - July 23

The Array Brush now has non destructive editing in all its deformation modes, including support for editing the array after remeshing.

Next Week

  • Implement undo for the array brush and polish the existing funcionality (smoother deformations).


July 12 - July 16

The Array Brush basic set of features is working and it starts to be useful for real use cases, including multiple array modes, modifiers/EEVEE updates and orientation locking.

Next Week

  • Implement the brush edit mode of the Array Brush.

July 5 - July 9

This week I continued with the Array Brush. Multiple Array Modes, scaling, Face Set modes and orientation are already working.

Next Week

  • Continue with the Array Brush, including orientation options, jittering and radial arrays modes.

June 28 - July 2

This week I did some experiments with a fairing node (it will probably require modifications on the fairing functions in order to be useful) and I started the initial version of the Array Brush, which there is already a working version of it.

Next Week

  • Continue with the Array Brush.

June 21 - June 25

This week I fixed some bugs, continued with the twist brush (it will definitely need dyntopo in order to work) and investigated how to implement SDF collisions for the cloth brush.

Next Week

  • Continue organizing asset fundamentals technical design.

June 14 - June 18

This week I did some bug fixing, more tech design organization and started working on a prototype of the twist brush. I already have a working version, but not sure if it is going to be possible to merge it any time soon as it requires dyntopo and a highly complex brush setup in order to be useful.

Next Week

  • Continue with the asset fundamentals technical design.
  • Try to simplify the twist brush so it can exposed in the current UI if possible.

June 7 - June 11

This week I made the initial blog post for the asset project and continued with task listing and dependencies. I reviewed the mask filter again, but I think it is better to wait after having the asset project more advanced as the implementation can also be useful for general attribute editing.

Next Week

  • Continue with the asset fundamentals technical design

May 31 - June 4

This week I participated on the asset manager workshop, tested some prototypes for the assets fundamental workshop (extended face set/masking tools) and I started working on the final version of the mask filter for 3.0

Next Week

  • Continue with the asset fundamentals technical design
  • Make the patch for the new mask filter for 3.0

May 24 - June 28

This week I participated on the asset manager workshop and I started planning the technical design and documentation for the asset fundamentals project.

Next Week

  • More asset manager workshop

May 17 - May 21

This week I continue with some tool prototypes and I started planning the next phase of documentation, the implementation plan.

Next Week

  • Continue working on the implementation plan and technical documentation. Having that finished as soon as possible should be the priority.

May 10 - May 14

This week I fixed some bugs and I continue working on a better design for some new experimental tools.

Next Week

  • Continue working in the new tools.
  • Depending on the state of the module proposal, continue working on more technical/roadmap documentation.

Patches

  • D11249 Add comment regarding Fade Inactive Geometry property in overlays popover
  • D11243 Fix T88230: Properly handle Face Set visibility in Expand Face Sets editing

Commits

  • Fix sculpt neighbor iterator not taking visibility into account bd76184966.
  • Fix Sculpt tools showing the cursor of the previous active brush d70cfb90e0.
  • Fix wrong loop count in Sculpt Expand code 0e3475a0ec.
  • Fix T82155: Fade inactive geometry overlay not working with instanced geometry ce62d65094.
  • Fix T88060: Expand freezing when deleting a Face Set with multiple loose parts 8815e3e330.

May 3 - May 7

This week I continued working in new tools. A minimal version is already working, but I'll probably have to try something else to keep the code manageable.

Next Week

  • Continue working in the new tools.

Patches

  • D11195 View3D: Add undo support for Lock Camera To View
  • D11169 Fix T88060: Expand freezing when deleting a Face Set with multiple loose parts

Commits

  • Fix T83398: Fade inactive geometry overlay option not visible depending on the mode ee0ec0f2af.

April 26 - April 30

This week I finished the documentation proposal, updated some patches (transfer mode) and started working on new tools for the next release.

Next Week

  • Continue working in the new tools, it is probably going to take me another week to have working.

Commits

  • Fix T87474: Face Set visibility updates failing with single face loop a4191c2d18.
  • Fix T87596: Pose brush not using automasking options cc72dd7376.
  • Fix possible crash with dyntopo and clay strips normal filter 2e888bfe6c.

April 19 - April 23

This week I mostly prepared the documentation for presentation. I also coded the initial version of the transfer mode overlay.

Next Week

  • Finish the transfer mode overlay

Patches

  • D11055 Overlay: Flash on Mode Transfer overlay

April 12 - April 16

This week I made some experimental tools (mainly experiments to get a symmetrize tool working) and bug fixing.

Next Week

  • Try to make the symmetryzie tool usable
  • Prepare the documentation for presentation

Patches

  • D11008 Fix T87474: Face Set visibility updates failing with single face loop
  • D11007 Fix sculpt neighbor iterator not taking visibility into account
  • D11006 Fix sculpt connected components tagging hidden geometry wrong
  • D11005 Fix T87596: Pose brush not using automasking options

Commits

  • Sculpt: Add area normal test to clay strips for better front faces detection 895fef5ccb.
  • Fix wrong visibility flush with Face Sets b82a2fd9ab.
  • Fix neighbor connectivy with hidden edges 18a86af416.
  • Fix Scene project brush after merge a0b5fd9cb6.
  • Sculpt Symmetrize: Fix missing updates with modifiers 4f8693652b.
  • Sculpt Symmetrize: Free the symmetrize map on changes d29378c2f2.
  • Sculpt Symmetrize: Prevent crash with dyntopo and multires 0e6c07c063.
  • Sculpt Symmetrize: Add brush falloff cb3e0ff344.
  • Sculpt Symmetrize: Fix bug in main brush loop 11d1fdeb34.
  • Sculpt Symmetrize: Initial working version 430641d481.
  • Sculpt Symmetrize: Add base symmetrize map code 4745f29971.
  • Sculpt Symmetrize: sculpt_symmetrize file and main loop 8512b1b5dd.
  • Sculpt Symmetrize: Initial commit 674bc2e4b4.
  • Object: Make flash animation slower b240973412.
  • Object: Use theme select color for animation 39994c3208.
  • Object: Enable transfer mode functionality for switching objects in Sculpt Mode 86915d04ee.
  • Sculpt: Update menu entries for new Expand operator 1a81693d38.

April 5 - April 9

This week I did some switch object prototypes, continue with documentation and started planning the work for the tools refactor.

Next Week

  • Get some patches ready from sculpt-dev to Blender 3
  • Do the documentation formatting
  • Continue testing things for the tools refactor

Patches

  • D10953 Object: Enable transfer mode functionality for switching objects in Sculpt Mode
  • D10952 D10952 Sculpt: Update menu entries for new Expand operator

Commits

March 29 - April 2

This week I focused only on documentation. Should be finished this week. I hope I can find some time for creating some final patches from the features I made the latest weeks as they were already tested for a while.

Next Week

  • Finish the documentation
  • Create some final patches for minor features (loop selection and small tweaks to Expand).
  • Create the patches for the switch object updates after meeting.

March 22 - March 26

This week I focused mostly in the documentation. I also finished and tested the sculpt loop selection tools.

Next Week

  • Continue with documentation. Should be finished by next week.

Commits

  • Sculpt: Initial implementation of uniform smoothing d2c1357fc5.
  • Sculpt Poly Loop: Fix symmetry f5a122309d.
  • Sculpt Expand: Default Face Set boundary modes to topology ce9e0b53b1.
  • Sculpt Poly Loop: Symmetry support ce6d9112aa.
  • Cleanup: Clang format ecbf642ddd.
  • Cloth Filter: Add pinch origin modes caf5f5767f.
  • Cloth Filter: Add symmetry support to pinch deformation mode e0cc387124.

March 15 - March 19

This week I worked on tools for loop selection, finished the code for the 2.93 features and continued with the documentation. I also started to try new features for the pose brush.

Next Week

  • Continue with documentation
  • Implement symmetry and finish the loop selection operators

Commits

  • Sculpt Expand: Split snap event into two separate events f429a7dc13.
  • Sculpt Expand: Add Poly Loop Falloff mode 257562ad6d.
  • Face Sets Topology: Improve keymap and creation delay dd77b22626.
  • UI: Rename Init to Initialize Face Sets in menu e8f6c65b44.
  • Sculpt Poly Loop: Improve loop direction detection 3d70805a68.
  • Face Sets Topology: Add repeat last and default keymap b6f0176c10.
  • Sculpt Poly Loop: Move poly loop code to its own file 6835ea72f2.
  • Sculpt Poly Loop: refactor poly loop code for reusability 6408c4ebf6.
  • Face Sets Topology: Initial working version e557e4d03c.
  • Face Sets Topology: Initial loop iteration implementation (one side only) 02d482e8f2.
  • Face Sets Topology: Initial edge loop detection 525badbd7d.
  • Face Sets Topology: Initial commit 49fa3dd5ff.
  • Cleanup: Clang format 8b0bc7e3e8.
  • Sculpt IPMask: Working exec callback for scripts ef4abf1212.
  • Sculpt IPMask: Refactor filter initialization 6ce37c59ec.
  • Sculpt IPMask: Add direction property to the filter 6824d73b75.
  • Sculpt IPMask: Start implementing exec callback 06762eefcf.
  • Sculpt IPMask: Fix memory leak in step compute f791fc031e.

March 8 - March 12

This week I worked in the documentation and coded some new experimental features.

Next Week

  • Continue with documentation
  • Create the patches for the features planned for 2.93

Commits

  • Sculpt: Apply latest clang-format changes to the branch abda36c076.
  • Cleanup: Clang format 4ad1a7ab31.
  • Sculpt: Fair all by tangency mode for face set edit 5f5aa43ab1.
  • Cleanup: add BKE_pbvh_vertex_iter_begin to clang-format 258b15da74.
  • Sculpt: Mask Init operator 74052a9f02.
  • Sculpt: Move Mask Init to its own file a9083cc0ee.
  • Sculpt IPMask: Increase sensitivity of contrast mask filter c8a03bc716.
  • Fix T86422: Expand crashing with EEVEE enabled 7d827d0e9e.
  • Fix crash in boundary brush after refactor 3f7b585a08.
  • Sculpt: Init Face Sets by Face Sets boundaries e5c1e13ef0.
  • Cleanup: Clang format 966af5a075.
  • Voxel Remesher: Option to preserver material slots 5234e23c2c.
  • Fix crash in Boundary brush expand mode after refactor 75709e4d57.

March 1 - March 5

This week I finished the new mask filter operator, committed Expand and did the live stream on the Blender channel.

Next Week

  • Continue with documentation

Commits

  • Sculpt: Make global smooth factor control the strengh directly d3742022c2.
  • Cleaup: Clang format 75794afdcd.
  • Sculpt IPMask: Tweak default filter sensitivity b1b49f6130.
  • Sculp IPMask: Property to enable/disable step interpolation ca60d520d9.
  • Cleanup: Clang format 2fd22fd663.
  • Sculpt IPMask: Implement restoring and cancelling the filter 04c85de559.
  • Fix after merge 0acaa40c08.
  • Sculpt: Expand Operator 82e7032477.
  • Sculpt IPMask: Fix crash in original data updates e696280b88.
  • Sculpt IPMask: Implement filters that use original data 5e9eb1930f.
  • Sculpt IPMask: Some experiments for a better sharpen filter 9a7cbff535.
  • Sculpt IPMask: Tweak default sensitivity of each step 8dec2ca7ba.
  • Sculp IPMask: First working version of substep interpolation 098d0d782a.
  • Sculpt IPMask: Initial refactor to support step interpolation 779a268c6e.
  • Sculpt IPMask: First version of contrast filter 930a9edc1e.

February 22 - February 26

This continued updating the patch of Expand (should be ready next week), I coded the bend deform for Pose and a new Mask Filter and I continued organising the module documentation.

Next Week

  • Prepare the demos for expand
  • Investigate how to implement proper mask filters
  • More documentation

Commits

  • Fix crash with dyntopo on tools that use cached vertex info c0d8a14ae3.
  • Sculpt IPMask: update pie menu 1edad56ffc.
  • Sculpt IPMask: Use the new mask filter in the pie menu ef3d68f17b.
  • Sculpt IPMask: Implement some other filterts (hard/soft) 094ffcf669.
  • Sculpt IPMask: Move main data update to its own function 56d33186a4.
  • Cleanup: Clang format d570feeffc.
  • Sculpt IPMask: Ignore inbetween mouse events 158397a007.
  • Sculpt IPMask: Free ghash when finishing 4e8c430c6e.
  • Sculpt IPMask: Multithreaded and fast mesh updates d8a4ebb068.
  • Sculpt IPMask: Enable iteration count 6d46a3ca4e.
  • Sculpt IPMask: Refactor, prepare for iteration counts 1751b3c7c1.
  • Sculpt IPMask: Unify function to apply delta steps 8ae0573c0f.
  • Sculpt IPMask: Remove debug prints be0194ef3e.
  • Sculpt IPMask: Implement automasking for the filter 0a2ca5860f.
  • Sculpt IPMask: Implement filter selection 151cf0b9d9.
  • Sculpt IPMask: Multithreaded compute step 12cb22d5f6.
  • Sculpt IPMask: Implement undo 5c2bb6f93a.
  • Sculpt IPMask: Generalize compute function 2e99348da7.
  • Sculpt IPMask: Implement smooth and sharpen callbacks 817ccc3a99.
  • Sculpt IPMask: Fix bugs in stack index, start refactor a429f73d2b.
  • Sculpt IPMask: First working version 5898cc25c9.
  • Sculpt IPMask: Functions to step back/forward in the stack f55c39a974.
  • Sculpt IPMask: Dummy function to compute a step ebf94179b5.
  • Sculpt IPMask: delta steps struct and packing 9e5a219f3f.
  • Sculpt: Add mask filter tool and target step count 76de0eeb95.
  • Sculpt: Initial commit for Mask Filter tool with interactive preview 773c5c7464.
  • Fix crash in versioning code ad743c056f.
  • Sculpt: Add global smooth strength factor for alt-smooth 05bb102a30.
  • Sculpt: Add extra options to Face Set pie menu b37fd7a14b.
  • Sculpt: Initial support for bend deformations in Pose 5d7f7b7065.
  • Fix proportional connected not working with loose edges due to hidden geometry 1a5027449a.

February 15 - February 19

This week I created the patch for expand and continued updating it.

Next Week

  • Finish the review of expand
  • Continue working in the module documentation

Patches

  • D10455 Sculpt Expand
  • D10455 Fix proportional editing not working with wires on hidden geometry

Commits

  • Sculpt Expand: Silence warning 09e394583e.
  • Sculpt Expand: Fix artifacts in sculpt geodesic distances 7baa3c7df3.
  • Sculpt Expand: More comment on ExpandCache 214e802f5f.
  • Sculpt Expand: Improve and fix Face Set snapping whit Face Sets 697e6e53b8.
  • Sculpt Expand: ExpandCache comments 64c0f1fc3f.
  • Sculpt Expand: Expose normals expand in the keymap ca5ccb52e5.
  • Sculpt Expand: Fix normals falloff 51e90a0ada.
  • Sculpt Expand: More comments 53874b413e.
  • Sculpt Expand: Refactor, more comments 1b029b790b.
  • Sculpt Expand: Cleanup, comments acd99f12e7.
  • Sculpt Expand: rename texture options to distortion 1a11ac5e34.
  • Sculpt: Move geodesic distances code to its own file 416afcb1c3.
  • Sculpt Expand: Fix face set snapping with Multires 3539cbc497.
  • Sculpt Expand: Fix crash when editing an existing face set with Multires 4288b2a1d1.

February 8 - February 12

This week I got expand ready for master (just code comments missing). I also coded some other minor functionality and tweaks.

Next Week

  • Make the final patch for expand

Commits

  • Sculpt Expand: Improve support for Multires and dyntopo fc7c57f4a1.
  • Sculpt Expand: Fix propagation from grids to faces in Multires e3fdfcc981.
  • Sculpt Expand: Improve support for Multires and dyntopo fc7c57f4a1.
  • Sculpt Expand: Fix propagation from grids to faces in Multires e3fdfcc981.
  • Sculpt Expand: Limited support for Multires e9b6848fe7.
  • Sculpt Expand: Fix texture strength when switching falloffs 38e61c04ea.
  • Sculpt Expand: Make texture strength consistent across falloff modes 5e56eb8ca2.
  • Sculpt: Add option to show the sculpt pivot as part of the cursor ccfc8aacf8.
  • Sculpt Expand: Update Keymap descriptions edece9e741.
  • Sculpt Expand: Fix wrong expandcache ref when finishing expand 6ee1db0d67.
  • Sculpt Expand: Render the origin of expand as part of the cursor 30434e3904.
  • Cleanup: clang format eb6e96006e.
  • Sculpt Expand: Fix max falloff with texture distorsion 9047bf89fa.
  • Sculpt Expand: Support for texture distorsion for mask and colors 63ef98d056.
  • Sculpt Expand: Fix and improve behaviour of pivot reposition f419d4625a.
  • Sculpt Expand: Fix Face Set ID constantly updated when moving ae19d5303a.
  • Cleanup: clang format 35f883b886.
  • Sculpt Expand: Use symmetry and component filtering for pivot reposition 7d52658d84.
  • Sculpt Expand: Remove unused Face Sets update code 974b50d16b.
  • Fix depth PBVH raycast with grids 51c931ebb5.
  • Sculpt Expand: Force all enabled when cursor not over the mesh 0b9aaaf97f.
  • Fix cloth filter not working after merge faccaee6c3.
  • Cleanup: Clang format a56fb568ed.
  • Cleanup: Unindent if statements in sculpt tools code 4818ed1c76.
  • Fix Sculpt Gestures using normal orientation with translated objects f617782fc1.
  • Fix T83047: Texture paint symmetry options not in topbar 2a670a34be.
  • Fix T85079: Thumb brush unstable when producing larger displacements 8fcf3e96fe.
  • Sculpt expand: Fix crash when missing connected components 88c4684466.
  • Sculpt: fix pose brush flood fill with symmetry 77a30a2886.
  • Sculpt Expand: Force expand to work only on active connected components 370e2b5d82.
  • Fix crash in versioning code 44dc741e89.
  • Sculpt Expand: Fix keymap entry for snapping 7a8cf94170.
  • Scupt: Fix failed scene projection with ortographic views fd28c19d09.
  • Sculpt: Fix wrong vertex normals in Scene Project 2f5eabf859.

February 1 - February 5

This week I finished all remaining functionality of expand and did some other minor features (flip images, circle deform type for boundary...)

Next Week

  • Start porting features from sculpt branch to master

Patches

  • D10333 Cleanup: Unindent if statements in sculpt tools code

Commits

  • PBVH depth: Improve detection with normal orientation in trim eea78bd112.
  • Sculpt: Location option for lasso trim and depth info ec8d1b4eae.
  • Sculpt Expand: Use visibility state for enabled values 4e4c1f40e0.
  • Sculpt Expand: Fix gradient when using invert 35ac8cf4dc.
  • Sculpt Expand: Enable gradient when enabling brush gradient 2f2f14ffed.
  • Sculpt: fix pose and expand floodfill initial vertex f7e062ef3e.
  • Sculpt: Boundary circle deformation mode 23cf808585.
  • Cleanup: clang format 8e8845786f.
  • Fix elastic deform surface falloff crashing or breaking geometry 3ed1a99dd2.
  • Rename random per component to random per loose part 0a9bc6944c.
  • Fix const warning ec4e2f32c8.
  • Remove unused variable 2ea03ff860.
  • Fix crash in versioning code 9a3f32f80f.
  • Image: Flip image operator 7d874b0343.
  • Fix T85230: Face Set Boundary automasking not working with dyntopo ebd2aa789e.
  • Fix T85136: Sculpt geometry extract not using updated mesh 0f238c5bcb.
  • Fix T84370: Project tool not working with shape keys 1081eee4c5.
  • Fix memory leak in boundary brush preview data 7bde2844ae.
  • Sculpt Expand: Enable repeat events for loop count increase/decrease 1cc0f8cf75.
  • Sculpt Expand: fix topology recursion and flood fill b4e90b6e61.
  • Cleanup: Clang format 19fa6fd9f4.
  • Sculpt: Init Face Sets by Face Sets boundary 88921150ff.
  • Sculpt Expand: Add Expand to the keymap by default e973c94036.
  • Sculpt Expand: Fix multiple crashes when using modifiers b40f1f4c79.
  • Sculpt Expand: Fix modal keymap descriptions c191344efb.
  • Sculpt Expand: Refactor and pivot reposition debf4fc7c9.
  • Sculpt Expand: Implement topology diagonals falloff a60aca00bb.
  • Sculpt Expand: implement restore, undo and cancel 763f96526e.

January 25 - January 29

This week I mostly did bug fixing

Next Week

  • Finish the expand operator
  • Organise the meeting to discus the features of expand

Patches

  • D10259 Fix T85230: Face Set Boundary automasking not working with dyntopo
  • D10255 Fix T84551: Linear subdivisions crashing with geometry loose geometry
  • D10231 Fix Sculpt Gestures using normal orientation with translated objects
  • D10231 Fix Sculpt Gestures using normal orientation with translated objects
  • D10230 Sculpt: Cleanup Keymap
  • D10216 Fix T83047: Texture paint symmetry options not in topbar
  • D10215 Fix T83398: Fade inactive geometry overlay option not visible depending on the mode
  • D10214 Fix T85079: Thumb brush unstable when producing larger displacements
  • D10205 Fix unsubdivide entering an infinite loop with two faces vert

Commits

  • Sculpt: Implement elastic surface falloff e779eab729.
  • Fix Face Set init not showing in the menus 78dffe2f16.
  • Fix T84896: Boundary brush not affected by automasking b9e07c1e0b.

January 18 - January 22

This week I continued working on expand, wrote some design docuements and organised the issues.


Next Week

  • Bug Fixing

Patches

  • D10174 Fix T84370: Project tool not working with shape keys
  • D10173 Fix memory leak in boundary brush preview data
  • D10161 Fix T84896: Boundary brush not affected by automasking

Commits

January 11 - January 15

This week I ported geodesic distances to sculpt mode and started rewriting the expand operator to take advantage of that feature.

Next Week

  • Continue working on expand

Commits

  • Sculpt Expand: Expand from active 3d311fdaf1.
  • Sculpt Expand: Expand from face set boundary 7a0d5e0c9e.
  • Cleanup: Clang Format e2fb2315fd.
  • Sculpt Expand: Modify Active Face Set fc1fc95b79.
  • Sculpt Expand: face set selection snapping 05703d630e.
  • Sculpt Expand: Recursivity, move and falloff switching 65c358851d.
  • Sculpt Expand: Initial implementation of face falloff factors b997fc5ea1.
  • Sculpt Expand: Initial face sets expand target 869747e527.
  • Sculpt Expand: vertex colors target df7857a364.
  • Expand: Support for invert, preserve and mask gradients cd0cf0a5b7.
  • Sculpt expand modal keymap abf7518cbf.
  • Add automatic falloff type switching to expand 24bbe05913.
  • Implement boundary expand 81ac9f61b6.
  • Basic mask expand operation working a9f6ab7357.
  • Initial commit for new generic sculpt expand operator df9a5825e1.
  • Cleanup: Clang format 0c8b9cd7d1.
  • Sculpt: Grab brush surface falloff 142aba9485.
  • Add experimental ripple effects option to the cloth solver deeb0b3aac.

January 4 - January 8

This week I reorganised the module workboard, fixed bugs and started tweaking the features in the branch based on the module meeting.

Next Week

  • Continue improving the features in the branch
  • See what can be done regarding the XYZ symmetry in weight paint

Commits

  • Fix crash in fairing and memory optimization 11cd86a8d2.
  • Fix crash with scene project and dyntopo d37d96437e.
  • Sculpt Scene Project: Add option to use vertex normals and brush normal 940fb3c044.
  • Sculpt: add option for use the center of mass to the sphere mesh filter f91a2a0831.
  • Add missing random mask init menu 6d6ab057e4.
  • Fix T79146: Sculpt Mode lags until the entire mesh is visible 2ed6055209.
  • Fix crash with custom input curves versioning 601d896fc6.
  • Fix warnings and windows build c237a48104.
  • Fix windows build 7754c4f10f.
  • Sculpt: Update clay strips presets with custom input curves 90931d6de9.