Sverchok icon indicating copy to clipboard operation
Sverchok copied to clipboard

Node wishlist

Open ly29 opened this issue 8 years ago • 48 comments

Opening the gates for nodes that needs to be implemented, priority will be to the ones forcing new issues to be resolved.

Also of course some nodes might needed to be pushed back until issues are resolved, either by working differently or by resolving, potentially systematic issues.

Please add things here.

Basic generator nodes

  • [x] Torus
  • [x] Plane/grid
  • [ ] Cube
  • [ ] Sphere
  • [x] Cylinder

Math

  • [ ] Formula node

List

  • [x] List Repeat / Tile

Topology

  • [ ] a simple flip polygons node (non bm) / with mask
    • using a robust ngon normal calculator that handles irregular shapes well (like bmesh's normal calc) or doing a 2d convex hull and geting the normalfrom that convex shape,

The old Sverchok nodes https://github.com/nortikin/sverchok/blob/master/index.md

New sverchok 0.5.9 nodes that should be remade for Rx.

  • [ ] vector rewire
  • [ ] exec node (not high priority)

ly29 avatar Feb 12 '17 11:02 ly29

Also almost all nodes should start out as a script.

ly29 avatar Feb 12 '17 11:02 ly29

that's the job for me, as i see. Where is docs?

nortikin avatar Feb 12 '17 11:02 nortikin

ok, see https://github.com/Sverchok/Sverchok/wiki/Node-Development-guide

nortikin avatar Feb 12 '17 11:02 nortikin

Also it is just not an issue of porting all old nodes, sometimes they could very well be combined into one node.

ly29 avatar Feb 12 '17 11:02 ly29

and numpy-ified, wrapping pydata for the basic primitives is not a great idea.

zeffii avatar Feb 12 '17 11:02 zeffii

Yeah, for the boot strap stage is was ok, but now we should step things up a bit.

ly29 avatar Feb 12 '17 11:02 ly29

will start from scripted node, from basics

nortikin avatar Feb 12 '17 11:02 nortikin

i'll do a numpy torus :)

zeffii avatar Feb 12 '17 11:02 zeffii

Playing with the scripted node is a good starting point.

ly29 avatar Feb 12 '17 11:02 ly29

oh. I miss the socket label showing the nested count.

zeffii avatar Feb 12 '17 11:02 zeffii

I will see what I can do.

ly29 avatar Feb 12 '17 12:02 ly29

depth @zeffii This shows the data depth, which isn't really the same but due in structure difference what is easily available.

ly29 avatar Feb 12 '17 14:02 ly29

A data structure viewer like stethoscope node would be good to have. Actually essential.

ly29 avatar Feb 12 '17 14:02 ly29

object_count Total obj count without structure

ly29 avatar Feb 12 '17 14:02 ly29

the last makes more sense . agreed about a viewer.

I'd like to propose an idea for a viewer / stethoscope. https://github.com/Sverchok/Sverchok/issues/44

zeffii avatar Feb 12 '17 14:02 zeffii

this isn't quite possible yet. image

zeffii avatar Feb 12 '17 15:02 zeffii

oh.. i stand corrected. nice image

zeffii avatar Feb 12 '17 15:02 zeffii

It needs a torus mode as well

ly29 avatar Feb 12 '17 15:02 ly29

except for the cyclic flag / yes

zeffii avatar Feb 12 '17 15:02 zeffii

It is a bit cobbled together however, just mostly wanted to try a node that would lower the complexity level. but also nice to have.

ly29 avatar Feb 12 '17 15:02 ly29

np.repeat / tile

import numpy as np
from svrx.nodes.node_base import node_func
from svrx.nodes.classes import NodeMathBase
from svrx.typing import Number, Int


@node_func(bl_idname=local_name, multi_label="Repeat", id=0, cls_bases=(NodeMathBase,))
def np_repeat(Values: Number = 0.0, Repeat: Int = 2) -> Number:
    return np.repeat(Values, Repeat)


@node_func(id=10)
def np_tile(Values: Number = 0.0, Repeat: Int = 2) -> Number:
    return np.tile(Values, Repeat)

zeffii avatar Feb 13 '17 14:02 zeffii

Yeah repeat and tile surprised me as well when I looked into them. Nice with np cookbook, was thinking to do that

ly29 avatar Feb 13 '17 14:02 ly29

i'd been thinking about this for N1 but also it makes sense for svrx, a Console Node.

 ------------------------------
 |  previous line-4        [use]| 
 |  previous line-3        [use]| 
 |  previous line-2        [use]| 
 |  previous line-1        [use]|
 |  previous line          [use]|
 |_>>> |__some command________|_|

with a button on the draw_buttons_ext to show a list of commands currently implemented

zeffii avatar Feb 13 '17 15:02 zeffii

That would be cool.

ly29 avatar Feb 13 '17 15:02 ly29

List join A + B ( + N....), for vertices, with option to

  • attach each array to the end
  • interleave A0, B0, A1, B1, ... An, Bn

zeffii avatar Feb 20 '17 08:02 zeffii

@zeffii Will do today, corrected the signature for tile and repeat and removed the multiply constant in trig.

ly29 avatar Feb 20 '17 08:02 ly29

removed the multiply constant in trig.

as long as there's still a convenient way to have multiples of pi/tau from one node.

zeffii avatar Feb 20 '17 08:02 zeffii

I just removed the wrapper, it wasn't needed. It was only meant for when the constant was only the constant. To allow code like

@node_func(...)
@constant
def e() -> Number:
    return np.e

So tau it becomes like this.

@node_func(bl_idname=local_name, id=61)
def tau(n: Number = 1.0) -> Number:
    return np.pi * n * 2

ly29 avatar Feb 20 '17 08:02 ly29

The feeling you get when you realize that you have screwed up your git totally and the latest changes are out of sync... Not happy with the desktop client now, it should have at least warning for overwriting a repo with another one...

Only one hour of work luckily.

ly29 avatar Feb 20 '17 09:02 ly29

oh man.. use git for windows has a bash-like terminal (ignore the UI part of the program)

zeffii avatar Feb 20 '17 09:02 zeffii