Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Chris Blackbourn/WeeklyReports2023

See also WeeklyReports2022

Calendar Week 1

January 3 - January 9

Calendar Week 2

January 10 - January 16

Calendar Week 3

January 17 - January 23

  • Grid Unwrap UV, Design review build now for download
  • Simplify matrix logic commit Part 1 of 2
  • WIP Simplify matrix logic (Part 2 of 2) (offline)
  • Fix regression, T103971 Live unwrapping wraps hidden faces commit
  • Investigate T103868 UV Manipulator disappears if AABB of selection has zero area.
  • WIP extended feature T103469 UV "sphere projection" unwrap with Seams

Calendar Week 4

January 24 - January 30

  • Fix T98594, UV Editor Redraw problem with geometry nodes. commit
  • Fix T103868, Missing UV Transform gizmo if it has zero area. commit
  • Resolve T103975, Add UV Select Similar Object and UV Select Similar Winding. commit
  • Investigate T103956, UV Sculpt brushes should work in multi-object edit mode.
  • Cleanup UV winding calculation, reducing memory allocation pressure. commit

Calendar Week 5

January 31 - February 6

Calendar Week 7

February 7 - February 13

  • Gitea migration

Calendar Week 8

February 14 - February 20

  • More Gitea migration
  • UV Alternate face selection, now with click-select, lasso select, circle select and rectangle select. Updated version Download
  • Test and Fix for mul_m3_series and mul_m4_series with aliased parameters Pull Request
  • Add seam support to UV Sphere Project and UV Cylinder Project Pull Request

Calendar Week 9

February 21 - February 27

  • Migrating WIP from previous blender repo to gitea.
  • Commit fix for mul_m3_series and mul_m4_series commit
  • Packing research, incremental migrate from Editor to bf_geometry. Pull Request

Calendar Week 10

February 28 - March 6

  • Update UV Sphere Projection and UV Cylinder Projection with Seam support. commit
  • Migrate UV packing from Editor to bf_geometry commit
  • Investigate advanced "Minimize Stretch" techniques with Julien Kaspar
  • WIP Fix #102843: Add UV Packer with O(nlogn) performance. Pull Request

Calendar Week 11

March 7 - March 13

  • Fix #102843. Add novel UV Packing strategy, the incredibly fast "Alpaca", ("L-Packer") which packs in O(n log n) time complexity. commit
  • Fix unreported UV regression, margin was offset. commit
  • WIP Alpaca_Rotate, the fast L-Packer which also supports rotation.

Calendar Week 12

March 14 - March 20

  • Improve packing efficiency on non-square materials. commit
  • WIP xatlas packer, the brute force, bitmap occupancy, packer that supports irregular shapes. Pull Request
  • WIP Alpaca_Rotate, the fast L-Packer which also supports rotation.

Calendar Week 13

March 21 - March 27

Detail from xatlas packing of UVFreeze.blend
  • Add xatlas packer, the brute force, bitmap occupancy, packer that supports irregular shapes. commit

commit commit

  • WIP Alpaca_Rotate, the fast L-Packer which also supports rotation.

Pull Request

  • Investigate 105860, Crash when adding UV Layer.
  • Planning "perfect" packer, the packer which produces optimal results for some inputs. e.g. optimal square packing

Calendar Week 14

March 28 - April 3

  • Investigate #106314 UV Copy/Paste problem (Issue for 3.5 backporting)
  • Add Alpaca_Rotate, the fast L-Packer which also supports rotation. commit
  • Change packing to use a {pivot, half-diagonal} representation commit
  • Simplify aspect ratio usage in UV Unwrapper commit
  • Improve performance of xatlas strategy when packing aligned quads commit
  • WIP support rotation in the xatlas packer (offline)
  • Planning "perfect" packer, the packer which produces optimal results for some inputs. (offline)

Calendar Week 15

April 4 - April 10

  • Add support for non-square bitmaps in alpaca_rotate commit
  • Add rotation in the xatlas UV Packer commit
  • Fix #106314, UV Paste operator, warn when fail to find a match (commit) and return OPERATOR_CANCELLED when no change to prevent creating an UNDO state. (commit)
  • Adding "job" support to UV Packer, to add a progress bar and stop button. (WIP)
  • Adding UV Packing new feature, "Overlapping islands stick together" (WIP)
  • Planning: pin support for UV Packing. (offline)
  • Planning "perfect" packer, the packer which produces optimal results for some inputs. (offline)

Calendar Week 16

April 11 - April 17

Overlapping islands remain overlapping after packing. Useful for games and low poly assets.

Mostly clean up work, paving the way for a few new packing features (Pack overlap, pin support, jobs)

  • New feature for UV Packing, "Overlapping islands stick together" commit
  • UV Packing, move pre-rotation inside packing engine commit
  • Planning "perfect" packer, the packer which produces optimal results for some inputs. (offline)

Calendar Week 17

April 18 - April 24

As Blender 3.6 enters Bcon2, mostly clean up work, checking regressions and investigating repros.

  • Updating documentation for Blender 3.6. (Awaiting write-access to svn commit)
  • Planning UV improvements for Blender 4.0
  • Planning "perfect" packer, the packer which produces optimal results for some inputs. (offline)

Calendar Week 18

April 25 - May 1

Optimal packing with n=1 islands. Notice how the single island touches all four sides of the unit square.
  • More updating documentation
  • UV Packing, rotate to minimum square Commit
   UV Packing now produces optimal layouts for the important n=1 case on all inputs and options.
   (e.g. The UV Unwrapper often produces a single island, which can now be packed optimally into the unit square.)
  • Add new UV Packing option, scale_to_fit, to pack without scaling Commit
  • Fix UV Packing regression with fraction margin method when UVs don't fit in unit square. Commit
  • Preparing to add progress bars and "stop" functionality to UV packing. Commit Commit

Calendar Week 19

May 2 - May 8

An optimal packing of 67 uniform quads. The layout shown is slightly tighter than a 9x9 grid with 14 quads missing.
  • UV Packing, improve UV layout efficiency. Commit
   UV packing now produces optimal layouts for many uniform-square packing inputs.
  • UV Packing, add multiple options for pinned islands, lock scale, lock position etc. Commit
  • Improve UV Packing efficiency further by re-ordering packing operations. Commit
  • Debugging and partial fix for #104513, different UV unwrap results on x86_64 and apple silicon CPUs. Commit

Calendar Week 20

May 9 - May 15

  • (With Campbell), Add progress bar and ability to cancel UV Packing Commit
  • Add Pinned islands support for UV Packing Commit
 - Ignore pinned islands
 - Normal (default)
 - Lock scale
 - Lock rotation
 - Lock position of pinned UV islands.
  • Further efficiency improvements for UV Packing Commit
  • Fix #107898: UV Packing regression Commit
  • Debugging #104513, different UV unwrap results on x86_64 and apple silicon CPUs.

Calendar Week 21

May 16 - May 22

  • Debugging #104513: Different UV unwrap results on x86_64 and apple silicon CPUs.
  • Debugging #108117: Crash in uv editor with hidden geometry (PR in progress)
  • UV: Fix packing problem with locked-position and large island count Commit
  • UV: Fix packing problems with locked islands. Commit
  • Investigate circle packing (offline)

Calendar Week 22

May 23 - May 29

  • Online meeting with artists from a major games studio which uses Blender to discuss enhancements for Vertex Color Attributes. (More to come here)
  • UV: Add additional options for rotation while UV Packing, "Any", "Cardinal" and "Axis-Aligned" commit
  • Debugging #104513: Different UV unwrap results on x86_64 and apple silicon CPUs.
  • UV: Fix additional packing problems with locked-position and original-bounding-box. commit
  • Fix #108117: Crash in uv editor with hidden geometry commit
  • Debugging #108222: Copy/Paste UVs sometimes merges vertices

Research continues on "Optimal" packing, for n=11 and n=17 squares.

Calendar Week 23

May 30 - June 5

Updated UI for UV Pack Islands
Packing 18 quads into the unit square, optimally
  • Add optimal packing for n=11, n=18, n=19 and n=26 squares. commit
  • Update UI for the Pack Islands operator commit
  • Fix a memory leak during Pack Islands commit
  • Write proposal for Channels in the Vertex Paint Mode #108404
  • Update manual with latest UV Packing changes PR

Calendar Week 24

June 5 - June 12

  • Fix #108786: Logic errors with pinned islands inside uv packer commit
  • Fix #104513: UV packing produces different results on x86 vs apple silicon commit
  • Fix Unreported: Invalid UV Packing on windows debug build commit
  • Debugging #108811 Follow Active Quads changes unselected UVs.
  • Closed #108335 UV packing issue with cardinal rotation, as "Works-as-intended"
  • Investigate #108838 UV unwrap issues

Calendar Week 25

June 13 - June 19

Blog writing! WIP Draft

  • Fix unreported, Improve UV Packing when Alpaca packs tighter than all the alternatives. commit
  • First pass #108811, follow active quads and selection. Pull Request (Was harder than expected.)
  • WIP #103956 Sculpt UV tools on multiple objects.
  • Debug #107500, Editing UVs after normals with a previously assigned variable doesn't work.
  • Debug #107416, Debug assert in uv layer data.foreach_get when called on an Edit Mode mesh.
  • Investigate #108840 Inconsistent UV margin in lightmap pack. (Confirmed, no easy fix.)

Next week:

  • Pushing for a fix on #107500, Editing UVs after normals with a previously assigned variable doesn't work.

Calendar Week 26

June 20 - June 26

  • Research #78101, LSCM_Spectral method for unwrapping.
  • Debugging #107500, Editing UVs after normals with a previously assigned variable doesn't work.
  • Debugging #108840, Margin during UV Lightmap Pack.
  • Impromptu brainstorm session with @BlenderBob, identifying lots of areas for improvement:
* #109272 Export UVs checklist
* #109271 Image/NoImage changes zoom in UV Editor
* #109270 UV rendering in UV Editor in Object Mode
* #109265 Average island scale, common origin
* #109264 UV sync-selection should support island mode
* #109263 Option to respect pins when moving UVs
* #109190 Adding 3D gizmos to the exising UV projection operators
* #109189 UV Editor rendering enhancements
* #109184 Additional options for "UV Select Similar"

Next week: More #107500, followup from brainstorming, more blog writing.

Calendar Week 27

June 27 - July 3

More blog writing: WIP_Draft

  • Experiments with #107500 UV custom data layers from python... Complicated...
  • Investigate #109605 UV Align Rotation with non-square aspect ratio
  • Investigate #109278 Correct Face Attribute
  • More research, LSCM_Spectral.

Next week, more of the same.

Calendar Week 28

July 4 - July 10

More blog writing: WIP_Draft

  • More experiments with #107500 UV custom data layers from python...
  • Fix #109605 UV Align Rotation with non-square aspect ratio commit
  • Investigate #109816 UV Packing query
  • Fix #109673 Crash in Debug when using UV Packer or UV Unwrapper commit
  • Fix #109605 Add correct_aspect to uv align rotation operator commit

Next week, hopefully finish off Blog, and try a fix for UV Custom Data Layers

Calendar Week 29

July 11 - July 17

More blog writing: WIP_Draft

  • More experiments with #107500 UV custom data layers from python...
  • Investigate #109906 UV Unwrap has different layout behaviour in Blender 3.5 and Blender 3.6
  • Close #109816 UV Packing query, working correctly.
  • Investigate #109271 UV Editor draw scaling issue when textures are showing.

Calendar Week 30

July 18 - July 25

  • More experiments with #107500 UV custom data layers from python. (This one proving much more tricky than expected)

Calendar Week 31

July 25 - July 31

  • Even more experiments with #107500 UV custom data layers from python.
  • Improve UV Packing comments, commit