nodezator 1.5.1__tar.gz → 1.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nodezator-1.5.1 → nodezator-1.5.3}/PKG-INFO +1 -1
- nodezator-1.5.3/nodezator/__init__.py +1 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/appinfo.py +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/about.htsl +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-5.htsl +30 -0
- nodezator-1.5.3/nodezator/data/images/bluesky_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/translations_map.pyl +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/translations_map.pyl +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/op.py +17 -4
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/execution.py +70 -74
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/codeblock.py +133 -3
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/constants.py +2 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/main.py +4 -2
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/prep.py +53 -9
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/factoryfuncs.py +3 -3
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/PKG-INFO +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/SOURCES.txt +1 -1
- {nodezator-1.5.1 → nodezator-1.5.3}/setup.cfg +1 -1
- nodezator-1.5.1/nodezator/__init__.py +0 -1
- nodezator-1.5.1/nodezator/data/images/x_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/MANIFEST.in +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/README.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/__main__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/basicop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/masksop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/audioplayer.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/collections.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/single.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/surfaceswitcher.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/color2d.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/colors.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/loopop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/colorsop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/data.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/button.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/entry.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/label.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/scale.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/colorlist.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/particles.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/waves.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/config.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/app_icon.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/app_themes/emeralds_on_coal.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/general-controls.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/index.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/text-editor-default-behavior.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/text-editor-vim-like-behavior.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-color-coded-annotations.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-intfloat-words.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-recipes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-widget-configurations.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-widget-presets.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-basic-way-define-widgets.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-color-coding-inputs-outputs.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-conditional-execution.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-complex-viewer-nodes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-viewer-nodes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-your-first-node.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-distributing-nodes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-full-syntax-more-widgets.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-loading-nodes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-looping.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-advanced-viewer-node-features-part1.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-advanced-viewer-node-features-part2.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-ways-define-nodes.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-nodes-variable-parameters-custom-outputs.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-other-objects.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-preview-widgets.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-viewer-nodes-with-custom-visualization-loops.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-widget-presets-more-widgets.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img06.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img07.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img08.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img06_and_07.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img08.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img06.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img06.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_import_module_node.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-full-syntax_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-full-syntax_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_dialog_problems_node_packs.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_user_log_showing_missing.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img06.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img07.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img08.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img01_0.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img01_1.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img03_0.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img03_1.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img04_0.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img04_1.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img05_0.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img05_1.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-viewer-nodes-with-custom-visualization-loops_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img00.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img01.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img02.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img03.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img04.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img05.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/index.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/license.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/codeblock_clipboard_button.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/doctest_format_comparison.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/graphs_different_appearances.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/local_browser_new_appearance.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/new_app_defined_nodes.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/new_viewer_node.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/nodes_from_new_categories.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/operator_nodes_new_appearance.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/same_node_different_modes.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-4-x/widget_visible_invisible.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/birds_eye_view.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/dialog_to_jump_to_node.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/gui_automation_submenu.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/not_found_drawing_comparison.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/socket_proximity_detection.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/system_testing_form.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/images/v1-5-x/system_testing_report_initial_portion.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/index.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-3.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-4.htsl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/OFL_license_for_all_other_fonts.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/cc0_license_for_nodezator_icons.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/enc_sans_sexp_bold_mplus_1p_2000em_med.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/fira_mono_bold_mplus_1m_med.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/nodezator_icons.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_bold.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_italic.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_mono_medium.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_regular.ttf +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/glossary.rst +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/README.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/baseball.svg +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/baseball_glove.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/colors_editor_scale_images.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/discord_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/github_mark.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/hand_closed.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/hand_open.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/indie_python_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/kennedy_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/mask_wave.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/nodezator_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/patreon_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/pygame_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_filemanager_icon.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_menu_icon.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_splashscreen_icon.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot_arm_a.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot_arm_b.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/unlicense_logo.png +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/dialogs_map.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/status_messages_map.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/dialogs_map.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/status_messages_map.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/comment/fresh_eucalyptus_dark.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/comment/pale_green.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/python/ice_with_candy.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/python/sprinkled_dark.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/user_log/message_temperature.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/user_log/message_temperature_dark.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/shared/file_with_objects.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0000.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0001.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0002.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0003.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0004.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0005.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0006.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0007.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0008.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0009.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0010.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0011.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_id_to_title.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/dialog.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/birdseyeview.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/categorycolors.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/data.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/gridlogic.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/form.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/jumptonode.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/renaming.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/selection.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objinsert.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/callablenode.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/operatornode.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/proxynode.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/textblock.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/filtering.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/play.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/record.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/systemtesting.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/pythonexporting.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/reposition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/selection.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/input.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/output.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/proxy.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/subforms.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpopups/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpopups/creation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/extraop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/loadop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/mouseop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/newpathform.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/pathobj.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/exception.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/test_cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/outputviz.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/preproc.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/segment.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/segment.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/unpacking.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/widget.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/callablereposition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/collapsedreposition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/collapsing.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/expandedreposition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/callablecreation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/collapsedcreation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/expandedcreation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/calmode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/param.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/varparam.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/generaldefs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/pygamedefs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/editlogic.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/exception.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/execution.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewasmonotext.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewastext.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewpythonsource.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewsurface.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/nodepacksissues.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/execution.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/vizop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/vizprep.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/presets.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/segment.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/titleupdate.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/reposition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizprep.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/widget.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/pythonrepr.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_no_callable.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_no_signature.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_nodes.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_not_callable_object.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_not_inspectable.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_with_error.zip +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/tests.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/base.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/input.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/output.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/placeholder.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/proxy.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/action.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/draw/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/draw/connectionassist.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/support.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/check.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/surf.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/signaturedefs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/doctest.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/test_data.pyl +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/testmarkdown.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/export.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/popupdefinition.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/hideswitch.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/creation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/image.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/iconfactory.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/knownpacks.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/fixeddialog.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/exception.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/mainloop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/memoryman.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/behaviour.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/command.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/common.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/hover.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/iconfactory.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/scroll.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/scroll.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/surffactory.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/behaviour.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/button.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/debug.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/oop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/list.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/set.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/surfs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/keyconst.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/listbox.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/scale.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/searchbox.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/modes.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/userlogger.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/behaviour.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/doctest.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/testmarkdown.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/general.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/nestedfromdict.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/conversion.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/creation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/custom.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/largemaps.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/property.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/datetimeutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/debug.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/dictutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/exceptionutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/importutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/iterutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/mathutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/meta.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/path.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/profileutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/pyl.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/stringutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/timeutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/treeutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/create.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/shape.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/transform.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/normal.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/play.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/record.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/recentfile.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/cluster.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/README.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/fixtures.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/individual_positioning.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/introduction.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part01.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part02.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part03.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part01.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part02.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part03.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/special_methods_part01.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/special_methods_part02.test.md +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/testmarkdown.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/singlepos.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/sizepos.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/spatial.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/special.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/animsetup.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfdef.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/draw.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/icon.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/mathutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/svgexport.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/svgutils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/exception.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/comment.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/namemap.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/userlog.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/playsupport.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/factoryfuncs.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0000.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0001.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0002.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0003.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0004.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0005.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0006.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0007.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0008.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0009.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0010.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0011.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/insert.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/normal.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/navigation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/syntaxhigh.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/line.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/cursor.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/line.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/autolabel.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/text.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/prep.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/translation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/generalform.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/socketdetectionform.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/utils.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/validation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/cache.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/previewer.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/render.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/checkbutton.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/colorbutton.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/defaultholder.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/modes.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/numeval.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/literaldisplay.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/literalentry.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/creation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/creation.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/op.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/audio.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/base.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/constants.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/font.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/image.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/path.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/text.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/video.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/sortingbutton.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/stringentry.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/textdisplay.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/fileop.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/label.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/main.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/menu.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/__init__.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/birdseyeview.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/boxselection.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/loadedfile.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/movingobject.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/nofile.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/segmentdef.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/segmentsev.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/switch.py +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/dependency_links.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/entry_points.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/requires.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/top_level.txt +0 -0
- {nodezator-1.5.1 → nodezator-1.5.3}/pyproject.toml +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.5.3"
|
|
@@ -20,7 +20,7 @@ from collections import namedtuple
|
|
|
20
20
|
|
|
21
21
|
AppVersion = namedtuple("AppVersion", "major minor micro release_level")
|
|
22
22
|
|
|
23
|
-
APP_VERSION = AppVersion(1, 5,
|
|
23
|
+
APP_VERSION = AppVersion(1, 5, 3, "release_candidate")
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
### titles for the application
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
<p>For tutorials/examples/roadmap and more go to <a href="https://nodezator.com">nodezator.com</a>.</p>
|
|
16
16
|
|
|
17
|
-
<p>This software is developed by Kennedy Richard (<a href="https://kennedyrichard.com">website</a>|<a href="https://x.com/KennedyRichard">Twitter/X</a>) as part of the <a href="https://indiepython.com">Indie Python</a> project.</p>
|
|
17
|
+
<p>This software is developed by Kennedy Richard (<a href="https://kennedyrichard.com">website</a>|<a href="https://bsky.app/profile/kennedyrichard.com">Bluesky</a>|<a href="https://x.com/KennedyRichard">Twitter/X</a>) as part of the <a href="https://indiepython.com">Indie Python</a> project.</p>
|
|
18
18
|
|
|
19
19
|
<p>Please, become our patron on <a href="https://patreon.com/kennedyrichard">patreon</a> to support development of this and other useful software. All donation methods available, including methods that allow one-time donations are can be found here: <a href="https://indiepython.com/donate">https://indiepython.com/donate</a></p>
|
|
20
20
|
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
<ul>
|
|
15
15
|
<li><a href="https://github.com/IndiePython/nodezator/releases/tag/v1.5.0">[v1.5.0] System testing, topological sorting and QOL features</a></li>
|
|
16
16
|
<li><a href="https://github.com/IndiePython/nodezator/releases/tag/v1.5.1">[v1.5.1] Usability improvements and content update</a></li>
|
|
17
|
+
<li><a href="https://github.com/IndiePython/nodezator/releases/tag/v1.5.2">[v1.5.2] Bug fix for nodes with keyword-variable parameters</a></li>
|
|
18
|
+
<li><a href="https://github.com/IndiePython/nodezator/releases/tag/v1.5.3">[v1.5.3] User manual utility and file manager bug fix</a></li>
|
|
17
19
|
</ul>
|
|
18
20
|
|
|
19
21
|
<ol>
|
|
@@ -31,6 +33,8 @@
|
|
|
31
33
|
<li><a href="whats-new/v1-5.htsl#improved-not-found-drawings">Improved "Not-found" drawings with SVG</a></li>
|
|
32
34
|
<li><a href="whats-new/v1-5.htsl#fixes-other-back-end-changes">Fixes and other back-end changes</a></li>
|
|
33
35
|
<li><a href="whats-new/v1-5.htsl#usability-improvements-content-update">v1.5.1: Usability improvements and content update</a></li>
|
|
36
|
+
<li><a href="whats-new/v1-5.htsl#bug-fix-keyword-variable">v1.5.2: Bug fix for nodes with keyword-variable parameters</a></li>
|
|
37
|
+
<li><a href="whats-new/v1-5.htsl#user-manual-utility-file-manager-fix">v1.5.3: User manual utility and file manager bug fix</a></li>
|
|
34
38
|
|
|
35
39
|
</ol>
|
|
36
40
|
|
|
@@ -264,6 +268,32 @@
|
|
|
264
268
|
<p>Finally, made a few small changes to the <code>menu</code> subpackage to make it easier to use widgets like checkbuttons and radiobuttons on the menus. The menu subpackage always had such widgets available, but we never needed to use them before. Now we use radiobuttons to allow users to choose their preferred socket detection graphics, so it was a great opportunity to improve their back end a bit. The appearance of the radiobuttons was improved as well. They are now rendered from SVG text.</p>
|
|
265
269
|
|
|
266
270
|
|
|
271
|
+
<h2 id="bug-fix-keyword-variable">v1.5.2: Bug fix for nodes with keyword-variable parameters</h2>
|
|
272
|
+
|
|
273
|
+
<p>I usually only write a summary of the changes here, detailing them on the commit messages themselves. However, since this was a pretty quick and simple fix, I'll just paste the commit message itself here:</p>
|
|
274
|
+
|
|
275
|
+
<blockquote>
|
|
276
|
+
|
|
277
|
+
<p>Nodes with keyword-variable parameters (parameters prefixed with **) were being executed in the wrong way due to a bug that caused their arguments to be discarded when more than 01 variable keyword argument was collected.</p>
|
|
278
|
+
|
|
279
|
+
<p>This nasty bug could either cause all kinds of errors when executing the graph or even worse remain undetected, all due to the unexpected outputs that such nodes produce by ignoring the variable keyword arguments.</p>
|
|
280
|
+
|
|
281
|
+
<p>It was introduced in v1.5.0, when the entire graph execution mechanism was overhauled in order to adopt the topological sorting algorithm.</p>
|
|
282
|
+
|
|
283
|
+
</blockquote>
|
|
284
|
+
|
|
285
|
+
<p>We also updated social media links to include the <a href="https://bsky.app/profile/kennedyrichard.com">developer's (me) Bluesky profile</a> and also point to the developer's <a href="https://kennedyrichard.com/links">links page</a>, where several other useful links/addresses are available, including email.</p>
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
<h2 id="user-manual-utility-file-manager-fix">v1.5.3: User manual utility and file manager bug fix</h2>
|
|
289
|
+
|
|
290
|
+
<p>Code blocks on the in-app version of the user manual now have a new button that allows users to save that code snippet on disk. This change was made because the button to copy values to the clipboard is not working properly for all users. I still have to investigate the problem to know the cause, but it looks like it is not on Nodezator's source, since it works on some machines and not on others.</p>
|
|
291
|
+
|
|
292
|
+
<p>To avoid hassle to the users (one of them reported having to type the code manually), this new button now allows them to save the code directly on disk. Of course, alternatively, the users always have the <a href="https://manual.nodezator.com">online version of the manual</a> available as well.</p>
|
|
293
|
+
|
|
294
|
+
<p>I also fixed a bug on the file manager that sometimes caused paths to still be submitted despite the user having pressed the <b>Cancel</b> button. Naturally, this was a clearly undesired behaviour that could cause all kinds of undesired side-effects as well.</p>
|
|
295
|
+
|
|
296
|
+
|
|
267
297
|
</body>
|
|
268
298
|
|
|
269
299
|
</htsl>
|
|
Binary file
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
'developer_website_name' : "kennedyrichard.com",
|
|
99
99
|
'developer_website_url' : "https://kennedyrichard.com",
|
|
100
100
|
|
|
101
|
-
'
|
|
101
|
+
'developer_links_social' : "Developer links/social/email",
|
|
102
102
|
|
|
103
103
|
'license_declaration_text' : "Nodezator is dedicated to the public domain using The Unlicense",
|
|
104
104
|
|
|
@@ -117,6 +117,10 @@ class FileManagerOperations(Object2D):
|
|
|
117
117
|
### alias self as the loop holder
|
|
118
118
|
loop_holder = self
|
|
119
119
|
|
|
120
|
+
### set an attribute to keep track of when the user cancelled
|
|
121
|
+
### selecting paths
|
|
122
|
+
self.cancelled = False
|
|
123
|
+
|
|
120
124
|
### keep looping the execution of methods
|
|
121
125
|
### "handle_input", "update" and "drawing" of the
|
|
122
126
|
### loop holder until running is set to False
|
|
@@ -156,11 +160,16 @@ class FileManagerOperations(Object2D):
|
|
|
156
160
|
### blit smaller semi transparent object
|
|
157
161
|
self.rect_size_semitransp_obj.draw()
|
|
158
162
|
|
|
159
|
-
### if only files are expected to be
|
|
160
|
-
### update the selection according to the entry,
|
|
161
|
-
### they might be out of sync
|
|
163
|
+
### if the user didn't cancel and only files are expected to be
|
|
164
|
+
### selected, we must update the selection according to the entry,
|
|
165
|
+
### since they might be out of sync
|
|
162
166
|
|
|
163
|
-
|
|
167
|
+
### XXX review behaviour of this expecting_files_only flag.
|
|
168
|
+
### For instance, what if the person selected folders as well?
|
|
169
|
+
### When you do that, update docstrings and related comments
|
|
170
|
+
### accordingly
|
|
171
|
+
|
|
172
|
+
if not self.cancelled and self.expecting_files_only:
|
|
164
173
|
self.update_selection_from_entry()
|
|
165
174
|
|
|
166
175
|
### return a copy of the path selection
|
|
@@ -482,9 +491,13 @@ class FileManagerOperations(Object2D):
|
|
|
482
491
|
Works by clearing the path selection, which causes no
|
|
483
492
|
path to be returned.
|
|
484
493
|
|
|
494
|
+
The 'cancelled' attribute is also set to True, to indicate the
|
|
495
|
+
user cancelled providing path(s).
|
|
496
|
+
|
|
485
497
|
The 'running' attribute is also set to False, which
|
|
486
498
|
triggers the exit of the file manager loop which
|
|
487
499
|
you can find on the select_paths method.
|
|
488
500
|
"""
|
|
489
501
|
self.path_selection.clear()
|
|
502
|
+
self.cancelled = True
|
|
490
503
|
self.running = False
|
|
@@ -197,113 +197,109 @@ class Execution:
|
|
|
197
197
|
### and easier access
|
|
198
198
|
arg_map = self.argument_map
|
|
199
199
|
|
|
200
|
-
### iterate over the name of each parameter, performing
|
|
201
|
-
###
|
|
200
|
+
### iterate over the name of each variable parameter, performing
|
|
201
|
+
### setups according to their kind
|
|
202
202
|
|
|
203
203
|
for param_name, kind in self.var_kind_map.items():
|
|
204
204
|
|
|
205
205
|
## retrieve subparam value map
|
|
206
206
|
subparam_value_map = arg_map[param_name]
|
|
207
207
|
|
|
208
|
-
##
|
|
209
|
-
## unpacking the argument if requested
|
|
210
|
-
|
|
211
|
-
for subparam_index in self.data['subparam_map'][param_name]:
|
|
208
|
+
## if we have a variable parameter of positional kind...
|
|
212
209
|
|
|
213
|
-
|
|
214
|
-
# specific kind of variable parameter we have
|
|
210
|
+
if kind == 'var_pos':
|
|
215
211
|
|
|
216
|
-
|
|
212
|
+
# retrieve the list of subparameters that must
|
|
213
|
+
# be unpacked
|
|
214
|
+
subparams_for_unpacking = (
|
|
215
|
+
self.data['subparam_unpacking_map'][param_name]
|
|
216
|
+
)
|
|
217
217
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
self.data['subparam_unpacking_map'][param_name]
|
|
222
|
-
)
|
|
218
|
+
# retrieve the values of each subparameter in the
|
|
219
|
+
# order defined by the subparameter indices
|
|
220
|
+
# building a list with the values
|
|
223
221
|
|
|
224
|
-
|
|
225
|
-
# order defined by the subparameter indices
|
|
226
|
-
# building a list with the values
|
|
222
|
+
param_args = []
|
|
227
223
|
|
|
228
|
-
|
|
224
|
+
for index in sorted(subparam_value_map):
|
|
229
225
|
|
|
230
|
-
|
|
226
|
+
if index in subparams_for_unpacking:
|
|
231
227
|
|
|
232
|
-
|
|
228
|
+
try:
|
|
229
|
+
param_args.extend(subparam_value_map[index])
|
|
233
230
|
|
|
234
|
-
|
|
235
|
-
param_args.extend(subparam_value_map[index])
|
|
231
|
+
except Exception as err:
|
|
236
232
|
|
|
237
|
-
|
|
233
|
+
raise PositionalSubparameterUnpackingError(
|
|
234
|
+
self,
|
|
235
|
+
param_name,
|
|
236
|
+
index,
|
|
237
|
+
) from err
|
|
238
238
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
param_name,
|
|
242
|
-
index,
|
|
243
|
-
) from err
|
|
239
|
+
else:
|
|
240
|
+
param_args.append(subparam_value_map[index])
|
|
244
241
|
|
|
245
|
-
|
|
246
|
-
|
|
242
|
+
# replace the parameter data in the argument map
|
|
243
|
+
# by the list we populated
|
|
244
|
+
arg_map[param_name] = param_args
|
|
247
245
|
|
|
248
|
-
|
|
249
|
-
# by the list we populated
|
|
250
|
-
arg_map[param_name] = param_args
|
|
246
|
+
## if otherwise we have a variable parameter of the keyword kind...
|
|
251
247
|
|
|
252
|
-
|
|
248
|
+
elif kind == 'var_key':
|
|
253
249
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
250
|
+
# retrieve map containing name of keyword for each
|
|
251
|
+
# subparameter
|
|
252
|
+
subparam_keywords = self.data['subparam_keyword_map']
|
|
257
253
|
|
|
258
|
-
|
|
259
|
-
|
|
254
|
+
# now build a new dictionary with the sorted keys
|
|
255
|
+
# from the subparam value map and its values
|
|
260
256
|
|
|
261
|
-
|
|
257
|
+
param_args = {}
|
|
262
258
|
|
|
263
|
-
|
|
259
|
+
for index in sorted(subparam_value_map):
|
|
264
260
|
|
|
265
|
-
|
|
261
|
+
value = subparam_value_map.pop(index)
|
|
266
262
|
|
|
267
|
-
|
|
268
|
-
|
|
263
|
+
if index in subparam_keywords:
|
|
264
|
+
param_args[subparam_keywords[index]] = value
|
|
269
265
|
|
|
270
|
-
|
|
266
|
+
else:
|
|
271
267
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
268
|
+
# note that we use '.update(**value)'
|
|
269
|
+
# instead of '.update(value)'; this is
|
|
270
|
+
# so because '.update(value)' would be
|
|
271
|
+
# more lenient than the '**', and thus
|
|
272
|
+
# not equivalent ('**' only accepts
|
|
273
|
+
# mappings, while .update accepts
|
|
274
|
+
# other iterables as well);
|
|
275
|
+
#
|
|
276
|
+
# since we are emulating the behaviour
|
|
277
|
+
# of '**', we go with the less lenient
|
|
278
|
+
# behaviour of only accepting mappings
|
|
283
279
|
|
|
284
|
-
|
|
285
|
-
|
|
280
|
+
try:
|
|
281
|
+
param_args.update(**value)
|
|
286
282
|
|
|
287
|
-
|
|
283
|
+
except Exception as err:
|
|
288
284
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
285
|
+
raise KeywordSubparameterUnpackingError(
|
|
286
|
+
self,
|
|
287
|
+
param_name,
|
|
288
|
+
index,
|
|
289
|
+
) from err
|
|
294
290
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
291
|
+
# replace the parameter data in
|
|
292
|
+
# the argument map by the dict
|
|
293
|
+
# we just created
|
|
294
|
+
arg_map[param_name] = param_args
|
|
299
295
|
|
|
300
|
-
|
|
296
|
+
else:
|
|
301
297
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
298
|
+
raise RuntimeError(
|
|
299
|
+
"there shouldn't be possible to specify a variable"
|
|
300
|
+
" parameter of a kind which is neither 'var_pos' or"
|
|
301
|
+
" 'var_key'"
|
|
302
|
+
)
|
|
307
303
|
|
|
308
304
|
|
|
309
305
|
def receive_input(self, data, param_name, subparam_index=None):
|
|
@@ -27,6 +27,8 @@ from ..classes2d.single import Object2D
|
|
|
27
27
|
|
|
28
28
|
from ..surfsman.render import combine_surfaces, render_rect
|
|
29
29
|
|
|
30
|
+
from ..surfsman.icon import render_layered_icon
|
|
31
|
+
|
|
30
32
|
from ..surfsman.draw import draw_border
|
|
31
33
|
|
|
32
34
|
from ..textman.render import render_text, get_text_size
|
|
@@ -40,7 +42,9 @@ from ..syntaxman.exception import SyntaxMappingError
|
|
|
40
42
|
|
|
41
43
|
from ..syntaxman.utils import get_ready_theme
|
|
42
44
|
|
|
43
|
-
from ..
|
|
45
|
+
from ..dialog import create_and_show_dialog
|
|
46
|
+
|
|
47
|
+
from ..colorsman.colors import BLACK, HTSL_GENERAL_TEXT_FG, HTSL_CANVAS_BG
|
|
44
48
|
|
|
45
49
|
from .constants import (
|
|
46
50
|
GENERAL_CODE_TEXT_SETTINGS,
|
|
@@ -104,6 +108,69 @@ def _get_clipboard_button_surf():
|
|
|
104
108
|
COPY_TO_CLIPBOARD_SURF = _get_clipboard_button_surf()
|
|
105
109
|
|
|
106
110
|
|
|
111
|
+
def _get_save_button_surf():
|
|
112
|
+
"""Create and return surface representing save button."""
|
|
113
|
+
|
|
114
|
+
## text
|
|
115
|
+
text_surf = render_text(text='Save on disk', **NORMAL_TEXT_SETTINGS)
|
|
116
|
+
|
|
117
|
+
## icon
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
_arrow_down_icon = render_layered_icon(
|
|
121
|
+
chars=[chr(ordinal) for ordinal in (50, 51)],
|
|
122
|
+
dimension_name="height",
|
|
123
|
+
dimension_value=12,
|
|
124
|
+
rotation_degrees=180,
|
|
125
|
+
colors=[
|
|
126
|
+
BLACK,
|
|
127
|
+
(30, 130, 70),
|
|
128
|
+
],
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
_ssd_icon = render_layered_icon(
|
|
132
|
+
chars=[chr(ordinal) for ordinal in range(83, 87)],
|
|
133
|
+
dimension_name="width",
|
|
134
|
+
dimension_value=18,
|
|
135
|
+
colors=[
|
|
136
|
+
BLACK,
|
|
137
|
+
(255, 0, 0),
|
|
138
|
+
(0, 0, 255),
|
|
139
|
+
(140, 140, 140),
|
|
140
|
+
],
|
|
141
|
+
background_width=20,
|
|
142
|
+
background_height=24,
|
|
143
|
+
retrieve_pos_from="midbottom",
|
|
144
|
+
assign_pos_to="midbottom",
|
|
145
|
+
offset_pos_by=(0, -2),
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
icon_surf = combine_surfaces(
|
|
149
|
+
[_ssd_icon, _arrow_down_icon],
|
|
150
|
+
retrieve_pos_from="midbottom",
|
|
151
|
+
assign_pos_to="midbottom",
|
|
152
|
+
offset_pos_by=(0, -10),
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
## final combination
|
|
157
|
+
|
|
158
|
+
surf = combine_surfaces(
|
|
159
|
+
(text_surf, icon_surf),
|
|
160
|
+
retrieve_pos_from="midright",
|
|
161
|
+
assign_pos_to="midleft",
|
|
162
|
+
offset_pos_by=(4, 0),
|
|
163
|
+
padding=6,
|
|
164
|
+
background_color=HTSL_CANVAS_BG,
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
draw_border(surf, color=HTSL_GENERAL_TEXT_FG, thickness=2)
|
|
168
|
+
|
|
169
|
+
return surf
|
|
170
|
+
|
|
171
|
+
SAVE_ON_DISK_SURF = _get_save_button_surf()
|
|
172
|
+
|
|
173
|
+
|
|
107
174
|
|
|
108
175
|
### TODO ponder: should the code block surfaces be cached
|
|
109
176
|
### across different .htsl pages? they probably should.
|
|
@@ -359,6 +426,54 @@ def get_pre_textblock(pre_element):
|
|
|
359
426
|
|
|
360
427
|
return obj
|
|
361
428
|
|
|
429
|
+
def save_on_disk(text, extension):
|
|
430
|
+
|
|
431
|
+
### TODO the import below is performed inside this function
|
|
432
|
+
### temporariy, in order to avoid circular imports;
|
|
433
|
+
###
|
|
434
|
+
### however, given how often it is used throughout the package,
|
|
435
|
+
## it should probably be passed around as a reference rather than
|
|
436
|
+
### being imported, similarly to how the node manager, window manager
|
|
437
|
+
### and editing assistant are passed around as references;
|
|
438
|
+
|
|
439
|
+
### import select paths
|
|
440
|
+
from ..fileman.main import select_paths
|
|
441
|
+
|
|
442
|
+
### prompt user to pick filepath from file manager
|
|
443
|
+
|
|
444
|
+
paths = (
|
|
445
|
+
select_paths(
|
|
446
|
+
caption="Save code snippet on disk",
|
|
447
|
+
path_name=f'snippet{extension}',
|
|
448
|
+
expecting_files_only=True,
|
|
449
|
+
)
|
|
450
|
+
)
|
|
451
|
+
|
|
452
|
+
### if paths were given, it is a single one, we
|
|
453
|
+
### should assign it to 'filepath' variable
|
|
454
|
+
|
|
455
|
+
if paths:
|
|
456
|
+
filepath = paths[0]
|
|
457
|
+
|
|
458
|
+
### if the user didn't provide paths, though,
|
|
459
|
+
### return earlier
|
|
460
|
+
|
|
461
|
+
else:
|
|
462
|
+
|
|
463
|
+
create_and_show_dialog("Cancelled saving snippet on disk.")
|
|
464
|
+
return
|
|
465
|
+
|
|
466
|
+
###
|
|
467
|
+
|
|
468
|
+
try:
|
|
469
|
+
filepath.write_text(text, encoding='utf-8')
|
|
470
|
+
|
|
471
|
+
except Exception as err:
|
|
472
|
+
|
|
473
|
+
error_message = "An error occurred while trying to save snippet on disk: "
|
|
474
|
+
error_message += str(err)[:200]
|
|
475
|
+
create_and_show_dialog(error_message)
|
|
476
|
+
|
|
362
477
|
def get_copy_button(text, bottomright):
|
|
363
478
|
|
|
364
479
|
return Button(
|
|
@@ -368,8 +483,23 @@ def get_copy_button(text, bottomright):
|
|
|
368
483
|
|
|
369
484
|
## other arguments
|
|
370
485
|
|
|
371
|
-
command =
|
|
486
|
+
command = partial(put_text, text),
|
|
487
|
+
coordinates_name='bottomright',
|
|
488
|
+
coordinates_value=bottomright,
|
|
489
|
+
|
|
490
|
+
)
|
|
491
|
+
|
|
492
|
+
def get_save_button(text, extension, bottomright):
|
|
493
|
+
|
|
494
|
+
return Button(
|
|
495
|
+
|
|
496
|
+
## surf
|
|
497
|
+
SAVE_ON_DISK_SURF,
|
|
498
|
+
|
|
499
|
+
## other arguments
|
|
500
|
+
|
|
501
|
+
command = partial(save_on_disk, text, extension),
|
|
372
502
|
coordinates_name='bottomright',
|
|
373
|
-
coordinates_value=
|
|
503
|
+
coordinates_value=bottomright,
|
|
374
504
|
|
|
375
505
|
)
|
|
@@ -454,8 +454,8 @@ class HTSLBrowser(
|
|
|
454
454
|
break
|
|
455
455
|
|
|
456
456
|
### otherwise check whether the object has an on_mouse_release,
|
|
457
|
-
### executing it and breaking out of
|
|
458
|
-
### case
|
|
457
|
+
### executing it, redrawing the elements and breaking out of
|
|
458
|
+
### the for-loop if it is the case
|
|
459
459
|
|
|
460
460
|
try:
|
|
461
461
|
method = obj.on_mouse_release
|
|
@@ -464,7 +464,9 @@ class HTSLBrowser(
|
|
|
464
464
|
pass
|
|
465
465
|
|
|
466
466
|
else:
|
|
467
|
+
|
|
467
468
|
method(event)
|
|
469
|
+
self.draw_once()
|
|
468
470
|
break
|
|
469
471
|
|
|
470
472
|
### regardless of what happened or not, break out of the
|
|
@@ -22,7 +22,12 @@ from ..classes2d.collections import List2D
|
|
|
22
22
|
|
|
23
23
|
from ..surfdef import surfdef_obj_from_element
|
|
24
24
|
|
|
25
|
-
from .constants import
|
|
25
|
+
from .constants import (
|
|
26
|
+
BROWSER_TITLE,
|
|
27
|
+
KNOWN_TAGS,
|
|
28
|
+
HEADING_TAGS,
|
|
29
|
+
PRE_PYTHON_TAGS,
|
|
30
|
+
)
|
|
26
31
|
|
|
27
32
|
from .creation import (
|
|
28
33
|
TextBlock,
|
|
@@ -41,12 +46,15 @@ from .codeblock import (
|
|
|
41
46
|
get_python_codeblock,
|
|
42
47
|
get_pre_textblock,
|
|
43
48
|
get_copy_button,
|
|
49
|
+
get_save_button,
|
|
44
50
|
)
|
|
45
51
|
|
|
46
52
|
from ..colorsman.colors import HTSL_CANVAS_BG
|
|
47
53
|
|
|
48
54
|
|
|
55
|
+
|
|
49
56
|
class Preparation:
|
|
57
|
+
|
|
50
58
|
def __init__(self):
|
|
51
59
|
self.cache = {}
|
|
52
60
|
|
|
@@ -179,30 +187,66 @@ class Preparation:
|
|
|
179
187
|
retrieve_pos_from="bottom", assign_pos_to="top", offset_pos_by=(0, 14)
|
|
180
188
|
)
|
|
181
189
|
|
|
182
|
-
### if
|
|
183
|
-
### tags in the page, add "copy to clipboard" button to each pre/python
|
|
184
|
-
### tag
|
|
190
|
+
### if there are pre/python tags in the page...
|
|
185
191
|
|
|
186
|
-
if PUT_TEXT_AVAILABLE and pre_or_python_tags:
|
|
187
192
|
|
|
188
|
-
|
|
193
|
+
if pre_or_python_tags:
|
|
194
|
+
|
|
195
|
+
### request buttons to be added to each pre/python tag
|
|
196
|
+
|
|
197
|
+
buttons_to_add = ['save_on_disk']
|
|
198
|
+
|
|
199
|
+
### if clipboard functionality is available, request
|
|
200
|
+
### "copy to clipboard" buttons to be added as well
|
|
201
|
+
|
|
202
|
+
if PUT_TEXT_AVAILABLE:
|
|
203
|
+
buttons_to_add.append('copy_to_clipboard')
|
|
204
|
+
|
|
205
|
+
### add button/buttons
|
|
189
206
|
|
|
190
207
|
index_button_pairs = []
|
|
191
208
|
|
|
192
209
|
y_offset = 0
|
|
193
210
|
offset_increment = COPY_TO_CLIPBOARD_SURF.get_height()
|
|
194
211
|
|
|
212
|
+
buttons = []
|
|
213
|
+
|
|
195
214
|
for index, obj in enumerate(self.objs):
|
|
196
215
|
|
|
197
|
-
|
|
216
|
+
tag_name = getattr(obj, 'tag_name', '').lower()
|
|
217
|
+
|
|
218
|
+
if tag_name in PRE_PYTHON_TAGS:
|
|
198
219
|
|
|
199
220
|
y_offset += offset_increment
|
|
200
221
|
|
|
201
222
|
obj.rect.y += y_offset
|
|
202
223
|
|
|
203
|
-
|
|
224
|
+
bottomright = obj.rect.topright
|
|
225
|
+
|
|
226
|
+
for button_name in buttons_to_add:
|
|
227
|
+
|
|
228
|
+
if button_name == 'save_on_disk':
|
|
229
|
+
|
|
230
|
+
extension = '.py' if tag_name == 'python' else '.txt'
|
|
231
|
+
button = get_save_button(obj.text, extension, bottomright)
|
|
232
|
+
|
|
233
|
+
elif button_name == 'copy_to_clipboard':
|
|
234
|
+
button = get_copy_button(obj.text, bottomright)
|
|
235
|
+
|
|
236
|
+
buttons.append(button)
|
|
237
|
+
|
|
238
|
+
bottomright = button.rect.bottomleft
|
|
239
|
+
|
|
240
|
+
index_button_pairs.append((index, button))
|
|
241
|
+
|
|
242
|
+
left_diff = obj.rect.left - buttons[-1].rect.left
|
|
243
|
+
|
|
244
|
+
if left_diff > 0:
|
|
245
|
+
|
|
246
|
+
for button in buttons:
|
|
247
|
+
button.rect.x += left_diff
|
|
204
248
|
|
|
205
|
-
|
|
249
|
+
buttons.clear()
|
|
206
250
|
|
|
207
251
|
else:
|
|
208
252
|
obj.rect.y += y_offset
|
|
@@ -186,7 +186,7 @@ def get_project_link_objs():
|
|
|
186
186
|
NODES_GALLERY_ICON,
|
|
187
187
|
(IMAGE_SURFS_DB["indie_python_logo.png"][{"use_alpha": True}]),
|
|
188
188
|
(IMAGE_SURFS_DB["kennedy_logo.png"][{"use_alpha": True}]),
|
|
189
|
-
(IMAGE_SURFS_DB["
|
|
189
|
+
(IMAGE_SURFS_DB["bluesky_logo.png"][{"use_alpha": True}]),
|
|
190
190
|
(IMAGE_SURFS_DB["discord_logo.png"][{"use_alpha": True}]),
|
|
191
191
|
(IMAGE_SURFS_DB["patreon_logo.png"][{"use_alpha": True}]),
|
|
192
192
|
WEB_ICON,
|
|
@@ -239,8 +239,8 @@ def get_project_link_objs():
|
|
|
239
239
|
t.splash_screen.developer_website_url,
|
|
240
240
|
),
|
|
241
241
|
(
|
|
242
|
-
t.splash_screen.
|
|
243
|
-
"https://
|
|
242
|
+
t.splash_screen.developer_links_social,
|
|
243
|
+
"https://kennedyrichard.com/links",
|
|
244
244
|
),
|
|
245
245
|
(
|
|
246
246
|
"Join us on discord",
|