meltygui 0.1.2__tar.gz → 0.1.8__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 (876) hide show
  1. meltygui-0.1.8/.gitignore +12 -0
  2. meltygui-0.1.8/PKG-INFO +177 -0
  3. meltygui-0.1.8/README.md +128 -0
  4. meltygui-0.1.8/docs/APPS.md +369 -0
  5. meltygui-0.1.8/docs/DEVELOPMENT.md +169 -0
  6. meltygui-0.1.8/docs/PUBLISHING.md +91 -0
  7. meltygui-0.1.8/examples/gui_collision_lab.py +65 -0
  8. meltygui-0.1.8/examples/gui_imgui_widgets.py +30 -0
  9. meltygui-0.1.8/examples/portable_counter/main.py +23 -0
  10. meltygui-0.1.8/examples/portable_counter/pyproject.toml +5 -0
  11. meltygui-0.1.8/examples/rust_example.py +31 -0
  12. meltygui-0.1.8/examples/rust_tiles_gui.py +50 -0
  13. meltygui-0.1.8/examples/tile_manager.py +35 -0
  14. meltygui-0.1.8/meltygui/__init__.py +101 -0
  15. meltygui-0.1.8/meltygui/accounts/internet_accounts.py +1365 -0
  16. meltygui-0.1.8/meltygui/chat/chat_interface.py +759 -0
  17. meltygui-0.1.8/meltygui/chat/images.py +227 -0
  18. meltygui-0.1.8/meltygui/chat/main.py +208 -0
  19. meltygui-0.1.8/meltygui/code/chain_converters.py +2111 -0
  20. meltygui-0.1.8/meltygui/code/codec_registry.py +42 -0
  21. meltygui-0.1.8/meltygui/code/embedded_jedi.py +47 -0
  22. meltygui-0.1.8/meltygui/code/fileref.py +718 -0
  23. meltygui-0.1.8/meltygui/code/libcst_conversion.py +9759 -0
  24. meltygui-0.1.8/meltygui/code/new_codecs.py +1398 -0
  25. meltygui-0.1.8/meltygui/code/new_converters.py +3046 -0
  26. meltygui-0.1.8/meltygui/code/project_code.py +309 -0
  27. meltygui-0.1.8/meltygui/code/source_context.py +225 -0
  28. meltygui-0.1.8/meltygui/code/symbol_roster.py +1948 -0
  29. meltygui-0.1.8/meltygui/completion/providers/anthropic_oauth.py +446 -0
  30. meltygui-0.1.8/meltygui/completion/providers/anthropic_requests.py +69 -0
  31. meltygui-0.1.8/meltygui/completion/providers/claude_usage.py +499 -0
  32. meltygui-0.1.8/meltygui/completion/providers/codex_accounts.py +180 -0
  33. meltygui-0.1.8/meltygui/core/automation/orchestration_core.py +2638 -0
  34. meltygui-0.1.8/meltygui/core/automation/query_core.py +124 -0
  35. meltygui-0.1.8/meltygui/core/cache/deferred_invalidation.py +88 -0
  36. meltygui-0.1.8/meltygui/core/cache/mask_batch.py +188 -0
  37. meltygui-0.1.8/meltygui/core/cache/tile_cache.py +6224 -0
  38. meltygui-0.1.8/meltygui/core/conversion/dict_conversion_util.py +178 -0
  39. meltygui-0.1.8/meltygui/core/conversion/render_host.py +1082 -0
  40. meltygui-0.1.8/meltygui/core/core_render.py +6334 -0
  41. meltygui-0.1.8/meltygui/core/diagnostics/edge_motion_guard.py +627 -0
  42. meltygui-0.1.8/meltygui/core/diagnostics/fps_counter.py +65 -0
  43. meltygui-0.1.8/meltygui/core/diagnostics/geometry_jitter.py +211 -0
  44. meltygui-0.1.8/meltygui/core/diagnostics/resize_trace.py +68 -0
  45. meltygui-0.1.8/meltygui/core/files/ios_file_observer.py +147 -0
  46. meltygui-0.1.8/meltygui/core/files/workspace_paths.py +59 -0
  47. meltygui-0.1.8/meltygui/core/graphics/desktop_gl.py +14 -0
  48. meltygui-0.1.8/meltygui/core/graphics/gl_state.py +660 -0
  49. meltygui-0.1.8/meltygui/core/graphics/metal_renderer.py +273 -0
  50. meltygui-0.1.8/meltygui/core/graphics/metal_tiles.py +376 -0
  51. meltygui-0.1.8/meltygui/core/graphics/overlay_renderer.py +1038 -0
  52. meltygui-0.1.8/meltygui/core/graphics/scene_target.py +180 -0
  53. meltygui-0.1.8/meltygui/core/graphics/screenshot.py +440 -0
  54. meltygui-0.1.8/meltygui/core/graphics/shader_func.py +487 -0
  55. meltygui-0.1.8/meltygui/core/graphics/text_texture.py +329 -0
  56. meltygui-0.1.8/meltygui/core/input/input_handler.py +1229 -0
  57. meltygui-0.1.8/meltygui/core/input/ios_input.py +476 -0
  58. meltygui-0.1.8/meltygui/core/input/pynput_backend.py +1060 -0
  59. meltygui-0.1.8/meltygui/core/input/touch_input.py +232 -0
  60. meltygui-0.1.8/meltygui/core/layout/column_core.py +2271 -0
  61. meltygui-0.1.8/meltygui/core/layout/tile_links.py +178 -0
  62. meltygui-0.1.8/meltygui/core/layout/tile_manager_core.py +830 -0
  63. meltygui-0.1.8/meltygui/core/layout/tile_resize.py +55 -0
  64. meltygui-0.1.8/meltygui/core/melty.py +7208 -0
  65. meltygui-0.1.8/meltygui/core/module_map.json +916 -0
  66. meltygui-0.1.8/meltygui/core/rendering/gui_imgui_import.py +40 -0
  67. meltygui-0.1.8/meltygui/core/rendering/gui_imgui_input.py +188 -0
  68. meltygui-0.1.8/meltygui/core/rendering/gui_layout_prototype.py +666 -0
  69. meltygui-0.1.8/meltygui/core/rendering/gui_native_collision.py +156 -0
  70. meltygui-0.1.8/meltygui/core/rendering/gui_prototype.py +110 -0
  71. meltygui-0.1.8/meltygui/core/rendering/gui_window_prototype.py +96 -0
  72. meltygui-0.1.8/meltygui/core/rendering/mode.py +864 -0
  73. meltygui-0.1.8/meltygui/core/rendering/overlay.py +463 -0
  74. meltygui-0.1.8/meltygui/core/rendering/render_funcs.py +280 -0
  75. meltygui-0.1.8/meltygui/core/rendering/retained_gui_prototype.py +593 -0
  76. meltygui-0.1.8/meltygui/core/rendering/view_identity.py +213 -0
  77. meltygui-0.1.8/meltygui/core/runtime/app.py +1081 -0
  78. meltygui-0.1.8/meltygui/core/runtime/app_session.py +140 -0
  79. meltygui-0.1.8/meltygui/core/runtime/app_settings.py +183 -0
  80. meltygui-0.1.8/meltygui/core/runtime/gc_manager.py +1163 -0
  81. meltygui-0.1.8/meltygui/core/runtime/launch_override.py +226 -0
  82. meltygui-0.1.8/meltygui/core/runtime/native_app.py +303 -0
  83. meltygui-0.1.8/meltygui/core/runtime/paths.py +89 -0
  84. meltygui-0.1.8/meltygui/core/runtime/public_exports.py +79 -0
  85. meltygui-0.1.8/meltygui/core/runtime/toggles.py +3192 -0
  86. meltygui-0.1.8/meltygui/core/services/terminal_core.py +461 -0
  87. meltygui-0.1.8/meltygui/core/styling/fonts.py +656 -0
  88. meltygui-0.1.8/meltygui/core/styling/style_core.py +526 -0
  89. meltygui-0.1.8/meltygui/core/windowing/backends/imgui_renderer.py +143 -0
  90. meltygui-0.1.8/meltygui/core/windowing/backends/native_ios.py +197 -0
  91. meltygui-0.1.8/meltygui/core/windowing/geometry_feed.py +956 -0
  92. meltygui-0.1.8/meltygui/core/windowing/glfw_utils.py +1448 -0
  93. meltygui-0.1.8/meltygui/core/windowing/melty_windows.py +358 -0
  94. meltygui-0.1.8/meltygui/core/windowing/os_frame.py +1650 -0
  95. meltygui-0.1.8/meltygui/core/windowing/surface.py +625 -0
  96. meltygui-0.1.8/meltygui/core/windowing/surface_frame.py +181 -0
  97. meltygui-0.1.8/meltygui/core/windowing/titlebar.py +1808 -0
  98. meltygui-0.1.8/meltygui/core/windowing/titlebar_buttons.py +456 -0
  99. meltygui-0.1.8/meltygui/core/windowing/window_api.py +97 -0
  100. meltygui-0.1.8/meltygui/editor/pending_save.py +1467 -0
  101. meltygui-0.1.8/meltygui/editor/text_editor.py +9127 -0
  102. meltygui-0.1.8/meltygui/examples/retained_gui_demo.py +164 -0
  103. meltygui-0.1.8/meltygui/examples/retained_layout_demo.py +146 -0
  104. meltygui-0.1.8/meltygui/examples/rust_gui_demo.py +308 -0
  105. meltygui-0.1.8/meltygui/files/fast_file_explorer.py +450 -0
  106. meltygui-0.1.8/meltygui/graphics/shader_compiler.py +161 -0
  107. meltygui-0.1.8/meltygui/image_load.py +313 -0
  108. meltygui-0.1.8/meltygui/model/chat_folder_model.py +171 -0
  109. meltygui-0.1.8/meltygui/model/chat_model.py +178 -0
  110. meltygui-0.1.8/meltygui/model/file_location_model.py +265 -0
  111. meltygui-0.1.8/meltygui/model/file_model.py +327 -0
  112. meltygui-0.1.8/meltygui/model/folder_icon_model.py +475 -0
  113. meltygui-0.1.8/meltygui/model/import_graph_model.py +472 -0
  114. meltygui-0.1.8/meltygui/model/source_snapshot_model.py +296 -0
  115. meltygui-0.1.8/meltygui/model/ssh_auth_model.py +148 -0
  116. meltygui-0.1.8/meltygui/model/ssh_file_model.py +459 -0
  117. meltygui-0.1.8/meltygui/model/texture_model.py +306 -0
  118. meltygui-0.1.8/meltygui/models/file_meta.py +791 -0
  119. meltygui-0.1.8/meltygui/platforms/__init__.py +1 -0
  120. meltygui-0.1.8/meltygui/platforms/ios/.gitignore +2 -0
  121. meltygui-0.1.8/meltygui/platforms/ios/Host/App.mm +316 -0
  122. meltygui-0.1.8/meltygui/platforms/ios/Host/Info.plist +34 -0
  123. meltygui-0.1.8/meltygui/platforms/ios/Host/InputQueue.hpp +66 -0
  124. meltygui-0.1.8/meltygui/platforms/ios/Host/LocalNetworkAccess.h +96 -0
  125. meltygui-0.1.8/meltygui/platforms/ios/Host/MeltyHost.h +25 -0
  126. meltygui-0.1.8/meltygui/platforms/ios/Host/MeltyHost.mm +808 -0
  127. meltygui-0.1.8/meltygui/platforms/ios/Host/MeltyMetalRenderer.mm +426 -0
  128. meltygui-0.1.8/meltygui/platforms/ios/Host/MeltyRenderer.h +32 -0
  129. meltygui-0.1.8/meltygui/platforms/ios/Host/SSHAuthentication.h +183 -0
  130. meltygui-0.1.8/meltygui/platforms/ios/Python/melty_ios_bootstrap.py +255 -0
  131. meltygui-0.1.8/meltygui/platforms/ios/README.md +440 -0
  132. meltygui-0.1.8/meltygui/platforms/ios/Renderer/MetalShaders.metal +102 -0
  133. meltygui-0.1.8/meltygui/platforms/ios/__init__.py +9 -0
  134. meltygui-0.1.8/meltygui/platforms/ios/__main__.py +21 -0
  135. meltygui-0.1.8/meltygui/platforms/ios/app_icon.py +441 -0
  136. meltygui-0.1.8/meltygui/platforms/ios/application.py +20 -0
  137. meltygui-0.1.8/meltygui/platforms/ios/build_crypto.py +269 -0
  138. meltygui-0.1.8/meltygui/platforms/ios/build_imgui.py +236 -0
  139. meltygui-0.1.8/meltygui/platforms/ios/build_platform_deps.py +278 -0
  140. meltygui-0.1.8/meltygui/platforms/ios/build_rust_deps.py +257 -0
  141. meltygui-0.1.8/meltygui/platforms/ios/compile_shaders.py +192 -0
  142. meltygui-0.1.8/meltygui/platforms/ios/dependencies.json +308 -0
  143. meltygui-0.1.8/meltygui/platforms/ios/devices.py +329 -0
  144. meltygui-0.1.8/meltygui/platforms/ios/download_numeric_wheels.py +223 -0
  145. meltygui-0.1.8/meltygui/platforms/ios/generate.py +216 -0
  146. meltygui-0.1.8/meltygui/platforms/ios/prepare_bundle.py +237 -0
  147. meltygui-0.1.8/meltygui/platforms/ios/provision.py +851 -0
  148. meltygui-0.1.8/meltygui/platforms/ios/rec2020-pq.icc +0 -0
  149. meltygui-0.1.8/meltygui/platforms/ios/runtime.py +77 -0
  150. meltygui-0.1.8/meltygui/platforms/ios/stage_dependencies.py +409 -0
  151. meltygui-0.1.8/meltygui/state/new_core_model.py +2525 -0
  152. meltygui-0.1.8/meltygui/text_index.py +818 -0
  153. meltygui-0.1.8/meltygui/view/account_view.py +524 -0
  154. meltygui-0.1.8/meltygui/view/chat_view.py +1595 -0
  155. meltygui-0.1.8/meltygui/view/collection_view.py +1515 -0
  156. meltygui-0.1.8/meltygui/view/color_view.py +982 -0
  157. meltygui-0.1.8/meltygui/view/control_view.py +608 -0
  158. meltygui-0.1.8/meltygui/view/dropdown_view.py +1414 -0
  159. meltygui-0.1.8/meltygui/view/file_view.py +1840 -0
  160. meltygui-0.1.8/meltygui/view/graph_view.py +885 -0
  161. meltygui-0.1.8/meltygui/view/header_view.py +877 -0
  162. meltygui-0.1.8/meltygui/view/menu_view.py +230 -0
  163. meltygui-0.1.8/meltygui/view/orchestration_view.py +658 -0
  164. meltygui-0.1.8/meltygui/view/path_icon_view.py +107 -0
  165. meltygui-0.1.8/meltygui/view/text_view.py +8330 -0
  166. meltygui-0.1.8/meltygui/view/texture_view.py +258 -0
  167. meltygui-0.1.8/meltygui/view/tile_view.py +338 -0
  168. meltygui-0.1.8/meltygui/view/trace_view.py +971 -0
  169. meltygui-0.1.8/meltygui/view/voxel_view.py +1864 -0
  170. meltygui-0.1.8/pyproject.toml +62 -0
  171. meltygui-0.1.8/tests/benchmark_gui_collisions.py +57 -0
  172. meltygui-0.1.8/tests/benchmark_gui_full_app.py +173 -0
  173. meltygui-0.1.8/tests/benchmark_gui_prototype.py +86 -0
  174. meltygui-0.1.8/tests/benchmark_gui_retained.py +71 -0
  175. meltygui-0.1.8/tests/conftest.py +121 -0
  176. meltygui-0.1.8/tests/ios/build_metal_test.py +26 -0
  177. meltygui-0.1.8/tests/ios/check_keyboard_animation.py +79 -0
  178. meltygui-0.1.8/tests/ios/conftest.py +22 -0
  179. meltygui-0.1.8/tests/ios/device_ui_check.py +290 -0
  180. meltygui-0.1.8/tests/ios/input_queue.cpp +89 -0
  181. meltygui-0.1.8/tests/ios/keyboard_animation.mm +115 -0
  182. meltygui-0.1.8/tests/ios/presentation.mm +70 -0
  183. meltygui-0.1.8/tests/ios/safe_area_layout.mm +102 -0
  184. meltygui-0.1.8/tests/ios/test_app_icon.py +402 -0
  185. meltygui-0.1.8/tests/ios/test_application.py +91 -0
  186. meltygui-0.1.8/tests/ios/test_dependencies.py +241 -0
  187. meltygui-0.1.8/tests/ios/test_devices.py +263 -0
  188. meltygui-0.1.8/tests/ios/test_dropdown_metal.py +112 -0
  189. meltygui-0.1.8/tests/ios/test_host.py +656 -0
  190. meltygui-0.1.8/tests/ios/test_keyboard_metal.py +104 -0
  191. meltygui-0.1.8/tests/ios/test_metal.py +377 -0
  192. meltygui-0.1.8/tests/ios/test_picker_metal.py +134 -0
  193. meltygui-0.1.8/tests/ios/test_presentation.py +24 -0
  194. meltygui-0.1.8/tests/ios/test_provision.py +629 -0
  195. meltygui-0.1.8/tests/ios/test_render_errors_metal.py +98 -0
  196. meltygui-0.1.8/tests/ios/test_text_caret_metal.py +111 -0
  197. meltygui-0.1.8/tests/native_gui_support.py +11 -0
  198. meltygui-0.1.8/tests/test_app_checkpoint.py +101 -0
  199. meltygui-0.1.8/tests/test_app_exit_flush.py +103 -0
  200. meltygui-0.1.8/tests/test_app_settings.py +208 -0
  201. meltygui-0.1.8/tests/test_background_frame_parking.py +53 -0
  202. meltygui-0.1.8/tests/test_bool_geometry.py +57 -0
  203. meltygui-0.1.8/tests/test_cached_input_delivery.py +151 -0
  204. meltygui-0.1.8/tests/test_chat_main.py +81 -0
  205. meltygui-0.1.8/tests/test_chat_turn_status.py +76 -0
  206. meltygui-0.1.8/tests/test_cocoa_drag_motion.py +170 -0
  207. meltygui-0.1.8/tests/test_color_picker_state.py +111 -0
  208. meltygui-0.1.8/tests/test_console_colors.py +73 -0
  209. meltygui-0.1.8/tests/test_control_paint.py +73 -0
  210. meltygui-0.1.8/tests/test_cooperative_parse_yield.py +69 -0
  211. meltygui-0.1.8/tests/test_core_syntax.py +994 -0
  212. meltygui-0.1.8/tests/test_deferred_invalidation.py +196 -0
  213. meltygui-0.1.8/tests/test_definition_relocation.py +273 -0
  214. meltygui-0.1.8/tests/test_desktop_gl.py +83 -0
  215. meltygui-0.1.8/tests/test_draw_state_parent_geometry.py +177 -0
  216. meltygui-0.1.8/tests/test_edge_motion_guard.py +527 -0
  217. meltygui-0.1.8/tests/test_embedded_frame.py +68 -0
  218. meltygui-0.1.8/tests/test_embedded_imports.py +70 -0
  219. meltygui-0.1.8/tests/test_fast_draw_dropdown.py +149 -0
  220. meltygui-0.1.8/tests/test_fast_menu_bar.py +38 -0
  221. meltygui-0.1.8/tests/test_file_meta_ios_notifications.py +44 -0
  222. meltygui-0.1.8/tests/test_file_meta_read_failures.py +62 -0
  223. meltygui-0.1.8/tests/test_file_metadata_model.py +244 -0
  224. meltygui-0.1.8/tests/test_file_rows_overlay.py +108 -0
  225. meltygui-0.1.8/tests/test_file_type_codecs.py +345 -0
  226. meltygui-0.1.8/tests/test_folder_icons.py +253 -0
  227. meltygui-0.1.8/tests/test_font_backing_scale.py +69 -0
  228. meltygui-0.1.8/tests/test_fps_counter.py +91 -0
  229. meltygui-0.1.8/tests/test_fractional_tiles.py +210 -0
  230. meltygui-0.1.8/tests/test_geometry_jitter.py +244 -0
  231. meltygui-0.1.8/tests/test_gui_collision_layout.py +597 -0
  232. meltygui-0.1.8/tests/test_gui_edges.py +76 -0
  233. meltygui-0.1.8/tests/test_gui_imgui_widgets.py +496 -0
  234. meltygui-0.1.8/tests/test_gui_prototype.py +210 -0
  235. meltygui-0.1.8/tests/test_gui_prototype_rendering.py +119 -0
  236. meltygui-0.1.8/tests/test_gui_public_api.py +139 -0
  237. meltygui-0.1.8/tests/test_gui_table_demo.py +75 -0
  238. meltygui-0.1.8/tests/test_gui_window_prototype.py +122 -0
  239. meltygui-0.1.8/tests/test_hdr_folder_icons.py +87 -0
  240. meltygui-0.1.8/tests/test_ios_capture_on_demand.py +26 -0
  241. meltygui-0.1.8/tests/test_ios_failure_display.py +54 -0
  242. meltygui-0.1.8/tests/test_ios_file_observer.py +170 -0
  243. meltygui-0.1.8/tests/test_ios_header_tint.py +160 -0
  244. meltygui-0.1.8/tests/test_ios_input.py +708 -0
  245. meltygui-0.1.8/tests/test_ios_jedi.py +208 -0
  246. meltygui-0.1.8/tests/test_ios_paths.py +166 -0
  247. meltygui-0.1.8/tests/test_ios_render_wake.py +34 -0
  248. meltygui-0.1.8/tests/test_ios_scroll_clock.py +143 -0
  249. meltygui-0.1.8/tests/test_ios_window_fallback.py +42 -0
  250. meltygui-0.1.8/tests/test_ios_workspace.py +86 -0
  251. meltygui-0.1.8/tests/test_melty_windows.py +184 -0
  252. meltygui-0.1.8/tests/test_metal_shadow_reuse.py +98 -0
  253. meltygui-0.1.8/tests/test_native_app.py +715 -0
  254. meltygui-0.1.8/tests/test_native_background_move.py +129 -0
  255. meltygui-0.1.8/tests/test_native_collision_fallback.py +125 -0
  256. meltygui-0.1.8/tests/test_native_collision_surface.py +122 -0
  257. meltygui-0.1.8/tests/test_native_graphics_imports.py +30 -0
  258. meltygui-0.1.8/tests/test_native_images.py +107 -0
  259. meltygui-0.1.8/tests/test_native_input_invalidation.py +156 -0
  260. meltygui-0.1.8/tests/test_native_live_resize.py +214 -0
  261. meltygui-0.1.8/tests/test_native_settings_surface.py +133 -0
  262. meltygui-0.1.8/tests/test_native_text.py +20 -0
  263. meltygui-0.1.8/tests/test_native_windows.py +265 -0
  264. meltygui-0.1.8/tests/test_nested_class_discovery.py +17 -0
  265. meltygui-0.1.8/tests/test_os_frame.py +1972 -0
  266. meltygui-0.1.8/tests/test_path_icon_view.py +85 -0
  267. meltygui-0.1.8/tests/test_portable_native_app.py +171 -0
  268. meltygui-0.1.8/tests/test_public_boundary.py +86 -0
  269. meltygui-0.1.8/tests/test_public_render_exports.py +75 -0
  270. meltygui-0.1.8/tests/test_release_workflow.py +135 -0
  271. meltygui-0.1.8/tests/test_render_catalog_sources.py +53 -0
  272. meltygui-0.1.8/tests/test_render_func_metadata.py +85 -0
  273. meltygui-0.1.8/tests/test_render_func_pickle.py +16 -0
  274. meltygui-0.1.8/tests/test_render_overlay.py +522 -0
  275. meltygui-0.1.8/tests/test_retained_gui_gpu.py +375 -0
  276. meltygui-0.1.8/tests/test_retained_gui_layout.py +578 -0
  277. meltygui-0.1.8/tests/test_retained_gui_prototype.py +341 -0
  278. meltygui-0.1.8/tests/test_retina_tile_capture.py +93 -0
  279. meltygui-0.1.8/tests/test_search_symbol_tables.py +36 -0
  280. meltygui-0.1.8/tests/test_shadow_capture_gl.py +177 -0
  281. meltygui-0.1.8/tests/test_source_ownership_cache.py +220 -0
  282. meltygui-0.1.8/tests/test_source_text_cache.py +111 -0
  283. meltygui-0.1.8/tests/test_subpixel_rendering.py +116 -0
  284. meltygui-0.1.8/tests/test_surface_frame_drag.py +34 -0
  285. meltygui-0.1.8/tests/test_surface_persistence.py +88 -0
  286. meltygui-0.1.8/tests/test_symbol_roster_async_names.py +230 -0
  287. meltygui-0.1.8/tests/test_symbol_roster_incremental_names.py +159 -0
  288. meltygui-0.1.8/tests/test_symbol_roster_ownership.py +38 -0
  289. meltygui-0.1.8/tests/test_symbol_roster_sweep.py +199 -0
  290. meltygui-0.1.8/tests/test_symbol_roster_watch_filter.py +73 -0
  291. meltygui-0.1.8/tests/test_system_titlebar_buttons.py +117 -0
  292. meltygui-0.1.8/tests/test_text_focus_bounds.py +184 -0
  293. meltygui-0.1.8/tests/test_texture_overlay.py +173 -0
  294. meltygui-0.1.8/tests/test_tile_links.py +724 -0
  295. meltygui-0.1.8/tests/test_tile_manager.py +652 -0
  296. meltygui-0.1.8/tests/test_tile_pixel_phase.py +81 -0
  297. meltygui-0.1.8/tests/test_tile_resize_replay.py +319 -0
  298. meltygui-0.1.8/tests/test_titlebar_hotpath.py +154 -0
  299. meltygui-0.1.8/tests/test_touch_gestures.py +438 -0
  300. meltygui-0.1.8/tests/test_view_identity.py +128 -0
  301. meltygui-0.1.8/tests/test_voxel_ownership.py +64 -0
  302. meltygui-0.1.8/tools/release.py +111 -0
  303. meltygui-0.1.2/.gitignore +0 -10
  304. meltygui-0.1.2/PKG-INFO +0 -145
  305. meltygui-0.1.2/README.md +0 -98
  306. meltygui-0.1.2/docs/APPS.md +0 -340
  307. meltygui-0.1.2/docs/DEVELOPMENT.md +0 -148
  308. meltygui-0.1.2/docs/PUBLISHING.md +0 -79
  309. meltygui-0.1.2/examples/tile_manager.py +0 -12
  310. meltygui-0.1.2/meltygui/__init__.py +0 -120
  311. meltygui-0.1.2/meltygui/accounts/internet_accounts.py +0 -1365
  312. meltygui-0.1.2/meltygui/chat/chat_interface.py +0 -759
  313. meltygui-0.1.2/meltygui/chat/images.py +0 -227
  314. meltygui-0.1.2/meltygui/chat/main.py +0 -202
  315. meltygui-0.1.2/meltygui/code/chain_converters.py +0 -2111
  316. meltygui-0.1.2/meltygui/code/codec_registry.py +0 -40
  317. meltygui-0.1.2/meltygui/code/fileref.py +0 -702
  318. meltygui-0.1.2/meltygui/code/libcst_conversion.py +0 -9724
  319. meltygui-0.1.2/meltygui/code/new_codecs.py +0 -1292
  320. meltygui-0.1.2/meltygui/code/new_converters.py +0 -3034
  321. meltygui-0.1.2/meltygui/code/project_code.py +0 -278
  322. meltygui-0.1.2/meltygui/code/source_context.py +0 -63
  323. meltygui-0.1.2/meltygui/code/symbol_roster.py +0 -1588
  324. meltygui-0.1.2/meltygui/completion/providers/anthropic_oauth.py +0 -446
  325. meltygui-0.1.2/meltygui/completion/providers/anthropic_requests.py +0 -69
  326. meltygui-0.1.2/meltygui/completion/providers/claude_usage.py +0 -499
  327. meltygui-0.1.2/meltygui/completion/providers/codex_accounts.py +0 -180
  328. meltygui-0.1.2/meltygui/core/automation/orchestration_core.py +0 -2638
  329. meltygui-0.1.2/meltygui/core/automation/query_core.py +0 -124
  330. meltygui-0.1.2/meltygui/core/cache/mask_batch.py +0 -176
  331. meltygui-0.1.2/meltygui/core/cache/tile_cache.py +0 -6061
  332. meltygui-0.1.2/meltygui/core/conversion/dict_conversion_util.py +0 -177
  333. meltygui-0.1.2/meltygui/core/conversion/render_host.py +0 -1083
  334. meltygui-0.1.2/meltygui/core/core_render.py +0 -6363
  335. meltygui-0.1.2/meltygui/core/diagnostics/edge_motion_guard.py +0 -621
  336. meltygui-0.1.2/meltygui/core/diagnostics/fps_counter.py +0 -25
  337. meltygui-0.1.2/meltygui/core/diagnostics/geometry_jitter.py +0 -208
  338. meltygui-0.1.2/meltygui/core/diagnostics/resize_trace.py +0 -64
  339. meltygui-0.1.2/meltygui/core/graphics/gl_state.py +0 -658
  340. meltygui-0.1.2/meltygui/core/graphics/overlay_renderer.py +0 -1008
  341. meltygui-0.1.2/meltygui/core/graphics/scene_target.py +0 -180
  342. meltygui-0.1.2/meltygui/core/graphics/screenshot.py +0 -439
  343. meltygui-0.1.2/meltygui/core/graphics/shader_func.py +0 -478
  344. meltygui-0.1.2/meltygui/core/graphics/text_texture.py +0 -329
  345. meltygui-0.1.2/meltygui/core/input/input_handler.py +0 -1149
  346. meltygui-0.1.2/meltygui/core/input/pynput_backend.py +0 -1057
  347. meltygui-0.1.2/meltygui/core/layout/column_core.py +0 -2256
  348. meltygui-0.1.2/meltygui/core/layout/tile_links.py +0 -180
  349. meltygui-0.1.2/meltygui/core/layout/tile_manager_core.py +0 -768
  350. meltygui-0.1.2/meltygui/core/layout/tile_resize.py +0 -54
  351. meltygui-0.1.2/meltygui/core/melty.py +0 -6976
  352. meltygui-0.1.2/meltygui/core/module_map.json +0 -915
  353. meltygui-0.1.2/meltygui/core/rendering/mode.py +0 -864
  354. meltygui-0.1.2/meltygui/core/rendering/overlay.py +0 -353
  355. meltygui-0.1.2/meltygui/core/rendering/render_funcs.py +0 -272
  356. meltygui-0.1.2/meltygui/core/rendering/view_identity.py +0 -199
  357. meltygui-0.1.2/meltygui/core/runtime/app.py +0 -916
  358. meltygui-0.1.2/meltygui/core/runtime/app_session.py +0 -140
  359. meltygui-0.1.2/meltygui/core/runtime/app_settings.py +0 -183
  360. meltygui-0.1.2/meltygui/core/runtime/gc_manager.py +0 -1163
  361. meltygui-0.1.2/meltygui/core/runtime/launch_override.py +0 -223
  362. meltygui-0.1.2/meltygui/core/runtime/paths.py +0 -27
  363. meltygui-0.1.2/meltygui/core/runtime/toggles.py +0 -3177
  364. meltygui-0.1.2/meltygui/core/services/terminal_core.py +0 -458
  365. meltygui-0.1.2/meltygui/core/styling/fonts.py +0 -639
  366. meltygui-0.1.2/meltygui/core/styling/style_core.py +0 -522
  367. meltygui-0.1.2/meltygui/core/windowing/backends/imgui_renderer.py +0 -138
  368. meltygui-0.1.2/meltygui/core/windowing/geometry_feed.py +0 -956
  369. meltygui-0.1.2/meltygui/core/windowing/glfw_utils.py +0 -1429
  370. meltygui-0.1.2/meltygui/core/windowing/os_frame.py +0 -1600
  371. meltygui-0.1.2/meltygui/core/windowing/surface.py +0 -707
  372. meltygui-0.1.2/meltygui/core/windowing/titlebar.py +0 -1643
  373. meltygui-0.1.2/meltygui/core/windowing/titlebar_buttons.py +0 -281
  374. meltygui-0.1.2/meltygui/core/windowing/window_api.py +0 -62
  375. meltygui-0.1.2/meltygui/editor/pending_save.py +0 -1382
  376. meltygui-0.1.2/meltygui/editor/text_editor.py +0 -9083
  377. meltygui-0.1.2/meltygui/files/fast_file_explorer.py +0 -437
  378. meltygui-0.1.2/meltygui/graphics/shader_compiler.py +0 -155
  379. meltygui-0.1.2/meltygui/image_load.py +0 -308
  380. meltygui-0.1.2/meltygui/model/chat_folder_model.py +0 -163
  381. meltygui-0.1.2/meltygui/model/chat_model.py +0 -178
  382. meltygui-0.1.2/meltygui/model/file_location_model.py +0 -118
  383. meltygui-0.1.2/meltygui/model/file_model.py +0 -289
  384. meltygui-0.1.2/meltygui/model/folder_icon_model.py +0 -348
  385. meltygui-0.1.2/meltygui/model/import_graph_model.py +0 -468
  386. meltygui-0.1.2/meltygui/model/source_snapshot_model.py +0 -288
  387. meltygui-0.1.2/meltygui/model/texture_model.py +0 -250
  388. meltygui-0.1.2/meltygui/models/file_meta.py +0 -700
  389. meltygui-0.1.2/meltygui/state/new_core_model.py +0 -2440
  390. meltygui-0.1.2/meltygui/text_index.py +0 -816
  391. meltygui-0.1.2/meltygui/view/account_view.py +0 -524
  392. meltygui-0.1.2/meltygui/view/chat_view.py +0 -1595
  393. meltygui-0.1.2/meltygui/view/collection_view.py +0 -1512
  394. meltygui-0.1.2/meltygui/view/color_view.py +0 -1039
  395. meltygui-0.1.2/meltygui/view/control_view.py +0 -607
  396. meltygui-0.1.2/meltygui/view/dropdown_view.py +0 -1363
  397. meltygui-0.1.2/meltygui/view/file_view.py +0 -1831
  398. meltygui-0.1.2/meltygui/view/graph_view.py +0 -885
  399. meltygui-0.1.2/meltygui/view/header_view.py +0 -862
  400. meltygui-0.1.2/meltygui/view/menu_view.py +0 -228
  401. meltygui-0.1.2/meltygui/view/orchestration_view.py +0 -658
  402. meltygui-0.1.2/meltygui/view/path_icon_view.py +0 -105
  403. meltygui-0.1.2/meltygui/view/text_view.py +0 -8099
  404. meltygui-0.1.2/meltygui/view/texture_view.py +0 -244
  405. meltygui-0.1.2/meltygui/view/tile_view.py +0 -316
  406. meltygui-0.1.2/meltygui/view/trace_view.py +0 -971
  407. meltygui-0.1.2/meltygui/view/voxel_view.py +0 -1864
  408. meltygui-0.1.2/pyproject.toml +0 -39
  409. meltygui-0.1.2/tests/conftest.py +0 -121
  410. meltygui-0.1.2/tests/test_app_exit_flush.py +0 -95
  411. meltygui-0.1.2/tests/test_app_settings.py +0 -161
  412. meltygui-0.1.2/tests/test_cached_input_delivery.py +0 -103
  413. meltygui-0.1.2/tests/test_chat_main.py +0 -66
  414. meltygui-0.1.2/tests/test_chat_turn_status.py +0 -76
  415. meltygui-0.1.2/tests/test_control_paint.py +0 -34
  416. meltygui-0.1.2/tests/test_core_syntax.py +0 -996
  417. meltygui-0.1.2/tests/test_definition_relocation.py +0 -274
  418. meltygui-0.1.2/tests/test_draw_state_parent_geometry.py +0 -177
  419. meltygui-0.1.2/tests/test_edge_motion_guard.py +0 -512
  420. meltygui-0.1.2/tests/test_fast_draw_dropdown.py +0 -107
  421. meltygui-0.1.2/tests/test_fast_menu_bar.py +0 -32
  422. meltygui-0.1.2/tests/test_file_metadata_model.py +0 -244
  423. meltygui-0.1.2/tests/test_file_rows_overlay.py +0 -106
  424. meltygui-0.1.2/tests/test_file_type_codecs.py +0 -271
  425. meltygui-0.1.2/tests/test_folder_icons.py +0 -228
  426. meltygui-0.1.2/tests/test_fps_counter.py +0 -46
  427. meltygui-0.1.2/tests/test_geometry_jitter.py +0 -229
  428. meltygui-0.1.2/tests/test_native_windows.py +0 -264
  429. meltygui-0.1.2/tests/test_os_frame.py +0 -1884
  430. meltygui-0.1.2/tests/test_path_icon_view.py +0 -75
  431. meltygui-0.1.2/tests/test_public_boundary.py +0 -63
  432. meltygui-0.1.2/tests/test_release_workflow.py +0 -105
  433. meltygui-0.1.2/tests/test_render_overlay.py +0 -448
  434. meltygui-0.1.2/tests/test_search_symbol_tables.py +0 -24
  435. meltygui-0.1.2/tests/test_shadow_capture_gl.py +0 -169
  436. meltygui-0.1.2/tests/test_texture_overlay.py +0 -126
  437. meltygui-0.1.2/tests/test_tile_links.py +0 -706
  438. meltygui-0.1.2/tests/test_tile_manager.py +0 -476
  439. meltygui-0.1.2/tests/test_tile_resize_replay.py +0 -179
  440. meltygui-0.1.2/tests/test_view_identity.py +0 -91
  441. meltygui-0.1.2/tests/test_voxel_ownership.py +0 -61
  442. meltygui-0.1.2/tools/release.py +0 -111
  443. {meltygui-0.1.2 → meltygui-0.1.8}/LICENSE +0 -0
  444. {meltygui-0.1.2 → meltygui-0.1.8}/docs/INPUT_RECORDING.md +0 -0
  445. {meltygui-0.1.2 → meltygui-0.1.8}/docs/SUPPORT_WHEELS.md +0 -0
  446. {meltygui-0.1.2 → meltygui-0.1.8}/examples/render_overlay.py +0 -0
  447. {meltygui-0.1.2 → meltygui-0.1.8}/examples/tensor_live.py +0 -0
  448. {meltygui-0.1.2 → meltygui-0.1.8}/examples/tile_sibling_links.py +0 -0
  449. {meltygui-0.1.2 → meltygui-0.1.8}/examples/voxel_playground.py +0 -0
  450. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/accounts/__init__.py +0 -0
  451. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/__init__.py +0 -0
  452. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/__main__.py +0 -0
  453. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/activity.py +0 -0
  454. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/LICENSE +0 -0
  455. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/README.md +0 -0
  456. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/claude.png +0 -0
  457. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/claude.svg +0 -0
  458. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/codex.png +0 -0
  459. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/assets/source-icons/codex.svg +0 -0
  460. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/auto_titles.py +0 -0
  461. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/backends.py +0 -0
  462. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/chat_proxy.py +0 -0
  463. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/chat_service.py +0 -0
  464. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/claude_code.py +0 -0
  465. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/codex_proxy.py +0 -0
  466. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/codex_settings.py +0 -0
  467. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/codex_transport.py +0 -0
  468. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/command_parser.py +0 -0
  469. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/messages.py +0 -0
  470. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/metadata.py +0 -0
  471. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/chat/writer_locks.py +0 -0
  472. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/__init__.py +0 -0
  473. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/basic_converters.py +0 -0
  474. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/code_checks.py +0 -0
  475. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/core_syntax.py +0 -0
  476. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/file_converters.py +0 -0
  477. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/hotswap_guard.py +0 -0
  478. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/live_instrument.py +0 -0
  479. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/live_view.py +0 -0
  480. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/melty_scan.py +0 -0
  481. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/syntax_check.py +0 -0
  482. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/code/syntax_check_worker.py +0 -0
  483. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/__init__.py +0 -0
  484. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/fim.py +0 -0
  485. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/fim_context.py +0 -0
  486. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/__init__.py +0 -0
  487. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/claude.py +0 -0
  488. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/copilot.py +0 -0
  489. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/oauth_popup.py +0 -0
  490. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/ollama.py +0 -0
  491. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/completion/providers/profiles.py +0 -0
  492. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/README.md +0 -0
  493. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/__init__.py +0 -0
  494. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/__init__.py +0 -0
  495. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/action_core.py +0 -0
  496. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/collection_action.py +0 -0
  497. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/input_recording_core.py +0 -0
  498. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/input_replay.py +0 -0
  499. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/mcp_eval.py +0 -0
  500. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/mcp_hotswap.py +0 -0
  501. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/mcp_query.py +0 -0
  502. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/mcp_server.py +0 -0
  503. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/search_core.py +0 -0
  504. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/selector_core.py +0 -0
  505. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/automation/value_core.py +0 -0
  506. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/__init__.py +0 -0
  507. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/cache_diagnostics.py +0 -0
  508. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/invalidation_decoration.py +0 -0
  509. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/invalidation_tracker.py +0 -0
  510. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/parameter_dependencies.py +0 -0
  511. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/cache/tile_marks.py +0 -0
  512. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/__init__.py +0 -0
  513. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/bubbling.py +0 -0
  514. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/cache_tree.py +0 -0
  515. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/chain.py +0 -0
  516. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/converter_register.py +0 -0
  517. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/data_decoration.py +0 -0
  518. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/dict_conversion.py +0 -0
  519. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/dynamic_obj.py +0 -0
  520. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/graph_compare.py +0 -0
  521. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/load_save_v2.py +0 -0
  522. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/missing_saved_class.py +0 -0
  523. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/conversion/path_finder.py +0 -0
  524. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/definition_hotswap.py +0 -0
  525. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/__init__.py +0 -0
  526. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/attribute_churn.py +0 -0
  527. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/gpu_frame_timer.py +0 -0
  528. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/inspection_core.py +0 -0
  529. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/monitor_core.py +0 -0
  530. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/notifications.py +0 -0
  531. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/perf_trace.py +0 -0
  532. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/profile_decoration.py +0 -0
  533. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/screenshot_core.py +0 -0
  534. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/session_status.py +0 -0
  535. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/diagnostics/trace_core.py +0 -0
  536. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/__init__.py +0 -0
  537. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/file_core.py +0 -0
  538. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/file_explorer_core.py +0 -0
  539. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/file_tree_core.py +0 -0
  540. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/file_watch_core.py +0 -0
  541. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/import_graph_core.py +0 -0
  542. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/metadata_core.py +0 -0
  543. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/files/path_icons.py +0 -0
  544. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/__init__.py +0 -0
  545. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/cuda_context_core.py +0 -0
  546. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/cuda_interop_core.py +0 -0
  547. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/cuda_kernel_core.py +0 -0
  548. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/framebuffer_recorder.py +0 -0
  549. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/lut_core.py +0 -0
  550. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/tensor_core.py +0 -0
  551. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/graphics/wayland_color.py +0 -0
  552. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/__init__.py +0 -0
  553. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/collision.py +0 -0
  554. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/drag_drop_core.py +0 -0
  555. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/hypr_left_drag.py +0 -0
  556. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/input_core.py +0 -0
  557. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/mouse_cursor.py +0 -0
  558. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/space_mouse.py +0 -0
  559. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/touchpad_backend.py +0 -0
  560. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/input/view_selection.py +0 -0
  561. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/__init__.py +0 -0
  562. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/cursor_core.py +0 -0
  563. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/dropdown_core.py +0 -0
  564. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/edge_constraints.py +0 -0
  565. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/grid_core.py +0 -0
  566. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/header_core.py +0 -0
  567. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/header_runtime.py +0 -0
  568. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/layout/layout_core.py +0 -0
  569. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/module_names.py +0 -0
  570. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/__init__.py +0 -0
  571. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/core_decoration.py +0 -0
  572. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/core_render_helpers.py +0 -0
  573. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/fast_view.py +0 -0
  574. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/func_metadata.py +0 -0
  575. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/injected_state.py +0 -0
  576. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/mode_defaults.py +0 -0
  577. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/modes.py +0 -0
  578. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/parameter_core.py +0 -0
  579. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/render_dispatch.py +0 -0
  580. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/shaped.py +0 -0
  581. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/rendering/window_decoration.py +0 -0
  582. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/__init__.py +0 -0
  583. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/background.py +0 -0
  584. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/extensions.py +0 -0
  585. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/lifecycle.py +0 -0
  586. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/settings.py +0 -0
  587. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/singleton.py +0 -0
  588. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/thread_safe_bool.py +0 -0
  589. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/runtime/thread_signal.py +0 -0
  590. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/services/__init__.py +0 -0
  591. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/services/account_core.py +0 -0
  592. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/services/chat_core.py +0 -0
  593. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/services/claude_terminal_core.py +0 -0
  594. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/services/terminal_runtime.py +0 -0
  595. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/styling/__init__.py +0 -0
  596. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/styling/color_core.py +0 -0
  597. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/styling/global_style.py +0 -0
  598. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/styling/style.py +0 -0
  599. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/styling/warm_start.py +0 -0
  600. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/__init__.py +0 -0
  601. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/PYIMGUI_LICENSE +0 -0
  602. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/__init__.py +0 -0
  603. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/native_wayland.py +0 -0
  604. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/protocols/xdg-decoration-unstable-v1.xml +0 -0
  605. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/protocols/xdg-shell.xml +0 -0
  606. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/backends/wayland_protocol.py +0 -0
  607. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/dock_core.py +0 -0
  608. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/frame_geometry.py +0 -0
  609. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/wayland_move.py +0 -0
  610. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/window_constants.py +0 -0
  611. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/core/windowing/window_visibility.py +0 -0
  612. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/debug/__init__.py +0 -0
  613. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/debug/app_view_utils.py +0 -0
  614. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/__init__.py +0 -0
  615. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/bash_syntax.py +0 -0
  616. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/code_line_fast.py +0 -0
  617. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/diff.py +0 -0
  618. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/external_changes.py +0 -0
  619. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/file_header.py +0 -0
  620. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/live_usage.py +0 -0
  621. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/live_view_views.py +0 -0
  622. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/roster_tints.py +0 -0
  623. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/source_preview.py +0 -0
  624. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/source_tools.py +0 -0
  625. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/source_ui.py +0 -0
  626. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/spell_check.py +0 -0
  627. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/editor/usage_picker.py +0 -0
  628. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/events/__init__.py +0 -0
  629. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/events/example.py +0 -0
  630. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/__init__.py +0 -0
  631. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/columns_demo.py +0 -0
  632. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/columns_window_demo.py +0 -0
  633. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/context_menu_demo.py +0 -0
  634. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/context_menu_window_demo.py +0 -0
  635. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/gui_playground.py +0 -0
  636. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/live_view_playground.py +0 -0
  637. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/lora.py +0 -0
  638. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/lora_data.py +0 -0
  639. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/lora_policies.py +0 -0
  640. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/mode_demo.py +0 -0
  641. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/modifies_demo.py +0 -0
  642. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/scalar_policies.py +0 -0
  643. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/settings_demo.py +0 -0
  644. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/style_layouts.py +0 -0
  645. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/tile_manager_demo.py +0 -0
  646. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/tint_demo.py +0 -0
  647. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/tint_functions.py +0 -0
  648. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/trace_demo.py +0 -0
  649. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/two_windows.py +0 -0
  650. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/examples/voxel_transfer_paths.py +0 -0
  651. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/files/__init__.py +0 -0
  652. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/gnome_extension/lsd-window-geometry@latent-descent/extension.js +0 -0
  653. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/gnome_extension/lsd-window-geometry@latent-descent/lsd-window-geometry@latent-descent.iml +0 -0
  654. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/gnome_extension/lsd-window-geometry@latent-descent/metadata.json +0 -0
  655. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/__init__.py +0 -0
  656. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/base.py +0 -0
  657. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/examples.py +0 -0
  658. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/executor.py +0 -0
  659. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/filter.py +0 -0
  660. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/filter.pyi +0 -0
  661. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/generate_stubs.py +0 -0
  662. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/registry.py +0 -0
  663. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/shaders.py +0 -0
  664. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/stub_generator.py +0 -0
  665. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/graphics/texture_min_max.py +0 -0
  666. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/hdr_color.py +0 -0
  667. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/__init__.py +0 -0
  668. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/account_model.py +0 -0
  669. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/breakpoint_model.py +0 -0
  670. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/camera_model.py +0 -0
  671. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/code_dict_model.py +0 -0
  672. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/code_model.py +0 -0
  673. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/code_proxy_model.py +0 -0
  674. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/collection_model.py +0 -0
  675. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/color_model.py +0 -0
  676. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/cuda_buffer_model.py +0 -0
  677. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/cuda_tensor_model.py +0 -0
  678. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/cuda_texture_model.py +0 -0
  679. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/dropdown_model.py +0 -0
  680. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/file_metadata_model.py +0 -0
  681. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/format_model.py +0 -0
  682. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/graph_model.py +0 -0
  683. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/icon_model.py +0 -0
  684. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/input_recording_model.py +0 -0
  685. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/layout_model.py +0 -0
  686. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/lut_model.py +0 -0
  687. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/search_model.py +0 -0
  688. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/tensor_model.py +0 -0
  689. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/terminal_model.py +0 -0
  690. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/tile_model.py +0 -0
  691. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/trace_model.py +0 -0
  692. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/model/trace_report_model.py +0 -0
  693. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/models/__init__.py +0 -0
  694. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/models/function_console.py +0 -0
  695. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/models/orchestration.py +0 -0
  696. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/pbr.py +0 -0
  697. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/png_unfilter.c +0 -0
  698. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/JetBrainsMono-Regular.ttf +0 -0
  699. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/THIRD_PARTY_NOTICES.md +0 -0
  700. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/dejavu/DejaVuSans-Bold.ttf +0 -0
  701. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/dejavu/DejaVuSans-ExtraLight.ttf +0 -0
  702. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/dejavu/DejaVuSans.ttf +0 -0
  703. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/dejavu/LICENSE.txt +0 -0
  704. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/fontawesome-LICENSE.txt +0 -0
  705. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/fontawesome-webfont.ttf +0 -0
  706. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/hdri/studio_small_09_1k.hdr +0 -0
  707. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-Bold.ttf +0 -0
  708. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraBold.ttf +0 -0
  709. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraLight.ttf +0 -0
  710. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-Light.ttf +0 -0
  711. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-Medium.ttf +0 -0
  712. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-SemiBold.ttf +0 -0
  713. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/JetBrainsMono-Thin.ttf +0 -0
  714. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/OFL.txt +0 -0
  715. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/resources/jetbrains-weights/README.md +0 -0
  716. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/__init__.py +0 -0
  717. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/account_state.py +0 -0
  718. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/animation_state.py +0 -0
  719. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/annotation_state.py +0 -0
  720. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/chat_state.py +0 -0
  721. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/code_state.py +0 -0
  722. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/core_enums.py +0 -0
  723. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/core_markers.py +0 -0
  724. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/core_undo.py +0 -0
  725. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/file_state.py +0 -0
  726. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/graph_state.py +0 -0
  727. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/inspection_state.py +0 -0
  728. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/menu_state.py +0 -0
  729. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/model_enums.py +0 -0
  730. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/orchestration_state.py +0 -0
  731. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/path_icon_state.py +0 -0
  732. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/query_state.py +0 -0
  733. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/tensor_state.py +0 -0
  734. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/terminal_state.py +0 -0
  735. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/texture_state.py +0 -0
  736. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/trace_state.py +0 -0
  737. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/view_reference.py +0 -0
  738. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/state/voxel_state.py +0 -0
  739. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/utils/__init__.py +0 -0
  740. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/utils/jump_to_code.py +0 -0
  741. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/utils/pkl_inspect.py +0 -0
  742. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/utils/render_utils.py +0 -0
  743. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/__init__.py +0 -0
  744. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/action_view.py +0 -0
  745. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/chat_decoration_view.py +0 -0
  746. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/chat_sidebar_view.py +0 -0
  747. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/chat_source_icon_view.py +0 -0
  748. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/code_view.py +0 -0
  749. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/decoration_view.py +0 -0
  750. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/diagnostic_view.py +0 -0
  751. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/file_icon_view.py +0 -0
  752. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/graph_cuda_view.py +0 -0
  753. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/input_recording_view.py +0 -0
  754. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/input_view.py +0 -0
  755. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/inspection_view.py +0 -0
  756. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/layout_view.py +0 -0
  757. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/lut_view.py +0 -0
  758. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/query_view.py +0 -0
  759. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/search_view.py +0 -0
  760. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/tab_view.py +0 -0
  761. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/tensor_view.py +0 -0
  762. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/terminal_view.py +0 -0
  763. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/voxel_cuda_view.py +0 -0
  764. {meltygui-0.1.2 → meltygui-0.1.8}/meltygui/view/window_view.py +0 -0
  765. {meltygui-0.1.2 → meltygui-0.1.8}/tests/fixtures/terminal_before_runtime.py +0 -0
  766. {meltygui-0.1.2 → meltygui-0.1.8}/tests/profile_render_wrapper.py +0 -0
  767. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_background_palette.py +0 -0
  768. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_breakpoint_model.py +0 -0
  769. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_capture_passes.py +0 -0
  770. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_auto_titles.py +0 -0
  771. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_claude_code.py +0 -0
  772. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_codex_fast.py +0 -0
  773. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_messages.py +0 -0
  774. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_presentation.py +0 -0
  775. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_service.py +0 -0
  776. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_chat_token_usage.py +0 -0
  777. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_child_surface_cache_keepalive.py +0 -0
  778. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_clean_surface_skip.py +0 -0
  779. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_click_disambiguation.py +0 -0
  780. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_code_dict.py +0 -0
  781. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_code_dict_scenarios.py +0 -0
  782. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_column_edge_solve.py +0 -0
  783. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_column_frame_fit.py +0 -0
  784. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_column_maxes.py +0 -0
  785. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_column_right_drag_display_wall.py +0 -0
  786. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_context_menu_placement.py +0 -0
  787. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_core_relocation.py +0 -0
  788. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_crash_report_store.py +0 -0
  789. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_context_core.py +0 -0
  790. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_direct_lines.py +0 -0
  791. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_image_interop.py +0 -0
  792. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_interop.py +0 -0
  793. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_interop_core.py +0 -0
  794. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_kernel_core.py +0 -0
  795. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_cuda_march.py +0 -0
  796. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_deferred_view_returns.py +0 -0
  797. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_dropdown_divider.py +0 -0
  798. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_edge_graph_solve.py +0 -0
  799. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_fast_draw_collection.py +0 -0
  800. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_file_model.py +0 -0
  801. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_file_watch_limits.py +0 -0
  802. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_file_watch_start.py +0 -0
  803. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_frame_geometry_hotswap.py +0 -0
  804. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_freeze_scrollbar_overlay.py +0 -0
  805. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_fstring_highlight.py +0 -0
  806. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_function_console.py +0 -0
  807. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_geometry_feed_grace.py +0 -0
  808. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_glfw_window_app_name.py +0 -0
  809. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_glfw_window_editable_root.py +0 -0
  810. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_gpu_frame_timer.py +0 -0
  811. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_hdr_color.py +0 -0
  812. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_held_input.py +0 -0
  813. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_hotswap_preserves_runtime_state.py +0 -0
  814. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_image_texture.py +0 -0
  815. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_import_boundary.py +0 -0
  816. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_initial_child_placement.py +0 -0
  817. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_input_recording.py +0 -0
  818. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_live_class_apply.py +0 -0
  819. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_live_function_apply.py +0 -0
  820. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_live_store_owner.py +0 -0
  821. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_lut_model.py +0 -0
  822. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_mask_batch.py +0 -0
  823. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_native_background_drag.py +0 -0
  824. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_native_body_cursor.py +0 -0
  825. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_native_frame_contacts.py +0 -0
  826. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_native_resize_workarea.py +0 -0
  827. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_nested_layout_right_drag.py +0 -0
  828. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_overlay_submission_state.py +0 -0
  829. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_package_contract.py +0 -0
  830. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_pending_signature_lint.py +0 -0
  831. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_readme_examples.py +0 -0
  832. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_recent_files.py +0 -0
  833. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_recompile_import_backfill.py +0 -0
  834. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_render_background.py +0 -0
  835. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_render_change_notification.py +0 -0
  836. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_render_context_injection.py +0 -0
  837. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_render_func_integration.py +0 -0
  838. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_render_host_surface_drag.py +0 -0
  839. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_restored_resource_ownership.py +0 -0
  840. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_row_edge_solve.py +0 -0
  841. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_saved_renderer_recovery.py +0 -0
  842. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_shader_func.py +0 -0
  843. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_shaped.py +0 -0
  844. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_source_site_keys.py +0 -0
  845. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_startup_imports.py +0 -0
  846. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_surface_body_resize.py +0 -0
  847. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_syntax_check_worker.py +0 -0
  848. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_tensor_controls.py +0 -0
  849. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_tensor_model.py +0 -0
  850. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_tensor_slices.py +0 -0
  851. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_terminal_live_migration.py +0 -0
  852. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_terminal_ownership.py +0 -0
  853. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_text_texture_contexts.py +0 -0
  854. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_tile_frame_reuse.py +0 -0
  855. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_tile_hotswap_content.py +0 -0
  856. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_toggles_color.py +0 -0
  857. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_typing_incremental_layout.py +0 -0
  858. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_unmanaged_window_frames.py +0 -0
  859. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_view_icon_locate.py +0 -0
  860. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_voxel_backends.py +0 -0
  861. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_voxel_roll_gl.py +0 -0
  862. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_window_call_state.py +0 -0
  863. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_window_collision_investigation.py +0 -0
  864. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_window_comment_overrides.py +0 -0
  865. {meltygui-0.1.2 → meltygui-0.1.8}/tests/test_windows_portability.py +0 -0
  866. {meltygui-0.1.2 → meltygui-0.1.8}/tests/untitled.py +0 -0
  867. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/build.py +0 -0
  868. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/build_in_container.sh +0 -0
  869. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/NVIDIA-CUDA-12.1-EULA.txt +0 -0
  870. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/boost.txt +0 -0
  871. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/imgui-MIT.txt +0 -0
  872. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/imstb_rectpack.h.license.txt +0 -0
  873. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/imstb_textedit.h.license.txt +0 -0
  874. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/licenses/imstb_truetype.h.license.txt +0 -0
  875. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/prepare.py +0 -0
  876. {meltygui-0.1.2 → meltygui-0.1.8}/tools/native_wheels/rewrite_imports.py +0 -0
@@ -0,0 +1,12 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.pyc
4
+ .pytest_cache/
5
+ dist/
6
+ build/
7
+ *.egg-info/
8
+ .melty/
9
+ .DS_Store
10
+ .idea/
11
+ meltygui/core/rendering/_gui_native*.so
12
+ meltygui/core/rendering/_gui_native*.pyd
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.5
2
+ Name: meltygui
3
+ Version: 0.1.8
4
+ Summary: Immediate-mode Python UI, live inspection, HDR and tensor visualization
5
+ License-Expression: Apache-2.0
6
+ License-File: LICENSE
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Operating System :: MacOS :: MacOS X
9
+ Classifier: Operating System :: Microsoft :: Windows
10
+ Classifier: Operating System :: POSIX :: Linux
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Python: <3.14,>=3.11
15
+ Requires-Dist: anthropic>=0.40
16
+ Requires-Dist: freetype-py>=2.4
17
+ Requires-Dist: glfw>=2.10; sys_platform != 'ios'
18
+ Requires-Dist: httpx>=0.27
19
+ Requires-Dist: jedi>=0.19
20
+ Requires-Dist: libcst>=1.4
21
+ Requires-Dist: mcp>=2.0
22
+ Requires-Dist: meltygui-imgui<2.0.4,>=2.0.3
23
+ Requires-Dist: numpy>=1.26
24
+ Requires-Dist: packaging>=24
25
+ Requires-Dist: paramiko>=3.5
26
+ Requires-Dist: pillow>=10
27
+ Requires-Dist: psutil>=6; sys_platform != 'ios'
28
+ Requires-Dist: pygments>=2.18
29
+ Requires-Dist: pyopengl-accelerate>=3.1.7; sys_platform != 'ios'
30
+ Requires-Dist: pyopengl>=3.1.7; sys_platform != 'ios'
31
+ Requires-Dist: pyte>=0.8
32
+ Requires-Dist: rich>=13
33
+ Requires-Dist: rtree>=1.2
34
+ Requires-Dist: symspellpy>=6.7
35
+ Requires-Dist: tomlkit>=0.13
36
+ Requires-Dist: uvicorn>=0.30
37
+ Requires-Dist: watchdog>=4
38
+ Provides-Extra: claude
39
+ Requires-Dist: claude-agent-sdk>=0.2.152; extra == 'claude'
40
+ Provides-Extra: input
41
+ Requires-Dist: evdev>=1.7; (sys_platform == 'linux') and extra == 'input'
42
+ Requires-Dist: pynput>=1.7; extra == 'input'
43
+ Provides-Extra: profile
44
+ Requires-Dist: line-profiler>=4; extra == 'profile'
45
+ Provides-Extra: tensor
46
+ Requires-Dist: meltygui-pycuda<2026.3,>=2026.2; (sys_platform == 'linux') and extra == 'tensor'
47
+ Requires-Dist: torch>=2.2; extra == 'tensor'
48
+ Description-Content-Type: text/markdown
49
+
50
+ # MeltyGUI
51
+
52
+ Low latency tensor visualization for PyTorch.
53
+
54
+ MeltyGUI is an open source data visualization toolkit for PyTorch, designed to render massive tensors in-place on the GPU at an interactive framerate. The purpose of this project is to make PyTorch code easier to understand and faster to debug. Along with its core tensor rendering components, MeltyGUI is bundled with a Blender inspired UI framework designed to make interacting with high dimensional tensors feel fast and intuitive.
55
+
56
+ MeltyGUI is capable of rendering tensors exceeding 64GB in size. The primary challenge with visualizing data this large is moving it around. MeltyGUI skips the data movement entirely, and ray-marches tensors directly from CUDA memory.
57
+
58
+ <img width="2410" height="2018" alt="Image" src="https://github.com/user-attachments/assets/82ffae2c-ec0a-456c-b781-5428c54009f8" />
59
+
60
+ ## Getting started
61
+
62
+ MeltyGUI is not yet published to PyPI. For now, install from a checkout using
63
+ [the setup guide](docs/DEVELOPMENT.md#setup).
64
+
65
+ Linux x86-64 uses Python 3.11, 3.12 or 3.13 and OpenGL 4.3. The UI and editor
66
+ also run on Apple Silicon macOS with Python 3.12, OpenGL 4.1 and Retina
67
+ rendering. CUDA tensor rendering requires PyTorch, an
68
+ NVIDIA GPU, a CUDA toolkit, and MeltyGUI's GL-enabled CUDA binding. The native
69
+ bindings install as prebuilt wheels on those targets; elsewhere installers
70
+ compile them, see [when no wheel matches](docs/SUPPORT_WHEELS.md#when-no-wheel-matches).
71
+ CUDA rendering is unavailable on macOS.
72
+
73
+ ## Public render functions
74
+
75
+ Every module-level function decorated with `@render_func` in the library is
76
+ automatically available as `meltygui.<function_name>`, including
77
+ `meltygui.draw_bool(True)`. No export list needs updating when adding a renderer.
78
+ Discovery reads source on the first render-function lookup or `dir(meltygui)`;
79
+ individual view modules still load only when accessed. Newly added functions
80
+ are discovered on the next interpreter run. `dir(meltygui)` and `__all__` include
81
+ the discovered names; static IDE completion may not enumerate these dynamic exports.
82
+
83
+ Render function names must be unique across library modules. Duplicate names
84
+ raise an error identifying both modules. Nested functions, class methods and
85
+ bundled examples are not package-level library exports.
86
+
87
+ ## Use ImGui directly
88
+
89
+ The bundled ImGui bindings are public as `meltygui.imgui` (also available with
90
+ `from meltygui import imgui`). They load on first access and share the same
91
+ ImGui context as MeltyGUI. Call drawing functions inside a window callback:
92
+
93
+ ```python
94
+ import meltygui
95
+
96
+ @meltygui.glfw_window
97
+ def some_window():
98
+ meltygui.imgui.text("Hello")
99
+ ```
100
+
101
+ ## Visualize a tensor
102
+
103
+ Create a small volume on the GPU and tag `draw_voxels` as an OS window with
104
+ `glfw_window`:
105
+
106
+ ```python
107
+ import torch
108
+ import meltygui
109
+
110
+ axis = torch.linspace(-1.5, 1.5, 40, device="cuda:0")
111
+ x, y, z = torch.meshgrid(axis, axis, axis, indexing="ij")
112
+ volume = torch.exp(-4 * ((torch.sqrt(x * x + y * y) - 0.85) ** 2 + z * z))
113
+
114
+ meltygui.glfw_window(
115
+ meltygui.draw_voxels, name="Torus", value=volume, width=850, height=700
116
+ )
117
+ ```
118
+
119
+ Save this as `tensor_demo.py` and run it with the Python from your configured
120
+ environment:
121
+
122
+ ```sh
123
+ .venv/bin/python tensor_demo.py
124
+ ```
125
+
126
+ `glfw_window` turns a view into a native window: `name` is the window title,
127
+ `width` / `height` its content size, `value` the view's input, and every other
128
+ keyword argument goes to the view. The window loop starts automatically after
129
+ the module finishes defining its windows. The CUDA renderer reads the volume on
130
+ its own GPU and transfers the rendered 2D image for display.
131
+
132
+ To compose several views in one window, decorate your own function instead. It
133
+ runs each frame, so create the tensor outside it to avoid reallocating the
134
+ volume on every frame:
135
+
136
+ ```python
137
+ @meltygui.glfw_window(name="CUDA tensor", width=850, height=700)
138
+ def draw_frame():
139
+ # Interactive widget, rendered in a loop. This function will be called wheneven
140
+ # the rendered image is invalidated
141
+ meltygui.draw_voxels(volume, name="Torus", width=800, height=630)
142
+ ```
143
+
144
+ `draw_voxels` chooses CUDA for CUDA tensors and OpenGL for CPU tensors, NumPy
145
+ arrays and GL textures. Select a renderer explicitly with the framework's
146
+ `view_func` override (or call either renderer directly):
147
+
148
+ ```python
149
+ meltygui.draw_voxels(volume, view_func=meltygui.draw_voxels_opengl)
150
+ meltygui.draw_voxels(volume, view_func=meltygui.draw_voxels_cuda)
151
+ ```
152
+
153
+ `draw_voxels_opengl` accepts tensors directly, including CUDA tensors; it slices
154
+ and uploads the displayed volume to a GL texture. `draw_voxels_cuda` requires a
155
+ CUDA tensor and reads it in place. Both expose the same camera, mapping and
156
+ shading controls. Backend selection no longer uses the obsolete `cuda_march`
157
+ parameter.
158
+
159
+ See [the tensor and live-code example](examples/tensor_live.py) for a tensor
160
+ viewer alongside an editable function view.
161
+
162
+ ## Build an app
163
+
164
+ Use the bundled UI framework to add controls, editors, and additional windows.
165
+ [Building an app](docs/APPS.md) covers persistent view state, render functions,
166
+ and window lifecycle.
167
+
168
+ For framework design, feature ownership and render-function patterns, see
169
+ [Contributing](CONTRIBUTING.md). [Development](docs/DEVELOPMENT.md) covers setup,
170
+ checks and packaging; [Architecture gaps](docs/ARCHITECTURE_DEBT.md) tracks the
171
+ remaining migration work.
172
+
173
+ ## License
174
+
175
+ MeltyGUI is licensed under [Apache 2.0](LICENSE). Bundled third-party code and
176
+ assets retain their own licenses. The separate commercial IDE is not part of
177
+ this distribution.
@@ -0,0 +1,128 @@
1
+ # MeltyGUI
2
+
3
+ Low latency tensor visualization for PyTorch.
4
+
5
+ MeltyGUI is an open source data visualization toolkit for PyTorch, designed to render massive tensors in-place on the GPU at an interactive framerate. The purpose of this project is to make PyTorch code easier to understand and faster to debug. Along with its core tensor rendering components, MeltyGUI is bundled with a Blender inspired UI framework designed to make interacting with high dimensional tensors feel fast and intuitive.
6
+
7
+ MeltyGUI is capable of rendering tensors exceeding 64GB in size. The primary challenge with visualizing data this large is moving it around. MeltyGUI skips the data movement entirely, and ray-marches tensors directly from CUDA memory.
8
+
9
+ <img width="2410" height="2018" alt="Image" src="https://github.com/user-attachments/assets/82ffae2c-ec0a-456c-b781-5428c54009f8" />
10
+
11
+ ## Getting started
12
+
13
+ MeltyGUI is not yet published to PyPI. For now, install from a checkout using
14
+ [the setup guide](docs/DEVELOPMENT.md#setup).
15
+
16
+ Linux x86-64 uses Python 3.11, 3.12 or 3.13 and OpenGL 4.3. The UI and editor
17
+ also run on Apple Silicon macOS with Python 3.12, OpenGL 4.1 and Retina
18
+ rendering. CUDA tensor rendering requires PyTorch, an
19
+ NVIDIA GPU, a CUDA toolkit, and MeltyGUI's GL-enabled CUDA binding. The native
20
+ bindings install as prebuilt wheels on those targets; elsewhere installers
21
+ compile them, see [when no wheel matches](docs/SUPPORT_WHEELS.md#when-no-wheel-matches).
22
+ CUDA rendering is unavailable on macOS.
23
+
24
+ ## Public render functions
25
+
26
+ Every module-level function decorated with `@render_func` in the library is
27
+ automatically available as `meltygui.<function_name>`, including
28
+ `meltygui.draw_bool(True)`. No export list needs updating when adding a renderer.
29
+ Discovery reads source on the first render-function lookup or `dir(meltygui)`;
30
+ individual view modules still load only when accessed. Newly added functions
31
+ are discovered on the next interpreter run. `dir(meltygui)` and `__all__` include
32
+ the discovered names; static IDE completion may not enumerate these dynamic exports.
33
+
34
+ Render function names must be unique across library modules. Duplicate names
35
+ raise an error identifying both modules. Nested functions, class methods and
36
+ bundled examples are not package-level library exports.
37
+
38
+ ## Use ImGui directly
39
+
40
+ The bundled ImGui bindings are public as `meltygui.imgui` (also available with
41
+ `from meltygui import imgui`). They load on first access and share the same
42
+ ImGui context as MeltyGUI. Call drawing functions inside a window callback:
43
+
44
+ ```python
45
+ import meltygui
46
+
47
+ @meltygui.glfw_window
48
+ def some_window():
49
+ meltygui.imgui.text("Hello")
50
+ ```
51
+
52
+ ## Visualize a tensor
53
+
54
+ Create a small volume on the GPU and tag `draw_voxels` as an OS window with
55
+ `glfw_window`:
56
+
57
+ ```python
58
+ import torch
59
+ import meltygui
60
+
61
+ axis = torch.linspace(-1.5, 1.5, 40, device="cuda:0")
62
+ x, y, z = torch.meshgrid(axis, axis, axis, indexing="ij")
63
+ volume = torch.exp(-4 * ((torch.sqrt(x * x + y * y) - 0.85) ** 2 + z * z))
64
+
65
+ meltygui.glfw_window(
66
+ meltygui.draw_voxels, name="Torus", value=volume, width=850, height=700
67
+ )
68
+ ```
69
+
70
+ Save this as `tensor_demo.py` and run it with the Python from your configured
71
+ environment:
72
+
73
+ ```sh
74
+ .venv/bin/python tensor_demo.py
75
+ ```
76
+
77
+ `glfw_window` turns a view into a native window: `name` is the window title,
78
+ `width` / `height` its content size, `value` the view's input, and every other
79
+ keyword argument goes to the view. The window loop starts automatically after
80
+ the module finishes defining its windows. The CUDA renderer reads the volume on
81
+ its own GPU and transfers the rendered 2D image for display.
82
+
83
+ To compose several views in one window, decorate your own function instead. It
84
+ runs each frame, so create the tensor outside it to avoid reallocating the
85
+ volume on every frame:
86
+
87
+ ```python
88
+ @meltygui.glfw_window(name="CUDA tensor", width=850, height=700)
89
+ def draw_frame():
90
+ # Interactive widget, rendered in a loop. This function will be called wheneven
91
+ # the rendered image is invalidated
92
+ meltygui.draw_voxels(volume, name="Torus", width=800, height=630)
93
+ ```
94
+
95
+ `draw_voxels` chooses CUDA for CUDA tensors and OpenGL for CPU tensors, NumPy
96
+ arrays and GL textures. Select a renderer explicitly with the framework's
97
+ `view_func` override (or call either renderer directly):
98
+
99
+ ```python
100
+ meltygui.draw_voxels(volume, view_func=meltygui.draw_voxels_opengl)
101
+ meltygui.draw_voxels(volume, view_func=meltygui.draw_voxels_cuda)
102
+ ```
103
+
104
+ `draw_voxels_opengl` accepts tensors directly, including CUDA tensors; it slices
105
+ and uploads the displayed volume to a GL texture. `draw_voxels_cuda` requires a
106
+ CUDA tensor and reads it in place. Both expose the same camera, mapping and
107
+ shading controls. Backend selection no longer uses the obsolete `cuda_march`
108
+ parameter.
109
+
110
+ See [the tensor and live-code example](examples/tensor_live.py) for a tensor
111
+ viewer alongside an editable function view.
112
+
113
+ ## Build an app
114
+
115
+ Use the bundled UI framework to add controls, editors, and additional windows.
116
+ [Building an app](docs/APPS.md) covers persistent view state, render functions,
117
+ and window lifecycle.
118
+
119
+ For framework design, feature ownership and render-function patterns, see
120
+ [Contributing](CONTRIBUTING.md). [Development](docs/DEVELOPMENT.md) covers setup,
121
+ checks and packaging; [Architecture gaps](docs/ARCHITECTURE_DEBT.md) tracks the
122
+ remaining migration work.
123
+
124
+ ## License
125
+
126
+ MeltyGUI is licensed under [Apache 2.0](LICENSE). Bundled third-party code and
127
+ assets retain their own licenses. The separate commercial IDE is not part of
128
+ this distribution.