MoI discussion forum
MoI discussion forum

Full Version: NodeEditor Plus [Unofficial]

Show messages:  1-20  21-40  41-60  61-80  81-100  101-116

From: Frenchy Pilou (PILOU)
30 Dec 2024   [#41]
Why vector and not Vector ?


From: MO (MO_TE)
30 Dec 2024   [#42] In reply to [#40]
Hi PILOU

>> Have you make something for an easy translating ?

I haven't changed the translation process that much, it uses the "lang.js" as a dictionary.
Example: "English Word":"Translated Word",
I think you can translate almost every word you see in the NE plus. ( Except the node tooltips and searchbox )
That includes:
All menus, submenus, node title, node's inputs/outputs label and ui buttons
From: Frenchy Pilou (PILOU)
30 Dec 2024   [#43] In reply to [#42]
Yep i have made that for the first Elephant but not yet refound the exact process!
I must be patient! :)
From: Frenchy Pilou (PILOU)
30 Dec 2024   [#44]
There is something wrong somewhere
That works fine for the "Elephant" but not for the "Plus"
All stays in English! Of course i change the language in the Options!
Elephant
​moi.ui.createDialog( 'moi://appdata/nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow );

NodeEditorPlus
var theme = 'Default'; /* Theme options: Default,Light,SkyBlue,Autumn,Lavender */
var language = 'FR'; /* Language options: EN,RU,FR */
moi.ui.createDialog( 'moi://appdata/NodeEditorPlus/index.html?scheme='+theme+'&lang='+language+'', 'resizeable,defaultWidth:870,defaultHeight:480', moi.ui.mainWindow );

Ok Found : I must write var language = 'FR'; and not var language = 'EN'; inside the 3 lines above! :)

And of course I must now add all that is not present in the "Lang.js" like "Interpolate" for "Interpoler" etc...

Works like a charm!

Need some time for modify, add, verify, complete all things! :)


From: bemfarmer
30 Dec 2024   [#45]
RotarySwitch node, (Widget > SwRotary), is now updated.
The .js should be placed in the extensions directory.

Testing was done by inputing numbers 1 through 6 as constant inputs to the switch, and the output connected to the Knit node at the Cycles input.
Run the Knit node, observe the MoI screen, click on the rotary switch, and see progressively, 1 or 2 or 3 or ... 6 Knit stitches.
The other Multi-modes pointarray and object... were not tested.

Is there a node which can be used for testing, which would display switch setting results, for any of the three Multi-modes?


The switch has Cycled and TicTac modes.
Even though the node is rectangular, the switch mimics a round multi select switch, with a knob.
Cycled mode mimics continuing clockwise rotation of the know.
TicTac mode mimics reversal of the clockwise rotation, for "countdown."

Widget SwDPDT node was also updated, but has not been tested yet.

- Brian
Deleted swRotar.js
See Post 56 for MO's improved version of swRotary.
(TestRotarySwitch attached file will need fixup.)

Attachments:
TestRotarySwitch.zip


From: MO (MO_TE)
31 Dec 2024   [#46]
Here is a list of words that can be translated. (Menus, ui buttons, node titles, node input/outputs)
Translated word should be on the right side.
Edit: Use the complete list on this post:
https://moi3d.com/forum/index.php?webtag=MOI&msg=11614.55
From: Frenchy Pilou (PILOU)
31 Dec 2024   [#47]
Damned I start without your file! :) (crossing post!

So I will made a blend of it and the actual existing lang.js! ;)

Start of a long way to go! :)


From: Frenchy Pilou (PILOU)
1 Jan 2025   [#48]
Firt draft of the French lang.js! :)
https://moiscript.weebly.com/uploads/3/9/3/8/3938813/lang.js
From: Psygorn (DRILLBIT)
3 Jan 2025   [#49]
Hi Mo or Michael,

Thank you so much for your amazing work! I hope more people will dive in and contribute to developing Nodeeditorplus!

I opened the .zip file you uploaded, copied the 'NodeEditorPlus' folder, and pasted it into: C:\Users\user_1\AppData\Roaming\Moi.

Next, I created a shortcut key 'Ctrl+Alt+N' and used the following script to launch it:

script: moi.ui.createDialog( 'moi://appdata/NodeEditorPlus/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow );

Everything seems to be working fine so far, but I figured it wouldn’t hurt to double-check—have I done this correctly?


Edit: Also Michael, I noticed it was not possible to create "Ctrl+Space" short key! is that correct?

- Psygorn
From: bemfarmer
3 Jan 2025   [#50]
Here are a few rough notes documenting NodeeditorPlus, which could be added to the Documentation pdf.
I find it very difficult to write understandable documentation, and so tend to write in a verbose manner.

NodeeditorPlus documentation (rough notes 1/2/2025):

The General submenu is a collection of Multitype nodes.
The 4 types are described in MO's documentation pdf.

Input data is combined by Bundle node, or Concat node. The node is set to one of the four Types, (modes).
Each input slot receives data that is an array of elements corresponding to the mode.
Many input slots may be added to these nodes.

The difference between the Output of these two nodes is describe as follows:

In pointarray mode, the difference between Bundle and Concat is in the order in which the inputs are combined in the Output.

Concat (concatenate) takes a pointarray (input1), and adds (appends) a second pointarray (input2), and places the combined array into the output. (Additional inputs are also appended.)

Bundle takes the first point of the first pointarray (input1) and then the first point of the second pointarray (input2) and places them into the output array - and so on. So you can create e.g. points on different curves, bundle them and draw new curves across the base curves. (abstracted from Karsten, 2019)

An alternate explanation, considers the input data to be in a spreadsheet or matrix layout, where each cell contains an Element. Each node input is a "Row" array of Elements.
Concat outputs row1, followed by row2, ..., rowLast. This output is a concatenated array.

Bundle outputs the "Columns" (slices). row1_Element1, row2_Element1, ..., rowLast_Element1, then row1_Element2, row2_Element2, ..., rowLast_Element2,then, ...row1_LastElement, row2_LastElement,..., rowLast_LastElement. The output is an array.

Documentation on the Notes node:
Ctrl+Enter Set the text entries, or else they disappear.
Notes node can also be used as a title to the node assemblage, and brief documentation.

Text node can have text of point coordinates typed in, and then the node will output the point data.
For example, for x1 = 0.00, y1 = 0.39, z1 = -0.20, for the first row, type in 0.00 0.39 -0.20,
In the following pattern (do NOT type the text xi yi zi):
x1 y1 z1
x2 y2 z2
x3 y3 z3
etc
The pointarray output can be fed to the Interpolate node and/or the ConvertPts node, to display points, interpolated points, or curves.


Add another canvas:
Alt+New

- Brian

ps
I did some testing of the swRotary node, in 3 of the modes.
It appears to function well.
I did manage to lock up the swRotary node, (somehow), in pointarray node, when only one input was hooked up, with switch set to a blank input.
From: Michael Gibson
3 Jan 2025   [#51] In reply to [#49]
Hi Psygorn,

re:
> Everything seems to be working fine so far, but I figured it wouldn’t hurt to
> double-check—have I done this correctly?

Yes that looks correct.


> Edit: Also Michael, I noticed it was not possible to create "Ctrl+Space" short
> key! is that correct?

It's working fine for me over here. There is probably some utility program installed on your machine which is intercepting it.

Some things to look for here, did you possibly install Windows PowerToys? If so then disable or remap the shortcut for the "Peek" function in it.

https://answers.microsoft.com/en-us/windows/forum/all/ctrl-space-not-working-while-pressed-together/f6ef4fae-5403-429a-8c8d-484095feee45

- Michael
From: Psygorn (DRILLBIT)
3 Jan 2025   [#52] In reply to [#51]
Hi Michael,

Thanks :-)

-Psygorn
From: Michael Gibson
3 Jan 2025   [#53] In reply to [#52]
Hi Psygorn, was the Ctrl+space issue from PowerToys?

- Michael
From: Frenchy Pilou (PILOU)
4 Jan 2025   [#54]
https://moiscript.weebly.com/biblio-elephant.html

French version of the Addendum of BemFarmer!
EN . FR (Vo VF) inside the 2 Lines Pull Down

From: MO (MO_TE)
4 Jan 2025   [#55] In reply to [#48]
Hi PILOU

Thanks, It looks good. I have extracted more words in case you want to translate node properties and descriptions.
In the next version I will add translation support for nodes' tooltips as well. :)
Here is the full dictionary of NE Plus.

Attachments:
NEPlus_Full_Dict.txt


From: MO (MO_TE)
4 Jan 2025   [#56] In reply to [#50]
Hi Brian

Thanks for taking the time and documenting nodes.

I'm thinking of an alternative solution for documenting nodes.
There is a new feature in NE Plus called "Tooltips". You can Alt + Click on nodes to see the node's tooltip.
It uses the "desc" property to show a tooltip on the canvas.
Like this:
Multiplexer_Mux.desc = "Multiplexer (Mux) * To select input(s) by index number or a binary pattern";
(" * " characters add a new line to the tooltip.)

I left it untouched for most nodes except the ones I created recently. But, it's possible to write a simple description for them.

Or, We can use the translate function to insert new node descriptions on the fly.
Check the Descriptions section in the "NEPlus_Full_Dict.txt" file. ( It's a long file, search for: /* Descriptions */ )
https://moi3d.com/forum/index.php?webtag=MOI&msg=11614.55

I checked your "swRotary" node. It looks like a widget version of "Mux" node. :) I encountered a bug when cloning the node on middle inputs selected.
Fixed the bug, added more input options
Check this version: "Widget/SwRotaryTEST"
Edit: Added to the NodeEditor Plus v0.7.02
From: bemfarmer
4 Jan 2025   [#57] In reply to [#56]
Hi MO,

Thank you for your MANY improvements to swRotary. I like them very much.
Bugfix, 4:1, 8:1, 12:1, string, etc.
I'll delete my version.

Also Tooltips info, & Descriptions/Dict...

There is much to learn.

- Brian

I'll remove "Test" from your improved node, in my extensions folder.
From: bemfarmer
4 Jan 2025   [#58] In reply to [#57]
Suggestions on Descriptions/ToolTips:

Bundle arrays by slice

or: Bundle arrays by column slice.

For Bundle, the i-th (joined) element of the Output, contains the i-th element of each Input array.
(Abstracted from an internet description.)

- Brian

Programmers probably understand more of the terminology than a layperson.

- Brian
From: MO (MO_TE)
5 Jan 2025   [#59] In reply to [#58]
Here is a preview of tooltips:

Image Attachments:
Node_Tooltip_Test.png 


From: bemfarmer
5 Jan 2025   [#60] In reply to [#59]
Superb !
Simple example is great.
Google AI says:
"elegant" implies a refined simplicity, often with a sense of grace, beauty, and good taste, suggesting a solution or design that is both effective and aesthetically pleasing, even if it appears simple on the surface.

So per post 56, the text goes in the line:
Bundle.desc = " place text here with text lines separated with * "
in the General.js, Bundle code.

And language translation can be done with the "NEPlus_Full_Dict.txt" file. (somehow)

- Brian

Show messages:  1-20  21-40  41-60  61-80  81-100  101-116