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

Wifi Input Output bug #228

Closed
enzyme69 opened this issue Jun 16, 2014 · 41 comments
Closed

Wifi Input Output bug #228

enzyme69 opened this issue Jun 16, 2014 · 41 comments
Labels

Comments

@enzyme69
Copy link
Collaborator

prtscr capture_13
prtscr capture_12

Sometimes, under circumstances, the Wifi Input and Output does not transfer. I tested in the setup like above.

Occassionally, when data is not right, Sverchok just does not bake and even the connection is remade, it stops working.

@enzyme69 enzyme69 added the bug label Jun 16, 2014
@ly29
Copy link
Collaborator

ly29 commented Jun 16, 2014

Test the following, restart blender and make that directly. Wifi needs a bit extra work.
The dictionary the wifi nodes use have two problems, it isn't reset on when opening a new file, it isn't multi layout aware.

@enzyme69
Copy link
Collaborator Author

I will keep eyes on it, seems the wifi can be pretty sensitive.

also I noticed the Viewer node when I use many, if one failed to work,
other will also stop working and to update is not always easy.

@ly29
Copy link
Collaborator

ly29 commented Jun 22, 2014

I will close this issue, added wifi to my todo.
Also made sure the dictionary is reset on file load, should help a little bit.

@ly29 ly29 closed this as completed Jun 22, 2014
@enzyme69
Copy link
Collaborator Author

Thanks Ly.

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Okay this is broken and I think it will go quicker and be better to rewrite this than to track down the problems.

@ly29 ly29 reopened this Jun 27, 2014
@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

This also has the advantage that we got rid of sv_Vars, a dictionary of the data in wifi nodes that isn't needed anymore.

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

There is actually an crazy amount of things that can go wrong for a simple node that only creates virtual links.
Many in nodes can have the same variable name, this isn't so good... Fixed.
Variable name in out node must match an input node.
Output socket must match input socket, and re order themselves.

I think how noodle reattach themselves have changed a little bit since 2.69 at least.

It is most working now, but perhaps not backwards completely compatible. Have to ensure that before pushing it.

And also the code is really ugly right now, has to sanitized a bit more, otherwise this isn't an improvement... Due to my dislike of how wifi in/out messes up the update system I haven't used so much recently so I am unsure about its correct behavior, have download an old sverchok and test a bit.

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

My favorite part is the new update function in wifi in, it has a good length

    def update(self):
        multi_socket(self, min=1, breck=True)

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Partly changed paradigm how it works, I think this is a good idea.
For input you can set the var_name as the old ones did with.

wifi-in-out
For output you have to select var_name from an EnumProperty and click set to change it. To unlink an variable you have click reset.
wifi-select

Note Todos

  1. Node colors are messed up - fixed now
  2. The layout needs polishing.
  3. Old layouts should continue working.

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

The amount of data has no effect on the time it takes to process the wifi node.
A cylinder with 100 verts and 100 subdivisions.

Updated  Cylinder in:0.1004
Updated  Wifi input.003 in:0.0001
Updated  Wifi output.002 in:0.0006
Updated  Viewer Draw in:0.045

@nortikin
Copy link
Owner

https://docs.google.com/file/d/0B6KMvjWAjGiyOURiOWZNU1JhSG8/edit
colors, yes. we need complex solution

@nortikin
Copy link
Owner

#120 (comment)

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Yeah, as long as we make that optional and settable.

Is it okay if I make the wifi nodes brighter? The colors are kind of dark per default. Especially the node read/fail is very hard to read...

@nortikin
Copy link
Owner

yes, i'd like to change this colors too )) wifi not fits all concept

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

give me 2 colors and I will focus on the last bug before pushing the fix :)

@nortikin
Copy link
Owner

if you talking of two colors... than thae should be close
RGB:
0.674
0.242
0.363

0.536
0.242
0.674

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

I will push to refactor, it works for almost every case I try now

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Please test a before pushing to master. Anyway it is working a lot better than before.

@nortikin
Copy link
Owner

oups

@nortikin
Copy link
Owner

nods[nod_name].update()

File "/home/nikitron/.config/blender/2.71/scripts/addons/sverchok-master/../sverchok-master/nodes/basic/wifi_out.py", line 140, in update
data = SvGetSocketAnyType(node, in_socket, deepcopy=False)
File "/home/nikitron/.config/blender/2.71/scripts/addons/sverchok-master/../sverchok-master/data_structure.py", line 1267, in SvGetSocketAnyType
out = SvGetSocket(socket, deepcopy)
File "/home/nikitron/.config/blender/2.71/scripts/addons/sverchok-master/../sverchok-master/data_structure.py", line 1342, in SvGetSocket
return out.copy()
AttributeError: 'tuple' object has no attribute 'copy'

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Ooops indead

@nortikin
Copy link
Owner

oops is about my commit to master with your wifi )))

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Simple fix however and should have been testeted before, give me 15 min or so and we push fix.
Can you share the file?

@nortikin
Copy link
Owner

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

I didn't get a tuple there so can't 100% confirm the fix, but it really should fix it

@nortikin
Copy link
Owner

hm, line is ok, but box is not

@nortikin
Copy link
Owner

it is pretty strange...

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Hmm, strange that file seems to work for me. Did you get the fix from refactor?

@nortikin
Copy link
Owner

line gives tuples, but box gives lists!!

@nortikin
Copy link
Owner

and box not works

@nortikin
Copy link
Owner

yes, updated, it still not do

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

test

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

It is very strange.

@nortikin
Copy link
Owner

in morning maybe will be clear what is it

@ly29
Copy link
Collaborator

ly29 commented Jun 27, 2014

Sounds good, lets solve it tomorrow.

@ly29
Copy link
Collaborator

ly29 commented Jun 28, 2014

I still can't reproduce the bug. Anybody else?

@enzyme69
Copy link
Collaborator Author

prtscr capture_9

There is a bug something about copy and tuple, it complaints.

Normally I use many wifi nodes, and only pipe in 1 values per node. But I realized we can pipe in many values and just wifi it. But that does not seem to work with Box node.

@ly29
Copy link
Collaborator

ly29 commented Jun 28, 2014

Okay I pushed-merged an update that should fix this specific problem.

@enzyme69
Copy link
Collaborator Author

Yes it is working now! Confirmed.

The update method is very smooth and interactive now. Who came up with this
brilliance. F8 to unzip and instant update via online. Great!!


@ly29
Copy link
Collaborator

ly29 commented Jun 28, 2014

Okay found and resolved it, don't think niki used the last update i pushed last night.

Note that the tuple on base level from box might expose some bugs in other places when one sets deepcopy=False in SvGetSocketAnyType. Exposing these bugs are good.

@ly29
Copy link
Collaborator

ly29 commented Jun 28, 2014

I think this works now, if somebody doesn't agree please reopen this issue.

@ly29 ly29 closed this as completed Jun 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants