Blender Git Loki

Kaikki Blender Git kommitit.

Page: 1965 / 8462

January 3, 2020, 09:06 (GMT)
Merge branch 'master' into greasepencil-object
January 3, 2020, 05:40 (GMT)
UI: scale region hide threshold by zoom level

Resolves issue were it wasn't possible to have a single column toolbar
when zoomed out.
January 3, 2020, 05:28 (GMT)
Fix gizmos flickering when resizing regions
January 3, 2020, 04:50 (GMT)
Fix toolbar flickering on resize, inability to hide
January 3, 2020, 04:37 (GMT)
UI: Improve toolbar width snapping

Allow narrower toolbar before snapping to two column layout.
January 3, 2020, 03:12 (GMT)
Keymap: default to gizmo drag when LMB select is in use

Enable by default since it allows selection
without gizmos getting in the way which is a common annoyance.

Although this has the drawback that subtle adjustments with
gizmos won't be detected until the drag threshold is reached.
January 3, 2020, 03:04 (GMT)
Tool System: enable fallback tool by default

This defaults to selection when not using a gizmo.
The previous behavior to drag anywhere can be set in the tool settings
or by selecting the fallback tool (Alt-W).

See: T66304
January 3, 2020, 01:34 (GMT)
Tool System: store the fallback tool for re-use

The fallback tool was run-time only data,
now it's stored in the blend file.
January 2, 2020, 19:50 (GMT)
undoexp: Initial, *VERY* basic code using ID names.

This comes from the fact that we are now handling IDs from potentially
many different 'memory realms' (at the very least, two of them, those
read from memfile [new IDs], and those from previous Main [old IDs]).

The main consequence is that using pointers (aka memory addresses) as
'uids' is not working anymore: we'd need to keep some sort of 'history'
of all pointers a given data-block has had to get it working, and that
would likely lead to 'pointer collisions' [1] at some point or another.

So instead we need to use the only kind of uid we have for datablocks:
their names.

That patch is very basic, but it is enough to check undo/redo on basic
object and pose-bone-of-rigged-mesh dummies, not get it crashing, and
demonstrate huges speed-up in some artificial 'worst test case' scenario.

There are still several things to do from there:
* IDname handling:
* Obviously, use a ghash instead of dummy linear list search! Most
likely use BKE_library_idmap code to generate it.
* Check and handle pointers collisions. [1]
* Testing, testing and moar testing! These changes are highly dangerous
and can destroy a blend file completely, so we'll need to be 100% sure
they are working perfectly before puting them in master!

[1] Pointer collision: the issue here is with 'old' memory addresses
stored/used as uid in .blend file. When one read a .blend file as a
whole this is not an issue, since all old data-blocks where in a single
'memory realm' (the old Main valid at time of file writing), and all new
data-blocks are also in a single realm (the newly read file). Since we
only remap each pointer once, this is fine.

But when we start mixing those 'memory realms' by re-using IDs from old
Main in this undo project, we can end up with the same 'uuid' old
pointer value having to be remapped to two different new addresses.
January 2, 2020, 18:09 (GMT)
Merge branch 'greasepencil-object' into greasepencil-refactor
January 2, 2020, 18:09 (GMT)
Merge branch 'master' into greasepencil-object
January 2, 2020, 17:14 (GMT)
Fix T57111: Particle texture keyframes missing from Graph Editor

The entire particle system was skipped when the particle system itself did
not have any animation data. This caused the animation data on the texture
to be skipped.
January 2, 2020, 16:19 (GMT)
Fix T72821: Crash when IOD is removed from post-update callback

IDs recalc clear flag was accessing freed memory.

There is more detailed comment about solution in the code.
January 2, 2020, 16:14 (GMT)
use BLI::parallel_for when creating tetrahedons
January 2, 2020, 16:09 (GMT)
improve copying of generic data
January 2, 2020, 16:03 (GMT)
undoexp: fix crashes with even trivial relationships (like parent ones).

Even if we re-used an old ID, it may have some pointers to other IDs
remapped to newly read data, e.g. the `parent` of an object...

So CoW/evaluated data in re-used despgraph needs to be flushed in those
cases.
January 2, 2020, 16:00 (GMT)
undoexp: Add new 'UNDO_OLD_ID_REUSED' ID tag.

We need to be able to distinguish between reused IDs and newly read
ones, and 'NEW' tag is not enough here, as it gets cleared in read code.

This will be used in next commit to inform depsgraph that some re-used
old IDs need at least a COW refresh, as they are using ID pointers to
newly read data.
January 2, 2020, 15:53 (GMT)
Transform: Pose: Partial support for Auto IK + X-Mirror

Fix T69572

TODO: support `Relative-Mirror` as well.

Maniphest Tasks: T69572

Differential Revision: https://developer.blender.org/D5862
January 2, 2020, 15:47 (GMT)
Fix T72820: Linked objects jumping around during render

Was caused by 6183688c3560 (thanks ronsn for nailing it down!).

The issue is that order of copy-on-write operations is not defined, so
can not use flags set by that operation to make decision.
January 2, 2020, 15:37 (GMT)
use StringMultiMap in more places
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021