Nested Sub Blocks

This will be pretty epic if (when) I pull it off.

The plan is to have nested circuit blocks. This is no different to implementing recursive functions, just have to keep in mind the speed burden and how to inform the user of problems.

How to inform the user of problems

If a problem is encountered in a deep iteration of a nested sub block compilation then we want to bust out of it and output a popup alert on the main GUI. This is best implemented with access to the main scene node via an auto-load singleton I think.

So I added a main var to the Data autoload where the main scene may store a reference to itself during its setup.

Also, I moved the general code for loading data from disk to this Data autoload script where we may want to load data without the involvement of a GUI.

So now, the access to the main scene alert popup code is available simply as Data.main.alert("Message"). And we can return back an ok value up the tree to indicate success or failure to the original calling function rather than signals which would be like falling apples but going upwards.

Compiling

For the sub blocks there is no need to care about configuring slots of the GraphNode, so we will pass a parameter about that need in the add_pins function that kicks off the setup of the block. And we will load the circuit data from disk to load the latest version of the sub block circuit (maybe cache this data?).

So have to carefully set this up and test it next.

More Devlog entries

Most recent first