January 3 to January 9

D12587 (temp-sculpt-colors)

  • Polished D1258 to get ready for master:
    • Fixed bugs
    • Added back color picker panel
    • Fixed icons
    • Updated patch for latest master (including new GPU subsurf);
    • Vertex color node now shows all color layers in its quick search list.


  • New automasking modes:
    • Mask by view normal, works similarly to front face only but with a falloff.
    • Mask by brush normal, compares normals with initial brush normal at start of stroke, see video.

January 10 to January 14

  1. Cleaned up sculpt temp attribute api. 5e27ed5f0e7f6b7
  2. Fixed various bugs and crashes in sculpt-dev:
    1. 15cb3130c3448cc
    2. fab69104da57922
    3. bf812abfcb7e8c9
    4. 4d54182159671aa
  3. Merged master into sculpt-dev and temp-sculpt-colors.
  4. Further cleaned up temp-sculpt-colors (D12587).
    1. Fixed bug with sculpt undo system losing track of the active color attribute.
    2. Made various requested changes.

January 15 to January 21

  1. Cleaned up doc comments for sculpt_intern.h.
  2. Merged master -> sculpt-dev
  3. Fixed a few bugs in sculpt-dev
  4. Worked on blog post

January 23 to January 28

  1. Worked on sculpt colors patch.
  2. Refined draft of blog post.
  3. Roughed out C++ backend for new brush engine system as a proof of concept.
  4. Spent an inordinate amount of time merging branches.
  5. Attempted to debug Wintab. I ended up having to upgrade my drivers;
 I think the stock OEM ones got broken by the upgrade to Windows 11.

February 1 to February 5

  1. Made DynTopo in sculpt-dev use a new, unified edge heap (a min-max heap). a393db3c2376f61
  2. Worked on sculpt colors patch.

February 7 to February 11

  1. Cleaned up some code in sculpt-dev.
  2. Worked on sculpt colors patch

== February 14 to February 18

  1. Worked on sculpt colors patch
  2. Did research for texture paint project.

February 21 to February 25

  1. Worked on sculpt colors patch
  2. Started work on texture paint prototype.
    1. Got seams to work in JS prototype.
  3. Ported vertex paint to C++
    1. Supports vertex and corner (float/byte) color layers.
  4. Added corner colors support to sculpt undo

February 28 to March 4

  1. Continued work on texture paint prototype.

March 7 to March 11

  1. Got texture paint to work on a proof of concept level.
  2. Figured out how to build neighbor lists for texels across triangle seams. JS prototype
  3. Worked on PBVH EEVEE patch D13897

March 14 to March 18

  1. Submitted patch to add triangle iterators to PBVH (in texture paint branch). D14339.
  2. Fix minor sculpt-dev bugs:
    1. b71693b5f0effc3
    2. 194ec7460c7731a
    3. 389724c1ac495fe
  3. Dyntopo fixes in sculpt-dev:
    1. 8b719fee19335a6
    2. 371a6799c443e30
  4. Roughed out PBVH caching (plan is to implement and test in sculpt-dev before making a patch against either master, the texture paint branch or both). 307f13aee5773a6

March 21 to March 25

  1. Fixed various issues in sculpt vertex colors patch:
    1. Data transfer modifier f42d3caecdde37b
    2. Reverse/rotate face colors in editmode 09eb086779b4349
    3. Changed various UI strings from "vertex colors" to "color attributes." 09eb086779b4349
    4. Mask by color 09eb086779b4349
    5. Alpha getting mangled for byte colors 51c3ce1353db33c
    6. Layer auto creation 19ea75f8cf367da
    7. Undo crash 4c7ea01cbdc3ed0
  2. Improved smear brush in sculpt vertex colors patch 9e3e80780cc60e1
  3. Fixed various bugs in pbvh caching:
    1. 711bcef7f4b3a61
    2. 34d8df4aba984ea
    3. 43af973cd9c6763
    4. b53339edfacc26b
  4. Fix pbvh cache crashes in sculpt-vev:
    1. 711bcef7f4b3a61
    2. 273040f84cc172b
    3. 34d8df4aba984ea
    4. b53339edfacc26b

March 28th to April 1

  1. Sculpt vertex colors patch
    1. d6fc7221c83548a
    2. 7ec7fa03ea81814
    3. 76d40e26c4359a5
    4. a6c5e738df3c364
    5. 79e471715f9d5a3
    6. 9200581afccb477
    7. b1e68a8e3ff1ccf
    8. 2c29a94531225fe
    9. 820a88e37b17a5a
    10. e9d8858ed7a8797
    11. 0e331b0f1e99c18
    12. 7a463bc17a231d7
    13. 9b57037a037ef53
    14. 4e794686a934cc5
  2. Merge master into sculpt-dev 8a58f1f3bb641b3

April 4 to April 8

  1. Land color attributes patch in master eae36be372a6b16
  2. Merge master into sculpt-dev.
  3. Worked on D13897, PBVH draw patch.

April 11 to April 15

  1. Fix color attribute bugs:
    1. 0329145712a1748
    2. 7163db99c4d8b90
    3. a99639792b16284
    4. d683ea4862130b4
    5. fbca6aeb7c9393e
    6. 4a70561bbdc97aa
    7. 2b191cd2b41b7ea
  2. Fix cloth crash in sculpt-dev 185ca2912f2ae38
  3. Merge master into sculpt-dev ecbf681e3180c99

April 18 to April 22

  1. Ported old vertex paint mode to C++ 575ade22d4de472
  2. Fix dyntopo crash with color attributes: 6f190f7f43bb6c4
  3. Fix data transfer modifier bug b0c428c0636c6f2
  4. Code cleanup 14f2d37ad13d9c0
  5. Fix draw crash 01333cb47f83d19
  6. Fix crash in sculpt-dev d2dee8f482bda04
  7. Fix remesh crash in sculpt-dev afc86042b7df08a
  8. Fix mask slice in sculpt-dev 55740b7bee4e9ce

== April 25 to April 29

  1. Make sculpt mask filter operator show redo panel 185d9627b3156d3
  2. Change how defaults for mask filter are set so redo panel remembers more of them 296d734344139db
  3. Fix crash 38eed4ada363861
  4. Fix crash 42878ffc268657a
  5. Fix trim lasso radius bug 2bc0e8d3049ec1b
  6. Cleanup a8331d8c9df4d5f
  7. Fix color space error in vertex paint c20b99b70c84f08
  8. Fix PBVH draw cache invalidation crash bfb4dcaa1a7ec5b

May 2 to May 6

  1. Implement PBVH texture node splitting:
    1. Initial implementation d2fa1daea64f605
    2. Debug visualization 1c77f259fd3b5f1
  2. Fix merge bugs in sculpt-dev 67fdff9d69fbf58

May 9 to May 13

  1. PBVH texture node splitting:
    1. Fix bug in pixel row splitting 27fd506501bab6a
    2. Multithreading 6e4daa7d3c5f2a77f1c23f5a6333e24118a6519c 6e4daa7d3c5f2a7
  2. Fix broken vertex color node 0eb2244f0ae785a
  3. Sculpt-dev:
    1. Merge master into sculpt-dev cd316eb6c614eb0
    2. Fix merge errors 7677b2428ad7631
    3. Fix large file sizes caused by brush settings system cfc46e43b2f4f65 e5a111c6371d080

May 16 to May 20

  1. Sculpt-dev:
    1. Fix brush stroke bug 4b41114f674f6eb 3210924485e1503
    2. Cleanup brush strength api so all sculpt brushes support square shapes 7217d1f3556d012
  2. Dyntopo not initializing face set values correctly b54abd7ede6ab10
  3. Unprojected radius mode messes up sculpt texture radius f9751889df35c81
  4. Merge master into temp-pbvh-eevee 2e61e8c9012c41e

May 23 to May 27

  1. temp-pbvh-eevee: Fix active uv layer having wrong alias f9fb9a20b941f2ebcb8cbaa78bcb5cb4932c1cfb commit f9fb9a20
  2. Merge master into sculpt-def 4c3d11c233286de

May 30 to June 3

  1. Shading artifacts on paint/mask anchored sculpt brushes f1c29b9bd3c8241
  2. Remove improper OPTYPE_UNDO flags 511a08585d2934b
  3. Temporary fix for attribute convert undo 75162ab8c23937f
  4. GPU subdiv: Fix edit mode vertex color not being uploaded properly 6cee4049143abf6
  5. Sculpt-dev:
    1. Fix tip_roundness versioning bug d7d6ad76d7ac901
    2. Pmap bugs: c12e3ff183444a4 [1]
    3. Merge master into sculpt-dev d54416506a7ee5e
  6. Fix zeroing of last position on stroke start 8e02b53ae755742
  7. temp-pbvh-split: Use task api correctly. 685197150147078
  8. temp-sculpt-cavity-mask: Add caching 371708737a63a5e

June 6 to June 10

  1. Move sculpt_automasking.c to c++ ca29376e002c542
  2. Land pbvh EEVEE patch 285a68b7bbf2fa4
  3. Fix image editor cursor disappearing 371fc68678d5157
  4. Merge branch master into temp-pbvh-eevee 59cdc4e7f6acbf9
  5. temp-sculpt-cavity-mask: Add custom curve support 527ad665afecdfe
  6. Cleanup: Move sculpt_automasking.c to c++ [2]
  7. temp-sculpt-cavity-mask: Move cavity mask settings into toolsettings d7ea1cca4e7e924 f5203933f7edcb6
  8. Anchored mode not working for sculpt smear brush c55dac9904d7f18
  9. Sculpt-dev: fix bmesh python bug 1cd88104f09d4b7

June 13 to June 17

  1. sculpt-dev:
    1. Fix draw cache bug 47a14ef4adc5370
    2. Merge master into sculpt-dev e108318af8494cb
    3. Fix undo bug c73fc97d45fb5f9
  2. PBVH active attrs only optimization is buggy 7a24fe372c2148b

June 20 to June 24

  1. Fix crash when adding color attributes in editmode. 30273b86c7ffc79
  2. Fix sculpt undo ignoring gravity with paint tools. 4c3b984b3daa58e
  3. Add second blur mode to cavity mask patch. 56e2f93a3c0caf5
  4. Merge master into temp-pbvh-split.
  5. Looked at UV seam patch.
  6. Submitted normal automasking patch (
  7. Submitted automasking support for image paint patch (

June 27 to July 1st

  1. Cavity mask patch: Add automask baking tool 1e259426c620753
  2. Fix T98886: PBVH_GRIDS ignores face smooth flag on first gpu build 3cefa13770a1a76
  3. Cleanup: Renamed SCULPT_TOOL_NEEDS_COLOR to SCULPT_tool_is_paint f7c6d3705df8c18 21859432357a80d
  4. Fix T99196: sculpt_update_object calls paint updates for nonpaint tools c39e9326317442f
  5. Fix backwards normals in PBVH_GRIDS raycasting eaec01cad573a24
  6. Fix T99231: Wrong anchored mode test for smear brush 2d0877ed7efe4f1

July 4 to July 8

  1. Fix T98884: Fix edge case crashes in gpu subdiv cache code 3f5073a8e298c47
  2. Cleanup: use local variable in smear code instead of ss->cache->bstrength 7be07a9d6e26fde
  3. Fix T98698: Division by zero in smear code when strength is zero a720a4aabb44973
  4. Fix T94633: Sculpt mode missing check for hidden active object cb39058f2f31815
  5. Submitted vertex color limit removal patch D15368

July 11 to July 15

  1. Fix T99383: Wrong origdata type in color filter 7357176b5739ce9
  2. Cavity mask patch: Remove original blur mode. d1104544b41afa6
  3. Sculpt: Fix scene spacing mode (phase 1) 9a1488790532b6a
  4. Fix T99644: Anchored brush mode fails for negative brushes cd1e4ae44830561
  5. Normal automasking patch:
    1. Support normals automasking for sculpt filters a472ced73bed050
    2. Give automasking access to original normals 10e909863777f50
  6. SculptVertRef patch: Cleanup API fbe2dcd2b8406f5
  7. Submitted PBVH draw patch: D15428
  8. Sculpt-dev: Cleanup sculpt temp attribute API before splitting into patch ed8ffec61f88ab5

July 18 to July 22

  1. Fix T99687: Cloth filter crash 9f6836924739049
  2. SculptVertRef patch: Make requested changes 2e028d6d2d3f2fa b3d7112d326198a
  3. Submitted sculpt attribute API patch: D15496
  4. Updated Expose Face Sets In Python API patch: D15025

July 25 to July 29

  1. Sculpt: Fix T99779, pbvh gets wrong active vertex for multires 462f99bf38648a0
  2. Normal automasking patch:
    1. Implement new masking modes for factor cache 7731690dba8cc7a
    2. Add occlusion mode d77980256319e2c
  3. Commit PBVHVertRef patch d7cfb6ac71e4225
  4. Sculpt: fix name collision in DynTopo temp attributes 27a16abe81a63c4
  5. Normal automasking patch:
    1. Make occlusion suboption of view normal 6bfbdc4bff8a54d
    2. Implement new masking modes for factor cache 7731690dba8cc7a
    3. Add occlusion mode d77980256319e2c

August 1 to August 5

  1. Wrote prototype of new pbvh draw system.
  2. Sculpt: Fix T99294: Voxel Remesher text is resized based on object scale b65ab293105d3df
  3. Sculpt: fix broken triangle/vertex count for DynTopo e6b1e97dd70d5ca
  4. Rebase sculpt attribute patch with master.
  5. Cavity mask patch update (c692b93fcf00d95):
    1. Merge master.
    2. Invert curve behavior in invert mode
    3. Invert and normal cavity mask are now seperate modes and mutually exclusive.
    4. Automask bake operator now has option to use scene defaults.
    5. The automask boolean properties are now defined in a EnumPropertyItem list to avoid three sets of duplicate code.
    6. Added a "Mask from cavity" menu operator.
  6. Wrote rough code for experimental version of sculpt-dev's brush property refactor based on RNA. ecf5f2b1186a1c0

August 8th to August 12

  1. Brush Properties refactor
    1. b4cb9b9b9fbc52d
    2. f913f0cb42f385a
    3. 1ef3c59beb86cc1
    4. 4c3cf3ad17e6238
    5. efaade3b30f1112
    6. 0940b3575520b5d
  2. Register sculpt brush op so it clears last operator panel 11bdc321a274712
  3. Update cavity mask patch
    1. 4624153af923019
    2. Use automask curve for use_automask_settings be26a3402c909c7
    3. Code cleanups 07530726fdcfe68
    4. Cleanup UI 4b2c92f8e07fe23
    5. Cleanup bake cavity mask panel UI inside the properties editor 0caf6c598ca01d1

August 15th to August 19th

  1. Brush Properties refactor
    1. c5d508c3626918f
    2. 269adfdf23400ec
    3. c8fff5d50b6de49
  2. Sculpt attribute patch:
    1. 67d1689f89b6fa6
  3. Fix anchored brush performance regression 2d19038c6c2817f
  4. Improve PBVH debug draw 7f3eb055dd0c708
  5. Write documentation in sculpt_undo.c c5feb4e6fe27f01
  6. Fix sculpt undo bug related to undo push name errors 3f9299e45d39051
  7. Blank redo panel for stroke operator 6b49b54bb13721b
  8. Created redo panel bugfix patch D15697.
  9. temp-pbvh-vbos: Add support for solid-shaded multires 461c1deb63f8429

August 22th to August 26th

  1. Sick this week.

August 29th to September 2nd

  1. Core: Remove color attribute limit from CustomData API a6ba8e5f38dbf62
  2. Fix T100479: Memory corruption in sculpt_boundary_edit_data_init d7b33cd8c881b9a
  3. Cleanup: fix warnings from vcol limit commit cdc0be48c95c379
  4. temp-pbvh-vbo: merge master f987d9b7583c1ce

September 5th to September 9th

  1. Sick this week.

September 12th to September 16th

  1. Worked on sculpt attribute patch [3]
  2. Fix T100941: Draw cache invalidation loop 100fe61f7c5be98
  3. Fix T100608: SCULPT_UNDO_FACE_SETS broken for redo 2c1650ae8fd5ec1
  4. Fix T101008: Missing CD_MDISPS layer: 3d3c34f345c766d
  5. Finish initial implementation of PBVH draw cleanup patch: 6482e092d06ee1a b2bdbeced6babd4 88e6cb1ec082170 07e8bc306369eab 1acc730ba1aa33b 97d3a57edf7e040 97d3a57edf7e040
  6. Landed sculpt attribute patch.
  7. Merge master into sculpt-dev 84342ed7b23ba7d

September 19th to September 23rd

  1. Sculpt: Fix bug with allocating duplicate attribute layers 2ff5d42cd3b41cc
  2. Cavity mask patch: b11f312629ff9d4 Fix T101430: Dyntopo undo crash6dded6229db62c43cdb7e28f01cd 200e3c8d559b Fi c5ab67e8144fc40 f5acd4676196179 432fa09d6f94645 b11f312629ff9d4 b11f312629ff9d4
  3. Sculpt: Fix T100479: Boundary expand crash 32b766223a1b2a562e657a729e7d9f2926d42417
  4. Sculpt: fix memory corruption in new attribute api c2a21dfb7714bf2
  5. Normals automasking patch: Use a stroke id attribute for occlusion 3f803851188397e
  6. Merge master into sculpt-dev.

September 26th to September 30th

  1. Fix T101467: Improper vertex count in pbvh draw 206dead86058d58
  2. Fix sculpt face set undo creating duplicate face set layers 81f15a51aa7891c
  3. Fix crash in relax face sets brush 991a35b844bc3b9
  4. Fix T101430: Dyntopo undo crash 6b9f45c1d1bfaff
  5. Upload to gpu white for color attributes in multires in sculpt 5b0485fd7711494
  6. Fix T101503: Memory corruption in multires faceset drawing 1eba76d8eda60a0
  7. Fix T101430: Curve shown improperly in mask from cavity redo 4cbafba04b95a73
  8. Fix stroke-only attributes not being freed at stroke end 688c4f7e5198c1a
  9. Fix T101465, crash in cloth filter with new automasking modes b063cfa9cf9d5c5
  10. Fix T101464: Crash in mask from cavity 6a9b45995d8a9a1
  11. Fix T101463: Don't initialize automask to zero in factor mode if topology or boundary modes are inactive f998fa2732a9b70
  12. Reset automask cache on non-color non-mask undo steps 1494a22a900a914
  13. Fix draw face sets not updating on first stroke 6d3da28676d704c
  14. Fix missing nullptr check in pbvh draw 039429faeb4160c
  15. Commit normals automasking patch bbc69563d0704a8
  16. Commit cavity mask patch: 0156a677c7d1310
  17. Commit pbvh draw rewrite patch: 65900d88a8317c2
  18. Merge master into sculpt-dev: 9ae40de20b85b4e 9c619fd38186c41
  19. temp-sculpt-cavity-mask: Make requested patch changes 2c1bc8e45189e82

October 3rd to October 7th

  1. Bugfixes for sculpt-dev: a5f53346a614ece 6c2d0354e725225 c3c67cf0c285bf8 5e2b23485599898 42948e2389dfdbc 059fb4098f54d38 e5fcaa293a7346e
  2. Merge master into sculpt-dev 2aa347b64e8c5fc
  3. Sculpt: Fix crash in dyntopo draw 38af785dba09898
  4. Viewport: Enable code when WITH_DRAW_DEBUG is on af288a09a529dc8
  5. Sculpt: Raise pbvh->leaf_limit to 400 for dyntopo 53d937a1700021e
  6. Sculpt: Fix T101502: GPU tris miscounted for dyntopo dfa0eb298ed3fa0
  7. Sculpt: Fix bug in sculpt attribute api f58b5246695f1fc
  8. Sculpt: Fix crash in face set init 9d40b1cc3ec557b
  9. Sculpt: Fix crash in dyntopo draw 38af785dba09898
  10. Sculpt: Visibility bugfixes 22c3db72ca2f3d9
  11. Sculpt: implement Reveal All for PBVH_BMESH 2cf21604c9130c5
  12. Sculpt: Fix T101430: Blank stroke undo steps corrupt dyntopo ed7f5713f8f9d60
  13. Sculpt: Add debug code to print sculpt undo stack. 416d1d039363fe7

October 10th to October 14th

  1. temp-pbvh-split: Fix various crashes and memory corruption 78b008d20d64bc5
  2. Sculpt: Fix face set relax being too strong b7ea79fde7b88eb
  3. Sculpt: Fix draw artifacts when drawing multires mask c207571d44e6af7
  4. Sculpt: Ensure faces are uniquely assigned to PBVHNodes 010c10febe46c1c
  5. Sculpt: do not validate PBVH draw data in mesh_batch_cache_valid bc06fcca47caa18
  6. Sculpt: fix crash when instancing sculpt objects 7a005e089daf068
  7. Sculpt: Fix mask from cavity not redrawing viewport with modifiers 48fd4a01efd3a1d
  8. Sculpt: Fix T101595: sculpt_attribute_update_refs called in wrong place 7119582b6686542
  9. Sculpt: Fix T101718: Automasking crash with new texture paint 188786f0b0ddcbe
  10. Sculpt: Clean up Dyntopo's original triangle api 7f133b7a38341a2
  11. Sculpt: Fix T101674: Passing null to GPU_batch_elembuf_set dc1418e5d91edba
  12. Sculpt: T101699: Face set change visibility crashes on no face sets da25006bc4c7025
  13. Sculpt: Fix T101729: Automasking crash in elastic deform brush 473df37134aa593
  14. Merge master into sculpt-dev. 92bc610c36b6e4f
  15. Fix various sculpt-dev merge bugs 87863770bbe3deb 57d5fc7352d6f2f 7f133b7a38341a2 dc1418e5d91edba [4]
  16. Created PBVH face iterator patch.

October 17th to October 21st

  1. Sculpt: Fix T101864: Mask initialization not updating multires data 25e84334f7d66b3
  2. sculpt-dev: Fix stroke id error in smooth code 5b8b99cf8a3ce5d
  3. sculpt-dev: Roll mapping fixes 46839d1f4386f36
  4. sculpt-dev: Implement arc-length derivatives for BLI_arc_spline.hh 9b7561f16ad9f44
  5. sculpt-dev: More roll mapping fixes 82a369623460e3e
  6. sculpt-dev: Write arc-length (evenly spaced) spline lib 8786b5c0c0158fa

October 24th to October 28th

  1. Attended Blender conference.
  2. Sculpt: fix T102067: Set material properly in new pbvh draw bc7de854c90dd45

October 31st to November 4th

  1. Fix T102253: Missing call to SCULPT_automasking_node_update db3bf3677085d64
  2. Texture roll mapping patch 9980fd0b8e1f3a0 D16414

November 7th to November 11th

  1. Update face iterator patch 848ca9db4698181 afc13a273eab731 f96961a76bbd429.
  2. Sculpt: Fix T102209: Multiresolution levels greater than 6 crashes b2000412f21dfa5
  3. Sculpt: Change symmetrize merge threshold and expose in workspace panel 969aa7bbfcdc06e
  4. Sculpt: Fix T102379: Crash in dyntopo 2688d7200aa3766
  5. temp-pbvh-face-iterators: Move initialization of static memory abefe06309d7329
  6. Merge master into temp-pbvh-face-iterators 0d66d22c03eb093
  7. Merge master into temp-sculpt-brush-channel e59ebfef3c583985553e78492cf8cd07bbe7648e commit e59ebfef

November 14th to November 18th

  1. Sculpt: Fix T102349: improperly aliased enum 03b7982301d0827
  2. Land sculpt face iterator API patch 6b3cee25389d28b
  3. Sculpt: Fix T102567 (again) 5097105b3c62d9e
  4. Sculpt: fix T102584 567ae90374dbe20
  5. Sculpt: Fix mask from cavity settings issues 2d251478bb8dd03
  6. temp-sculpt-roll-mapping: Implement symmetry/tile/radial modes 733a764b079fa9c
  7. temp-sculpt-roll-mapping: New strategy for spline tex mapping 33a1472d4e818b1
  8. temp-sculpt-roll-mapping: mirror symmetry fixes 9a8c4aefb3b1fa2
  9. temp-sculpt-roll-mapping: Fix stroke points projection outside of the meshaf4048f2b8f3e75
  10. Merge master into sculpt-dev 11643ab8f754d9b

November 21st to November 25th

  1. Sculpt: fix T102436: missing null pointer check in automasking code 959f3cd6450225a
  2. Land D16224 Standardize face set undo steps, optimize memory usage df788ecfd95f6c7
 f5e99abb60b4470   af8a449ca55358b
  1. Sculpt: Fix box face sets not working for multires acf8f6220d648fd
  2. Sculpt: Fix broken multires hidden undo a2a72d89b19545d

November 28th to December 2nd

  1. Merge master into sculpt-dev e53a8f9c51d4b4d
  2. Sculpt: Fix broken pivots when entering paint modes 65393add5269f9b
  3. Sculpt: Fix T102824: broken face primitive partitioning in pbvh nodes 4aac5b92c1bbef7
  4. Sculpt: fix crash when no brush 918282d391a4068
  5. Sculpt: Fix T102337: Null pointer error circle (tube) brush test code 0ed4865fd030ea1
  6. Sculpt: fix T102348: Don't fold area normal automasking into cache 0ad8f3ff585c969
  7. Sculpt: fix T102664: Broken multires solid shading 1fc5dc3bf3827e0

December 5th to December 9th

  1. Worked on cleaning up sculpt-dev's DynTopo in preparation of porting to master. bb764e418aa2d92
  2. Fix T102336: dynamic topology crash 31ccf79011bd537
  3. Sculpt: Fix crash when sculpting after disabling dyntopo 8e46ef2fa5e63b1

December 12th to December 16th

  1. Updated stroke texture mapping patch.
  2. Fix T103261: Undo after mask extract doesn't restore active object 8666791b2e75429
  3. Cleanup: make paint_init_pivot an api method. 17e266cd55ea58b
  4. Fix T103198: Missing bounds check for material_index attr in texpaint 0beb358a69d0c9c
  5. Fix more attribute bugs when switching PBVH modes 939b63bcd6c2e2b
  6. Fix T102991: Multires fast navigate not implemented 6f9cfb037a8e5db
  7. Fix crash in dyntopo 0a5e8a63420de7e
  8. Fix crash with unsupported attr types in pbvh draw 246df6809583511
  9. Worked on dyntopo a bit.

December 16th to December 20th

  1. Sculpt: Fix T103341: Move sculpt overlay flags to View3DOverlay.flag f803a0a95b67691
  2. Sculpt: Fix T103261: Undo after mask extract doesn't restore active object 8666791b2e75429
  3. Cleanup: make paint_init_pivot an api method. 17e266cd55ea58b
  4. Fix T103198: Missing bounds check for material_index attr in texpaint 0beb358a69d0c9c

December 23rd to December 27th

  1. Sculpt: fix bugs in inverted expand mode a9cb66b856e80d0
  2. Sculpt: fix T103156: Scale square brush uvs by sqrt2. 204de8c6db646fd
  3. temp-sculpt-roll-mapping: Visualization improvements a238533550195a4
  4. Merge branch 'master' into temp-pbvh-split 98bdd08507b95e2