User:Sybren/Reports/2022

Symbols: ✅=100% done from my side; ✔️=my work is done for now, now waiting for something/someone else; ⭕ I spent time on this, may need more attention this week; ☐ planned work; 🕐 planned work, if there is enough time this week

June 28 - July 3

Animation

  • ☐ Plan: T98525: Getting multiple system console error traces on Animation Drivers that appear to be functional
  • Reviews:
    • ✅ Plan: continue review of D15003: Add GP layers in main dopesheet
    • ⭕ Plan: hopefully land D14910: default N-panel open for animation editors
    • ✅ Plan: continue review of D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
    • ⭕ Plan: continue review of D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.
    • ☐ Plan: D15139: Added 'Update Pose' feature to Pose Library
    • D15282: Renamed and refactored several F-curve key manipulation functions

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Embed static files of the webapp in the Manager executable, and serve them on /app/. The root (/) URL will redirect there.
    • Embed the Blender add-on inside the Manager executable, so that the right version can always be downloaded from its web interface.
    • Add little Go program to create a ZIP of the Blender add-on. This will allow building the Manager without requiring access to a ZIP CLI program.
    • Refactor some code, replacing os.IsNotExist() (old) with errors.Is(err, fs.ErrNotExist() (new & recommended).
    • ✅ Plan: add API endpoints for fetching the last-rendered images of a certain job.
    • ✅ Plan: add SocketIO notification about new last-rendered images.
    • ✅ Plan: deploy Flamenco 3 alpha on the Blender Studio infrastructure.
    • Add Manager-global (in contrast to per-job) last-rendered image, and auto-refresh on web interface.
  • Reviews:
    • ✅ Plan: D15189: Fix C++ .stl importer unused function result warning
    • ✔️ Plan: D11591: Alembic: import arbitrary attributes
    • ✔️ Plan: D11592: Alembic/USD: use geometry sets to import data

Other

Plans for next week:

  • D15288: Use appropriate context for the DopeSheet Action Custom Properties panel.
  • bump embree/openpgl
  • create list of Flamenco tasks
  • Build + test cycles_path_guiding branch for Linux, make any corrections needed in cycles_path_guiding, commit, update T98555 for it.

June 20 - 26

Animation

  • rB15bc3d26: Fix 2 for T98700: Crash when recursively nesting NLA meta strips
  • Reviews:
    • D14984: Asset Browser: Add slider UI to pose blending
    • Landed D14738: Fix T97533: Extrapolation regions of NLA strips outside of the current viewport are not rendered.
    • ⭕ Plan: D15003: Add GP layers in main dopesheet
    • ✅ Plan: D15252: Constraints: rename and refactor custom space initialization.
    • ✅ Plan: D14646: Added Custom Properties panel for Actions in the dopesheet editor
    • ✅ Plan: D14660: Added a clear method to ActionFCurves to remove all f-curves
    • ☐ Plan: hopefully land D14910: default N-panel open for animation editors
    • D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
    • D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.

Production pipeline tools

Asset Browser/Pose Library:

  • Reviews:
    • ☐ Plan: D15139: Added 'Update Pose' feature to Pose Library

Pipeline, Assets, and IO:

  • Flamenco:
    • Use the blocklist in the task scheduler, so blocked workers don't get tasks they shouldn't.
    • Add ability to load job compiler scripts from disk (instead of only embedded in the executable)
    • Add crosspath.IsRoot(path) bool function.
    • Add "local storage" manager that can give a suitable directory for job-specific, local files (such as last-rendered images).
    • Add system for sending last-rendered images from Worker to Manager, creating thumbnails on the Manager.
    • Fix some Windows compatibility issues.
  • Reviews:
    • D11591: Alembic: import arbitrary attributes
    • D15189: Fix C++ .stl importer unused function result warning
    • D11592: Alembic/USD: use geometry sets to import data

Other

Platform Maintenance:

  • Reviews:
    • D12034: Build: when using Wayland, always enable EGL and disable system GLEW

Plans for next week:

Not sure if I can do all of them:

  • T98525: Getting multiple system console error traces on Animation Drivers that appear to be functional
  • D15139: Added 'Update Pose' feature to Pose Library
  • hopefully land D14910: default N-panel open for animation editors
  • D15003: Add GP layers in main dopesheet
  • continue review of D14961: Default group_select_mode to "Active Group" for Normalize wight Operator
  • continue review of D14163: Weight & Vertex Paint: always respect edit mode hiding on faces.
  • Flamenco:
    • add API endpoints for fetching the last-rendered images of a certain job.
    • add SocketIO notification about new last-rendered images.
    • deploy Flamenco 3 alpha on the Blender Studio infrastructure.
  • D15189: Fix C++ .stl importer unused function result warning
  • D11592: Alembic/USD: use geometry sets to import data
  • D11591: Alembic: import arbitrary attributes
  • D11592: Alembic/USD: use geometry sets to import data

June 6 - 12

Three day week for me. Monday is national holiday in NL, Wednesday my part-time day.

Animation

  • Thursday: animation & rigging meeting
  • Reviews:
    • D15119: Add a poll message when attempting to edit bone groups outside of pose mode

Production pipeline tools

Pipeline, Assets, and IO:

  • ✅ Plan: Continue working on D14966: Add Instance Offset operators to Collections property panel
  • Flamenco:
    • ☐ Plan: Finish task & worker timeout monitoring.
    • ☐ Plan: Add endpoint for Workers to report the "last rendered image" of a certain job.
    • ☐ Plan: Have Workers actually call that endpoint with useful information.
    • ☐ Plan: Add the last-rendered image to the web interface. This could be one overall image as well as a per-job image.
  • Reviews:
    • ⭕ Plan: Continue review of D11591: Alembic: import arbitrary attributes
    • D15014: Fix T91966: flag object to check parent for animation data
    • D15142: Default "Selected Only" to True When Exporting Objects
    • D14869: T90535: Handle material name collisions on USD import

Other

Core:

  • Reviews:
    • D15146: Fix T98618: Drivers don't automatically update when changing active camera

Plans for next week:

  • D15168: Constraints: handle the custom target at the constraint level.
  • D14660: Added a clear method to ActionFCurves to remove all f-curves
  • D14646: Added Custom Properties panel for Actions in the dopesheet editor
  • D15182: Fix T85729: Crash when exporting for USD and Alembic.

May 30 - June 5

Animation

  • ✅ Plan: Land D14587: Expose background job info to Python
  • Reviews:
    • D14819: Timeline marker names are not correctly clipped in some cases
    • D14738: Fix T97533: Extrapolation regions of NLA strips outside of the current viewport are not rendered.
    • D15047: VSE preview transform autokeying improvements
    • D15062: Fix T98459: vertex weight paste/copy inconsistent
    • D14881: Setting default enum option to WT_VGROUP_BONE_DEFORM, and falling back to All Groups if no armature is found
    • D13844: Constraints: introduce wrapper functions to access target lists.

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Implement API endpoint to fetch worker info in web frontend
    • Store Flamenco version (as used by Worker) in the Manager's database.
    • Changed SocketIO subscriptions so that clients don't automatically get all job updates. This includes adding a way to subscribe to "all job updates" and "all worker updates".
    • Allow Worker status change requests from web interface, and show these in the web interface.
    • Add handling of lazy/forced status change requests to Manager.
    • Add cancelling of status change requests, by requesting the current state of the Worker (i.e. when it's awake, and asleep has been requested, to cancel that request just overwrite it with another request to go to awake state).
    • Remove the shutdown state; it was only used to request the worker to sign off and go offline. This can now be done simply by requesting the offline state instead. This not only reduces the number of possible states, but also sticks to the "request the state you want the worker to be in" approach.
    • Keep track on the Manager of when a worker last 'touched' a task. This will be used later to monitor for timeouts.
  • Reviews:
    • ✔️ Plan: D11591: Alembic: import arbitrary attributes
    • D14896: USD: Enable operator presets when exporting

Other

Core:

  • Continued work on D14966: Add Instance Offset operators to Collections property panel

Plans for next week:

  • Continue working on D14966: Add Instance Offset operators to Collections property panel
  • Flamenco:
    • Finish task & worker timeout monitoring.
    • Add endpoint for Workers to report the "last rendered image" of a certain job.
    • Have Workers actually call that endpoint with useful information.
    • Add the last-rendered image to the web interface. This could be one overall image as well as a per-job image.
  • Reviews:
    • Continue review of D11591: Alembic: import arbitrary attributes

May 23 - 29

Animation

  • ✅ Plan: fix T98196: Crash when moving tweaked NLA strip with empty track below
  • Reviews:
    • ✔️ Plan: D10102: NLA: Strip Post-transform Horizontal Shuffle
    • T97980: N-panel visible by default in Animation editors
    • Landed D14890: Fix T97974: Marker line thickness is no longer affected by NLA strip mute status
    • Landed D14742: Fix T97500: NLA strip names are no longer fully rendered when they shouldn't be
    • Reviewed D14660: Added a clear method to ActionFCurves to remove all f-curves
    • Reviewed D14646: Added Custom Properties panel for Actions in the dopesheet editor
    • Accepted but not yet landed D14910: default N-panel open for animation editors
    • Reviewed D15026: Cleanup/simplify BKE_fcurve_find_by_rna_context_ui code.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews:
    • ✔️ Plan: D15014: Fix T91966: flag object to check parent for animation data
    • ⭕ Plan: Continue D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path

Other

Core:

  • ✔️ Plan: Continue D14587: Expose background job info to Python
  • Reviews:
    • Meddled with D14989: Python API: add mathutils.Color functions to convert color spaces
    • ✔️ Plan: Continue D12034: GHOST/X11: setup GLEW and GLEW for EGL
    • D15017: Depsgraph: Implement backtrace functionality

Plans for next week:

  • D11591: Alembic: import arbitrary attributes
  • T98435: VSE autokeying transforms in preview dont respect keyingsets
  • Land D14587: Expose background job info to Python

May 16 - 22

Animation

  • Checked on T98157: Regression: Massive drops in Animation playback (fps) in the viewport (Depsgraph)
  • Reviews:
    • D14964: remove action edited tab from NLA strip select

Production pipeline tools

Pipeline, Assets, and IO:

  • ☐ Plan: review D14853
  • Flamenco:
    • Filter bar to filter tasks and jobs by their status.
    • Task log pub/sub system for broadcasting task logs from Manager to the web interface.
    • Pop-over in the footer of the web interface, with two tabs:
      • History of notifications received by this run of the web interface.
      • Task log of the active task. This consists of the most recent 2kB of the task's log, plus any new log lines received via SocketIO.
    • Increase worker log chunk size from 1kB to 10kB. This reduces the number of calls it needs to do, improving performance and reducing load on the Manager.

Other

Core:

  • Fixed T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
  • Created D14966: Add Instance Offset operators to Collections property panel

Platform Maintenance:

  • ✅ Plan: Rebuild USD libs: T97950: Crash on startup on older CPUs, due to unsupported instruction in USD libraries

Plans for next week:

  • Fix T98196: Crash when moving tweaked NLA strip with empty track below
  • D10102: NLA: Strip Post-transform Horizontal Shuffle
  • D15014: Fix T91966: flag object to check parent for animation data
  • Continue review of D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path
  • Continue review of D14587: Expose background job info to Python
  • Continue review of D12034: GHOST/X11: setup GLEW and GLEW for EGL

May 9 - 15

Animation

  • Thursday: module meeting
  • Time spent on:
    • T97480: Keying set failed to insert any keyframes
    • T97980: N-panel visible by default in Animation editors
  • Reviews:
    • D14658: Changes to the actions performed by the 'Start' and 'End' fields of a NLA strip in the NLA editor
    • D13818: Markers: add delete confirmation property

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Remove selection of jobs and add a single "active job".
    • Add Vue Router to handle URLs and become the owner of the "active job ID"
    • Add "may-I-keep-running" protocol (OpenAPI definition + implementation on Manager & Worker)
    • Hopefully fix SQLite database locking issue by using a single DB connection only. This might not be the best solution.

Other

Platform Maintenance:

  • T97737: GPU Subdivision: Crash after opening particular files
  • D14898: Build: disable usage of GLEW, CLEW, CUDA, GLFW in OpenSubdiv
  • Fixed by recompiling OpenSubDiv: T97737: GPU Subdivision: Crash after opening particular files

Other work:

  • ✅ Plan: fix the door opener at Blender HQ.
  • Discuss GSoC projects.

May 2 - 8

Animation

  • Investigated and closed T97710: Regression: Crash When Appending Items and Editing Expressions
  • Investigated T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
  • Forwarded to Bastien & Campbell: T95541: Regression: Broken vertex weight with mirror modifier
  • Poked Campbell about T56163: Improve MemFile Undo (for general use)
  • Reviews
    • D11652: WIP: Get path from nested ID properties on non-ID datastructures (Bones, Sequences, etc.) (T48975)
    • D14820: Selecting Action channel in NLA set the context now sets the context in the N pannel, as well as indicated the active selection
    • D14868: Fix T97529: NLA track option buttons can no longer be interacted with when hidden

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Flamenco
    • Add system for subscribing to SocketIO updates of specific jobs.
    • Send task changes to the SocketIO "room" specific to the tasks' jobs.
    • OAPI: remove '-dirty' suffix from the version number in generated code. In practice there are always some pending changes in the Git repo when OpenAPI code is generated, so the -dirty suffix doesn't add much.
    • Add /api/tasks/{task_id} endpoint to fetch single tasks.
    • Show the selected task in the web client, and update it according to what's received via SocketIO.
    • Rework mass-updates to tasks (like requeueing all tasks when a job gets requeued) so that each task change sends a notification via SocketIO.
  • Reviews
    • D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • D14869: T90535: Handle material name collisions on USD import
    • Involved myself slightly in D14853: Re-fix T97366: Support single-file UDIMs if given a tokenized path

Other

Core:

  • D13001: Un-ignore modules in .gitmodules configuration
  • Try to find solution for T96289: Regression: Crash when accessing animated 'object.data' property in a driver of a Mesh
    • First improvement: resolve driver variable RNA path and find the data-block it's referring to. Use that to create the relation, and not the original driver target.
    • Raised concern on rB56407432: Fix T94479: GPU Subdivision surface modifier does not apply to Cycles renders

Platform Maintenance:

  • Helped investigate T97737: GPU Subdivision: Crash after opening particular files


April 25 - May 1

3.5 day work week, Tuesday afternoon I take off.

Animation

Production pipeline tools

Pipeline, Assets, and IO:

Other

Core:

  • D14587: Expose background job info to Python
  • D14789: GNUmakefile: include autopep8 in the "make format" target

Platform Maintenance:

  • Landed libraries for Blender 3.2
  • D14793: Deps: Specify versions for implicit python modules
  • D14792: CMake: Reduce dependencies of USD to what's actually needed by Blender
  • Rebuilt OpenVDB/NanoVDB to include HIP patch (rBL62900)

April 18 - 24

Three day work week, Monday is national holiday and Wednesday my regular parttime day.

Animation

  • Reviews:
    • ✔️ Plan D14658: Changing the start and end frames of a NlaStrip now perform the same action
    • ✔️ Plan D8808: Armature Animation Baking: Important performance patch
    • D14719: Key the Current Influence Value of the Strip when Pushing Down the First NLA Track

Production pipeline tools

Pipeline, Assets, and IO:

  • Flamenco:
    • Fixed a bunch of race conditions in Master and Worker.
    • Web interface: use Pinia for state management.
    • Web interface: add notification bar.
    • Web interface: add Action buttons to perform actions on selected jobs.
    • Add "Activity" field to jobs, which will contain a description of the latest activity on the job. Currently it just contains the reason for state changes.
    • Add job actions for cancelling and requeueing jobs.
    • Reduce password strength of workers. These passwords are not meant to provide absolute security, but rather as a way to distinguish between different machines that happen to be configured with the same hostname (and thus the same Worker nickname). The password check was two orders of magnitude slower than the actual API call, though (50ms resp. 500µs).

Other

Core:

  • D14686: Add pyproject.toml configuration for autopep8

Other work:

  • Helped Arnd with OAuth2 authentication of Gitea against Blender ID.

April 11 - 17

Animation

  • Wrote T97323: Drawing of pose markers does not take NLA time mapping into account
  • Fixing/triaging:
    • T97161: Copy Global Transform: Two bugs when copying transforms with two ChildOf constraints
  • Reviews:
    • ✅ Plan: accept D10504: NLA: Keyframe Remap Through Upper Strips
    • ✅ Plan: D14581: Fix T95001: Set Parent (Keep Transform Without Inverse)
    • ⭕ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ⭕ Plan: see if I can help with D13687: Use other frame range for motion paths instead of 1-250
    • D14289: Fix setting key shortcuts in the insert keyframe menu items
    • D14564: Fix Pushdown of an action from the Action Editor lacks immediate updates
    • D14089: Fix T95679: Outliner 'Unlink' directly on action misses DEG update
    • D12298: Markers: improve rename operator and shortcut
    • D14176: Animation: Select markers before/after current frame
    • D14635: BKE_nlatrack_add now behaves correctly when passing NULL as argument for prev

Cloud-Based Rendering

  • Flamenco:
    • Worker: find Blender via a call to AssocQueryStringW() from shlwapi.dll.
    • ✅ Plan: Live-stream Flamenco development on developer channel.
    • Lots of work on web UI.


Production pipeline tools

Pipeline, Assets, and IO:

  • T97275: Alembic export of "Only Selected Objects" with unexpected output
  • Reviews:
    • ✅ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ⭕ Plan: D11591: Alembic: import arbitrary attributes
    • D14644: UI: Improve wording for some USD export descriptions
    • D14484: Cleanup: Alembic, use a structure to pass parameters

Other

Core:

  • Reviewed D14626: Fix T97262: Crash with specific view layer setup

Platform Maintenance:

  • Worked on testing the USD Imaging test and 3.2 library upgrades.

Other work:

  • Helped Arnd with OAuth2 authentication of Gitea against Blender ID.

Plans for next week:

  • D14658: Changing the start and end frames of a NlaStrip now perform the same action
  • D8808: Armature Animation Baking: Important performance patch

April 4 - 10

Animation

  • ✅ Plan: T93405: Remove old pose library from UI, and deprecate Python API
    • rB6d1fbd24: Pose Library: avoid errors in the legacy panel when the add-on is disabled
    • rB7b7c78c4: Cleanup: remove incorrect comment
    • rB951e43be: Pose Library: use the right icon for the "More Info" button
    • rBAbaa5814: Pose Library: better support for legacy pose libraries
    • rBA8bc8400: Spacebar Menu: remove old pose library from menu
    • rBa824c076: Pose library: remove much of old pose library interface
    • rB81b55d79: Pose library: add deprecation notices
  • ✅ Plan: update to be done in B3.3: T93406: Removal of most of the old pose library in Blender 3.2
  • 🕐 Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✔️ Plan: D10504: NLA: Keyframe Remap Through Upper Strips
    • ✔️ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ✅ Plan: D14230: NLA: Remove Hold resetting between Hold_Forward Behavior

Cloud-Based Rendering

  • Flamenco:
    • Generated JavaScript OpenAPI client.
    • Web interface with realtime job status changes.
    • Shaman compatible with Windows. This is limited to the local storage, though, so no shared storage yet, as creating symlinks on network drives is still cumbersome.
    • Manager: logging improvements.
    • Manager: better SQLITE_BUSY handling. It can now generate 1000 jobs in quick succession.
    • Worker: better shutdown behaviour.

Production pipeline tools

Pipeline, Assets, and IO:

  • Reviews:
    • ✅ Plan: D13958: New C++ based wavefront OBJ importer
    • D13855: Cleanup: CacheFile, use double precision for time

Other

Platform Maintenance:

  • ⭕ Plan: Land library changes for 3.2 (T95206)

Other work:

  • Created D14587: Expose background job info to Python

Plans for next week:

  • Reviews:
    • ☐ Plan: accept D10504: NLA: Keyframe Remap Through Upper Strips
    • ☐ Plan: D14581: Fix T95001: Set Parent (Keep Transform Without Inverse)
    • ☐ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ☐ Plan: see if I can help with D13687: Use other frame range for motion paths instead of 1-250
    • ☐ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ☐ Plan: D11591: Alembic: import arbitrary attributes

March 28 - April 3

Animation

  • ☐ Plan: T93406: Removal of most of the old pose library in Blender 3.2
  • Reviews:
    • D14289: Improve usability of insert key-frame with key-bindings
    • Checked up on D13687: Use other frame range for motion paths instead of 1-250
    • ⭕ Plan: D12298: Markers: improve rename operator and shortcut
    • ✅ Plan: D13999: Enable action space gizmos

Cloud-Based Rendering

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews:
    • ☐ Plan: D14456: USD/Ctest: Add USD-Imaging tests.
    • ⭕ Plan: D11591: Alembic: import arbitrary attributes
    • ✔️ Plan: D13958: New C++ based wavefront OBJ importer

Other

Core:

Platform Maintenance:

  • ⭕ Plan: T95206: Libraries Changes for Blender 3.2

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ⭕ Plan: Continue setting up SVN Proxy for Blender Animation Studio
  • Copy "Developer Roles" document from google sheets to Notion, and send mail to studio mailing list.

Plans for next week:

  • ☐ Plan: T93406: Removal of most of the old pose library in Blender 3.2
  • Reviews:
    • ☐ Plan: D10504: NLA: Keyframe Remap Through Upper Strips
    • ☐ Plan: D14345: Fix T96476: Equalize Handles Operator not working on all selected keyframes
    • ☐ Plan: D14230: NLA: Remove Hold resetting between Hold_Forward Behavior

March 21 - 27

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.

Cloud-Based Rendering

  • Flamenco:
    • ⭕ Plan: Manager: integrate Shaman and improve the protocol to fit in with the rest of the Manager API
    • ⭕ Plan: Add Shaman support to the Flamenco v3 add-on
  • ⭕ Plan: Continue review of D14374: Support for int, float types in BlendFileBlock.set

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Thursday: module meeting
  • Reviews:
    • ✔️ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • ☐ Plan: D13958: New C++ based wavefront OBJ importer
    • ⭕ Plan: D14193: USD volume export

Other

Core:

Platform Maintenance:

  • Landed D14334: CMake: prepare USD build & find scripts for USD >= 21.11
  • Reviewed D14292: Fix make source_archive_complete for release branches

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week:

  • D14456: USD/Ctest: Add USD-Imaging tests.
  • T95206: Libraries Changes for Blender 3.2
  • T93406: Removal of most of the old pose library in Blender 3.2
  • D11591: Alembic: import arbitrary attributes

March 14 - 20

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✔️ Plan: roll back and re-review D13687: Use other frame range for motion paths instead of 1-250

Cloud-Based Rendering

  • Flamenco:
    • ✅ Plan: Meeting with Andy about functional design of the new add-on
    • ✅ Plan: Add-on: support creating job at Manager
    • Implement frames-to-video and move-directory commands on Worker to support all parts of the Simple Blender Render job
    • ☐ Plan: Manager: integrate Shaman
    • ☐ Plan: Design support for projects, so that each project can have:
      • name
      • Shaman checkout root path
      • render output root path
  • Reviewed D14374: Support for int, float types in BlendFileBlock.set

Production pipeline tools

  • ☐ Plan: Work on SVN proxy for Blender Animation Studio

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

Other

Core:

Platform Maintenance:

  • Update USD to 22.03:
    • Created D14334: CMake: prepare USD build & find scripts for USD >= 21.11
    • ☐ Plan: Actually do the upgrade to 22.03

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • Finished WBSO 2021
  • Work on SVN proxy for Blender Animation Studio

Plans for next week:

March 7 - 13

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • Reviews:
    • ✅ Plan: D9376: Blend To Default Value Implementation
    • D14022: Fix T95531: Draw y axis values in Driver Editor
  • Fixes / investigations:
    • T96203: IK chian length is can't use animate property
    • T92861: Selection bug when multi-editing different armature objects sharing the same armature obdata (poked Campbell)
    • T94360: Assert on dragging keyframes
    • T91669: Assert duplicating key-frames in the dope-sheet
    • T85870: ColorRamp Keyframes crash Blender. (UI code issue, not Animation code)
    • T89560: Insert key dropdown on keymap doesn't show keying sets anymore (Bisected, poked Campbell)
    • T95256: Crash when creating off-screen pose asset

Cloud-Based Rendering

  • Initial integration of BAT into the new Flamenco add-on

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

February 28 - March 6

Animation

  • ☐ Plan: Design & write blog post about changes in keying behaviour.
  • ✅ Plan: Thursday A&R module meeting
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation

Cloud-Based Rendering

  • Plan: Continue working on Flamenco 3.0:
    • ✅ Plan: Move development from Gitlab to developer.blender.org
    • ✅ Plan: Rename "Flamenco NG" to "Flamenco 3.0"
    • ✅ Plan: Write blog post to announce Flamenco 3.0

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2
  • ☐ Plan: Review D13958: New C++ based wavefront OBJ importer

Other

Other work:

  • Corona

Plans for next week:

  • D14184: USD: Support building against USD 21.11+

February 21-27

Animation

  • Keying design refresh:
    • Thursday: Talk with Rik and Sebastian Parborg about current & desired keying behaviour.
  • Fixed / triaged:
    • T95596: Crash in versioning of node animation
    • T84848: Specific Rig Crashes blender when going into pose mode
    • T84944: Sound track in NLA editor doesn't mute at the end of the NLA strip
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation

Cloud-Based Rendering

  • New release of BAT and Blender Cloud add-on:
    • Compatibility with Python 3.10 & Blender 3.1
    • Support for UDIM textures.

Production pipeline tools

Asset Browser/Pose Library:

  • Investigated T95636: Dragging Material from Asset Browser (Link mode) to Viewport empty space removes this material from all objects

Pipeline, Assets, and IO:

  • ✅ Plan: Thursday 17-1u first module meeting!
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2

Other

Core:

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✅ Plan: ensure new HQ IP address is configured wherever needed
  • Fixed my desktop machine (snapd incorrectly set XDG_DATA_DIRS causing the desktop to crash)

Plans for next week:

  • Review D13958: New C++ based wavefront OBJ importer
  • ☐ Plan: Design & write blog post about changes in keying behaviour.

February 14-20

Animation

  • Thursday: A&R module meeting
  • Fixes (and other closures of reports):
    • T94886: Custom bone shape disappears if going to editmode on the custom shape object
    • T95724: ASAN failure during bl_rigging_symmetrize test (BKE_fcurves_filter or BLI_str_unescape_ex)
    • T84117: Crash when using to_mesh() on a depsgraph object in a driver
  • Reviews:
    • ☐ Plan: D9376: Blend To Default Value Implementation
    • D14105: Fix: RNA property not set for Graph editor breakdown op
    • D13844: Constraints: introduce wrapper functions to access target lists.
    • rBceea3d0f: Fix T95135: improve error filtering non-existant anim data

Production pipeline tools

Pipeline, Assets, and IO:

  • Continue working on Flamenco NG, get the Worker running commands & send updates + logs to Manager.
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2
  • Reviews:
    • ✔️ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).
    • ☐ Plan: D13958: New C++ based wavefront OBJ importer

Other

Core:

  • rBe0fd31f0: Fix segfault calling id_properties_ui("prop").update()

Platform Maintenance:

  • Reviews:
    • D14106: Fix compilation error on certain platforms

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✔️ Plan: "Workshop" photos for the yearly report
  • Reviewed: D14119: PyAPI: Generic UIList for CollectionProperties

Plans for next week:

February 7-13

Animation

  • Reviews
    • ✔️ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • ✔️ Plan: T93374: UI change for the Armature Modifier
    • D13967: FIX: T95135 Wrong exception thrown when calling bpy.ops.graph.euler_filter() operator
    • ⭕ Plan: D9376: Blend To Default Value Implementation
    • D13990: Fix T91253: Slow pose bone selection with many bones
    • D10168: Fix T84486: Nla Disable "Sync Length" After Split

Cloud-Based Rendering

  • Continue working on Flamenco-NG

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews
    • ☐ Plan: D13297: Fix USD Preview Surface import bugs reported in T90535 (missing materials in Animal Logic's ALab).

Other

Core:

Platform Maintenance:

  • ✅ Plan: D13950: Deps: upgrade OpenXR 1.0.17 -> 1.0.22

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

  • ✅ Plan: Monday 15:00 meeting with Anna, Sergey, Arnd, Francesco about auth infrastructure

Other work:

  • ☐ Plan: "Workshop" photos for the yearly report
  • Thursday: Workshop about developer roles at BI; continuation of last week.

Plans for next week:

  • ☐ Plan: D13958: New C++ based wavefront OBJ importer
  • ☐ Plan: Consider upgrading USD to latest version for Blender 3.2

January 31 - February 6

Animation

  • ✅ Plan: Monday 16:30: NLA meeting with Brad Clark
  • Thursday: module meeting
  • Reviews
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • ☐ Plan: T93374: UI change for the Armature Modifier
    • Reviewed and landed rB150f42e6: NLA: shortcut to rename active strip

Cloud-Based Rendering

  • ✅ Plan: Continue working on the new Flamenco.
  • Fixed BAT + Blender Cloud add-on for compatibility with zstandard/Blender 3 compressed files.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

Other

Core:

  • T90379: How to use & transition to std::filesystem?

Platform Maintenance:

  • Reviews:
    • D13943: Python: bump minimum version to 3.10

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ✅ Plan: Thursday 10:30-13:00: workshop about roles/functions/levels with HR & Ton.

Plans for next week:

  • D13950: Deps: upgrade OpenXR 1.0.17 -> 1.0.22
  • Flamenco-NG
  • "Workshop" photos for the yearly report
  • Monday 15:00 meeting with Anna, Sergey, Arnd, Francesco about auth infrastructure

January 24 - 30

Animation

  • ✅ Plan: Thursday morning: Sprite Fright post-mortem with Rik
  • Reviews
    • ✅ Plan: D13702: Implementation: Equalize Handle Operator
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250

Cloud-Based Rendering

  • ☐ Plan: Continue working on the new Flamenco.

Production pipeline tools

  • Tuesday: Talked with Paul Golter about pipeline tooling design, asset metadata tracking, etc.

Asset Browser/Pose Library:

  • Reviews:
    • D13191: PoseLib: use bpy.utils.flip_name()

Pipeline, Assets, and IO:

  • Reviews:
    • Reviewed and landed D13647: USD Preview Surface material export.
    • D13745: Native STL importer

Other

Core:

Platform Maintenance:

  • T93161: Libraries Changes for Blender 3.1:
    • Build new GMP
    • Build new FreeType + Brotli
    • Add proper FindBrotli.cmake module
    • D13913: CMake: use FindBrotli.cmake on Windows and macOS
    • Upgrade Python and struggle a lot with zstandard version numbers

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week:

  • T93374: UI change for the Armature Modifier

January 10 - 16

Animation & Rigging

  • ⭕ Plan: Investigate T94542: VSE: Animation operators missing cache invalidation
  • Closed T94719: Keying preference 'Only Insert Needed' functionality has changed unexpectedly
  • Reviews
    • ☐ Plan: D13702: Implementation: Equalize Handle Operator
    • ☐ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • D13787: Fix error when keyframing with Custom Properties

Cloud-Based Rendering

  • ☐ Plan: Continue working on the new Flamenco.
  • ✅ Plan: Monday: meeting with Francesco about the new Flamenco.
  • ✅ Plan: meeting with Andy about Flamenco job/task queue management wishes.

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Investigated T94396: USD animation exported from Audio2face can't play after opening saved scene
  • Reviews:
    • D13647: USD Preview Surface material export.
    • D13603: Alembic: add support for reading override layers

Other work:

Other

Core:

  • T94627: Speakers cannot be muted or unmuted via the API (bpy.data.speakers.muted is broken)
  • Reviews
    • D13808: Fix T94230: Crash rendering with EEVEE in mesh edit-mode

Platform Maintenance:

  • Reviews:
    • D9177: CMake: use FFmpeg find module on Linux

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

  • ☐ Plan: Friday: BI developers kick-off of 2022.
  • ✅ Plan: Thursday: meeting with HR.

Plans for next week:

January 3-9

Animation

Animation & Rigging:

  • ☐ Plan: Investigate T94542: VSE: Animation operators missing cache invalidation
  • Reviews
    • ✔️ Plan: D13702: Implementation: Equalize Handle Operator
    • ✔️ Plan: D13687: Use other frame range for motion paths instead of 1-250
    • D9376: Blend To Default Value Implementation
    • D9732: Constraints: refactor the D7437 patch that added Custom Space for constraints.
  • Complained to Campbell about reviewing & approving animation-related code without even notifying the Animation & Rigging module:
    • rBc8d59b60: Make keyframe inserts/removals less verbose when called from python.
    • rB78b9a8c7: Add an option to silence bpy.ops.anim.keyframe_delete_v3d when used in Addons

Cloud-Based Rendering

  • Created proof of concept for embedding JavaScript in Flamenco for job compilation with Goja.
  • Started end user design document with a high-level overview of to-be-considered topics.
  • Expanded the Manager PoC with an OpenAPI 3 interface and a Worker PoC that uses it.
  • Reviews/maintenance:
    • Closed D11996: Blender-Cloud-Addon: Bump blender-asset-tracer to 1.5.1

Production pipeline tools

Asset Browser/Pose Library:

Pipeline, Assets, and IO:

  • Reviews
    • D13629: Patch for building blender with USD 21.11
    • D13046: Exporter part of soc 2020 fast Obj IO project
    • ✅ Plan: D10145: Subdivision: add support for vertex creasing
    • D13647: USD Preview Surface material export.
    • D10196: Alembic: add settings to control radius of imported curves and points

Other

Core:

Platform Maintenance:

Web (Cloud/Store/Blender ID/DevFund/Blender Meta):

Other work:

Plans for next week: