diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-01-28 17:16:15 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-01-28 17:16:15 +0300 |
commit | e58ef7db5b2d981557e6c06837306852571a8af0 (patch) | |
tree | 7b40f3f1576cd9900bdab9023bdbae6417c1a32a /release | |
parent | 9c4dbb592b20d01b00677d6588c20247b45064d3 (diff) | |
parent | 3c7d5ec829af1d35f4272b0e4b549d45699af43b (diff) |
Merge branch 'master' into eevee-dof-refactor
Diffstat (limited to 'release')
196 files changed, 918 insertions, 435 deletions
diff --git a/release/datafiles/blender_icons_update.py b/release/datafiles/blender_icons_update.py index ed96afd7ea6..8167b8b25e6 100755 --- a/release/datafiles/blender_icons_update.py +++ b/release/datafiles/blender_icons_update.py @@ -17,7 +17,7 @@ inkscape_bin = os.environ.get("INKSCAPE_BIN", "inkscape") blender_bin = os.environ.get("BLENDER_BIN", "blender") if sys.platform == 'darwin': - inkscape_app_path = '/Applications/Inkscape.app/Contents/Resources/script' + inkscape_app_path = '/Applications/Inkscape.app/Contents/MacOS/inkscape' if os.path.exists(inkscape_app_path): inkscape_bin = inkscape_app_path blender_app_path = '/Applications/Blender.app/Contents/MacOS/Blender' @@ -29,8 +29,8 @@ cmd = ( os.path.join(BASEDIR, "blender_icons.svg"), "--export-width=602", "--export-height=640", - "--without-gui", - "--export-png=" + os.path.join(BASEDIR, "blender_icons16.png"), + "--export-type=png", + "--export-filename=" + os.path.join(BASEDIR, "blender_icons16.png"), ) run(cmd) @@ -39,8 +39,8 @@ cmd = ( os.path.join(BASEDIR, "blender_icons.svg"), "--export-width=1204", "--export-height=1280", - "--without-gui", - "--export-png=" + os.path.join(BASEDIR, "blender_icons32.png"), + "--export-type=png", + "--export-filename=" + os.path.join(BASEDIR, "blender_icons32.png"), ) run(cmd) diff --git a/release/datafiles/icons/brush.sculpt.displacement_smear.dat b/release/datafiles/icons/brush.sculpt.displacement_smear.dat Binary files differnew file mode 100644 index 00000000000..5d422130ea3 --- /dev/null +++ b/release/datafiles/icons/brush.sculpt.displacement_smear.dat diff --git a/release/datafiles/icons/brush.sculpt.draw_sharp.dat b/release/datafiles/icons/brush.sculpt.draw_sharp.dat Binary files differindex 9bea1b02894..1877c0ae4d4 100644 --- a/release/datafiles/icons/brush.sculpt.draw_sharp.dat +++ b/release/datafiles/icons/brush.sculpt.draw_sharp.dat diff --git a/release/datafiles/icons/ops.generic.select.dat b/release/datafiles/icons/ops.generic.select.dat Binary files differindex 37a18a1ed79..1070d72d1e3 100644 --- a/release/datafiles/icons/ops.generic.select.dat +++ b/release/datafiles/icons/ops.generic.select.dat diff --git a/release/datafiles/icons/ops.generic.select_box.dat b/release/datafiles/icons/ops.generic.select_box.dat Binary files differindex e30586c2bb8..da435ab3925 100644 --- a/release/datafiles/icons/ops.generic.select_box.dat +++ b/release/datafiles/icons/ops.generic.select_box.dat diff --git a/release/datafiles/icons/ops.generic.select_circle.dat b/release/datafiles/icons/ops.generic.select_circle.dat Binary files differindex 9d33f73c75f..83e1deb119d 100644 --- a/release/datafiles/icons/ops.generic.select_circle.dat +++ b/release/datafiles/icons/ops.generic.select_circle.dat diff --git a/release/datafiles/icons/ops.generic.select_lasso.dat b/release/datafiles/icons/ops.generic.select_lasso.dat Binary files differindex e26168910df..54994c48a3d 100644 --- a/release/datafiles/icons/ops.generic.select_lasso.dat +++ b/release/datafiles/icons/ops.generic.select_lasso.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_cone_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_cone_add_gizmo.dat Binary files differindex b416a693283..62166a71f54 100644 --- a/release/datafiles/icons/ops.mesh.primitive_cone_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_cone_add_gizmo.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_cube_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_cube_add_gizmo.dat Binary files differindex 5df7d19817e..4d43734ce88 100644 --- a/release/datafiles/icons/ops.mesh.primitive_cube_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_cube_add_gizmo.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_cylinder_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_cylinder_add_gizmo.dat Binary files differindex 5033ac2d477..219e5fc4ead 100644 --- a/release/datafiles/icons/ops.mesh.primitive_cylinder_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_cylinder_add_gizmo.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_grid_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_grid_add_gizmo.dat Binary files differindex da83e7d9553..7d45bca4ba6 100644 --- a/release/datafiles/icons/ops.mesh.primitive_grid_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_grid_add_gizmo.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_sphere_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_sphere_add_gizmo.dat Binary files differindex 16d1a7346f2..b10e6ca35b2 100644 --- a/release/datafiles/icons/ops.mesh.primitive_sphere_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_sphere_add_gizmo.dat diff --git a/release/datafiles/icons/ops.mesh.primitive_torus_add_gizmo.dat b/release/datafiles/icons/ops.mesh.primitive_torus_add_gizmo.dat Binary files differindex 7323e6f4c30..d29ded9d930 100644 --- a/release/datafiles/icons/ops.mesh.primitive_torus_add_gizmo.dat +++ b/release/datafiles/icons/ops.mesh.primitive_torus_add_gizmo.dat diff --git a/release/datafiles/prvicons_update.py b/release/datafiles/prvicons_update.py index 85e92e9e564..fa526f88e96 100755 --- a/release/datafiles/prvicons_update.py +++ b/release/datafiles/prvicons_update.py @@ -10,7 +10,7 @@ BASEDIR = os.path.abspath(os.path.dirname(__file__)) inkscape_path = 'inkscape' if sys.platform == 'darwin': - inkscape_app_path = '/Applications/Inkscape.app/Contents/Resources/script' + inkscape_app_path = '/Applications/Inkscape.app/Contents/MacOS/inkscape' if os.path.exists(inkscape_app_path): inkscape_path = inkscape_app_path @@ -19,7 +19,7 @@ cmd = ( os.path.join(BASEDIR, "prvicons.svg"), "--export-width=1792", "--export-height=256", - "--without-gui", - "--export-png=" + os.path.join(BASEDIR, "prvicons.png"), + "--export-type=png", + "--export-filename=" + os.path.join(BASEDIR, "prvicons.png"), ) subprocess.check_call(cmd) diff --git a/release/datafiles/userdef/userdef_default.c b/release/datafiles/userdef/userdef_default.c index b448a230da8..2265e70df39 100644 --- a/release/datafiles/userdef/userdef_default.c +++ b/release/datafiles/userdef/userdef_default.c @@ -119,6 +119,7 @@ const UserDef U_default = { .gizmo_flag = USER_GIZMO_DRAW, .gizmo_size = 75, + .gizmo_size_navigate_v3d = 80, .edit_studio_light = 0, .lookdev_sphere_size = 150, .vbotimeout = 120, diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 53e8cd38d02..191758277ed 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -836,7 +836,7 @@ const bTheme U_theme_default = { .nodeclass_filter = RGBA(0x584d80ff), .nodeclass_vector = RGBA(0x9b80ffff), .nodeclass_texture = RGBA(0xe68745ff), - .nodeclass_shader = RGBA(0xea7581ff), + .nodeclass_shader = RGBA(0x63c763ff), .nodeclass_script = RGBA(0x084d4dff), .nodeclass_pattern = RGBA(0x6c696fff), .nodeclass_layout = RGBA(0x6c696fff), diff --git a/release/scripts/modules/bl_keymap_utils/io.py b/release/scripts/modules/bl_keymap_utils/io.py index 645a145f994..7adcd799c0f 100644 --- a/release/scripts/modules/bl_keymap_utils/io.py +++ b/release/scripts/modules/bl_keymap_utils/io.py @@ -74,9 +74,11 @@ def kmi_args_as_data(kmi): s.append(f"\"key_modifier\": '{kmi.key_modifier}'") if kmi.repeat: - if kmi.map_type == 'KEYBOARD': - if kmi.value in {'PRESS', 'ANY'}: - s.append("\"repeat\": True") + if ( + (kmi.map_type == 'KEYBOARD' and kmi.value in {'PRESS', 'ANY'}) or + (kmi.map_type == 'TEXTINPUT') + ): + s.append("\"repeat\": True") return "{" + ", ".join(s) + "}" diff --git a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py index ebc5370a7af..ef398d5e08f 100644 --- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py +++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py @@ -74,8 +74,6 @@ def generate(context, space_type, use_fallback_keys=True, use_reset=True): if tap_reset_tool not in items_all_id: use_tap_reset = False - from bl_operators.wm import use_toolbar_release_hack - # Pie-menu style release to activate. use_release_confirm = use_reset @@ -437,7 +435,7 @@ def generate(context, space_type, use_fallback_keys=True, use_reset=True): kmi = keymap.keymap_items.new( "wm.tool_set_by_id", - value='PRESS' if use_toolbar_release_hack else 'DOUBLE_CLICK', + value='DOUBLE_CLICK', **kmi_toolbar_args_available, ) kmi.properties.name = tap_reset_tool @@ -451,15 +449,6 @@ def generate(context, space_type, use_fallback_keys=True, use_reset=True): ) kmi.properties.skip_depressed = True - if use_toolbar_release_hack: - # ... or pass through to let the toolbar know we're released. - # Let the operator know we're released. - kmi = keymap.keymap_items.new( - "wm.tool_set_by_id", - type=kmi_toolbar_type, - value='RELEASE', - any=True, - ) wm.keyconfigs.update() return keymap diff --git a/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py b/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py index f92a478fb66..b5127784c1e 100644 --- a/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py +++ b/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py @@ -118,6 +118,7 @@ _km_hierarchy = [ ('Object Non-modal', 'EMPTY', 'WINDOW', []), # mode change + ('View3D Placement Modal', 'EMPTY', 'WINDOW', []), ('View3D Walk Modal', 'EMPTY', 'WINDOW', []), ('View3D Fly Modal', 'EMPTY', 'WINDOW', []), ('View3D Rotate Modal', 'EMPTY', 'WINDOW', []), diff --git a/release/scripts/modules/bpy_extras/node_shader_utils.py b/release/scripts/modules/bpy_extras/node_shader_utils.py index 161560f7f05..54124fd4ca6 100644 --- a/release/scripts/modules/bpy_extras/node_shader_utils.py +++ b/release/scripts/modules/bpy_extras/node_shader_utils.py @@ -702,7 +702,7 @@ class ShaderImageTextureWrapper(): image = image.copy() image.colorspace_settings.is_data = self.colorspace_is_data if self.colorspace_name is not ...: - if image.colorspace_settings.is_data != self.colorspace_is_data and image.users >= 1: + if image.colorspace_settings.name != self.colorspace_name and image.users >= 1: image = image.copy() image.colorspace_settings.name = self.colorspace_name if self.use_alpha: diff --git a/release/scripts/modules/rna_manual_reference.py b/release/scripts/modules/rna_manual_reference.py index 56b92eb452f..3f5b31f8cfd 100644 --- a/release/scripts/modules/rna_manual_reference.py +++ b/release/scripts/modules/rna_manual_reference.py @@ -108,6 +108,7 @@ url_manual_mapping = ( ("bpy.types.brush.surface_smooth_shape_preservation*", "sculpt_paint/sculpting/tools/smooth.html#bpy-types-brush-surface-smooth-shape-preservation"), ("bpy.types.brush.use_cloth_pin_simulation_boundary*", "sculpt_paint/sculpting/tools/cloth.html#bpy-types-brush-use-cloth-pin-simulation-boundary"), ("bpy.types.brushgpencilsettings.show_fill_boundary*", "grease_pencil/modes/draw/tools/fill.html#bpy-types-brushgpencilsettings-show-fill-boundary"), + ("bpy.types.brushgpencilsettings.use_default_eraser*", "grease_pencil/modes/draw/tools/erase.html#bpy-types-brushgpencilsettings-use-default-eraser"), ("bpy.types.cyclesrendersettings.camera_cull_margin*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-camera-cull-margin"), ("bpy.types.fluiddomainsettings.export_manta_script*", "physics/fluid/type/domain/cache.html#bpy-types-fluiddomainsettings-export-manta-script"), ("bpy.types.fluiddomainsettings.fractions_threshold*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-fractions-threshold"), @@ -122,9 +123,13 @@ url_manual_mapping = ( ("bpy.types.materialgpencilstyle.use_stroke_holdout*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-use-stroke-holdout"), ("bpy.types.movietrackingsettings.use_tripod_solver*", "movie_clip/tracking/clip/toolbar/solve.html#bpy-types-movietrackingsettings-use-tripod-solver"), ("bpy.types.rendersettings.use_high_quality_normals*", "render/eevee/render_settings/performance.html#bpy-types-rendersettings-use-high-quality-normals"), + ("bpy.types.spaceoutliner.use_filter_case_sensitive*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-case-sensitive"), + ("bpy.types.spaceoutliner.use_filter_object_content*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object-content"), ("bpy.types.toolsettings.use_proportional_connected*", "editors/3dview/controls/proportional_editing.html#bpy-types-toolsettings-use-proportional-connected"), ("bpy.types.toolsettings.use_proportional_projected*", "editors/3dview/controls/proportional_editing.html#bpy-types-toolsettings-use-proportional-projected"), ("bpy.types.view3doverlay.vertex_paint_mode_opacity*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-vertex-paint-mode-opacity"), + ("bpy.types.viewlayer.use_pass_cryptomatte_accurate*", "render/layers/passes.html#bpy-types-viewlayer-use-pass-cryptomatte-accurate"), + ("bpy.types.viewlayer.use_pass_cryptomatte_material*", "render/layers/passes.html#bpy-types-viewlayer-use-pass-cryptomatte-material"), ("bpy.ops.view3d.edit_mesh_extrude_individual_move*", "modeling/meshes/editing/face/extrude_faces.html#bpy-ops-view3d-edit-mesh-extrude-individual-move"), ("bpy.ops.view3d.edit_mesh_extrude_manifold_normal*", "modeling/meshes/tools/extrude_manifold.html#bpy-ops-view3d-edit-mesh-extrude-manifold-normal"), ("bpy.types.cyclesrendersettings.use_distance_cull*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-use-distance-cull"), @@ -147,13 +152,14 @@ url_manual_mapping = ( ("bpy.types.rendersettings_simplify_gpencil_onplay*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-onplay"), ("bpy.types.rigidbodyconstraint.breaking_threshold*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-breaking-threshold"), ("bpy.types.spacedopesheeteditor.show_pose_markers*", "animation/markers.html#bpy-types-spacedopesheeteditor-show-pose-markers"), + ("bpy.types.spaceoutliner.use_filter_object_camera*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object-camera"), ("bpy.types.toolsettings.proportional_edit_falloff*", "editors/3dview/controls/proportional_editing.html#bpy-types-toolsettings-proportional-edit-falloff"), ("bpy.types.toolsettings.use_edge_path_live_unwrap*", "modeling/meshes/tools/tool_settings.html#bpy-types-toolsettings-use-edge-path-live-unwrap"), ("bpy.types.toolsettings.use_gpencil_draw_additive*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-additive"), ("bpy.types.toolsettings.use_snap_backface_culling*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-backface-culling"), ("bpy.types.toolsettings.use_transform_data_origin*", "scene_layout/object/tools/tool_settings.html#bpy-types-toolsettings-use-transform-data-origin"), ("bpy.types.view3doverlay.sculpt_mode_mask_opacity*", "sculpt_paint/sculpting/editing/mask.html#bpy-types-view3doverlay-sculpt-mode-mask-opacity"), - ("bpy.ops.outliner.collection_indirect_only_clear*", "render/layers/layers.html#bpy-ops-outliner-collection-indirect-only-clear"), + ("bpy.ops.outliner.collection_indirect_only_clear*", "render/layers/introduction.html#bpy-ops-outliner-collection-indirect-only-clear"), ("bpy.types.cyclesrendersettings.max_subdivisions*", "render/cycles/render_settings/subdivision.html#bpy-types-cyclesrendersettings-max-subdivisions"), ("bpy.types.fluiddomainsettings.cache_data_format*", "physics/fluid/type/domain/cache.html#bpy-types-fluiddomainsettings-cache-data-format"), ("bpy.types.fluiddomainsettings.cache_frame_start*", "physics/fluid/type/domain/cache.html#bpy-types-fluiddomainsettings-cache-frame-start"), @@ -175,7 +181,10 @@ url_manual_mapping = ( ("bpy.types.materialgpencilstyle.use_fill_holdout*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-use-fill-holdout"), ("bpy.types.particlesettings.use_parent_particles*", "physics/particles/emitter/render.html#bpy-types-particlesettings-use-parent-particles"), ("bpy.types.rigidbodyconstraint.solver_iterations*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-solver-iterations"), + ("bpy.types.spaceoutliner.use_filter_object_empty*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object-empty"), + ("bpy.types.spaceoutliner.use_filter_object_light*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object-light"), ("bpy.types.toolsettings.gpencil_stroke_placement*", "grease_pencil/modes/draw/stroke_placement.html#bpy-types-toolsettings-gpencil-stroke-placement"), + ("bpy.types.viewlayer.use_pass_cryptomatte_object*", "render/layers/passes.html#bpy-types-viewlayer-use-pass-cryptomatte-object"), ("bpy.ops.armature.rigify_apply_selection_colors*", "addons/rigging/rigify/metarigs.html#bpy-ops-armature-rigify-apply-selection-colors"), ("bpy.types.brushgpencilsettings.fill_layer_mode*", "grease_pencil/modes/draw/tools/fill.html#bpy-types-brushgpencilsettings-fill-layer-mode"), ("bpy.types.cyclesrendersettings.use_camera_cull*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-use-camera-cull"), @@ -186,9 +195,11 @@ url_manual_mapping = ( ("bpy.types.movietrackingcamera.distortion_model*", "movie_clip/tracking/clip/sidebar/track/camera.html#bpy-types-movietrackingcamera-distortion-model"), ("bpy.types.rendersettings.resolution_percentage*", "render/output/properties/dimensions.html#bpy-types-rendersettings-resolution-percentage"), ("bpy.types.rendersettings_simplify_gpencil_tint*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-tint"), + ("bpy.types.spaceoutliner.use_filter_object_mesh*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object-mesh"), ("bpy.types.toolsettings.use_gpencil_draw_onback*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-onback"), ("bpy.types.toolsettings.use_snap_align_rotation*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-align-rotation"), - ("bpy.ops.outliner.collection_indirect_only_set*", "render/layers/layers.html#bpy-ops-outliner-collection-indirect-only-set"), + ("bpy.types.viewlayer.use_pass_cryptomatte_asset*", "render/layers/passes.html#bpy-types-viewlayer-use-pass-cryptomatte-asset"), + ("bpy.ops.outliner.collection_indirect_only_set*", "render/layers/introduction.html#bpy-ops-outliner-collection-indirect-only-set"), ("bpy.ops.sequencer.deinterlace_selected_movies*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-deinterlace-selected-movies"), ("bpy.types.brush.surface_smooth_current_vertex*", "sculpt_paint/sculpting/tools/smooth.html#bpy-types-brush-surface-smooth-current-vertex"), ("bpy.types.brush.use_multiplane_scrape_dynamic*", "sculpt_paint/sculpting/tools/multiplane_scrape.html#bpy-types-brush-use-multiplane-scrape-dynamic"), @@ -212,11 +223,14 @@ url_manual_mapping = ( ("bpy.types.fluidflowsettings.use_particle_size*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-use-particle-size"), ("bpy.types.linestylegeometrymodifier_blueprint*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/blueprint.html#bpy-types-linestylegeometrymodifier-blueprint"), ("bpy.types.materialgpencilstyle.alignment_mode*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-alignment-mode"), + ("bpy.types.particlesettings.use_modifier_stack*", "physics/particles/emitter/emission.html#bpy-types-particlesettings-use-modifier-stack"), ("bpy.types.rendersettings.simplify_subdivision*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-subdivision"), + ("bpy.types.spaceoutliner.use_filter_collection*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-collection"), ("bpy.types.spacesequenceeditor.show_region_hud*", "video_editing/sequencer/navigating.html#bpy-types-spacesequenceeditor-show-region-hud"), ("bpy.types.toolsettings.use_snap_grid_absolute*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-grid-absolute"), ("bpy.types.view3doverlay.show_face_orientation*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-show-face-orientation"), ("bpy.ops.object.blenderkit_material_thumbnail*", "addons/3d_view/blenderkit.html#bpy-ops-object-blenderkit-material-thumbnail"), + ("bpy.ops.object.multires_higher_levels_delete*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-higher-levels-delete"), ("bpy.ops.object.vertex_group_copy_to_selected*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-copy-to-selected"), ("bpy.ops.outliner.collection_duplicate_linked*", "editors/outliner/editing.html#bpy-ops-outliner-collection-duplicate-linked"), ("bpy.ops.view3d.edit_mesh_extrude_move_normal*", "modeling/meshes/editing/face/extrude_faces.html#bpy-ops-view3d-edit-mesh-extrude-move-normal"), @@ -241,6 +255,7 @@ url_manual_mapping = ( ("bpy.types.gpencilsculptguide.reference_point*", "grease_pencil/modes/draw/guides.html#bpy-types-gpencilsculptguide-reference-point"), ("bpy.types.linestylegeometrymodifier_2doffset*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/2d_offset.html#bpy-types-linestylegeometrymodifier-2doffset"), ("bpy.types.linestylegeometrymodifier_sampling*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/sampling.html#bpy-types-linestylegeometrymodifier-sampling"), + ("bpy.types.spaceoutliner.show_restrict_column*", "editors/outliner/interface.html#bpy-types-spaceoutliner-show-restrict-column"), ("bpy.types.toolsettings.transform_pivot_point*", "editors/3dview/controls/pivot_point/index.html#bpy-types-toolsettings-transform-pivot-point"), ("bpy.types.toolsettings.use_proportional_edit*", "editors/3dview/controls/proportional_editing.html#bpy-types-toolsettings-use-proportional-edit"), ("bpy.types.volumedisplay.interpolation_method*", "modeling/volumes/properties.html#bpy-types-volumedisplay-interpolation-method"), @@ -257,10 +272,14 @@ url_manual_mapping = ( ("bpy.types.fluidflowsettings.particle_system*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-particle-system"), ("bpy.types.fluidflowsettings.velocity_factor*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-velocity-factor"), ("bpy.types.fluidflowsettings.velocity_normal*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-velocity-normal"), + ("bpy.types.geometrynodealignrotationtovector*", "modeling/geometry_nodes/point/align_rotation_to_vector.html#bpy-types-geometrynodealignrotationtovector"), ("bpy.types.materialgpencilstyle.stroke_style*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-stroke-style"), ("bpy.types.rendersettings.use_crop_to_border*", "render/output/properties/dimensions.html#bpy-types-rendersettings-use-crop-to-border"), ("bpy.types.rendersettings.use_file_extension*", "render/output/properties/output.html#bpy-types-rendersettings-use-file-extension"), ("bpy.types.sculpt.constant_detail_resolution*", "sculpt_paint/sculpting/tool_settings/dyntopo.html#bpy-types-sculpt-constant-detail-resolution"), + ("bpy.types.spaceclipeditor.annotation_source*", "movie_clip/tracking/clip/sidebar/annotation.html#bpy-types-spaceclipeditor-annotation-source"), + ("bpy.types.spaceoutliner.use_filter_children*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-children"), + ("bpy.types.spaceoutliner.use_filter_complete*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-complete"), ("bpy.types.spaceview3d.transform_orientation*", "editors/3dview/controls/orientation.html#bpy-types-spaceview3d-transform-orientation"), ("bpy.types.spaceview3d.use_local_collections*", "editors/3dview/sidebar.html#bpy-types-spaceview3d-use-local-collections"), ("bpy.types.toolsettings.use_snap_peel_object*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-peel-object"), @@ -296,12 +315,13 @@ url_manual_mapping = ( ("bpy.types.spaceuveditor.sticky_select_mode*", "editors/uv/selecting.html#bpy-types-spaceuveditor-sticky-select-mode"), ("bpy.types.spaceview3d.show_object_viewport*", "editors/3dview/display/visibility.html#bpy-types-spaceview3d-show-object-viewport"), ("bpy.types.view3doverlay.show_fade_inactive*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-show-fade-inactive"), + ("bpy.types.viewlayer.pass_cryptomatte_depth*", "render/layers/passes.html#bpy-types-viewlayer-pass-cryptomatte-depth"), ("bpy.ops.constraint.disable_keep_transform*", "animation/constraints/interface/common.html#bpy-ops-constraint-disable-keep-transform"), ("bpy.ops.object.vertex_group_normalize_all*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-normalize-all"), ("bpy.ops.outliner.collection_color_tag_set*", "editors/outliner/editing.html#bpy-ops-outliner-collection-color-tag-set"), ("bpy.ops.outliner.collection_enable_render*", "editors/outliner/editing.html#bpy-ops-outliner-collection-enable-render"), ("bpy.ops.outliner.collection_exclude_clear*", "editors/outliner/editing.html#bpy-ops-outliner-collection-exclude-clear"), - ("bpy.ops.outliner.collection_holdout_clear*", "render/layers/layers.html#bpy-ops-outliner-collection-holdout-clear"), + ("bpy.ops.outliner.collection_holdout_clear*", "render/layers/introduction.html#bpy-ops-outliner-collection-holdout-clear"), ("bpy.ops.sculpt.face_set_change_visibility*", "sculpt_paint/sculpting/editing/face_sets.html#bpy-ops-sculpt-face-set-change-visibility"), ("bpy.ops.sculpt.face_sets_randomize_colors*", "sculpt_paint/sculpting/editing/face_sets.html#bpy-ops-sculpt-face-sets-randomize-colors"), ("bpy.types.brush.disconnected_distance_max*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-disconnected-distance-max"), @@ -316,6 +336,7 @@ url_manual_mapping = ( ("bpy.types.fluideffectorsettings.subframes*", "physics/fluid/type/effector.html#bpy-types-fluideffectorsettings-subframes"), ("bpy.types.fluidflowsettings.flow_behavior*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-flow-behavior"), ("bpy.types.fluidflowsettings.noise_texture*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-noise-texture"), + ("bpy.types.geometrynodeattributevectormath*", "modeling/geometry_nodes/attribute/attribute_vector_math.html#bpy-types-geometrynodeattributevectormath"), ("bpy.types.gpencillayer.use_onion_skinning*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-use-onion-skinning"), ("bpy.types.gpencilsculptguide.use_snapping*", "grease_pencil/modes/draw/guides.html#bpy-types-gpencilsculptguide-use-snapping"), ("bpy.types.gpencilsculptsettings.lock_axis*", "grease_pencil/modes/draw/drawing_planes.html#bpy-types-gpencilsculptsettings-lock-axis"), @@ -328,19 +349,23 @@ url_manual_mapping = ( ("bpy.types.rendersettings.dither_intensity*", "render/output/properties/post_processing.html#bpy-types-rendersettings-dither-intensity"), ("bpy.types.rendersettings.simplify_volumes*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-volumes"), ("bpy.types.rendersettings.use_render_cache*", "render/output/properties/output.html#bpy-types-rendersettings-use-render-cache"), + ("bpy.types.rendersettings.use_single_layer*", "render/layers/view_layer.html#bpy-types-rendersettings-use-single-layer"), ("bpy.types.rendersettings_simplify_gpencil*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil"), ("bpy.types.sceneeevee.use_taa_reprojection*", "render/eevee/render_settings/sampling.html#bpy-types-sceneeevee-use-taa-reprojection"), ("bpy.types.sequenceeditor.use_overlay_lock*", "video_editing/preview/sidebar.html#bpy-types-sequenceeditor-use-overlay-lock"), + ("bpy.types.spaceoutliner.use_filter_object*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-filter-object"), ("bpy.types.spaceuveditor.show_pixel_coords*", "editors/uv/sidebar.html#bpy-types-spaceuveditor-show-pixel-coords"), ("bpy.types.spaceview3d.show_reconstruction*", "editors/3dview/display/overlays.html#bpy-types-spaceview3d-show-reconstruction"), ("bpy.types.toolsettings.gpencil_selectmode*", "grease_pencil/selecting.html#bpy-types-toolsettings-gpencil-selectmode"), ("bpy.types.toolsettings.use_auto_normalize*", "sculpt_paint/weight_paint/tool_settings/options.html#bpy-types-toolsettings-use-auto-normalize"), ("bpy.types.toolsettings.use_snap_translate*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-translate"), ("bpy.types.toolsettings.use_uv_select_sync*", "editors/uv/selecting.html#bpy-types-toolsettings-use-uv-select-sync"), + ("bpy.types.view3doverlay.wireframe_opacity*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-wireframe-opacity"), ("bpy.ops.gpencil.active_frames_delete_all*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-active-frames-delete-all"), ("bpy.ops.gpencil.stroke_merge_by_distance*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-merge-by-distance"), ("bpy.ops.object.anim_transforms_to_deltas*", "scene_layout/object/editing/apply.html#bpy-ops-object-anim-transforms-to-deltas"), ("bpy.ops.object.convert_proxy_to_override*", "files/linked_libraries/library_overrides.html#bpy-ops-object-convert-proxy-to-override"), + ("bpy.ops.object.modifier_copy_to_selected*", "modeling/modifiers/introduction.html#bpy-ops-object-modifier-copy-to-selected"), ("bpy.ops.preferences.app_template_install*", "advanced/app_templates.html#bpy-ops-preferences-app-template-install"), ("bpy.types.actionposemarkers.active_index*", "animation/armatures/properties/pose_library.html#bpy-types-actionposemarkers-active-index"), ("bpy.types.brush.cloth_force_falloff_type*", "sculpt_paint/sculpting/tools/cloth.html#bpy-types-brush-cloth-force-falloff-type"), @@ -359,8 +384,9 @@ url_manual_mapping = ( ("bpy.types.fluiddomainsettings.time_scale*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-time-scale"), ("bpy.types.fluidflowsettings.texture_size*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-texture-size"), ("bpy.types.fluidflowsettings.use_absolute*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-use-absolute"), - ("bpy.types.geometrynodeattributerandomize*", "modeling/modifiers/nodes/attribute/attribute_randomize.html#bpy-types-geometrynodeattributerandomize"), - ("bpy.types.geometrynodesubdivisionsurface*", "modeling/modifiers/nodes/mesh/subdivision_surface.html#bpy-types-geometrynodesubdivisionsurface"), + ("bpy.types.geometrynodeattributecolorramp*", "modeling/geometry_nodes/attribute/attribute_color_ramp.html#bpy-types-geometrynodeattributecolorramp"), + ("bpy.types.geometrynodeattributerandomize*", "modeling/geometry_nodes/attribute/attribute_randomize.html#bpy-types-geometrynodeattributerandomize"), + ("bpy.types.geometrynodesubdivisionsurface*", "modeling/geometry_nodes/mesh/subdivision_surface.html#bpy-types-geometrynodesubdivisionsurface"), ("bpy.types.imageformatsettings.color_mode*", "render/output/properties/output.html#bpy-types-imageformatsettings-color-mode"), ("bpy.types.linestyle*modifier_alongstroke*", "render/freestyle/parameter_editor/line_style/modifiers/color/along_stroke.html#bpy-types-linestyle-modifier-alongstroke"), ("bpy.types.linestyle*modifier_creaseangle*", "render/freestyle/parameter_editor/line_style/modifiers/color/crease_angle.html#bpy-types-linestyle-modifier-creaseangle"), @@ -375,6 +401,7 @@ url_manual_mapping = ( ("bpy.types.rendersettings.use_placeholder*", "render/output/properties/output.html#bpy-types-rendersettings-use-placeholder"), ("bpy.types.shadernodesubsurfacescattering*", "render/shader_nodes/shader/sss.html#bpy-types-shadernodesubsurfacescattering"), ("bpy.types.spacedopesheeteditor.auto_snap*", "editors/dope_sheet/editing.html#bpy-types-spacedopesheeteditor-auto-snap"), + ("bpy.types.spaceoutliner.show_mode_column*", "editors/outliner/interface.html#bpy-types-spaceoutliner-show-mode-column"), ("bpy.types.spacetexteditor.use_match_case*", "editors/text_editor.html#bpy-types-spacetexteditor-use-match-case"), ("bpy.types.spaceview3d.show_object_select*", "editors/3dview/display/visibility.html#bpy-types-spaceview3d-show-object-select"), ("bpy.types.toolsettings.use_lock_relative*", "sculpt_paint/weight_paint/tool_settings/options.html#bpy-types-toolsettings-use-lock-relative"), @@ -386,9 +413,10 @@ url_manual_mapping = ( ("bpy.ops.object.vertex_group_remove_from*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-remove-from"), ("bpy.ops.outliner.collection_exclude_set*", "editors/outliner/editing.html#bpy-ops-outliner-collection-exclude-set"), ("bpy.ops.outliner.collection_hide_inside*", "editors/outliner/editing.html#bpy-ops-outliner-collection-hide-inside"), - ("bpy.ops.outliner.collection_holdout_set*", "render/layers/layers.html#bpy-ops-outliner-collection-holdout-set"), + ("bpy.ops.outliner.collection_holdout_set*", "render/layers/introduction.html#bpy-ops-outliner-collection-holdout-set"), ("bpy.ops.outliner.collection_show_inside*", "editors/outliner/editing.html#bpy-ops-outliner-collection-show-inside"), ("bpy.ops.preferences.reset_default_theme*", "editors/preferences/themes.html#bpy-ops-preferences-reset-default-theme"), + ("bpy.ops.sequencer.strip_transform_clear*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-strip-transform-clear"), ("bpy.types.animdata.action_extrapolation*", "editors/nla/sidebar.html#bpy-types-animdata-action-extrapolation"), ("bpy.types.brush.multiplane_scrape_angle*", "sculpt_paint/sculpting/tools/multiplane_scrape.html#bpy-types-brush-multiplane-scrape-angle"), ("bpy.types.clothsettings.internal_spring*", "physics/cloth/settings/physical_properties.html#bpy-types-clothsettings-internal-spring"), @@ -414,6 +442,8 @@ url_manual_mapping = ( ("bpy.types.rendersettings.pixel_aspect_y*", "render/output/properties/dimensions.html#bpy-types-rendersettings-pixel-aspect-y"), ("bpy.types.rigidbodyconstraint.use_limit*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-use-limit"), ("bpy.types.sceneeevee.taa_render_samples*", "render/eevee/render_settings/sampling.html#bpy-types-sceneeevee-taa-render-samples"), + ("bpy.types.spaceoutliner.use_sync_select*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-sync-select"), + ("bpy.types.spaceproperties.outliner_sync*", "editors/properties_editor.html#bpy-types-spaceproperties-outliner-sync"), ("bpy.types.spaceproperties.search_filter*", "editors/properties_editor.html#bpy-types-spaceproperties-search-filter"), ("bpy.types.spacetexteditor.margin_column*", "editors/text_editor.html#bpy-types-spacetexteditor-margin-column"), ("bpy.types.spacetexteditor.use_find_wrap*", "editors/text_editor.html#bpy-types-spacetexteditor-use-find-wrap"), @@ -425,17 +455,20 @@ url_manual_mapping = ( ("bpy.types.vertexweightproximitymodifier*", "modeling/modifiers/modify/weight_proximity.html#bpy-types-vertexweightproximitymodifier"), ("bpy.types.view3doverlay.show_wireframes*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay-show-wireframes"), ("bpy.ops.mesh.vertices_smooth_laplacian*", "modeling/meshes/editing/vertex/laplacian_smooth.html#bpy-ops-mesh-vertices-smooth-laplacian"), + ("bpy.ops.object.multires_rebuild_subdiv*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-rebuild-subdiv"), + ("bpy.ops.sequencer.select_side_of_frame*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-side-of-frame"), ("bpy.ops.view3d.blenderkit_set_category*", "addons/3d_view/blenderkit.html#bpy-ops-view3d-blenderkit-set-category"), ("bpy.types.armature.rigify_colors_index*", "addons/rigging/rigify/metarigs.html#bpy-types-armature-rigify-colors-index"), ("bpy.types.armature.rigify_theme_to_add*", "addons/rigging/rigify/metarigs.html#bpy-types-armature-rigify-theme-to-add"), ("bpy.types.brush.pose_smooth_iterations*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-pose-smooth-iterations"), + ("bpy.types.brush.snake_hook_deform_type*", "sculpt_paint/sculpting/tools/snake_hook.html#bpy-types-brush-snake-hook-deform-type"), ("bpy.types.brush.use_grab_active_vertex*", "sculpt_paint/sculpting/tools/grab.html#bpy-types-brush-use-grab-active-vertex"), ("bpy.types.brush.use_pose_lock_rotation*", "sculpt_paint/sculpting/tools/pose.html#bpy-types-brush-use-pose-lock-rotation"), ("bpy.types.compositornodebrightcontrast*", "compositing/types/color/bright_contrast.html#bpy-types-compositornodebrightcontrast"), ("bpy.types.compositornodedoubleedgemask*", "compositing/types/matte/double_edge_mask.html#bpy-types-compositornodedoubleedgemask"), ("bpy.types.fluiddomainsettings.clipping*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-clipping"), ("bpy.types.fluiddomainsettings.use_mesh*", "physics/fluid/type/domain/liquid/mesh.html#bpy-types-fluiddomainsettings-use-mesh"), - ("bpy.types.geometrynodeattributecompare*", "modeling/modifiers/nodes/attribute/attribute_compare.html#bpy-types-geometrynodeattributecompare"), + ("bpy.types.geometrynodeattributecompare*", "modeling/geometry_nodes/attribute/attribute_compare.html#bpy-types-geometrynodeattributecompare"), ("bpy.types.material.preview_render_type*", "render/materials/preview.html#bpy-types-material-preview-render-type"), ("bpy.types.materialgpencilstyle.pattern*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-pattern"), ("bpy.types.materialgpencilstyle.texture*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-texture"), @@ -449,6 +482,7 @@ url_manual_mapping = ( ("bpy.types.shadernodevectordisplacement*", "render/shader_nodes/vector/vector_displacement.html#bpy-types-shadernodevectordisplacement"), ("bpy.types.spacegrapheditor.show_cursor*", "editors/graph_editor/introduction.html#bpy-types-spacegrapheditor-show-cursor"), ("bpy.types.spaceimageeditor.show_repeat*", "editors/image/sidebar.html#bpy-types-spaceimageeditor-show-repeat"), + ("bpy.types.spaceoutliner.use_sort_alpha*", "editors/outliner/interface.html#bpy-types-spaceoutliner-use-sort-alpha"), ("bpy.types.spacepreferences.filter_text*", "editors/preferences/keymap.html#bpy-types-spacepreferences-filter-text"), ("bpy.types.spacepreferences.filter_type*", "editors/preferences/keymap.html#bpy-types-spacepreferences-filter-type"), ("bpy.types.spacetexteditor.replace_text*", "editors/text_editor.html#bpy-types-spacetexteditor-replace-text"), @@ -460,10 +494,12 @@ url_manual_mapping = ( ("bpy.ops.gpencil.stroke_simplify_fixed*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-simplify-fixed"), ("bpy.ops.mesh.faces_select_linked_flat*", "modeling/meshes/selecting/linked.html#bpy-ops-mesh-faces-select-linked-flat"), ("bpy.ops.object.gpencil_modifier_apply*", "grease_pencil/modifiers/introduction.html#bpy-ops-object-gpencil-modifier-apply"), + ("bpy.ops.object.multires_external_save*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-external-save"), ("bpy.ops.object.vertex_group_normalize*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-normalize"), ("bpy.ops.object.visual_transform_apply*", "scene_layout/object/editing/apply.html#bpy-ops-object-visual-transform-apply"), ("bpy.ops.outliner.collection_duplicate*", "editors/outliner/editing.html#bpy-ops-outliner-collection-duplicate"), ("bpy.ops.sequencer.change_effect_input*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-change-effect-input"), + ("bpy.ops.sequencer.strip_transform_fit*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-strip-transform-fit"), ("bpy.types.armature.rigify_colors_lock*", "addons/rigging/rigify/metarigs.html#bpy-types-armature-rigify-colors-lock"), ("bpy.types.brush.boundary_falloff_type*", "sculpt_paint/sculpting/tools/boundary.html#bpy-types-brush-boundary-falloff-type"), ("bpy.types.brush.texture_overlay_alpha*", "sculpt_paint/brush/cursor.html#bpy-types-brush-texture-overlay-alpha"), @@ -475,7 +511,7 @@ url_manual_mapping = ( ("bpy.types.fluiddomainsettings.gravity*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-gravity"), ("bpy.types.fluidflowsettings.flow_type*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-flow-type"), ("bpy.types.fluidflowsettings.subframes*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-subframes"), - ("bpy.types.geometrynodepointdistribute*", "modeling/modifiers/nodes/point/point_distribute.html#bpy-types-geometrynodepointdistribute"), + ("bpy.types.geometrynodepointdistribute*", "modeling/geometry_nodes/point/point_distribute.html#bpy-types-geometrynodepointdistribute"), ("bpy.types.imagepaint.screen_grab_size*", "sculpt_paint/texture_paint/tool_settings/options.html#bpy-types-imagepaint-screen-grab-size"), ("bpy.types.linestyle*modifier_material*", "render/freestyle/parameter_editor/line_style/modifiers/color/material.html#bpy-types-linestyle-modifier-material"), ("bpy.types.movietrackingcamera.brown_k*", "movie_clip/tracking/clip/sidebar/track/camera.html#bpy-types-movietrackingcamera-brown-k"), @@ -492,12 +528,13 @@ url_manual_mapping = ( ("bpy.types.sculpt.detail_refine_method*", "sculpt_paint/sculpting/tool_settings/dyntopo.html#bpy-types-sculpt-detail-refine-method"), ("bpy.types.sculpt.symmetrize_direction*", "sculpt_paint/sculpting/tool_settings/symmetry.html#bpy-types-sculpt-symmetrize-direction"), ("bpy.types.sequenceeditor.show_overlay*", "video_editing/preview/sidebar.html#bpy-types-sequenceeditor-show-overlay"), + ("bpy.types.spaceoutliner.filter_invert*", "editors/outliner/interface.html#bpy-types-spaceoutliner-filter-invert"), ("bpy.types.spacetexteditor.show_margin*", "editors/text_editor.html#bpy-types-spacetexteditor-show-margin"), ("bpy.types.spline.radius_interpolation*", "modeling/curves/properties/active_spline.html#bpy-types-spline-radius-interpolation"), ("bpy.types.toolsettings.use_multipaint*", "sculpt_paint/weight_paint/tool_settings/options.html#bpy-types-toolsettings-use-multipaint"), ("bpy.types.toolsettings.use_snap_scale*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-scale"), ("bpy.types.toolsettings.uv_select_mode*", "editors/uv/selecting.html#bpy-types-toolsettings-uv-select-mode"), - ("bpy.types.viewlayer.material_override*", "render/layers/layers.html#bpy-types-viewlayer-material-override"), + ("bpy.types.viewlayer.material_override*", "render/layers/introduction.html#bpy-types-viewlayer-material-override"), ("bpy.ops.gpencil.interpolate_sequence*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-interpolate-sequence"), ("bpy.ops.mesh.normals_make_consistent*", "modeling/meshes/editing/mesh/normals.html#bpy-ops-mesh-normals-make-consistent"), ("bpy.ops.mesh.offset_edge_loops_slide*", "modeling/meshes/editing/edge/offset_edge_slide.html#bpy-ops-mesh-offset-edge-loops-slide"), @@ -522,6 +559,7 @@ url_manual_mapping = ( ("bpy.types.dynamicpaintcanvassettings*", "physics/dynamic_paint/canvas.html#bpy-types-dynamicpaintcanvassettings"), ("bpy.types.fluidflowsettings.use_flow*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-use-flow"), ("bpy.types.fmodifierfunctiongenerator*", "editors/graph_editor/fcurves/sidebar/modifiers.html#bpy-types-fmodifierfunctiongenerator"), + ("bpy.types.geometrynodepointtranslate*", "modeling/geometry_nodes/point/point_translate.html#bpy-types-geometrynodepointtranslate"), ("bpy.types.gpencillayer.use_solo_mode*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-use-solo-mode"), ("bpy.types.greasepencil.use_multiedit*", "grease_pencil/multiframe.html#bpy-types-greasepencil-use-multiedit"), ("bpy.types.materialgpencilstyle.color*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-color"), @@ -531,11 +569,15 @@ url_manual_mapping = ( ("bpy.types.regionview3d.lock_rotation*", "editors/3dview/navigate/views.html#bpy-types-regionview3d-lock-rotation"), ("bpy.types.scene.audio_distance_model*", "scene_layout/scene/properties.html#bpy-types-scene-audio-distance-model"), ("bpy.types.scene.audio_doppler_factor*", "scene_layout/scene/properties.html#bpy-types-scene-audio-doppler-factor"), + ("bpy.types.sequencetransform.rotation*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequencetransform-rotation"), ("bpy.types.shadernodeambientocclusion*", "render/shader_nodes/input/ao.html#bpy-types-shadernodeambientocclusion"), ("bpy.types.shadernodevolumeabsorption*", "render/shader_nodes/shader/volume_absorption.html#bpy-types-shadernodevolumeabsorption"), ("bpy.types.shadernodevolumeprincipled*", "render/shader_nodes/shader/volume_principled.html#bpy-types-shadernodevolumeprincipled"), + ("bpy.types.spaceoutliner.filter_state*", "editors/outliner/interface.html#bpy-types-spaceoutliner-filter-state"), ("bpy.types.toolsettings.snap_elements*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-snap-elements"), ("bpy.types.toolsettings.use_snap_self*", "editors/3dview/controls/snapping.html#bpy-types-toolsettings-use-snap-self"), + ("bpy.types.viewlayer.active_aov_index*", "render/layers/passes.html#bpy-types-viewlayer-active-aov-index"), + ("bpy.ops.gpencil.bake_mesh_animation*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-bake-mesh-animation"), ("bpy.ops.gpencil.interpolate_reverse*", "grease_pencil/animation/interpolation.html#bpy-ops-gpencil-interpolate-reverse"), ("bpy.ops.gpencil.select_vertex_color*", "grease_pencil/selecting.html#bpy-ops-gpencil-select-vertex-color"), ("bpy.ops.gpencil.set_active_material*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-set-active-material"), @@ -545,6 +587,7 @@ url_manual_mapping = ( ("bpy.ops.mesh.shape_propagate_to_all*", "modeling/meshes/editing/vertex/propagate_shapes.html#bpy-ops-mesh-shape-propagate-to-all"), ("bpy.ops.mesh.vert_connect_nonplanar*", "modeling/meshes/editing/mesh/cleanup.html#bpy-ops-mesh-vert-connect-nonplanar"), ("bpy.ops.object.duplicates_make_real*", "scene_layout/object/editing/apply.html#bpy-ops-object-duplicates-make-real"), + ("bpy.ops.object.multires_unsubdivide*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-unsubdivide"), ("bpy.ops.object.transforms_to_deltas*", "scene_layout/object/editing/apply.html#bpy-ops-object-transforms-to-deltas"), ("bpy.ops.outliner.collection_disable*", "editors/outliner/editing.html#bpy-ops-outliner-collection-disable"), ("bpy.ops.outliner.collection_isolate*", "editors/outliner/editing.html#bpy-ops-outliner-collection-isolate"), @@ -556,6 +599,7 @@ url_manual_mapping = ( ("bpy.types.brush.crease_pinch_factor*", "sculpt_paint/sculpting/tools/snake_hook.html#bpy-types-brush-crease-pinch-factor"), ("bpy.types.brush.elastic_deform_type*", "sculpt_paint/sculpting/tools/elastic_deform.html#bpy-types-brush-elastic-deform-type"), ("bpy.types.brush.use_cloth_collision*", "sculpt_paint/sculpting/tools/cloth.html#bpy-types-brush-use-cloth-collision"), + ("bpy.types.brush.use_grab_silhouette*", "sculpt_paint/sculpting/tools/grab.html#bpy-types-brush-use-grab-silhouette"), ("bpy.types.brush.use_primary_overlay*", "sculpt_paint/brush/cursor.html#bpy-types-brush-use-primary-overlay"), ("bpy.types.camera.passepartout_alpha*", "render/cameras.html#bpy-types-camera-passepartout-alpha"), ("bpy.types.compositornodechromamatte*", "compositing/types/matte/chroma_key.html#bpy-types-compositornodechromamatte"), @@ -566,10 +610,10 @@ url_manual_mapping = ( ("bpy.types.dynamicpaintbrushsettings*", "physics/dynamic_paint/brush.html#bpy-types-dynamicpaintbrushsettings"), ("bpy.types.fluiddomainsettings.alpha*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-alpha"), ("bpy.types.fluidflowsettings.density*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings-density"), - ("bpy.types.geometrynodeattributefill*", "modeling/modifiers/nodes/attribute/attribute_fill.html#bpy-types-geometrynodeattributefill"), - ("bpy.types.geometrynodeattributemath*", "modeling/modifiers/nodes/attribute/attribute_math.html#bpy-types-geometrynodeattributemath"), - ("bpy.types.geometrynodepointinstance*", "modeling/modifiers/nodes/point/point_instance.html#bpy-types-geometrynodepointinstance"), - ("bpy.types.geometrynodepointseparate*", "modeling/modifiers/nodes/point/point_separate.html#bpy-types-geometrynodepointseparate"), + ("bpy.types.geometrynodeattributefill*", "modeling/geometry_nodes/attribute/attribute_fill.html#bpy-types-geometrynodeattributefill"), + ("bpy.types.geometrynodeattributemath*", "modeling/geometry_nodes/attribute/attribute_math.html#bpy-types-geometrynodeattributemath"), + ("bpy.types.geometrynodepointinstance*", "modeling/geometry_nodes/point/point_instance.html#bpy-types-geometrynodepointinstance"), + ("bpy.types.geometrynodepointseparate*", "modeling/geometry_nodes/point/point_separate.html#bpy-types-geometrynodepointseparate"), ("bpy.types.light.use_custom_distance*", "render/eevee/lighting.html#bpy-types-light-use-custom-distance"), ("bpy.types.materialgpencilstyle.flip*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-flip"), ("bpy.types.materialgpencilstyle.mode*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-mode"), @@ -582,10 +626,12 @@ url_manual_mapping = ( ("bpy.types.sceneeevee.bokeh_max_size*", "render/eevee/render_settings/depth_of_field.html#bpy-types-sceneeevee-bokeh-max-size"), ("bpy.types.sculpt.detail_type_method*", "sculpt_paint/sculpting/tool_settings/dyntopo.html#bpy-types-sculpt-detail-type-method"), ("bpy.types.sculpt.use_smooth_shading*", "sculpt_paint/sculpting/tool_settings/dyntopo.html#bpy-types-sculpt-use-smooth-shading"), + ("bpy.types.sequenceeditor.show_cache*", "video_editing/sequencer/navigating.html#bpy-types-sequenceeditor-show-cache"), ("bpy.types.shadernodebsdfanisotropic*", "render/shader_nodes/shader/anisotropic.html#bpy-types-shadernodebsdfanisotropic"), ("bpy.types.shadernodebsdftranslucent*", "render/shader_nodes/shader/translucent.html#bpy-types-shadernodebsdftranslucent"), ("bpy.types.shadernodebsdftransparent*", "render/shader_nodes/shader/transparent.html#bpy-types-shadernodebsdftransparent"), ("bpy.types.shadernodevectortransform*", "render/shader_nodes/vector/transform.html#bpy-types-shadernodevectortransform"), + ("bpy.types.spaceoutliner.filter_text*", "editors/outliner/interface.html#bpy-types-spaceoutliner-filter-text"), ("bpy.types.spacetexteditor.find_text*", "editors/text_editor.html#bpy-types-spacetexteditor-find-text"), ("bpy.types.spacetexteditor.font_size*", "editors/text_editor.html#bpy-types-spacetexteditor-font-size"), ("bpy.types.spacetexteditor.tab_width*", "editors/text_editor.html#bpy-types-spacetexteditor-tab-width"), @@ -602,6 +648,7 @@ url_manual_mapping = ( ("bpy.ops.mesh.tris_convert_to_quads*", "modeling/meshes/editing/face/triangles_quads.html#bpy-ops-mesh-tris-convert-to-quads"), ("bpy.ops.node.read_fullsamplelayers*", "interface/controls/nodes/editing.html#bpy-ops-node-read-fullsamplelayers"), ("bpy.ops.object.datalayout_transfer*", "scene_layout/object/editing/relations/transfer_mesh_data_layout.html#bpy-ops-object-datalayout-transfer"), + ("bpy.ops.object.multires_base_apply*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-base-apply"), ("bpy.ops.object.randomize_transform*", "scene_layout/object/editing/transform/randomize.html#bpy-ops-object-randomize-transform"), ("bpy.ops.object.vertex_group_invert*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-invert"), ("bpy.ops.object.vertex_group_levels*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-levels"), @@ -633,14 +680,16 @@ url_manual_mapping = ( ("bpy.types.cyclesvisibilitysettings*", "render/cycles/object_settings/object_data.html#bpy-types-cyclesvisibilitysettings"), ("bpy.types.fluiddomainsettings.beta*", "physics/fluid/type/domain/settings.html#bpy-types-fluiddomainsettings-beta"), ("bpy.types.fluidmodifier.fluid_type*", "physics/fluid/type/index.html#bpy-types-fluidmodifier-fluid-type"), - ("bpy.types.functionnodefloatcompare*", "modeling/modifiers/nodes/utilities/float_compare.html#bpy-types-functionnodefloatcompare"), - ("bpy.types.geometrynodejoingeometry*", "modeling/modifiers/nodes/geometry/join_geometry.html#bpy-types-geometrynodejoingeometry"), + ("bpy.types.functionnodefloatcompare*", "modeling/geometry_nodes/utilities/float_compare.html#bpy-types-functionnodefloatcompare"), + ("bpy.types.geometrynodeattributemix*", "modeling/geometry_nodes/attribute/attribute_mix.html#bpy-types-geometrynodeattributemix"), + ("bpy.types.geometrynodejoingeometry*", "modeling/geometry_nodes/geometry/join_geometry.html#bpy-types-geometrynodejoingeometry"), ("bpy.types.image.use_half_precision*", "editors/image/image_settings.html#bpy-types-image-use-half-precision"), ("bpy.types.imagepaint.interpolation*", "sculpt_paint/texture_paint/tool_settings/texture_slots.html#bpy-types-imagepaint-interpolation"), ("bpy.types.linestyle*modifier_noise*", "render/freestyle/parameter_editor/line_style/modifiers/color/noise.html#bpy-types-linestyle-modifier-noise"), ("bpy.types.maintainvolumeconstraint*", "animation/constraints/transform/maintain_volume.html#bpy-types-maintainvolumeconstraint"), ("bpy.types.mesh.use_mirror_topology*", "modeling/meshes/tools/tool_settings.html#bpy-types-mesh-use-mirror-topology"), ("bpy.types.particleinstancemodifier*", "modeling/modifiers/physics/particle_instance.html#bpy-types-particleinstancemodifier"), + ("bpy.types.sequencetransform.offset*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequencetransform-offset"), ("bpy.types.shadernodebrightcontrast*", "render/shader_nodes/color/bright_contrast.html#bpy-types-shadernodebrightcontrast"), ("bpy.types.shadernodebsdfprincipled*", "render/shader_nodes/shader/principled.html#bpy-types-shadernodebsdfprincipled"), ("bpy.types.shadernodebsdfrefraction*", "render/shader_nodes/shader/refraction.html#bpy-types-shadernodebsdfrefraction"), @@ -661,12 +710,16 @@ url_manual_mapping = ( ("bpy.ops.mesh.select_face_by_sides*", "modeling/meshes/selecting/all_by_trait.html#bpy-ops-mesh-select-face-by-sides"), ("bpy.ops.mesh.shortest_path_select*", "modeling/meshes/selecting/linked.html#bpy-ops-mesh-shortest-path-select"), ("bpy.ops.mesh.vert_connect_concave*", "modeling/meshes/editing/mesh/cleanup.html#bpy-ops-mesh-vert-connect-concave"), + ("bpy.ops.object.multires_subdivide*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-subdivide"), ("bpy.ops.object.vertex_group_clean*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-clean"), ("bpy.ops.preferences.theme_install*", "editors/preferences/themes.html#bpy-ops-preferences-theme-install"), ("bpy.ops.render.play-rendered-anim*", "render/output/animation_player.html#bpy-ops-render-play-rendered-anim"), ("bpy.ops.scene.blenderkit_download*", "addons/3d_view/blenderkit.html#bpy-ops-scene-blenderkit-download"), ("bpy.ops.sculpt.set_pivot_position*", "sculpt_paint/sculpting/editing/sculpt.html#bpy-ops-sculpt-set-pivot-position"), + ("bpy.ops.sequencer.image_strip_add*", "video_editing/sequencer/strips/movie_image.html#bpy-ops-sequencer-image-strip-add"), + ("bpy.ops.sequencer.movie_strip_add*", "video_editing/sequencer/strips/movie_image.html#bpy-ops-sequencer-movie-strip-add"), ("bpy.ops.sequencer.reassign_inputs*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-reassign-inputs"), + ("bpy.ops.sequencer.sound_strip_add*", "video_editing/sequencer/strips/sound.html#bpy-ops-sequencer-sound-strip-add"), ("bpy.ops.view3d.view_center_camera*", "editors/3dview/navigate/camera_view.html#bpy-ops-view3d-view-center-camera"), ("bpy.types.armaturegpencilmodifier*", "grease_pencil/modifiers/deform/armature.html#bpy-types-armaturegpencilmodifier"), ("bpy.types.brush.cloth_deform_type*", "sculpt_paint/sculpting/tools/cloth.html#bpy-types-brush-cloth-deform-type"), @@ -688,8 +741,11 @@ url_manual_mapping = ( ("bpy.types.constraint.target_space*", "animation/constraints/interface/common.html#bpy-types-constraint-target-space"), ("bpy.types.curve.use_deform_bounds*", "modeling/curves/properties/shape.html#bpy-types-curve-use-deform-bounds"), ("bpy.types.freestylemodulesettings*", "render/freestyle/python.html#bpy-types-freestylemodulesettings"), - ("bpy.types.functionnodebooleanmath*", "modeling/modifiers/nodes/utilities/boolean_math.html#bpy-types-functionnodebooleanmath"), - ("bpy.types.geometrynodetriangulate*", "modeling/modifiers/nodes/mesh/triangulate.html#bpy-types-geometrynodetriangulate"), + ("bpy.types.functionnodebooleanmath*", "modeling/geometry_nodes/utilities/boolean_math.html#bpy-types-functionnodebooleanmath"), + ("bpy.types.functionnodeinputvector*", "modeling/geometry_nodes/input/vector.html#bpy-types-functionnodeinputvector"), + ("bpy.types.functionnoderandomfloat*", "modeling/geometry_nodes/input/random_float.html#bpy-types-functionnoderandomfloat"), + ("bpy.types.geometrynodepointrotate*", "modeling/geometry_nodes/point/point_rotate.html#bpy-types-geometrynodepointrotate"), + ("bpy.types.geometrynodetriangulate*", "modeling/geometry_nodes/mesh/triangulate.html#bpy-types-geometrynodetriangulate"), ("bpy.types.gpencillayer.blend_mode*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-blend-mode"), ("bpy.types.gpencillayer.mask_layer*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-mask-layer"), ("bpy.types.gpencilsculptguide.type*", "grease_pencil/modes/draw/guides.html#bpy-types-gpencilsculptguide-type"), @@ -704,6 +760,7 @@ url_manual_mapping = ( ("bpy.types.rendersettings.filepath*", "render/output/properties/output.html#bpy-types-rendersettings-filepath"), ("bpy.types.rendersettings.fps_base*", "render/output/properties/dimensions.html#bpy-types-rendersettings-fps-base"), ("bpy.types.sceneeevee.use_overscan*", "render/eevee/render_settings/film.html#bpy-types-sceneeevee-use-overscan"), + ("bpy.types.sequencetransform.scale*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequencetransform-scale"), ("bpy.types.shadernodeeeveespecular*", "render/shader_nodes/shader/specular_bsdf.html#bpy-types-shadernodeeeveespecular"), ("bpy.types.shadernodehuesaturation*", "render/shader_nodes/color/hue_saturation.html#bpy-types-shadernodehuesaturation"), ("bpy.types.shadernodetexwhitenoise*", "render/shader_nodes/textures/white_noise.html#bpy-types-shadernodetexwhitenoise"), @@ -735,6 +792,8 @@ url_manual_mapping = ( ("bpy.ops.screen.spacedata_cleanup*", "advanced/operators.html#bpy-ops-screen-spacedata-cleanup"), ("bpy.ops.sculpt.detail_flood_fill*", "sculpt_paint/sculpting/tool_settings/dyntopo.html#bpy-ops-sculpt-detail-flood-fill"), ("bpy.ops.sequencer.duplicate_move*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-duplicate-move"), + ("bpy.ops.sequencer.select_grouped*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-grouped"), + ("bpy.ops.sequencer.select_handles*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-handles"), ("bpy.ops.uv.average_islands_scale*", "modeling/meshes/uv/editing.html#bpy-ops-uv-average-islands-scale"), ("bpy.ops.view3d.blenderkit_search*", "addons/3d_view/blenderkit.html#bpy-ops-view3d-blenderkit-search"), ("bpy.types.armature.pose_position*", "animation/armatures/properties/skeleton.html#bpy-types-armature-pose-position"), @@ -765,8 +824,10 @@ url_manual_mapping = ( ("bpy.types.curve.bevel_resolution*", "modeling/curves/properties/geometry.html#bpy-types-curve-bevel-resolution"), ("bpy.types.cyclesmaterialsettings*", "render/cycles/material_settings.html#bpy-types-cyclesmaterialsettings"), ("bpy.types.dopesheet.show_summary*", "editors/dope_sheet/introduction.html#bpy-types-dopesheet-show-summary"), - ("bpy.types.geometrynodeobjectinfo*", "modeling/modifiers/nodes/input/object_info.html#bpy-types-geometrynodeobjectinfo"), + ("bpy.types.geometrynodeobjectinfo*", "modeling/geometry_nodes/input/object_info.html#bpy-types-geometrynodeobjectinfo"), + ("bpy.types.geometrynodepointscale*", "modeling/geometry_nodes/point/point_scale.html#bpy-types-geometrynodepointscale"), ("bpy.types.imagepaint.use_occlude*", "sculpt_paint/texture_paint/tool_settings/options.html#bpy-types-imagepaint-use-occlude"), + ("bpy.types.imagesequence.use_flip*", "video_editing/sequencer/sidebar/strip.html#bpy-types-imagesequence-use-flip"), ("bpy.types.latticegpencilmodifier*", "grease_pencil/modifiers/deform/lattice.html#bpy-types-latticegpencilmodifier"), ("bpy.types.mesh.auto_smooth_angle*", "modeling/meshes/structure.html#bpy-types-mesh-auto-smooth-angle"), ("bpy.types.objectsolverconstraint*", "animation/constraints/motion_tracking/object_solver.html#bpy-types-objectsolverconstraint"), @@ -780,6 +841,7 @@ url_manual_mapping = ( ("bpy.types.shadernodelightfalloff*", "render/shader_nodes/color/light_falloff.html#bpy-types-shadernodelightfalloff"), ("bpy.types.shadernodeparticleinfo*", "render/shader_nodes/input/particle_info.html#bpy-types-shadernodeparticleinfo"), ("bpy.types.shadernodevectorrotate*", "render/shader_nodes/vector/vector_rotate.html#bpy-types-shadernodevectorrotate"), + ("bpy.types.sound.use_memory_cache*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sound-use-memory-cache"), ("bpy.types.spaceview3d.show_gizmo*", "editors/3dview/display/gizmo.html#bpy-types-spaceview3d-show-gizmo"), ("bpy.types.texturegpencilmodifier*", "grease_pencil/modifiers/color/texture_mapping.html#bpy-types-texturegpencilmodifier"), ("bpy.types.volumedisplacemodifier*", "modeling/modifiers/deform/volume_displace.html#bpy-types-volumedisplacemodifier"), @@ -790,6 +852,7 @@ url_manual_mapping = ( ("bpy.ops.curve.spline_weight_set*", "modeling/curves/editing/other.html#bpy-ops-curve-spline-weight-set"), ("bpy.ops.gpencil.blank_frame_add*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-blank-frame-add"), ("bpy.ops.gpencil.frame_duplicate*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-frame-duplicate"), + ("bpy.ops.gpencil.recalc_geometry*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-recalc-geometry"), ("bpy.ops.gpencil.stroke_caps_set*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-caps-set"), ("bpy.ops.gpencil.stroke_separate*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-separate"), ("bpy.ops.gpencil.stroke_simplify*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-simplify"), @@ -802,6 +865,7 @@ url_manual_mapping = ( ("bpy.ops.object.constraints_copy*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-constraints-copy"), ("bpy.ops.object.gpencil_modifier*", "grease_pencil/modifiers/index.html#bpy-ops-object-gpencil-modifier"), ("bpy.ops.object.make_single_user*", "scene_layout/object/editing/relations/make_single_user.html#bpy-ops-object-make-single-user"), + ("bpy.ops.object.multires_reshape*", "modeling/modifiers/generate/multiresolution.html#bpy-ops-object-multires-reshape"), ("bpy.ops.object.select_hierarchy*", "scene_layout/object/selecting.html#bpy-ops-object-select-hierarchy"), ("bpy.ops.object.vertex_group_add*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-add"), ("bpy.ops.object.vertex_group_fix*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-fix"), @@ -810,9 +874,10 @@ url_manual_mapping = ( ("bpy.ops.paint.weight_from_bones*", "sculpt_paint/weight_paint/editing.html#bpy-ops-paint-weight-from-bones"), ("bpy.ops.poselib.action_sanitize*", "animation/armatures/properties/pose_library.html#bpy-ops-poselib-action-sanitize"), ("bpy.ops.preferences.studiolight*", "editors/preferences/lights.html#bpy-ops-preferences-studiolight"), - ("bpy.ops.scene.view_layer_remove*", "render/layers/layers.html#bpy-ops-scene-view-layer-remove"), + ("bpy.ops.scene.view_layer_remove*", "render/layers/introduction.html#bpy-ops-scene-view-layer-remove"), ("bpy.ops.screen.screen_full_area*", "interface/window_system/areas.html#bpy-ops-screen-screen-full-area"), ("bpy.ops.sculpt.face_sets_create*", "sculpt_paint/sculpting/editing/face_sets.html#bpy-ops-sculpt-face-sets-create"), + ("bpy.ops.sequencer.select_linked*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-linked"), ("bpy.ops.transform.rotate_normal*", "modeling/meshes/editing/mesh/normals.html#bpy-ops-transform-rotate-normal"), ("bpy.ops.transform.shrink_fatten*", "modeling/meshes/editing/mesh/transform/shrink-fatten.html#bpy-ops-transform-shrink-fatten"), ("bpy.ops.transform.vertex_random*", "modeling/meshes/editing/mesh/transform/randomize.html#bpy-ops-transform-vertex-random"), @@ -841,8 +906,8 @@ url_manual_mapping = ( ("bpy.types.dopesheet.filter_text*", "editors/graph_editor/channels.html#bpy-types-dopesheet-filter-text"), ("bpy.types.fluideffectorsettings*", "physics/fluid/type/effector.html#bpy-types-fluideffectorsettings"), ("bpy.types.followtrackconstraint*", "animation/constraints/motion_tracking/follow_track.html#bpy-types-followtrackconstraint"), - ("bpy.types.geometrynodeedgesplit*", "modeling/modifiers/nodes/mesh/edge_split.html#bpy-types-geometrynodeedgesplit"), - ("bpy.types.geometrynodetransform*", "modeling/modifiers/nodes/geometry/transform.html#bpy-types-geometrynodetransform"), + ("bpy.types.geometrynodeedgesplit*", "modeling/geometry_nodes/mesh/edge_split.html#bpy-types-geometrynodeedgesplit"), + ("bpy.types.geometrynodetransform*", "modeling/geometry_nodes/geometry/transform.html#bpy-types-geometrynodetransform"), ("bpy.types.gpencilsculptsettings*", "grease_pencil/properties/index.html#bpy-types-gpencilsculptsettings"), ("bpy.types.light.cutoff_distance*", "render/eevee/lighting.html#bpy-types-light-cutoff-distance"), ("bpy.types.lockedtrackconstraint*", "animation/constraints/tracking/locked_track.html#bpy-types-lockedtrackconstraint"), @@ -918,6 +983,7 @@ url_manual_mapping = ( ("bpy.types.posebone.rigify_type*", "addons/rigging/rigify/rig_types/index.html#bpy-types-posebone-rigify-type"), ("bpy.types.preferencesfilepaths*", "editors/preferences/file_paths.html#bpy-types-preferencesfilepaths"), ("bpy.types.scene.background_set*", "scene_layout/scene/properties.html#bpy-types-scene-background-set"), + ("bpy.types.sequence.frame_start*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequence-frame-start"), ("bpy.types.shadernodebackground*", "render/shader_nodes/shader/background.html#bpy-types-shadernodebackground"), ("bpy.types.shadernodebsdfglossy*", "render/shader_nodes/shader/glossy.html#bpy-types-shadernodebsdfglossy"), ("bpy.types.shadernodebsdfvelvet*", "render/shader_nodes/shader/velvet.html#bpy-types-shadernodebsdfvelvet"), @@ -935,7 +1001,7 @@ url_manual_mapping = ( ("bpy.types.texturenodecurvetime*", "editors/texture_node/types/input/time.html#bpy-types-texturenodecurvetime"), ("bpy.types.transformorientation*", "editors/3dview/controls/orientation.html#bpy-types-transformorientation"), ("bpy.types.unifiedpaintsettings*", "sculpt_paint/brush/brush.html#bpy-types-unifiedpaintsettings"), - ("bpy.types.viewlayer.use_strand*", "render/layers/layers.html#bpy-types-viewlayer-use-strand"), + ("bpy.types.viewlayer.use_strand*", "render/layers/introduction.html#bpy-types-viewlayer-use-strand"), ("bpy.types.volume.sequence_mode*", "modeling/volumes/properties.html#bpy-types-volume-sequence-mode"), ("bpy.types.volumetomeshmodifier*", "modeling/modifiers/generate/volume_to_mesh.html#bpy-types-volumetomeshmodifier"), ("bpy.types.whitebalancemodifier*", "video_editing/sequencer/sidebar/modifiers.html#bpy-types-whitebalancemodifier"), @@ -952,6 +1018,7 @@ url_manual_mapping = ( ("bpy.ops.mesh.faces_shade_flat*", "modeling/meshes/editing/face/shading.html#bpy-ops-mesh-faces-shade-flat"), ("bpy.ops.mesh.paint_mask_slice*", "sculpt_paint/sculpting/editing/mask.html#bpy-ops-mesh-paint-mask-slice"), ("bpy.ops.mesh.select_ungrouped*", "modeling/meshes/selecting/all_by_trait.html#bpy-ops-mesh-select-ungrouped"), + ("bpy.ops.node.tree_path_parent*", "interface/controls/nodes/groups.html#bpy-ops-node-tree-path-parent"), ("bpy.ops.object.duplicate_move*", "scene_layout/object/editing/duplicate.html#bpy-ops-object-duplicate-move"), ("bpy.ops.object.hook_add_selob*", "modeling/meshes/editing/vertex/hooks.html#bpy-ops-object-hook-add-selob"), ("bpy.ops.object.select_by_type*", "scene_layout/object/selecting.html#bpy-ops-object-select-by-type"), @@ -968,6 +1035,9 @@ url_manual_mapping = ( ("bpy.ops.sculpt.face_sets_init*", "sculpt_paint/sculpting/editing/face_sets.html#bpy-ops-sculpt-face-sets-init"), ("bpy.ops.sequencer.change_path*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-change-path"), ("bpy.ops.sequencer.refresh_all*", "video_editing/sequencer/navigating.html#bpy-ops-sequencer-refresh-all"), + ("bpy.ops.sequencer.select_less*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-less"), + ("bpy.ops.sequencer.select_more*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-more"), + ("bpy.ops.sequencer.select_side*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-side"), ("bpy.ops.sequencer.swap_inputs*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-swap-inputs"), ("bpy.ops.surface.primitive*add*", "modeling/surfaces/primitives.html#bpy-ops-surface-primitive-add"), ("bpy.ops.text.resolve_conflict*", "editors/text_editor.html#bpy-ops-text-resolve-conflict"), @@ -993,7 +1063,7 @@ url_manual_mapping = ( ("bpy.types.curve.use_map_taper*", "modeling/curves/properties/geometry.html#bpy-types-curve-use-map-taper"), ("bpy.types.cyclesworldsettings*", "render/cycles/world_settings.html#bpy-types-cyclesworldsettings"), ("bpy.types.fluiddomainsettings*", "physics/fluid/type/domain/index.html#bpy-types-fluiddomainsettings"), - ("bpy.types.geometrynodeboolean*", "modeling/modifiers/nodes/mesh/boolean.html#bpy-types-geometrynodeboolean"), + ("bpy.types.geometrynodeboolean*", "modeling/geometry_nodes/mesh/boolean.html#bpy-types-geometrynodeboolean"), ("bpy.types.hookgpencilmodifier*", "grease_pencil/modifiers/deform/hook.html#bpy-types-hookgpencilmodifier"), ("bpy.types.imageformatsettings*", "files/media/image_formats.html#bpy-types-imageformatsettings"), ("bpy.types.kinematicconstraint*", "animation/constraints/tracking/ik_solver.html#bpy-types-kinematicconstraint"), @@ -1024,7 +1094,7 @@ url_manual_mapping = ( ("bpy.types.tintgpencilmodifier*", "grease_pencil/modifiers/color/tint.html#bpy-types-tintgpencilmodifier"), ("bpy.types.transformconstraint*", "animation/constraints/transform/transformation.html#bpy-types-transformconstraint"), ("bpy.types.triangulatemodifier*", "modeling/modifiers/generate/triangulate.html#bpy-types-triangulatemodifier"), - ("bpy.types.viewlayer.use_solid*", "render/layers/layers.html#bpy-types-viewlayer-use-solid"), + ("bpy.types.viewlayer.use_solid*", "render/layers/introduction.html#bpy-types-viewlayer-use-solid"), ("bpy.types.volume.frame_offset*", "modeling/volumes/properties.html#bpy-types-volume-frame-offset"), ("bpy.types.windowmanager.addon*", "editors/preferences/addons.html#bpy-types-windowmanager-addon"), ("bpy.ops.anim.keyframe_delete*", "animation/keyframes/editing.html#bpy-ops-anim-keyframe-delete"), @@ -1055,11 +1125,13 @@ url_manual_mapping = ( ("bpy.ops.paint.add_simple_uvs*", "sculpt_paint/texture_paint/tool_settings/texture_slots.html#bpy-ops-paint-add-simple-uvs"), ("bpy.ops.pose.rigify_generate*", "addons/rigging/rigify/basics.html#bpy-ops-pose-rigify-generate"), ("bpy.ops.preferences.autoexec*", "editors/preferences/save_load.html#bpy-ops-preferences-autoexec"), - ("bpy.ops.scene.view_layer_add*", "render/layers/layers.html#bpy-ops-scene-view-layer-add"), + ("bpy.ops.scene.view_layer_add*", "render/layers/introduction.html#bpy-ops-scene-view-layer-add"), ("bpy.ops.sculpt.face_set_edit*", "sculpt_paint/sculpting/editing/face_sets.html#bpy-ops-sculpt-face-set-edit"), ("bpy.ops.sequencer.gap_insert*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-gap-insert"), ("bpy.ops.sequencer.gap_remove*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-gap-remove"), ("bpy.ops.sequencer.rendersize*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-rendersize"), + ("bpy.ops.sequencer.select_all*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-all"), + ("bpy.ops.sequencer.select_box*", "video_editing/sequencer/selecting.html#bpy-ops-sequencer-select-box"), ("bpy.ops.sound.bake_animation*", "scene_layout/scene/properties.html#bpy-ops-sound-bake-animation"), ("bpy.ops.transform.edge_slide*", "modeling/meshes/editing/edge/edge_slide.html#bpy-ops-transform-edge-slide"), ("bpy.ops.transform.vert_slide*", "modeling/meshes/editing/vertex/slide_vertices.html#bpy-ops-transform-vert-slide"), @@ -1070,7 +1142,7 @@ url_manual_mapping = ( ("bpy.types.alphaundersequence*", "video_editing/sequencer/strips/effects/alpha_over_under_overdrop.html#bpy-types-alphaundersequence"), ("bpy.types.armatureconstraint*", "animation/constraints/relationship/armature.html#bpy-types-armatureconstraint"), ("bpy.types.compositornodeblur*", "compositing/types/filter/blur_node.html#bpy-types-compositornodeblur"), - ("bpy.types.compositornodecomb*", "compositing/types/converter/combine_separate.html#bpy-types-compositornodecomb"), + ("bpy.types.compositornodecomb*", "editors/texture_node/types/color/combine_separate.html#bpy-types-compositornodecomb"), ("bpy.types.compositornodecrop*", "compositing/types/distort/crop.html#bpy-types-compositornodecrop"), ("bpy.types.compositornodeflip*", "compositing/types/distort/flip.html#bpy-types-compositornodeflip"), ("bpy.types.compositornodemask*", "compositing/types/input/mask.html#bpy-types-compositornodemask"), @@ -1114,7 +1186,6 @@ url_manual_mapping = ( ("bpy.types.shadernodetexmagic*", "render/shader_nodes/textures/magic.html#bpy-types-shadernodetexmagic"), ("bpy.types.shadernodetexnoise*", "render/shader_nodes/textures/noise.html#bpy-types-shadernodetexnoise"), ("bpy.types.shrinkwrapmodifier*", "modeling/modifiers/deform/shrinkwrap.html#bpy-types-shrinkwrapmodifier"), - ("bpy.types.simulationmodifier*", "modeling/modifiers/physics/simulation.html#bpy-types-simulationmodifier"), ("bpy.types.splineikconstraint*", "animation/constraints/tracking/spline_ik.html#bpy-types-splineikconstraint"), ("bpy.types.texturenodetexture*", "editors/texture_node/types/input/texture.html#bpy-types-texturenodetexture"), ("bpy.types.view3dshading.type*", "editors/3dview/display/shading.html#bpy-types-view3dshading-type"), @@ -1162,6 +1233,7 @@ url_manual_mapping = ( ("bpy.ops.transform.trackball*", "scene_layout/object/editing/transform/rotate.html#bpy-ops-transform-trackball"), ("bpy.ops.transform.transform*", "scene_layout/object/editing/transform/align_transform_orientation.html#bpy-ops-transform-transform"), ("bpy.ops.transform.translate*", "scene_layout/object/editing/transform/move.html#bpy-ops-transform-translate"), + ("bpy.ops.ui.eyedropper_color*", "interface/controls/templates/color_picker.html#bpy-ops-ui-eyedropper-color"), ("bpy.ops.uv.cylinder_project*", "modeling/meshes/editing/uv.html#bpy-ops-uv-cylinder-project"), ("bpy.ops.uv.minimize_stretch*", "modeling/meshes/uv/editing.html#bpy-ops-uv-minimize-stretch"), ("bpy.ops.uv.select_edge_ring*", "editors/uv/selecting.html#bpy-ops-uv-select-edge-ring"), @@ -1176,13 +1248,14 @@ url_manual_mapping = ( ("bpy.types.collisionmodifier*", "physics/collision.html#bpy-types-collisionmodifier"), ("bpy.types.collisionsettings*", "physics/collision.html#bpy-types-collisionsettings"), ("bpy.types.compositornodergb*", "compositing/types/input/rgb.html#bpy-types-compositornodergb"), - ("bpy.types.compositornodesep*", "compositing/types/converter/combine_separate.html#bpy-types-compositornodesep"), + ("bpy.types.compositornodesep*", "editors/texture_node/types/color/combine_separate.html#bpy-types-compositornodesep"), ("bpy.types.curve.bevel_depth*", "modeling/curves/properties/geometry.html#bpy-types-curve-bevel-depth"), ("bpy.types.curve.use_stretch*", "modeling/curves/properties/shape.html#bpy-types-curve-use-stretch"), ("bpy.types.edgesplitmodifier*", "modeling/modifiers/generate/edge_split.html#bpy-types-edgesplitmodifier"), ("bpy.types.fluidflowsettings*", "physics/fluid/type/flow.html#bpy-types-fluidflowsettings"), ("bpy.types.fmodifierenvelope*", "editors/graph_editor/fcurves/sidebar/modifiers.html#bpy-types-fmodifierenvelope"), ("bpy.types.freestylesettings*", "render/freestyle/view_layer.html#bpy-types-freestylesettings"), + ("bpy.types.geometrynodegroup*", "modeling/geometry_nodes/group.html#bpy-types-geometrynodegroup"), ("bpy.types.gpencillayer.hide*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-hide"), ("bpy.types.gpencillayer.lock*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer-lock"), ("bpy.types.imagepaint.dither*", "sculpt_paint/texture_paint/tool_settings/options.html#bpy-types-imagepaint-dither"), @@ -1200,6 +1273,7 @@ url_manual_mapping = ( ("bpy.types.scene.active_clip*", "scene_layout/scene/properties.html#bpy-types-scene-active-clip"), ("bpy.types.scene.frame_start*", "render/output/properties/dimensions.html#bpy-types-scene-frame-start"), ("bpy.types.sceneeevee.shadow*", "render/eevee/render_settings/shadows.html#bpy-types-sceneeevee-shadow"), + ("bpy.types.sequencetransform*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequencetransform"), ("bpy.types.shadernodecombine*", "render/shader_nodes/converter/combine_separate.html#bpy-types-shadernodecombine"), ("bpy.types.shadernodefresnel*", "render/shader_nodes/input/fresnel.html#bpy-types-shadernodefresnel"), ("bpy.types.shadernodeholdout*", "render/shader_nodes/shader/holdout.html#bpy-types-shadernodeholdout"), @@ -1214,8 +1288,8 @@ url_manual_mapping = ( ("bpy.types.tracktoconstraint*", "animation/constraints/tracking/track_to.html#bpy-types-tracktoconstraint"), ("bpy.types.transformsequence*", "video_editing/sequencer/strips/effects/transform.html#bpy-types-transformsequence"), ("bpy.types.uvprojectmodifier*", "modeling/modifiers/modify/uv_project.html#bpy-types-uvprojectmodifier"), - ("bpy.types.viewlayer.samples*", "render/layers/layers.html#bpy-types-viewlayer-samples"), - ("bpy.types.viewlayer.use_sky*", "render/layers/layers.html#bpy-types-viewlayer-use-sky"), + ("bpy.types.viewlayer.samples*", "render/layers/introduction.html#bpy-types-viewlayer-samples"), + ("bpy.types.viewlayer.use_sky*", "render/layers/introduction.html#bpy-types-viewlayer-use-sky"), ("bpy.types.wireframemodifier*", "modeling/modifiers/generate/wireframe.html#bpy-types-wireframemodifier"), ("bpy.types.worldmistsettings*", "render/cycles/world_settings.html#bpy-types-worldmistsettings"), ("bpy.ops.anim.channels_move*", "editors/nla/editing.html#bpy-ops-anim-channels-move"), @@ -1241,6 +1315,7 @@ url_manual_mapping = ( ("bpy.ops.mesh.sort_elements*", "modeling/meshes/editing/mesh/sort_elements.html#bpy-ops-mesh-sort-elements"), ("bpy.ops.mesh.split_normals*", "modeling/meshes/editing/mesh/normals.html#bpy-ops-mesh-split-normals"), ("bpy.ops.mesh.symmetry_snap*", "modeling/meshes/editing/mesh/snap_symmetry.html#bpy-ops-mesh-symmetry-snap"), + ("bpy.ops.node.group_ungroup*", "interface/controls/nodes/groups.html#bpy-ops-node-group-ungroup"), ("bpy.ops.object.gpencil_add*", "grease_pencil/primitives.html#bpy-ops-object-gpencil-add"), ("bpy.ops.object.select_less*", "scene_layout/object/selecting.html#bpy-ops-object-select-less"), ("bpy.ops.object.select_more*", "scene_layout/object/selecting.html#bpy-ops-object-select-more"), @@ -1280,6 +1355,7 @@ url_manual_mapping = ( ("bpy.types.scene.frame_step*", "render/output/properties/dimensions.html#bpy-types-scene-frame-step"), ("bpy.types.sceneeevee.bloom*", "render/eevee/render_settings/bloom.html#bpy-types-sceneeevee-bloom"), ("bpy.types.sculpt.show_mask*", "sculpt_paint/sculpting/editing/mask.html#bpy-types-sculpt-show-mask"), + ("bpy.types.sequence.channel*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequence-channel"), ("bpy.types.sequencemodifier*", "video_editing/sequencer/sidebar/modifiers.html#bpy-types-sequencemodifier"), ("bpy.types.shaderfxcolorize*", "grease_pencil/visual_effects/colorize.html#bpy-types-shaderfxcolorize"), ("bpy.types.shaderfxpixelate*", "grease_pencil/visual_effects/pixelate.html#bpy-types-shaderfxpixelate"), @@ -1298,9 +1374,10 @@ url_manual_mapping = ( ("bpy.types.spaceview3d.show*", "editors/3dview/display/index.html#bpy-types-spaceview3d-show"), ("bpy.types.subtractsequence*", "video_editing/sequencer/strips/effects/subtract.html#bpy-types-subtractsequence"), ("bpy.types.text.indentation*", "editors/text_editor.html#bpy-types-text-indentation"), + ("bpy.types.texture.contrast*", "render/materials/legacy_textures/colors.html#bpy-types-texture-contrast"), ("bpy.types.texturenodegroup*", "editors/texture_node/types/groups.html#bpy-types-texturenodegroup"), ("bpy.types.texturenodeimage*", "editors/texture_node/types/input/image.html#bpy-types-texturenodeimage"), - ("bpy.types.viewlayer.use_ao*", "render/layers/layers.html#bpy-types-viewlayer-use-ao"), + ("bpy.types.viewlayer.use_ao*", "render/layers/introduction.html#bpy-types-viewlayer-use-ao"), ("bpy.ops.clip.clean_tracks*", "movie_clip/tracking/clip/editing/track.html#bpy-ops-clip-clean-tracks"), ("bpy.ops.clip.delete_track*", "movie_clip/tracking/clip/editing/track.html#bpy-ops-clip-delete-track"), ("bpy.ops.clip.solve_camera*", "movie_clip/tracking/clip/editing/track.html#bpy-ops-clip-solve-camera"), @@ -1392,7 +1469,7 @@ url_manual_mapping = ( ("bpy.ops.object.track_set*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-track-set"), ("bpy.ops.pose.scale_clear*", "animation/armatures/posing/editing/clear.html#bpy-ops-pose-scale-clear"), ("bpy.ops.poselib.pose_add*", "animation/armatures/posing/editing/pose_library.html#bpy-ops-poselib-pose-add"), - ("bpy.ops.scene.view_layer*", "render/layers/layers.html#bpy-ops-scene-view-layer"), + ("bpy.ops.scene.view_layer*", "render/layers/introduction.html#bpy-ops-scene-view-layer"), ("bpy.ops.sequencer.delete*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-delete"), ("bpy.ops.sequencer.reload*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-reload"), ("bpy.ops.sequencer.unlock*", "video_editing/sequencer/editing.html#bpy-ops-sequencer-unlock"), @@ -1426,11 +1503,12 @@ url_manual_mapping = ( ("bpy.types.shadernodebump*", "render/shader_nodes/vector/bump.html#bpy-types-shadernodebump"), ("bpy.types.shadernodemath*", "render/shader_nodes/converter/math.html#bpy-types-shadernodemath"), ("bpy.types.smoothmodifier*", "modeling/modifiers/deform/smooth.html#bpy-types-smoothmodifier"), + ("bpy.types.sound.use_mono*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sound-use-mono"), ("bpy.types.spline.order_u*", "modeling/curves/properties/active_spline.html#bpy-types-spline-order-u"), ("bpy.types.timelinemarker*", "animation/markers.html#bpy-types-timelinemarker"), ("bpy.types.usersolidlight*", "editors/preferences/lights.html#bpy-types-usersolidlight"), ("bpy.types.uvwarpmodifier*", "modeling/modifiers/modify/uv_warp.html#bpy-types-uvwarpmodifier"), - ("bpy.types.viewlayer.name*", "render/layers/layers.html#bpy-types-viewlayer-name"), + ("bpy.types.viewlayer.name*", "render/layers/introduction.html#bpy-types-viewlayer-name"), ("bpy.types.voronoitexture*", "render/materials/legacy_textures/types/voronoi.html#bpy-types-voronoitexture"), ("bpy.types.walknavigation*", "editors/3dview/navigate/walk_fly.html#bpy-types-walknavigation"), ("bpy.ops.*.select_circle*", "interface/selecting.html#bpy-ops-select-circle"), @@ -1455,6 +1533,7 @@ url_manual_mapping = ( ("bpy.ops.nla.apply_scale*", "editors/nla/editing.html#bpy-ops-nla-apply-scale"), ("bpy.ops.nla.clear_scale*", "editors/nla/editing.html#bpy-ops-nla-clear-scale"), ("bpy.ops.nla.mute_toggle*", "editors/nla/editing.html#bpy-ops-nla-mute-toggle"), + ("bpy.ops.node.group_make*", "interface/controls/nodes/groups.html#bpy-ops-node-group-make"), ("bpy.ops.object.armature*", "animation/armatures/index.html#bpy-ops-object-armature"), ("bpy.ops.object.face_map*", "modeling/meshes/properties/object_data.html#bpy-ops-object-face-map"), ("bpy.ops.outliner.delete*", "editors/outliner/editing.html#bpy-ops-outliner-delete"), @@ -1499,7 +1578,7 @@ url_manual_mapping = ( ("bpy.types.sceneeevee.gi*", "render/eevee/render_settings/indirect_lighting.html#bpy-types-sceneeevee-gi"), ("bpy.types.scenesequence*", "video_editing/sequencer/strips/scene.html#bpy-types-scenesequence"), ("bpy.types.screwmodifier*", "modeling/modifiers/generate/screw.html#bpy-types-screwmodifier"), - ("bpy.types.sequenceproxy*", "video_editing/sequencer/sidebar/proxy_cache.html#bpy-types-sequenceproxy"), + ("bpy.types.sequenceproxy*", "video_editing/sequencer/sidebar/proxy.html#bpy-types-sequenceproxy"), ("bpy.types.shaderfxswirl*", "grease_pencil/visual_effects/swirl.html#bpy-types-shaderfxswirl"), ("bpy.types.shadernodergb*", "render/shader_nodes/input/rgb.html#bpy-types-shadernodergb"), ("bpy.types.soundsequence*", "video_editing/sequencer/strips/sound.html#bpy-types-soundsequence"), @@ -1508,6 +1587,7 @@ url_manual_mapping = ( ("bpy.types.spaceuveditor*", "editors/uv/index.html#bpy-types-spaceuveditor"), ("bpy.types.stuccitexture*", "render/materials/legacy_textures/types/stucci.html#bpy-types-stuccitexture"), ("bpy.types.view3doverlay*", "editors/3dview/display/overlays.html#bpy-types-view3doverlay"), + ("bpy.types.viewlayer.use*", "render/layers/view_layer.html#bpy-types-viewlayer-use"), ("bpy.types.volumedisplay*", "modeling/volumes/properties.html#bpy-types-volumedisplay"), ("bpy.types.windowmanager*", "interface/index.html#bpy-types-windowmanager"), ("bpy.ops.*.select_lasso*", "interface/selecting.html#bpy-ops-select-lasso"), @@ -1549,6 +1629,7 @@ url_manual_mapping = ( ("bpy.types.castmodifier*", "modeling/modifiers/deform/cast.html#bpy-types-castmodifier"), ("bpy.types.colormanaged*", "render/color_management.html#bpy-types-colormanaged"), ("bpy.types.curve.offset*", "modeling/curves/properties/geometry.html#bpy-types-curve-offset"), + ("bpy.types.geometrynode*", "modeling/geometry_nodes/index.html#bpy-types-geometrynode"), ("bpy.types.glowsequence*", "video_editing/sequencer/strips/effects/glow.html#bpy-types-glowsequence"), ("bpy.types.gpencillayer*", "grease_pencil/properties/layers.html#bpy-types-gpencillayer"), ("bpy.types.hookmodifier*", "modeling/modifiers/deform/hooks.html#bpy-types-hookmodifier"), @@ -1563,6 +1644,7 @@ url_manual_mapping = ( ("bpy.types.object.scale*", "scene_layout/object/properties/transforms.html#bpy-types-object-scale"), ("bpy.types.particleedit*", "physics/particles/mode.html#bpy-types-particleedit"), ("bpy.types.scene.camera*", "scene_layout/scene/properties.html#bpy-types-scene-camera"), + ("bpy.types.sequencecrop*", "video_editing/sequencer/sidebar/strip.html#bpy-types-sequencecrop"), ("bpy.types.shaderfxblur*", "grease_pencil/visual_effects/blur.html#bpy-types-shaderfxblur"), ("bpy.types.shaderfxflip*", "grease_pencil/visual_effects/flip.html#bpy-types-shaderfxflip"), ("bpy.types.shaderfxglow*", "grease_pencil/visual_effects/glow.html#bpy-types-shaderfxglow"), @@ -1629,6 +1711,7 @@ url_manual_mapping = ( ("bpy.ops.graph.mirror*", "editors/graph_editor/fcurves/editing.html#bpy-ops-graph-mirror"), ("bpy.ops.graph.sample*", "editors/graph_editor/fcurves/editing.html#bpy-ops-graph-sample"), ("bpy.ops.graph.smooth*", "editors/graph_editor/fcurves/editing.html#bpy-ops-graph-smooth"), + ("bpy.ops.graph.unbake*", "editors/graph_editor/fcurves/editing.html#bpy-ops-graph-unbake"), ("bpy.ops.object.align*", "scene_layout/object/editing/transform/align_objects.html#bpy-ops-object-align"), ("bpy.ops.object.empty*", "modeling/empties.html#bpy-ops-object-empty"), ("bpy.ops.object.quick*", "physics/introduction.html#bpy-ops-object-quick"), @@ -1680,7 +1763,7 @@ url_manual_mapping = ( ("bpy.types.udimtiles*", "modeling/meshes/uv/workflows/udims.html#bpy-types-udimtiles"), ("bpy.types.uipiemenu*", "interface/controls/buttons/menus.html#bpy-types-uipiemenu"), ("bpy.types.uipopover*", "interface/controls/buttons/menus.html#bpy-types-uipopover"), - ("bpy.types.viewlayer*", "render/layers/layers.html#bpy-types-viewlayer"), + ("bpy.types.viewlayer*", "render/layers/introduction.html#bpy-types-viewlayer"), ("bpy.ops.collection*", "scene_layout/collections/collections.html#bpy-ops-collection"), ("bpy.ops.constraint*", "animation/constraints/index.html#bpy-ops-constraint"), ("bpy.ops.curve.draw*", "modeling/curves/tools/draw.html#bpy-ops-curve-draw"), @@ -1701,6 +1784,7 @@ url_manual_mapping = ( ("bpy.ops.pose.paste*", "animation/armatures/posing/editing/copy_paste.html#bpy-ops-pose-paste"), ("bpy.ops.pose.relax*", "animation/armatures/posing/editing/in_betweens.html#bpy-ops-pose-relax"), ("bpy.ops.safe_areas*", "render/cameras.html#bpy-ops-safe-areas"), + ("bpy.types.aov.type*", "render/layers/passes.html#bpy-types-aov-type"), ("bpy.types.armature*", "animation/armatures/index.html#bpy-types-armature"), ("bpy.types.editbone*", "animation/armatures/bones/editing/index.html#bpy-types-editbone"), ("bpy.types.facemaps*", "modeling/meshes/properties/object_data.html#bpy-types-facemaps"), @@ -1819,6 +1903,7 @@ url_manual_mapping = ( ("bpy.ops.paint*", "sculpt_paint/index.html#bpy-ops-paint"), ("bpy.ops.scene*", "scene_layout/scene/index.html#bpy-ops-scene"), ("bpy.ops.sound*", "render/output/audio/index.html#bpy-ops-sound"), + ("bpy.types.aov*", "render/layers/passes.html#bpy-types-aov"), ("bpy.types.key*", "animation/shape_keys/index.html#bpy-types-key"), ("bpy.ops.anim*", "animation/index.html#bpy-ops-anim"), ("bpy.ops.boid*", "physics/particles/emitter/physics/boids.html#bpy-ops-boid"), diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index d3990851e2c..73f05fb3d80 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -290,11 +290,16 @@ def _template_items_uv_select_mode(params): ] -def _template_items_proportional_editing(*, connected=False): +def _template_items_proportional_editing(params, *, connected, toggle_data_path): return [ - op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}) + if not params.legacy else + ("wm.context_cycle_enum", {"type": 'O', "value": 'PRESS', "shift": True}, + {"properties": [("data_path", 'tool_settings.proportional_edit_falloff'), ("wrap", True)]}) + ), ("wm.context_toggle", {"type": 'O', "value": 'PRESS'}, - {"properties": [("data_path", 'tool_settings.use_proportional_edit')]}), + {"properties": [("data_path", toggle_data_path)]}), *(() if not connected else ( ("wm.context_toggle", {"type": 'O', "value": 'PRESS', "alt": True}, {"properties": [("data_path", 'tool_settings.use_proportional_connected')]}), @@ -537,6 +542,9 @@ def km_screen(params): ("ed.undo_history", {"type": 'Z', "value": 'PRESS', "ctrl": True, "alt": True}, None), ("screen.screen_full_area", {"type": 'UP_ARROW', "value": 'PRESS', "ctrl": True}, None), ("screen.screen_full_area", {"type": 'DOWN_ARROW', "value": 'PRESS', "ctrl": True}, None), + ("screen.screen_full_area", {"type": 'SPACE', "value": 'PRESS', "shift": True}, None), + ("screen.screen_full_area", {"type": 'F10', "value": 'PRESS', "alt": True}, + {"properties": [("use_hide_panels", True)]}), ("screen.screen_set", {"type": 'RIGHT_ARROW', "value": 'PRESS', "ctrl": True}, {"properties": [("delta", 1)]}), ("screen.screen_set", {"type": 'LEFT_ARROW', "value": 'PRESS', "ctrl": True}, @@ -788,9 +796,9 @@ def km_outliner(params): ("outliner.select_box", {"type": 'B', "value": 'PRESS'}, None), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, {"properties": [("tweak", True)]}), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True}, - {"properties": [("tweak", True), ("mode", "ADD")]}), + {"properties": [("tweak", True), ("mode", 'ADD')]}), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True}, - {"properties": [("tweak", True), ("mode", "SUB")]}), + {"properties": [("tweak", True), ("mode", 'SUB')]}), ("outliner.select_walk", {"type": 'UP_ARROW', "value": 'PRESS', "repeat": True}, {"properties": [("direction", 'UP')]}), ("outliner.select_walk", {"type": 'UP_ARROW', "value": 'PRESS', "shift": True, "repeat": True}, @@ -915,9 +923,14 @@ def km_uv_editor(params): ("uv.hide", {"type": 'H', "value": 'PRESS', "shift": True}, {"properties": [("unselected", True)]}), ("uv.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None), - op_menu_pie("IMAGE_MT_uvs_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("IMAGE_MT_uvs_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + op_menu("IMAGE_MT_uvs_snap", {"type": 'S', "value": 'PRESS', "shift": True}) + ), op_menu("IMAGE_MT_uvs_select_mode", {"type": 'TAB', "value": 'PRESS', "ctrl": True}), - *_template_items_proportional_editing(connected=False), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_edit'), ("transform.translate", {"type": 'G', "value": 'PRESS'}, None), ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None), ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None), @@ -1215,17 +1228,22 @@ def km_view3d(params): ("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None), ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None), ("transform.mirror", {"type": 'M', "value": 'PRESS', "ctrl": True}, None), + ("object.transform_axis_target", {"type": 'T', "value": 'PRESS', "shift": True}, None), + ("transform.skin_resize", {"type": 'A', "value": 'PRESS', "ctrl": True}, None), + # Snapping. ("wm.context_toggle", {"type": 'TAB', "value": 'PRESS', "shift": True}, {"properties": [("data_path", 'tool_settings.use_snap')]}), op_panel("VIEW3D_PT_snapping", {"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True}, [("keep_open", True)]), - ("object.transform_axis_target", {"type": 'T', "value": 'PRESS', "shift": True}, None), - ("transform.skin_resize", {"type": 'A', "value": 'PRESS', "ctrl": True}, None), + ( + op_menu_pie("VIEW3D_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + op_menu("VIEW3D_MT_snap", {"type": 'S', "value": 'PRESS', "shift": True}) + ), ]) if not params.legacy: # New pie menus. items.extend([ - op_menu_pie("VIEW3D_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), ("wm.context_toggle", {"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True}, {"properties": [("data_path", 'space_data.show_gizmo')]}), op_menu_pie("VIEW3D_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), @@ -1246,7 +1264,6 @@ def km_view3d(params): else: items.extend([ # Old navigation. - op_menu("VIEW3D_MT_snap", {"type": 'S', "value": 'PRESS', "shift": True}), ("view3d.view_lock_to_active", {"type": 'NUMPAD_PERIOD', "value": 'PRESS', "shift": True}, None), ("view3d.view_lock_clear", {"type": 'NUMPAD_PERIOD', "value": 'PRESS', "alt": True}, None), ("view3d.navigate", {"type": 'F', "value": 'PRESS', "shift": True}, None), @@ -1335,9 +1352,8 @@ def km_mask_editing(params): items.extend([ ("mask.new", {"type": 'N', "value": 'PRESS', "alt": True}, None), op_menu("MASK_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}), - op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}), - ("wm.context_toggle", {"type": 'O', "value": 'PRESS'}, - {"properties": [("data_path", 'tool_settings.use_proportional_edit_mask')]}), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_mask'), ("mask.add_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None), ("mask.add_feather_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None), ("mask.delete", {"type": 'X', "value": 'PRESS'}, None), @@ -1445,7 +1461,7 @@ def km_time_scrub(_params): ) items.extend([ - ("anim.change_frame", {"type": "LEFTMOUSE", "value": 'PRESS'}, None), + ("anim.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None), ]) return keymap @@ -1460,7 +1476,7 @@ def km_time_scrub_clip(_params): ) items.extend([ - ("clip.change_frame", {"type": "LEFTMOUSE", "value": 'PRESS'}, None), + ("clip.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None), ]) return keymap @@ -1554,7 +1570,11 @@ def km_graph_editor(params): ("graph.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None), ("graph.select_linked", {"type": 'L', "value": 'PRESS'}, None), ("graph.frame_jump", {"type": 'G', "value": 'PRESS', "ctrl": True}, None), - op_menu_pie("GRAPH_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("GRAPH_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + ("graph.snap", {"type": 'S', "value": 'PRESS', "shift": True}, None) + ), ("graph.mirror", {"type": 'M', "value": 'PRESS', "ctrl": True}, None), ("graph.handle_type", {"type": 'V', "value": 'PRESS'}, None), ("graph.interpolation_type", {"type": 'T', "value": 'PRESS'}, None), @@ -1563,7 +1583,7 @@ def km_graph_editor(params): ("graph.sample", {"type": 'O', "value": 'PRESS', "shift": True, "alt": True}, None), ("graph.bake", {"type": 'C', "value": 'PRESS', "alt": True}, None), op_menu("GRAPH_MT_delete", {"type": 'X', "value": 'PRESS'}), - op_menu("GRAPH_MT_delete", {"type": 'DEL', "value": 'PRESS'}), + ("graph.delete", {"type": 'DEL', "value": 'PRESS'}, {"properties": [("confirm", False)]}), ("graph.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None), ("graph.keyframe_insert", {"type": 'I', "value": 'PRESS'}, None), ("graph.click_insert", {"type": params.action_mouse, "value": 'CLICK', "ctrl": True}, @@ -1588,15 +1608,28 @@ def km_graph_editor(params): {"properties": [("mode", 'TIME_EXTEND')]}), ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None), ("transform.resize", {"type": 'S', "value": 'PRESS'}, None), - ("wm.context_toggle", {"type": 'O', "value": 'PRESS'}, - {"properties": [("data_path", 'tool_settings.use_proportional_fcurve')]}), - op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}), - op_menu_pie("GRAPH_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_fcurve'), ("marker.add", {"type": 'M', "value": 'PRESS'}, None), ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None), *_template_items_context_menu("GRAPH_MT_context_menu", params.context_menu_event), ]) + if not params.legacy: + items.extend([ + op_menu_pie("GRAPH_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), + ]) + else: + items.extend([ + # Old pivot. + ("wm.context_set_enum", {"type": 'COMMA', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'BOUNDING_BOX_CENTER')]}), + ("wm.context_set_enum", {"type": 'PERIOD', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'CURSOR')]}), + ("wm.context_set_enum", {"type": 'PERIOD', "value": 'PRESS', "ctrl": True}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'INDIVIDUAL_ORIGINS')]}), + ]) + if params.select_mouse == 'LEFTMOUSE' and not params.legacy: items.extend([ ("graph.cursor_set", {"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True}, None), @@ -1609,7 +1642,7 @@ def km_graph_editor(params): return keymap -def km_image_generic(_params): +def km_image_generic(params): items = [] keymap = ( "Image Generic", @@ -1627,12 +1660,20 @@ def km_image_generic(_params): ("image.reload", {"type": 'R', "value": 'PRESS', "alt": True}, None), ("image.read_viewlayers", {"type": 'R', "value": 'PRESS', "ctrl": True}, None), ("image.save", {"type": 'S', "value": 'PRESS', "alt": True}, None), - ("image.save_as", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None), ("image.cycle_render_slot", {"type": 'J', "value": 'PRESS', "repeat": True}, None), ("image.cycle_render_slot", {"type": 'J', "value": 'PRESS', "alt": True, "repeat": True}, {"properties": [("reverse", True)]}), ]) + if not params.legacy: + items.extend([ + ("image.save_as", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None), + ]) + else: + items.extend([ + ("image.save_as", {"type": 'F3', "value": 'PRESS'}, None), + ]) + return keymap @@ -1697,14 +1738,25 @@ def km_image(params): for i in range(9) ) ), - op_menu_pie("IMAGE_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), ("image.render_border", {"type": 'B', "value": 'PRESS', "ctrl": True}, None), ("image.clear_render_border", {"type": 'B', "value": 'PRESS', "ctrl": True, "alt": True}, None), *_template_items_context_menu("IMAGE_MT_mask_context_menu", params.context_menu_event), ]) - if params.legacy: + if not params.legacy: items.extend([ + op_menu_pie("IMAGE_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), + ]) + else: + items.extend([ + # Old pivot. + ("wm.context_set_enum", {"type": 'COMMA', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'CENTER')]}), + ("wm.context_set_enum", {"type": 'COMMA', "value": 'PRESS', "ctrl": True}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'MEDIAN')]}), + ("wm.context_set_enum", {"type": 'PERIOD', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'CURSOR')]}), + ("image.view_center_cursor", {"type": 'HOME', "value": 'PRESS', "alt": True}, None), ]) @@ -1758,11 +1810,20 @@ def km_node_editor(params): ] # Allow node selection with both for RMB select - if params.select_mouse == 'RIGHTMOUSE': - items.extend(node_select_ops('LEFTMOUSE')) - items.extend(node_select_ops('RIGHTMOUSE')) + if not params.legacy: + if params.select_mouse == 'RIGHTMOUSE': + items.extend(node_select_ops('LEFTMOUSE')) + items.extend(node_select_ops('RIGHTMOUSE')) + else: + items.extend(node_select_ops('LEFTMOUSE')) else: - items.extend(node_select_ops('LEFTMOUSE')) + items.extend(node_select_ops('RIGHTMOUSE')) + items.extend([ + ("node.select", {"type": 'LEFTMOUSE', "value": 'PRESS'}, + {"properties": [("extend", False), ("deselect_all", False)]}), + ("node.select", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True}, + {"properties": [("extend", True)]}), + ]) items.extend([ ("node.select_box", {"type": params.select_tweak, "value": 'ANY'}, @@ -1777,8 +1838,8 @@ def km_node_editor(params): ("node.link", {"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True}, {"properties": [("detach", True)]}), ("node.resize", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None), - ("node.add_reroute", {"type": 'EVT_TWEAK_R', "value": 'ANY', "shift": True}, None), - ("node.links_cut", {"type": 'EVT_TWEAK_R', "value": 'ANY', "ctrl": True}, None), + ("node.add_reroute", {"type": 'EVT_TWEAK_L' if params.legacy else 'EVT_TWEAK_R', "value": 'ANY', "shift": True}, None), + ("node.links_cut", {"type": 'EVT_TWEAK_L' if params.legacy else 'EVT_TWEAK_R', "value": 'ANY', "ctrl": True}, None), ("node.select_link_viewer", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None), ("node.backimage_move", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "alt": True}, None), ("node.backimage_zoom", {"type": 'V', "value": 'PRESS', "repeat": True}, @@ -2104,7 +2165,11 @@ def km_dopesheet(params): ("action.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None), ("action.select_linked", {"type": 'L', "value": 'PRESS'}, None), ("action.frame_jump", {"type": 'G', "value": 'PRESS', "ctrl": True}, None), - op_menu_pie("DOPESHEET_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("DOPESHEET_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + ("action.snap", {"type": 'S', "value": 'PRESS', "shift": True}, None) + ), ("action.mirror", {"type": 'M', "value": 'PRESS', "ctrl": True}, None), ("action.handle_type", {"type": 'V', "value": 'PRESS'}, None), ("action.interpolation_type", {"type": 'T', "value": 'PRESS'}, None), @@ -2113,7 +2178,7 @@ def km_dopesheet(params): ("action.keyframe_type", {"type": 'R', "value": 'PRESS'}, None), ("action.sample", {"type": 'O', "value": 'PRESS', "shift": True, "alt": True}, None), op_menu("DOPESHEET_MT_delete", {"type": 'X', "value": 'PRESS'}), - op_menu("DOPESHEET_MT_delete", {"type": 'DEL', "value": 'PRESS'}), + ("action.delete", {"type": 'DEL', "value": 'PRESS'}, {"properties": [("confirm", False)]}), ("action.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None), ("action.keyframe_insert", {"type": 'I', "value": 'PRESS'}, None), ("action.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), @@ -2137,9 +2202,8 @@ def km_dopesheet(params): {"properties": [("mode", 'TIME_SCALE')]}), ("transform.transform", {"type": 'T', "value": 'PRESS', "shift": True}, {"properties": [("mode", 'TIME_SLIDE')]}), - ("wm.context_toggle", {"type": 'O', "value": 'PRESS'}, - {"properties": [("data_path", 'tool_settings.use_proportional_action')]}), - op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_action'), ("marker.add", {"type": 'M', "value": 'PRESS'}, None), ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None), ("marker.camera_bind", {"type": 'B', "value": 'PRESS', "ctrl": True}, None), @@ -2257,7 +2321,11 @@ def km_nla_editor(params): ("nla.move_down", {"type": 'PAGE_DOWN', "value": 'PRESS', "repeat": True}, None), ("nla.apply_scale", {"type": 'A', "value": 'PRESS', "ctrl": True}, None), ("nla.clear_scale", {"type": 'S', "value": 'PRESS', "alt": True}, None), - op_menu_pie("NLA_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("NLA_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + ("nla.snap", {"type": 'S', "value": 'PRESS', "shift": True}, None) + ), ("nla.fmodifier_add", {"type": 'M', "value": 'PRESS', "shift": True, "ctrl": True}, None), ("transform.transform", {"type": 'G', "value": 'PRESS'}, {"properties": [("mode", 'TRANSLATION')]}), @@ -2488,8 +2556,8 @@ def km_sequencer(params): {"properties": [("unselected", False)]}), ("sequencer.unmute", {"type": 'H', "value": 'PRESS', "shift": True, "alt": True}, {"properties": [("unselected", True)]}), - ("sequencer.lock", {"type": 'L', "value": 'PRESS', "shift": True}, None), - ("sequencer.unlock", {"type": 'L', "value": 'PRESS', "shift": True, "alt": True}, None), + ("sequencer.lock", {"type": 'H', "value": 'PRESS', "ctrl": True}, None), + ("sequencer.unlock", {"type": 'H', "value": 'PRESS', "ctrl": True, "alt": True}, None), ("sequencer.reassign_inputs", {"type": 'R', "value": 'PRESS'}, None), ("sequencer.reload", {"type": 'R', "value": 'PRESS', "alt": True}, None), ("sequencer.reload", {"type": 'R', "value": 'PRESS', "shift": True, "alt": True}, @@ -2826,14 +2894,25 @@ def km_clip_editor(params): ("clip.clear_track_path", {"type": 'T', "value": 'PRESS', "shift": True, "alt": True}, {"properties": [("action", 'ALL'), ("clear_active", False)]}), ("clip.cursor_set", params.cursor_set_event, None), - op_menu_pie("CLIP_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), ("clip.copy_tracks", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), ("clip.paste_tracks", {"type": 'V', "value": 'PRESS', "ctrl": True}, None), *_template_items_context_menu("CLIP_MT_tracking_context_menu", params.context_menu_event), ]) - if params.legacy: + if not params.legacy: + op_menu_pie("CLIP_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}), + else: items.extend([ + # Old pivot. + ("wm.context_set_enum", {"type": 'COMMA', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'BOUNDING_BOX_CENTER')]}), + ("wm.context_set_enum", {"type": 'COMMA', "value": 'PRESS', "ctrl": True}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'MEDIAN_POINT')]}), + ("wm.context_set_enum", {"type": 'PERIOD', "value": 'PRESS'}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'CURSOR')]}), + ("wm.context_set_enum", {"type": 'PERIOD', "value": 'PRESS', "ctrl": True}, + {"properties": [("data_path", 'space_data.pivot_point'), ("value", 'INDIVIDUAL_ORIGINS')]}), + ("clip.view_center_cursor", {"type": 'HOME', "value": 'PRESS', "alt": True}, None), ]) @@ -3201,7 +3280,11 @@ def km_grease_pencil_stroke_edit_mode(params): ("gpencil.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), ("gpencil.paste", {"type": 'V', "value": 'PRESS', "ctrl": True}, None), # Snap - op_menu_pie("GPENCIL_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}), + ( + op_menu_pie("GPENCIL_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}) + if not params.legacy else + op_menu("GPENCIL_MT_snap", {"type": 'S', "value": 'PRESS', "shift": True}) + ), # Show/hide ("gpencil.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None), ("gpencil.hide", {"type": 'H', "value": 'PRESS'}, @@ -3229,7 +3312,8 @@ def km_grease_pencil_stroke_edit_mode(params): ("transform.transform", {"type": 'F', "value": 'PRESS', "shift": True}, {"properties": [("mode", 'GPENCIL_OPACITY')]}), # Proportional editing. - *_template_items_proportional_editing(connected=True), + *_template_items_proportional_editing( + params, connected=True, toggle_data_path='tool_settings.use_proportional_edit'), # Curve edit mode toggle. ("wm.context_toggle", {"type": 'U', "value": 'PRESS'}, {"properties": [("data_path", 'gpencil_data.use_curve_edit')]}), @@ -3994,9 +4078,8 @@ def km_object_mode(params): ) items.extend([ - op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}), - ("wm.context_toggle", {"type": 'O', "value": 'PRESS'}, - {"properties": [("data_path", 'tool_settings.use_proportional_edit_objects')]}), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_objects'), *_template_items_select_actions(params, "object.select_all"), ("object.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None), ("object.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None), @@ -4160,7 +4243,8 @@ def km_curve(params): ("curve.normals_make_consistent", {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None), ("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None), op_menu("VIEW3D_MT_hook", {"type": 'H', "value": 'PRESS', "ctrl": True}), - *_template_items_proportional_editing(connected=True), + *_template_items_proportional_editing( + params, connected=True, toggle_data_path='tool_settings.use_proportional_edit'), *_template_items_context_menu("VIEW3D_MT_edit_curve_context_menu", params.context_menu_event), ]) @@ -4396,9 +4480,9 @@ def km_sculpt(params): ("sculpt.mask_expand", {"type": 'W', "value": 'PRESS', "shift": True}, {"properties": [("use_normals", False), ("keep_previous_mask", False), ("invert", False), ("smooth_iterations", 0), ("create_face_set", True)]}), ("sculpt.face_set_edit", {"type": 'W', "value": 'PRESS', "ctrl": True}, - {"properties": [("mode", "GROW")]}), + {"properties": [("mode", 'GROW')]}), ("sculpt.face_set_edit", {"type": 'W', "value": 'PRESS', "ctrl": True, "alt": True}, - {"properties": [("mode", "SHRINK")]}), + {"properties": [("mode", 'SHRINK')]}), # Subdivision levels *_template_items_object_subdivision_set(), ("object.subdivision_set", {"type": 'PAGE_UP', "value": 'PRESS', "repeat": True}, @@ -4566,7 +4650,7 @@ def km_mesh(params): op_menu("VIEW3D_MT_edit_mesh_merge", {"type": 'M', "value": 'PRESS'}), op_menu("VIEW3D_MT_edit_mesh_split", {"type": 'M', "value": 'PRESS', "alt": True}), ("transform.shrink_fatten", {"type": 'S', "value": 'PRESS', "alt": True}, None), - ("mesh.edge_face_add", {"type": 'F', "value": 'PRESS'}, None), + ("mesh.edge_face_add", {"type": 'F', "value": 'PRESS', "repeat": True}, None), ("mesh.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None), op_menu("VIEW3D_MT_mesh_add", {"type": 'A', "value": 'PRESS', "shift": True}), ("mesh.separate", {"type": 'P', "value": 'PRESS'}, None), @@ -4596,7 +4680,8 @@ def km_mesh(params): op_menu("VIEW3D_MT_vertex_group", {"type": 'G', "value": 'PRESS', "ctrl": True}), op_menu("VIEW3D_MT_edit_mesh_normals", {"type": 'N', "value": 'PRESS', "alt": True}), ("object.vertex_group_remove_from", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None), - *_template_items_proportional_editing(connected=True), + *_template_items_proportional_editing( + params, connected=True, toggle_data_path='tool_settings.use_proportional_edit'), *_template_items_context_menu("VIEW3D_MT_edit_mesh_context_menu", params.context_menu_event), ]) @@ -4728,7 +4813,8 @@ def km_metaball(params): ("mball.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None), *_template_items_select_actions(params, "mball.select_all"), ("mball.select_similar", {"type": 'G', "value": 'PRESS', "shift": True}, None), - *_template_items_proportional_editing(connected=True), + *_template_items_proportional_editing( + params, connected=True, toggle_data_path='tool_settings.use_proportional_edit'), *_template_items_context_menu("VIEW3D_MT_edit_metaball_context_menu", params.context_menu_event), ]) @@ -4751,7 +4837,8 @@ def km_lattice(params): ("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None), ("lattice.flip", {"type": 'F', "value": 'PRESS', "alt": True}, None), op_menu("VIEW3D_MT_hook", {"type": 'H', "value": 'PRESS', "ctrl": True}), - *_template_items_proportional_editing(connected=False), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_edit'), *_template_items_context_menu("VIEW3D_MT_edit_lattice_context_menu", params.context_menu_event), ]) @@ -4797,7 +4884,8 @@ def km_particle(params): for i, value in enumerate(('PATH', 'POINT', 'TIP')) ) ), - *_template_items_proportional_editing(connected=False), + *_template_items_proportional_editing( + params, connected=False, toggle_data_path='tool_settings.use_proportional_edit'), *_template_items_context_menu("VIEW3D_MT_particle_context_menu", params.context_menu_event), ]) @@ -5048,10 +5136,10 @@ def km_transform_modal_map(_params): return keymap -def km_view3d_interactive_add_tool_modal_map(_params): +def km_view3d_interactive_add_tool_modal(_params): items = [] keymap = ( - "View3D Placement Modal Map", + "View3D Placement Modal", {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True}, {"items": items}, ) @@ -6958,7 +7046,7 @@ def generate_keymaps(params=None): km_eyedropper_modal_map(params), km_eyedropper_colorramp_pointsampling_map(params), km_transform_modal_map(params), - km_view3d_interactive_add_tool_modal_map(params), + km_view3d_interactive_add_tool_modal(params), km_view3d_gesture_circle(params), km_gesture_border(params), km_gesture_zoom_border(params), diff --git a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py index 4b8a470a3ae..4cffb6805a0 100644 --- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py +++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py @@ -494,9 +494,9 @@ def km_outliner(params): {"properties": [("extend", True), ("extend_range", True), ("deselect_all", True)]}), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, {"properties": [("tweak", True)]}), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True}, - {"properties": [("tweak", True), ("mode", "ADD")]}), + {"properties": [("tweak", True), ("mode", 'ADD')]}), ("outliner.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True}, - {"properties": [("tweak", True), ("mode", "SUB")]}), + {"properties": [("tweak", True), ("mode", 'SUB')]}), ("outliner.select_walk", {"type": 'UP_ARROW', "value": 'PRESS', "repeat": True}, {"properties": [("direction", 'UP')]}), ("outliner.select_walk", {"type": 'UP_ARROW', "value": 'PRESS', "shift": True, "repeat": True}, @@ -586,7 +586,7 @@ def km_uv_editor(params): ("uv.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True}, {"properties": [("extend", True), ("deselect_all", False)]}), - ("transform.translate", {"type": "EVT_TWEAK_L", "value": 'ANY'}, None), + ("transform.translate", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None), ("uv.select_loop", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK', "shift": True}, {"properties": [("extend", True)]}), ("uv.select_loop", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'}, @@ -929,7 +929,7 @@ def km_graph_editor(params): ("graph.select_less", {"type": 'DOWN_ARROW', "value": 'PRESS', "repeat": True}, None), ("graph.select_linked", {"type": 'RIGHT_BRACKET', "value": 'PRESS'}, None), op_menu("GRAPH_MT_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}), - op_menu("GRAPH_MT_delete", {"type": 'DEL', "value": 'PRESS'}), + ("graph.delete", {"type": 'DEL', "value": 'PRESS'}, {"properties": [("confirm", False)]}), *_template_items_context_menu("GRAPH_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}), ("graph.duplicate_move", {"type": 'D', "value": 'PRESS', "ctrl": True}, None), ("graph.keyframe_insert", {"type": 'S', "value": 'PRESS'}, None), @@ -1416,7 +1416,7 @@ def km_dopesheet(params): op_menu_pie("DOPESHEET_MT_snap_pie", {"type": 'X', "value": 'PRESS', "shift": True}), *_template_items_context_menu("DOPESHEET_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}), op_menu("DOPESHEET_MT_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}), - op_menu("DOPESHEET_MT_delete", {"type": 'DEL', "value": 'PRESS'}), + ("action.delete", {"type": 'DEL', "value": 'PRESS'}, {"properties": [("confirm", False)]}), ("action.duplicate_move", {"type": 'D', "value": 'PRESS', "ctrl": True}, None), ("action.keyframe_insert", {"type": 'S', "value": 'PRESS'}, None), ("action.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), @@ -2277,7 +2277,7 @@ def km_grease_pencil(_params): def _grease_pencil_selection(params): return [ - ("gpencil.select", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True}, + ("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True}, {"properties": [("extend", True), ("toggle", True)]}), # Select all ("gpencil.select_all", {"type": 'A', "value": 'PRESS', "ctrl": True}, {"properties": [("action", 'SELECT')]}), @@ -3997,6 +3997,19 @@ def km_3d_view_tool_edit_gpencil_select(params): ) +def km_3d_view_tool_interactive_add(params): + return ( + "3D View Tool: Object, Add Primitive", + {"space_type": 'VIEW_3D', "region_type": 'WINDOW'}, + {"items": [ + ("view3d.interactive_add", {"type": params.tool_tweak, "value": 'ANY'}, + {"properties": [("wait_for_input", False)]}), + ("view3d.interactive_add", {"type": params.tool_tweak, "value": 'ANY', "ctrl": True}, + {"properties": [("wait_for_input", False)]}), + ]}, + ) + + # Fallback for gizmos that don't have custom a custom key-map. @@ -4135,6 +4148,7 @@ def generate_keymaps_impl(params=None): km_3d_view_tool_select(params), km_image_editor_tool_uv_select(params), km_3d_view_tool_edit_gpencil_select(params), + km_3d_view_tool_interactive_add(params), ] diff --git a/release/scripts/startup/bl_operators/geometry_nodes.py b/release/scripts/startup/bl_operators/geometry_nodes.py index 12cb9473b64..9652f23aadb 100644 --- a/release/scripts/startup/bl_operators/geometry_nodes.py +++ b/release/scripts/startup/bl_operators/geometry_nodes.py @@ -27,6 +27,9 @@ def geometry_node_group_empty_new(context): output_node = group.nodes.new('NodeGroupOutput') output_node.is_active_output = True + input_node.select = False + output_node.select = False + input_node.location.x = -200 - input_node.width output_node.location.x = 200 @@ -38,8 +41,8 @@ def geometry_node_group_empty_new(context): def geometry_modifier_poll(context) -> bool: ob = context.object - # Test object support for geometry node modifier (No volume or hair object support yet) - if not ob or ob.type not in {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT', 'POINTCLOUD'}: + # Test object support for geometry node modifier (No volume, curve, or hair object support yet) + if not ob or ob.type not in {'MESH', 'POINTCLOUD'}: return False return True @@ -62,9 +65,6 @@ class NewGeometryNodesModifier(bpy.types.Operator): if not modifier: return {'CANCELLED'} - group = geometry_node_group_empty_new(context) - modifier.node_group = group - return {'FINISHED'} diff --git a/release/scripts/startup/bl_operators/userpref.py b/release/scripts/startup/bl_operators/userpref.py index 9adb518ff55..0cd97ca6a9e 100644 --- a/release/scripts/startup/bl_operators/userpref.py +++ b/release/scripts/startup/bl_operators/userpref.py @@ -969,9 +969,9 @@ class PREFERENCES_OT_app_template_install(Operator): # Studio Light Operations class PREFERENCES_OT_studiolight_install(Operator): - """Install a user defined studio light""" + """Install a user defined light""" bl_idname = "preferences.studiolight_install" - bl_label = "Install Custom Studio Light" + bl_label = "Install Light" files: CollectionProperty( name="File Path", @@ -981,7 +981,7 @@ class PREFERENCES_OT_studiolight_install(Operator): subtype='DIR_PATH', ) filter_folder: BoolProperty( - name="Filter folders", + name="Filter Folders", default=True, options={'HIDDEN'}, ) @@ -992,9 +992,9 @@ class PREFERENCES_OT_studiolight_install(Operator): type: EnumProperty( name="Type", items=( - ('MATCAP', "MatCap", ""), - ('WORLD', "World", ""), - ('STUDIO', "Studio", ""), + ('MATCAP', "MatCap", "Install custom MatCaps"), + ('WORLD', "World", "Install custom HDRIs"), + ('STUDIO', "Studio", "Install custom Studio Lights"), ) ) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 350d9391acf..2ee20e08589 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -33,11 +33,6 @@ from bpy.props import ( ) from bpy.app.translations import pgettext_iface as iface_ -# FIXME, we need a way to detect key repeat events. -# unfortunately checking event previous values isn't reliable. -use_toolbar_release_hack = True - - rna_path_prop = StringProperty( name="Context Attributes", description="RNA context string", @@ -48,18 +43,21 @@ rna_reverse_prop = BoolProperty( name="Reverse", description="Cycle backwards", default=False, + options={'SKIP_SAVE'}, ) rna_wrap_prop = BoolProperty( name="Wrap", description="Wrap back to the first/last values", default=False, + options={'SKIP_SAVE'}, ) rna_relative_prop = BoolProperty( name="Relative", description="Apply relative to the current value (delta)", default=False, + options={'SKIP_SAVE'}, ) rna_space_type_prop = EnumProperty( @@ -233,6 +231,7 @@ class WM_OT_context_scale_int(Operator): name="Always Step", description="Always adjust the value by a minimum of 1 when 'value' is not 1.0", default=True, + options={'SKIP_SAVE'}, ) def execute(self, context): @@ -741,10 +740,12 @@ class WM_OT_context_modal_mouse(Operator): input_scale: FloatProperty( description="Scale the mouse movement by this value before applying the delta", default=0.01, + options={'SKIP_SAVE'}, ) invert: BoolProperty( description="Invert the mouse input", default=False, + options={'SKIP_SAVE'}, ) initial_x: IntProperty(options={'HIDDEN'}) @@ -974,7 +975,7 @@ class WM_OT_path_open(Operator): return {'FINISHED'} -def _wm_doc_get_id(doc_id, do_url=True, url_prefix=""): +def _wm_doc_get_id(doc_id, do_url=True, url_prefix="", report=None): def operator_exists_pair(a, b): # Not fast, this is only for docs. @@ -1025,6 +1026,11 @@ def _wm_doc_get_id(doc_id, do_url=True, url_prefix=""): # Check class for dynamically registered types. rna_class = bpy.types.PropertyGroup.bl_rna_get_subclass_py(class_name) + if rna_class is None: + if report is not None: + report({'ERROR'}, iface_("Type \"%s\" can not be found") % class_name) + return None + # Detect if this is a inherited member and use that name instead. rna_parent = rna_class.bl_rna rna_prop = rna_parent.properties.get(class_prop) @@ -1084,9 +1090,9 @@ class WM_OT_doc_view_manual(Operator): return url def execute(self, _context): - rna_id = _wm_doc_get_id(self.doc_id, do_url=False) + rna_id = _wm_doc_get_id(self.doc_id, do_url=False, report=self.report) if rna_id is None: - return {'PASS_THROUGH'} + return {'CANCELLED'} url = self._lookup_rna_url(rna_id) @@ -1118,9 +1124,9 @@ class WM_OT_doc_view(Operator): _prefix = ("https://docs.blender.org/api/master") def execute(self, _context): - url = _wm_doc_get_id(self.doc_id, do_url=True, url_prefix=self._prefix) + url = _wm_doc_get_id(self.doc_id, do_url=True, url_prefix=self._prefix, report=self.report) if url is None: - return {'PASS_THROUGH'} + return {'CANCELLED'} import webbrowser webbrowser.open(url) @@ -1687,18 +1693,6 @@ class WM_OT_tool_set_by_id(Operator): space_type: rna_space_type_prop - if use_toolbar_release_hack: - def invoke(self, context, event): - # Hack :S - if not self.properties.is_property_set("name"): - WM_OT_toolbar._key_held = False - return {'PASS_THROUGH'} - elif (WM_OT_toolbar._key_held == event.type) and (event.value != 'RELEASE'): - return {'PASS_THROUGH'} - WM_OT_toolbar._key_held = None - - return self.execute(context) - def execute(self, context): from bl_ui.space_toolsystem_common import ( activate_by_id, @@ -1739,6 +1733,7 @@ class WM_OT_tool_set_by_index(Operator): expand: BoolProperty( description="Include tool subgroups", default=True, + options={'SKIP_SAVE'}, ) as_fallback: BoolProperty( @@ -1789,13 +1784,6 @@ class WM_OT_toolbar(Operator): def poll(cls, context): return context.space_data is not None - if use_toolbar_release_hack: - _key_held = None - - def invoke(self, context, event): - WM_OT_toolbar._key_held = event.type - return self.execute(context) - @staticmethod def keymap_from_toolbar(context, space_type, use_fallback_keys=True, use_reset=True): from bl_ui.space_toolsystem_common import ToolSelectPanelHelper diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py index 71a7b056d07..37a2b6a38e4 100644 --- a/release/scripts/startup/bl_ui/properties_constraint.py +++ b/release/scripts/startup/bl_ui/properties_constraint.py @@ -225,7 +225,7 @@ class ConstraintButtonsPanel(Panel): sub.active = con.use_limit_x sub.prop(con, "min_x", text="Min") sub.prop(con, "max_x", text="Max") - row.label(icon="BLANK1") + row.label(icon='BLANK1') row = layout.row(heading="Y", align=True) row.use_property_decorate = False @@ -234,7 +234,7 @@ class ConstraintButtonsPanel(Panel): sub.active = con.use_limit_y sub.prop(con, "min_y", text="Min") sub.prop(con, "max_y", text="Max") - row.label(icon="BLANK1") + row.label(icon='BLANK1') row = layout.row(heading="Z", align=True) row.use_property_decorate = False @@ -243,7 +243,7 @@ class ConstraintButtonsPanel(Panel): sub.active = con.use_limit_z sub.prop(con, "min_z", text="Min") sub.prop(con, "max_z", text="Max") - row.label(icon="BLANK1") + row.label(icon='BLANK1') layout.prop(con, "use_transform_limit") self.space_template(layout, con, target=False, owner=True) @@ -556,7 +556,7 @@ class ConstraintButtonsPanel(Panel): row = layout.row() row.prop(con, "distance") - row.operator("constraint.limitdistance_reset", text="", icon="X") + row.operator("constraint.limitdistance_reset", text="", icon='X') layout.prop(con, "limit_mode", text="Clamp Region") @@ -576,7 +576,7 @@ class ConstraintButtonsPanel(Panel): row = layout.row() row.prop(con, "rest_length") - row.operator("constraint.stretchto_reset", text="", icon="X") + row.operator("constraint.stretchto_reset", text="", icon='X') layout.separator() diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index 05abfa02500..4cdcab45926 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -133,7 +133,6 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): ) col = row.column(align=True) - col.active = (ob.proxy is None) col.operator("pose.group_add", icon='ADD', text="") col.operator("pose.group_remove", icon='REMOVE', text="") col.menu("DATA_MT_bone_group_context_menu", icon='DOWNARROW_HLT', text="") @@ -156,7 +155,6 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): sub.prop(group.colors, "active", text="") row = layout.row() - row.active = (ob.proxy is None) sub = row.row(align=True) sub.operator("pose.group_assign", text="Assign") diff --git a/release/scripts/startup/bl_ui/properties_data_gpencil.py b/release/scripts/startup/bl_ui/properties_data_gpencil.py index 351d4928ddf..9db6eedb04c 100644 --- a/release/scripts/startup/bl_ui/properties_data_gpencil.py +++ b/release/scripts/startup/bl_ui/properties_data_gpencil.py @@ -23,6 +23,7 @@ from rna_prop_ui import PropertyPanel from bl_ui.properties_grease_pencil_common import ( GreasePencilLayerMasksPanel, + GreasePencilLayerTransformPanel, GreasePencilLayerAdjustmentsPanel, GreasePencilLayerRelationsPanel, GreasePencilLayerDisplayPanel, @@ -90,8 +91,10 @@ class GPENCIL_MT_layer_context_menu(Menu): layout = self.layout ob = context.object gpd = ob.data + gpl = gpd.layers.active - layout.operator("gpencil.layer_duplicate", icon='DUPLICATE') + layout.operator("gpencil.layer_duplicate", text="Duplicate", icon='DUPLICATE').mode='ALL' + layout.operator("gpencil.layer_duplicate", text="Duplicate Empty Keyframes").mode='EMPTY' layout.separator() @@ -103,6 +106,7 @@ class GPENCIL_MT_layer_context_menu(Menu): layout.operator("gpencil.lock_all", icon='LOCKED', text="Lock All") layout.operator("gpencil.unlock_all", icon='UNLOCKED', text="Unlock All") layout.prop(gpd, "use_autolock_layers", text="Autolock Inactive Layers") + layout.prop(gpl, "lock_material") layout.separator() @@ -188,6 +192,12 @@ class DATA_PT_gpencil_layer_masks(LayerDataButtonsPanel, GreasePencilLayerMasksP bl_options = {'DEFAULT_CLOSED'} +class DATA_PT_gpencil_layer_transform(LayerDataButtonsPanel, GreasePencilLayerTransformPanel, Panel): + bl_label = "Transform" + bl_parent_id = 'DATA_PT_gpencil_layers' + bl_options = {'DEFAULT_CLOSED'} + + class DATA_PT_gpencil_layer_adjustments(LayerDataButtonsPanel, GreasePencilLayerAdjustmentsPanel, Panel): bl_label = "Adjustments" bl_parent_id = 'DATA_PT_gpencil_layers' @@ -424,6 +434,7 @@ classes = ( DATA_PT_gpencil_onion_skinning_custom_colors, DATA_PT_gpencil_onion_skinning_display, DATA_PT_gpencil_layer_masks, + DATA_PT_gpencil_layer_transform, DATA_PT_gpencil_layer_adjustments, DATA_PT_gpencil_layer_relations, DATA_PT_gpencil_layer_display, diff --git a/release/scripts/startup/bl_ui/properties_data_volume.py b/release/scripts/startup/bl_ui/properties_data_volume.py index d4f108dcf24..e7bf9adb876 100644 --- a/release/scripts/startup/bl_ui/properties_data_volume.py +++ b/release/scripts/startup/bl_ui/properties_data_volume.py @@ -63,7 +63,7 @@ class DATA_PT_volume_file(DataButtonsPanel, Panel): layout.prop(volume, "filepath", text="") - if len(volume.filepath): + if volume.filepath: layout.use_property_split = True layout.use_property_decorate = False @@ -76,7 +76,7 @@ class DATA_PT_volume_file(DataButtonsPanel, Panel): col.prop(volume, "sequence_mode", text="Mode") error_msg = volume.grids.error_message - if len(error_msg): + if error_msg: layout.separator() col = layout.column(align=True) col.label(text="Failed to load volume:") diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 80e5b49f4fe..67905192fe8 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -592,7 +592,7 @@ class GreasePencilMaterialsPanel: if show_full_ui: row = layout.row() - row.template_ID(ob, "active_material", new="material.new", duplicate="material.duplicate", live_icon=True) + row.template_ID(ob, "active_material", new="material.new", live_icon=True) slot = context.material_slot if slot: @@ -727,12 +727,32 @@ class GreasePencilSimplifyPanel: col.prop(rd, "simplify_gpencil_antialiasing") +class GreasePencilLayerTransformPanel: + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + + ob = context.object + gpd = ob.data + gpl = gpd.layers.active + layout.active = not gpl.lock + + row = layout.row(align=True) + row.prop(gpl, "location") + + row = layout.row(align=True) + row.prop(gpl, "rotation") + + row = layout.row(align=True) + row.prop(gpl, "scale") + + class GreasePencilLayerAdjustmentsPanel: def draw(self, context): layout = self.layout layout.use_property_split = True - scene = context.scene ob = context.object gpd = ob.data @@ -750,15 +770,6 @@ class GreasePencilLayerAdjustmentsPanel: col = layout.row(align=True) col.prop(gpl, "line_change", text="Stroke Thickness") - col = layout.row(align=True) - col.prop(gpl, "pass_index") - - col = layout.row(align=True) - col.prop_search(gpl, "viewlayer_render", scene, "view_layers", text="View Layer") - - col = layout.row(align=True) - col.prop(gpl, "lock_material") - class GPENCIL_UL_masks(UIList): def draw_item(self, _context, layout, _data, item, icon, _active_data, _active_propname, _index): @@ -826,6 +837,7 @@ class GreasePencilLayerRelationsPanel: layout.use_property_split = True layout.use_property_decorate = False + scene = context.scene ob = context.object gpd = ob.data gpl = gpd.layers.active @@ -839,6 +851,14 @@ class GreasePencilLayerRelationsPanel: if parent and gpl.parent_type == 'BONE' and parent.type == 'ARMATURE': col.prop_search(gpl, "parent_bone", parent.data, "bones", text="Bone") + layout.separator() + + col = layout.row(align=True) + col.prop(gpl, "pass_index") + + col = layout.row(align=True) + col.prop_search(gpl, "viewlayer_render", scene, "view_layers", text="View Layer") + class GreasePencilLayerDisplayPanel: diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index e1f2862f826..47ab98386f4 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -133,7 +133,7 @@ class EEVEE_MATERIAL_PT_context_material(MaterialButtonsPanel, Panel): row = layout.row() if ob: - row.template_ID(ob, "active_material", new="material.new", duplicate="material.duplicate") + row.template_ID(ob, "active_material", new="material.new") if slot: icon_link = 'MESH_DATA' if slot.link == 'DATA' else 'OBJECT_DATA' diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py b/release/scripts/startup/bl_ui/properties_physics_cloth.py index 79089b7cb89..3a5ca1e04f5 100644 --- a/release/scripts/startup/bl_ui/properties_physics_cloth.py +++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py @@ -345,6 +345,7 @@ class PHYSICS_PT_cloth_object_collision(PhysicButtonsPanel, Panel): cloth = context.cloth.collision_settings md = context.cloth + ob = context.object layout.active = cloth.use_collision and cloth_panel_enabled(md) @@ -357,6 +358,9 @@ class PHYSICS_PT_cloth_object_collision(PhysicButtonsPanel, Panel): col.prop(cloth, "impulse_clamp") col = flow.column() + col.prop_search(cloth, "vertex_group_object_collisions", ob, "vertex_groups", text="Vertex Group") + + col = flow.column() col.prop(cloth, "collection") diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py index 1ffaa47168f..82f43790d72 100644 --- a/release/scripts/startup/bl_ui/properties_physics_common.py +++ b/release/scripts/startup/bl_ui/properties_physics_common.py @@ -48,6 +48,7 @@ def physics_add(layout, md, name, type, typeicon, toggles): if toggles: row.prop(md, "show_viewport", text="") row.prop(md, "show_render", text="") + return row else: row.operator( "object.modifier_add", @@ -89,7 +90,10 @@ class PHYSICS_PT_add(PhysicButtonsPanel, Panel): col.operator("object.forcefield_toggle", text="Force Field", icon='X') if obj.type == 'MESH': - physics_add(col, context.collision, "Collision", 'COLLISION', 'MOD_PHYSICS', False) + row = physics_add(col, context.collision, "Collision", 'COLLISION', 'MOD_PHYSICS', False) + if row and obj.collision: + row.prop(obj.collision, "use", text="", icon='HIDE_OFF' if obj.collision.use else 'HIDE_ON') + physics_add(col, context.cloth, "Cloth", 'CLOTH', 'MOD_CLOTH', True) physics_add(col, context.dynamic_paint, "Dynamic Paint", 'DYNAMIC_PAINT', 'MOD_DYNAMICPAINT', True) diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index 6005ac30339..3abaa490d02 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -493,14 +493,12 @@ class RENDER_PT_eevee_film(RenderButtonsPanel, Panel): col.prop(rd, "film_transparent", text="Transparent") col = layout.column(align=False, heading="Overscan") - col.use_property_decorate = False row = col.row(align=True) sub = row.row(align=True) sub.prop(props, "use_overscan", text="") sub = sub.row(align=True) sub.active = props.use_overscan sub.prop(props, "overscan_size", text="") - row.prop_decorator(props, "overscan_size") class RENDER_PT_eevee_hair(RenderButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py index 74293e02b60..9b61311c2d3 100644 --- a/release/scripts/startup/bl_ui/properties_world.py +++ b/release/scripts/startup/bl_ui/properties_world.py @@ -51,7 +51,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, Panel): space = context.space_data if scene: - layout.template_ID(scene, "world", new="world.new", duplicate="world.duplicate") + layout.template_ID(scene, "world", new="world.new") elif world: layout.template_ID(space, "pin_id") diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 35fd7333cf4..96920af1c7e 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -303,11 +303,11 @@ class CLIP_MT_masking_editor_menus(Menu): if clip: layout.menu("MASK_MT_select") - layout.menu("CLIP_MT_clip") # XXX - remove? + layout.menu("CLIP_MT_clip") layout.menu("MASK_MT_add") layout.menu("MASK_MT_mask") else: - layout.menu("CLIP_MT_clip") # XXX - remove? + layout.menu("CLIP_MT_clip") class CLIP_PT_clip_view_panel: @@ -502,7 +502,9 @@ class CLIP_PT_tools_tracking(CLIP_PT_tracking_panel, Panel): col = layout.column(align=True) row = col.row(align=True) row.label(text="Merge:") - row.operator("clip.join_tracks", text="Join Tracks") + sub = row.column() + sub.operator("clip.join_tracks", text="Join Tracks") + sub.operator("clip.average_tracks", text="Average Tracks") class CLIP_PT_tools_plane_tracking(CLIP_PT_tracking_panel, Panel): @@ -1330,10 +1332,17 @@ class CLIP_MT_clip(Menu): layout.operator("clip.open") if clip: + layout.operator("clip.set_scene_frames") + layout.operator("clip.set_center_principal") layout.operator("clip.prefetch") layout.operator("clip.reload") layout.menu("CLIP_MT_proxy") + layout.separator() + + layout.operator("clip.set_viewport_background") + layout.operator("clip.setup_tracking_scene") + class CLIP_MT_proxy(Menu): bl_label = "Proxy" @@ -1345,65 +1354,161 @@ class CLIP_MT_proxy(Menu): layout.operator("clip.delete_proxy") -class CLIP_MT_track(Menu): - bl_label = "Track" +class CLIP_MT_track_transform(Menu): + bl_label = "Transform" def draw(self, _context): layout = self.layout - layout.operator("clip.clear_solution") - layout.operator("clip.solve_camera") + layout.operator("transform.translate") + layout.operator("transform.rotate") + layout.operator("transform.resize") + - layout.separator() - props = layout.operator("clip.clear_track_path", text="Clear After") - props.clear_active = False - props.action = 'REMAINED' +class CLIP_MT_track_motion(Menu): + bl_label = "Track Motion" + + def draw(self, _context): + layout = self.layout + + props = layout.operator("clip.track_markers", text="Backwards") + props.backwards = True + props.sequence = True + + props = layout.operator("clip.track_markers", text="Frame Backwards") + props.backwards = True + props.sequence = False + + props = layout.operator("clip.track_markers", text="Forwards") + props.backwards = False + props.sequence = True + + props = layout.operator("clip.track_markers", text="Frame Forwards") + props.backwards = False + props.sequence = False + + +class CLIP_MT_track_clear(Menu): + bl_label = "Clear" - props = layout.operator("clip.clear_track_path", text="Clear Before") + def draw(self, _context): + layout = self.layout + + props = layout.operator("clip.clear_track_path", text="Before") props.clear_active = False props.action = 'UPTO' - props = layout.operator("clip.clear_track_path", text="Clear Track Path") + props = layout.operator("clip.clear_track_path", text="After") + props.clear_active = False + props.action = 'REMAINED' + + props = layout.operator("clip.clear_track_path", text="Track Path") props.clear_active = False props.action = 'ALL' layout.separator() - layout.operator("clip.join_tracks") - layout.separator() + layout.operator("clip.clear_solution", text="Solution") + + +class CLIP_MT_track_refine(Menu): + bl_label = "Refine" + + def draw(self, _context): + layout = self.layout + + props = layout.operator("clip.refine_markers", text="Backwards") + props.backwards = True + + props = layout.operator("clip.refine_markers", text="Forwards") + props.backwards = False + + +class CLIP_MT_track_animation(Menu): + bl_label = "Animation" + + def draw(self, _context): + layout = self.layout + + layout.operator("clip.keyframe_insert") + layout.operator("clip.keyframe_delete") + + +class CLIP_MT_track_visibility(Menu): + bl_label = "Show/Hide" + + def draw(self, _context): + layout = self.layout + + layout.operator("clip.hide_tracks_clear") + layout.operator("clip.hide_tracks", text="Hide Selected").unselected = False + layout.operator("clip.hide_tracks", text="Hide Unselected").unselected = True + + +class CLIP_MT_track_cleanup(Menu): + bl_label = "Clean Up" + + def draw(self, _context): + layout = self.layout + layout.operator("clip.clean_tracks") + layout.operator("clip.filter_tracks") + + +class CLIP_MT_track(Menu): + bl_label = "Track" + + def draw(self, context): + layout = self.layout + + clip = context.space_data.clip + tracking_object = clip.tracking.objects.active + + layout.menu("CLIP_MT_track_transform") + layout.menu("CLIP_MT_track_motion") + layout.menu("CLIP_MT_track_clear") + layout.menu("CLIP_MT_track_refine") layout.separator() - layout.operator("clip.copy_tracks") - layout.operator("clip.paste_tracks") + + layout.operator("clip.add_marker_move", text="Add Marker") + layout.operator("clip.detect_features") + layout.operator("clip.create_plane_track") layout.separator() - props = layout.operator("clip.track_markers", text="Track Frame Backwards") - props.backwards = True - props.sequence = False - props = layout.operator("clip.track_markers", text="Track Backwards") - props.backwards = True - props.sequence = True + layout.operator("clip.solve_camera", + text="Solve Camera Motion" if tracking_object.is_camera + else "Solve Object Motion") - props = layout.operator("clip.track_markers", text="Track Forwards") - props.backwards = False - props.sequence = True + layout.separator() - props = layout.operator("clip.track_markers", text="Track Frame Forwards") - props.backwards = False - props.sequence = False + layout.operator("clip.join_tracks") + layout.operator("clip.average_tracks") layout.separator() - layout.operator("clip.delete_track") - layout.operator("clip.delete_marker") + + layout.operator("clip.copy_tracks", icon='COPYDOWN') + layout.operator("clip.paste_tracks", icon='PASTEDOWN') layout.separator() - layout.operator("clip.add_marker_move") + + layout.operator("clip.track_settings_as_default", text="Copy Settings to Defaults") + layout.operator("clip.track_settings_to_track", text="Apply Default Settings") + + layout.separator() + + layout.menu("CLIP_MT_track_animation") layout.separator() + layout.menu("CLIP_MT_track_visibility") - layout.menu("CLIP_MT_track_transform") + layout.menu("CLIP_MT_track_cleanup") + + layout.separator() + + layout.operator("clip.delete_track") + layout.operator("clip.delete_marker") class CLIP_MT_reconstruction(Menu): @@ -1420,6 +1525,7 @@ class CLIP_MT_reconstruction(Menu): layout.operator("clip.set_axis", text="Set Y Axis").axis = 'Y' layout.operator("clip.set_scale") + layout.operator("clip.apply_solution_scale") layout.separator() @@ -1427,25 +1533,13 @@ class CLIP_MT_reconstruction(Menu): layout.operator("clip.bundles_to_mesh") -class CLIP_MT_track_visibility(Menu): - bl_label = "Show/Hide" - - def draw(self, _context): - layout = self.layout - - layout.operator("clip.hide_tracks_clear") - layout.operator("clip.hide_tracks", text="Hide Selected").unselected = False - layout.operator("clip.hide_tracks", text="Hide Unselected").unselected = True - - -class CLIP_MT_track_transform(Menu): - bl_label = "Transform" +class CLIP_MT_select_grouped(Menu): + bl_label = "Select Grouped" def draw(self, _context): layout = self.layout - layout.operator("transform.translate") - layout.operator("transform.resize") + layout.operator_enum("clip.select_grouped", "group") class CLIP_MT_select(Menu): @@ -1459,21 +1553,15 @@ class CLIP_MT_select(Menu): layout.separator() - layout.operator("clip.select_all" - ).action = 'TOGGLE' - layout.operator("clip.select_all", - text="Inverse").action = 'INVERT' + layout.operator("clip.select_all").action = 'TOGGLE' + layout.operator("clip.select_all", text="Inverse").action = 'INVERT' layout.menu("CLIP_MT_select_grouped") + layout.separator() -class CLIP_MT_select_grouped(Menu): - bl_label = "Select Grouped" - - def draw(self, _context): - layout = self.layout - - layout.operator_enum("clip.select_grouped", "group") + layout.operator("clip.stabilize_2d_select") + layout.operator("clip.stabilize_2d_rotation_select") class CLIP_MT_tracking_context_menu(Menu): @@ -1523,6 +1611,7 @@ class CLIP_MT_tracking_context_menu(Menu): layout.separator() layout.operator("clip.join_tracks") + layout.operator("clip.average_tracks") layout.separator() @@ -1746,7 +1835,6 @@ classes = ( CLIP_PT_display, CLIP_PT_clip_display, CLIP_PT_marker_display, - CLIP_MT_track, CLIP_MT_tracking_editor_menus, CLIP_MT_masking_editor_menus, CLIP_PT_track, @@ -1786,8 +1874,14 @@ classes = ( CLIP_MT_clip, CLIP_MT_proxy, CLIP_MT_reconstruction, - CLIP_MT_track_visibility, + CLIP_MT_track, CLIP_MT_track_transform, + CLIP_MT_track_motion, + CLIP_MT_track_clear, + CLIP_MT_track_refine, + CLIP_MT_track_animation, + CLIP_MT_track_visibility, + CLIP_MT_track_cleanup, CLIP_MT_select, CLIP_MT_select_grouped, CLIP_MT_tracking_context_menu, diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index 3f43240eaed..aa98e4292f4 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -27,6 +27,7 @@ from bpy.types import ( from bl_ui.properties_grease_pencil_common import ( GreasePencilLayerMasksPanel, + GreasePencilLayerTransformPanel, GreasePencilLayerAdjustmentsPanel, GreasePencilLayerRelationsPanel, GreasePencilLayerDisplayPanel, @@ -248,7 +249,7 @@ class DOPESHEET_HT_editor_buttons: layout.separator_spacer() - layout.template_ID(st, "action", new="action.new", duplicate="action.duplicate_assign", unlink="action.unlink") + layout.template_ID(st, "action", new="action.new", unlink="action.unlink") # Layer management if st.mode == 'GPENCIL': @@ -726,6 +727,12 @@ class DOPESHEET_PT_gpencil_layer_masks(LayersDopeSheetPanel, GreasePencilLayerMa bl_options = {'DEFAULT_CLOSED'} +class DOPESHEET_PT_gpencil_layer_transform(LayersDopeSheetPanel, GreasePencilLayerTransformPanel, Panel): + bl_label = "Transform" + bl_parent_id = 'DOPESHEET_PT_gpencil_mode' + bl_options = {'DEFAULT_CLOSED'} + + class DOPESHEET_PT_gpencil_layer_adjustments(LayersDopeSheetPanel, GreasePencilLayerAdjustmentsPanel, Panel): bl_label = "Adjustments" bl_parent_id = 'DOPESHEET_PT_gpencil_mode' @@ -762,6 +769,7 @@ classes = ( DOPESHEET_PT_filters, DOPESHEET_PT_gpencil_mode, DOPESHEET_PT_gpencil_layer_masks, + DOPESHEET_PT_gpencil_layer_transform, DOPESHEET_PT_gpencil_layer_adjustments, DOPESHEET_PT_gpencil_layer_relations, DOPESHEET_PT_gpencil_layer_display, diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index 91ca193cc01..ef4f47c9399 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -40,7 +40,7 @@ class FILEBROWSER_HT_header(Header): row.prop(params, "asset_library", text="") # External libraries don't auto-refresh, add refresh button. if params.asset_library != 'LOCAL': - row.operator("file.refresh", text="", icon="FILE_REFRESH") + row.operator("file.refresh", text="", icon='FILE_REFRESH') layout.separator_spacer() @@ -197,7 +197,8 @@ class FILEBROWSER_PT_filter(Panel): sub = row.column(align=True) - sub.prop(params, "use_filter_asset_only") + if context.preferences.experimental.use_asset_browser: + sub.prop(params, "use_filter_asset_only") filter_id = params.filter_id for identifier in dir(filter_id): @@ -390,7 +391,8 @@ class FILEBROWSER_PT_advanced_filter(Panel): layout.separator() col = layout.column(align=True) - col.prop(params, "use_filter_asset_only") + if context.preferences.experimental.use_asset_browser: + col.prop(params, "use_filter_asset_only") filter_id = params.filter_id for identifier in dir(filter_id): diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 0177579c5c2..a9934850acd 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -93,10 +93,10 @@ class NODE_HT_header(Header): # Show material.new when no active ID/slot exists if not id_from and ob_type in types_that_support_material: - row.template_ID(ob, "active_material", new="material.new", duplicate="material.duplicate") + row.template_ID(ob, "active_material", new="material.new") # Material ID, but not for Lights if id_from and ob_type != 'LIGHT': - row.template_ID(id_from, "active_material", new="material.new", duplicate="material.duplicate") + row.template_ID(id_from, "active_material", new="material.new") if snode.shader_type == 'WORLD': NODE_MT_editor_menus.draw_collapsible(context, layout) @@ -109,7 +109,7 @@ class NODE_HT_header(Header): row = layout.row() row.enabled = not snode.pin - row.template_ID(scene, "world", new="world.new", duplicate="world.duplicate") + row.template_ID(scene, "world", new="world.new") if snode.shader_type == 'LINESTYLE': view_layer = context.view_layer @@ -678,16 +678,8 @@ class NODE_UL_interface_sockets(bpy.types.UIList): if self.layout_type in {'DEFAULT', 'COMPACT'}: row = layout.row(align=True) - # inputs get icon on the left - if not socket.is_output: - row.template_node_socket(color=color) - + row.template_node_socket(color=color) row.prop(socket, "name", text="", emboss=False, icon_value=icon) - - # outputs get icon on the right - if socket.is_output: - row.template_node_socket(color=color) - elif self.layout_type == 'GRID': layout.alignment = 'CENTER' layout.template_node_socket(color=color) diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 1500ae13462..2cb2455ff63 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -375,11 +375,11 @@ class OUTLINER_PT_filter(Panel): row.label(icon='OBJECT_DATAMODE') row.prop(space, "use_filter_object", text="Objects") row = col.row(align=True) - row.label(icon="BLANK1") + row.label(icon='BLANK1') row.prop(space, "filter_state", text="") sub = row.row(align=True) sub.enabled = space.filter_state != 'ALL' - sub.prop(space, "filter_invert", text="", icon="ARROW_LEFTRIGHT") + sub.prop(space, "filter_invert", text="", icon='ARROW_LEFTRIGHT') sub = col.column(align=True) sub.active = space.use_filter_object diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 29f0bd1d6fb..79f88b1b67d 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -141,16 +141,9 @@ class SEQUENCER_HT_header(Header): SEQUENCER_MT_editor_menus.draw_collapsible(context, layout) - if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}: - layout.separator_spacer() - row = layout.row(align=True) - row.prop(sequencer_tool_settings, "fit_method", text="") - layout.separator_spacer() + layout.separator_spacer() if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}: - if st.view_type == 'PREVIEW': - layout.separator_spacer() - layout.prop(st, "display_mode", text="", icon_only=True) layout.prop(st, "preview_channels", text="", icon_only=True) @@ -412,7 +405,19 @@ class SEQUENCER_MT_view(Menu): layout.separator() layout.prop(st, "show_seconds") layout.prop(st, "show_markers") - layout.menu("SEQUENCER_MT_view_cache", text="Show Cache") + if context.preferences.view.show_developer_ui: + layout.menu("SEQUENCER_MT_view_cache", text="Show Cache") + + if is_preview: + layout.separator() + if st.display_mode == 'IMAGE': + layout.prop(st, "use_zoom_to_fit") + layout.prop(ed, "show_overlay", text="Show Frame Overlay") + layout.prop(st, "show_safe_areas", text="Show Safe Areas") + layout.prop(st, "show_metadata", text="Show Metadata") + layout.prop(st, "show_annotation", text="Show Annotations") + elif st.display_mode == 'WAVEFORM': + layout.prop(st, "show_separate_color", text="Show Separate Color Channels") layout.separator() @@ -1877,11 +1882,12 @@ class SEQUENCER_PT_adjust_color(SequencerButtonsPanel, Panel): class SEQUENCER_PT_cache_settings(SequencerButtonsPanel, Panel): bl_label = "Cache Settings" - bl_category = "Proxy & Cache" + bl_category = "Cache" @classmethod def poll(cls, context): - return cls.has_sequencer(context) and context.scene.sequence_editor + show_developer_ui = context.preferences.view.show_developer_ui + return cls.has_sequencer(context) and context.scene.sequence_editor and show_developer_ui def draw(self, context): layout = self.layout @@ -1900,7 +1906,7 @@ class SEQUENCER_PT_cache_settings(SequencerButtonsPanel, Panel): class SEQUENCER_PT_proxy_settings(SequencerButtonsPanel, Panel): bl_label = "Proxy Settings" - bl_category = "Proxy & Cache" + bl_category = "Proxy" @classmethod def poll(cls, context): @@ -1925,7 +1931,7 @@ class SEQUENCER_PT_proxy_settings(SequencerButtonsPanel, Panel): class SEQUENCER_PT_strip_proxy(SequencerButtonsPanel, Panel): bl_label = "Strip Proxy & Timecode" - bl_category = "Proxy & Cache" + bl_category = "Proxy" @classmethod def poll(cls, context): @@ -1936,7 +1942,7 @@ class SEQUENCER_PT_strip_proxy(SequencerButtonsPanel, Panel): if not strip: return False - return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META', 'MULTICAM'} + return strip.type in {'MOVIE', 'IMAGE'} def draw_header(self, context): strip = act_strip(context) @@ -1987,14 +1993,15 @@ class SEQUENCER_PT_strip_proxy(SequencerButtonsPanel, Panel): class SEQUENCER_PT_strip_cache(SequencerButtonsPanel, Panel): bl_label = "Strip Cache" - bl_category = "Proxy & Cache" + bl_category = "Cache" bl_options = {'DEFAULT_CLOSED'} @classmethod def poll(cls, context): + show_developer_ui = context.preferences.view.show_developer_ui if not cls.has_sequencer(context): return False - if act_strip(context) is not None: + if act_strip(context) is not None and show_developer_ui: return True return False diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index 3b9ce5311f3..774e2938deb 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -107,6 +107,9 @@ class TIME_MT_editor_menus(Menu): text="Keying", ) + # Add a separator to keep the popover button from aligning with the menu button. + sub.separator(factor=0.4) + if horizontal: sub = row.row(align=True) diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py index 748b5733433..12ec863327c 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_common.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py @@ -1004,7 +1004,7 @@ def _activate_by_item(context, space_type, item, index, *, as_fallback=False): if item.draw_cursor is not None: def handle_fn(context, item, tool, xy): item.draw_cursor(context, tool, xy) - handle = WindowManager.draw_cursor_add(handle_fn, (context, item, tool), space_type) + handle = WindowManager.draw_cursor_add(handle_fn, (context, item, tool), space_type, 'WINDOW') handle_map[space_type] = handle diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index a5354ca6bbe..fdc3732f92a 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -441,38 +441,90 @@ class _defs_view3d_select: class _defs_view3d_add: + @staticmethod + def description_interactive_add(context, _item, _km, *, prefix): + km = context.window_manager.keyconfigs.user.keymaps["View3D Placement Modal"] + + def keymap_item_from_propvalue(propvalue): + for item in km.keymap_items: + if item.propvalue == propvalue: + return item + + if km is not None: + kmi_snap = keymap_item_from_propvalue('SNAP_ON') + kmi_center = keymap_item_from_propvalue('PIVOT_CENTER_ON') + kmi_fixed_aspect = keymap_item_from_propvalue('FIXED_ASPECT_ON') + else: + kmi_snap = None + kmi_center = None + kmi_fixed_aspect = None + return tip_( + "%s\n" + "\u2022 %s toggles snap while dragging.\n" + "\u2022 %s toggles dragging from the center.\n" + "\u2022 %s toggles fixed aspect" + ) % ( + prefix, + kmi_to_string_or_none(kmi_snap), + kmi_to_string_or_none(kmi_center), + kmi_to_string_or_none(kmi_fixed_aspect), + ) + # Layout tweaks here would be good to avoid, # this shows limits in layout engine, as buttons are using a lot of space. @staticmethod - def draw_settings_interactive_add(layout, tool): + def draw_settings_interactive_add(layout, tool, extra): + show_extra = False props = tool.operator_properties("view3d.interactive_add") - row = layout.row() - row.scale_x = 0.8 - row.label(text="Depth:") - row = layout.row() - row.scale_x = 0.9 - row.prop(props, "plane_depth", text="") - row = layout.row() - row.prop(props, "plane_axis", text="") - row = layout.row() - row.scale_x = 0.8 - row.label(text="Orientation:") - row = layout.row() - row.prop(props, "plane_orientation", text="") - row = layout.row() - row.scale_x = 0.7 - row.prop(props, "plane_origin") + if not extra: + row = layout.row() + row.scale_x = 0.8 + row.label(text="Depth:") + row = layout.row() + row.scale_x = 0.9 + row.prop(props, "plane_depth", text="") + row = layout.row() + row.scale_x = 0.8 + row.label(text="Orientation:") + row = layout.row() + row.prop(props, "plane_orientation", text="") + row = layout.row() + row.scale_x = 0.8 + row.prop(props, "snap_target") + + region_is_header = bpy.context.region.type == 'TOOL_HEADER' + + if region_is_header: + # Don't draw the "extra" popover here as we might have other settings & this should be last. + show_extra = True + else: + extra = True + + if extra: + layout.use_property_split = True + layout.row().prop(props, "plane_axis", expand=True) + + layout.label(text="Base") + layout.row().prop(props, "plane_origin_base", expand=True) + layout.row().prop(props, "plane_aspect_base", expand=True) + layout.label(text="Height") + layout.row().prop(props, "plane_origin_depth", expand=True) + layout.row().prop(props, "plane_aspect_depth", expand=True) + return show_extra @ToolDef.from_fn def cube_add(): - def draw_settings(_context, layout, tool): - _defs_view3d_add.draw_settings_interactive_add(layout, tool) + def draw_settings(_context, layout, tool, *, extra=False): + show_extra = _defs_view3d_add.draw_settings_interactive_add(layout, tool, extra) + if show_extra: + layout.popover("TOPBAR_PT_tool_settings_extra", text="...") + return dict( idname="builtin.primitive_cube_add", label="Add Cube", icon="ops.mesh.primitive_cube_add_gizmo", - description=( - "Add cube to mesh interactively" + description=lambda *args: _defs_view3d_add.description_interactive_add( + *args, prefix=tip_("Add cube to mesh interactively"), ), widget="VIEW3D_GGT_placement", keymap="3D View Tool: Object, Add Primitive", @@ -481,18 +533,24 @@ class _defs_view3d_add: @ToolDef.from_fn def cone_add(): - def draw_settings(_context, layout, tool): - _defs_view3d_add.draw_settings_interactive_add(layout, tool) + def draw_settings(_context, layout, tool, *, extra=False): + show_extra = _defs_view3d_add.draw_settings_interactive_add(layout, tool, extra) + if extra: + return props = tool.operator_properties("mesh.primitive_cone_add") layout.prop(props, "vertices") layout.prop(props, "end_fill_type") + + if show_extra: + layout.popover("TOPBAR_PT_tool_settings_extra", text="...") + return dict( idname="builtin.primitive_cone_add", label="Add Cone", icon="ops.mesh.primitive_cone_add_gizmo", - description=( - "Add cone to mesh interactively" + description=lambda *args: _defs_view3d_add.description_interactive_add( + *args, prefix=tip_("Add cone to mesh interactively"), ), widget="VIEW3D_GGT_placement", keymap="3D View Tool: Object, Add Primitive", @@ -501,18 +559,23 @@ class _defs_view3d_add: @ToolDef.from_fn def cylinder_add(): - def draw_settings(_context, layout, tool): - _defs_view3d_add.draw_settings_interactive_add(layout, tool) + def draw_settings(_context, layout, tool, *, extra=False): + show_extra = _defs_view3d_add.draw_settings_interactive_add(layout, tool, extra) + if extra: + return props = tool.operator_properties("mesh.primitive_cylinder_add") layout.prop(props, "vertices") layout.prop(props, "end_fill_type") + + if show_extra: + layout.popover("TOPBAR_PT_tool_settings_extra", text="...") return dict( idname="builtin.primitive_cylinder_add", label="Add Cylinder", icon="ops.mesh.primitive_cylinder_add_gizmo", - description=( - "Add cylinder to mesh interactively" + description=lambda *args: _defs_view3d_add.description_interactive_add( + *args, prefix=tip_("Add cylinder to mesh interactively"), ), widget="VIEW3D_GGT_placement", keymap="3D View Tool: Object, Add Primitive", @@ -521,18 +584,23 @@ class _defs_view3d_add: @ToolDef.from_fn def uv_sphere_add(): - def draw_settings(_context, layout, tool): - _defs_view3d_add.draw_settings_interactive_add(layout, tool) + def draw_settings(_context, layout, tool, *, extra=False): + show_extra = _defs_view3d_add.draw_settings_interactive_add(layout, tool, extra) + if extra: + return props = tool.operator_properties("mesh.primitive_uv_sphere_add") layout.prop(props, "segments") layout.prop(props, "ring_count") + + if show_extra: + layout.popover("TOPBAR_PT_tool_settings_extra", text="...") return dict( idname="builtin.primitive_uv_sphere_add", label="Add UV Sphere", icon="ops.mesh.primitive_sphere_add_gizmo", - description=( - "Add cylinder to mesh interactively" + description=lambda *args: _defs_view3d_add.description_interactive_add( + *args, prefix=tip_("Add sphere to mesh interactively"), ), widget="VIEW3D_GGT_placement", keymap="3D View Tool: Object, Add Primitive", @@ -541,17 +609,22 @@ class _defs_view3d_add: @ToolDef.from_fn def ico_sphere_add(): - def draw_settings(_context, layout, tool): - _defs_view3d_add.draw_settings_interactive_add(layout, tool) + def draw_settings(_context, layout, tool, *, extra=False): + show_extra = _defs_view3d_add.draw_settings_interactive_add(layout, tool, extra) + if extra: + return props = tool.operator_properties("mesh.primitive_ico_sphere_add") layout.prop(props, "subdivisions") + + if show_extra: + layout.popover("TOPBAR_PT_tool_settings_extra", text="...") return dict( idname="builtin.primitive_ico_sphere_add", label="Add Ico Sphere", icon="ops.mesh.primitive_sphere_add_gizmo", - description=( - "Add cylinder to mesh interactively" + description=lambda *args: _defs_view3d_add.description_interactive_add( + *args, prefix=tip_("Add sphere to mesh interactively"), ), widget="VIEW3D_GGT_placement", keymap="3D View Tool: Object, Add Primitive", @@ -1488,6 +1561,7 @@ class _defs_texture_paint: icon_prefix="brush.paint_texture.", type=bpy.types.Brush, attr="image_tool", + cursor='PAINT_CROSS', ) @@ -1514,12 +1588,22 @@ class _defs_weight_paint: @ToolDef.from_fn def sample_weight(): + def draw_settings(context, layout, tool): + if context.tool_settings.unified_paint_settings.use_unified_weight: + weight = context.tool_settings.unified_paint_settings.weight + elif context.tool_settings.weight_paint.brush: + weight = context.tool_settings.weight_paint.brush.weight + else: + return + layout.label(text="Weight: %.3f" % weight) return dict( idname="builtin.sample_weight", label="Sample Weight", icon="ops.paint.weight_sample", + cursor='EYEDROPPER', widget=None, keymap=(), + draw_settings=draw_settings ) @ToolDef.from_fn @@ -1528,6 +1612,7 @@ class _defs_weight_paint: idname="builtin.sample_vertex_group", label="Sample Vertex Group", icon="ops.paint.weight_sample_group", + cursor='EYEDROPPER', widget=None, keymap=(), ) @@ -2570,12 +2655,8 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): ], 'OBJECT': [ *_tools_default, - # Currently experimental. - # None, _tools_view3d_add, - lambda context: ( - (None, VIEW3D_PT_tools_active._tools_view3d_add) - if (context is None or context.preferences.experimental.use_object_add_tool) else () - ), + None, + _tools_view3d_add, ], 'POSE': [ *_tools_default, @@ -2604,12 +2685,8 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): 'EDIT_MESH': [ *_tools_default, - # Currently experimental. - # None, _tools_view3d_add, - lambda context: ( - (None, VIEW3D_PT_tools_active._tools_view3d_add) - if (context is None or context.preferences.experimental.use_object_add_tool) else () - ), + None, + _tools_view3d_add, None, ( _defs_edit_mesh.extrude, diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py index a7e28c38b9e..255b6326416 100644 --- a/release/scripts/startup/bl_ui/space_topbar.py +++ b/release/scripts/startup/bl_ui/space_topbar.py @@ -567,7 +567,7 @@ class TOPBAR_MT_edit(Menu): props.name = "TOPBAR_PT_name" props.keep_open = False - layout.operator("wm.batch_rename") + layout.operator("wm.batch_rename", text="Batch Rename...") layout.separator() diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 31b0b915855..a0b5355e64d 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -542,7 +542,7 @@ class USERPREF_PT_animation_fcurves(AnimationPanel, CenterAlignMixIn, Panel): flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=False) - flow.prop(edit, "fcurve_unselected_alpha", text="F-Curve Visibility") + flow.prop(edit, "fcurve_unselected_alpha", text="Unselected Opacity") flow.prop(edit, "fcurve_new_auto_smoothing", text="Default Smoothing Mode") flow.prop(edit, "keyframe_new_interpolation_type", text="Default Interpolation") flow.prop(edit, "keyframe_new_handle_type", text="Default Handles") @@ -691,6 +691,9 @@ class USERPREF_PT_viewport_display(ViewportPanel, CenterAlignMixIn, Panel): col.prop(view, "mini_axis_size", text="Size") col.prop(view, "mini_axis_brightness", text="Brightness") + if view.mini_axis_type == 'GIZMO': + col.prop(view, "gizmo_size_navigate_v3d", text="Size") + class USERPREF_PT_viewport_quality(ViewportPanel, CenterAlignMixIn, Panel): bl_label = "Quality" @@ -1342,6 +1345,11 @@ class USERPREF_PT_saveload_autorun(FilePathsPanel, Panel): class USERPREF_PT_file_paths_asset_libraries(FilePathsPanel, Panel): bl_label = "Asset Libraries" + @classmethod + def poll(cls, context): + prefs = context.preferences + return prefs.experimental.use_asset_browser + def draw(self, context): layout = self.layout layout.use_property_split = False @@ -2188,14 +2196,21 @@ class ExperimentalPanel: layout.use_property_split = False layout.use_property_decorate = False - for prop_keywords, task in items: + for prop_keywords, reference in items: split = layout.split(factor=0.66) col = split.split() col.prop(experimental, **prop_keywords) - if task: + if reference: + if type(reference) is tuple: + url_ext = reference[0] + text = reference[1] + else: + url_ext = reference + text = reference + col = split.split() - col.operator("wm.url_open", text=task, icon='URL').url = self.url_prefix + task + col.operator("wm.url_open", text=text, icon='URL').url = self.url_prefix + url_ext """ @@ -2224,7 +2239,7 @@ class USERPREF_PT_experimental_new_features(ExperimentalPanel, Panel): ({"property": "use_sculpt_vertex_colors"}, "T71947"), ({"property": "use_switch_object_operator"}, "T80402"), ({"property": "use_sculpt_tools_tilt"}, "T82877"), - ({"property": "use_object_add_tool"}, "T57210"), + ({"property": "use_asset_browser"}, ("project/profile/124/", "Milestone 1")), ), ) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 55cb110177f..e653ead21bb 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -2236,11 +2236,6 @@ class VIEW3D_MT_object_relations(Menu): layout.operator_menu_enum("object.make_local", "type", text="Make Local...") layout.menu("VIEW3D_MT_make_single_user") - layout.separator() - - layout.operator("object.data_transfer") - layout.operator("object.datalayout_transfer") - class VIEW3D_MT_object(Menu): bl_context = "objectmode" @@ -2274,7 +2269,7 @@ class VIEW3D_MT_object(Menu): layout.menu("VIEW3D_MT_object_relations") layout.menu("VIEW3D_MT_object_constraints") layout.menu("VIEW3D_MT_object_track") - layout.menu("VIEW3D_MT_make_links", text="Make Links") + layout.menu("VIEW3D_MT_make_links") layout.separator() @@ -2292,16 +2287,7 @@ class VIEW3D_MT_object(Menu): layout.separator() - ob = context.active_object - if ob and ob.type == 'GPENCIL' and context.gpencil_data: - layout.operator_menu_enum("gpencil.convert", "type", text="Convert To") - else: - layout.operator_menu_enum("object.convert", "target") - - # Potrace lib dependency - if bpy.app.build_options.potrace: - layout.separator() - layout.operator("gpencil.trace_image") + layout.menu("VIEW3D_MT_object_convert") layout.separator() @@ -2397,37 +2383,25 @@ class VIEW3D_MT_object_context_menu(Menu): ''' # If something is selected - if obj is not None and obj.type in {'MESH', 'CURVE', 'SURFACE'}: - layout.operator("object.shade_smooth", text="Shade Smooth") - layout.operator("object.shade_flat", text="Shade Flat") - - layout.separator() + # Individual object types. if obj is None: pass - elif obj.type == 'MESH': - layout.operator_context = 'INVOKE_REGION_WIN' - layout.operator_menu_enum("object.origin_set", text="Set Origin", property="type") - - layout.operator_context = 'INVOKE_DEFAULT' - # If more than one object is selected - if selected_objects_len > 1: - layout.operator("object.join") - - layout.separator() elif obj.type == 'CAMERA': layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator("view3d.object_as_camera", text="Set Active Camera") + if obj.data.type == 'PERSP': - props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle") + props = layout.operator("wm.context_modal_mouse", text="Adjust Focal Length") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.lens" props.input_scale = 0.1 if obj.data.lens_unit == 'MILLIMETERS': - props.header_text = "Camera Lens Angle: %.1fmm" + props.header_text = "Camera Focal Length: %.1fmm" else: - props.header_text = "Camera Lens Angle: %.1f\u00B0" + props.header_text = "Camera Focal Length: %.1f\u00B0" else: props = layout.operator("wm.context_modal_mouse", text="Camera Lens Scale") @@ -2440,87 +2414,83 @@ class VIEW3D_MT_object_context_menu(Menu): if view and view.camera == obj and view.region_3d.view_perspective == 'CAMERA': props = layout.operator("ui.eyedropper_depth", text="DOF Distance (Pick)") else: - props = layout.operator("wm.context_modal_mouse", text="DOF Distance") + props = layout.operator("wm.context_modal_mouse", text="Adjust Focus Distance") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.dof.focus_distance" props.input_scale = 0.02 - props.header_text = "DOF Distance: %.3f" + props.header_text = "Focus Distance: %.3f" layout.separator() elif obj.type in {'CURVE', 'FONT'}: layout.operator_context = 'INVOKE_REGION_WIN' - props = layout.operator("wm.context_modal_mouse", text="Extrude Size") + props = layout.operator("wm.context_modal_mouse", text="Adjust Extrusion") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.extrude" props.input_scale = 0.01 - props.header_text = "Extrude Size: %.3f" + props.header_text = "Extrude: %.3f" - props = layout.operator("wm.context_modal_mouse", text="Width Size") + props = layout.operator("wm.context_modal_mouse", text="Adjust Offset") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.offset" props.input_scale = 0.01 - props.header_text = "Width Size: %.3f" - - layout.separator() - - layout.operator("object.convert", text="Convert to Mesh").target = 'MESH' - layout.operator("object.convert", text="Convert to Grease Pencil").target = 'GPENCIL' - layout.operator_menu_enum("object.origin_set", text="Set Origin", property="type") - - layout.separator() - - elif obj.type == 'GPENCIL': - layout.operator("gpencil.convert", text="Convert to Path").type = 'PATH' - layout.operator("gpencil.convert", text="Convert to Bezier Curve").type = 'CURVE' - layout.operator("gpencil.convert", text="Convert to Polygon Curve").type = 'POLY' - - layout.operator_menu_enum("object.origin_set", text="Set Origin", property="type") + props.header_text = "Offset: %.3f" layout.separator() elif obj.type == 'EMPTY': layout.operator_context = 'INVOKE_REGION_WIN' - props = layout.operator("wm.context_modal_mouse", text="Empty Draw Size") + props = layout.operator("wm.context_modal_mouse", text="Adjust Empty Display Size") props.data_path_iter = "selected_editable_objects" props.data_path_item = "empty_display_size" props.input_scale = 0.01 - props.header_text = "Empty Draw Size: %.3f" + props.header_text = "Empty Display Size: %.3f" layout.separator() + if obj.empty_display_type == 'IMAGE': + layout.operator("gpencil.trace_image") + + layout.separator() + elif obj.type == 'LIGHT': light = obj.data layout.operator_context = 'INVOKE_REGION_WIN' - props = layout.operator("wm.context_modal_mouse", text="Power") + props = layout.operator("wm.context_modal_mouse", text="Adjust Light Power") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.energy" + props.input_scale = 1.0 props.header_text = "Light Power: %.3f" if light.type == 'AREA': - props = layout.operator("wm.context_modal_mouse", text="Size X") - props.data_path_iter = "selected_editable_objects" - props.data_path_item = "data.size" - props.header_text = "Light Size X: %.3f" - if light.shape in {'RECTANGLE', 'ELLIPSE'}: - props = layout.operator("wm.context_modal_mouse", text="Size Y") + props = layout.operator("wm.context_modal_mouse", text="Adjust Area Light X Size") + props.data_path_iter = "selected_editable_objects" + props.data_path_item = "data.size" + props.header_text = "Light Size X: %.3f" + + props = layout.operator("wm.context_modal_mouse", text="Adjust Area Light Y Size") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.size_y" props.header_text = "Light Size Y: %.3f" + else: + props = layout.operator("wm.context_modal_mouse", text="Adjust Area Light Size") + props.data_path_iter = "selected_editable_objects" + props.data_path_item = "data.size" + props.header_text = "Light Size: %.3f" elif light.type in {'SPOT', 'POINT'}: - props = layout.operator("wm.context_modal_mouse", text="Radius") + props = layout.operator("wm.context_modal_mouse", text="Adjust Light Radius") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.shadow_soft_size" props.header_text = "Light Radius: %.3f" elif light.type == 'SUN': - props = layout.operator("wm.context_modal_mouse", text="Angle") + props = layout.operator("wm.context_modal_mouse", text="Adjust Sun Light Angle") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.angle" props.header_text = "Light Angle: %.3f" @@ -2528,13 +2498,13 @@ class VIEW3D_MT_object_context_menu(Menu): if light.type == 'SPOT': layout.separator() - props = layout.operator("wm.context_modal_mouse", text="Spot Size") + props = layout.operator("wm.context_modal_mouse", text="Adjust Spot Light Size") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.spot_size" props.input_scale = 0.01 props.header_text = "Spot Size: %.2f" - props = layout.operator("wm.context_modal_mouse", text="Spot Blend") + props = layout.operator("wm.context_modal_mouse", text="Adjust Spot Light Blend") props.data_path_iter = "selected_editable_objects" props.data_path_item = "data.spot_blend" props.input_scale = -0.01 @@ -2542,6 +2512,35 @@ class VIEW3D_MT_object_context_menu(Menu): layout.separator() + # Shared among some object types. + if obj is not None: + if obj.type in {'MESH', 'CURVE', 'SURFACE'}: + layout.operator("object.shade_smooth", text="Shade Smooth") + layout.operator("object.shade_flat", text="Shade Flat") + + layout.separator() + + if obj.type in {'MESH', 'CURVE', 'SURFACE', 'ARMATURE', 'GPENCIL'}: + if selected_objects_len > 1: + layout.operator("object.join") + + if obj.type in {'MESH', 'CURVE', 'SURFACE', 'POINTCLOUD', 'META', 'FONT'}: + layout.operator_menu_enum("object.convert", "target") + + if obj.type == 'GPENCIL': + layout.operator_menu_enum("gpencil.convert", "type", text="Convert To") + + if ( + obj.type in {'MESH', 'CURVE', 'SURFACE', 'GPENCIL', 'LATTICE', 'ARMATURE', 'META'} or + (obj.type == 'EMPTY' and obj.instance_collection is not None) + ): + layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator_menu_enum("object.origin_set", text="Set Origin", property="type") + layout.operator_context = 'INVOKE_DEFAULT' + + layout.separator() + + # Shared among all object types layout.operator("view3d.copybuffer", text="Copy Objects", icon='COPYDOWN') layout.operator("view3d.pastebuffer", text="Paste Objects", icon='PASTEDOWN') @@ -2786,8 +2785,25 @@ class VIEW3D_MT_make_single_user(Menu): props.object = props.obdata = props.material = False +class VIEW3D_MT_object_convert(Menu): + bl_label = "Convert" + + def draw(self, context): + layout = self.layout + ob = context.active_object + + if ob and ob.type == 'GPENCIL' and context.gpencil_data: + layout.operator_enum("gpencil.convert", "type") + else: + layout.operator_enum("object.convert", "target") + + # Potrace lib dependency. + if bpy.app.build_options.potrace: + layout.operator("gpencil.trace_image", icon='OUTLINER_OB_GREASEPENCIL') + + class VIEW3D_MT_make_links(Menu): - bl_label = "Make Links" + bl_label = "Link/Transfer Data" def draw(self, _context): layout = self.layout @@ -2795,10 +2811,10 @@ class VIEW3D_MT_make_links(Menu): if len(bpy.data.scenes) > 10: layout.operator_context = 'INVOKE_REGION_WIN' - layout.operator("object.make_links_scene", text="Objects to Scene...", icon='OUTLINER_OB_EMPTY') + layout.operator("object.make_links_scene", text="Link Objects to Scene...", icon='OUTLINER_OB_EMPTY') else: layout.operator_context = 'EXEC_REGION_WIN' - layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene") + layout.operator_menu_enum("object.make_links_scene", "scene", text="Link Objects to Scene") layout.separator() @@ -2806,7 +2822,12 @@ class VIEW3D_MT_make_links(Menu): layout.operator_enum("object.make_links_data", "type") # inline - layout.operator("object.join_uvs") # stupid place to add this! + layout.operator("object.join_uvs", text="Copy UV Maps") + + layout.separator() + + layout.operator("object.data_transfer") + layout.operator("object.datalayout_transfer") class VIEW3D_MT_brush_paint_modes(Menu): @@ -7525,6 +7546,7 @@ classes = ( VIEW3D_MT_object_rigid_body, VIEW3D_MT_object_clear, VIEW3D_MT_object_context_menu, + VIEW3D_MT_object_convert, VIEW3D_MT_object_shading, VIEW3D_MT_object_apply, VIEW3D_MT_object_relations, diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 577f9678a62..7c718ee8155 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -352,10 +352,13 @@ class VIEW3D_PT_tools_particlemode(Panel, View3DPaintPanel): layout.row().prop(brush, "puff_mode", expand=True) layout.prop(brush, "use_puff_volume") elif tool == 'COMB': - layout.prop(settings, "use_emitter_deflect", text="Deflect Emitter") - col = layout.column() - col.active = settings.use_emitter_deflect - col.prop(settings, "emitter_distance", text="Distance") + col = layout.column(align=False, heading="Deflect Emitter") + row = col.row(align=True) + sub = row.row(align=True) + sub.prop(settings, "use_emitter_deflect", text="") + sub = sub.row(align=True) + sub.active = settings.use_emitter_deflect + sub.prop(settings, "emitter_distance", text="") # TODO, move to space_view3d.py @@ -1231,14 +1234,20 @@ class VIEW3D_PT_tools_particlemode_options(View3DPanel, Panel): col = layout.column(align=True) col.active = pe.is_editable - col.prop(ob.data, "use_mirror_x") - if pe.tool == 'ADD': - col.prop(ob.data, "use_mirror_topology") - col.separator() - col.prop(pe, "use_preserve_length", text="Preserve Strand Lengths") - col.prop(pe, "use_preserve_root", text="Preserve Root Positions") + if not pe.is_hair: col.prop(pe, "use_auto_velocity", text="Auto-Velocity") + col.separator() + + sub = col.column(align=True, heading="Mirror") + sub.prop(ob.data, "use_mirror_x") + if pe.tool == 'ADD': + sub.prop(ob.data, "use_mirror_topology") + col.separator() + + sub = col.column(align=True, heading="Preserve") + sub.prop(pe, "use_preserve_length", text="Strand Lengths") + sub.prop(pe, "use_preserve_root", text="Root Positions") class VIEW3D_PT_tools_particlemode_options_shapecut(View3DPanel, Panel): @@ -1282,10 +1291,13 @@ class VIEW3D_PT_tools_particlemode_options_display(View3DPanel, Panel): else: if pe.type == 'PARTICLES': col.prop(pe, "show_particles", text="Particles") - col.prop(pe, "use_fade_time") - sub = col.row(align=True) + col = layout.column(align=False, heading="Fade Time") + row = col.row(align=True) + sub = row.row(align=True) + sub.prop(pe, "use_fade_time", text="") + sub = sub.row(align=True) sub.active = pe.use_fade_time - sub.prop(pe, "fade_frames", slider=True) + sub.prop(pe, "fade_frames", slider=True, text="") # ********** grease pencil object tool panels **************** @@ -1435,7 +1447,7 @@ class VIEW3D_PT_tools_grease_pencil_brush_advanced(View3DPanel, Panel): row.prop(gp_settings, "fill_layer_mode", text="Layers") col.separator() - col.prop(gp_settings, "fill_factor", text="Resolution") + col.prop(gp_settings, "fill_factor") if gp_settings.fill_draw_mode != 'STROKE': col = layout.column(align=False, heading="Ignore Transparent") col.use_property_decorate = False diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py index 65af1bccd80..56f0b5c0ba4 100644 --- a/release/scripts/startup/nodeitems_builtins.py +++ b/release/scripts/startup/nodeitems_builtins.py @@ -330,7 +330,7 @@ compositor_node_categories = [ NodeItem("CompositorNodeHueCorrect"), NodeItem("CompositorNodeBrightContrast"), NodeItem("CompositorNodeGamma"), - NodeItem("CompositorNodeExposure"), + NodeItem("CompositorNodeExposure"), NodeItem("CompositorNodeColorCorrection"), NodeItem("CompositorNodeTonemap"), NodeItem("CompositorNodeZcombine"), @@ -488,6 +488,8 @@ geometry_node_categories = [ NodeItem("GeometryNodeAttributeFill"), NodeItem("GeometryNodeAttributeMix"), NodeItem("GeometryNodeAttributeColorRamp"), + NodeItem("GeometryNodeAttributeVectorMath"), + NodeItem("GeometryNodeAttributeSampleTexture"), ]), GeometryNodeCategory("GEO_COLOR", "Color", items=[ NodeItem("ShaderNodeValToRGB"), @@ -514,7 +516,13 @@ geometry_node_categories = [ NodeItem("GeometryNodePointDistribute"), NodeItem("GeometryNodePointInstance"), NodeItem("GeometryNodePointSeparate"), + NodeItem("GeometryNodePointScale"), + NodeItem("GeometryNodePointTranslate"), NodeItem("GeometryNodeRotatePoints"), + NodeItem("GeometryNodeAlignRotationToVector"), + ]), + GeometryNodeCategory("GEO_VOLUME", "Volume", items=[ + NodeItem("GeometryNodePointsToVolume"), ]), GeometryNodeCategory("GEO_UTILITIES", "Utilities", items=[ NodeItem("ShaderNodeMapRange"), diff --git a/release/scripts/templates_py/driver_functions.py b/release/scripts/templates_py/driver_functions.py index 1c6af0e574f..d3aab75e7ba 100644 --- a/release/scripts/templates_py/driver_functions.py +++ b/release/scripts/templates_py/driver_functions.py @@ -1,8 +1,8 @@ -# This script defines functions to be used directly in drivers expressions to -# extend the builtin set of python functions. +# This script defines functions to be used directly in driver expressions to +# extend the built-in set of python functions. # # This can be executed on manually or set to 'Register' to -# initialize thefunctions on file load. +# initialize the functions on file load. # two sample functions @@ -30,6 +30,6 @@ def slow_value(value, fac, uuid): import bpy -# Add variable defined in this script into the drivers namespace. +# Add functions defined in this script into the drivers namespace. bpy.app.driver_namespace["invert"] = invert bpy.app.driver_namespace["slow_value"] = slow_value diff --git a/release/windows/batch/blender_debug_gpu.cmd b/release/windows/batch/blender_debug_gpu.cmd index 46d126ab621..53d7863ec70 100644 --- a/release/windows/batch/blender_debug_gpu.cmd +++ b/release/windows/batch/blender_debug_gpu.cmd @@ -12,5 +12,5 @@ mkdir "%temp%\blender\debug_logs" > NUL 2>&1 echo. echo Starting blender and waiting for it to exit.... set PYTHONPATH= -"%~dp0\blender" --debug --debug-gpu --python-expr "import bpy; bpy.ops.wm.sysinfo(filepath=r'%temp%\blender\debug_logs\blender_system_info.txt')" > "%temp%\blender\debug_logs\blender_debug_output.txt" 2>&1 < %0 +"%~dp0\blender" --debug --debug-gpu --debug-cycles --python-expr "import bpy; bpy.ops.wm.sysinfo(filepath=r'%temp%\blender\debug_logs\blender_system_info.txt')" > "%temp%\blender\debug_logs\blender_debug_output.txt" 2>&1 < %0 explorer "%temp%\blender\debug_logs"
\ No newline at end of file diff --git a/release/windows/msix/Assets/Square150x150Logo.png b/release/windows/msix/Assets/Square150x150Logo.png Binary files differdeleted file mode 100644 index 7dbbde793ba..00000000000 --- a/release/windows/msix/Assets/Square150x150Logo.png +++ /dev/null diff --git a/release/windows/msix/Assets/Square150x150Logo.scale-100.png b/release/windows/msix/Assets/Square150x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..3918e2e2e5f --- /dev/null +++ b/release/windows/msix/Assets/Square150x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/Square150x150Logo.scale-125.png b/release/windows/msix/Assets/Square150x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..f9c53441f78 --- /dev/null +++ b/release/windows/msix/Assets/Square150x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/Square150x150Logo.scale-150.png b/release/windows/msix/Assets/Square150x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..e57e851e3a8 --- /dev/null +++ b/release/windows/msix/Assets/Square150x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/Square150x150Logo.scale-200.png b/release/windows/msix/Assets/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..a0b1edd769f --- /dev/null +++ b/release/windows/msix/Assets/Square150x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/Square150x150Logo.scale-400.png b/release/windows/msix/Assets/Square150x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..411c76a3cbf --- /dev/null +++ b/release/windows/msix/Assets/Square150x150Logo.scale-400.png diff --git a/release/windows/msix/Assets/Square310x310Logo.png b/release/windows/msix/Assets/Square310x310Logo.png Binary files differdeleted file mode 100644 index 2190415e35b..00000000000 --- a/release/windows/msix/Assets/Square310x310Logo.png +++ /dev/null diff --git a/release/windows/msix/Assets/Square310x310Logo.scale-100.png b/release/windows/msix/Assets/Square310x310Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..73a89b6b871 --- /dev/null +++ b/release/windows/msix/Assets/Square310x310Logo.scale-100.png diff --git a/release/windows/msix/Assets/Square310x310Logo.scale-125.png b/release/windows/msix/Assets/Square310x310Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..e3583f43179 --- /dev/null +++ b/release/windows/msix/Assets/Square310x310Logo.scale-125.png diff --git a/release/windows/msix/Assets/Square310x310Logo.scale-150.png b/release/windows/msix/Assets/Square310x310Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..855022d9439 --- /dev/null +++ b/release/windows/msix/Assets/Square310x310Logo.scale-150.png diff --git a/release/windows/msix/Assets/Square310x310Logo.scale-200.png b/release/windows/msix/Assets/Square310x310Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..dd19deb2dbc --- /dev/null +++ b/release/windows/msix/Assets/Square310x310Logo.scale-200.png diff --git a/release/windows/msix/Assets/Square310x310Logo.scale-400.png b/release/windows/msix/Assets/Square310x310Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..7eeaff1dfbe --- /dev/null +++ b/release/windows/msix/Assets/Square310x310Logo.scale-400.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-16.png b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..b1690a98133 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-24.png b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-24.png Binary files differnew file mode 100644 index 00000000000..7a469b9827b --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-256.png b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..3e9fe73f116 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-32.png b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..9e5bd478b2f --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-48.png b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..1656687d414 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-16.png b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..b1690a98133 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-256.png b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..3e9fe73f116 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-32.png b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..9e5bd478b2f --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-48.png b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..1656687d414 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/release/windows/msix/Assets/Square44x44Logo.png b/release/windows/msix/Assets/Square44x44Logo.png Binary files differdeleted file mode 100644 index 7b9ca070558..00000000000 --- a/release/windows/msix/Assets/Square44x44Logo.png +++ /dev/null diff --git a/release/windows/msix/Assets/Square44x44Logo.scale-100.png b/release/windows/msix/Assets/Square44x44Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..f3961184764 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.scale-100.png diff --git a/release/windows/msix/Assets/Square44x44Logo.scale-125.png b/release/windows/msix/Assets/Square44x44Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..388309db632 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.scale-125.png diff --git a/release/windows/msix/Assets/Square44x44Logo.scale-150.png b/release/windows/msix/Assets/Square44x44Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..2e188ea9815 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.scale-150.png diff --git a/release/windows/msix/Assets/Square44x44Logo.scale-200.png b/release/windows/msix/Assets/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..faa6741a5c3 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.scale-200.png diff --git a/release/windows/msix/Assets/Square44x44Logo.scale-400.png b/release/windows/msix/Assets/Square44x44Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..5251cd570d2 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.scale-400.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-16.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-16.png Binary files differnew file mode 100644 index 00000000000..b1690a98133 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-16.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-24.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-24.png Binary files differnew file mode 100644 index 00000000000..7a469b9827b --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-24.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 00000000000..7a469b9827b --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-256.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-256.png Binary files differnew file mode 100644 index 00000000000..3e9fe73f116 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-256.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-32.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-32.png Binary files differnew file mode 100644 index 00000000000..9e5bd478b2f --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-32.png diff --git a/release/windows/msix/Assets/Square44x44Logo.targetsize-48.png b/release/windows/msix/Assets/Square44x44Logo.targetsize-48.png Binary files differnew file mode 100644 index 00000000000..1656687d414 --- /dev/null +++ b/release/windows/msix/Assets/Square44x44Logo.targetsize-48.png diff --git a/release/windows/msix/Assets/Square71x71Logo.png b/release/windows/msix/Assets/Square71x71Logo.png Binary files differdeleted file mode 100644 index 75bd9bb264a..00000000000 --- a/release/windows/msix/Assets/Square71x71Logo.png +++ /dev/null diff --git a/release/windows/msix/Assets/Square71x71Logo.scale-100.png b/release/windows/msix/Assets/Square71x71Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..b1a93328ab7 --- /dev/null +++ b/release/windows/msix/Assets/Square71x71Logo.scale-100.png diff --git a/release/windows/msix/Assets/Square71x71Logo.scale-125.png b/release/windows/msix/Assets/Square71x71Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..da417b1ad1d --- /dev/null +++ b/release/windows/msix/Assets/Square71x71Logo.scale-125.png diff --git a/release/windows/msix/Assets/Square71x71Logo.scale-150.png b/release/windows/msix/Assets/Square71x71Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..7f8a92cc1e1 --- /dev/null +++ b/release/windows/msix/Assets/Square71x71Logo.scale-150.png diff --git a/release/windows/msix/Assets/Square71x71Logo.scale-200.png b/release/windows/msix/Assets/Square71x71Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..1d24ee66c6e --- /dev/null +++ b/release/windows/msix/Assets/Square71x71Logo.scale-200.png diff --git a/release/windows/msix/Assets/Square71x71Logo.scale-400.png b/release/windows/msix/Assets/Square71x71Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..e328720747a --- /dev/null +++ b/release/windows/msix/Assets/Square71x71Logo.scale-400.png diff --git a/release/windows/msix/Assets/StoreLogo.png b/release/windows/msix/Assets/StoreLogo.png Binary files differdeleted file mode 100644 index e8a671b7e0f..00000000000 --- a/release/windows/msix/Assets/StoreLogo.png +++ /dev/null diff --git a/release/windows/msix/Assets/StoreLogo.scale-100.png b/release/windows/msix/Assets/StoreLogo.scale-100.png Binary files differnew file mode 100644 index 00000000000..e510e88f9ac --- /dev/null +++ b/release/windows/msix/Assets/StoreLogo.scale-100.png diff --git a/release/windows/msix/Assets/StoreLogo.scale-125.png b/release/windows/msix/Assets/StoreLogo.scale-125.png Binary files differnew file mode 100644 index 00000000000..b09bfe2dacd --- /dev/null +++ b/release/windows/msix/Assets/StoreLogo.scale-125.png diff --git a/release/windows/msix/Assets/StoreLogo.scale-150.png b/release/windows/msix/Assets/StoreLogo.scale-150.png Binary files differnew file mode 100644 index 00000000000..245e787a165 --- /dev/null +++ b/release/windows/msix/Assets/StoreLogo.scale-150.png diff --git a/release/windows/msix/Assets/StoreLogo.scale-200.png b/release/windows/msix/Assets/StoreLogo.scale-200.png Binary files differnew file mode 100644 index 00000000000..54f13a83764 --- /dev/null +++ b/release/windows/msix/Assets/StoreLogo.scale-200.png diff --git a/release/windows/msix/Assets/StoreLogo.scale-400.png b/release/windows/msix/Assets/StoreLogo.scale-400.png Binary files differnew file mode 100644 index 00000000000..2ca06f9f1c2 --- /dev/null +++ b/release/windows/msix/Assets/StoreLogo.scale-400.png diff --git a/release/windows/msix/Assets/Wide310x150Logo.png b/release/windows/msix/Assets/Wide310x150Logo.png Binary files differdeleted file mode 100644 index 59f5736393a..00000000000 --- a/release/windows/msix/Assets/Wide310x150Logo.png +++ /dev/null diff --git a/release/windows/msix/Assets/Wide310x150Logo.scale-100.png b/release/windows/msix/Assets/Wide310x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..c0046dc1a95 --- /dev/null +++ b/release/windows/msix/Assets/Wide310x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/Wide310x150Logo.scale-125.png b/release/windows/msix/Assets/Wide310x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..96020b64ff5 --- /dev/null +++ b/release/windows/msix/Assets/Wide310x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/Wide310x150Logo.scale-150.png b/release/windows/msix/Assets/Wide310x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..07e595002b7 --- /dev/null +++ b/release/windows/msix/Assets/Wide310x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/Wide310x150Logo.scale-200.png b/release/windows/msix/Assets/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..c4d23671725 --- /dev/null +++ b/release/windows/msix/Assets/Wide310x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/Wide310x150Logo.scale-400.png b/release/windows/msix/Assets/Wide310x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..4a4cc681c93 --- /dev/null +++ b/release/windows/msix/Assets/Wide310x150Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-100.png b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..2b80942a398 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-125.png b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..8d4e0e465ca --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-150.png b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..83df5c55957 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-200.png b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..b2570ef6d75 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-400.png b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..2c926a60a56 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square150x150Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-100.png b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..eb0d4a361be --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-125.png b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..ede467343a2 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-150.png b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..135ca033f55 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-200.png b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..4fd3678ee55 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-400.png b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..61093ac8704 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square310x310Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-16.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..90fda9270e5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-24.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-24.png Binary files differnew file mode 100644 index 00000000000..6fccdd1d638 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-256.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..629ba37d24b --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-32.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..f3b84b6d7f1 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-48.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..192a56c9ad3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-16.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..90fda9270e5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-256.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..629ba37d24b --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-32.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..f3b84b6d7f1 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-48.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..192a56c9ad3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-100.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..ba3c1cdde8f --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-125.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..16ef28a6c90 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-150.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..e4375253066 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-200.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..9415fc5a14f --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-400.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..fa04d8d66a5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-16.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-16.png Binary files differnew file mode 100644 index 00000000000..90fda9270e5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24.png Binary files differnew file mode 100644 index 00000000000..6fccdd1d638 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24_altform-unplated.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 00000000000..6fccdd1d638 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-256.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-256.png Binary files differnew file mode 100644 index 00000000000..629ba37d24b --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-32.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-32.png Binary files differnew file mode 100644 index 00000000000..f3b84b6d7f1 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-48.png b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-48.png Binary files differnew file mode 100644 index 00000000000..192a56c9ad3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square44x44Logo.targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-100.png b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..a241bdd7196 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-125.png b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..a688d81683e --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-150.png b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..f414a89f878 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-200.png b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..2ccc643ee36 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-400.png b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..62a825e683a --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Square71x71Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/StoreLogo.scale-100.png b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-100.png Binary files differnew file mode 100644 index 00000000000..8c1e0727843 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/StoreLogo.scale-125.png b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-125.png Binary files differnew file mode 100644 index 00000000000..20cfa79d4a0 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/StoreLogo.scale-150.png b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-150.png Binary files differnew file mode 100644 index 00000000000..be8e90a60bc --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/StoreLogo.scale-200.png b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-200.png Binary files differnew file mode 100644 index 00000000000..9552777ed32 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/StoreLogo.scale-400.png b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-400.png Binary files differnew file mode 100644 index 00000000000..59c2aa7164a --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/StoreLogo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-100.png b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..bc9e482e9e6 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-125.png b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..74876133648 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-150.png b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..6e449381de7 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-200.png b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..8b04684c736 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-400.png b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..908ed5a8b23 --- /dev/null +++ b/release/windows/msix/Assets/contrast-black/Wide310x150Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-100.png b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..354cd5facbb --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-125.png b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..3dd0eb150b2 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-150.png b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..bf68994926e --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-200.png b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..b3a317150a9 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-400.png b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..64a365ac020 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square150x150Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-100.png b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..65391363a20 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-125.png b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..7420af9ee92 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-150.png b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..51a9f9034c7 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-200.png b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..b71502f9007 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-400.png b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..878e31f565d --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square310x310Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-16.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..9ffb1958ed3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-24.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-24.png Binary files differnew file mode 100644 index 00000000000..06401f36cf4 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-256.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..571721e6fe5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-32.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..6f38345c41a --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-48.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..8608b70a171 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-16.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-16.png Binary files differnew file mode 100644 index 00000000000..9ffb1958ed3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-256.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-256.png Binary files differnew file mode 100644 index 00000000000..571721e6fe5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-32.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-32.png Binary files differnew file mode 100644 index 00000000000..6f38345c41a --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-48.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-48.png Binary files differnew file mode 100644 index 00000000000..8608b70a171 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-100.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..cc7db81d907 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-125.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..b8954bef6b5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-150.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..3b33386bc6e --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-200.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..6366286326b --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-400.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..124ca8f3994 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-16.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-16.png Binary files differnew file mode 100644 index 00000000000..9ffb1958ed3 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-16.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24.png Binary files differnew file mode 100644 index 00000000000..06401f36cf4 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24_altform-unplated.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 00000000000..06401f36cf4 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-256.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-256.png Binary files differnew file mode 100644 index 00000000000..571721e6fe5 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-256.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-32.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-32.png Binary files differnew file mode 100644 index 00000000000..6f38345c41a --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-32.png diff --git a/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-48.png b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-48.png Binary files differnew file mode 100644 index 00000000000..8608b70a171 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square44x44Logo.targetsize-48.png diff --git a/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-100.png b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..edfc1014513 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-125.png b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..5c15ccfdfde --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-150.png b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..1a87eeca31a --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-200.png b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..f14ca084141 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-400.png b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..15282705f84 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Square71x71Logo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/StoreLogo.scale-100.png b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-100.png Binary files differnew file mode 100644 index 00000000000..11c17d50a71 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/StoreLogo.scale-125.png b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-125.png Binary files differnew file mode 100644 index 00000000000..89ecf276787 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/StoreLogo.scale-150.png b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-150.png Binary files differnew file mode 100644 index 00000000000..5b13fe62d7f --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/StoreLogo.scale-200.png b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-200.png Binary files differnew file mode 100644 index 00000000000..80a9c958ce7 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/StoreLogo.scale-400.png b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-400.png Binary files differnew file mode 100644 index 00000000000..280442f90b0 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/StoreLogo.scale-400.png diff --git a/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-100.png b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-100.png Binary files differnew file mode 100644 index 00000000000..b41d0df775f --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-100.png diff --git a/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-125.png b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-125.png Binary files differnew file mode 100644 index 00000000000..030f2023f60 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-125.png diff --git a/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-150.png b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-150.png Binary files differnew file mode 100644 index 00000000000..7e50fc6c933 --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-150.png diff --git a/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-200.png b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..73e241ae4eb --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-200.png diff --git a/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-400.png b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-400.png Binary files differnew file mode 100644 index 00000000000..637f81da3bd --- /dev/null +++ b/release/windows/msix/Assets/contrast-white/Wide310x150Logo.scale-400.png diff --git a/release/windows/msix/README.md b/release/windows/msix/README.md index 8967a655e3d..3f661a44066 100644 --- a/release/windows/msix/README.md +++ b/release/windows/msix/README.md @@ -9,8 +9,9 @@ needs to be signed. Requirements ============ -* MakeAppX - this tool is distributed with Windows 10 SDK -* SignTool - this tool is also distributed with Windows 10 SDK +* MakeAppX.exe - this tool is distributed with the Windows 10 SDK and is used to build the .appx package. +* MakePri.exe - this tool is distributed with the Windows 10 SDK and is used to generate a resources file. +* SignTool.exe - this tool is distributed with the Windows 10 SDK and is used to sign the .appx package. * Python 3 (3.7 or later tested) - to run the create_msix_package.py script * requests module - can be installed with `pip install requests` * PFX file (optional, but strongly recommended) - for signing the resulting MSIX diff --git a/release/windows/msix/create_msix_package.py b/release/windows/msix/create_msix_package.py index dda09a10d4b..3e41484eef5 100644 --- a/release/windows/msix/create_msix_package.py +++ b/release/windows/msix/create_msix_package.py @@ -95,6 +95,9 @@ content_blender_folder = pathlib.Path(content_folder, "Blender").absolute() content_assets_folder = pathlib.Path(content_folder, "Assets") assets_original_folder = pathlib.Path(".", "Assets") +pri_config_file = pathlib.Path(".", "priconfig.xml") +pri_resources_file = pathlib.Path(content_folder, "resources.pri") + local_blender_zip = pathlib.Path(".", "blender.zip") if args.pfx: @@ -107,6 +110,13 @@ else: pfx_path = None print("Creating MSIX package without signing.") +pri_command = ["makepri", + "new", + "/pr", f"{content_folder.absolute()}", + "/cf", f"{pri_config_file.absolute()}", + "/of", f"{pri_resources_file.absolute()}" + ] + msix_command = ["makeappx", "pack", "/h", "SHA256", @@ -165,6 +175,9 @@ with zipfile.ZipFile(local_blender_zip, "r") as blender_zip: print("... extraction complete.") +print(f"Generating Package Resource Index (PRI) file using command: {' '.join(pri_command)}") +execute_command(pri_command, "MakePri", 4) + print(f"Creating MSIX package using command: {' '.join(msix_command)}") # Remove MSIX file if it already exists. Otherwise the MakeAppX tool diff --git a/release/windows/msix/priconfig.xml b/release/windows/msix/priconfig.xml new file mode 100644 index 00000000000..482eb3b3ae9 --- /dev/null +++ b/release/windows/msix/priconfig.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<resources targetOsVersion="10.0.0" majorVersion="1"> + <packaging> + <autoResourcePackage qualifier="Language"/> + <autoResourcePackage qualifier="Scale"/> + </packaging> + <index root="\" startIndexAt="\"> + <default> + <qualifier name="Language" value="en-US"/> + <qualifier name="Contrast" value="standard"/> + <qualifier name="Scale" value="100"/> + <qualifier name="HomeRegion" value="001"/> + <qualifier name="TargetSize" value="256"/> + <qualifier name="LayoutDirection" value="LTR"/> + <qualifier name="Theme" value="dark"/> + <qualifier name="AlternateForm" value=""/> + <qualifier name="DXFeatureLevel" value="DX9"/> + <qualifier name="Configuration" value=""/> + <qualifier name="DeviceFamily" value="Universal"/> + <qualifier name="Custom" value=""/> + </default> + <indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter="."> + <exclude type="path" value="Blender" doNotTraverse="true" doNotIndex="true" /> + </indexer-config> + </index> +</resources>
\ No newline at end of file |