rayforge 1.3__tar.gz → 1.3.2__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 (1255) hide show
  1. rayforge-1.3.2/PKG-INFO +114 -0
  2. rayforge-1.3.2/data/org.rayforge.rayforge.metainfo.xml +460 -0
  3. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/raster_widget.py +573 -0
  4. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/studio.py +467 -0
  5. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/__init__.py +121 -0
  6. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/arc_tool.py +299 -0
  7. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/base.py +151 -0
  8. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/circle_tool.py +235 -0
  9. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/fill_tool.py +54 -0
  10. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/path_tool.py +568 -0
  11. rayforge-1.3.2/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/select_tool.py +812 -0
  12. rayforge-1.3.2/rayforge/machine/driver/grbl_serial.py +1239 -0
  13. rayforge-1.3.2/rayforge/machine/models/machine.py +1314 -0
  14. rayforge-1.3.2/rayforge/resources/icons/3d-rotation-symbolic.svg +16 -0
  15. rayforge-1.3.2/rayforge/resources/icons/3d-symbolic.svg +16 -0
  16. rayforge-1.3.2/rayforge/resources/icons/add-stock-symbolic.svg +16 -0
  17. rayforge-1.3.2/rayforge/resources/icons/add-symbolic.svg +16 -0
  18. rayforge-1.3.2/rayforge/resources/icons/addon-builtin-symbolic.svg +40 -0
  19. rayforge-1.3.2/rayforge/resources/icons/addon-symbolic.svg +38 -0
  20. rayforge-1.3.2/rayforge/resources/icons/ai-symbolic.svg +38 -0
  21. rayforge-1.3.2/rayforge/resources/icons/alarm-symbolic.svg +16 -0
  22. rayforge-1.3.2/rayforge/resources/icons/align-bottom-symbolic.svg +16 -0
  23. rayforge-1.3.2/rayforge/resources/icons/align-horizontal-center-symbolic.svg +16 -0
  24. rayforge-1.3.2/rayforge/resources/icons/align-left-symbolic.svg +16 -0
  25. rayforge-1.3.2/rayforge/resources/icons/align-right-symbolic.svg +16 -0
  26. rayforge-1.3.2/rayforge/resources/icons/align-top-symbolic.svg +16 -0
  27. rayforge-1.3.2/rayforge/resources/icons/align-vertical-center-symbolic.svg +16 -0
  28. rayforge-1.3.2/rayforge/resources/icons/arrow-east-symbolic.svg +16 -0
  29. rayforge-1.3.2/rayforge/resources/icons/arrow-north-east-symbolic.svg +16 -0
  30. rayforge-1.3.2/rayforge/resources/icons/arrow-north-symbolic.svg +16 -0
  31. rayforge-1.3.2/rayforge/resources/icons/arrow-north-west-symbolic.svg +16 -0
  32. rayforge-1.3.2/rayforge/resources/icons/arrow-south-east-symbolic.svg +16 -0
  33. rayforge-1.3.2/rayforge/resources/icons/arrow-south-symbolic.svg +16 -0
  34. rayforge-1.3.2/rayforge/resources/icons/arrow-south-west-symbolic.svg +16 -0
  35. rayforge-1.3.2/rayforge/resources/icons/arrow-west-symbolic.svg +16 -0
  36. rayforge-1.3.2/rayforge/resources/icons/arrow-z-down-symbolic.svg +47 -0
  37. rayforge-1.3.2/rayforge/resources/icons/arrow-z-up-symbolic.svg +43 -0
  38. rayforge-1.3.2/rayforge/resources/icons/auto-layout-symbolic.svg +16 -0
  39. rayforge-1.3.2/rayforge/resources/icons/batch-symbolic.svg +39 -0
  40. rayforge-1.3.2/rayforge/resources/icons/bottom-left-symbolic.svg +38 -0
  41. rayforge-1.3.2/rayforge/resources/icons/bottom-right-symbolic.svg +38 -0
  42. rayforge-1.3.2/rayforge/resources/icons/camera-off-symbolic.svg +16 -0
  43. rayforge-1.3.2/rayforge/resources/icons/camera-on-symbolic.svg +16 -0
  44. rayforge-1.3.2/rayforge/resources/icons/center-symbolic.svg +38 -0
  45. rayforge-1.3.2/rayforge/resources/icons/check-circle-symbolic.svg +16 -0
  46. rayforge-1.3.2/rayforge/resources/icons/check-symbolic.svg +16 -0
  47. rayforge-1.3.2/rayforge/resources/icons/chevron-right-symbolic.svg +17 -0
  48. rayforge-1.3.2/rayforge/resources/icons/clear-alarm-symbolic.svg +20 -0
  49. rayforge-1.3.2/rayforge/resources/icons/clear-layers-symbolic.svg +16 -0
  50. rayforge-1.3.2/rayforge/resources/icons/clear-symbolic.svg +38 -0
  51. rayforge-1.3.2/rayforge/resources/icons/close-document-symbolic.svg +16 -0
  52. rayforge-1.3.2/rayforge/resources/icons/close-symbolic.svg +16 -0
  53. rayforge-1.3.2/rayforge/resources/icons/code-symbolic.svg +16 -0
  54. rayforge-1.3.2/rayforge/resources/icons/compass-symbolic.svg +16 -0
  55. rayforge-1.3.2/rayforge/resources/icons/copy-symbolic.svg +16 -0
  56. rayforge-1.3.2/rayforge/resources/icons/crosshairs-symbolic.svg +38 -0
  57. rayforge-1.3.2/rayforge/resources/icons/crown-symbolic.svg +38 -0
  58. rayforge-1.3.2/rayforge/resources/icons/cut-symbolic.svg +38 -0
  59. rayforge-1.3.2/rayforge/resources/icons/cycle-symbolic.svg +16 -0
  60. rayforge-1.3.2/rayforge/resources/icons/delete-symbolic.svg +16 -0
  61. rayforge-1.3.2/rayforge/resources/icons/distribute-horizontal-symbolic.svg +16 -0
  62. rayforge-1.3.2/rayforge/resources/icons/distribute-vertical-symbolic.svg +16 -0
  63. rayforge-1.3.2/rayforge/resources/icons/door-symbolic.svg +16 -0
  64. rayforge-1.3.2/rayforge/resources/icons/download-symbolic.svg +38 -0
  65. rayforge-1.3.2/rayforge/resources/icons/drag-handle-symbolic.svg +16 -0
  66. rayforge-1.3.2/rayforge/resources/icons/edit-symbolic.svg +38 -0
  67. rayforge-1.3.2/rayforge/resources/icons/engrave-symbolic.svg +38 -0
  68. rayforge-1.3.2/rayforge/resources/icons/eraser-symbolic.svg +120 -0
  69. rayforge-1.3.2/rayforge/resources/icons/error-symbolic.svg +38 -0
  70. rayforge-1.3.2/rayforge/resources/icons/export-symbolic.svg +38 -0
  71. rayforge-1.3.2/rayforge/resources/icons/fast-forward-symbolic.svg +16 -0
  72. rayforge-1.3.2/rayforge/resources/icons/fast-rewind-symbolic.svg +38 -0
  73. rayforge-1.3.2/rayforge/resources/icons/flip-horizontal-symbolic.svg +16 -0
  74. rayforge-1.3.2/rayforge/resources/icons/flip-vertical-symbolic.svg +16 -0
  75. rayforge-1.3.2/rayforge/resources/icons/frame-symbolic.svg +16 -0
  76. rayforge-1.3.2/rayforge/resources/icons/gcode-symbolic.svg +45 -0
  77. rayforge-1.3.2/rayforge/resources/icons/general-symbolic.svg +38 -0
  78. rayforge-1.3.2/rayforge/resources/icons/go-down-symbolic.svg +38 -0
  79. rayforge-1.3.2/rayforge/resources/icons/go-next-symbolic.svg +38 -0
  80. rayforge-1.3.2/rayforge/resources/icons/go-previous-symbolic.svg +38 -0
  81. rayforge-1.3.2/rayforge/resources/icons/go-up-symbolic.svg +38 -0
  82. rayforge-1.3.2/rayforge/resources/icons/hardware-symbolic.svg +38 -0
  83. rayforge-1.3.2/rayforge/resources/icons/home-symbolic.svg +16 -0
  84. rayforge-1.3.2/rayforge/resources/icons/home-x-symbolic.svg +51 -0
  85. rayforge-1.3.2/rayforge/resources/icons/home-y-symbolic.svg +51 -0
  86. rayforge-1.3.2/rayforge/resources/icons/home-z-symbolic.svg +51 -0
  87. rayforge-1.3.2/rayforge/resources/icons/homing-symbolic.svg +16 -0
  88. rayforge-1.3.2/rayforge/resources/icons/hourglass-symbolic.svg +16 -0
  89. rayforge-1.3.2/rayforge/resources/icons/info-symbolic.svg +16 -0
  90. rayforge-1.3.2/rayforge/resources/icons/jog-symbolic.svg +16 -0
  91. rayforge-1.3.2/rayforge/resources/icons/laps-symbolic.svg +16 -0
  92. rayforge-1.3.2/rayforge/resources/icons/laser-off-symbolic.svg +43 -0
  93. rayforge-1.3.2/rayforge/resources/icons/laser-on-symbolic.svg +38 -0
  94. rayforge-1.3.2/rayforge/resources/icons/laser-path-symbolic.svg +16 -0
  95. rayforge-1.3.2/rayforge/resources/icons/layer-symbolic.svg +16 -0
  96. rayforge-1.3.2/rayforge/resources/icons/license-symbolic.svg +38 -0
  97. rayforge-1.3.2/rayforge/resources/icons/lock-open-symbolic.svg +38 -0
  98. rayforge-1.3.2/rayforge/resources/icons/lock-symbolic.svg +38 -0
  99. rayforge-1.3.2/rayforge/resources/icons/locked-symbolic.svg +16 -0
  100. rayforge-1.3.2/rayforge/resources/icons/machine-settings-advanced-symbolic.svg +38 -0
  101. rayforge-1.3.2/rayforge/resources/icons/machine-settings-general-symbolic.svg +38 -0
  102. rayforge-1.3.2/rayforge/resources/icons/material-symbolic.svg +38 -0
  103. rayforge-1.3.2/rayforge/resources/icons/next-symbolic.svg +16 -0
  104. rayforge-1.3.2/rayforge/resources/icons/open-in-new-symbolic.svg +16 -0
  105. rayforge-1.3.2/rayforge/resources/icons/open-symbolic.svg +16 -0
  106. rayforge-1.3.2/rayforge/resources/icons/pan-down-symbolic.svg +38 -0
  107. rayforge-1.3.2/rayforge/resources/icons/pause-symbolic.svg +38 -0
  108. rayforge-1.3.2/rayforge/resources/icons/play-arrow-symbolic.svg +16 -0
  109. rayforge-1.3.2/rayforge/resources/icons/post-processor-symbolic.svg +38 -0
  110. rayforge-1.3.2/rayforge/resources/icons/preliminary-check-symbolic.svg +16 -0
  111. rayforge-1.3.2/rayforge/resources/icons/preview-off-symbolic.svg +16 -0
  112. rayforge-1.3.2/rayforge/resources/icons/preview_off-symbolic.svg +16 -0
  113. rayforge-1.3.2/rayforge/resources/icons/previous-symbolic.svg +16 -0
  114. rayforge-1.3.2/rayforge/resources/icons/publish-symbolic.svg +16 -0
  115. rayforge-1.3.2/rayforge/resources/icons/query-symbolic.svg +38 -0
  116. rayforge-1.3.2/rayforge/resources/icons/question-box-symbolic.svg +16 -0
  117. rayforge-1.3.2/rayforge/resources/icons/question-mark-symbolic.svg +16 -0
  118. rayforge-1.3.2/rayforge/resources/icons/queued-symbolic.svg +16 -0
  119. rayforge-1.3.2/rayforge/resources/icons/recipe-symbolic.svg +38 -0
  120. rayforge-1.3.2/rayforge/resources/icons/redo-symbolic.svg +38 -0
  121. rayforge-1.3.2/rayforge/resources/icons/refresh-symbolic.svg +16 -0
  122. rayforge-1.3.2/rayforge/resources/icons/reset-stock-symbolic.svg +16 -0
  123. rayforge-1.3.2/rayforge/resources/icons/resume-symbolic.svg +16 -0
  124. rayforge-1.3.2/rayforge/resources/icons/save-as-symbolic.svg +16 -0
  125. rayforge-1.3.2/rayforge/resources/icons/save-symbolic.svg +16 -0
  126. rayforge-1.3.2/rayforge/resources/icons/save_as-symbolic.svg +16 -0
  127. rayforge-1.3.2/rayforge/resources/icons/score-symbolic.svg +38 -0
  128. rayforge-1.3.2/rayforge/resources/icons/send-symbolic.svg +16 -0
  129. rayforge-1.3.2/rayforge/resources/icons/settings-symbolic.svg +16 -0
  130. rayforge-1.3.2/rayforge/resources/icons/siren-symbolic.svg +16 -0
  131. rayforge-1.3.2/rayforge/resources/icons/sketch-add-symbolic.svg +45 -0
  132. rayforge-1.3.2/rayforge/resources/icons/sketch-arc-symbolic.svg +38 -0
  133. rayforge-1.3.2/rayforge/resources/icons/sketch-bezier-sharp-symbolic.svg +51 -0
  134. rayforge-1.3.2/rayforge/resources/icons/sketch-bezier-smooth-symbolic.svg +47 -0
  135. rayforge-1.3.2/rayforge/resources/icons/sketch-bezier-symbolic.svg +60 -0
  136. rayforge-1.3.2/rayforge/resources/icons/sketch-bezier-symmetric-symbolic.svg +67 -0
  137. rayforge-1.3.2/rayforge/resources/icons/sketch-chamfer-symbolic.svg +39 -0
  138. rayforge-1.3.2/rayforge/resources/icons/sketch-circle-symbolic.svg +38 -0
  139. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-angle-symbolic.svg +51 -0
  140. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-aspect-symbolic.svg +38 -0
  141. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-equal-symbolic.svg +39 -0
  142. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-horizontal-symbolic.svg +38 -0
  143. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-perpendicular-symbolic.svg +39 -0
  144. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-point-symbolic.svg +60 -0
  145. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-symmetric-symbolic.svg +43 -0
  146. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-tangential-symbolic.svg +48 -0
  147. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-vertical-symbolic.svg +38 -0
  148. rayforge-1.3.2/rayforge/resources/icons/sketch-constrain-verticalhorizontal-symbolic.svg +38 -0
  149. rayforge-1.3.2/rayforge/resources/icons/sketch-construction-symbolic.svg +39 -0
  150. rayforge-1.3.2/rayforge/resources/icons/sketch-diameter-symbolic.svg +42 -0
  151. rayforge-1.3.2/rayforge/resources/icons/sketch-distance-symbolic.svg +38 -0
  152. rayforge-1.3.2/rayforge/resources/icons/sketch-edit-symbolic.svg +39 -0
  153. rayforge-1.3.2/rayforge/resources/icons/sketch-fill-symbolic.svg +38 -0
  154. rayforge-1.3.2/rayforge/resources/icons/sketch-fillet-symbolic.svg +38 -0
  155. rayforge-1.3.2/rayforge/resources/icons/sketch-grid-symbolic.svg +39 -0
  156. rayforge-1.3.2/rayforge/resources/icons/sketch-line-symbolic.svg +38 -0
  157. rayforge-1.3.2/rayforge/resources/icons/sketch-radius-symbolic.svg +48 -0
  158. rayforge-1.3.2/rayforge/resources/icons/sketch-rect-symbolic.svg +42 -0
  159. rayforge-1.3.2/rayforge/resources/icons/sketch-rounded-rect-symbolic.svg +39 -0
  160. rayforge-1.3.2/rayforge/resources/icons/sketch-select-symbolic.svg +38 -0
  161. rayforge-1.3.2/rayforge/resources/icons/sketch-text-symbolic.svg +38 -0
  162. rayforge-1.3.2/rayforge/resources/icons/skip-forward-symbolic.svg +38 -0
  163. rayforge-1.3.2/rayforge/resources/icons/skip-previous-symbolic.svg +38 -0
  164. rayforge-1.3.2/rayforge/resources/icons/sleep-symbolic.svg +16 -0
  165. rayforge-1.3.2/rayforge/resources/icons/status-check-symbolic.svg +38 -0
  166. rayforge-1.3.2/rayforge/resources/icons/status-connected-symbolic.svg +38 -0
  167. rayforge-1.3.2/rayforge/resources/icons/status-connecting-symbolic.svg +44 -0
  168. rayforge-1.3.2/rayforge/resources/icons/status-idle-symbolic.svg +38 -0
  169. rayforge-1.3.2/rayforge/resources/icons/status-offline-symbolic.svg +38 -0
  170. rayforge-1.3.2/rayforge/resources/icons/step-settings-symbolic.svg +38 -0
  171. rayforge-1.3.2/rayforge/resources/icons/stock-symbolic.svg +16 -0
  172. rayforge-1.3.2/rayforge/resources/icons/stop-symbolic.svg +16 -0
  173. rayforge-1.3.2/rayforge/resources/icons/tabs-equidistant-symbolic.svg +17 -0
  174. rayforge-1.3.2/rayforge/resources/icons/tabs-visible-symbolic.svg +20 -0
  175. rayforge-1.3.2/rayforge/resources/icons/test-symbolic.svg +16 -0
  176. rayforge-1.3.2/rayforge/resources/icons/timeline-symbolic.svg +20 -0
  177. rayforge-1.3.2/rayforge/resources/icons/timer-symbolic.svg +38 -0
  178. rayforge-1.3.2/rayforge/resources/icons/tool-change-symbolic.svg +16 -0
  179. rayforge-1.3.2/rayforge/resources/icons/top-left-symbolic.svg +38 -0
  180. rayforge-1.3.2/rayforge/resources/icons/top-right-symbolic.svg +38 -0
  181. rayforge-1.3.2/rayforge/resources/icons/travel-path-symbolic.svg +38 -0
  182. rayforge-1.3.2/rayforge/resources/icons/ui-settings-symbolic.svg +38 -0
  183. rayforge-1.3.2/rayforge/resources/icons/undo-symbolic.svg +16 -0
  184. rayforge-1.3.2/rayforge/resources/icons/unlocking-symbolic.svg +16 -0
  185. rayforge-1.3.2/rayforge/resources/icons/variable-symbolic.svg +16 -0
  186. rayforge-1.3.2/rayforge/resources/icons/visibility-off-symbolic.svg +16 -0
  187. rayforge-1.3.2/rayforge/resources/icons/visibility-on-symbolic.svg +16 -0
  188. rayforge-1.3.2/rayforge/resources/icons/warning-symbolic.svg +16 -0
  189. rayforge-1.3.2/rayforge/resources/icons/zero-here-symbolic.svg +38 -0
  190. rayforge-1.3.2/rayforge/resources/icons/zoom-fit-best-symbolic.svg +38 -0
  191. rayforge-1.3.2/rayforge/resources/icons/zoom-in-symbolic.svg +38 -0
  192. rayforge-1.3.2/rayforge/resources/icons/zoom-out-symbolic.svg +38 -0
  193. rayforge-1.3.2/rayforge/ui_gtk/shared/slider.py +69 -0
  194. rayforge-1.3.2/rayforge.egg-info/PKG-INFO +114 -0
  195. rayforge-1.3/PKG-INFO +0 -114
  196. rayforge-1.3/data/org.rayforge.rayforge.metainfo.xml +0 -439
  197. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/raster_widget.py +0 -574
  198. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/studio.py +0 -468
  199. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/__init__.py +0 -133
  200. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/arc_tool.py +0 -300
  201. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/base.py +0 -152
  202. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/circle_tool.py +0 -236
  203. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/fill_tool.py +0 -55
  204. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/path_tool.py +0 -569
  205. rayforge-1.3/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/select_tool.py +0 -813
  206. rayforge-1.3/rayforge/machine/driver/grbl_serial.py +0 -1237
  207. rayforge-1.3/rayforge/machine/models/machine.py +0 -1298
  208. rayforge-1.3/rayforge/resources/icons/3d-rotation-symbolic.svg +0 -16
  209. rayforge-1.3/rayforge/resources/icons/3d-symbolic.svg +0 -16
  210. rayforge-1.3/rayforge/resources/icons/add-stock-symbolic.svg +0 -16
  211. rayforge-1.3/rayforge/resources/icons/add-symbolic.svg +0 -16
  212. rayforge-1.3/rayforge/resources/icons/addon-builtin-symbolic.svg +0 -40
  213. rayforge-1.3/rayforge/resources/icons/addon-symbolic.svg +0 -38
  214. rayforge-1.3/rayforge/resources/icons/ai-symbolic.svg +0 -38
  215. rayforge-1.3/rayforge/resources/icons/alarm-symbolic.svg +0 -16
  216. rayforge-1.3/rayforge/resources/icons/align-bottom-symbolic.svg +0 -16
  217. rayforge-1.3/rayforge/resources/icons/align-horizontal-center-symbolic.svg +0 -16
  218. rayforge-1.3/rayforge/resources/icons/align-left-symbolic.svg +0 -16
  219. rayforge-1.3/rayforge/resources/icons/align-right-symbolic.svg +0 -16
  220. rayforge-1.3/rayforge/resources/icons/align-top-symbolic.svg +0 -16
  221. rayforge-1.3/rayforge/resources/icons/align-vertical-center-symbolic.svg +0 -16
  222. rayforge-1.3/rayforge/resources/icons/arrow-east-symbolic.svg +0 -16
  223. rayforge-1.3/rayforge/resources/icons/arrow-north-east-symbolic.svg +0 -16
  224. rayforge-1.3/rayforge/resources/icons/arrow-north-symbolic.svg +0 -16
  225. rayforge-1.3/rayforge/resources/icons/arrow-north-west-symbolic.svg +0 -16
  226. rayforge-1.3/rayforge/resources/icons/arrow-south-east-symbolic.svg +0 -16
  227. rayforge-1.3/rayforge/resources/icons/arrow-south-symbolic.svg +0 -16
  228. rayforge-1.3/rayforge/resources/icons/arrow-south-west-symbolic.svg +0 -16
  229. rayforge-1.3/rayforge/resources/icons/arrow-west-symbolic.svg +0 -16
  230. rayforge-1.3/rayforge/resources/icons/arrow-z-down-symbolic.svg +0 -47
  231. rayforge-1.3/rayforge/resources/icons/arrow-z-up-symbolic.svg +0 -43
  232. rayforge-1.3/rayforge/resources/icons/auto-layout-symbolic.svg +0 -16
  233. rayforge-1.3/rayforge/resources/icons/batch-symbolic.svg +0 -39
  234. rayforge-1.3/rayforge/resources/icons/bottom-left-symbolic.svg +0 -38
  235. rayforge-1.3/rayforge/resources/icons/bottom-right-symbolic.svg +0 -38
  236. rayforge-1.3/rayforge/resources/icons/camera-off-symbolic.svg +0 -16
  237. rayforge-1.3/rayforge/resources/icons/camera-on-symbolic.svg +0 -16
  238. rayforge-1.3/rayforge/resources/icons/center-symbolic.svg +0 -38
  239. rayforge-1.3/rayforge/resources/icons/check-circle-symbolic.svg +0 -16
  240. rayforge-1.3/rayforge/resources/icons/check-symbolic.svg +0 -16
  241. rayforge-1.3/rayforge/resources/icons/chevron-right-symbolic.svg +0 -17
  242. rayforge-1.3/rayforge/resources/icons/clear-alarm-symbolic.svg +0 -20
  243. rayforge-1.3/rayforge/resources/icons/clear-layers-symbolic.svg +0 -16
  244. rayforge-1.3/rayforge/resources/icons/clear-symbolic.svg +0 -38
  245. rayforge-1.3/rayforge/resources/icons/close-document-symbolic.svg +0 -16
  246. rayforge-1.3/rayforge/resources/icons/close-symbolic.svg +0 -16
  247. rayforge-1.3/rayforge/resources/icons/code-symbolic.svg +0 -16
  248. rayforge-1.3/rayforge/resources/icons/compass-symbolic.svg +0 -16
  249. rayforge-1.3/rayforge/resources/icons/copy-symbolic.svg +0 -16
  250. rayforge-1.3/rayforge/resources/icons/crosshairs-symbolic.svg +0 -38
  251. rayforge-1.3/rayforge/resources/icons/crown-symbolic.svg +0 -38
  252. rayforge-1.3/rayforge/resources/icons/cut-symbolic.svg +0 -38
  253. rayforge-1.3/rayforge/resources/icons/cycle-symbolic.svg +0 -16
  254. rayforge-1.3/rayforge/resources/icons/delete-symbolic.svg +0 -16
  255. rayforge-1.3/rayforge/resources/icons/distribute-horizontal-symbolic.svg +0 -16
  256. rayforge-1.3/rayforge/resources/icons/distribute-vertical-symbolic.svg +0 -16
  257. rayforge-1.3/rayforge/resources/icons/door-symbolic.svg +0 -16
  258. rayforge-1.3/rayforge/resources/icons/download-symbolic.svg +0 -38
  259. rayforge-1.3/rayforge/resources/icons/drag-handle-symbolic.svg +0 -16
  260. rayforge-1.3/rayforge/resources/icons/edit-symbolic.svg +0 -38
  261. rayforge-1.3/rayforge/resources/icons/engrave-symbolic.svg +0 -38
  262. rayforge-1.3/rayforge/resources/icons/eraser-symbolic.svg +0 -120
  263. rayforge-1.3/rayforge/resources/icons/error-symbolic.svg +0 -38
  264. rayforge-1.3/rayforge/resources/icons/export-symbolic.svg +0 -38
  265. rayforge-1.3/rayforge/resources/icons/fast-forward-symbolic.svg +0 -16
  266. rayforge-1.3/rayforge/resources/icons/fast-rewind-symbolic.svg +0 -38
  267. rayforge-1.3/rayforge/resources/icons/flip-horizontal-symbolic.svg +0 -16
  268. rayforge-1.3/rayforge/resources/icons/flip-vertical-symbolic.svg +0 -16
  269. rayforge-1.3/rayforge/resources/icons/frame-symbolic.svg +0 -16
  270. rayforge-1.3/rayforge/resources/icons/gcode-symbolic.svg +0 -45
  271. rayforge-1.3/rayforge/resources/icons/general-symbolic.svg +0 -38
  272. rayforge-1.3/rayforge/resources/icons/go-down-symbolic.svg +0 -38
  273. rayforge-1.3/rayforge/resources/icons/go-next-symbolic.svg +0 -38
  274. rayforge-1.3/rayforge/resources/icons/go-previous-symbolic.svg +0 -38
  275. rayforge-1.3/rayforge/resources/icons/go-up-symbolic.svg +0 -38
  276. rayforge-1.3/rayforge/resources/icons/hardware-symbolic.svg +0 -38
  277. rayforge-1.3/rayforge/resources/icons/home-symbolic.svg +0 -16
  278. rayforge-1.3/rayforge/resources/icons/home-x-symbolic.svg +0 -51
  279. rayforge-1.3/rayforge/resources/icons/home-y-symbolic.svg +0 -51
  280. rayforge-1.3/rayforge/resources/icons/home-z-symbolic.svg +0 -51
  281. rayforge-1.3/rayforge/resources/icons/homing-symbolic.svg +0 -16
  282. rayforge-1.3/rayforge/resources/icons/hourglass-symbolic.svg +0 -16
  283. rayforge-1.3/rayforge/resources/icons/info-symbolic.svg +0 -16
  284. rayforge-1.3/rayforge/resources/icons/jog-symbolic.svg +0 -16
  285. rayforge-1.3/rayforge/resources/icons/laps-symbolic.svg +0 -16
  286. rayforge-1.3/rayforge/resources/icons/laser-off-symbolic.svg +0 -43
  287. rayforge-1.3/rayforge/resources/icons/laser-on-symbolic.svg +0 -38
  288. rayforge-1.3/rayforge/resources/icons/laser-path-symbolic.svg +0 -16
  289. rayforge-1.3/rayforge/resources/icons/layer-symbolic.svg +0 -16
  290. rayforge-1.3/rayforge/resources/icons/license-symbolic.svg +0 -38
  291. rayforge-1.3/rayforge/resources/icons/lock-open-symbolic.svg +0 -38
  292. rayforge-1.3/rayforge/resources/icons/lock-symbolic.svg +0 -38
  293. rayforge-1.3/rayforge/resources/icons/locked-symbolic.svg +0 -16
  294. rayforge-1.3/rayforge/resources/icons/machine-settings-advanced-symbolic.svg +0 -38
  295. rayforge-1.3/rayforge/resources/icons/machine-settings-general-symbolic.svg +0 -38
  296. rayforge-1.3/rayforge/resources/icons/material-symbolic.svg +0 -38
  297. rayforge-1.3/rayforge/resources/icons/next-symbolic.svg +0 -16
  298. rayforge-1.3/rayforge/resources/icons/open-in-new-symbolic.svg +0 -16
  299. rayforge-1.3/rayforge/resources/icons/open-symbolic.svg +0 -16
  300. rayforge-1.3/rayforge/resources/icons/pan-down-symbolic.svg +0 -38
  301. rayforge-1.3/rayforge/resources/icons/pause-symbolic.svg +0 -38
  302. rayforge-1.3/rayforge/resources/icons/play-arrow-symbolic.svg +0 -16
  303. rayforge-1.3/rayforge/resources/icons/post-processor-symbolic.svg +0 -38
  304. rayforge-1.3/rayforge/resources/icons/preliminary-check-symbolic.svg +0 -16
  305. rayforge-1.3/rayforge/resources/icons/preview-off-symbolic.svg +0 -16
  306. rayforge-1.3/rayforge/resources/icons/preview_off-symbolic.svg +0 -16
  307. rayforge-1.3/rayforge/resources/icons/previous-symbolic.svg +0 -16
  308. rayforge-1.3/rayforge/resources/icons/publish-symbolic.svg +0 -16
  309. rayforge-1.3/rayforge/resources/icons/query-symbolic.svg +0 -38
  310. rayforge-1.3/rayforge/resources/icons/question-box-symbolic.svg +0 -16
  311. rayforge-1.3/rayforge/resources/icons/question-mark-symbolic.svg +0 -16
  312. rayforge-1.3/rayforge/resources/icons/queued-symbolic.svg +0 -16
  313. rayforge-1.3/rayforge/resources/icons/recipe-symbolic.svg +0 -38
  314. rayforge-1.3/rayforge/resources/icons/redo-symbolic.svg +0 -38
  315. rayforge-1.3/rayforge/resources/icons/refresh-symbolic.svg +0 -16
  316. rayforge-1.3/rayforge/resources/icons/reset-stock-symbolic.svg +0 -16
  317. rayforge-1.3/rayforge/resources/icons/resume-symbolic.svg +0 -16
  318. rayforge-1.3/rayforge/resources/icons/save-as-symbolic.svg +0 -16
  319. rayforge-1.3/rayforge/resources/icons/save-symbolic.svg +0 -16
  320. rayforge-1.3/rayforge/resources/icons/save_as-symbolic.svg +0 -16
  321. rayforge-1.3/rayforge/resources/icons/score-symbolic.svg +0 -38
  322. rayforge-1.3/rayforge/resources/icons/send-symbolic.svg +0 -16
  323. rayforge-1.3/rayforge/resources/icons/settings-symbolic.svg +0 -16
  324. rayforge-1.3/rayforge/resources/icons/siren-symbolic.svg +0 -16
  325. rayforge-1.3/rayforge/resources/icons/sketch-add-symbolic.svg +0 -45
  326. rayforge-1.3/rayforge/resources/icons/sketch-arc-symbolic.svg +0 -38
  327. rayforge-1.3/rayforge/resources/icons/sketch-bezier-sharp-symbolic.svg +0 -51
  328. rayforge-1.3/rayforge/resources/icons/sketch-bezier-smooth-symbolic.svg +0 -47
  329. rayforge-1.3/rayforge/resources/icons/sketch-bezier-symbolic.svg +0 -60
  330. rayforge-1.3/rayforge/resources/icons/sketch-bezier-symmetric-symbolic.svg +0 -67
  331. rayforge-1.3/rayforge/resources/icons/sketch-chamfer-symbolic.svg +0 -39
  332. rayforge-1.3/rayforge/resources/icons/sketch-circle-symbolic.svg +0 -38
  333. rayforge-1.3/rayforge/resources/icons/sketch-constrain-angle-symbolic.svg +0 -51
  334. rayforge-1.3/rayforge/resources/icons/sketch-constrain-aspect-symbolic.svg +0 -38
  335. rayforge-1.3/rayforge/resources/icons/sketch-constrain-equal-symbolic.svg +0 -39
  336. rayforge-1.3/rayforge/resources/icons/sketch-constrain-horizontal-symbolic.svg +0 -38
  337. rayforge-1.3/rayforge/resources/icons/sketch-constrain-perpendicular-symbolic.svg +0 -39
  338. rayforge-1.3/rayforge/resources/icons/sketch-constrain-point-symbolic.svg +0 -60
  339. rayforge-1.3/rayforge/resources/icons/sketch-constrain-symmetric-symbolic.svg +0 -43
  340. rayforge-1.3/rayforge/resources/icons/sketch-constrain-tangential-symbolic.svg +0 -48
  341. rayforge-1.3/rayforge/resources/icons/sketch-constrain-vertical-symbolic.svg +0 -38
  342. rayforge-1.3/rayforge/resources/icons/sketch-constrain-verticalhorizontal-symbolic.svg +0 -38
  343. rayforge-1.3/rayforge/resources/icons/sketch-construction-symbolic.svg +0 -39
  344. rayforge-1.3/rayforge/resources/icons/sketch-diameter-symbolic.svg +0 -42
  345. rayforge-1.3/rayforge/resources/icons/sketch-distance-symbolic.svg +0 -38
  346. rayforge-1.3/rayforge/resources/icons/sketch-edit-symbolic.svg +0 -39
  347. rayforge-1.3/rayforge/resources/icons/sketch-fill-symbolic.svg +0 -38
  348. rayforge-1.3/rayforge/resources/icons/sketch-fillet-symbolic.svg +0 -38
  349. rayforge-1.3/rayforge/resources/icons/sketch-grid-symbolic.svg +0 -39
  350. rayforge-1.3/rayforge/resources/icons/sketch-line-symbolic.svg +0 -38
  351. rayforge-1.3/rayforge/resources/icons/sketch-radius-symbolic.svg +0 -48
  352. rayforge-1.3/rayforge/resources/icons/sketch-rect-symbolic.svg +0 -42
  353. rayforge-1.3/rayforge/resources/icons/sketch-rounded-rect-symbolic.svg +0 -39
  354. rayforge-1.3/rayforge/resources/icons/sketch-select-symbolic.svg +0 -38
  355. rayforge-1.3/rayforge/resources/icons/sketch-text-symbolic.svg +0 -38
  356. rayforge-1.3/rayforge/resources/icons/skip-forward-symbolic.svg +0 -38
  357. rayforge-1.3/rayforge/resources/icons/skip-previous-symbolic.svg +0 -38
  358. rayforge-1.3/rayforge/resources/icons/sleep-symbolic.svg +0 -16
  359. rayforge-1.3/rayforge/resources/icons/status-check-symbolic.svg +0 -38
  360. rayforge-1.3/rayforge/resources/icons/status-connected-symbolic.svg +0 -38
  361. rayforge-1.3/rayforge/resources/icons/status-connecting-symbolic.svg +0 -44
  362. rayforge-1.3/rayforge/resources/icons/status-idle-symbolic.svg +0 -38
  363. rayforge-1.3/rayforge/resources/icons/status-offline-symbolic.svg +0 -38
  364. rayforge-1.3/rayforge/resources/icons/step-settings-symbolic.svg +0 -38
  365. rayforge-1.3/rayforge/resources/icons/stock-symbolic.svg +0 -16
  366. rayforge-1.3/rayforge/resources/icons/stop-symbolic.svg +0 -16
  367. rayforge-1.3/rayforge/resources/icons/tabs-equidistant-symbolic.svg +0 -17
  368. rayforge-1.3/rayforge/resources/icons/tabs-visible-symbolic.svg +0 -20
  369. rayforge-1.3/rayforge/resources/icons/test-symbolic.svg +0 -16
  370. rayforge-1.3/rayforge/resources/icons/timeline-symbolic.svg +0 -20
  371. rayforge-1.3/rayforge/resources/icons/timer-symbolic.svg +0 -38
  372. rayforge-1.3/rayforge/resources/icons/tool-change-symbolic.svg +0 -16
  373. rayforge-1.3/rayforge/resources/icons/top-left-symbolic.svg +0 -38
  374. rayforge-1.3/rayforge/resources/icons/top-right-symbolic.svg +0 -38
  375. rayforge-1.3/rayforge/resources/icons/travel-path-symbolic.svg +0 -38
  376. rayforge-1.3/rayforge/resources/icons/ui-settings-symbolic.svg +0 -38
  377. rayforge-1.3/rayforge/resources/icons/undo-symbolic.svg +0 -16
  378. rayforge-1.3/rayforge/resources/icons/unlocking-symbolic.svg +0 -16
  379. rayforge-1.3/rayforge/resources/icons/variable-symbolic.svg +0 -16
  380. rayforge-1.3/rayforge/resources/icons/visibility-off-symbolic.svg +0 -16
  381. rayforge-1.3/rayforge/resources/icons/visibility-on-symbolic.svg +0 -16
  382. rayforge-1.3/rayforge/resources/icons/warning-symbolic.svg +0 -16
  383. rayforge-1.3/rayforge/resources/icons/zero-here-symbolic.svg +0 -38
  384. rayforge-1.3/rayforge/resources/icons/zoom-fit-best-symbolic.svg +0 -38
  385. rayforge-1.3/rayforge/resources/icons/zoom-in-symbolic.svg +0 -38
  386. rayforge-1.3/rayforge/resources/icons/zoom-out-symbolic.svg +0 -38
  387. rayforge-1.3/rayforge/ui_gtk/shared/slider.py +0 -69
  388. rayforge-1.3/rayforge.egg-info/PKG-INFO +0 -114
  389. {rayforge-1.3 → rayforge-1.3.2}/LICENSE +0 -0
  390. {rayforge-1.3 → rayforge-1.3.2}/MANIFEST.in +0 -0
  391. {rayforge-1.3 → rayforge-1.3.2}/README.md +0 -0
  392. {rayforge-1.3 → rayforge-1.3.2}/data/org.rayforge.rayforge.desktop +0 -0
  393. {rayforge-1.3 → rayforge-1.3.2}/data/org.rayforge.rayforge.xml +0 -0
  394. {rayforge-1.3 → rayforge-1.3.2}/pyproject.toml +0 -0
  395. {rayforge-1.3 → rayforge-1.3.2}/rayforge/__init__.py +0 -0
  396. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/__init__.py +0 -0
  397. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/addon.py +0 -0
  398. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/addon_manager.py +0 -0
  399. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/lazy_loader.py +0 -0
  400. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/manifest.py +0 -0
  401. {rayforge-1.3 → rayforge-1.3.2}/rayforge/addon_mgr/update_cmd.py +0 -0
  402. {rayforge-1.3 → rayforge-1.3.2}/rayforge/app.py +0 -0
  403. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/__init__.py +0 -0
  404. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/backend.py +0 -0
  405. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/controller.py +0 -0
  406. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/frontend.py +0 -0
  407. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/generator.py +0 -0
  408. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/widgets/__init__.py +0 -0
  409. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/ai_workpiece_generator/widgets/dialog.py +0 -0
  410. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/ai_workpiece_generator.pot +0 -0
  411. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/de/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  412. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/de/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  413. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/en/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  414. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/en/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  415. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/es/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  416. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/es/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  417. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/fr/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  418. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/fr/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  419. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/pt/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  420. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/pt/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  421. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/uk/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  422. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/uk/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  423. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/zh_CN/LC_MESSAGES/ai_workpiece_generator.mo +0 -0
  424. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/locale/zh_CN/LC_MESSAGES/ai_workpiece_generator.po +0 -0
  425. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-ai-workpiece/rayforge-addon.yaml +0 -0
  426. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/__init__.py +0 -0
  427. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/backend.py +0 -0
  428. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/commands/__init__.py +0 -0
  429. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/commands/material_test_cmd.py +0 -0
  430. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/frontend.py +0 -0
  431. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/__init__.py +0 -0
  432. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/contour_producer.py +0 -0
  433. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/frame_producer.py +0 -0
  434. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/material_test_grid_producer.py +0 -0
  435. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/raster_producer.py +0 -0
  436. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/raster_util.py +0 -0
  437. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/producers/shrinkwrap_producer.py +0 -0
  438. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/__init__.py +0 -0
  439. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/contour_step.py +0 -0
  440. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/frame_step.py +0 -0
  441. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/material_test.py +0 -0
  442. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/raster_step.py +0 -0
  443. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/steps/shrinkwrap_step.py +0 -0
  444. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/__init__.py +0 -0
  445. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/contour_widget.py +0 -0
  446. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/frame_widget.py +0 -0
  447. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/material_test_grid_widget.py +0 -0
  448. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/laser_essentials/widgets/shrinkwrap_widget.py +0 -0
  449. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/de/LC_MESSAGES/laser_essentials.mo +0 -0
  450. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/de/LC_MESSAGES/laser_essentials.po +0 -0
  451. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/en/LC_MESSAGES/laser_essentials.mo +0 -0
  452. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/en/LC_MESSAGES/laser_essentials.po +0 -0
  453. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/es/LC_MESSAGES/laser_essentials.mo +0 -0
  454. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/es/LC_MESSAGES/laser_essentials.po +0 -0
  455. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/fr/LC_MESSAGES/laser_essentials.mo +0 -0
  456. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/fr/LC_MESSAGES/laser_essentials.po +0 -0
  457. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/laser_essentials.pot +0 -0
  458. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/pt/LC_MESSAGES/laser_essentials.mo +0 -0
  459. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/pt/LC_MESSAGES/laser_essentials.po +0 -0
  460. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/uk/LC_MESSAGES/laser_essentials.mo +0 -0
  461. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/uk/LC_MESSAGES/laser_essentials.po +0 -0
  462. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/zh_CN/LC_MESSAGES/laser_essentials.mo +0 -0
  463. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/locale/zh_CN/LC_MESSAGES/laser_essentials.po +0 -0
  464. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/rayforge-addon.yaml +0 -0
  465. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/conftest.py +0 -0
  466. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/producers/test_contour_producer.py +0 -0
  467. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/producers/test_material_test_grid_producer.py +0 -0
  468. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/producers/test_raster_producer.py +0 -0
  469. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/producers/test_raster_util.py +0 -0
  470. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/steps/test_contour_step.py +0 -0
  471. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/steps/test_frame_step.py +0 -0
  472. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/steps/test_material_test_step.py +0 -0
  473. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/steps/test_raster_step.py +0 -0
  474. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-laser/tests/steps/test_shrinkwrap_step.py +0 -0
  475. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/core_materials/__init__.py +0 -0
  476. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/core_materials/backend.py +0 -0
  477. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/__library__.yaml +0 -0
  478. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/abs.yaml +0 -0
  479. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic.yaml +0 -0
  480. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_black.yaml +0 -0
  481. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_blue.yaml +0 -0
  482. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_gray.yaml +0 -0
  483. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_green.yaml +0 -0
  484. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_orange.yaml +0 -0
  485. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_pink.yaml +0 -0
  486. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_purple.yaml +0 -0
  487. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_red.yaml +0 -0
  488. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_white.yaml +0 -0
  489. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/acrylic_yellow.yaml +0 -0
  490. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/aluminum.yaml +0 -0
  491. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/ash.yaml +0 -0
  492. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/bamboo.yaml +0 -0
  493. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/birch.yaml +0 -0
  494. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/brass.yaml +0 -0
  495. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/bronze.yaml +0 -0
  496. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/cardboard.yaml +0 -0
  497. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/cedar.yaml +0 -0
  498. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/ceramic.yaml +0 -0
  499. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/cherry.yaml +0 -0
  500. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/copper.yaml +0 -0
  501. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/cork.yaml +0 -0
  502. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/ebony.yaml +0 -0
  503. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/elm.yaml +0 -0
  504. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/fabric_canvas.yaml +0 -0
  505. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/fabric_cotton.yaml +0 -0
  506. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/fabric_denim.yaml +0 -0
  507. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/fabric_felt.yaml +0 -0
  508. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/foam.yaml +0 -0
  509. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/galvanized_steel.yaml +0 -0
  510. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/glass.yaml +0 -0
  511. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/granite.yaml +0 -0
  512. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/hdpe.yaml +0 -0
  513. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/hickory.yaml +0 -0
  514. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/lead.yaml +0 -0
  515. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/leather.yaml +0 -0
  516. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/mahogany.yaml +0 -0
  517. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/maple.yaml +0 -0
  518. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/marble.yaml +0 -0
  519. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/mdf.yaml +0 -0
  520. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/nickel.yaml +0 -0
  521. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/nylon.yaml +0 -0
  522. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/oak.yaml +0 -0
  523. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/paper.yaml +0 -0
  524. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/petg.yaml +0 -0
  525. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/pine.yaml +0 -0
  526. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/pla.yaml +0 -0
  527. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/plywood.yaml +0 -0
  528. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/polycarbonate.yaml +0 -0
  529. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/polyethylene.yaml +0 -0
  530. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/polypropylene.yaml +0 -0
  531. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/ptfe.yaml +0 -0
  532. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/pvc.yaml +0 -0
  533. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/rosewood.yaml +0 -0
  534. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/rubber.yaml +0 -0
  535. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/slate.yaml +0 -0
  536. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/slate_blue.yaml +0 -0
  537. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/spruce.yaml +0 -0
  538. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/stainless_steel.yaml +0 -0
  539. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/steel.yaml +0 -0
  540. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/stone.yaml +0 -0
  541. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/teak.yaml +0 -0
  542. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/titanium.yaml +0 -0
  543. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/walnut.yaml +0 -0
  544. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/materials/zinc.yaml +0 -0
  545. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-materials/rayforge-addon.yaml +0 -0
  546. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/de/LC_MESSAGES/post_processors.mo +0 -0
  547. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/de/LC_MESSAGES/post_processors.po +0 -0
  548. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/en/LC_MESSAGES/post_processors.mo +0 -0
  549. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/en/LC_MESSAGES/post_processors.po +0 -0
  550. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/es/LC_MESSAGES/post_processors.mo +0 -0
  551. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/es/LC_MESSAGES/post_processors.po +0 -0
  552. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/fr/LC_MESSAGES/post_processors.mo +0 -0
  553. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/fr/LC_MESSAGES/post_processors.po +0 -0
  554. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/post_processors.pot +0 -0
  555. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/pt/LC_MESSAGES/post_processors.mo +0 -0
  556. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/pt/LC_MESSAGES/post_processors.po +0 -0
  557. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/uk/LC_MESSAGES/post_processors.mo +0 -0
  558. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/uk/LC_MESSAGES/post_processors.po +0 -0
  559. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/zh_CN/LC_MESSAGES/post_processors.mo +0 -0
  560. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/locale/zh_CN/LC_MESSAGES/post_processors.po +0 -0
  561. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/__init__.py +0 -0
  562. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/backend.py +0 -0
  563. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/frontend.py +0 -0
  564. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/__init__.py +0 -0
  565. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/crop_transformer.py +0 -0
  566. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/multipass_transformer.py +0 -0
  567. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/optimize_transformer.py +0 -0
  568. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/overscan_transformer.py +0 -0
  569. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/smooth_transformer.py +0 -0
  570. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/transformers/tabs_transformer.py +0 -0
  571. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/__init__.py +0 -0
  572. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/crop_widget.py +0 -0
  573. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/multipass_widget.py +0 -0
  574. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/optimize_widget.py +0 -0
  575. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/overscan_widget.py +0 -0
  576. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/post_processors/widgets/smooth_widget.py +0 -0
  577. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/rayforge-addon.yaml +0 -0
  578. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/conftest.py +0 -0
  579. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/transformers/test_crop_transformer.py +0 -0
  580. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/transformers/test_multipass_transformer.py +0 -0
  581. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/transformers/test_optimize_transformer.py +0 -0
  582. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/transformers/test_overscan_transformer.py +0 -0
  583. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-post/tests/transformers/test_smooth_transformer.py +0 -0
  584. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/de/LC_MESSAGES/sketcher.mo +0 -0
  585. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/de/LC_MESSAGES/sketcher.po +0 -0
  586. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/en/LC_MESSAGES/sketcher.mo +0 -0
  587. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/en/LC_MESSAGES/sketcher.po +0 -0
  588. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/es/LC_MESSAGES/sketcher.mo +0 -0
  589. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/es/LC_MESSAGES/sketcher.po +0 -0
  590. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/fr/LC_MESSAGES/sketcher.mo +0 -0
  591. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/fr/LC_MESSAGES/sketcher.po +0 -0
  592. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/pt/LC_MESSAGES/sketcher.mo +0 -0
  593. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/pt/LC_MESSAGES/sketcher.po +0 -0
  594. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/sketcher.pot +0 -0
  595. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/uk/LC_MESSAGES/sketcher.mo +0 -0
  596. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/uk/LC_MESSAGES/sketcher.po +0 -0
  597. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/zh_CN/LC_MESSAGES/sketcher.mo +0 -0
  598. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/locale/zh_CN/LC_MESSAGES/sketcher.po +0 -0
  599. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/rayforge-addon.yaml +0 -0
  600. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/__init__.py +0 -0
  601. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/backend.py +0 -0
  602. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/__init__.py +0 -0
  603. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/__init__.py +0 -0
  604. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/angle_constraint.py +0 -0
  605. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/arc.py +0 -0
  606. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/base.py +0 -0
  607. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/bezier.py +0 -0
  608. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/chamfer.py +0 -0
  609. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/circle.py +0 -0
  610. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/constraint.py +0 -0
  611. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/constraint_create.py +0 -0
  612. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/construction.py +0 -0
  613. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/dimension.py +0 -0
  614. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/distance_constraint.py +0 -0
  615. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/equal_constraint.py +0 -0
  616. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/fill.py +0 -0
  617. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/fillet.py +0 -0
  618. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/grid.py +0 -0
  619. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/items.py +0 -0
  620. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/line.py +0 -0
  621. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/live_text_edit.py +0 -0
  622. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/point.py +0 -0
  623. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/rectangle.py +0 -0
  624. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/rounded_rect.py +0 -0
  625. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/straighten.py +0 -0
  626. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/symmetry_constraint.py +0 -0
  627. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/tangent_constraint.py +0 -0
  628. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/text_box.py +0 -0
  629. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/text_property.py +0 -0
  630. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/commands/waypoint.py +0 -0
  631. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/__init__.py +0 -0
  632. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/angle.py +0 -0
  633. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/aspect_ratio.py +0 -0
  634. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/base.py +0 -0
  635. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/coincident.py +0 -0
  636. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/collinear.py +0 -0
  637. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/diameter.py +0 -0
  638. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/distance.py +0 -0
  639. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/drag.py +0 -0
  640. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/equal_distance.py +0 -0
  641. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/equal_length.py +0 -0
  642. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/horizontal.py +0 -0
  643. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/parallelogram.py +0 -0
  644. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/perpendicular.py +0 -0
  645. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/point_on_line.py +0 -0
  646. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/radius.py +0 -0
  647. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/symmetry.py +0 -0
  648. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/tangent.py +0 -0
  649. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/constraints/vertical.py +0 -0
  650. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/__init__.py +0 -0
  651. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/arc.py +0 -0
  652. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/bezier.py +0 -0
  653. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/circle.py +0 -0
  654. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/entity.py +0 -0
  655. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/line.py +0 -0
  656. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/point.py +0 -0
  657. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/entities/text_box.py +0 -0
  658. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/params.py +0 -0
  659. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/registry.py +0 -0
  660. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/selection.py +0 -0
  661. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/sketch.py +0 -0
  662. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/solver.py +0 -0
  663. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/core/types.py +0 -0
  664. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/frontend.py +0 -0
  665. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/image/__init__.py +0 -0
  666. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/image/exporter.py +0 -0
  667. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/image/importer.py +0 -0
  668. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/image/renderer.py +0 -0
  669. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/__init__.py +0 -0
  670. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/asset_row_widget.py +0 -0
  671. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/conflicts_widget.py +0 -0
  672. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/editor.py +0 -0
  673. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/font_properties.py +0 -0
  674. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/hittest.py +0 -0
  675. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/menu.py +0 -0
  676. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/piemenu.py +0 -0
  677. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/property_provider.py +0 -0
  678. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/renderer.py +0 -0
  679. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/sketch_cmd.py +0 -0
  680. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/sketch_mode_cmd.py +0 -0
  681. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/sketchcanvas.py +0 -0
  682. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/sketchelement.py +0 -0
  683. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/angle_constraint_tool.py +0 -0
  684. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/aspect_ratio_constraint_tool.py +0 -0
  685. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/chamfer_tool.py +0 -0
  686. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/coincident_constraint_tool.py +0 -0
  687. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/construction_tool.py +0 -0
  688. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/delete_tool.py +0 -0
  689. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/diameter_constraint_tool.py +0 -0
  690. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/dimension_input.py +0 -0
  691. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/distance_constraint_tool.py +0 -0
  692. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/equal_constraint_tool.py +0 -0
  693. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/fillet_tool.py +0 -0
  694. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/grid_tool.py +0 -0
  695. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/horizontal_constraint_tool.py +0 -0
  696. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/perpendicular_constraint_tool.py +0 -0
  697. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/radius_constraint_tool.py +0 -0
  698. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/rectangle_tool.py +0 -0
  699. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/rounded_rect_tool.py +0 -0
  700. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/straighten_tool.py +0 -0
  701. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/symmetry_constraint_tool.py +0 -0
  702. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/tangent_constraint_tool.py +0 -0
  703. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/text_box_tool.py +0 -0
  704. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/vertical_constraint_tool.py +0 -0
  705. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/waypoint_sharp_tool.py +0 -0
  706. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/waypoint_smooth_tool.py +0 -0
  707. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/sketcher/ui_gtk/tools/waypoint_symmetric_tool.py +0 -0
  708. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/conftest.py +0 -0
  709. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_angle_constraint_cmd.py +0 -0
  710. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_arc_cmd.py +0 -0
  711. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_base_cmd.py +0 -0
  712. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_chamfer_cmd.py +0 -0
  713. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_circle_cmd.py +0 -0
  714. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_constraint_cmd.py +0 -0
  715. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_constraint_create_cmd.py +0 -0
  716. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_construction_cmd.py +0 -0
  717. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_distance_constraint_cmd.py +0 -0
  718. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_equal_constraint_cmd.py +0 -0
  719. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_fill_cmd.py +0 -0
  720. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_fillet_cmd.py +0 -0
  721. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_grid_cmd.py +0 -0
  722. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_items_cmd.py +0 -0
  723. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_line_cmd.py +0 -0
  724. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_live_text_edit_cmd.py +0 -0
  725. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_point_cmd.py +0 -0
  726. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_rectangle_cmd.py +0 -0
  727. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_rounded_rect_cmd.py +0 -0
  728. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_straighten_cmd.py +0 -0
  729. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_symmetry_constraint_cmd.py +0 -0
  730. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_tangent_constraint_cmd.py +0 -0
  731. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_text_box_cmd.py +0 -0
  732. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/commands/test_text_property_cmd.py +0 -0
  733. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_angle_constraint.py +0 -0
  734. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_aspect_ratio_constraint.py +0 -0
  735. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_coincident_constraint.py +0 -0
  736. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_collinear_constraint.py +0 -0
  737. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_diameter_constraint.py +0 -0
  738. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_distance_constraint.py +0 -0
  739. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_drag_constraint.py +0 -0
  740. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_equal_distance_constraint.py +0 -0
  741. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_equal_length_constraint.py +0 -0
  742. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_horizontal_constraint.py +0 -0
  743. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_parallelogram_constraint.py +0 -0
  744. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_perpendicular_constraint.py +0 -0
  745. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_point_on_line_constraint.py +0 -0
  746. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_radius_constraint.py +0 -0
  747. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_symmetry_constraint.py +0 -0
  748. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_tangent_constraint.py +0 -0
  749. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/constraints/test_vertical_constraint.py +0 -0
  750. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_arc_entity.py +0 -0
  751. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_bezier_entity.py +0 -0
  752. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_circle_entity.py +0 -0
  753. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_entity_registry.py +0 -0
  754. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_line_entity.py +0 -0
  755. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_point.py +0 -0
  756. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/entities/test_text_box_entity.py +0 -0
  757. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/sketcherapp.py +0 -0
  758. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_constraint_conflicts.py +0 -0
  759. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketch_fill_methods.py +0 -0
  760. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketch_from_geometry.py +0 -0
  761. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketch_properties.py +0 -0
  762. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketcher_params.py +0 -0
  763. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketcher_selection.py +0 -0
  764. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketcher_sketch.py +0 -0
  765. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/core/test_sketcher_solver.py +0 -0
  766. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/image/test_sketch_exporter.py +0 -0
  767. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/image/test_sketch_importer.py +0 -0
  768. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/test_sketcher_asset_cmd.py +0 -0
  769. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/test_sketcher_commands.py +0 -0
  770. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/test_sketcher_file_cmd.py +0 -0
  771. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/test_sketcher_workpiece.py +0 -0
  772. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/test_text_box.py +0 -0
  773. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_arc_tool.py +0 -0
  774. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_base_tool.py +0 -0
  775. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_circle_tool.py +0 -0
  776. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_fill_tool.py +0 -0
  777. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_grid_tool.py +0 -0
  778. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_path_tool.py +0 -0
  779. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_rectangle_tool.py +0 -0
  780. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_rounded_rect_tool.py +0 -0
  781. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_select_tool.py +0 -0
  782. {rayforge-1.3 → rayforge-1.3.2}/rayforge/builtin_addons/rayforge-addon-sketcher/tests/ui_gtk/tools/test_text_box_tool.py +0 -0
  783. {rayforge-1.3 → rayforge-1.3.2}/rayforge/camera/__init__.py +0 -0
  784. {rayforge-1.3 → rayforge-1.3.2}/rayforge/camera/controller.py +0 -0
  785. {rayforge-1.3 → rayforge-1.3.2}/rayforge/camera/manager.py +0 -0
  786. {rayforge-1.3 → rayforge-1.3.2}/rayforge/camera/models/__init__.py +0 -0
  787. {rayforge-1.3 → rayforge-1.3.2}/rayforge/camera/models/camera.py +0 -0
  788. {rayforge-1.3 → rayforge-1.3.2}/rayforge/config.py +0 -0
  789. {rayforge-1.3 → rayforge-1.3.2}/rayforge/const.py +0 -0
  790. {rayforge-1.3 → rayforge-1.3.2}/rayforge/context.py +0 -0
  791. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/__init__.py +0 -0
  792. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/addon_config.py +0 -0
  793. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ai/__init__.py +0 -0
  794. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ai/ai_service.py +0 -0
  795. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ai/config.py +0 -0
  796. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ai/openai_provider.py +0 -0
  797. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ai/provider.py +0 -0
  798. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/asset.py +0 -0
  799. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/asset_registry.py +0 -0
  800. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/capability.py +0 -0
  801. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/config.py +0 -0
  802. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/doc.py +0 -0
  803. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/__init__.py +0 -0
  804. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/context.py +0 -0
  805. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/errors.py +0 -0
  806. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/evaluator.py +0 -0
  807. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/parser.py +0 -0
  808. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/tokenizer.py +0 -0
  809. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/expression/validator.py +0 -0
  810. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/__init__.py +0 -0
  811. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/analysis.py +0 -0
  812. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/cleanup.py +0 -0
  813. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/clipping.py +0 -0
  814. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/constants.py +0 -0
  815. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/contours.py +0 -0
  816. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/fitting.py +0 -0
  817. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/font_config.py +0 -0
  818. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/geometry.py +0 -0
  819. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/intersect.py +0 -0
  820. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/linearize.py +0 -0
  821. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/minkowski.py +0 -0
  822. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/polygon.py +0 -0
  823. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/primitives.py +0 -0
  824. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/query.py +0 -0
  825. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/simplify.py +0 -0
  826. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/smooth.py +0 -0
  827. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/split.py +0 -0
  828. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/text.py +0 -0
  829. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/transform.py +0 -0
  830. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geo/types.py +0 -0
  831. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/geometry_provider.py +0 -0
  832. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/group.py +0 -0
  833. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/hooks.py +0 -0
  834. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/item.py +0 -0
  835. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/layer.py +0 -0
  836. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/library_manager.py +0 -0
  837. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/material.py +0 -0
  838. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/material_library.py +0 -0
  839. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/matrix.py +0 -0
  840. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/__init__.py +0 -0
  841. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/commands.py +0 -0
  842. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/container.py +0 -0
  843. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/flip.py +0 -0
  844. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/group.py +0 -0
  845. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/ops/timing.py +0 -0
  846. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/recipe.py +0 -0
  847. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/recipe_manager.py +0 -0
  848. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/source_asset.py +0 -0
  849. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/source_asset_segment.py +0 -0
  850. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/step.py +0 -0
  851. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/step_registry.py +0 -0
  852. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/stock.py +0 -0
  853. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/stock_asset.py +0 -0
  854. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/tab.py +0 -0
  855. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/__init__.py +0 -0
  856. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/command.py +0 -0
  857. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/composite_cmd.py +0 -0
  858. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/dict_cmd.py +0 -0
  859. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/history.py +0 -0
  860. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/list_cmd.py +0 -0
  861. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/property_cmd.py +0 -0
  862. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/undo/setter_cmd.py +0 -0
  863. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/__init__.py +0 -0
  864. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/baudratevar.py +0 -0
  865. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/boolvar.py +0 -0
  866. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/choicevar.py +0 -0
  867. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/floatvar.py +0 -0
  868. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/hostnamevar.py +0 -0
  869. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/intvar.py +0 -0
  870. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/portvar.py +0 -0
  871. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/serialportvar.py +0 -0
  872. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/textareavar.py +0 -0
  873. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/urlvar.py +0 -0
  874. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/var.py +0 -0
  875. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/varset/varset.py +0 -0
  876. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/vectorization_spec.py +0 -0
  877. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/workflow.py +0 -0
  878. {rayforge-1.3 → rayforge-1.3.2}/rayforge/core/workpiece.py +0 -0
  879. {rayforge-1.3 → rayforge-1.3.2}/rayforge/debug.py +0 -0
  880. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/__init__.py +0 -0
  881. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/asset_cmd.py +0 -0
  882. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/command_registry.py +0 -0
  883. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/edit_cmd.py +0 -0
  884. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/editor.py +0 -0
  885. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/file_cmd.py +0 -0
  886. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/group_cmd.py +0 -0
  887. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layer_cmd.py +0 -0
  888. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/__init__.py +0 -0
  889. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/align.py +0 -0
  890. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/auto.py +0 -0
  891. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/base.py +0 -0
  892. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/registry.py +0 -0
  893. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout/spread.py +0 -0
  894. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/layout_cmd.py +0 -0
  895. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/split_cmd.py +0 -0
  896. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/step_cmd.py +0 -0
  897. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/stock_cmd.py +0 -0
  898. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/tab_cmd.py +0 -0
  899. {rayforge-1.3 → rayforge-1.3.2}/rayforge/doceditor/transform_cmd.py +0 -0
  900. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/__init__.py +0 -0
  901. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/assembler.py +0 -0
  902. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/base_exporter.py +0 -0
  903. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/base_importer.py +0 -0
  904. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/base_renderer.py +0 -0
  905. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/bmp/__init__.py +0 -0
  906. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/bmp/importer.py +0 -0
  907. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/bmp/parser.py +0 -0
  908. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/bmp/renderer.py +0 -0
  909. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/denoise.py +0 -0
  910. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/dither.py +0 -0
  911. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/dxf/__init__.py +0 -0
  912. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/dxf/exporter.py +0 -0
  913. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/dxf/importer.py +0 -0
  914. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/dxf/renderer.py +0 -0
  915. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/engine.py +0 -0
  916. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/hull.py +0 -0
  917. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/jpg/__init__.py +0 -0
  918. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/jpg/importer.py +0 -0
  919. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/jpg/renderer.py +0 -0
  920. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/material_test_grid_renderer.py +0 -0
  921. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ops_renderer.py +0 -0
  922. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/pdf/__init__.py +0 -0
  923. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/pdf/importer.py +0 -0
  924. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/pdf/renderer.py +0 -0
  925. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/png/__init__.py +0 -0
  926. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/png/importer.py +0 -0
  927. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/png/renderer.py +0 -0
  928. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/procedural/__init__.py +0 -0
  929. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/procedural/importer.py +0 -0
  930. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/procedural/renderer.py +0 -0
  931. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/registry.py +0 -0
  932. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ruida/__init__.py +0 -0
  933. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ruida/importer.py +0 -0
  934. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ruida/job.py +0 -0
  935. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ruida/parser.py +0 -0
  936. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/ruida/renderer.py +0 -0
  937. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/structures.py +0 -0
  938. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/__init__.py +0 -0
  939. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/exporter.py +0 -0
  940. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/importer.py +0 -0
  941. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/renderer.py +0 -0
  942. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/svg_base.py +0 -0
  943. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/svg_fallback.py +0 -0
  944. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/svg_trace.py +0 -0
  945. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/svg_vector.py +0 -0
  946. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/svg/svgutil.py +0 -0
  947. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/tracing.py +0 -0
  948. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/util/__init__.py +0 -0
  949. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/util/grayscale.py +0 -0
  950. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/util/transparency.py +0 -0
  951. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/util/unit.py +0 -0
  952. {rayforge-1.3 → rayforge-1.3.2}/rayforge/image/util/vips.py +0 -0
  953. {rayforge-1.3 → rayforge-1.3.2}/rayforge/license/__init__.py +0 -0
  954. {rayforge-1.3 → rayforge-1.3.2}/rayforge/license/gumroad_provider.py +0 -0
  955. {rayforge-1.3 → rayforge-1.3.2}/rayforge/license/patreon_provider.py +0 -0
  956. {rayforge-1.3 → rayforge-1.3.2}/rayforge/license/provider.py +0 -0
  957. {rayforge-1.3 → rayforge-1.3.2}/rayforge/license/validator.py +0 -0
  958. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/de/LC_MESSAGES/rayforge.mo +0 -0
  959. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/en/LC_MESSAGES/rayforge.mo +0 -0
  960. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/es/LC_MESSAGES/rayforge.mo +0 -0
  961. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/fr/LC_MESSAGES/rayforge.mo +0 -0
  962. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/pt/LC_MESSAGES/rayforge.mo +0 -0
  963. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/uk/LC_MESSAGES/rayforge.mo +0 -0
  964. {rayforge-1.3 → rayforge-1.3.2}/rayforge/locale/zh_CN/LC_MESSAGES/rayforge.mo +0 -0
  965. {rayforge-1.3 → rayforge-1.3.2}/rayforge/logging_setup.py +0 -0
  966. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/__init__.py +0 -0
  967. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/cmd.py +0 -0
  968. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/__init__.py +0 -0
  969. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/driver.py +0 -0
  970. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/dummy.py +0 -0
  971. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/grbl.py +0 -0
  972. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/grbl_util.py +0 -0
  973. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/ruida/__init__.py +0 -0
  974. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/ruida/ruida_framing.py +0 -0
  975. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/ruida/ruida_maps.py +0 -0
  976. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/ruida/ruida_util.py +0 -0
  977. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/driver/smoothie.py +0 -0
  978. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/job_monitor.py +0 -0
  979. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/__init__.py +0 -0
  980. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/colors.py +0 -0
  981. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/controller.py +0 -0
  982. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/__init__.py +0 -0
  983. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/base.py +0 -0
  984. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/grbl.py +0 -0
  985. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/grbl_dynamic.py +0 -0
  986. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/mach4_m67.py +0 -0
  987. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/marlin.py +0 -0
  988. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect/smoothieware.py +0 -0
  989. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/dialect_manager.py +0 -0
  990. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/laser.py +0 -0
  991. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/machine_hours.py +0 -0
  992. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/macro.py +0 -0
  993. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/manager.py +0 -0
  994. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/models/profile.py +0 -0
  995. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/__init__.py +0 -0
  996. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/http.py +0 -0
  997. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/serial.py +0 -0
  998. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/serial_server.py +0 -0
  999. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/telnet.py +0 -0
  1000. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/transport.py +0 -0
  1001. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/udp.py +0 -0
  1002. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/udp_server.py +0 -0
  1003. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/validators.py +0 -0
  1004. {rayforge-1.3 → rayforge-1.3.2}/rayforge/machine/transport/websocket.py +0 -0
  1005. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/__init__.py +0 -0
  1006. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/__init__.py +0 -0
  1007. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/base.py +0 -0
  1008. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/handle.py +0 -0
  1009. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/job.py +0 -0
  1010. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/key.py +0 -0
  1011. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/lifecycle.py +0 -0
  1012. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/manager.py +0 -0
  1013. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/step_ops.py +0 -0
  1014. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/step_render.py +0 -0
  1015. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/store.py +0 -0
  1016. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/workpiece.py +0 -0
  1017. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/artifact/workpiece_view.py +0 -0
  1018. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/context.py +0 -0
  1019. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/coord.py +0 -0
  1020. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/coordspace.py +0 -0
  1021. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/dag/__init__.py +0 -0
  1022. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/dag/graph.py +0 -0
  1023. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/dag/node.py +0 -0
  1024. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/dag/scheduler.py +0 -0
  1025. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/__init__.py +0 -0
  1026. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/base.py +0 -0
  1027. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/cairoencoder.py +0 -0
  1028. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/context.py +0 -0
  1029. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/gcode.py +0 -0
  1030. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/textureencoder.py +0 -0
  1031. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/encoder/vertexencoder.py +0 -0
  1032. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/pipeline.py +0 -0
  1033. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/producer/__init__.py +0 -0
  1034. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/producer/base.py +0 -0
  1035. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/producer/placeholder.py +0 -0
  1036. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/producer/registry.py +0 -0
  1037. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/__init__.py +0 -0
  1038. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/base.py +0 -0
  1039. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/job_compute.py +0 -0
  1040. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/job_runner.py +0 -0
  1041. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/job_stage.py +0 -0
  1042. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/step_compute.py +0 -0
  1043. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/step_runner.py +0 -0
  1044. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/step_stage.py +0 -0
  1045. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/workpiece_compute.py +0 -0
  1046. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/workpiece_runner.py +0 -0
  1047. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/stage/workpiece_stage.py +0 -0
  1048. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/steps/__init__.py +0 -0
  1049. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/transformer/__init__.py +0 -0
  1050. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/transformer/base.py +0 -0
  1051. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/transformer/placeholder.py +0 -0
  1052. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/transformer/registry.py +0 -0
  1053. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/view/__init__.py +0 -0
  1054. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/view/view_compute.py +0 -0
  1055. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/view/view_manager.py +0 -0
  1056. {rayforge-1.3 → rayforge-1.3.2}/rayforge/pipeline/view/view_runner.py +0 -0
  1057. {rayforge-1.3 → rayforge-1.3.2}/rayforge/resources/icons/org.rayforge.rayforge.svg +0 -0
  1058. {rayforge-1.3 → rayforge-1.3.2}/rayforge/resources/icons/rayforge.icns +0 -0
  1059. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/__init__.py +0 -0
  1060. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/gcodeedit/__init__.py +0 -0
  1061. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/gcodeedit/editor.py +0 -0
  1062. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/gcodeedit/highlighter.py +0 -0
  1063. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/gcodeedit/viewer.py +0 -0
  1064. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/__init__.py +0 -0
  1065. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/context.py +0 -0
  1066. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/manager.py +0 -0
  1067. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/pool.py +0 -0
  1068. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/progress.py +0 -0
  1069. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/proxy.py +0 -0
  1070. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/tasker/task.py +0 -0
  1071. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/units/__init__.py +0 -0
  1072. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/units/definitions.py +0 -0
  1073. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/units/engine.py +0 -0
  1074. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/units/formatter.py +0 -0
  1075. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/__init__.py +0 -0
  1076. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/cache.py +0 -0
  1077. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/colors.py +0 -0
  1078. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/debug.py +0 -0
  1079. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/glib.py +0 -0
  1080. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/localized.py +0 -0
  1081. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/once.py +0 -0
  1082. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/po_compiler.py +0 -0
  1083. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/size.py +0 -0
  1084. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/template.py +0 -0
  1085. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/time_format.py +0 -0
  1086. {rayforge-1.3 → rayforge-1.3.2}/rayforge/shared/util/versioning.py +0 -0
  1087. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/__init__.py +0 -0
  1088. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/about.py +0 -0
  1089. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/action_registry.py +0 -0
  1090. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/actions.py +0 -0
  1091. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/addon_manager/__init__.py +0 -0
  1092. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/addon_manager/addon_dialog.py +0 -0
  1093. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/addon_manager/addon_list.py +0 -0
  1094. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/addon_manager/license_dialog.py +0 -0
  1095. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/__init__.py +0 -0
  1096. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/alignment_dialog.py +0 -0
  1097. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/camera_preferences_page.py +0 -0
  1098. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/display_widget.py +0 -0
  1099. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/image_settings_dialog.py +0 -0
  1100. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/point_bubble_widget.py +0 -0
  1101. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/properties_widget.py +0 -0
  1102. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/camera/selection_dialog.py +0 -0
  1103. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/__init__.py +0 -0
  1104. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/axis.py +0 -0
  1105. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/canvas.py +0 -0
  1106. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/cursor.py +0 -0
  1107. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/element.py +0 -0
  1108. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/hittest.py +0 -0
  1109. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/intersect.py +0 -0
  1110. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/multiselect.py +0 -0
  1111. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/overlays.py +0 -0
  1112. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/region.py +0 -0
  1113. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/shrinkwrap.py +0 -0
  1114. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/transform.py +0 -0
  1115. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas/worldsurface.py +0 -0
  1116. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/__init__.py +0 -0
  1117. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/context_menu.py +0 -0
  1118. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/drag_drop_cmd.py +0 -0
  1119. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/__init__.py +0 -0
  1120. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/axis_extent_frame.py +0 -0
  1121. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/camera_image.py +0 -0
  1122. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/dot.py +0 -0
  1123. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/group.py +0 -0
  1124. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/layer.py +0 -0
  1125. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/simulation_overlay.py +0 -0
  1126. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/step.py +0 -0
  1127. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/stock.py +0 -0
  1128. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/tab_handle.py +0 -0
  1129. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/work_origin.py +0 -0
  1130. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/elements/workpiece.py +0 -0
  1131. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/simulation_controls.py +0 -0
  1132. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/simulator_cmd.py +0 -0
  1133. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas2d/surface.py +0 -0
  1134. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/__init__.py +0 -0
  1135. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/axis_renderer_3d.py +0 -0
  1136. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/camera.py +0 -0
  1137. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/canvas3d.py +0 -0
  1138. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/gl_utils.py +0 -0
  1139. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/ops_renderer.py +0 -0
  1140. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/plane_renderer.py +0 -0
  1141. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/scene_assembler.py +0 -0
  1142. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/shaders.py +0 -0
  1143. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/sphere_renderer.py +0 -0
  1144. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/text_renderer_3d.py +0 -0
  1145. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/canvas3d/texture_renderer.py +0 -0
  1146. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/__init__.py +0 -0
  1147. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/add_material_dialog.py +0 -0
  1148. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/add_tabs_popover.py +0 -0
  1149. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/asset_list_view.py +0 -0
  1150. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/asset_row_factory.py +0 -0
  1151. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/asset_row_widget.py +0 -0
  1152. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/edit_recipe_dialog.py +0 -0
  1153. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/file_dialogs.py +0 -0
  1154. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/image_metadata_dialog.py +0 -0
  1155. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/import_dialog.py +0 -0
  1156. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/import_handler.py +0 -0
  1157. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/item_properties.py +0 -0
  1158. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/layer_list.py +0 -0
  1159. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/layer_view.py +0 -0
  1160. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/material_library_list.py +0 -0
  1161. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/material_list.py +0 -0
  1162. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/material_selector.py +0 -0
  1163. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/missing_features_dialog.py +0 -0
  1164. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/property_providers/__init__.py +0 -0
  1165. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/property_providers/base.py +0 -0
  1166. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/property_providers/transform.py +0 -0
  1167. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/property_providers/workpiece.py +0 -0
  1168. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/recipe_control_widget.py +0 -0
  1169. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/recipe_list.py +0 -0
  1170. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/recipe_selector_dialog.py +0 -0
  1171. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/step_box.py +0 -0
  1172. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/step_settings/__init__.py +0 -0
  1173. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/step_settings/base.py +0 -0
  1174. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/step_settings/placeholder.py +0 -0
  1175. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/step_settings_dialog.py +0 -0
  1176. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/stock_properties_dialog.py +0 -0
  1177. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/doceditor/workflow_view.py +0 -0
  1178. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/icons.py +0 -0
  1179. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/__init__.py +0 -0
  1180. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/advanced_preferences_page.py +0 -0
  1181. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/connection_status_widget.py +0 -0
  1182. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/console.py +0 -0
  1183. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/control_panel.py +0 -0
  1184. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/device_settings_page.py +0 -0
  1185. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/dialect_editor.py +0 -0
  1186. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/dialect_list.py +0 -0
  1187. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/gcode_editor.py +0 -0
  1188. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/gcode_settings_page.py +0 -0
  1189. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/general_preferences_page.py +0 -0
  1190. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/hardware_page.py +0 -0
  1191. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/hook_list.py +0 -0
  1192. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/hooks_macros_page.py +0 -0
  1193. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/jog_widget.py +0 -0
  1194. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/laser_preferences_page.py +0 -0
  1195. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/machine_selector.py +0 -0
  1196. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/macro_list.py +0 -0
  1197. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/maintenance_page.py +0 -0
  1198. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/profile_selector.py +0 -0
  1199. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/settings_dialog.py +0 -0
  1200. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/machine/status_widget.py +0 -0
  1201. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/main_menu.py +0 -0
  1202. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/mainwindow.py +0 -0
  1203. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/project_cmd.py +0 -0
  1204. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/__init__.py +0 -0
  1205. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/addon_manager_page.py +0 -0
  1206. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/ai_settings_page.py +0 -0
  1207. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/general_preferences_page.py +0 -0
  1208. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/license_settings_page.py +0 -0
  1209. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/machine_settings_page.py +0 -0
  1210. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/material_manager_page.py +0 -0
  1211. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/recipe_manager_page.py +0 -0
  1212. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/settings/settings_dialog.py +0 -0
  1213. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/__init__.py +0 -0
  1214. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/adwfix.py +0 -0
  1215. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/direction_preview.py +0 -0
  1216. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/draglist.py +0 -0
  1217. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/expander.py +0 -0
  1218. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/expression_entry.py +0 -0
  1219. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/gtk.py +0 -0
  1220. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/gtk_color.py +0 -0
  1221. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/histogram_preview.py +0 -0
  1222. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/key.py +0 -0
  1223. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/keyboard.py +0 -0
  1224. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/optional_spin_row.py +0 -0
  1225. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/patched_dialog_window.py +0 -0
  1226. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/piemenu.py +0 -0
  1227. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/popover_menu.py +0 -0
  1228. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/preferences_group.py +0 -0
  1229. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/preferences_page.py +0 -0
  1230. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/progress_bar.py +0 -0
  1231. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/round_button.py +0 -0
  1232. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/shortcut.py +0 -0
  1233. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/splitbutton.py +0 -0
  1234. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/status_bar.py +0 -0
  1235. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/undo_button.py +0 -0
  1236. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/unit_spin_row.py +0 -0
  1237. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/shared/usage_consent_dialog.py +0 -0
  1238. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/task_bar.py +0 -0
  1239. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/toolbar.py +0 -0
  1240. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/varset/__init__.py +0 -0
  1241. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/varset/var_row_factory.py +0 -0
  1242. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/varset/varset_editor.py +0 -0
  1243. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/varset/varsetwidget.py +0 -0
  1244. {rayforge-1.3 → rayforge-1.3.2}/rayforge/ui_gtk/view_mode_cmd.py +0 -0
  1245. {rayforge-1.3 → rayforge-1.3.2}/rayforge/uiscript.py +0 -0
  1246. {rayforge-1.3 → rayforge-1.3.2}/rayforge/usage.py +0 -0
  1247. {rayforge-1.3 → rayforge-1.3.2}/rayforge/version.py +0 -0
  1248. {rayforge-1.3 → rayforge-1.3.2}/rayforge/worker_init.py +0 -0
  1249. {rayforge-1.3 → rayforge-1.3.2}/rayforge.egg-info/SOURCES.txt +0 -0
  1250. {rayforge-1.3 → rayforge-1.3.2}/rayforge.egg-info/dependency_links.txt +0 -0
  1251. {rayforge-1.3 → rayforge-1.3.2}/rayforge.egg-info/entry_points.txt +0 -0
  1252. {rayforge-1.3 → rayforge-1.3.2}/rayforge.egg-info/requires.txt +0 -0
  1253. {rayforge-1.3 → rayforge-1.3.2}/rayforge.egg-info/top_level.txt +0 -0
  1254. {rayforge-1.3 → rayforge-1.3.2}/requirements.txt +0 -0
  1255. {rayforge-1.3 → rayforge-1.3.2}/setup.cfg +0 -0
@@ -0,0 +1,114 @@
1
+ Metadata-Version: 2.4
2
+ Name: rayforge
3
+ Version: 1.3.2
4
+ Summary: A desktop application for laser cutting and engraving
5
+ Author-email: Samuel Abels <knipknap@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/barebaric/rayforge
8
+ Project-URL: Bug Tracker, https://github.com/barebaric/rayforge/issues
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: POSIX :: Linux
11
+ Classifier: Intended Audience :: End Users/Desktop
12
+ Classifier: Intended Audience :: Manufacturing
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: aiohttp==3.13.3
17
+ Requires-Dist: asyncudp==0.11.0
18
+ Requires-Dist: blinker==1.9.0
19
+ Requires-Dist: ezdxf==1.4.2
20
+ Requires-Dist: GitPython==3.1.44
21
+ Requires-Dist: numpy==2.3.4
22
+ Requires-Dist: opencv_python
23
+ Requires-Dist: platformdirs==4.3.6
24
+ Requires-Dist: pluggy==1.6.0
25
+ Requires-Dist: pycairo==1.28.0
26
+ Requires-Dist: pyclipper==1.3.0.post6
27
+ Requires-Dist: PyGObject==3.50.0
28
+ Requires-Dist: PyOpenGL==3.1.10
29
+ Requires-Dist: PyOpenGL_accelerate==3.1.10
30
+ Requires-Dist: pypdf==6.9.1
31
+ Requires-Dist: pyserial_asyncio==0.6
32
+ Requires-Dist: pyvips==3.0.0
33
+ Requires-Dist: PyYAML==6.0.2
34
+ Requires-Dist: scipy==1.16.3
35
+ Requires-Dist: semver==3.0.2
36
+ Requires-Dist: svgelements==1.9.6
37
+ Requires-Dist: vtracer==0.6.11
38
+ Requires-Dist: websockets==14.2
39
+ Provides-Extra: test
40
+ Requires-Dist: pytest; extra == "test"
41
+ Requires-Dist: pytest-asyncio; extra == "test"
42
+ Requires-Dist: pytest-mock; extra == "test"
43
+ Requires-Dist: pytest-cov; extra == "test"
44
+ Requires-Dist: pygobject-stubs; extra == "test"
45
+ Dynamic: license-file
46
+
47
+ [![GitHub Release](https://img.shields.io/github/release/barebaric/rayforge.svg?style=flat)](https://github.com/barebaric/rayforge/releases/)
48
+ [![PyPI version](https://img.shields.io/pypi/v/rayforge)](https://pypi.org/project/rayforge/)
49
+ [![Snap Release](https://snapcraft.io/rayforge/badge.svg)](https://snapcraft.io/rayforge)
50
+ [![Launchpad PPA](https://img.shields.io/badge/PPA-blue)](https://launchpad.net/~knipknap/+archive/ubuntu/rayforge)
51
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
52
+
53
+ [![Get it from the Snap Store](https://snapcraft.io/en/light/install.svg)](https://snapcraft.io/rayforge)
54
+ <a href="https://flathub.org/apps/org.rayforge.rayforge"><img alt="Get it from Flathub" src="website/static/images/flathub-badge.svg" height="55"/></a>
55
+ <a href="https://www.patreon.com/c/knipknap"><img src="https://c5.patreon.com/external/logo/become_a_patron_button.png" alt="Become a Patron" height="55"/></a>
56
+
57
+ # Rayforge
58
+
59
+ Rayforge is a modern, cross-platform 2D CAD, G-code sender and control software for GRBL-based laser cutters and engravers.
60
+ Built with Gtk4 and Libadwaita, it provides a clean, native interface for Linux and Windows, offering a full suite of tools
61
+ for both hobbyists and professionals.
62
+
63
+ ![Screenshot](website/static/screenshots/main-standard.png)
64
+
65
+ You can also check the [official Rayforge homepage](https://rayforge.org).
66
+ We also have a [Discord](https://discord.gg/sTHNdTtpQJ).
67
+
68
+
69
+ ## Key Features
70
+
71
+ | Feature | Description |
72
+ | :--------------------------- | :--------------------------------------------------------------------------------------------------------------- |
73
+ | **Modern UI** | Polished and modern UI built with Gtk4 and Libadwaita. Supports system, light, and dark themes. |
74
+ | **Parametric Sketch Editor** | Create precise, constraint-based 2D designs with geometric and dimensional constraints. |
75
+ | **Multi-Layer Operations** | Assign different operations (e.g., engrave then cut) to layers in your design. |
76
+ | **Versatile Operations** | Supports Contour, Raster Engraving (with cross-hatch fill), Shrink Wrap, and Depth Engraving. |
77
+ | **Overscan & Kerf Comp.** | Improve engraving quality with overscan and ensure dimensional accuracy with kerf compensation. |
78
+ | **2.5D Cutting** | Perform multi-pass cuts with a configurable step-down between each pass for thick materials. |
79
+ | **3D G-code Preview** | Visualize G-code toolpaths in 3D to verify the job before sending it to the machine. |
80
+ | **Multi-Machine Profiles** | Configure and instantly switch between multiple machine profiles. |
81
+ | **GRBL Firmware Settings** | Read and write firmware parameters (`$$`) directly from the UI. |
82
+ | **Comprehensive 2D Canvas** | Full suite of tools: alignment, transformation, measurement, zoom, pan, and more. |
83
+ | **Advanced Path Generation** | High-quality image tracing, travel time optimization, path smoothing, and spot size interpolation. |
84
+ | **Holding Tabs** | Add tabs to contour cuts to hold pieces in place. Supports manual and automatic placement. |
85
+ | **G-code Macros & Hooks** | Run custom G-code snippets before/after jobs. Supports variable substitution. |
86
+ | **Broad File Support** | Import from SVG, DXF, PDF, JPEG, PNG, BMP, and even Ruida files (`.rd`). |
87
+ | **Multi-Laser Operations** | Choose different lasers for each operation in a job |
88
+ | **Camera Integration** | Use a USB camera for workpiece alignment, positioning, and background tracing. |
89
+ | **Cross-Platform** | Native builds for Linux and Windows. |
90
+ | **Extensible** | Open development model makes it easy to [add support for new devices](website/docs/developer/driver.md). |
91
+ | **Multi-Language** | Available in English, Portuguese, Spanish, German, French, and Chinese. |
92
+ | **G-code Dialects** | Supports GRBL, Smoothieware, and other GRBL-compatible firmwares. |
93
+
94
+ ## Device Support
95
+
96
+ | Device Type | Connection Method | Notes |
97
+ | :--------------- | :---------------------- | :------------------------------------------------------------- |
98
+ | **GRBL** | Serial Port | Supported since version 0.13. The most common connection type. |
99
+ | **GRBL** | Network (WiFi/Ethernet) | Connect to any GRBL device on your network. |
100
+ | **Smoothieware** | Telnet | Supported since version 0.15. |
101
+
102
+ ## Installation
103
+
104
+ For installation instructions [refer to our homepage](https://rayforge.org/docs/getting-started/installation).
105
+
106
+ ## Development
107
+
108
+ For detailed information about developing for Rayforge, including setup instructions,
109
+ testing, and contribution guidelines, please see the
110
+ [Developer Documentation](https://rayforge.org/docs/latest/developer/getting-started/).
111
+
112
+ ## License
113
+
114
+ This project is licensed under the **MIT License**. See the `LICENSE` file for details.
@@ -0,0 +1,460 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <component type="desktop-application">
3
+ <id>org.rayforge.rayforge</id>
4
+ <developer id="org.rayforge">
5
+ <name translate="no">Samuel Abels</name>
6
+ </developer>
7
+ <content_rating type="oars-1.1" />
8
+ <url type="homepage">https://rayforge.org</url>
9
+ <url type="bugtracker">https://github.com/barebaric/rayforge/issues</url>
10
+ <url type="vcs-browser">https://github.com/barebaric/rayforge</url>
11
+
12
+ <name>Rayforge</name>
13
+ <summary>A desktop application for laser cutting and engraving</summary>
14
+
15
+ <categories>
16
+ <category>Utility</category>
17
+ <category>Engineering</category>
18
+ </categories>
19
+
20
+ <metadata_license>MIT</metadata_license>
21
+ <project_license>MIT</project_license>
22
+
23
+ <description>
24
+ <p>
25
+ Rayforge is a desktop application for laser cutting and engraving.
26
+ It provides an intuitive interface to create and manage laser
27
+ cutting projects.
28
+ Rayforge support communicating with GRBL based laser cutters.
29
+ Rayforge supports importing SVG, DXF, PDF, and PNGs, and provides
30
+ advanced features such as multi step jobs, automatic path
31
+ optimization, interpolation based on laser dot size, and much more.
32
+ </p>
33
+ </description>
34
+
35
+ <launchable type="desktop-id">org.rayforge.rayforge.desktop</launchable>
36
+
37
+ <provides>
38
+ <mediatype>application/x-rayforge-project</mediatype>
39
+ <mediatype>application/x-rayforge-sketch</mediatype>
40
+ <mediatype>application/x-ruida</mediatype>
41
+ <mediatype>image/png</mediatype>
42
+ <mediatype>image/bmp</mediatype>
43
+ <mediatype>image/jpeg</mediatype>
44
+ <mediatype>image/svg+xml</mediatype>
45
+ <mediatype>image/vnd.dxf</mediatype>
46
+ </provides>
47
+
48
+ <recommends>
49
+ <control>keyboard</control>
50
+ <control>pointing</control>
51
+ <display_length compare="ge">768</display_length>
52
+ </recommends>
53
+
54
+ <icon type="remote">https://raw.githubusercontent.com/barebaric/rayforge/refs/heads/main/rayforge/resources/icons/org.rayforge.rayforge.svg</icon>
55
+
56
+ <branding>
57
+ <color type="primary" scheme_preference="light">#efb0a1</color>
58
+ <color type="primary" scheme_preference="dark">#373f43</color>
59
+ </branding>
60
+
61
+ <screenshots>
62
+ <screenshot type="default">
63
+ <caption>The main window of Rayforge.</caption>
64
+ <image type="source" width="2522" height="1772">https://raw.githubusercontent.com/barebaric/rayforge/main/website/static/screenshots/main-standard.png</image>
65
+ </screenshot>
66
+ </screenshots>
67
+
68
+ <releases>
69
+ <release version="1.3.2" date="2026-03-24">
70
+ <description>
71
+ <p>Bug fix release</p>
72
+ <ul>
73
+ <li>Raster step settings now display angle numerically</li>
74
+ <li>Fixed import issues on Windows</li>
75
+ <li>Unknown G-code dialects now fall back to Grbl</li>
76
+ <li>Fixed duplicate error notifications from the driver</li>
77
+ </ul>
78
+ </description>
79
+ </release>
80
+ <release version="1.3.1" date="2026-03-24">
81
+ <description>
82
+ <p>Bug fix release</p>
83
+ <ul>
84
+ <li>Fixed icon sizing issues on systems with Gtk 4.21</li>
85
+ <li>Fixed Windows and macOS build issues</li>
86
+ <li>Fixed conflicting menu shortcuts in the sketcher</li>
87
+ </ul>
88
+ </description>
89
+ </release>
90
+ <release version="1.3" date="2026-03-23">
91
+ <description>
92
+ <p>Bezier Curves in Sketcher and Modular Architecture</p>
93
+ <p>Major Changes:</p>
94
+ <ul>
95
+ <li>Full bezier curve support in the parametric sketcher</li>
96
+ <li>Sketcher moved to an optional add-on</li>
97
+ <li>New unified path tool combining lines and curves</li>
98
+ <li>More compact G-code output</li>
99
+ </ul>
100
+ <p>Sketcher Improvements:</p>
101
+ <ul>
102
+ <li>Intuitive bezier editing with drag handles</li>
103
+ <li>Connect curves to existing geometry</li>
104
+ <li>Smooth or symmetric endpoints for connected paths</li>
105
+ <li>Straighten tool to convert beziers to lines</li>
106
+ <li>Grid tool for visual reference</li>
107
+ <li>Show/hide construction geometry and constraints</li>
108
+ <li>Hold Shift to constrain movement to axis</li>
109
+ <li>Conflicting constraints shown in panel</li>
110
+ </ul>
111
+ <p>G-code Improvements:</p>
112
+ <ul>
113
+ <li>Unchanged coordinates now omitted for smaller files</li>
114
+ <li>G-code viewer shows line count and byte size</li>
115
+ <li>Raster operation gains sample interval and power levels settings</li>
116
+ </ul>
117
+ <p>Fixed:</p>
118
+ <ul>
119
+ <li>Most icons not displayed on systems with Gtk &gt; 4.21</li>
120
+ <li>Fillet and chamfer tools not working correctly</li>
121
+ <li>Texture encoder drawing spaced dots instead of lines</li>
122
+ <li>Loading project files with unknown assets</li>
123
+ </ul>
124
+ </description>
125
+ </release>
126
+ <release version="1.2.1" date="2026-03-19">
127
+ <description>
128
+ <p>Bug fix release</p>
129
+ <p>New Features:</p>
130
+ <ul>
131
+ <li>Buttons to move to center, bottom/left and top/right of workpiece</li>
132
+ <li>Support for setting a "tab power"</li>
133
+ <li>Sketcher: allow entering dimensions while adding geometry</li>
134
+ </ul>
135
+ <p>Improvements:</p>
136
+ <ul>
137
+ <li>Better button layout in the control panel</li>
138
+ <li>Sketcher: circle now uses diameter constraint consistently</li>
139
+ <li>Laser dot now always drawn on top, not obscured by workpieces</li>
140
+ </ul>
141
+ <p>Fixed:</p>
142
+ <ul>
143
+ <li>Builtin addon yaml files not included in .snap</li>
144
+ <li>Imprecise tab location while dragging the tab handle</li>
145
+ <li>Tabs not working on beziers</li>
146
+ </ul>
147
+ </description>
148
+ </release>
149
+ <release version="1.2" date="2026-03-18">
150
+ <description>
151
+ <p>Addon System Rewrite and AI Workpiece Generation</p>
152
+ <p>Major Changes:</p>
153
+ <ul>
154
+ <li>AI workpiece generation</li>
155
+ <li>Complete addon system rewrite and refactoring</li>
156
+ <li>Built-in addons: laser-essentials, core materials, post-processors, layout</li>
157
+ <li>Path optimizer now also optimizes inter-workpiece travel</li>
158
+ <li>Stock is now a document-level concept - no more stock per layer</li>
159
+ </ul>
160
+ <p>New Features:</p>
161
+ <ul>
162
+ <li>Camera image enhancement with temporal noise reduction</li>
163
+ <li>Fisheye lens distortion correction</li>
164
+ <li>Zoom, pan and keyboard navigation in camera alignment dialog</li>
165
+ <li>Tons of new materials in core materials addon</li>
166
+ <li>Mach4 G-code dialect</li>
167
+ <li>Post-processor: crop-to-stock</li>
168
+ <li>Click canvas to set zero feature</li>
169
+ <li>Support for configuring cut/raster colors per laser</li>
170
+ <li>Support for duplicating stock and non-rectangular stock</li>
171
+ <li>Convert workpiece to stock (right-click menu)</li>
172
+ <li>Machine profile for OMTech K40+</li>
173
+ <li>Navigation and zoom icons for UI controls</li>
174
+ </ul>
175
+ <p>Sketcher Improvements:</p>
176
+ <ul>
177
+ <li>Live preview for line tool</li>
178
+ <li>Dimension display while adding geometry</li>
179
+ <li>Snap-to-grid on Ctrl press</li>
180
+ <li>Hover highlighting for entities and constraints</li>
181
+ <li>Toolbar shows currently available shortcuts</li>
182
+ <li>Shift+Double click selects connected geometry</li>
183
+ <li>Arc radius can be changed while adding second endpoint</li>
184
+ <li>Selection preserved when creating lines, arcs, or circles</li>
185
+ </ul>
186
+ <p>Other Improvements:</p>
187
+ <ul>
188
+ <li>Imported items and stock aligned with WCS origin by default</li>
189
+ <li>Improved camera selection dialog (left/right indicators, keyboard support)</li>
190
+ <li>Sketcher symmetry constraint click order aligns with FreeCAD</li>
191
+ <li>Maximum laser G-code power increased to 100.000</li>
192
+ <li>Context lazy loads most services for better performance</li>
193
+ <li>RAYFORGE_DISABLE_3D environment variable</li>
194
+ </ul>
195
+ <p>Fixed:</p>
196
+ <ul>
197
+ <li>Undoing text box left entries in history manager stack</li>
198
+ <li>Y axis drawn on wrong side of canvas</li>
199
+ <li>Auto layout for rotated stock</li>
200
+ <li>SVG exporter stacking multiple workpieces on top of each other</li>
201
+ <li>Text color in Sketcher while editing</li>
202
+ <li>Default laser assignment when project references non-existent laser</li>
203
+ <li>Text box rotating while typing on Windows</li>
204
+ <li>Addon handling issues on Windows</li>
205
+ <li>macOS app menu window narrowed to MainWindow</li>
206
+ <li>macOS app menu actions</li>
207
+ </ul>
208
+ </description>
209
+ </release>
210
+ <release version="1.1.2" date="2026-02-28">
211
+ <description>
212
+ <p>Bug fix release</p>
213
+ <ul>
214
+ <li>Fixed text box rotating while typing in sketcher</li>
215
+ <li>Fixed assets cannot be deleted after loading from a project file</li>
216
+ <li>Fixed empty sketches showing as black squares after loading from project</li>
217
+ <li>Maybe: Fixed pie menu not opening in correct location on Windows</li>
218
+ </ul>
219
+ </description>
220
+ </release>
221
+ <release version="1.1.1" date="2026-02-27">
222
+ <description>
223
+ <p>Bug fix release</p>
224
+ <ul>
225
+ <li>Fixed screenshot link in appstream causing Flatpak build to fail</li>
226
+ </ul>
227
+ </description>
228
+ </release>
229
+ <release version="1.1" date="2026-02-27">
230
+ <description>
231
+ <p>Pipeline Rewrite and Unified Raster Operations</p>
232
+ <p>Version 1.1 brings a complete backend rewrite and unified raster
233
+ operations:</p>
234
+ <p>Major Changes:</p>
235
+ <ul>
236
+ <li>Complete data pipeline backend rewrite with improved
237
+ performance and memory management</li>
238
+ <li>Unified raster operations - old "raster", "depth", and
239
+ "dither" operations merged into one</li>
240
+ <li>New G-code console replacing the log view with a fully
241
+ featured terminal</li>
242
+ <li>SVG and DXF export support for documents and selected
243
+ objects</li>
244
+ <li>Angle constraints now available in the sketcher</li>
245
+ <li>New "Raster (Dither)" operation with configurable
246
+ algorithms</li>
247
+ <li>Built-in G-code dialect supporting dynamic power mode</li>
248
+ <li>Configurable axis extents, work surface, and soft limits
249
+ per machine</li>
250
+ </ul>
251
+ <p>Improvements:</p>
252
+ <ul>
253
+ <li>Auto thresholding for Variable Power and Multipass raster
254
+ modes</li>
255
+ <li>Histogram in depth engraver for easier threshold
256
+ setting</li>
257
+ <li>Symbolic visualization of raster direction</li>
258
+ <li>Configurable line distance in all raster operations</li>
259
+ <li>Machine selector moved to window header</li>
260
+ <li>Workpiece properties now show WCS coordinates</li>
261
+ <li>Imported images placed at reference origin by default</li>
262
+ <li>Ukrainian translation added</li>
263
+ <li>Material files now support translations</li>
264
+ <li>New --config CLI argument for custom config path</li>
265
+ <li>Optional anonymous usage statistics (opt-in)</li>
266
+ <li>Re-assigned Alt key bindings to avoid clashing with
267
+ main menu actions</li>
268
+ <li>Improved contour offset algorithm for intersecting
269
+ geometry</li>
270
+ </ul>
271
+ <p>Fixed:</p>
272
+ <ul>
273
+ <li>Multiple memory leaks in the data pipeline</li>
274
+ <li>Race conditions in worker pool and pipeline</li>
275
+ <li>Camera device scanning crash on Windows</li>
276
+ <li>Various macOS-specific issues</li>
277
+ <li>Rasterizer angle distortion</li>
278
+ <li>Unresponsive serial port handling</li>
279
+ <li>Simulation preview strokes constant across zoom levels</li>
280
+ <li>Speed in Jog dialog correctly converted to base units</li>
281
+ <li>Icons not appearing in snap on non-GNOME environments</li>
282
+ <li>GRBL connection handshake timeout with backoff retry</li>
283
+ </ul>
284
+ </description>
285
+ </release>
286
+ <release version="1.0.1" date="2026-02-01">
287
+ <description>
288
+ <p>Bug fix release</p>
289
+ <ul>
290
+ <li>Fixed some strings not being translatable</li>
291
+ <li>Reformatted the 1.0 release notes to not trip the Flatpak build up</li>
292
+ </ul>
293
+ </description>
294
+ </release>
295
+ <release version="1.0" date="2026-02-01">
296
+ <description>
297
+ <p>It's Rayforge's Birthday Release!</p>
298
+ <p>Version 1.0 brings some exciting features and enhancements to the
299
+ Rayforge experience:</p>
300
+ <p>Major Additions:</p>
301
+ <ul>
302
+ <li>Full project save/load support</li>
303
+ <li>Sketcher now supports text, with advanced options</li>
304
+ <li>Jog dialog and log view have been merged into a new bottom
305
+ panel</li>
306
+ <li>Aspect ratio constraints now available in the sketcher</li>
307
+ <li>Engraving steps can now be inverted</li>
308
+ <li>Raster engraver gains support for setting engraving angle in
309
+ degrees</li>
310
+ <li>Recent files menu added for easier access to your last
311
+ projects</li>
312
+ <li>Installers for all platforms now register .ryp (project) and
313
+ .rfs (sketch) file extensions</li>
314
+ </ul>
315
+ <p>Changes:</p>
316
+ <ul>
317
+ <li>CLI update: `--direct-vector` renamed to `--vector`; added
318
+ `--trace` to enforce trace mode (vector import is now default)</li>
319
+ <li>Import errors are now collected and shown in the import
320
+ dialog</li>
321
+ <li>Importers rewritten for better testability and stability</li>
322
+ <li>Sketcher solver now biases points towards their previous
323
+ position, improving dragging stability</li>
324
+ <li>Simulation mode keyboard shortcut changed to F11 to avoid
325
+ conflict with "Save as..."</li>
326
+ <li>Improved G-code view and control panel state retention across
327
+ sessions</li>
328
+ <li>Precision of power sliders and display digits has been
329
+ increased</li>
330
+ <li>Import dialog now displays number of vectors per layer</li>
331
+ <li>Error message added when attempting to delete a dialect in
332
+ use</li>
333
+ <li>Chinese translations added to improve localization</li>
334
+ </ul>
335
+ <p>Fixed:</p>
336
+ <ul>
337
+ <li>Traceback when adding a constraint in the sketcher
338
+ (Windows only)</li>
339
+ <li>Potential memory leak and stale operations display</li>
340
+ <li>Improved multi-layer DXF import handling</li>
341
+ <li>Numerous alignment bugs in importers</li>
342
+ <li>Traceback when using invert switch in the import dialog</li>
343
+ <li>Sketches not centered on the surface after import</li>
344
+ </ul>
345
+ <p>Documentation:</p>
346
+ <ul>
347
+ <li>Updated importer developer documentation</li>
348
+ </ul>
349
+ </description>
350
+ </release>
351
+ <release version="0.28.4" date="2026-01-22">
352
+ <description>
353
+ <p>Bug fix release</p>
354
+ <ul>
355
+ <li>Fixed traceback when dialect contained deprecated attributes</li>
356
+ <li>Fixed debian package missing asyncudp dependency</li>
357
+ </ul>
358
+ </description>
359
+ </release>
360
+ <release version="0.28.3" date="2026-01-18">
361
+ <description>
362
+ <p>Bug fix release</p>
363
+ <ul>
364
+ <li>Added option to enable/disable WCS injection in G-code dialect</li>
365
+ <li>Fixed depth engraver not respecting master power setting</li>
366
+ <li>Fixed traceback when using invert image in import dialog</li>
367
+ </ul>
368
+ </description>
369
+ </release>
370
+ <release version="0.28.2" date="2026-01-17">
371
+ <description>
372
+ <p>Bug fix release</p>
373
+ <ul>
374
+ <li>Fixed test that depended on specific version string</li>
375
+ </ul>
376
+ </description>
377
+ </release>
378
+ <release version="0.28.1" date="2026-01-17">
379
+ <description>
380
+ <p>Bug fix release</p>
381
+ <ul>
382
+ <li>Fixed invalid ampersand in appstream XML</li>
383
+ </ul>
384
+ </description>
385
+ </release>
386
+ <release version="0.28" date="2026-01-17">
387
+ <description>
388
+ <p>Work Coordinate Systems, True Arcs, and a New Package Manager</p>
389
+ <ul>
390
+ <li>Full support for Work Coordinate Systems (WCS) G54-G59</li>
391
+ <li>True arc support with superior geometry handling</li>
392
+ <li>New Package Manager for extensibility</li>
393
+ <li>New sketcher tools: Rectangle, Fillet, and Chamfer</li>
394
+ <li>Optimized G-code output and improved GRBL driver</li>
395
+ <li>Always-active Cancel button and improved UI</li>
396
+ <li>Numerous bug fixes and performance improvements</li>
397
+ </ul>
398
+ </description>
399
+ </release>
400
+ <release version="0.27.1" date="2025-01-03">
401
+ <description>
402
+ <p>Maintenance release with performance improvements</p>
403
+ <ul>
404
+ <li>Major performance boost for SVG imports</li>
405
+ <li>Fixed invalid clipping paths in SVG files</li>
406
+ <li>Restored sketcher fill toggling</li>
407
+ <li>Theme-aware sketcher line colors</li>
408
+ <li>Corrected laser dot position</li>
409
+ </ul>
410
+ </description>
411
+ </release>
412
+ <release version="0.27" date="2025-01-02">
413
+ <description>
414
+ <p>Enhanced Sketching, Machine Control &amp; UI Refinements</p>
415
+ <ul>
416
+ <li>Expressions and parameters in parametric sketcher</li>
417
+ <li>Filled shapes support in sketcher</li>
418
+ <li>Improved constraint visualization and drag-select</li>
419
+ <li>Robust GRBL serial driver with better recovery</li>
420
+ <li>Variable substitutions in G-code</li>
421
+ <li>Flexible machine origins and negative axis support</li>
422
+ <li>Icon refresh and redesigned machine settings dialog</li>
423
+ <li>Dark mode improvements and streamlined settings</li>
424
+ </ul>
425
+ </description>
426
+ </release>
427
+ <release version="0.26" date="2025-11-30">
428
+ <description>
429
+ <p>Parametric 2D Sketcher &amp; Major Performance Upgrades</p>
430
+ <ul>
431
+ <li>Parametric 2D sketcher with constraint system</li>
432
+ <li>Import/export sketches with parametric constraints</li>
433
+ <li>Significantly reduced memory usage</li>
434
+ <li>Faster operations with complex vector files</li>
435
+ <li>Fixed 3D view and G-code mirroring with Y-down machines</li>
436
+ <li>Improved Smoothieware driver compatibility</li>
437
+ <li>Added Makera Carvera Air machine profile</li>
438
+ </ul>
439
+ </description>
440
+ </release>
441
+ <release version="0.25" date="2025-11-22">
442
+ <description>
443
+ <p>New Import Experience &amp; Object Management</p>
444
+ <ul>
445
+ <li>Interactive import dialog with tracing controls</li>
446
+ <li>Split workpiece command for separating assets</li>
447
+ <li>Custom G-code dialects support</li>
448
+ <li>Inner edges first in contour operations</li>
449
+ <li>Improved UI responsiveness with debouncing</li>
450
+ <li>Fixed power display bug and grouping visuals</li>
451
+ </ul>
452
+ </description>
453
+ </release>
454
+ <release version="0.22" date="2025-09-20">
455
+ <description>
456
+ <p>This is the initial release.</p>
457
+ </description>
458
+ </release>
459
+ </releases>
460
+ </component>