Guard DNA field accesses with has_field() checks for fields renamed or
removed across Blender versions (proxy, dup_group, texcomesh, nodetree,
etc.), fix mesh block pointer mismatch in path rewriting, fix mkrelative
IndexError when asset path is shorter than blend file path, and add
[BAT] console prints for tracing progress.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add support for geometry node simulation cache files.
This also adds support for dealing with dynamic arrays in Blender's
DNA, because `modifier.bakes` is a pointer to such an array.
Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Reviewed-on: https://projects.blender.org/blender/blender-asset-tracer/pulls/92890
Add support for the Dynamic Paint modifier point cache.
I added a walker to iterate through all surfaces on a canvas to get each surface's point cache.
Reviewed-on: https://projects.blender.org/blender/blender-asset-tracer/pulls/92889
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
Currently pointcaches on disk for cloth sims were not traced. This patch allows the tracing of pointcaches for cloth sims.
Reviewers: sybren, fsiddi
Reviewed By: sybren
Differential Revision: https://developer.blender.org/D3910
This does introduce some not-so-nice things, like having to annotate each
`__init__` function with `-> None`. However, the benefits of having static
type checking in a complex bit of software like BAT outweigh the downsides.