Skip to content

v3.0.0

Compare
Choose a tag to compare
@azagoruyko azagoruyko released this 01 Aug 08:43
· 23 commits to main since this release

What's new?

That's again the large update. Completely renewed connection/expression mechanics.

Core

  • RuntimeAttribute and RuntimeModule classes instead of previous AttributeWrapper and ModuleWrapper.
    These classes should be used while working with Modules and Attributes in scripts.

  • Connection and expression are evaluated on demand by RuntimeAttribute.pull/get or by RuntimeModule.ch.
    Basically, it's like pull/push mechanics here. It results in more adequate behavior which can be used in interactive tools.
    Expression is always evaluated on top of a connection.

  • Consistent API across widgets and the code.
    You can use the same functions in widgets as you use in the code (like ch, module, copyJson, etc).

  • Widgets API.
    Widgets can expose own API which can be used anywhere in code.
    For example, curve_evaluate, listBox_selected, etc.
    This API is used for autocompletion as well.

Widgets

  • Refactor json widget, fix bugs and make it more stable.
  • Widgets support self.executor for evaluating python code within a proper context (API).
  • Widgets with code editor use correct autocompletion.
  • comboBox eliminates duplicates.
  • listBox uses roles for items and supports multiple selection. It's much more interactive now.
  • radioButton refactor.
  • vector widget supports a custom dimension, column count and precision.
  • fix curve widget somethingChanged emits(on release button) and zero division bug.

UI

  • Evaluate/Clear expression menu for attributes.
  • Highly reworked widgetOnChange and updateWidget. Now it's more suitable for interactive tools.
  • Update style for attributes with connection/expression.
  • Fix bug in dropEvent for modules! Also it always generates unique names for modules.

Other

  • Update example.xml with the latest features.
  • add runStandalone.py for running RigBuilder outside of DCC with a correct stylesheet.