Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/datafiles')
-rw-r--r--release/datafiles/blender_icons.svg32
-rw-r--r--release/datafiles/blender_icons16/icon16_geometry_nodes.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_geometry_nodes.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons_geom.py48
-rw-r--r--release/datafiles/icons/brush.gpencil_draw.erase.datbin1052 -> 1052 bytes
-rw-r--r--release/datafiles/icons/brush.paint_texture.multiply.datbin25352 -> 18476 bytes
-rw-r--r--release/datafiles/icons/brush.paint_vertex.replace.datbin2942 -> 2942 bytes
-rw-r--r--release/datafiles/icons/brush.particle.comb.datbin4472 -> 4472 bytes
-rw-r--r--release/datafiles/icons/brush.particle.cut.datbin2456 -> 2456 bytes
-rw-r--r--release/datafiles/icons/brush.particle.puff.datbin1718 -> 1718 bytes
-rw-r--r--release/datafiles/icons/brush.particle.smooth.datbin746 -> 746 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.boundary.datbin7550 -> 7550 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.cloth.datbin3698 -> 3698 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.displacement_eraser.datbin3104 -> 3104 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.displacement_smear.datbin3968 -> 3968 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.draw_face_sets.datbin3266 -> 3266 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.draw_sharp.datbin2492 -> 2492 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.elastic_deform.datbin2564 -> 2564 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.fill.datbin3104 -> 3104 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.flatten.datbin1808 -> 1808 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.grab.datbin1772 -> 1772 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.layer.datbin3068 -> 3068 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.multiplane_scrape.datbin2060 -> 2060 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.nudge.datbin3212 -> 3212 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.pinch.datbin2744 -> 2744 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.pose.datbin1322 -> 1322 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.rotate.datbin7694 -> 7694 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.scrape.datbin4022 -> 4022 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.smooth.datbin4346 -> 4346 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.snake_hook.datbin2492 -> 2492 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.thumb.datbin1610 -> 1610 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.topology.datbin7964 -> 7964 bytes
-rw-r--r--release/datafiles/icons/brush.uv_sculpt.relax.datbin2024 -> 7208 bytes
-rw-r--r--release/datafiles/icons/ops.armature.bone.roll.datbin1646 -> 1646 bytes
-rw-r--r--release/datafiles/icons/ops.curve.pen.datbin3374 -> 3374 bytes
-rw-r--r--release/datafiles/icons/ops.curve.radius.datbin1466 -> 1466 bytes
-rw-r--r--release/datafiles/icons/ops.curve.vertex_random.datbin1412 -> 1412 bytes
-rw-r--r--release/datafiles/icons/ops.curves.sculpt_comb.datbin4472 -> 4472 bytes
-rw-r--r--release/datafiles/icons/ops.curves.sculpt_cut.datbin2456 -> 2456 bytes
-rw-r--r--release/datafiles/icons/ops.curves.sculpt_delete.datbin2060 -> 2060 bytes
-rw-r--r--release/datafiles/icons/ops.curves.sculpt_pinch.datbin0 -> 2132 bytes
-rw-r--r--release/datafiles/icons/ops.curves.sculpt_puff.datbin0 -> 1718 bytes
-rw-r--r--release/datafiles/icons/ops.generic.select_box.datbin2312 -> 2312 bytes
-rw-r--r--release/datafiles/icons/ops.generic.select_circle.datbin2564 -> 2564 bytes
-rw-r--r--release/datafiles/icons/ops.generic.select_lasso.datbin2402 -> 2402 bytes
-rw-r--r--release/datafiles/icons/ops.generic.select_paint.datbin0 -> 1790 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.draw.eraser.datbin1268 -> 1268 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.edit_bend.datbin1664 -> 1664 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.edit_shear.datbin1286 -> 1286 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.edit_to_sphere.datbin2492 -> 152 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.radius.datbin1466 -> 1466 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.stroke_cutter.datbin1916 -> 1916 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.transform_fill.datbin2132 -> 2132 bytes
-rw-r--r--release/datafiles/icons/ops.mesh.rip.datbin944 -> 944 bytes
-rw-r--r--release/datafiles/icons/ops.mesh.rip_edge.datbin890 -> 890 bytes
-rw-r--r--release/datafiles/icons/ops.mesh.vertices_smooth.datbin296 -> 296 bytes
-rw-r--r--release/datafiles/icons/ops.node.links_cut.datbin1628 -> 1628 bytes
-rw-r--r--release/datafiles/icons/ops.pose.push.datbin2384 -> 2384 bytes
-rw-r--r--release/datafiles/icons/ops.pose.relax.datbin1394 -> 1394 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.border_face_set.datbin1142 -> 1142 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.box_trim.datbin2888 -> 1736 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.cloth_filter.datbin5570 -> 5570 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.face_set_edit.datbin1700 -> 1700 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.lasso_face_set.datbin3284 -> 3284 bytes
-rw-r--r--release/datafiles/icons/ops.sculpt.lasso_trim.datbin3302 -> 2816 bytes
-rw-r--r--release/datafiles/icons/ops.transform.bone_envelope.datbin1736 -> 1736 bytes
-rw-r--r--release/datafiles/icons/ops.transform.bone_size.datbin1052 -> 1052 bytes
-rw-r--r--release/datafiles/icons/ops.transform.edge_slide.datbin800 -> 800 bytes
-rw-r--r--release/datafiles/icons/ops.transform.push_pull.datbin728 -> 728 bytes
-rw-r--r--release/datafiles/icons/ops.transform.resize.cage.datbin2456 -> 2456 bytes
-rw-r--r--release/datafiles/icons/ops.transform.resize.datbin278 -> 278 bytes
-rw-r--r--release/datafiles/icons/ops.transform.rotate.datbin1664 -> 1664 bytes
-rw-r--r--release/datafiles/icons/ops.transform.shear.datbin206 -> 206 bytes
-rw-r--r--release/datafiles/icons/ops.transform.shrink_fatten.datbin1142 -> 1142 bytes
-rw-r--r--release/datafiles/icons/ops.transform.tilt.datbin5822 -> 5822 bytes
-rw-r--r--release/datafiles/icons/ops.transform.tosphere.datbin1232 -> 1232 bytes
-rw-r--r--release/datafiles/icons/ops.transform.vert_slide.datbin1106 -> 1106 bytes
-rw-r--r--release/datafiles/icons/ops.transform.vertex_random.datbin296 -> 296 bytes
-rw-r--r--release/datafiles/splash.pngbin1113821 -> 842492 bytes
79 files changed, 66 insertions, 14 deletions
diff --git a/release/datafiles/blender_icons.svg b/release/datafiles/blender_icons.svg
index 6f0216176d7..f8164d1f646 100644
--- a/release/datafiles/blender_icons.svg
+++ b/release/datafiles/blender_icons.svg
@@ -13658,6 +13658,38 @@
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
<g
+ id="g17058"
+ transform="translate(-20.839982,-20.882701)"
+ style="display:inline;enable-background:new">
+ <g
+ id="g7978">
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.928338;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+ d="m 373.21906,563.36205 c -2.04533,0 -3.71335,1.66802 -3.71335,3.71335 0,2.04534 1.66802,3.71336 3.71335,3.71336 2.04534,0 3.71336,-1.66802 3.71336,-3.71336 0,-2.04533 -1.66802,-3.71335 -3.71336,-3.71335 z"
+ id="path7726"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssss" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:922.783;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+ d="m 364.3828,556.88974 c -0.8999,0 -1.63379,0.73389 -1.63379,1.6338 0,0.89988 0.73389,1.6338 1.63379,1.6338 0.89991,0 1.6338,-0.7339 1.6338,-1.6338 0,-0.8999 -0.73389,-1.6338 -1.6338,-1.6338 z"
+ id="path7808"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssss" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:922.783;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+ d="m 366.50464,561.82783 c -1.31395,0 -2.38552,1.07155 -2.38552,2.3855 0,1.31395 1.07157,2.38555 2.38552,2.38555 1.31396,0 2.38553,-1.07158 2.38553,-2.38555 0,-1.31395 -1.07157,-2.3855 -2.38553,-2.3855 z"
+ id="path7890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssss" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1881.46;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+ d="m 368.88012,557.69285 c -1.06196,0 -1.928,0.86602 -1.928,1.92801 0,1.06192 0.86604,1.92798 1.928,1.92798 1.06195,0 1.92801,-0.86606 1.92801,-1.92798 0,-1.06195 -0.86606,-1.92801 -1.92801,-1.92801 z"
+ id="path7972"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssss" />
+ </g>
+ </g>
+ <g
id="g7662"
style="fill:#ffffff"
transform="matrix(1,0,0,-1,0,1085.9844)">
diff --git a/release/datafiles/blender_icons16/icon16_geometry_nodes.dat b/release/datafiles/blender_icons16/icon16_geometry_nodes.dat
new file mode 100644
index 00000000000..195a5b9d6d9
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_geometry_nodes.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_geometry_nodes.dat b/release/datafiles/blender_icons32/icon32_geometry_nodes.dat
new file mode 100644
index 00000000000..50971291fcc
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_geometry_nodes.dat
Binary files differ
diff --git a/release/datafiles/blender_icons_geom.py b/release/datafiles/blender_icons_geom.py
index 815bc6d49a4..b95baf3419e 100644
--- a/release/datafiles/blender_icons_geom.py
+++ b/release/datafiles/blender_icons_geom.py
@@ -45,6 +45,8 @@ import bpy
# Generic functions
+OBJECTS_TYPES_MESH_COMPATIBLE = {'CURVE', 'MESH'}
+
def area_tri_signed_2x_v2(v1, v2, v3):
return (v1[0] - v2[0]) * (v2[1] - v3[1]) + (v1[1] - v2[1]) * (v3[0] - v2[0])
@@ -70,13 +72,14 @@ class TriMesh:
@staticmethod
def _tri_copy_from_object(ob):
import bmesh
- assert(ob.type == 'MESH')
+ assert(ob.type in OBJECTS_TYPES_MESH_COMPATIBLE)
bm = bmesh.new()
- bm.from_mesh(ob.data)
+ bm.from_mesh(ob.to_mesh())
bmesh.ops.triangulate(bm, faces=bm.faces)
me = bpy.data.meshes.new(ob.name + ".copy")
bm.to_mesh(me)
bm.free()
+ ob.to_mesh_clear()
return me
@@ -118,7 +121,7 @@ def object_child_map(objects):
def mesh_data_lists_from_mesh(me, material_colors):
me_loops = me.loops[:]
- me_loops_color = me.vertex_colors.active.data[:]
+ me_loops_color = me.attributes.active_color.data[:]
me_verts = me.vertices[:]
me_polys = me.polygons[:]
@@ -164,16 +167,30 @@ def mesh_data_lists_from_mesh(me, material_colors):
v1.co.xy[:],
v2.co.xy[:],
),
- # RGBA color.
- tuple((
- [int(c * b * 255) for c, b in zip(cn.color, base_color)]
- for cn in (c0, c1, c2)
- )),
+ # RGBA color in sRGB color space.
+ (
+ color_multiply_and_from_linear_to_srgb(base_color, c0),
+ color_multiply_and_from_linear_to_srgb(base_color, c1),
+ color_multiply_and_from_linear_to_srgb(base_color, c2),
+ ),
))
i1 = i2
return tris_data
+def color_multiply_and_from_linear_to_srgb(base_color, vertex_color):
+ """
+ Return the RGBA color in sRGB and byte format (0-255).
+
+ base_color and vertex_color are expected in linear space.
+ The final color is the product between the base color and the vertex color.
+ """
+ import mathutils
+ color_linear = [c * b for c, b in zip(vertex_color.color, base_color)]
+ color_srgb = mathutils.Color(color_linear[:3]).from_scene_linear_to_srgb()
+ return tuple(round(c * 255) for c in (*color_srgb, color_linear[3]))
+
+
def mesh_data_lists_from_objects(ob_parent, ob_children):
tris_data = []
@@ -203,7 +220,7 @@ def write_mesh_to_py(fh, ob, ob_children):
assert(axis_range <= 255)
# -1..1 -> 0..255
f = (f + 1.0) * 0.5
- f = int(round(f * axis_range))
+ f = round(f * axis_range)
return min(max(f, 0), axis_range)
def vert_as_byte_pair(v):
@@ -300,6 +317,7 @@ def main():
args = parser.parse_args(argv)
objects = []
+ depsgraph = bpy.context.view_layer.depsgraph
if args.group:
group = bpy.data.collections.get(args.group)
@@ -314,23 +332,25 @@ def main():
for ob in objects_source:
# Skip non-mesh objects
- if ob.type != 'MESH':
+ if ob.type not in OBJECTS_TYPES_MESH_COMPATIBLE:
continue
- name = ob.name
+
+ ob_eval = ob.evaluated_get(depsgraph)
+ name = ob_eval.name
# Skip copies of objects
if name.rpartition(".")[2].isdigit():
continue
- if not ob.data.vertex_colors:
+ if not ob_eval.data.attributes.active_color:
print("Skipping:", name, "(no vertex colors)")
continue
- objects.append((name, ob))
+ objects.append((name, ob_eval))
objects.sort(key=lambda a: a[0])
- objects_children = object_child_map(bpy.data.objects)
+ objects_children = object_child_map(depsgraph.objects)
for name, ob in objects:
if ob.parent:
diff --git a/release/datafiles/icons/brush.gpencil_draw.erase.dat b/release/datafiles/icons/brush.gpencil_draw.erase.dat
index 5b96035c9b8..d2faa6f2112 100644
--- a/release/datafiles/icons/brush.gpencil_draw.erase.dat
+++ b/release/datafiles/icons/brush.gpencil_draw.erase.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.paint_texture.multiply.dat b/release/datafiles/icons/brush.paint_texture.multiply.dat
index 948993203be..75fa09032a8 100644
--- a/release/datafiles/icons/brush.paint_texture.multiply.dat
+++ b/release/datafiles/icons/brush.paint_texture.multiply.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.paint_vertex.replace.dat b/release/datafiles/icons/brush.paint_vertex.replace.dat
index 676436548a7..a9a9d4f047f 100644
--- a/release/datafiles/icons/brush.paint_vertex.replace.dat
+++ b/release/datafiles/icons/brush.paint_vertex.replace.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.particle.comb.dat b/release/datafiles/icons/brush.particle.comb.dat
index d6dd75a35d7..1cdbcbadcdc 100644
--- a/release/datafiles/icons/brush.particle.comb.dat
+++ b/release/datafiles/icons/brush.particle.comb.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.particle.cut.dat b/release/datafiles/icons/brush.particle.cut.dat
index e7ef86e2fbc..0acc00660db 100644
--- a/release/datafiles/icons/brush.particle.cut.dat
+++ b/release/datafiles/icons/brush.particle.cut.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.particle.puff.dat b/release/datafiles/icons/brush.particle.puff.dat
index db2bab46bfe..72b4851cc89 100644
--- a/release/datafiles/icons/brush.particle.puff.dat
+++ b/release/datafiles/icons/brush.particle.puff.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.particle.smooth.dat b/release/datafiles/icons/brush.particle.smooth.dat
index 7deaa4ed082..ba4bd081f33 100644
--- a/release/datafiles/icons/brush.particle.smooth.dat
+++ b/release/datafiles/icons/brush.particle.smooth.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.boundary.dat b/release/datafiles/icons/brush.sculpt.boundary.dat
index 8d56baf2254..1b71d24d771 100644
--- a/release/datafiles/icons/brush.sculpt.boundary.dat
+++ b/release/datafiles/icons/brush.sculpt.boundary.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.cloth.dat b/release/datafiles/icons/brush.sculpt.cloth.dat
index 7e936167381..15ad0c7dc94 100644
--- a/release/datafiles/icons/brush.sculpt.cloth.dat
+++ b/release/datafiles/icons/brush.sculpt.cloth.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.displacement_eraser.dat b/release/datafiles/icons/brush.sculpt.displacement_eraser.dat
index e4637b9b12f..5c479fd59cb 100644
--- a/release/datafiles/icons/brush.sculpt.displacement_eraser.dat
+++ b/release/datafiles/icons/brush.sculpt.displacement_eraser.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.displacement_smear.dat b/release/datafiles/icons/brush.sculpt.displacement_smear.dat
index 9e4df45b2d2..ed84702cbd3 100644
--- a/release/datafiles/icons/brush.sculpt.displacement_smear.dat
+++ b/release/datafiles/icons/brush.sculpt.displacement_smear.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.draw_face_sets.dat b/release/datafiles/icons/brush.sculpt.draw_face_sets.dat
index a234aa7af2c..ade40de029d 100644
--- a/release/datafiles/icons/brush.sculpt.draw_face_sets.dat
+++ b/release/datafiles/icons/brush.sculpt.draw_face_sets.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.draw_sharp.dat b/release/datafiles/icons/brush.sculpt.draw_sharp.dat
index 9bea1b02894..cf606324b07 100644
--- a/release/datafiles/icons/brush.sculpt.draw_sharp.dat
+++ b/release/datafiles/icons/brush.sculpt.draw_sharp.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.elastic_deform.dat b/release/datafiles/icons/brush.sculpt.elastic_deform.dat
index 0b12d717d3a..db57ef2fac5 100644
--- a/release/datafiles/icons/brush.sculpt.elastic_deform.dat
+++ b/release/datafiles/icons/brush.sculpt.elastic_deform.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.fill.dat b/release/datafiles/icons/brush.sculpt.fill.dat
index b2898919bd4..08fe0711d33 100644
--- a/release/datafiles/icons/brush.sculpt.fill.dat
+++ b/release/datafiles/icons/brush.sculpt.fill.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.flatten.dat b/release/datafiles/icons/brush.sculpt.flatten.dat
index 25b5f0cf8a9..a4439d75eed 100644
--- a/release/datafiles/icons/brush.sculpt.flatten.dat
+++ b/release/datafiles/icons/brush.sculpt.flatten.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.grab.dat b/release/datafiles/icons/brush.sculpt.grab.dat
index 0b61977e792..819c9263b45 100644
--- a/release/datafiles/icons/brush.sculpt.grab.dat
+++ b/release/datafiles/icons/brush.sculpt.grab.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.layer.dat b/release/datafiles/icons/brush.sculpt.layer.dat
index 1031d95332a..337362185e0 100644
--- a/release/datafiles/icons/brush.sculpt.layer.dat
+++ b/release/datafiles/icons/brush.sculpt.layer.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.multiplane_scrape.dat b/release/datafiles/icons/brush.sculpt.multiplane_scrape.dat
index 6e17f520282..ea64b2d9e45 100644
--- a/release/datafiles/icons/brush.sculpt.multiplane_scrape.dat
+++ b/release/datafiles/icons/brush.sculpt.multiplane_scrape.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.nudge.dat b/release/datafiles/icons/brush.sculpt.nudge.dat
index e10157e9cd0..f5a93ede065 100644
--- a/release/datafiles/icons/brush.sculpt.nudge.dat
+++ b/release/datafiles/icons/brush.sculpt.nudge.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.pinch.dat b/release/datafiles/icons/brush.sculpt.pinch.dat
index abdb62dcfc8..7dbbdef3bcc 100644
--- a/release/datafiles/icons/brush.sculpt.pinch.dat
+++ b/release/datafiles/icons/brush.sculpt.pinch.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.pose.dat b/release/datafiles/icons/brush.sculpt.pose.dat
index 6183583ea27..6bd7764bf23 100644
--- a/release/datafiles/icons/brush.sculpt.pose.dat
+++ b/release/datafiles/icons/brush.sculpt.pose.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.rotate.dat b/release/datafiles/icons/brush.sculpt.rotate.dat
index 8d1723a8c71..b7b8f083bde 100644
--- a/release/datafiles/icons/brush.sculpt.rotate.dat
+++ b/release/datafiles/icons/brush.sculpt.rotate.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.scrape.dat b/release/datafiles/icons/brush.sculpt.scrape.dat
index 9b37a9876a1..afb5a46a3bd 100644
--- a/release/datafiles/icons/brush.sculpt.scrape.dat
+++ b/release/datafiles/icons/brush.sculpt.scrape.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.smooth.dat b/release/datafiles/icons/brush.sculpt.smooth.dat
index 36d8098ad26..c42049cb51a 100644
--- a/release/datafiles/icons/brush.sculpt.smooth.dat
+++ b/release/datafiles/icons/brush.sculpt.smooth.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.snake_hook.dat b/release/datafiles/icons/brush.sculpt.snake_hook.dat
index 20300c1d97c..ce47b7141cf 100644
--- a/release/datafiles/icons/brush.sculpt.snake_hook.dat
+++ b/release/datafiles/icons/brush.sculpt.snake_hook.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.thumb.dat b/release/datafiles/icons/brush.sculpt.thumb.dat
index 9da33eccd98..f54a141eca7 100644
--- a/release/datafiles/icons/brush.sculpt.thumb.dat
+++ b/release/datafiles/icons/brush.sculpt.thumb.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.topology.dat b/release/datafiles/icons/brush.sculpt.topology.dat
index 0d455dce556..ec3699a7c2d 100644
--- a/release/datafiles/icons/brush.sculpt.topology.dat
+++ b/release/datafiles/icons/brush.sculpt.topology.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.uv_sculpt.relax.dat b/release/datafiles/icons/brush.uv_sculpt.relax.dat
index 3a30ac72cb6..1df2828c669 100644
--- a/release/datafiles/icons/brush.uv_sculpt.relax.dat
+++ b/release/datafiles/icons/brush.uv_sculpt.relax.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.armature.bone.roll.dat b/release/datafiles/icons/ops.armature.bone.roll.dat
index bb5158c43c9..3945b2fdffd 100644
--- a/release/datafiles/icons/ops.armature.bone.roll.dat
+++ b/release/datafiles/icons/ops.armature.bone.roll.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curve.pen.dat b/release/datafiles/icons/ops.curve.pen.dat
index 1007f7ea604..8031fdd8606 100644
--- a/release/datafiles/icons/ops.curve.pen.dat
+++ b/release/datafiles/icons/ops.curve.pen.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curve.radius.dat b/release/datafiles/icons/ops.curve.radius.dat
index 1c887bc11e7..e7b7913fb22 100644
--- a/release/datafiles/icons/ops.curve.radius.dat
+++ b/release/datafiles/icons/ops.curve.radius.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curve.vertex_random.dat b/release/datafiles/icons/ops.curve.vertex_random.dat
index ced246f4eae..75f1973c7a3 100644
--- a/release/datafiles/icons/ops.curve.vertex_random.dat
+++ b/release/datafiles/icons/ops.curve.vertex_random.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curves.sculpt_comb.dat b/release/datafiles/icons/ops.curves.sculpt_comb.dat
index d6dd75a35d7..1cdbcbadcdc 100644
--- a/release/datafiles/icons/ops.curves.sculpt_comb.dat
+++ b/release/datafiles/icons/ops.curves.sculpt_comb.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curves.sculpt_cut.dat b/release/datafiles/icons/ops.curves.sculpt_cut.dat
index e7ef86e2fbc..0acc00660db 100644
--- a/release/datafiles/icons/ops.curves.sculpt_cut.dat
+++ b/release/datafiles/icons/ops.curves.sculpt_cut.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curves.sculpt_delete.dat b/release/datafiles/icons/ops.curves.sculpt_delete.dat
index 896d472e017..bd76aef9a81 100644
--- a/release/datafiles/icons/ops.curves.sculpt_delete.dat
+++ b/release/datafiles/icons/ops.curves.sculpt_delete.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curves.sculpt_pinch.dat b/release/datafiles/icons/ops.curves.sculpt_pinch.dat
new file mode 100644
index 00000000000..49f40efc931
--- /dev/null
+++ b/release/datafiles/icons/ops.curves.sculpt_pinch.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curves.sculpt_puff.dat b/release/datafiles/icons/ops.curves.sculpt_puff.dat
new file mode 100644
index 00000000000..72b4851cc89
--- /dev/null
+++ b/release/datafiles/icons/ops.curves.sculpt_puff.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.generic.select_box.dat b/release/datafiles/icons/ops.generic.select_box.dat
index da435ab3925..609c2f76927 100644
--- a/release/datafiles/icons/ops.generic.select_box.dat
+++ b/release/datafiles/icons/ops.generic.select_box.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.generic.select_circle.dat b/release/datafiles/icons/ops.generic.select_circle.dat
index 83e1deb119d..d9fcda69be1 100644
--- a/release/datafiles/icons/ops.generic.select_circle.dat
+++ b/release/datafiles/icons/ops.generic.select_circle.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.generic.select_lasso.dat b/release/datafiles/icons/ops.generic.select_lasso.dat
index 54994c48a3d..f8ec3d4d199 100644
--- a/release/datafiles/icons/ops.generic.select_lasso.dat
+++ b/release/datafiles/icons/ops.generic.select_lasso.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.generic.select_paint.dat b/release/datafiles/icons/ops.generic.select_paint.dat
new file mode 100644
index 00000000000..745cd073967
--- /dev/null
+++ b/release/datafiles/icons/ops.generic.select_paint.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.draw.eraser.dat b/release/datafiles/icons/ops.gpencil.draw.eraser.dat
index 44f65c4581d..d1be26fa43f 100644
--- a/release/datafiles/icons/ops.gpencil.draw.eraser.dat
+++ b/release/datafiles/icons/ops.gpencil.draw.eraser.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.edit_bend.dat b/release/datafiles/icons/ops.gpencil.edit_bend.dat
index 81fcb7cbf27..ebbddf6a455 100644
--- a/release/datafiles/icons/ops.gpencil.edit_bend.dat
+++ b/release/datafiles/icons/ops.gpencil.edit_bend.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.edit_shear.dat b/release/datafiles/icons/ops.gpencil.edit_shear.dat
index e591b102499..6f1f53d0ea0 100644
--- a/release/datafiles/icons/ops.gpencil.edit_shear.dat
+++ b/release/datafiles/icons/ops.gpencil.edit_shear.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.edit_to_sphere.dat b/release/datafiles/icons/ops.gpencil.edit_to_sphere.dat
index 485d0a80c79..32bbb64fdba 100644
--- a/release/datafiles/icons/ops.gpencil.edit_to_sphere.dat
+++ b/release/datafiles/icons/ops.gpencil.edit_to_sphere.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.radius.dat b/release/datafiles/icons/ops.gpencil.radius.dat
index 1c887bc11e7..e7b7913fb22 100644
--- a/release/datafiles/icons/ops.gpencil.radius.dat
+++ b/release/datafiles/icons/ops.gpencil.radius.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.stroke_cutter.dat b/release/datafiles/icons/ops.gpencil.stroke_cutter.dat
index 31a130a23f5..d69e61cf74f 100644
--- a/release/datafiles/icons/ops.gpencil.stroke_cutter.dat
+++ b/release/datafiles/icons/ops.gpencil.stroke_cutter.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.transform_fill.dat b/release/datafiles/icons/ops.gpencil.transform_fill.dat
index a364882d33f..8983a6c5eaf 100644
--- a/release/datafiles/icons/ops.gpencil.transform_fill.dat
+++ b/release/datafiles/icons/ops.gpencil.transform_fill.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.mesh.rip.dat b/release/datafiles/icons/ops.mesh.rip.dat
index fb1000c66aa..d55520ab18f 100644
--- a/release/datafiles/icons/ops.mesh.rip.dat
+++ b/release/datafiles/icons/ops.mesh.rip.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.mesh.rip_edge.dat b/release/datafiles/icons/ops.mesh.rip_edge.dat
index e8b494e07c9..d60b969c714 100644
--- a/release/datafiles/icons/ops.mesh.rip_edge.dat
+++ b/release/datafiles/icons/ops.mesh.rip_edge.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.mesh.vertices_smooth.dat b/release/datafiles/icons/ops.mesh.vertices_smooth.dat
index e460bbaeed8..aa1ea6d424e 100644
--- a/release/datafiles/icons/ops.mesh.vertices_smooth.dat
+++ b/release/datafiles/icons/ops.mesh.vertices_smooth.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.node.links_cut.dat b/release/datafiles/icons/ops.node.links_cut.dat
index dbe79cb9661..2ca6f360cfc 100644
--- a/release/datafiles/icons/ops.node.links_cut.dat
+++ b/release/datafiles/icons/ops.node.links_cut.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.pose.push.dat b/release/datafiles/icons/ops.pose.push.dat
index 9a56909dbac..58b838eb558 100644
--- a/release/datafiles/icons/ops.pose.push.dat
+++ b/release/datafiles/icons/ops.pose.push.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.pose.relax.dat b/release/datafiles/icons/ops.pose.relax.dat
index e9849dcb374..32430f479b7 100644
--- a/release/datafiles/icons/ops.pose.relax.dat
+++ b/release/datafiles/icons/ops.pose.relax.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.border_face_set.dat b/release/datafiles/icons/ops.sculpt.border_face_set.dat
index a34bcd461eb..55343c5ba8f 100644
--- a/release/datafiles/icons/ops.sculpt.border_face_set.dat
+++ b/release/datafiles/icons/ops.sculpt.border_face_set.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.box_trim.dat b/release/datafiles/icons/ops.sculpt.box_trim.dat
index 9a2e691a621..96e98b97785 100644
--- a/release/datafiles/icons/ops.sculpt.box_trim.dat
+++ b/release/datafiles/icons/ops.sculpt.box_trim.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.cloth_filter.dat b/release/datafiles/icons/ops.sculpt.cloth_filter.dat
index dc20c8f0bfd..2dd3b983368 100644
--- a/release/datafiles/icons/ops.sculpt.cloth_filter.dat
+++ b/release/datafiles/icons/ops.sculpt.cloth_filter.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.face_set_edit.dat b/release/datafiles/icons/ops.sculpt.face_set_edit.dat
index 2e5ec79ef8c..ad83305374a 100644
--- a/release/datafiles/icons/ops.sculpt.face_set_edit.dat
+++ b/release/datafiles/icons/ops.sculpt.face_set_edit.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.lasso_face_set.dat b/release/datafiles/icons/ops.sculpt.lasso_face_set.dat
index 55c044a2ed1..a4d32f56c99 100644
--- a/release/datafiles/icons/ops.sculpt.lasso_face_set.dat
+++ b/release/datafiles/icons/ops.sculpt.lasso_face_set.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.sculpt.lasso_trim.dat b/release/datafiles/icons/ops.sculpt.lasso_trim.dat
index e87cdb97fec..32e9c74e00b 100644
--- a/release/datafiles/icons/ops.sculpt.lasso_trim.dat
+++ b/release/datafiles/icons/ops.sculpt.lasso_trim.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.bone_envelope.dat b/release/datafiles/icons/ops.transform.bone_envelope.dat
index 2f684152e5f..26238814e9e 100644
--- a/release/datafiles/icons/ops.transform.bone_envelope.dat
+++ b/release/datafiles/icons/ops.transform.bone_envelope.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.bone_size.dat b/release/datafiles/icons/ops.transform.bone_size.dat
index d884056d76c..e00d14df608 100644
--- a/release/datafiles/icons/ops.transform.bone_size.dat
+++ b/release/datafiles/icons/ops.transform.bone_size.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.edge_slide.dat b/release/datafiles/icons/ops.transform.edge_slide.dat
index 7fb29564551..851b84915ef 100644
--- a/release/datafiles/icons/ops.transform.edge_slide.dat
+++ b/release/datafiles/icons/ops.transform.edge_slide.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.push_pull.dat b/release/datafiles/icons/ops.transform.push_pull.dat
index e9a74bfd6e2..51f01da16d2 100644
--- a/release/datafiles/icons/ops.transform.push_pull.dat
+++ b/release/datafiles/icons/ops.transform.push_pull.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.resize.cage.dat b/release/datafiles/icons/ops.transform.resize.cage.dat
index 8eabffad087..f4e94c7f804 100644
--- a/release/datafiles/icons/ops.transform.resize.cage.dat
+++ b/release/datafiles/icons/ops.transform.resize.cage.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.resize.dat b/release/datafiles/icons/ops.transform.resize.dat
index 9c26224da68..0d1b5f60e62 100644
--- a/release/datafiles/icons/ops.transform.resize.dat
+++ b/release/datafiles/icons/ops.transform.resize.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.rotate.dat b/release/datafiles/icons/ops.transform.rotate.dat
index f42bd25137e..0afb420aab7 100644
--- a/release/datafiles/icons/ops.transform.rotate.dat
+++ b/release/datafiles/icons/ops.transform.rotate.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.shear.dat b/release/datafiles/icons/ops.transform.shear.dat
index 92912e2cfb7..aeadc7e3701 100644
--- a/release/datafiles/icons/ops.transform.shear.dat
+++ b/release/datafiles/icons/ops.transform.shear.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.shrink_fatten.dat b/release/datafiles/icons/ops.transform.shrink_fatten.dat
index 8d1d4c130a4..5c683c94c96 100644
--- a/release/datafiles/icons/ops.transform.shrink_fatten.dat
+++ b/release/datafiles/icons/ops.transform.shrink_fatten.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.tilt.dat b/release/datafiles/icons/ops.transform.tilt.dat
index a0f1040e1cf..70316d37d81 100644
--- a/release/datafiles/icons/ops.transform.tilt.dat
+++ b/release/datafiles/icons/ops.transform.tilt.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.tosphere.dat b/release/datafiles/icons/ops.transform.tosphere.dat
index b55b4b1f283..5976ac5e224 100644
--- a/release/datafiles/icons/ops.transform.tosphere.dat
+++ b/release/datafiles/icons/ops.transform.tosphere.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.vert_slide.dat b/release/datafiles/icons/ops.transform.vert_slide.dat
index 26e8696e336..1f97030e99b 100644
--- a/release/datafiles/icons/ops.transform.vert_slide.dat
+++ b/release/datafiles/icons/ops.transform.vert_slide.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.transform.vertex_random.dat b/release/datafiles/icons/ops.transform.vertex_random.dat
index 876d0649dbd..b094f0658e9 100644
--- a/release/datafiles/icons/ops.transform.vertex_random.dat
+++ b/release/datafiles/icons/ops.transform.vertex_random.dat
Binary files differ
diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png
index 332ee39849e..eb1250cf5a5 100644
--- a/release/datafiles/splash.png
+++ b/release/datafiles/splash.png
Binary files differ