nortikin / sverchok

Sverchok
http://nortikin.github.io/sverchok/
GNU General Public License v3.0
2.25k stars 233 forks source link

BPY data category refactoring #3920

Open Durman opened 3 years ago

Durman commented 3 years ago

Problem statement

Start of the discussion: https://discord.com/channels/745273148018262158/806643543182802954/813122566067322920

My understanding of purpose of next categories:

I think the Bpy data category should get clearer purpose. It can consists nodes which modify objects. Like Assign material list which modifies materials collection of an object or Vertex color which modifies vertex color attribute of an object. Also it has nodes close to analyzer category - Point on mesh and Recaster nodes. This subcategories could be splitted by splitter.

What could be done according this thoughts:

Nodes which should be moved from the category but it looks like there is no another category suitable to their functionality.

Not sure about this nodes Object ID sort, Object ID filter. Are they not redundant? Looks nodes from list and logic categories have their functionality. Probably this nodes could be removed.

nortikin commented 3 years ago

Getting Scene and Object directories my conclusion is to send all nodes to responding categories (discussable):

COLOR assign_materials.py color_uv_texture.py material_index.py set_custom_uv_map.py vertex_colors_mk3.py sample_uv_color.py weightsmk2.py uv_texture.py

ANALYZER armature_analyzer.py scene_raycast2.py closest_point_on_mesh2.py lattice_analyzer.py object_raycast2.py

SCENE filter_blenddata.py set_blenddata2.py sort_blenddata.py get_asset_properties_mk2.py 3dview_props.py FCurve_in.py frame_info_mk2.py particles_MK2.py cache.py collection_picker_mk1.py selection_grabber_lite.py curve_in.py objects_in_lite.py timer.py objects_mk3.py

OBJECT sculpt_mask.py select_mesh_verts.py custom_mesh_normals.py points_from_uv_to_mesh.py obj_edit.py blenddata_to_svdata2.py obj_remote_mk2.py BMOperatorsMK2.py dupli_instances_mk4.py

SCRIPTS getsetprop_mk2.py

LAYOUT monad.py

EXCHANGE node_remote_mk2.py

OLDNODES getsetprop.py