- User Since
- Aug 20 2015, 12:17 PM (208 w, 6 d)
Mon, Aug 19
Why the heck is it calling the get default array function using the pointer that points to the property metadata (FloatProperty) instead of the actual data the property wants? The new code should work perfectly fine with a NULL pointer, just not a wrong one.
Wed, Aug 14
Tue, Aug 13
More python cleanup.
Mon, Aug 12
Python code cleanup, simplified default handling.
Sat, Aug 10
Thu, Aug 8
If you run blender with --debug-memory, it spams complaints about 'double free', and that happens even with a very much simplified test:
Wed, Aug 7
Mon, Aug 5
Sun, Aug 4
Sat, Aug 3
Changed the menu item name and tooltip, and added basic property name
sanitization (custom properties created via UI can have weird names).
Thu, Aug 1
Wed, Jul 31
I wonder if this should also take over the Ctrl-Shift-C shortcut for Copy Data Path? I'm not sure how often Copy Data Path would be needed after this is added. Or maybe this should be merged with Copy Data Path to do everything in one operation?..
Thu, Jul 25
@Luciano Muñoz Sessarego (looch) I wonder if you have any ideas about what changes in blender itself would remove the need for that 'space switching' feature? Space switching as described is obviously a workaround, which is limited to fixed lists of potential parents, and incurs a constant performance cost even when not used. The root issue here is that it's difficult for animators themselves to add a switch between parents in blender as need arises, so how do you think it should ideally work?
Tue, Jul 23
There is no such thing as "Fake IK". This is obviously some kind of weird bug that for some reason triggers what is actually called the "Auto IK" feature. If you simply enable the "Auto IK" option without using any weird hacks, it works as expected.
Jul 21 2019
Jul 18 2019
Jul 16 2019
This is more like intentional change rather than "regression". Clipping the main action like the strips doesn't make sense, because you can't control the extents of the raw action; more importantly, it also makes the extrapolation setting of the curves largely pointless, and means that action evaluation changes just because some NLA tracks exist. If you actually check, even 'Hold' works differently - try cyclic or linear extrapolation on the action curves. 'Nothing' is preserved because it could be useful for baking out the combined result of the NLA stack, but I don't see any real use case for 'Hold Forward'.
Jul 9 2019
Considering ideas for redesign of the API, this use of dist_sq to impose a distance limit is unclear (feels like a hack) and possibly should be replaced with a separate explicit parameter to find_nearest, so that the 'nearest' structure always represents a valid result when filled. With a new BVH_NEAREST_REUSE_RESULT flag to control it, this whole bit of code at the start of this function could then potentially be folded into BLI_bvhtree_find_nearest_ex.
Perhaps BVH_NEAREST_OPTIMAL_ORDER should be the default behavior instead (and also ignore the previous result), while the heuristic behavior should be invoked through BVH_NEAREST_REUSE_RESULT or something like that. I did it the way it is currently to avoid changing old code all over the place.
Keeping the previous search result when doing multiple nearest searches is a very important heuristic optimization. Not doing that in shrinkwrap for instance will absolutely butcher performance.
Jun 19 2019
It seems to me the option wasn't documented in the first place, so nothing to do here?..
Jun 17 2019
This is an unreported dependency cycle: the IK controller cannot depend on the IK chain bones for obvious reasons. The real bug here is that the cycle isn't reported.
This happens because ui_context_rna_button_active within operators and poll functions invoked for the popover UI elements can't find the actual UI control in the popover, and instead returns the property UI control through the context menu of which the popover was invoked. It seems there is a big issue with context and region management in some popovers, and may require a fix in the UI core rather than a specific operator.
Jun 16 2019
Jun 15 2019
I strongly suspect this may have fixed itself automatically when @Campbell Barton (campbellbarton) removed loading script datablocks as modules.
Jun 12 2019
Jun 5 2019
Until recently PoseBone.bone didn't change id_data to point at the Armature ID, so keyframing or adding drivers via "bones.bone" would insert keys into AnimData of the armature Object. For backward compatibility reasons it probably should work though - for drivers at least I made sure that depsgraph etc is correct for such misplaced cases.
Jun 3 2019
I'm not sure mesh editing operations that are not in any way related to shading should suddenly start setting edges to sharp (there are arguments both way, especially for remove doubles; could be an option, or maybe differ per operator?), so I let it assign 'incorrect' normals and rely on that code to average them out, but in a sensible way.
Jun 2 2019
May 29 2019
@Damien Picard (pioverfour) This should fix the issue with deleting the last feature set.
@Damien Picard (pioverfour) Since feature sets is your contribution, maybe you can test if I broke something for your usage? Feature sets that only use relative import paths for their modules should work without any change, as the only difference should be the full module name.
May 27 2019
Well, the root cause is that ANIM_animchannel_keyframes_loop can only work with BezTriple keyframes. I think a proper fix requires somehow generalizing it to support the other types - maybe by adding more callbacks for each type, or some other way. Of course a simpler fix could be to hack it in the selection operator - currently it seems all selection of GP and Mask keyframes is hacks instead of using generic code, so it won't become much worse than it is.
May 22 2019
May 20 2019
May 19 2019
May 16 2019
To be honest, I'm not familiar with the transform operator code at all. Searching through it I found a comment mentioning a similar 'one handle stuck' problem (seemingly with curve objects), and some kind of hack to avoid that in that case.