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. 5e27ed5f0e
  2. Fixed various bugs and crashes in sculpt-dev:
    1. 15cb3130c3
    2. fab69104da
    3. bf812abfcb
    4. 4d54182159
  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). a393db3c23
  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. b71693b5f0
    2. 194ec7460c
    3. 389724c1ac
  3. Dyntopo fixes in sculpt-dev:
    1. 8b719fee19
    2. 371a6799c4
  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). 307f13aee5

March 21 to March 25

  1. Fixed various issues in sculpt vertex colors patch:
    1. Data transfer modifier f42d3caecd
    2. Reverse/rotate face colors in editmode 09eb086779
    3. Changed various UI strings from "vertex colors" to "color attributes." 09eb086779
    4. Mask by color 09eb086779
    5. Alpha getting mangled for byte colors 51c3ce1353
    6. Layer auto creation 19ea75f8cf
    7. Undo crash 4c7ea01cbd
  2. Improved smear brush in sculpt vertex colors patch 9e3e80780c
  3. Fixed various bugs in pbvh caching:
    1. 711bcef7f4
    2. 34d8df4aba
    3. 43af973cd9
    4. b53339edfa
  4. Fix pbvh cache crashes in sculpt-vev:
    1. 711bcef7f4
    2. 273040f84c
    3. 34d8df4aba
    4. b53339edfa

March 28th to April 1

  1. Sculpt vertex colors patch
    1. d6fc7221c8
    2. 7ec7fa03ea
    3. 76d40e26c4
    4. a6c5e738df
    5. 79e471715f
    6. 9200581afc
    7. b1e68a8e3f
    8. 2c29a94531
    9. 820a88e37b
    10. e9d8858ed7
    11. 0e331b0f1e
    12. 7a463bc17a
    13. 9b57037a03
    14. 4e794686a9
  2. Merge master into sculpt-dev 8a58f1f3bb

April 4 to April 8

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

April 11 to April 15

  1. Fix color attribute bugs:
    1. 0329145712
    2. 7163db99c4
    3. a99639792b
    4. d683ea4862
    5. fbca6aeb7c
    6. 4a70561bbd
    7. 2b191cd2b4
  2. Fix cloth crash in sculpt-dev 185ca2912f
  3. Merge master into sculpt-dev ecbf681e31

April 18 to April 22

  1. Ported old vertex paint mode to C++ 575ade22d4
  2. Fix dyntopo crash with color attributes: 6f190f7f43
  3. Fix data transfer modifier bug b0c428c063
  4. Code cleanup 14f2d37ad1
  5. Fix draw crash 01333cb47f
  6. Fix crash in sculpt-dev d2dee8f482
  7. Fix remesh crash in sculpt-dev afc86042b7
  8. Fix mask slice in sculpt-dev 55740b7bee

== April 25 to April 29

  1. Make sculpt mask filter operator show redo panel 185d9627b3
  2. Change how defaults for mask filter are set so redo panel remembers more of them 296d734344
  3. Fix crash 38eed4ada3
  4. Fix crash 42878ffc26
  5. Fix trim lasso radius bug 2bc0e8d304
  6. Cleanup a8331d8c9d
  7. Fix color space error in vertex paint c20b99b70c
  8. Fix PBVH draw cache invalidation crash bfb4dcaa1a

May 2 to May 6

  1. Implement PBVH texture node splitting:
    1. Initial implementation d2fa1daea6
    2. Debug visualization 1c77f259fd
  2. Fix merge bugs in sculpt-dev 67fdff9d69

May 9 to May 13

  1. PBVH texture node splitting:
    1. Fix bug in pixel row splitting 27fd506501
    2. Multithreading 6e4daa7d3c5f2a77f1c23f5a6333e24118a6519c 6e4daa7d3c
  2. Fix broken vertex color node 0eb2244f0a
  3. Sculpt-dev:
    1. Merge master into sculpt-dev cd316eb6c6
    2. Fix merge errors 7677b2428a
    3. Fix large file sizes caused by brush settings system cfc46e43b2 e5a111c637

May 16 to May 20

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

May 23 to May 27

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

May 30 to June 3

  1. Shading artifacts on paint/mask anchored sculpt brushes f1c29b9bd3
  2. Remove improper OPTYPE_UNDO flags 511a08585d
  3. Temporary fix for attribute convert undo 75162ab8c2
  4. GPU subdiv: Fix edit mode vertex color not being uploaded properly 6cee404914
  5. Sculpt-dev:
    1. Fix tip_roundness versioning bug d7d6ad76d7
    2. Pmap bugs: c12e3ff183 [1]
    3. Merge master into sculpt-dev d54416506a
  6. Fix zeroing of last position on stroke start 8e02b53ae7
  7. temp-pbvh-split: Use task api correctly. 6851971501
  8. temp-sculpt-cavity-mask: Add caching 371708737a

June 6 to June 10

  1. Move sculpt_automasking.c to c++ ca29376e00
  2. Land pbvh EEVEE patch 285a68b7bb
  3. Fix image editor cursor disappearing 371fc68678
  4. Merge branch master into temp-pbvh-eevee 59cdc4e7f6
  5. temp-sculpt-cavity-mask: Add custom curve support 527ad665af
  6. Cleanup: Move sculpt_automasking.c to c++ [2]
  7. temp-sculpt-cavity-mask: Move cavity mask settings into toolsettings d7ea1cca4e f5203933f7
  8. Anchored mode not working for sculpt smear brush c55dac9904
  9. Sculpt-dev: fix bmesh python bug 1cd88104f0

June 13 to June 17

  1. sculpt-dev:
    1. Fix draw cache bug 47a14ef4ad
    2. Merge master into sculpt-dev e108318af8
    3. Fix undo bug c73fc97d45
  2. PBVH active attrs only optimization is buggy 7a24fe372c

June 20 to June 24

  1. Fix crash when adding color attributes in editmode. 30273b86c7
  2. Fix sculpt undo ignoring gravity with paint tools. 4c3b984b3d
  3. Add second blur mode to cavity mask patch. 56e2f93a3c
  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 1e259426c6
  2. Fix T98886: PBVH_GRIDS ignores face smooth flag on first gpu build 3cefa13770
  3. Cleanup: Renamed SCULPT_TOOL_NEEDS_COLOR to SCULPT_tool_is_paint f7c6d3705d 2185943235
  4. Fix T99196: sculpt_update_object calls paint updates for nonpaint tools c39e932631
  5. Fix backwards normals in PBVH_GRIDS raycasting eaec01cad5
  6. Fix T99231: Wrong anchored mode test for smear brush 2d0877ed7e

July 4 to July 8

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

July 11 to July 15

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

July 18 to July 22

  1. Fix T99687: Cloth filter crash 9f68369247
  2. SculptVertRef patch: Make requested changes 2e028d6d2d b3d7112d32
  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 462f99bf38
  2. Normal automasking patch:
    1. Implement new masking modes for factor cache 7731690dba
    2. Add occlusion mode d779802563
  3. Commit PBVHVertRef patch d7cfb6ac71
  4. Sculpt: fix name collision in DynTopo temp attributes 27a16abe81
  5. Normal automasking patch:
    1. Make occlusion suboption of view normal 6bfbdc4bff
    2. Implement new masking modes for factor cache 7731690dba
    3. Add occlusion mode d779802563

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 b65ab29310
  3. Sculpt: fix broken triangle/vertex count for DynTopo e6b1e97dd7
  4. Rebase sculpt attribute patch with master.
  5. Cavity mask patch update (c692b93fcf):
    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. ecf5f2b118

August 8th to August 12

  1. Brush Properties refactor
    1. b4cb9b9b9f
    2. f913f0cb42
    3. 1ef3c59beb
    4. 4c3cf3ad17
    5. efaade3b30
    6. 0940b35755
  2. Register sculpt brush op so it clears last operator panel 11bdc321a2
  3. Update cavity mask patch
    1. 4624153af9
    2. Use automask curve for use_automask_settings be26a3402c
    3. Code cleanups 07530726fd
    4. Cleanup UI 4b2c92f8e0
    5. Cleanup bake cavity mask panel UI inside the properties editor 0caf6c598c

August 15th to August 19th

  1. Brush Properties refactor
    1. c5d508c362
    2. 269adfdf23
    3. c8fff5d50b
  2. Sculpt attribute patch:
    1. 67d1689f89
  3. Fix anchored brush performance regression 2d19038c6c
  4. Improve PBVH debug draw 7f3eb055dd
  5. Write documentation in sculpt_undo.c c5feb4e6fe
  6. Fix sculpt undo bug related to undo push name errors 3f9299e45d
  7. Blank redo panel for stroke operator 6b49b54bb1
  8. Created redo panel bugfix patch D15697.
  9. temp-pbvh-vbos: Add support for solid-shaded multires 461c1deb63

August 22th to August 26th

  1. Sick this week.

August 29th to September 2nd

  1. Core: Remove color attribute limit from CustomData API a6ba8e5f38
  2. Fix T100479: Memory corruption in sculpt_boundary_edit_data_init d7b33cd8c8
  3. Cleanup: fix warnings from vcol limit commit cdc0be48c9
  4. temp-pbvh-vbo: merge master f987d9b758

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 100fe61f7c
  3. Fix T100608: SCULPT_UNDO_FACE_SETS broken for redo 2c1650ae8f
  4. Fix T101008: Missing CD_MDISPS layer: 3d3c34f345
  5. Finish initial implementation of PBVH draw cleanup patch: 6482e092d0 b2bdbeced6 88e6cb1ec0 07e8bc3063 1acc730ba1 97d3a57edf 97d3a57edf
  6. Landed sculpt attribute patch.
  7. Merge master into sculpt-dev 84342ed7b2

September 19th to September 23rd

  1. Sculpt: Fix bug with allocating duplicate attribute layers 2ff5d42cd3
  2. Cavity mask patch: b11f312629 200e3c8d55 c5ab67e814 f5acd46761 432fa09d6f b11f312629 b11f312629
  3. Sculpt: Fix T100479: Boundary expand crash 32b766223a1b2a562e657a729e7d9f2926d42417
  4. Sculpt: fix memory corruption in new attribute api c2a21dfb77
  5. Normals automasking patch: Use a stroke id attribute for occlusion 3f80385118
  6. Merge master into sculpt-dev.