Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move what possible from Sverchok-Extra (WIP) #2993

Merged
merged 93 commits into from
Apr 18, 2020
Merged

Move what possible from Sverchok-Extra (WIP) #2993

merged 93 commits into from
Apr 18, 2020

Conversation

portnov
Copy link
Collaborator

@portnov portnov commented Mar 22, 2020

In this PR, I'm moving things that do not have any external dependencies, from Sverchok-Extra to Sverchok:

  • Abstract classes for Curve, Surface, Field.
  • Some nodes from Curve category.
  • Some nodes from Surface category.
  • Some nodes from Field category.

It is supposed that in the end, Sverchok-Extra will contain only things that are not possible without external dependencies.

At the moment, this PR branch is supposed to work with sverchok_move branch of Sverchok-Extra.

Preflight checklist

Put an x letter in each brackets when you're done this item:

  • Core code changes complete.
  • Rename SvEx* classes to Sv
  • Implement __repr__() methods
  • Code documentation complete.
  • Documentation for users complete:
    • Curve category
    • Surface category
    • Field category
  • Manual testing done.
  • Unit-tests implemented.
  • Ready for merge.

@portnov
Copy link
Collaborator Author

portnov commented Mar 22, 2020

@zeffii / @vicdoval you may wish to review this :) I understand that there is a lot of code, but maybe there will be some general remarks or maybe your eye will catch something.

I'll start writing documentation...

@portnov
Copy link
Collaborator Author

portnov commented Mar 22, 2020

Screenshot_20200322_195255

@zeffii
Copy link
Collaborator

zeffii commented Mar 22, 2020

yikes, that's a big PR :)

i'm taking a break from Sverchok for a while, to see if I can maybe learn a compiled language before the end of the world as we know it :)

@portnov
Copy link
Collaborator Author

portnov commented Mar 22, 2020

Screenshot_20200322_233101

@Durman
Copy link
Collaborator

Durman commented Mar 23, 2020

Should another shape of sockets really used? Is not using different colors is enough?

@portnov
Copy link
Collaborator Author

portnov commented Mar 23, 2020

Why not? :)

@Durman
Copy link
Collaborator

Durman commented Mar 23, 2020

Have a look at this post:
#2720 (comment)

I think it would be nice to keep the same logic as it going be in everything nodes project.
I just don't what is format of output sockets in your nodes what make them to have different shape.

@portnov
Copy link
Collaborator Author

portnov commented Mar 23, 2020

Screenshot_20200324_002205

@portnov
Copy link
Collaborator Author

portnov commented Mar 24, 2020

Screenshot_20200324_202518

@portnov
Copy link
Collaborator Author

portnov commented Mar 24, 2020

Screenshot_20200324_232120

@vicdoval
Copy link
Collaborator

This is awesome @portnov i looked the code (just some parts :D) an looks as good as usual,
Some ideas:
_ ensure_nesting_level does not understand numpy (until i commit #2997). It would be nice if this nodes could accept and produce numpy arrays. Maybe after my commit you want to merge it in your branch or add the line to data_structure.py (and manage later the git conflicts) to test this branch with numpy inputs

_ In the curve range node the ouputs should have one extra [ ] ?

_it would be awesome to add some routine to the stethsocope to read the new geometry types better than
image

@vicdoval
Copy link
Collaborator

Another suggestion:
Changing the imported classes suffix from 'SvEx' to 'Sv'

@portnov
Copy link
Collaborator Author

portnov commented Mar 29, 2020

Screenshot_20200329_214608

@portnov
Copy link
Collaborator Author

portnov commented Mar 29, 2020

Screenshot_20200330_003702

@zeffii
Copy link
Collaborator

zeffii commented Mar 29, 2020

i was looking at the Stethoscope implementation last week, and got the itch to move stethoscope specific drawing stuff back out of the nodeview callback and back into the node's own .py file.. or maybe a module. I agree with @vicdoval it would be useful to add more information / repr to objects of the SvEx classes.

@portnov
Copy link
Collaborator Author

portnov commented Mar 30, 2020

Yes, I'll add __repr__() definition to classes.

@portnov portnov mentioned this pull request Mar 30, 2020
@portnov
Copy link
Collaborator Author

portnov commented Apr 5, 2020

Screenshot_20200406_011910

Screenshot_20200406_013523

Screenshot_20200406_014256

@portnov
Copy link
Collaborator Author

portnov commented Apr 7, 2020

Screenshot_20200407_234921

@portnov
Copy link
Collaborator Author

portnov commented Apr 7, 2020

bend_revolve_1

@portnov
Copy link
Collaborator Author

portnov commented Apr 13, 2020

Screenshot_20200413_222646
Screenshot_20200413_223337

@enzyme69
Copy link
Collaborator

@portnov Ilya, where should I start if I want to try all these special nodes? is there on list of every nodes like this? Is it easy to use?

@portnov
Copy link
Collaborator Author

portnov commented Apr 14, 2020

If you're using Sverchok from git, you can do

git fetch origin
git checkout -b extra_move origin/extra_move

and then run blender as usual. After that, use git checkout master to switch to the master branch back.

Or you can just wait when this PR is merged.
I'm already thinking about merging without all the documentation and adding documentation later in the following PRs, but at least most useful nodes must be documented.

@portnov
Copy link
Collaborator Author

portnov commented Apr 15, 2020

Screenshot_20200415_210115

@portnov
Copy link
Collaborator Author

portnov commented Apr 15, 2020

Screenshot_20200415_211714

@portnov
Copy link
Collaborator Author

portnov commented Apr 15, 2020

Screenshot_20200415_230352

Screenshot_20200415_230908

@portnov
Copy link
Collaborator Author

portnov commented Apr 15, 2020

Screenshot_20200416_020925
Screenshot_20200416_021004

@portnov
Copy link
Collaborator Author

portnov commented Apr 16, 2020

Screenshot_20200416_194107
Screenshot_20200416_194148
Screenshot_20200416_195136

@portnov
Copy link
Collaborator Author

portnov commented Apr 16, 2020

Screenshot_20200416_235740
Screenshot_20200416_235858
Screenshot_20200416_233921

@portnov
Copy link
Collaborator Author

portnov commented Apr 16, 2020

Screenshot_20200417_010034

@portnov
Copy link
Collaborator Author

portnov commented Apr 17, 2020

Wow. At least most of the documentation is ready. It could be of better quality, but let's leave that for future PRs..

@zeffii
Copy link
Collaborator

zeffii commented Apr 17, 2020

epic effort @portnov

@vicdoval
Copy link
Collaborator

The curve range had also a missing [ ]
image

@portnov
Copy link
Collaborator Author

portnov commented Apr 18, 2020

That's already fixed.

@portnov
Copy link
Collaborator Author

portnov commented Apr 18, 2020

Screenshot_20200418_170750

Screenshot_20200418_184946

@portnov
Copy link
Collaborator Author

portnov commented Apr 18, 2020

Screenshot_20200418_193853

@portnov
Copy link
Collaborator Author

portnov commented Apr 18, 2020

Well, I guess the only way for wider testing is to merge this...

@portnov portnov merged commit 27aa44f into master Apr 18, 2020
@vicdoval
Copy link
Collaborator

awesomeness all around... :) Are you going to publish it in Facebook, Twitter and/or Blender Artists??

@portnov
Copy link
Collaborator Author

portnov commented Apr 18, 2020

@vicdoval I think I'll publish it in russian community in VK. Also probably in the thread on the blenderartists. You're free to publish in other sources :)

@Durman
Copy link
Collaborator

Durman commented Apr 19, 2020

@portnov Great work!

@portnov
Copy link
Collaborator Author

portnov commented Apr 19, 2020

https://gist.github.com/d9716b5f7ee1f8907b873cefcd721f03
Screenshot_20200419_172802

@enzyme69
Copy link
Collaborator

enzyme69 commented Apr 21, 2020

I made #Alien Unlimited Worship Sculpture Generator using the new node :) Just less than 10 nodes.

Screen Shot 2020-04-21 at 3 59 30 pm

@enzyme69
Copy link
Collaborator

enzyme69 commented Apr 22, 2020

I think we are missing Surface UV Flip node and also we need ability to output Surface with UV, like Blender Surface?

I have bunch of Circles Curves, list join, and make surface, but when I enable Cyclic, it was in the wrong direction and I was like stuck.

@enzyme69
Copy link
Collaborator

Question:
Can force field curve projected or affected by 3D surface or 3D volume?

@portnov
Copy link
Collaborator Author

portnov commented Apr 22, 2020

No, there is no such funcitonality in Sverchok currently. If you install sverchok-extra, there are "minimal vector field" and "mesh nearest normal" nodes, may be they appear what do you want. Sorry, no documentation for them yet.

@portnov
Copy link
Collaborator Author

portnov commented Apr 22, 2020

missing Surface UV Flip node
Yes, it's missing currently.

About UV maps... it would require some kind of "output" node that would output Blender's Surface objects instead of mesh object. I didn't try to make such thing, yet.

@portnov
Copy link
Collaborator Author

portnov commented Apr 22, 2020

@enzyme69

Can force field curve projected or affected by 3D surface or 3D volume?

Maybe you are talking about "Bend along Curve Field" / "Bend Along Surface Feild" nodes?...

@DolphinDream
Copy link
Collaborator

Awesome job, @portnov ! This is pretty impressive. I’m looking forward to check it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants