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.
Files changed (703) hide show
  1. {nodezator-1.5.1 → nodezator-1.5.3}/PKG-INFO +1 -1
  2. nodezator-1.5.3/nodezator/__init__.py +1 -0
  3. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/appinfo.py +1 -1
  4. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/about.htsl +1 -1
  5. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-5.htsl +30 -0
  6. nodezator-1.5.3/nodezator/data/images/bluesky_logo.png +0 -0
  7. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/translations_map.pyl +1 -1
  8. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/translations_map.pyl +1 -1
  9. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/op.py +17 -4
  10. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/execution.py +70 -74
  11. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/codeblock.py +133 -3
  12. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/constants.py +2 -0
  13. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/main.py +4 -2
  14. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/prep.py +53 -9
  15. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/factoryfuncs.py +3 -3
  16. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/PKG-INFO +1 -1
  17. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/SOURCES.txt +1 -1
  18. {nodezator-1.5.1 → nodezator-1.5.3}/setup.cfg +1 -1
  19. nodezator-1.5.1/nodezator/__init__.py +0 -1
  20. nodezator-1.5.1/nodezator/data/images/x_logo.png +0 -0
  21. {nodezator-1.5.1 → nodezator-1.5.3}/MANIFEST.in +0 -0
  22. {nodezator-1.5.1 → nodezator-1.5.3}/README.md +0 -0
  23. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/__main__.py +0 -0
  24. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/__init__.py +0 -0
  25. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/basicop.py +0 -0
  26. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/main.py +0 -0
  27. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/masksop.py +0 -0
  28. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/alphamask/utils.py +0 -0
  29. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/audioplayer.py +0 -0
  30. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/__init__.py +0 -0
  31. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/collections.py +0 -0
  32. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/single.py +0 -0
  33. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/classes2d/surfaceswitcher.py +0 -0
  34. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/__init__.py +0 -0
  35. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/color2d.py +0 -0
  36. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/colors.py +0 -0
  37. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/__init__.py +0 -0
  38. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/loopop.py +0 -0
  39. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/main.py +0 -0
  40. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/__init__.py +0 -0
  41. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/colorsop.py +0 -0
  42. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/constants.py +0 -0
  43. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/data.py +0 -0
  44. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/panel/main.py +0 -0
  45. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetop.py +0 -0
  46. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/__init__.py +0 -0
  47. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/button.py +0 -0
  48. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/constants.py +0 -0
  49. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/entry.py +0 -0
  50. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/label.py +0 -0
  51. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/editor/widgetsetup/scale.py +0 -0
  52. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/__init__.py +0 -0
  53. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/constants.py +0 -0
  54. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/main.py +0 -0
  55. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/picker/op.py +0 -0
  56. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/__init__.py +0 -0
  57. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/main.py +0 -0
  58. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/__init__.py +0 -0
  59. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/colorlist.py +0 -0
  60. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/__init__.py +0 -0
  61. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/main.py +0 -0
  62. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/particles.py +0 -0
  63. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/colorsman/viewer/modes/patterns/waves.py +0 -0
  64. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/config.py +0 -0
  65. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/app_icon.png +0 -0
  66. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/app_themes/emeralds_on_coal.pyl +0 -0
  67. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/general-controls.htsl +0 -0
  68. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/index.htsl +0 -0
  69. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/text-editor-default-behavior.htsl +0 -0
  70. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/help.nodezator.pysite/text-editor-vim-like-behavior.htsl +0 -0
  71. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-color-coded-annotations.htsl +0 -0
  72. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-intfloat-words.htsl +0 -0
  73. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-recipes.htsl +0 -0
  74. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-widget-configurations.htsl +0 -0
  75. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/appendix-widget-presets.htsl +0 -0
  76. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-basic-way-define-widgets.htsl +0 -0
  77. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-color-coding-inputs-outputs.htsl +0 -0
  78. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-conditional-execution.htsl +0 -0
  79. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-complex-viewer-nodes.htsl +0 -0
  80. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-viewer-nodes.htsl +0 -0
  81. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-defining-your-first-node.htsl +0 -0
  82. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-distributing-nodes.htsl +0 -0
  83. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-full-syntax-more-widgets.htsl +0 -0
  84. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-loading-nodes.htsl +0 -0
  85. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-looping.htsl +0 -0
  86. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-advanced-viewer-node-features-part1.htsl +0 -0
  87. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-advanced-viewer-node-features-part2.htsl +0 -0
  88. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-more-ways-define-nodes.htsl +0 -0
  89. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-nodes-variable-parameters-custom-outputs.htsl +0 -0
  90. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-other-objects.htsl +0 -0
  91. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-preview-widgets.htsl +0 -0
  92. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-viewer-nodes-with-custom-visualization-loops.htsl +0 -0
  93. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/ch-widget-presets-more-widgets.htsl +0 -0
  94. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img00.png +0 -0
  95. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img01.png +0 -0
  96. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img02.png +0 -0
  97. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img03.png +0 -0
  98. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img04.png +0 -0
  99. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img05.png +0 -0
  100. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img06.png +0 -0
  101. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img07.png +0 -0
  102. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/appendix-recipes_img08.png +0 -0
  103. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img00.png +0 -0
  104. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img01.png +0 -0
  105. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img02.png +0 -0
  106. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img03.png +0 -0
  107. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img04.png +0 -0
  108. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img05.png +0 -0
  109. {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
  110. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-basic-way-define-widgets_img08.png +0 -0
  111. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img00.png +0 -0
  112. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img01.png +0 -0
  113. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img02.png +0 -0
  114. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img03.png +0 -0
  115. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img04.png +0 -0
  116. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-color-coding_img05.png +0 -0
  117. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img00.png +0 -0
  118. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img01.png +0 -0
  119. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img02.png +0 -0
  120. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img03.png +0 -0
  121. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img04.png +0 -0
  122. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img05.png +0 -0
  123. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-conditional-execution_img06.png +0 -0
  124. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img00.png +0 -0
  125. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img01.png +0 -0
  126. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img02.png +0 -0
  127. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img03.png +0 -0
  128. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img04.png +0 -0
  129. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img05.png +0 -0
  130. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-viewer-nodes_img06.png +0 -0
  131. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img00.png +0 -0
  132. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img01.png +0 -0
  133. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-defining-your-first_img02.png +0 -0
  134. {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
  135. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-full-syntax_img00.png +0 -0
  136. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-full-syntax_img01.png +0 -0
  137. {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
  138. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img00.png +0 -0
  139. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img01.png +0 -0
  140. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-loading-nodes_img02.png +0 -0
  141. {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
  142. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img00.png +0 -0
  143. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img01.png +0 -0
  144. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-looping_img02.png +0 -0
  145. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img00.png +0 -0
  146. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img01.png +0 -0
  147. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img02.png +0 -0
  148. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-nodes-variable-parameters_img03.png +0 -0
  149. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img00.png +0 -0
  150. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img01.png +0 -0
  151. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img02.png +0 -0
  152. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img03.png +0 -0
  153. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img04.png +0 -0
  154. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img05.png +0 -0
  155. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img06.png +0 -0
  156. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img07.png +0 -0
  157. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-other-objects_img08.png +0 -0
  158. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img00.png +0 -0
  159. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img01_0.png +0 -0
  160. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img01_1.png +0 -0
  161. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img02.png +0 -0
  162. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img03_0.png +0 -0
  163. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img03_1.png +0 -0
  164. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img04_0.png +0 -0
  165. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img04_1.png +0 -0
  166. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img05_0.png +0 -0
  167. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-preview-widgets_img05_1.png +0 -0
  168. {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
  169. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img00.png +0 -0
  170. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img01.png +0 -0
  171. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img02.png +0 -0
  172. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img03.png +0 -0
  173. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img04.png +0 -0
  174. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/images/ch-widget-presets_img05.png +0 -0
  175. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/manual.nodezator.pysite/index.htsl +0 -0
  176. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/license.htsl +0 -0
  177. {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
  178. {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
  179. {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
  180. {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
  181. {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
  182. {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
  183. {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
  184. {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
  185. {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
  186. {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
  187. {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
  188. {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
  189. {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
  190. {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
  191. {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
  192. {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
  193. {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
  194. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/index.htsl +0 -0
  195. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-3.htsl +0 -0
  196. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/aww/nodezator.pysite/whats-new/v1-4.htsl +0 -0
  197. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/OFL_license_for_all_other_fonts.txt +0 -0
  198. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/cc0_license_for_nodezator_icons.txt +0 -0
  199. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/enc_sans_sexp_bold_mplus_1p_2000em_med.ttf +0 -0
  200. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/fira_mono_bold_mplus_1m_med.ttf +0 -0
  201. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/nodezator_icons.ttf +0 -0
  202. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_bold.ttf +0 -0
  203. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_italic.ttf +0 -0
  204. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_mono_medium.ttf +0 -0
  205. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/fonts/noto_sans_regular.ttf +0 -0
  206. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/glossary.rst +0 -0
  207. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/README.md +0 -0
  208. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/baseball.svg +0 -0
  209. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/baseball_glove.png +0 -0
  210. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/colors_editor_scale_images.png +0 -0
  211. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/discord_logo.png +0 -0
  212. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/github_mark.png +0 -0
  213. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/hand_closed.png +0 -0
  214. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/hand_open.png +0 -0
  215. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/indie_python_logo.png +0 -0
  216. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/kennedy_logo.png +0 -0
  217. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/mask_wave.png +0 -0
  218. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/nodezator_logo.png +0 -0
  219. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/patreon_logo.png +0 -0
  220. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/pygame_logo.png +0 -0
  221. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_filemanager_icon.png +0 -0
  222. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_menu_icon.png +0 -0
  223. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/python_splashscreen_icon.png +0 -0
  224. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot.png +0 -0
  225. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot_arm_a.png +0 -0
  226. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/splash_nodezator_robot_arm_b.png +0 -0
  227. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/images/unlicense_logo.png +0 -0
  228. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/dialogs_map.pyl +0 -0
  229. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/en_us/status_messages_map.pyl +0 -0
  230. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/dialogs_map.pyl +0 -0
  231. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/locale/pt_br/status_messages_map.pyl +0 -0
  232. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/comment/fresh_eucalyptus_dark.pyl +0 -0
  233. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/comment/pale_green.pyl +0 -0
  234. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/python/ice_with_candy.pyl +0 -0
  235. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/python/sprinkled_dark.pyl +0 -0
  236. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/user_log/message_temperature.pyl +0 -0
  237. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/syntax_themes/user_log/message_temperature_dark.pyl +0 -0
  238. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/shared/file_with_objects.zip +0 -0
  239. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0000.zip +0 -0
  240. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0001.zip +0 -0
  241. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0002.zip +0 -0
  242. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0003.zip +0 -0
  243. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0004.zip +0 -0
  244. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0005.zip +0 -0
  245. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0006.zip +0 -0
  246. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0007.zip +0 -0
  247. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0008.zip +0 -0
  248. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0009.zip +0 -0
  249. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0010.zip +0 -0
  250. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_cases/stc0011.zip +0 -0
  251. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/data/system_testing/test_id_to_title.pyl +0 -0
  252. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/dialog.py +0 -0
  253. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/__init__.py +0 -0
  254. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/birdseyeview.py +0 -0
  255. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/categorycolors.py +0 -0
  256. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/data.py +0 -0
  257. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/gridlogic.py +0 -0
  258. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/__init__.py +0 -0
  259. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/form.py +0 -0
  260. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/imageexport/main.py +0 -0
  261. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/jumptonode.py +0 -0
  262. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/main.py +0 -0
  263. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/__init__.py +0 -0
  264. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/renaming.py +0 -0
  265. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/nodepacksforms/selection.py +0 -0
  266. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objinsert.py +0 -0
  267. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/__init__.py +0 -0
  268. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/callablenode.py +0 -0
  269. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/constants.py +0 -0
  270. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/operatornode.py +0 -0
  271. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/proxynode.py +0 -0
  272. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/objpopups/textblock.py +0 -0
  273. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/__init__.py +0 -0
  274. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/__init__.py +0 -0
  275. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/constants.py +0 -0
  276. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/demonstrate/filtering.py +0 -0
  277. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/play.py +0 -0
  278. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/record.py +0 -0
  279. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/playback/systemtesting.py +0 -0
  280. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/pythonexporting.py +0 -0
  281. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/reposition.py +0 -0
  282. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/selection.py +0 -0
  283. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/__init__.py +0 -0
  284. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/input.py +0 -0
  285. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/output.py +0 -0
  286. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/socketpopups/proxy.py +0 -0
  287. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/__init__.py +0 -0
  288. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/main.py +0 -0
  289. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpicker/subforms.py +0 -0
  290. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpopups/__init__.py +0 -0
  291. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/editing/widgetpopups/creation.py +0 -0
  292. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/__init__.py +0 -0
  293. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/__init__.py +0 -0
  294. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/main.py +0 -0
  295. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/bookmarkpanel/surfs.py +0 -0
  296. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/constants.py +0 -0
  297. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/__init__.py +0 -0
  298. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/extraop.py +0 -0
  299. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/loadop.py +0 -0
  300. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/main.py +0 -0
  301. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/mouseop.py +0 -0
  302. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/newpathform.py +0 -0
  303. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/dirpanel/surfs.py +0 -0
  304. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/main.py +0 -0
  305. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/pathobj.py +0 -0
  306. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fileman/surfs.py +0 -0
  307. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/__init__.py +0 -0
  308. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/cache.py +0 -0
  309. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/constants.py +0 -0
  310. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/exception.py +0 -0
  311. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/__init__.py +0 -0
  312. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/cache.py +0 -0
  313. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/preview/render.py +0 -0
  314. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/test_cache.py +0 -0
  315. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/__init__.py +0 -0
  316. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/main.py +0 -0
  317. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/fontsman/viewer/render.py +0 -0
  318. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/__init__.py +0 -0
  319. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/__init__.py +0 -0
  320. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/constants.py +0 -0
  321. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/export.py +0 -0
  322. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/builtinnode/main.py +0 -0
  323. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/__init__.py +0 -0
  324. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/constants.py +0 -0
  325. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/export.py +0 -0
  326. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/main.py +0 -0
  327. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/outputviz.py +0 -0
  328. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/preproc.py +0 -0
  329. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/segment.py +0 -0
  330. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/__init__.py +0 -0
  331. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/main.py +0 -0
  332. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/segment.py +0 -0
  333. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/unpacking.py +0 -0
  334. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/subparam/widget.py +0 -0
  335. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/surfs.py +0 -0
  336. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/utils.py +0 -0
  337. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/__init__.py +0 -0
  338. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/callablereposition.py +0 -0
  339. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/collapsedreposition.py +0 -0
  340. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/collapsing.py +0 -0
  341. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/expandedreposition.py +0 -0
  342. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizop/main.py +0 -0
  343. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/__init__.py +0 -0
  344. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/__init__.py +0 -0
  345. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/callablecreation.py +0 -0
  346. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/collapsedcreation.py +0 -0
  347. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/expandedcreation.py +0 -0
  348. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/bodysetup/main.py +0 -0
  349. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/calmode/__init__.py +0 -0
  350. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/main.py +0 -0
  351. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/__init__.py +0 -0
  352. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/param.py +0 -0
  353. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/callablenode/vizprep/sigmode/varparam.py +0 -0
  354. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/__init__.py +0 -0
  355. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/constants.py +0 -0
  356. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/export.py +0 -0
  357. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/generaldefs.py +0 -0
  358. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/main.py +0 -0
  359. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/capsulenode/pygamedefs.py +0 -0
  360. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/editlogic.py +0 -0
  361. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/exception.py +0 -0
  362. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/execution.py +0 -0
  363. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/__init__.py +0 -0
  364. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/constants.py +0 -0
  365. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/export.py +0 -0
  366. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/main.py +0 -0
  367. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/__init__.py +0 -0
  368. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewasmonotext.py +0 -0
  369. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewastext.py +0 -0
  370. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewpythonsource.py +0 -0
  371. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/genviewernode/nodedefs/viewsurface.py +0 -0
  372. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/main.py +0 -0
  373. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/nodepacksissues.py +0 -0
  374. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/__init__.py +0 -0
  375. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/constants.py +0 -0
  376. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/execution.py +0 -0
  377. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/export.py +0 -0
  378. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/main.py +0 -0
  379. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/surfs.py +0 -0
  380. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/vizop.py +0 -0
  381. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/operatornode/vizprep.py +0 -0
  382. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/presets.py +0 -0
  383. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/__init__.py +0 -0
  384. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/constants.py +0 -0
  385. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/export.py +0 -0
  386. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/main.py +0 -0
  387. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/segment.py +0 -0
  388. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/surfs.py +0 -0
  389. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/titleupdate.py +0 -0
  390. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/utils.py +0 -0
  391. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/__init__.py +0 -0
  392. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/main.py +0 -0
  393. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizop/reposition.py +0 -0
  394. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/vizprep.py +0 -0
  395. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/proxynode/widget.py +0 -0
  396. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/pythonrepr.py +0 -0
  397. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/__init__.py +0 -0
  398. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_no_callable.zip +0 -0
  399. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_no_signature.zip +0 -0
  400. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_nodes.zip +0 -0
  401. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_not_callable_object.zip +0 -0
  402. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_not_inspectable.zip +0 -0
  403. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/node_pack_with_error.zip +0 -0
  404. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/scriptloading/tests.py +0 -0
  405. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/__init__.py +0 -0
  406. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/base.py +0 -0
  407. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/input.py +0 -0
  408. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/output.py +0 -0
  409. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/placeholder.py +0 -0
  410. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/proxy.py +0 -0
  411. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socket/surfs.py +0 -0
  412. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/__init__.py +0 -0
  413. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/action.py +0 -0
  414. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/draw/__init__.py +0 -0
  415. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/draw/connectionassist.py +0 -0
  416. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/export.py +0 -0
  417. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/main.py +0 -0
  418. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/support.py +0 -0
  419. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/socketparenthood/utils.py +0 -0
  420. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/__init__.py +0 -0
  421. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/constants.py +0 -0
  422. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/export.py +0 -0
  423. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/stlibnode/main.py +0 -0
  424. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/__init__.py +0 -0
  425. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/check.py +0 -0
  426. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/constants.py +0 -0
  427. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/export.py +0 -0
  428. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/main.py +0 -0
  429. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/textblock/surf.py +0 -0
  430. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/__init__.py +0 -0
  431. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/constants.py +0 -0
  432. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/export.py +0 -0
  433. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/main.py +0 -0
  434. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/thirdlibnode/signaturedefs.py +0 -0
  435. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/utils.py +0 -0
  436. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/__init__.py +0 -0
  437. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/doctest.test.md +0 -0
  438. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/main.py +0 -0
  439. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/test_data.pyl +0 -0
  440. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/validation/testmarkdown.py +0 -0
  441. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/__init__.py +0 -0
  442. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/export.py +0 -0
  443. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/popupdefinition.py +0 -0
  444. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/graphman/widget/utils.py +0 -0
  445. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/hideswitch.py +0 -0
  446. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/__init__.py +0 -0
  447. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/creation.py +0 -0
  448. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/htsl/image.py +0 -0
  449. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/iconfactory.py +0 -0
  450. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/__init__.py +0 -0
  451. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/cache.py +0 -0
  452. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/__init__.py +0 -0
  453. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/constants.py +0 -0
  454. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/main.py +0 -0
  455. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/previewer/op.py +0 -0
  456. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/imagesman/render.py +0 -0
  457. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/knownpacks.py +0 -0
  458. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/__init__.py +0 -0
  459. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/constants.py +0 -0
  460. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/fixeddialog.py +0 -0
  461. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/main.py +0 -0
  462. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/logman/utils.py +0 -0
  463. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/__init__.py +0 -0
  464. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/exception.py +0 -0
  465. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/loopman/main.py +0 -0
  466. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/mainloop.py +0 -0
  467. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/memoryman.py +0 -0
  468. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/__init__.py +0 -0
  469. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/behaviour.py +0 -0
  470. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/command.py +0 -0
  471. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/common.py +0 -0
  472. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/hover.py +0 -0
  473. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/iconfactory.py +0 -0
  474. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/main.py +0 -0
  475. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/scroll.py +0 -0
  476. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/__init__.py +0 -0
  477. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/main.py +0 -0
  478. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/scroll.py +0 -0
  479. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/submenu/utils.py +0 -0
  480. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/menu/surffactory.py +0 -0
  481. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/__init__.py +0 -0
  482. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/behaviour.py +0 -0
  483. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/button.py +0 -0
  484. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/debug.py +0 -0
  485. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/__init__.py +0 -0
  486. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/main.py +0 -0
  487. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/grid/oop.py +0 -0
  488. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/__init__.py +0 -0
  489. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/list.py +0 -0
  490. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/op.py +0 -0
  491. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/set.py +0 -0
  492. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/iterablewidget/surfs.py +0 -0
  493. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/keyconst.py +0 -0
  494. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/listbox.py +0 -0
  495. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/scale.py +0 -0
  496. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/searchbox.py +0 -0
  497. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/__init__.py +0 -0
  498. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/main.py +0 -0
  499. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/sortingeditor/modes.py +0 -0
  500. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/our3rdlibs/userlogger.py +0 -0
  501. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/__init__.py +0 -0
  502. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/behaviour.py +0 -0
  503. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/__init__.py +0 -0
  504. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/__init__.py +0 -0
  505. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/doctest.test.md +0 -0
  506. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/main.py +0 -0
  507. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/fldict/testmarkdown.py +0 -0
  508. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/general.py +0 -0
  509. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/collections/nestedfromdict.py +0 -0
  510. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/__init__.py +0 -0
  511. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/constants.py +0 -0
  512. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/conversion.py +0 -0
  513. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/creation.py +0 -0
  514. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/custom.py +0 -0
  515. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/largemaps.py +0 -0
  516. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/property.py +0 -0
  517. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/color/utils.py +0 -0
  518. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/datetimeutils.py +0 -0
  519. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/debug.py +0 -0
  520. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/dictutils.py +0 -0
  521. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/exceptionutils.py +0 -0
  522. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/importutils.py +0 -0
  523. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/iterutils.py +0 -0
  524. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/mathutils.py +0 -0
  525. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/meta.py +0 -0
  526. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/path.py +0 -0
  527. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/profileutils.py +0 -0
  528. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/pyl.py +0 -0
  529. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/stringutils.py +0 -0
  530. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/timeutils.py +0 -0
  531. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/ourstdlibs/treeutils.py +0 -0
  532. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/__init__.py +0 -0
  533. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/create.py +0 -0
  534. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/shape.py +0 -0
  535. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pointsman2d/transform.py +0 -0
  536. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/__init__.py +0 -0
  537. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/constants.py +0 -0
  538. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/__init__.py +0 -0
  539. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/normal.py +0 -0
  540. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/play.py +0 -0
  541. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/pygamesetup/services/record.py +0 -0
  542. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/recentfile.py +0 -0
  543. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/__init__.py +0 -0
  544. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/cluster.py +0 -0
  545. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/constants.py +0 -0
  546. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/README.md +0 -0
  547. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/__init__.py +0 -0
  548. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/fixtures.py +0 -0
  549. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/individual_positioning.test.md +0 -0
  550. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/introduction.test.md +0 -0
  551. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part01.test.md +0 -0
  552. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part02.test.md +0 -0
  553. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/operations_part03.test.md +0 -0
  554. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part01.test.md +0 -0
  555. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part02.test.md +0 -0
  556. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/other_topics_part03.test.md +0 -0
  557. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/special_methods_part01.test.md +0 -0
  558. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/special_methods_part02.test.md +0 -0
  559. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/doctests/testmarkdown.py +0 -0
  560. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/main.py +0 -0
  561. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/singlepos.py +0 -0
  562. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/sizepos.py +0 -0
  563. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/spatial.py +0 -0
  564. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/special.py +0 -0
  565. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/rectsman/utils.py +0 -0
  566. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/__init__.py +0 -0
  567. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/animsetup.py +0 -0
  568. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/constants.py +0 -0
  569. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/main.py +0 -0
  570. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/splashscreen/op.py +0 -0
  571. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfdef.py +0 -0
  572. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/__init__.py +0 -0
  573. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/cache.py +0 -0
  574. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/draw.py +0 -0
  575. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/icon.py +0 -0
  576. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/mathutils.py +0 -0
  577. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/render.py +0 -0
  578. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/svgexport.py +0 -0
  579. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/__init__.py +0 -0
  580. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/constants.py +0 -0
  581. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/main.py +0 -0
  582. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/surfsman/viewer/op.py +0 -0
  583. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/svgutils.py +0 -0
  584. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/__init__.py +0 -0
  585. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/exception.py +0 -0
  586. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/__init__.py +0 -0
  587. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/comment.py +0 -0
  588. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/__init__.py +0 -0
  589. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/main.py +0 -0
  590. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/namemap.py +0 -0
  591. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/python/utils.py +0 -0
  592. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/syntaxes/userlog.py +0 -0
  593. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/syntaxman/utils.py +0 -0
  594. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/__init__.py +0 -0
  595. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/constants.py +0 -0
  596. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/playsupport.py +0 -0
  597. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/__init__.py +0 -0
  598. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/constants.py +0 -0
  599. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/factoryfuncs.py +0 -0
  600. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/reportviewer/op.py +0 -0
  601. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/__init__.py +0 -0
  602. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0000.py +0 -0
  603. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0001.py +0 -0
  604. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0002.py +0 -0
  605. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0003.py +0 -0
  606. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0004.py +0 -0
  607. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0005.py +0 -0
  608. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0006.py +0 -0
  609. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0007.py +0 -0
  610. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0008.py +0 -0
  611. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0009.py +0 -0
  612. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0010.py +0 -0
  613. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/systemtesting/testcases/stc0011.py +0 -0
  614. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/__init__.py +0 -0
  615. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/cache.py +0 -0
  616. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/__init__.py +0 -0
  617. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/constants.py +0 -0
  618. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/__init__.py +0 -0
  619. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/main.py +0 -0
  620. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/__init__.py +0 -0
  621. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/insert.py +0 -0
  622. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/modes/normal.py +0 -0
  623. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/navigation.py +0 -0
  624. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/op.py +0 -0
  625. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/cursor/syntaxhigh.py +0 -0
  626. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/line.py +0 -0
  627. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/editor/main.py +0 -0
  628. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/__init__.py +0 -0
  629. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/cursor.py +0 -0
  630. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/entryedition/line.py +0 -0
  631. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/__init__.py +0 -0
  632. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/autolabel.py +0 -0
  633. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/label/main.py +0 -0
  634. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/render.py +0 -0
  635. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/text.py +0 -0
  636. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/__init__.py +0 -0
  637. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/constants.py +0 -0
  638. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/main.py +0 -0
  639. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/op.py +0 -0
  640. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/textman/viewer/prep.py +0 -0
  641. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/translation.py +0 -0
  642. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/__init__.py +0 -0
  643. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/constants.py +0 -0
  644. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/generalform.py +0 -0
  645. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/main.py +0 -0
  646. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/socketdetectionform.py +0 -0
  647. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/utils.py +0 -0
  648. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/userprefsman/validation.py +0 -0
  649. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/__init__.py +0 -0
  650. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/cache.py +0 -0
  651. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/constants.py +0 -0
  652. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/previewer.py +0 -0
  653. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/videopreview/render.py +0 -0
  654. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/__init__.py +0 -0
  655. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/checkbutton.py +0 -0
  656. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/colorbutton.py +0 -0
  657. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/defaultholder.py +0 -0
  658. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/__init__.py +0 -0
  659. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/main.py +0 -0
  660. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/modes.py +0 -0
  661. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/numeval.py +0 -0
  662. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/intfloatentry/op.py +0 -0
  663. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/literaldisplay.py +0 -0
  664. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/literalentry.py +0 -0
  665. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/__init__.py +0 -0
  666. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/creation.py +0 -0
  667. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/main.py +0 -0
  668. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optionmenu/op.py +0 -0
  669. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/__init__.py +0 -0
  670. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/creation.py +0 -0
  671. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/main.py +0 -0
  672. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/optiontray/op.py +0 -0
  673. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/__init__.py +0 -0
  674. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/audio.py +0 -0
  675. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/base.py +0 -0
  676. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/constants.py +0 -0
  677. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/font.py +0 -0
  678. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/image.py +0 -0
  679. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/path.py +0 -0
  680. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/text.py +0 -0
  681. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/pathpreview/video.py +0 -0
  682. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/sortingbutton.py +0 -0
  683. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/stringentry.py +0 -0
  684. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/widget/textdisplay.py +0 -0
  685. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/__init__.py +0 -0
  686. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/fileop.py +0 -0
  687. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/label.py +0 -0
  688. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/main.py +0 -0
  689. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/menu.py +0 -0
  690. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/__init__.py +0 -0
  691. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/birdseyeview.py +0 -0
  692. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/boxselection.py +0 -0
  693. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/loadedfile.py +0 -0
  694. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/movingobject.py +0 -0
  695. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/nofile.py +0 -0
  696. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/segmentdef.py +0 -0
  697. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/states/segmentsev.py +0 -0
  698. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator/winman/switch.py +0 -0
  699. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/dependency_links.txt +0 -0
  700. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/entry_points.txt +0 -0
  701. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/requires.txt +0 -0
  702. {nodezator-1.5.1 → nodezator-1.5.3}/nodezator.egg-info/top_level.txt +0 -0
  703. {nodezator-1.5.1 → nodezator-1.5.3}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nodezator
3
- Version: 1.5.1
3
+ Version: 1.5.3
4
4
  Summary: A generalist Python node editor
5
5
  Home-page: https://nodezator.com
6
6
  Author: Kennedy Richard
@@ -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, 1, "release_candidate")
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>
@@ -98,7 +98,7 @@
98
98
  'developer_website_name' : "kennedyrichard.com",
99
99
  'developer_website_url' : "https://kennedyrichard.com",
100
100
 
101
- 'developer_x' : "Developer Twitter/X",
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
 
@@ -61,7 +61,7 @@
61
61
  'developer_website_name' : "br.kennedyrichard.com",
62
62
  'developer_website_url' : "https://br.kennedyrichard.com",
63
63
 
64
- 'developer_x': "Twitter/X do desenvolvedor",
64
+ 'developer_links_social': "Links do desenvolvedor",
65
65
 
66
66
  },
67
67
 
@@ -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 selected, we must
160
- ### update the selection according to the entry, since
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
- if self.expecting_files_only:
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
- ### checks and acting according to their results
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
- ## iterate over existing subparameters (if any),
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
- # perform additional setups depending on the
214
- # specific kind of variable parameter we have
210
+ if kind == 'var_pos':
215
211
 
216
- if kind == 'var_pos':
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
- # retrieve the list of subparameters that must
219
- # be unpacked
220
- subparams_for_unpacking = (
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
- # retrieve the values of each subparameter in the
225
- # order defined by the subparameter indices
226
- # building a list with the values
222
+ param_args = []
227
223
 
228
- param_args = []
224
+ for index in sorted(subparam_value_map):
229
225
 
230
- for index in sorted(subparam_value_map):
226
+ if index in subparams_for_unpacking:
231
227
 
232
- if index in subparams_for_unpacking:
228
+ try:
229
+ param_args.extend(subparam_value_map[index])
233
230
 
234
- try:
235
- param_args.extend(subparam_value_map[index])
231
+ except Exception as err:
236
232
 
237
- except Exception as err:
233
+ raise PositionalSubparameterUnpackingError(
234
+ self,
235
+ param_name,
236
+ index,
237
+ ) from err
238
238
 
239
- raise PositionalSubparameterUnpackingError(
240
- self,
241
- param_name,
242
- index,
243
- ) from err
239
+ else:
240
+ param_args.append(subparam_value_map[index])
244
241
 
245
- else:
246
- param_args.append(subparam_value_map[index])
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
- # replace the parameter data in the argument map
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
- elif kind == 'var_key':
248
+ elif kind == 'var_key':
253
249
 
254
- # retrieve map containing name of keyword for each
255
- # subparameter
256
- subparam_keywords = self.data['subparam_keyword_map']
250
+ # retrieve map containing name of keyword for each
251
+ # subparameter
252
+ subparam_keywords = self.data['subparam_keyword_map']
257
253
 
258
- # now build a new dictionary with the sorted keys
259
- # from the subparam value map and its values
254
+ # now build a new dictionary with the sorted keys
255
+ # from the subparam value map and its values
260
256
 
261
- param_args = {}
257
+ param_args = {}
262
258
 
263
- for index in sorted(subparam_value_map):
259
+ for index in sorted(subparam_value_map):
264
260
 
265
- value = subparam_value_map.pop(index)
261
+ value = subparam_value_map.pop(index)
266
262
 
267
- if index in subparam_keywords:
268
- param_args[subparam_keywords[index]] = value
263
+ if index in subparam_keywords:
264
+ param_args[subparam_keywords[index]] = value
269
265
 
270
- else:
266
+ else:
271
267
 
272
- # note that we use '.update(**value)'
273
- # instead of '.update(value)'; this is
274
- # so because '.update(value)' would be
275
- # more lenient than the '**', and thus
276
- # not equivalent ('**' only accepts
277
- # mappings, while .update accepts
278
- # other iterables as well);
279
- #
280
- # since we are emulating the behaviour
281
- # of '**', we go with the less lenient
282
- # behaviour of only accepting mappings
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
- try:
285
- param_args.update(**value)
280
+ try:
281
+ param_args.update(**value)
286
282
 
287
- except Exception as err:
283
+ except Exception as err:
288
284
 
289
- raise KeywordSubparameterUnpackingError(
290
- self,
291
- param_name,
292
- index,
293
- ) from err
285
+ raise KeywordSubparameterUnpackingError(
286
+ self,
287
+ param_name,
288
+ index,
289
+ ) from err
294
290
 
295
- # replace the parameter data in
296
- # the argument map by the dict
297
- # we just created
298
- arg_map[param_name] = param_args
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
- else:
296
+ else:
301
297
 
302
- raise RuntimeError(
303
- "there shouldn't be possible to specify a variable"
304
- " parameter of a kind which is neither 'var_pos' or"
305
- " 'var_key'"
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 ..colorsman.colors import HTSL_GENERAL_TEXT_FG, HTSL_CANVAS_BG
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 = (partial(put_text, text)),
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= bottomright,
503
+ coordinates_value=bottomright,
374
504
 
375
505
  )
@@ -40,6 +40,8 @@ KNOWN_TAGS = (
40
40
  "dl",
41
41
  )
42
42
 
43
+ PRE_PYTHON_TAGS = {'pre', 'python'}
44
+
43
45
  ### text settings
44
46
 
45
47
  ## anchor minus fg
@@ -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 the for-loop if it is the
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 BROWSER_TITLE, KNOWN_TAGS, HEADING_TAGS
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 clipboard functionality is available and there are pre/python
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
- if getattr(obj, 'tag_name', '') in {'pre', 'python'}:
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
- button = get_copy_button(obj.text, bottomright=obj.rect.topright)
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
- index_button_pairs.append((index, button))
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["x_logo.png"][{"use_alpha": True}]),
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.developer_x,
243
- "https://x.com/KennedyRichard",
242
+ t.splash_screen.developer_links_social,
243
+ "https://kennedyrichard.com/links",
244
244
  ),
245
245
  (
246
246
  "Join us on discord",