Skip to content

Sverchok for Blender 2.8x Release Notes

Ilya V. Portnov edited this page Jan 5, 2020 · 16 revisions

Preface

NB: this page is still under development, such as Sverchok for 2.8x itself.

Ever since the first alphas of Blender 2.80 became available, the work on adapting Sverchok to it has began. The biggest challenge we had was the new API for drawing on top of the viewport (which is used by "Viewer Draw" and similar nodes). There were also a lot of smaller API changes which we had to deal with.

Although the main thing about Sverchok for Blender 2.8x is that it exists, there are some new features as well (comparing to 2.79 version).

Compatibility issues

We have to inform all users, that there is no compatibility in terms of possibility to open old blend files or import old json files between Sverchok for 2.79 and one for 2.8x. Such decision was made because of big API changes in Blender's python, as well as because of amount of obsolete code we had to support if we decided to provide such compatibility; and we do not have that amount of man-power yet. So, we decided that it would be better to use this point as an excuse to drop as much of obsolete and unused stuff, as we could; there were things that we could've done better before - but we could not change them without breaking compatibility. Now, as we are breaking compatibility anyway, we can do such things better.

However, the main principles of Sverchok are still exactly the same; so you can use Blender 2.79 with old Sverchok to continue work on your old scenes, and begin to use new Sverchok with new Blender for the new scenes. You can reproduce your old setups in new Sverchok by creating new nodes one-by-one.

Versions support policy

We do not have enough man-power to actively support more than one version of Sverchok. So the policy is:

  • We are still supporting Sverchok for 2.79 in terms of fixing critical bugs;
  • But all new features, as well as usability bugfixes, go to 2.8x branch only.

Major changes

  • A number of nodes that were marked as deprecated, but still supported (so called "old nodes") are now removed.
  • Menu categories were rearranged (this work is still ongoing).
  • Blender's new UI does not support tabs in the left (T) panel anymore; so we have new UI for node toolbar, which can be optionally shown in the T or N panel; in T panel, there is also a search function. Refer to #2553 for more details.
  • There are now icons for (almost) all nodes for use in the toolbar or in the menu.
  • Categories are now supported for user-defined presets.
  • Old menu shortcut (Ctrl+Space) was changed to Alt+Space to do not conflict with Blender's new standard shortcut.
  • Current GitHub's requirements for gist creation are supported (one can not create anonymous gists programmatically anymore) — see the wiki page for details.
  • "Object In" node now has "MaterialIdx" output - an index of assigned material for each face of the mesh; "BMesh Viewer" has "Material_idx" input to assign material index of each face.
  • Several nodes (Adaptive Polygons, Remove Doubles, Bevel etc) now have "FaceData" input and output. It allows you to pass arbitrary per-face information, and it is processed correctly along with faces.
  • Set of examples distributed with Sverchok was reconsidered; some of them were removed, some ported to work on 2.80 branch.

New nodes

  • "Sverchok" node, which generates a low-poly cricket model — #2585
  • "List item insert" and "Mask to index" — #2512
  • "Circle Intersection" node — #2629
  • "Conic section" node — #2636
  • "Quadratic spline" node — #2642
  • "Dual Mesh" node — #2653
  • "Triangle" node — #2647
  • "Number Range" node. Replaces "Range Float" and "Range Int" - #2682
  • "Make monotone polygon 2D" - #2623
  • "Edges to face 2D" - #2623
  • "Merge mesh 2D light" - #2623
  • "Crop mesh 2D" - #2623
  • "Dissolve faces 2D" - #2623
  • "Random points on mesh" - #2716
  • "Chess selection" - #2729
  • "Pentagon Tiler" - #2710
  • "Inset Faces" (similar to "Inset Special" and "Extrude Separate Faces", but faster and with additional options)
  • "Component Analyzer" - #2776
  • "Assign Materials List" and "Set Material Index" nodes - #2462
  • "Wave Painter" node - see #2783
  • "Split Faces" and "Make faces planar" nodes — see #2754
  • "Symmetrize" node — see #2741
  • "Delaunay 2D CDT" node (available since Blender 2.81 only) — similar to "Delaunay 2D", but faster and has some additional options — see #2740
  • "Waveform Output" node — see #2703
  • "Oscillator" node — see #2652
  • "Framework" node for carcass / frame / ferme constructions — see #2706
  • New generic "Number Range" node now deprecates "Int Range" and "Float Range" nodes — see #2682

Updated nodes

The following nodes have received a massive functional update:

  • Scalar Math is now Mk4 and can operate in Numpy mode.
  • "Inset special" node does not have two normals calculation modes ("fast" and "accurate") anymore — it uses the accurate one always.
  • "Inset Special" node now has a possibility to create a fan-like structure (similar to Blender's "poke" operator) — you have to set the "Zero inset faces" parameter to "Fan" and set "inset" to zero.
  • "Bevel a curve" node now has twist support (see #2549).
  • NGon node now has a new "divisions" input (see #2552).
  • "Bounding box" node has new features — see #2575.
  • "Select mesh elements by location" node has new "level" parameter — see #2603.
  • "Voronoi 2D" node has bugs fixed and new features added — see #2639.
  • "Adaptive Polygons" is now Mk2. It received bug fixes and a lot of new features — see #2647 and #2663.
  • "Extrude separate faces" node now has a possibility to provide face transformation by an arbitrary matrix — see #2659.
  • "Intersect edges" sweeping line algorithm of finding edges intersection in 2D mode was added - #2623
  • "Mesh Expression" node now can generate arbitrary per-face and per-vertex data (for example, vertex colors and face materials information).
  • "Extrude edges" node is now Mk2 and allows you to extrude selected edges only.
  • "Mirror" node is now Mk2 and has some new options — see #2741.
  • New options were added to the "Bevel" node, which appeared in the recent Blender versions.

Miscellaneous

  • A new "Turtle API" module (sverchok.utils.turtle) was added, for script nodes to describe complex face selection patterns — see #2760.

Missing nodes

The following nodes, which were present in 2.79, are missing for now (but will be ported some day):

  • "Viewer GP"
  • "Export GCode"
  • "Evaluate Image"
  • "Selection Grabber"

Known issues

Clone this wiki locally