Skip to content
Jean-Luc Stevens edited this page Jan 10, 2017 · 13 revisions

Welcome to the boxflow wiki!

TODO (ordered by priority)

  • Import reliability of connector tool (port drag and drop).

  • Make a tool subclass that allows easier debugging.

  • Generalize Definitions and introduce BoxType. Param support can be encapsulated as ParamSpecs:

Definitions.add('holoviews', some_class)      # Automatically put into Box.
Definitions.add('holoviews', BoxType(some_class, 
       port_types={'foo': 'no-port', '     # From class attribute if not overridden
                   'bar': 'untyped_port',
                   'baz': 'rack-port'},    # For param.List
    buttons=[('Bang button', 'bang_method')]) # Buttons on the bottom.
  • BoxType can instantiate to Box which can handle param validation/setting as well as buttons etc.
  • Automatically turn ObjectSelector of strings into dropdowns.
  • Other object selectors could work, but would need repr(obj)->obj. Maybe with:
# Like instance.set_params but with mapping.
# Maybe handles button calls?
graph.update_instance(instance, params)
  • Use literal_eval for other parameters.
  • Support time dependent number generators (propagate self).
  • Batch updates both client and server side for better performance.
  • When in add_link in python, put param setting in try/except and issue 'remove_link' command on except (i.e prevent invalid connections).
  • Make it easier to connect when zoomed out.

Wishlist (unordered)

  • Add 'display_params' to Nodes e.g 'display_free_parameters:true' and 'viewport:true'.
  • Multiple output ports (maybe generalize propagate?)
  • Allow demo_graph to be specified from Python.
  • Implement DAG checking.
  • Improve registration of interfaces.
Clone this wiki locally