User:Suzanne.soy/NoddyCAD: Difference between revisions

From FreeCAD Documentation
(Notes on nodal interface)
m (WIP, saving to avoid loosing everyting in a browser crash…)
Line 3: Line 3:
* Needs a "main object occurrence" feature to force an object to appear at a specific point in the top-level directory structure (inside folders and parts and other directory-like objects), regardless of whether it is used in another operation (e.g. just because someone adds an object to a "fuse" operation doesn't mean that it should be moved to a deep nesting of transformations and disappear from the main, easily-accessed part of the tree).
* Needs a "main object occurrence" feature to force an object to appear at a specific point in the top-level directory structure (inside folders and parts and other directory-like objects), regardless of whether it is used in another operation (e.g. just because someone adds an object to a "fuse" operation doesn't mean that it should be moved to a deep nesting of transformations and disappear from the main, easily-accessed part of the tree).
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.220.8113&rep=rep1&type=pdf Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data] for really large graphs], hopefully we won't have graphs that large, but some insights on improving legibility are interesting and probably applicable to smaller graphs.
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.220.8113&rep=rep1&type=pdf Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data] for really large graphs], hopefully we won't have graphs that large, but some insights on improving legibility are interesting and probably applicable to smaller graphs.
* Meta functions ("macros" in the LISP/Scheme programming sense) to query the graph, filter some nodes to be hidden etc.
* Meta functions ("macros" in the LISP/Scheme programming sense) to query the graph, filter some nodes to be hidden etc. Can also be used to represent modifications in the nodal editor in the history, see [[https://wiki.freecadweb.org/User:Suzanne.soy/Version_control Version control]]
* Meta nodes to control the appearance of the nodal editor itself

New objects/nodes:
* select&sequence node, which takes operations and applies them in order (like PartDesign), but also allows selecting sub-parts of an image or geometry to operate on and then deselect to get back to the big picture. Allow for making some features optional (controlled by a checkbox in the tree / a boolean input). Allow basing features off of de-activated features (for the base plane of a sketch for example)
* diff feature to show the diff between the shapes for two inputs, overlay them in transparent versions, animate etc.
* bus to gather many outputs along a single line into a list, instead of a myriad of wires

Revision as of 09:13, 3 February 2021

  • Use Sourcetrail (Language extension guide) or implement something similar. Right-click → find references should zoom out to show the entire graph, and highlight the definition and its uses
  • Breakpoints
  • Needs a "main object occurrence" feature to force an object to appear at a specific point in the top-level directory structure (inside folders and parts and other directory-like objects), regardless of whether it is used in another operation (e.g. just because someone adds an object to a "fuse" operation doesn't mean that it should be moved to a deep nesting of transformations and disappear from the main, easily-accessed part of the tree).
  • Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data for really large graphs], hopefully we won't have graphs that large, but some insights on improving legibility are interesting and probably applicable to smaller graphs.
  • Meta functions ("macros" in the LISP/Scheme programming sense) to query the graph, filter some nodes to be hidden etc. Can also be used to represent modifications in the nodal editor in the history, see [Version control]
  • Meta nodes to control the appearance of the nodal editor itself

New objects/nodes:

  • select&sequence node, which takes operations and applies them in order (like PartDesign), but also allows selecting sub-parts of an image or geometry to operate on and then deselect to get back to the big picture. Allow for making some features optional (controlled by a checkbox in the tree / a boolean input). Allow basing features off of de-activated features (for the base plane of a sketch for example)
  • diff feature to show the diff between the shapes for two inputs, overlay them in transparent versions, animate etc.
  • bus to gather many outputs along a single line into a list, instead of a myriad of wires