-
Notifications
You must be signed in to change notification settings - Fork 4
Description
TODO
Command Nodes
- Command
- Switch
- Script
- Needs to read internal and external script
- Should detect imports and handle them appropiately
- Node is possibly hidden from menu if the user preference option Advanced Mode (todo) is disabled
- Operator
- Needs to provide a search prop for available operators
- Drop down menu that looks through operator types acts as a preliminary filter
- Excludes operators that cannot be ran in the 3d view
- Will need to look through bpy types
- Menu
- Needs to provide a search prop for available menus
- Drop down menu that looks through menu types acts as an initial filter
- Excludes menus that can not be used in the 3d view
- Will need to look through bpy types
- Property
- Update a properties value (such as toggling the xray option of an object)
- Should be able to paste commands copied from copy data path, will assume object property otherwise
- Should detect property type and produce corresponding options
- Allow command nodes to be created with fed commands via node catagories menu creation
- Create info fields for commands
- Add press/release detection to command node sockets
Bool nodes
- Compare
- Active object
- Active object type
- Active object mode
- Objects visible
- Used as the if visible objects check and the check for if the amount visible is of value
- Objects selected
- Objects type
- Property
- Check a properties value (such as whether object xray is enabled)
- Should be able to paste commands copied from copy data path, will assume object property otherwise
- Should detect property type and produce corresponding options
- Selection mode
- Needs to check for modes this applies to
- Check for whether in verts/edge/face selection mode as example
- Selection amount
- Needs to check for modes this applies to
- Check for number of verts/edges/faces selected as example
- Statement bool node
Output
- Create initial write file functionality
- Create initial reset functionality
- Create initial build error catching
- Presets
- Migrate write and reset behavior path destination to user data folder?
- Script output node?
- Docs
Overview
Ok, so this is the second idea. {I did push what I have to the nodes branch.) This time we will use nodes to set up the hotkeys for fidget.
The idea is simple we will allow the user to set up buttons via nodes.
In general, we need 4 type of nodes
- output
The output one will have a button with that will send the whole setup to the code.Aand 3 input sockets for fidget 3 buttons (top right and left - input
input will allow writing bpy. lines of operators and will have 1 output settings - if
if will have 2 input sockets and one output socket /we will have many of those with stuff like mode(edit/obj) number of obj and so on - press/release
press/release will have 1 input and 1 output with a button to choose if its press or release.
So the general idea is to have some input nodes plugged to press/release each than those to the 'if ' node and from those to output
so at the end, they will generate code like that

I did basic implementation to check if it will work, but I have problems with how to transfer stuff from node to node via the socket or how to implement multi-line...
So here is the general idea
So, for now, I did set up 1 string property in user preferences. When we press the button on the node we write the new string there. and finally, if the mouse is over the right button it exec that string. But of course, it needs to work like in the example above.

