User:Sebbas/Reports/2020

Reports 2020

January 13 - 17

  • General:
    • This week I went step by step through the bug reports for the new fluids system. I started with bugs tagged with high priority and generally try to fix all other bugs chronologically.
    • Besides bug fixing, I also committed an update that speeds up cache file loading (c7596cd).
  • Bugs:
    • Fix T72971: [Mantaflow] FLIP particles not visible
    • Fix T73111: Bake data of fluid causes crash of Blender
    • Fix T72970: [Mantaflow] When changing the domain settings, the current frame of the scene is set to 1
    • Fix T72860: Mantaflow Fluid Sim fails when simulation starts after frame 1
    • Fix T72783: "Persistent images" option crashes smoke animation render with Cycles
    • Fix unreported bug: Fluid: Fix for relative cache paths (Se2c8aa)
    • Fix unreported bug: Fixed secondary particle combined export functionality (81b7f8e)
  • Next up:
    • Fix more fluid bugs from the tracker.
    • Start updating the release logs and the documentation.

January 20 - 24

  • General:
    • Similarly to last week, I spent this week fixing fluid bugs from the tracker. Nothing too exciting to report other than that I am glad that T72894 is out of the way.
  • Bugs:
    • Fix T72505: Mantaflow - Baking Cache=Final
    • Fix T72562: Mantaflow: Same particles for Spray, Foam and Bubble
    • Fix T72894: Mantaflow: several crashes due to null pointers.
    • Fix T72975: [Mantaflow] Mesh generation bug
    • Fix T72643: [Mantaflow] Incorrect fluid flow direction
    • Fix T63630: OpenVDB- Smoke disappeares
    • Fix T73272: Fire + Smoke broken in Linux
    • Fix T73292: Mantaflow - fluid does not render but renders related particles
    • Fix T73311: Mantaflow > Liquid: Enabling Initial Velocity on Inflow / Outflow crashes Blender
    • Fix T71391: Line artifacts in Mantaflow smoke sim when using "Noise"
    • Fix T72789: Mantaflow cache doesn't work with non-latin cache directory
    • Fix T73155: Current Mantaflow build hideously unstable when baking gas sim with adaptive domain
    • Fix T53205: Show Smoke Advance Panel at Outflow type
    • Closed T47655: OpenVDB cache files have extra "_00" at end.
    • Closed T50382: Fluid sim broken when domain/fluid are at large coordinates
    • Closed T65977: domain not replaced by fluid if 'Final Resolution' set higher than 310
    • Closed T66244: Fluid Inflow cant be disabled until it has an enabled keyframe
    • Closed T69850: Fluid Simulation: Volume Initialization bug
    • Closed T70531: Fluid collision doesnť work for objects with armature modifier while "preserve volume" option is checked
  • Next up:
    • Update the release logs and the documentation.

January 27 - 31

  • General:
    • Lots of cleanup (e.g. remove obsolete code, updated comments) in the fluids code. (e782d35d3454, 42318e358a88, 745e35630058)
    • Liquid simulations with particles don't switch to viewport display mode "Wireframe" automatically anymore. It was causing more confusion than it was actually helping. (a8bfa9163341)
    • Improved smoke and liquid inflow. The commits also fix issues with initial velocities mentioned in T73422 and T72949. (33317b464777, 3601924acb32)
    • Particle systems settings created by the fluid simulation were sometimes not in sync when deleted manually. Fixed this and cleaned up a warning. (9b308f27ad8d, 385b34b9b83f)
  • Bugs:
    • Fix T73483: Mantaflow: Smoke inflow in liquid domain emits liquid
  • Next up:
    • Update the release logs and the documentation.

February 03 - 07

  • General:
    • This week there were two things I really wanted to finish and get into the release branch. It was a bit of a stretch to get everything ready but in the end I think it was worth putting in the effort.
      1. Faster file loading for smoke simulations: They should now load way faster when replayed from the cache. The cache now loads the files directly into the pointer variables (instead of first loading them via Python and then accessing the pointers). (e7d71ce9cf1e, 1bb702df1e16, f12b4e53aaf7, ffcccf654c8e, 68221b7ebafe)
      2. Fix fluid guiding functionality: I knew this one came a bit short in the past weeks. So I already assumed that through bigger changes I made elsewhere the guiding would be broken. When I tested it, it turned out that it was. Luckily, the fixes weren't too complicated. (86e24ea10cba)
    • I also wrote some lines for the release notes: Fluid Simulation Release Notes 2.82
  • Bugs:
    • Fix T73537: Particle system Crash
    • Fix T73567: Mantaflow adaptative domain takes objects with the flow turned off…
  • Next up:
    • Fill in the gaps in the manual for 2.82. Fortunately, the maintainers have already adjusted the manual to the new fluids system. Next week, I will fill in all the remaining sections marked as "ToDo" (mostly variable explanations).

February 10 - 14

  • General:
    • This week I worked on the fluid documentation page! (rBM6200, rBM6201)
  • Next up:
    • Wrap up the documentation and get back to bug fixing.

February 17 - 21

  • Bugs:
    • Fix T73770: Mantaflow is unable to bake fluid simulations on non-ASCII file paths
  • Next up:
    • Fix more fluids bugs from the tracker.

February 24 - 28

  • General:
    • This week I was mostly working on an optimization patch: The idea was to reduce the time it takes to scan the obstacle geometry (before exporting it to the simulation) by decreasing the bounding box size of obstacle objects. So with the patch, obstacle objects are turned into grids using a smaller bounding box instead of searching in the entire domain.
    • Improved the behavior at outflow boundaries. Smoke should now disappear faster. (bc2ce31d7940)
    • Review D6945: Objects: add Volume object type, and prototypes for Hair and PointCloud
  • Next up:
    • Cleanup and commit optimization patch for obstacles.
    • Fix more fluids bugs from the tracker.

March 02 - 06

  • General:
    • The obstacle optimization patch I talked about last week is now in master (a5c4a44df67e). Again, the two major improvements of this patch are
      • Smaller bounding boxes for obstacles and thus faster baking times in general
      • Static obstacles (i.e. no movement, rotation, deformation) are only computed once and are now in general faster than moving ones.
    • This week I also worked on various other smaller optimizations:
      • Faster mesh generation for liquids (during replay) (4a3377fcf6ae)
      • Faster smoke simulations through static / dynamic pressure preconditioner (a smoke simulation with no moving obstacles should be faster than one with now) (5539b68009e6)
      • Slightly faster bakes in general (found this through some profiling) (950a35e35380)
    • There are some new features in master too:
      • Obstacles can now be enabled / disabled (UI checkbox) (a5c4a44df67e)
      • Delete fluid inside obstacles (UI checkbox) (6958ec3f7fc2)
  • Next up:
    • Fix more fluids bugs from the tracker.
    • The baking speeds can be improved further by lowering certain quality parameters in the pressure solve. The resolution of the simulation would remain unchanged and therefore the quality drop should only be slightly noticeable. The baking times, however, become much shorter!
    • Next week, I would like to explore this idea. Maybe a new "Smoke Quality" option would make sense in the UI (to be continued).

March 09 - 13

  • General:
    • This week I just looked at a few bugs and did some reviewing. T73921 took me quite some time to fix completely (turned out to be a combination of bug and memory leak).
    • Reviewed D6951: Smoke: put density/color in separate textures, fixes for workbench shader
    • Reviewed D7093: Fix T74525: Fluid caches overwrite each other by default
  • Bugs:
    • Fix T72253: Mantaflow adaptive domain cuts off
    • Fix T73921: Eevee volume render test memory leak in Mantaflow
  • Next up:
    • Get the number of fluid bugs down to a more controllable number (~45 open reports at end of this week).
    • Investigate how the Volume Object Patch fits together with the current fluids cache.

March 16 - 20

  • General:
    • Besides the usual bug fixing for the fluid modifier, I managed to make some general improvements too:
      • Aborting fluid bake jobs is now much faster (especially noticeable when cancelling high-res bake jobs). (b2851dbe784e)
      • General cleanup in the fluid modifier UI. It looked a bit odd when expanding the panel horizontally. (91c1759956d2)
    • Initial thoughts on how to integrate the Volume Object Patch D6945 with the smoke simulator. Also decided to played around with some VDB files now that it's in master.
  • Bugs:
    • Fixed a regression for smoke simulations (described in T66791). (20d7c04305a3)
    • Fix T74762: Mantaflow: Non emmiting flow source affects simulation
    • Closed T72949: [Mantaflow] initial velocity ignored in the emission object
    • Fix T74154: Mantaflow crash: Baking data for domain type fluid on a plane.
    • Fix T73988: Mantaflow fluid simulation - Particles for Spray, Foam and Bubbles are one frame ahead of Mesh
  • Next up:
    • Follow up on discussions in the reports and close those without replies to my questions from this week.
    • Bug fixing and more experiments with the new Volume type.

March 23 - 27

  • General:
    • While the plan for this week was to mainly work on bugs and the Volume type (no further progress), I ended up working on some optimizations too:
      • Optimization for liquid / secondary particle file loading (7d59f84708fc)
      • Support for moving (obstacle) rigid bodies (was broken after optimization for static / dynamic obstacles) (b023c9111856)
  • Bugs:
    • Closed T73866: Mantaflow Fails to bake liquid particles with plane shaped flow objects
    • Closed T73161: [Mantaflow] Particles not generated on Plane object
    • Closed T72542: Collisions in Mantaflow with Inverted Normals
  • Next up:
    • Fix more fluid bugs from the tracker.
    • Google Summer of Code communication.

March 30 - 03

  • General:
    • Improved loading times for mesh files by reading bigger chunks of data from the disk at once. (1280f3c0ae96)
    • Reviewed D7256: Fluids: improve subframe handling
    • Refactored Mantaflow main class and improved caching in general, especially the 'Replay mode'. (bfdc42d9906a, 70b061b4fdd4)
  • Bugs:
    • Closed T72860: Mantaflow Fluid Sim fails when simulation starts after frame 1
    • Fix T75210: Frame range does not go down to 0 in the physics tab for mantaflow when clicking the left arrow
    • Closed T73937: Mantaflow in 2.82 not working
  • Next up:
    • Fix more fluid bugs from the tracker.

April 06 - 10

  • General:
    • This week I focused completely on bugs from the tracker. So nothing new to report here in the "General" section.
  • Bugs:
    • Fix T74828: Fluid: Crash with Fire/Smoke Noise
    • Closed T73653: Mantaflow: Calculate Replay Cache while only playing in a forward direction
    • Fix T73552: Mantaflow - liquid particles show up in organized unrealistic structure
    • Closed T74171: Mantaflow: Slight jitter of the Domain object. Gas.
    • Fix T74901: Smoke Simulation crashes on eevee and is not persistent on Cycles
    • Closed T75103: Fluid: Crash with quick smoke volume in lookdev mode with scene world
    • Fix T74062: Mantaflow Gas domain: 'use adaptive time steps' doesn't seem to adapt.
    • Closed T75659: Smoke effect render error
  • Next up:
    • Fix more fluid bugs from the tracker.
    • I also hope to make some time for more "Manta Volume Object" development.

April 13 - 17

  • General:
    • Committed improvements to the 'Replay' cache option. Cache invalidation should work much better now. (7de86ad61fb1)
    • Also committed a fix that addresses inconsistent behavior with flow and effector objects when resuming bake jobs. This issue was reported in multiple reports (T75729, T75758). (76c1a91cfa5a)
  • Bugs:
    • Fix T75681: Mantaflow crash when trying to bake a cupcake: The CG solver diverged, residual norm > 1e30
    • Closed T73618: Mantaflow cycles render fails when started via Python
    • Closed T75174: Mantaflow "Replay" cache not working as expected
  • Next up:
    • Get the 2.83 release branch in sync with the latest bug fixes in master. Some commits where left out in last weeks transition from bcon2 to bcon3.
    • High priority bug fixing.
    • Didn't find time to do a lot of development besides bug fixing last week. So this week I'll try again.

April 20 - 24

  • General:
    • I figured out what the problem in T75889 is. Unfortunately, I don't have a robust fix for the issue yet.
    • Also figured out what might be causing the artifacts when using Smoke Noise (T71391). Fix for this is also still pending.
  • Bugs:
    • Closed T75758: Fluid: Outflow geometry is not working
    • Closed T75729: Fluid: No Obstacle after resume baking
  • Next up:
    • Similar to last week, but also improve release notes on fluids.

April 27 - 01

  • General:
    • Adjustments to the manual (changes for 2.83 release) (rBM6597)
    • Refactored the fluid gravity settings so that any fluid simulation matches the given world units. (21485e94aac1)
    • Code Quality:
  • Bugs:
    • Fix T76097: Simulations don't take animated gravity into account
    • Fix T76276: Compiler Error C1061 due to too many nested if/else in MANTA_main.cpp
  • Next week:
    • Improve release notes (from last week), tracker and more focus on 2.90 feature development (e.g. Volume object integration)

May 04 - 08

  • General:
    • Fixed an issue with the total simulation time. The code was in trouble when using an animated time scale. For this to work, some changes also had to be ported into the Mantaflow repository. (ab122c73ba35, 385559843e6f, ebbaae625f7e)
    • Kickoff for community bonding with GSoC student Sriharsha Kotcharlakot (Project: "Liquid Simulation Display Options"): Got to know each other, adjusted project description and made sure his Wiki is set up.
  • Bugs:
    • Fix T75883: Smoke simulations with Adaptive Domain broken for 'Final' bakes with OpenVDB in 2.83
    • Fix T76430: Quick smoke not rendering Cycles and Eevee
    • Closed T76312: Liquid simulation Particle/Mesh vanishes - Only Domain is rendered
    • Fix T76426: Mantaflow Liquid - Gravity not respecting Time Scale from domain.
  • Next week:
    • Similar to last week, but also check that there are no unexpected fluid issues in the 2.83 release branch.

May 11 - 15

  • General:
    • There is now the initial foundation for OpenVDB caching with multiple grids per file in Blender (right now, every grid is stored in its own file). This is a work in progress and users won't notice a difference for now. (a975cb920772)
  • Bugs:
    • Fix T74060: Smoke flow force field not working with Mantaflow Gas
    • Closed T73474: Mantaflow: Liquid simulation appears to be unaffected by scale or "Real World Size" parameters.
  • Next week:
    • Handle more release branch issues and do more OpenVDB development if time allows.

May 18 - 22

  • General:
    • Worked more on the OpenVDB exporter for the fluid cache. The progress looks promising (i.e get it ready for 2.9), there are no new commits up yet though.
    • Improvements and cleanup in the fluid section of the manual. (rBM6667, rBM6669)
  • Bugs:
    • Fix T76814: [Mantaflow] Surface Tension always works
    • Fix T76697: [Mantaflow] mesh generation does not account for some particles
    • Fix T76812: [Mantaflow] Inflow particles not continuous
  • Next week:
    • Work on the bug tracker and continue OpenVDB development. Ideally, I will have a first functional version by the end of next week.

May 25 - 29

  • General:
    • This week I focused completely on the new fluid OpenVDB cache. The overall reading and writing of grids to one file per frame works now. I will publish the first results of this (i.e. commits to master) at the beginning of next week.
  • Next week:
    • More OpenVDB development and also start doing more bug tracker work + reviews.

June 01 - 05

  • General:
    • OpenVDB fluid cache development is still taking up a lot of my time.
      • Most of the OpenVDB caching code is now in the upstream Mantaflow repository.
      • For liquids, and in addition to grid caching, I have decided to make use of OpenVDB's ability to store point data. This can be used to efficiently store particle data (FLIP and secondary particles).
      • Since grid caching is almost complete, there is not much more to do for smoke.
    • Code Quality Day: Fluid: Cleanup internal Python object names (b91b90f0dd3c)
  • Bugs
    • Fix T77203: Mantaflow Bake All cannot be resumed
  • Next week:
    • Get first OpenVDB results into master and do more tracker work.

June 08 - 12

  • General:
    • I am still working on OpenVDB fluid caching:
      • This week I tweaked the OpenVDB particle caching a bit more and performed some tests to figure out how efficiently OpenVDB stores point data.
      • I also did some optimizations to read particles faster from cache files.
  • Next week:
    • Before pushing the OpenVDB changes to master I need to make sure that the current caching system does not break. I'll look into this next week and then hopefully get the patch into master.
    • At the end of the week I received some questions on why smoke simulations look much more different in 2.83 (compared to 2.83). I found out that D6951 is the reason - next week I'll take a closer look at the patch again and probably get Brecht's opinion too.

June 15 - 19

  • General:
    • Continued working on OpenVDB fluids caching. This week I tried to wrap up the project. Making sure that older caches are still compatible took quite some time.
  • Next week:
    • Mostly similar to last week, i.e. get the OpenVDB fluids patch into master + update the documentation.

June 22 - 26

  • General:
    • I finally pushed the patch for fluid OpenVDB caching to master! (9fe64948abe9, 995185894289)
    • The manual has been updated too, to reflect the changes in the caching panel (rBM6809)
  • Bugs:
    • Fix T77285: Incorrect Mantaflow fluid border interaction when collision is turned off
    • Fix T77204: Mantaflow Initial velocity bugged?
    • Fix T78170: Mantaflow Crash | Whitewater Particles Baking
  • Next Week:
    • After working a lot on OpenVDB, this week will be spent mostly on the bug tracker.
    • More in-depth documentation on new OpenVDB fluid cache

June 29 - 03

  • General:
    • There is now a Blender chat channel for the 'Nodes & Physics' module (#nodes-physics-module). Feel free to join!
    • Added a 'Frame Offset' option to the caching panel (fb0f0f4d79a7, rBM6845)
    • Spent a fair amount of time on T78270. Since the issue produces a crash in Blender it is very high on my priority list. The patch is nearly ready but still needs some final touches.
    • Code Quality Day: Renaming from old 'manta' naming to scheme new 'fluid' naming (b1d3850333ad)
  • Bugs:
    • Closed T77432: Mantaflow Liquid not work when "Data File Format" is changed to "OpenVDB"
    • Closed T78384: Mantaflow - liquid sim - strange behaviour
  • Next Week:
    • Work on the tracker
    • More in-depth documentation on new OpenVDB fluid cache - didn't get to do that last week

July 06 - 10

  • General:
    • Helped with the initial review of Apple's (ARM64 support) patches (T78710).
    • Went through older reports to get an overview of the current state of the fluid modifier (in preparation for "Bug Sprint Week").
    • Worked on various of those older bugs, however, I have nothing tangible to commit at this point.
  • Next Week:
    • There is a team-wide "Bug Sprint Week" planned and so I will be working on bugs for the entire week.

July 13 - 17

  • General:
    • Code cleanup in the Mantaflow repository. While building Blender on the Apple DTK I noticed multiple warnings that needed to be fixed upstream. (aa547ce88b9c, 93f21ebb13f0, 0cdc75ccd28c).
    • Added Numpy support (build system) to the fluids system (893eb30730c1).
  • Bugs:
    • Fix T76687: [Mantaflow] low domain transformation performance
    • Fix T77263: Mantaflow: Cache gets deleted at changing upres factor under Particles section.
    • Closed T78243: Mantaflow: changing 'upres' value for noise destroys sim bake (using 'modular' cache)
    • Closed T78620: Mantaflow Whitewater Particles baking Error
  • Next week:
    • Bug reports.

July 20 - 24

  • Bugs:
    • Closed T78290: Mantaflow smoke simulation render looks different in 2.82 and 2.83
    • Closed T79009: Mantaflow instant crash if noise baked with adaptive domain
    • Closed T78270: Mantaflow - Noise Bake with Adaptive Domain Crashes Blender
    • Closed T78732: When Press Bake Noise in Mantaflow Smoke, Blender 2.90 Alpha Crashes
  • Next week:
    • Start creating some design docs for the fluid modifier.
    • Create demo material of the new OpenVDB fluid IO for the release logs.

July 27 - 31

  • General:
    • For a some time now there has been this issue where smoke/fire in the viewport is displayed slightly different when loading it directly from the cache instead of loading it on-the-fly as it is being baked ("Replay Mode"). Especially when resuming a bake job this looks very odd.
    • Code cleanup. (2a0a2c105407)
  • Next week:
    • There is a team-wide "Bug Sprint Week" planned and so I will be working on bugs for the entire week.
    • Create demo material of the new OpenVDB fluid IO for the release logs.

August 03 - 07

  • General:
    • Worked exclusively on bugs during this weeks "Bug Sprint Week".
  • Bugs:
    • Closed T73447: Meshing of fluid particle system doesnt appear to capture cavities properly on a plunging wave.
    • Closed T76691: [Mantaflow] the number of particles increases over time
    • Fix T78266: Mantaflow: changing flow type (fire -> fire + smoke) resets Surface Emission
    • Fix T79423: Fluid Domain (Liquid mode) - changing "Frame Start" setting for sim causes strange Replay errors
    • Closed T74078: Mantaflow: Flame not working correctly when animating a Fuel value.
    • Closed T73838: Mantaflow: Viewport shading of gas changes as "Initial Temperature" is modified.
    • Fix T79201: Mantaflow: Fluid guides don't affect simulation.
  • Next week:
    • I am on holiday and so if there will be any updates at all I expect them to be minor.

August 10 - 14

  • Holiday week

August 17 - 21

  • Holiday week

August 24 - 28

  • Holiday week

August 31 - 04

  • General:
    • Spent some time going over all the new fluid bugs that accumulated over the past weeks.
    • Worked on the macOS dependency build system in the studio.
  • Bugs:
    • Closed T79941: fluid simulation error
    • Closed T79884: Fluid: Flow object does not emit liquid
  • Next week:
    • Initial talks for the hair project.
    • Finish GSoC patch review D8705.
    • Fix more fluid bugs from the tracker.

September 07 - 11

  • General:
    • Meeting with Brecht and Jacques, brainstorming for the hair project
    • Finished cleanup of macOS dependency build (D8870)
    • Reviewed GSoC fluid display options project (D8705)
  • Bugs:
    • Fix T79626: 2.91 Mantaflow crash when adaptive domain + noise are enabled
    • Fix T80372: Mantaflow Noise Not working with Smoke/Smoke and Fire
    • Closed T79694: mantaflow modular bake flickers using gas fire and fire+smoke
    • Requested review D8872: GPUTexture: Return NULL texture if data grid is NULL too
  • Next week:
    • Fix remaining Mantaflow warnings on Apple Arm64 builds
    • Update macOS dependencies in SVN

September 14 - 18

  • Bugs:
    • Invesgating (unreported) issue on animated obstacles (problems currently arise when obstacles overlap)
    • Helped Clément debug T78653
  • Next week:
    • Tracker work and cleanup warnings on Apple Arm64 machines (from last week)