meltygui 0.1.0__py3-none-any.whl

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 (372) hide show
  1. meltygui/__init__.py +107 -0
  2. meltygui/accounts/__init__.py +0 -0
  3. meltygui/accounts/internet_accounts.py +1355 -0
  4. meltygui/chat/__init__.py +91 -0
  5. meltygui/chat/activity.py +75 -0
  6. meltygui/chat/backends.py +36 -0
  7. meltygui/chat/chat_interface.py +732 -0
  8. meltygui/chat/chat_proxy.py +352 -0
  9. meltygui/chat/codex_proxy.py +592 -0
  10. meltygui/chat/codex_settings.py +100 -0
  11. meltygui/chat/codex_transport.py +60 -0
  12. meltygui/chat/command_parser.py +204 -0
  13. meltygui/chat/images.py +227 -0
  14. meltygui/chat/messages.py +417 -0
  15. meltygui/chat/metadata.py +139 -0
  16. meltygui/chat/writer_locks.py +64 -0
  17. meltygui/code/__init__.py +0 -0
  18. meltygui/code/basic_converters.py +533 -0
  19. meltygui/code/chain_converters.py +2111 -0
  20. meltygui/code/code_checks.py +2209 -0
  21. meltygui/code/core_syntax.py +1430 -0
  22. meltygui/code/file_converters.py +1933 -0
  23. meltygui/code/fileref.py +702 -0
  24. meltygui/code/hotswap_guard.py +144 -0
  25. meltygui/code/libcst_conversion.py +9724 -0
  26. meltygui/code/live_instrument.py +392 -0
  27. meltygui/code/live_view.py +2490 -0
  28. meltygui/code/melty_scan.py +2684 -0
  29. meltygui/code/new_codecs.py +1255 -0
  30. meltygui/code/new_converters.py +3017 -0
  31. meltygui/code/project_code.py +278 -0
  32. meltygui/code/source_context.py +63 -0
  33. meltygui/code/symbol_roster.py +1588 -0
  34. meltygui/code/syntax_check.py +34 -0
  35. meltygui/code/syntax_check_worker.py +114 -0
  36. meltygui/completion/__init__.py +0 -0
  37. meltygui/completion/fim.py +1232 -0
  38. meltygui/completion/fim_context.py +481 -0
  39. meltygui/completion/providers/__init__.py +0 -0
  40. meltygui/completion/providers/anthropic_oauth.py +446 -0
  41. meltygui/completion/providers/anthropic_requests.py +69 -0
  42. meltygui/completion/providers/claude.py +203 -0
  43. meltygui/completion/providers/claude_usage.py +499 -0
  44. meltygui/completion/providers/codex_accounts.py +180 -0
  45. meltygui/completion/providers/copilot.py +617 -0
  46. meltygui/completion/providers/oauth_popup.py +220 -0
  47. meltygui/completion/providers/ollama.py +320 -0
  48. meltygui/completion/providers/profiles.py +23 -0
  49. meltygui/core/README.md +88 -0
  50. meltygui/core/__init__.py +1 -0
  51. meltygui/core/automation/__init__.py +1 -0
  52. meltygui/core/automation/action_core.py +153 -0
  53. meltygui/core/automation/collection_action.py +45 -0
  54. meltygui/core/automation/mcp_eval.py +167 -0
  55. meltygui/core/automation/mcp_hotswap.py +107 -0
  56. meltygui/core/automation/mcp_query.py +552 -0
  57. meltygui/core/automation/mcp_server.py +657 -0
  58. meltygui/core/automation/orchestration_core.py +2636 -0
  59. meltygui/core/automation/query_core.py +124 -0
  60. meltygui/core/automation/search_core.py +26 -0
  61. meltygui/core/automation/selector_core.py +340 -0
  62. meltygui/core/automation/value_core.py +1752 -0
  63. meltygui/core/cache/__init__.py +1 -0
  64. meltygui/core/cache/cache_diagnostics.py +0 -0
  65. meltygui/core/cache/invalidation_decoration.py +153 -0
  66. meltygui/core/cache/invalidation_tracker.py +43 -0
  67. meltygui/core/cache/tile_cache.py +5968 -0
  68. meltygui/core/conversion/__init__.py +1 -0
  69. meltygui/core/conversion/bubbling.py +599 -0
  70. meltygui/core/conversion/cache_tree.py +188 -0
  71. meltygui/core/conversion/chain.py +113 -0
  72. meltygui/core/conversion/converter_register.py +145 -0
  73. meltygui/core/conversion/data_decoration.py +67 -0
  74. meltygui/core/conversion/dict_conversion.py +1815 -0
  75. meltygui/core/conversion/dict_conversion_util.py +177 -0
  76. meltygui/core/conversion/dynamic_obj.py +89 -0
  77. meltygui/core/conversion/graph_compare.py +183 -0
  78. meltygui/core/conversion/load_save_v2.py +1032 -0
  79. meltygui/core/conversion/missing_saved_class.py +39 -0
  80. meltygui/core/conversion/path_finder.py +606 -0
  81. meltygui/core/conversion/render_host.py +1083 -0
  82. meltygui/core/core_render.py +6537 -0
  83. meltygui/core/definition_hotswap.py +231 -0
  84. meltygui/core/diagnostics/__init__.py +1 -0
  85. meltygui/core/diagnostics/attribute_churn.py +38 -0
  86. meltygui/core/diagnostics/fps_counter.py +39 -0
  87. meltygui/core/diagnostics/gpu_frame_timer.py +103 -0
  88. meltygui/core/diagnostics/inspection_core.py +169 -0
  89. meltygui/core/diagnostics/monitor_core.py +105 -0
  90. meltygui/core/diagnostics/notifications.py +706 -0
  91. meltygui/core/diagnostics/perf_trace.py +281 -0
  92. meltygui/core/diagnostics/profile_decoration.py +88 -0
  93. meltygui/core/diagnostics/resize_trace.py +62 -0
  94. meltygui/core/diagnostics/screenshot_core.py +247 -0
  95. meltygui/core/diagnostics/session_status.py +98 -0
  96. meltygui/core/diagnostics/trace_core.py +445 -0
  97. meltygui/core/files/__init__.py +1 -0
  98. meltygui/core/files/file_core.py +208 -0
  99. meltygui/core/files/file_explorer_core.py +104 -0
  100. meltygui/core/files/file_tree_core.py +198 -0
  101. meltygui/core/files/file_watch_core.py +43 -0
  102. meltygui/core/files/import_graph_core.py +43 -0
  103. meltygui/core/files/metadata_core.py +51 -0
  104. meltygui/core/graphics/__init__.py +1 -0
  105. meltygui/core/graphics/cuda_context_core.py +166 -0
  106. meltygui/core/graphics/cuda_interop_core.py +136 -0
  107. meltygui/core/graphics/cuda_kernel_core.py +91 -0
  108. meltygui/core/graphics/framebuffer_recorder.py +337 -0
  109. meltygui/core/graphics/gl_state.py +658 -0
  110. meltygui/core/graphics/lut_core.py +52 -0
  111. meltygui/core/graphics/overlay_renderer.py +984 -0
  112. meltygui/core/graphics/scene_target.py +180 -0
  113. meltygui/core/graphics/screenshot.py +439 -0
  114. meltygui/core/graphics/shader_func.py +478 -0
  115. meltygui/core/graphics/tensor_core.py +45 -0
  116. meltygui/core/graphics/text_texture.py +329 -0
  117. meltygui/core/graphics/wayland_color.py +635 -0
  118. meltygui/core/input/__init__.py +1 -0
  119. meltygui/core/input/collision.py +165 -0
  120. meltygui/core/input/drag_drop_core.py +1525 -0
  121. meltygui/core/input/hypr_left_drag.py +323 -0
  122. meltygui/core/input/input_core.py +245 -0
  123. meltygui/core/input/input_handler.py +1101 -0
  124. meltygui/core/input/mouse_cursor.py +355 -0
  125. meltygui/core/input/pynput_backend.py +1054 -0
  126. meltygui/core/input/space_mouse.py +338 -0
  127. meltygui/core/input/touchpad_backend.py +393 -0
  128. meltygui/core/input/view_selection.py +177 -0
  129. meltygui/core/layout/__init__.py +1 -0
  130. meltygui/core/layout/column_core.py +2153 -0
  131. meltygui/core/layout/cursor_core.py +161 -0
  132. meltygui/core/layout/dropdown_core.py +278 -0
  133. meltygui/core/layout/edge_constraints.py +155 -0
  134. meltygui/core/layout/grid_core.py +117 -0
  135. meltygui/core/layout/header_core.py +23 -0
  136. meltygui/core/layout/header_runtime.py +67 -0
  137. meltygui/core/layout/layout_core.py +87 -0
  138. meltygui/core/layout/tile_manager_core.py +591 -0
  139. meltygui/core/melty.py +6726 -0
  140. meltygui/core/module_map.json +896 -0
  141. meltygui/core/module_names.py +19 -0
  142. meltygui/core/rendering/__init__.py +1 -0
  143. meltygui/core/rendering/core_decoration.py +431 -0
  144. meltygui/core/rendering/core_render_helpers.py +328 -0
  145. meltygui/core/rendering/func_metadata.py +398 -0
  146. meltygui/core/rendering/mode.py +818 -0
  147. meltygui/core/rendering/mode_defaults.py +41 -0
  148. meltygui/core/rendering/modes.py +136 -0
  149. meltygui/core/rendering/parameter_core.py +1665 -0
  150. meltygui/core/rendering/render_dispatch.py +1891 -0
  151. meltygui/core/rendering/render_funcs.py +273 -0
  152. meltygui/core/rendering/shaped.py +312 -0
  153. meltygui/core/rendering/window_decoration.py +25 -0
  154. meltygui/core/runtime/__init__.py +1 -0
  155. meltygui/core/runtime/app.py +735 -0
  156. meltygui/core/runtime/app_session.py +140 -0
  157. meltygui/core/runtime/background.py +564 -0
  158. meltygui/core/runtime/extensions.py +53 -0
  159. meltygui/core/runtime/gc_manager.py +1163 -0
  160. meltygui/core/runtime/lifecycle.py +21 -0
  161. meltygui/core/runtime/paths.py +27 -0
  162. meltygui/core/runtime/settings.py +14 -0
  163. meltygui/core/runtime/singleton.py +16 -0
  164. meltygui/core/runtime/thread_safe_bool.py +24 -0
  165. meltygui/core/runtime/thread_signal.py +30 -0
  166. meltygui/core/runtime/toggles.py +3115 -0
  167. meltygui/core/services/__init__.py +1 -0
  168. meltygui/core/services/account_core.py +10 -0
  169. meltygui/core/services/chat_core.py +19 -0
  170. meltygui/core/services/claude_terminal_core.py +346 -0
  171. meltygui/core/services/terminal_core.py +458 -0
  172. meltygui/core/services/terminal_runtime.py +78 -0
  173. meltygui/core/styling/__init__.py +1 -0
  174. meltygui/core/styling/color_core.py +46 -0
  175. meltygui/core/styling/fonts.py +639 -0
  176. meltygui/core/styling/global_style.py +338 -0
  177. meltygui/core/styling/style.py +198 -0
  178. meltygui/core/styling/style_core.py +522 -0
  179. meltygui/core/styling/warm_start.py +149 -0
  180. meltygui/core/windowing/__init__.py +1 -0
  181. meltygui/core/windowing/backends/PYIMGUI_LICENSE +28 -0
  182. meltygui/core/windowing/backends/__init__.py +1 -0
  183. meltygui/core/windowing/backends/imgui_renderer.py +138 -0
  184. meltygui/core/windowing/backends/native_wayland.py +850 -0
  185. meltygui/core/windowing/backends/protocols/xdg-decoration-unstable-v1.xml +156 -0
  186. meltygui/core/windowing/backends/protocols/xdg-shell.xml +1420 -0
  187. meltygui/core/windowing/backends/wayland_protocol.py +101 -0
  188. meltygui/core/windowing/dock_core.py +182 -0
  189. meltygui/core/windowing/frame_geometry.py +42 -0
  190. meltygui/core/windowing/geometry_feed.py +864 -0
  191. meltygui/core/windowing/glfw_utils.py +1343 -0
  192. meltygui/core/windowing/os_frame.py +1552 -0
  193. meltygui/core/windowing/surface.py +643 -0
  194. meltygui/core/windowing/titlebar.py +1560 -0
  195. meltygui/core/windowing/titlebar_buttons.py +281 -0
  196. meltygui/core/windowing/wayland_move.py +932 -0
  197. meltygui/core/windowing/window_api.py +62 -0
  198. meltygui/core/windowing/window_constants.py +339 -0
  199. meltygui/core/windowing/window_visibility.py +162 -0
  200. meltygui/debug/__init__.py +0 -0
  201. meltygui/debug/app_view_utils.py +9 -0
  202. meltygui/editor/__init__.py +0 -0
  203. meltygui/editor/bash_syntax.py +30 -0
  204. meltygui/editor/code_line_fast.py +152 -0
  205. meltygui/editor/diff.py +139 -0
  206. meltygui/editor/external_changes.py +159 -0
  207. meltygui/editor/file_header.py +41 -0
  208. meltygui/editor/live_usage.py +169 -0
  209. meltygui/editor/live_view_views.py +1803 -0
  210. meltygui/editor/pending_save.py +1351 -0
  211. meltygui/editor/roster_tints.py +547 -0
  212. meltygui/editor/source_preview.py +16 -0
  213. meltygui/editor/source_tools.py +10 -0
  214. meltygui/editor/source_ui.py +70 -0
  215. meltygui/editor/spell_check.py +77 -0
  216. meltygui/editor/text_editor.py +9076 -0
  217. meltygui/editor/usage_picker.py +538 -0
  218. meltygui/events/__init__.py +0 -0
  219. meltygui/events/example.py +118 -0
  220. meltygui/examples/__init__.py +0 -0
  221. meltygui/examples/columns_demo.py +33 -0
  222. meltygui/examples/columns_window_demo.py +60 -0
  223. meltygui/examples/context_menu_demo.py +24 -0
  224. meltygui/examples/context_menu_window_demo.py +49 -0
  225. meltygui/examples/gui_playground.py +127 -0
  226. meltygui/examples/live_view_playground.py +256 -0
  227. meltygui/examples/lora.py +43 -0
  228. meltygui/examples/lora_data.py +59 -0
  229. meltygui/examples/lora_policies.py +67 -0
  230. meltygui/examples/mode_demo.py +49 -0
  231. meltygui/examples/modifies_demo.py +119 -0
  232. meltygui/examples/scalar_policies.py +60 -0
  233. meltygui/examples/style_layouts.py +149 -0
  234. meltygui/examples/tile_manager_demo.py +74 -0
  235. meltygui/examples/tint_demo.py +160 -0
  236. meltygui/examples/tint_functions.py +56 -0
  237. meltygui/examples/trace_demo.py +88 -0
  238. meltygui/examples/two_windows.py +36 -0
  239. meltygui/files/__init__.py +0 -0
  240. meltygui/files/fast_file_explorer.py +439 -0
  241. meltygui/gnome_extension/lsd-window-geometry@latent-descent/extension.js +237 -0
  242. meltygui/gnome_extension/lsd-window-geometry@latent-descent/lsd-window-geometry@latent-descent.iml +9 -0
  243. meltygui/gnome_extension/lsd-window-geometry@latent-descent/metadata.json +7 -0
  244. meltygui/graphics/__init__.py +6 -0
  245. meltygui/graphics/base.py +85 -0
  246. meltygui/graphics/examples.py +507 -0
  247. meltygui/graphics/executor.py +520 -0
  248. meltygui/graphics/filter.py +667 -0
  249. meltygui/graphics/filter.pyi +856 -0
  250. meltygui/graphics/generate_stubs.py +22 -0
  251. meltygui/graphics/registry.py +203 -0
  252. meltygui/graphics/shader_compiler.py +155 -0
  253. meltygui/graphics/shaders.py +1302 -0
  254. meltygui/graphics/stub_generator.py +250 -0
  255. meltygui/graphics/texture_manager.py +170 -0
  256. meltygui/graphics/texture_min_max.py +295 -0
  257. meltygui/hdr_color.py +757 -0
  258. meltygui/image_load.py +308 -0
  259. meltygui/model/__init__.py +1 -0
  260. meltygui/model/account_model.py +142 -0
  261. meltygui/model/camera_model.py +159 -0
  262. meltygui/model/chat_model.py +86 -0
  263. meltygui/model/code_model.py +62 -0
  264. meltygui/model/code_proxy_model.py +876 -0
  265. meltygui/model/collection_model.py +41 -0
  266. meltygui/model/color_model.py +127 -0
  267. meltygui/model/cuda_tensor_model.py +36 -0
  268. meltygui/model/cuda_texture_model.py +149 -0
  269. meltygui/model/dropdown_model.py +137 -0
  270. meltygui/model/file_metadata_model.py +73 -0
  271. meltygui/model/file_model.py +289 -0
  272. meltygui/model/format_model.py +390 -0
  273. meltygui/model/graph_model.py +98 -0
  274. meltygui/model/icon_model.py +1024 -0
  275. meltygui/model/import_graph_model.py +468 -0
  276. meltygui/model/layout_model.py +15 -0
  277. meltygui/model/lut_model.py +266 -0
  278. meltygui/model/search_model.py +173 -0
  279. meltygui/model/tensor_model.py +402 -0
  280. meltygui/model/terminal_model.py +329 -0
  281. meltygui/model/texture_model.py +146 -0
  282. meltygui/model/tile_model.py +24 -0
  283. meltygui/model/trace_model.py +198 -0
  284. meltygui/model/trace_report_model.py +146 -0
  285. meltygui/models/__init__.py +0 -0
  286. meltygui/models/file_meta.py +613 -0
  287. meltygui/models/function_console.py +184 -0
  288. meltygui/models/orchestration.py +48 -0
  289. meltygui/pbr.py +1576 -0
  290. meltygui/png_unfilter.c +49 -0
  291. meltygui/resources/JetBrainsMono-Regular.ttf +0 -0
  292. meltygui/resources/THIRD_PARTY_NOTICES.md +21 -0
  293. meltygui/resources/dejavu/DejaVuSans-Bold.ttf +0 -0
  294. meltygui/resources/dejavu/DejaVuSans-ExtraLight.ttf +0 -0
  295. meltygui/resources/dejavu/DejaVuSans.ttf +0 -0
  296. meltygui/resources/dejavu/LICENSE.txt +78 -0
  297. meltygui/resources/fontawesome-LICENSE.txt +121 -0
  298. meltygui/resources/fontawesome-webfont.ttf +0 -0
  299. meltygui/resources/hdri/studio_small_09_1k.hdr +0 -0
  300. meltygui/resources/jetbrains-weights/JetBrainsMono-Bold.ttf +0 -0
  301. meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraBold.ttf +0 -0
  302. meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraLight.ttf +0 -0
  303. meltygui/resources/jetbrains-weights/JetBrainsMono-Light.ttf +0 -0
  304. meltygui/resources/jetbrains-weights/JetBrainsMono-Medium.ttf +0 -0
  305. meltygui/resources/jetbrains-weights/JetBrainsMono-SemiBold.ttf +0 -0
  306. meltygui/resources/jetbrains-weights/JetBrainsMono-Thin.ttf +0 -0
  307. meltygui/resources/jetbrains-weights/OFL.txt +93 -0
  308. meltygui/resources/jetbrains-weights/README.md +2 -0
  309. meltygui/state/__init__.py +0 -0
  310. meltygui/state/account_state.py +22 -0
  311. meltygui/state/animation_state.py +97 -0
  312. meltygui/state/annotation_state.py +22 -0
  313. meltygui/state/chat_state.py +36 -0
  314. meltygui/state/code_state.py +10 -0
  315. meltygui/state/core_enums.py +59 -0
  316. meltygui/state/core_markers.py +115 -0
  317. meltygui/state/core_undo.py +1075 -0
  318. meltygui/state/file_state.py +75 -0
  319. meltygui/state/graph_state.py +26 -0
  320. meltygui/state/inspection_state.py +47 -0
  321. meltygui/state/menu_state.py +10 -0
  322. meltygui/state/model_enums.py +11 -0
  323. meltygui/state/new_core_model.py +2394 -0
  324. meltygui/state/orchestration_state.py +14 -0
  325. meltygui/state/query_state.py +24 -0
  326. meltygui/state/tensor_state.py +10 -0
  327. meltygui/state/terminal_state.py +23 -0
  328. meltygui/state/trace_state.py +32 -0
  329. meltygui/state/voxel_state.py +12 -0
  330. meltygui/text_index.py +816 -0
  331. meltygui/utils/__init__.py +0 -0
  332. meltygui/utils/jump_to_code.py +344 -0
  333. meltygui/utils/pkl_inspect.py +90 -0
  334. meltygui/utils/render_utils.py +1419 -0
  335. meltygui/view/__init__.py +1 -0
  336. meltygui/view/account_view.py +524 -0
  337. meltygui/view/action_view.py +73 -0
  338. meltygui/view/chat_decoration_view.py +112 -0
  339. meltygui/view/chat_view.py +1703 -0
  340. meltygui/view/code_view.py +2677 -0
  341. meltygui/view/collection_view.py +1185 -0
  342. meltygui/view/color_view.py +824 -0
  343. meltygui/view/control_view.py +559 -0
  344. meltygui/view/decoration_view.py +439 -0
  345. meltygui/view/diagnostic_view.py +177 -0
  346. meltygui/view/dropdown_view.py +1082 -0
  347. meltygui/view/file_view.py +1599 -0
  348. meltygui/view/graph_cuda_view.py +105 -0
  349. meltygui/view/graph_view.py +882 -0
  350. meltygui/view/header_view.py +848 -0
  351. meltygui/view/input_view.py +238 -0
  352. meltygui/view/inspection_view.py +1783 -0
  353. meltygui/view/layout_view.py +596 -0
  354. meltygui/view/lut_view.py +45 -0
  355. meltygui/view/menu_view.py +212 -0
  356. meltygui/view/orchestration_view.py +658 -0
  357. meltygui/view/query_view.py +118 -0
  358. meltygui/view/search_view.py +342 -0
  359. meltygui/view/tab_view.py +258 -0
  360. meltygui/view/tensor_view.py +430 -0
  361. meltygui/view/terminal_view.py +355 -0
  362. meltygui/view/text_view.py +8031 -0
  363. meltygui/view/texture_view.py +480 -0
  364. meltygui/view/tile_view.py +38 -0
  365. meltygui/view/trace_view.py +923 -0
  366. meltygui/view/voxel_cuda_view.py +824 -0
  367. meltygui/view/voxel_view.py +1860 -0
  368. meltygui/view/window_view.py +111 -0
  369. meltygui-0.1.0.dist-info/METADATA +143 -0
  370. meltygui-0.1.0.dist-info/RECORD +372 -0
  371. meltygui-0.1.0.dist-info/WHEEL +4 -0
  372. meltygui-0.1.0.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,856 @@
1
+ """
2
+ Type stub file for Filter class.
3
+
4
+ This file is auto-generated to provide IDE autocomplete for
5
+ dynamically created shader methods.
6
+
7
+ To regenerate: python -m shader_manager.stub_generator
8
+ """
9
+
10
+ from typing import Optional, Dict, Any, Tuple, List
11
+ from contextlib import AbstractContextManager
12
+ from .shader_compiler import CompiledProgram
13
+ from .registry import ShaderRegistry
14
+
15
+
16
+ class Filter(AbstractContextManager):
17
+ """
18
+ Main interface for shader-based texture filtering.
19
+
20
+ All registered shaders are available as methods for IDE autocomplete.
21
+ """
22
+
23
+ def __init__(self, auto_compile: bool = True) -> None: ...
24
+
25
+ def box_blur(
26
+ self,
27
+ texture_id: int = 0,
28
+ in_place: bool = False,
29
+ radius: float = 1.0,
30
+ texture_size: Tuple[float, float] = (512.0, 512.0),
31
+ output_texture: Optional[int] = None,
32
+ output_framebuffer: Optional[int] = None,
33
+ input_framebuffer: Optional[int] = None,
34
+ output_size: Optional[Tuple[int, int]] = None,
35
+ ) -> int:
36
+ """
37
+ Apply box_blur shader to a texture or framebuffer.
38
+
39
+ Args:
40
+ texture_id: Input texture ID (ignored if input_framebuffer set)
41
+ in_place: If True, modify the input texture directly
42
+ radius: Shader uniform (float)
43
+ texture_size: Shader uniform (Tuple[float, float])
44
+ output_texture: Optional specific output texture to render to
45
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
46
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
47
+ output_size: Optional (width, height) render resolution; runs the shader
48
+ at a lower resolution while sampling the full-res input
49
+
50
+ Returns:
51
+ Output texture ID (0 if rendering to framebuffer)
52
+ """
53
+ ...
54
+
55
+ def brightness_contrast(
56
+ self,
57
+ texture_id: int = 0,
58
+ in_place: bool = False,
59
+ brightness: float = 0.0,
60
+ contrast: float = 1.0,
61
+ output_texture: Optional[int] = None,
62
+ output_framebuffer: Optional[int] = None,
63
+ input_framebuffer: Optional[int] = None,
64
+ output_size: Optional[Tuple[int, int]] = None,
65
+ ) -> int:
66
+ """
67
+ Apply brightness_contrast shader to a texture or framebuffer.
68
+
69
+ Args:
70
+ texture_id: Input texture ID (ignored if input_framebuffer set)
71
+ in_place: If True, modify the input texture directly
72
+ brightness: Shader uniform (float)
73
+ contrast: Shader uniform (float)
74
+ output_texture: Optional specific output texture to render to
75
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
76
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
77
+ output_size: Optional (width, height) render resolution; runs the shader
78
+ at a lower resolution while sampling the full-res input
79
+
80
+ Returns:
81
+ Output texture ID (0 if rendering to framebuffer)
82
+ """
83
+ ...
84
+
85
+ def bulge(
86
+ self,
87
+ texture_id: int = 0,
88
+ in_place: bool = False,
89
+ center: Tuple[float, float] = (0.5, 0.5),
90
+ radius: float = 0.5,
91
+ strength: float = 0.5,
92
+ output_texture: Optional[int] = None,
93
+ output_framebuffer: Optional[int] = None,
94
+ input_framebuffer: Optional[int] = None,
95
+ output_size: Optional[Tuple[int, int]] = None,
96
+ ) -> int:
97
+ """
98
+ Apply bulge shader to a texture or framebuffer.
99
+
100
+ Args:
101
+ texture_id: Input texture ID (ignored if input_framebuffer set)
102
+ in_place: If True, modify the input texture directly
103
+ center: Shader uniform (Tuple[float, float])
104
+ radius: Shader uniform (float)
105
+ strength: Shader uniform (float)
106
+ output_texture: Optional specific output texture to render to
107
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
108
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
109
+ output_size: Optional (width, height) render resolution; runs the shader
110
+ at a lower resolution while sampling the full-res input
111
+
112
+ Returns:
113
+ Output texture ID (0 if rendering to framebuffer)
114
+ """
115
+ ...
116
+
117
+ def chromatic_aberration(
118
+ self,
119
+ texture_id: int = 0,
120
+ in_place: bool = False,
121
+ amount: float = 0.005,
122
+ output_texture: Optional[int] = None,
123
+ output_framebuffer: Optional[int] = None,
124
+ input_framebuffer: Optional[int] = None,
125
+ output_size: Optional[Tuple[int, int]] = None,
126
+ ) -> int:
127
+ """
128
+ Apply chromatic_aberration shader to a texture or framebuffer.
129
+
130
+ Args:
131
+ texture_id: Input texture ID (ignored if input_framebuffer set)
132
+ in_place: If True, modify the input texture directly
133
+ amount: Shader uniform (float)
134
+ output_texture: Optional specific output texture to render to
135
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
136
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
137
+ output_size: Optional (width, height) render resolution; runs the shader
138
+ at a lower resolution while sampling the full-res input
139
+
140
+ Returns:
141
+ Output texture ID (0 if rendering to framebuffer)
142
+ """
143
+ ...
144
+
145
+ def gamma(
146
+ self,
147
+ texture_id: int = 0,
148
+ in_place: bool = False,
149
+ gamma: float = 1.0,
150
+ output_texture: Optional[int] = None,
151
+ output_framebuffer: Optional[int] = None,
152
+ input_framebuffer: Optional[int] = None,
153
+ output_size: Optional[Tuple[int, int]] = None,
154
+ ) -> int:
155
+ """
156
+ Apply gamma shader to a texture or framebuffer.
157
+
158
+ Args:
159
+ texture_id: Input texture ID (ignored if input_framebuffer set)
160
+ in_place: If True, modify the input texture directly
161
+ gamma: Shader uniform (float)
162
+ output_texture: Optional specific output texture to render to
163
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
164
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
165
+ output_size: Optional (width, height) render resolution; runs the shader
166
+ at a lower resolution while sampling the full-res input
167
+
168
+ Returns:
169
+ Output texture ID (0 if rendering to framebuffer)
170
+ """
171
+ ...
172
+
173
+ def gaussian_blur(
174
+ self,
175
+ texture_id: int = 0,
176
+ in_place: bool = False,
177
+ radius: float = 4.0,
178
+ texture_size: Tuple[float, float] = None,
179
+ output_texture: Optional[int] = None,
180
+ output_framebuffer: Optional[int] = None,
181
+ input_framebuffer: Optional[int] = None,
182
+ output_size: Optional[Tuple[int, int]] = None,
183
+ ) -> int:
184
+ """
185
+ Apply gaussian_blur shader to a texture or framebuffer.
186
+
187
+ Args:
188
+ texture_id: Input texture ID (ignored if input_framebuffer set)
189
+ in_place: If True, modify the input texture directly
190
+ radius: Shader uniform (float)
191
+ texture_size: Shader uniform (Tuple[float, float])
192
+ output_texture: Optional specific output texture to render to
193
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
194
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
195
+ output_size: Optional (width, height) render resolution; runs the shader
196
+ at a lower resolution while sampling the full-res input
197
+
198
+ Returns:
199
+ Output texture ID (0 if rendering to framebuffer)
200
+ """
201
+ ...
202
+
203
+ def gaussian_blur_h(
204
+ self,
205
+ texture_id: int = 0,
206
+ in_place: bool = False,
207
+ radius: float = 4.0,
208
+ texture_size: Tuple[float, float] = (512.0, 512.0),
209
+ output_texture: Optional[int] = None,
210
+ output_framebuffer: Optional[int] = None,
211
+ input_framebuffer: Optional[int] = None,
212
+ output_size: Optional[Tuple[int, int]] = None,
213
+ ) -> int:
214
+ """
215
+ Apply gaussian_blur_h shader to a texture or framebuffer.
216
+
217
+ Args:
218
+ texture_id: Input texture ID (ignored if input_framebuffer set)
219
+ in_place: If True, modify the input texture directly
220
+ radius: Shader uniform (float)
221
+ texture_size: Shader uniform (Tuple[float, float])
222
+ output_texture: Optional specific output texture to render to
223
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
224
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
225
+ output_size: Optional (width, height) render resolution; runs the shader
226
+ at a lower resolution while sampling the full-res input
227
+
228
+ Returns:
229
+ Output texture ID (0 if rendering to framebuffer)
230
+ """
231
+ ...
232
+
233
+ def gaussian_blur_v(
234
+ self,
235
+ texture_id: int = 0,
236
+ in_place: bool = False,
237
+ radius: float = 4.0,
238
+ texture_size: Tuple[float, float] = (512.0, 512.0),
239
+ output_texture: Optional[int] = None,
240
+ output_framebuffer: Optional[int] = None,
241
+ input_framebuffer: Optional[int] = None,
242
+ output_size: Optional[Tuple[int, int]] = None,
243
+ ) -> int:
244
+ """
245
+ Apply gaussian_blur_v shader to a texture or framebuffer.
246
+
247
+ Args:
248
+ texture_id: Input texture ID (ignored if input_framebuffer set)
249
+ in_place: If True, modify the input texture directly
250
+ radius: Shader uniform (float)
251
+ texture_size: Shader uniform (Tuple[float, float])
252
+ output_texture: Optional specific output texture to render to
253
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
254
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
255
+ output_size: Optional (width, height) render resolution; runs the shader
256
+ at a lower resolution while sampling the full-res input
257
+
258
+ Returns:
259
+ Output texture ID (0 if rendering to framebuffer)
260
+ """
261
+ ...
262
+
263
+ def grayscale(
264
+ self,
265
+ texture_id: int = 0,
266
+ in_place: bool = False,
267
+ method: int = 0,
268
+ output_texture: Optional[int] = None,
269
+ output_framebuffer: Optional[int] = None,
270
+ input_framebuffer: Optional[int] = None,
271
+ output_size: Optional[Tuple[int, int]] = None,
272
+ ) -> int:
273
+ """
274
+ Apply grayscale shader to a texture or framebuffer.
275
+
276
+ Args:
277
+ texture_id: Input texture ID (ignored if input_framebuffer set)
278
+ in_place: If True, modify the input texture directly
279
+ method: Shader uniform (int)
280
+ output_texture: Optional specific output texture to render to
281
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
282
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
283
+ output_size: Optional (width, height) render resolution; runs the shader
284
+ at a lower resolution while sampling the full-res input
285
+
286
+ Returns:
287
+ Output texture ID (0 if rendering to framebuffer)
288
+ """
289
+ ...
290
+
291
+ def hue_saturation(
292
+ self,
293
+ texture_id: int = 0,
294
+ in_place: bool = False,
295
+ hue_shift: float = 0.0,
296
+ lightness: float = 0.0,
297
+ saturation: float = 1.0,
298
+ output_texture: Optional[int] = None,
299
+ output_framebuffer: Optional[int] = None,
300
+ input_framebuffer: Optional[int] = None,
301
+ output_size: Optional[Tuple[int, int]] = None,
302
+ ) -> int:
303
+ """
304
+ Apply hue_saturation shader to a texture or framebuffer.
305
+
306
+ Args:
307
+ texture_id: Input texture ID (ignored if input_framebuffer set)
308
+ in_place: If True, modify the input texture directly
309
+ hue_shift: Shader uniform (float)
310
+ lightness: Shader uniform (float)
311
+ saturation: Shader uniform (float)
312
+ output_texture: Optional specific output texture to render to
313
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
314
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
315
+ output_size: Optional (width, height) render resolution; runs the shader
316
+ at a lower resolution while sampling the full-res input
317
+
318
+ Returns:
319
+ Output texture ID (0 if rendering to framebuffer)
320
+ """
321
+ ...
322
+
323
+ def invert(
324
+ self,
325
+ texture_id: int = 0,
326
+ in_place: bool = False,
327
+ amount: float = 1.0,
328
+ output_texture: Optional[int] = None,
329
+ output_framebuffer: Optional[int] = None,
330
+ input_framebuffer: Optional[int] = None,
331
+ output_size: Optional[Tuple[int, int]] = None,
332
+ ) -> int:
333
+ """
334
+ Apply invert shader to a texture or framebuffer.
335
+
336
+ Args:
337
+ texture_id: Input texture ID (ignored if input_framebuffer set)
338
+ in_place: If True, modify the input texture directly
339
+ amount: Shader uniform (float)
340
+ output_texture: Optional specific output texture to render to
341
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
342
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
343
+ output_size: Optional (width, height) render resolution; runs the shader
344
+ at a lower resolution while sampling the full-res input
345
+
346
+ Returns:
347
+ Output texture ID (0 if rendering to framebuffer)
348
+ """
349
+ ...
350
+
351
+ def jet(
352
+ self,
353
+ texture_id: int = 0,
354
+ in_place: bool = False,
355
+ offset: float = 0.0,
356
+ output_texture: Optional[int] = None,
357
+ output_framebuffer: Optional[int] = None,
358
+ input_framebuffer: Optional[int] = None,
359
+ output_size: Optional[Tuple[int, int]] = None,
360
+ ) -> int:
361
+ """
362
+ Apply jet shader to a texture or framebuffer.
363
+
364
+ Args:
365
+ texture_id: Input texture ID (ignored if input_framebuffer set)
366
+ in_place: If True, modify the input texture directly
367
+ offset: Shader uniform (float)
368
+ output_texture: Optional specific output texture to render to
369
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
370
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
371
+ output_size: Optional (width, height) render resolution; runs the shader
372
+ at a lower resolution while sampling the full-res input
373
+
374
+ Returns:
375
+ Output texture ID (0 if rendering to framebuffer)
376
+ """
377
+ ...
378
+
379
+ def laplacian(
380
+ self,
381
+ texture_id: int = 0,
382
+ in_place: bool = False,
383
+ strength: float = 1.0,
384
+ texture_size: Tuple[float, float] = (512.0, 512.0),
385
+ output_texture: Optional[int] = None,
386
+ output_framebuffer: Optional[int] = None,
387
+ input_framebuffer: Optional[int] = None,
388
+ output_size: Optional[Tuple[int, int]] = None,
389
+ ) -> int:
390
+ """
391
+ Apply laplacian shader to a texture or framebuffer.
392
+
393
+ Args:
394
+ texture_id: Input texture ID (ignored if input_framebuffer set)
395
+ in_place: If True, modify the input texture directly
396
+ strength: Shader uniform (float)
397
+ texture_size: Shader uniform (Tuple[float, float])
398
+ output_texture: Optional specific output texture to render to
399
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
400
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
401
+ output_size: Optional (width, height) render resolution; runs the shader
402
+ at a lower resolution while sampling the full-res input
403
+
404
+ Returns:
405
+ Output texture ID (0 if rendering to framebuffer)
406
+ """
407
+ ...
408
+
409
+ def min_max_reduction(
410
+ self,
411
+ texture_id: int = 0,
412
+ in_place: bool = False,
413
+ texture_size: Tuple[float, float] = None,
414
+ output_texture: Optional[int] = None,
415
+ output_framebuffer: Optional[int] = None,
416
+ input_framebuffer: Optional[int] = None,
417
+ output_size: Optional[Tuple[int, int]] = None,
418
+ ) -> int:
419
+ """
420
+ Apply min_max_reduction shader to a texture or framebuffer.
421
+
422
+ Args:
423
+ texture_id: Input texture ID (ignored if input_framebuffer set)
424
+ in_place: If True, modify the input texture directly
425
+ texture_size: Shader uniform (Tuple[float, float])
426
+ output_texture: Optional specific output texture to render to
427
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
428
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
429
+ output_size: Optional (width, height) render resolution; runs the shader
430
+ at a lower resolution while sampling the full-res input
431
+
432
+ Returns:
433
+ Output texture ID (0 if rendering to framebuffer)
434
+ """
435
+ ...
436
+
437
+ def normalize_remap(
438
+ self,
439
+ texture_id: int = 0,
440
+ in_place: bool = False,
441
+ min_max_tex: Any = None,
442
+ output_texture: Optional[int] = None,
443
+ output_framebuffer: Optional[int] = None,
444
+ input_framebuffer: Optional[int] = None,
445
+ output_size: Optional[Tuple[int, int]] = None,
446
+ ) -> int:
447
+ """
448
+ Apply normalize_remap shader to a texture or framebuffer.
449
+
450
+ Args:
451
+ texture_id: Input texture ID (ignored if input_framebuffer set)
452
+ in_place: If True, modify the input texture directly
453
+ min_max_tex: Shader uniform (Any)
454
+ output_texture: Optional specific output texture to render to
455
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
456
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
457
+ output_size: Optional (width, height) render resolution; runs the shader
458
+ at a lower resolution while sampling the full-res input
459
+
460
+ Returns:
461
+ Output texture ID (0 if rendering to framebuffer)
462
+ """
463
+ ...
464
+
465
+ def passthrough(
466
+ self,
467
+ texture_id: int = 0,
468
+ in_place: bool = False,
469
+ output_texture: Optional[int] = None,
470
+ output_framebuffer: Optional[int] = None,
471
+ input_framebuffer: Optional[int] = None,
472
+ output_size: Optional[Tuple[int, int]] = None,
473
+ ) -> int:
474
+ """
475
+ Apply passthrough shader to a texture or framebuffer.
476
+
477
+ Args:
478
+ texture_id: Input texture ID (ignored if input_framebuffer set)
479
+ in_place: If True, modify the input texture directly
480
+ output_texture: Optional specific output texture to render to
481
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
482
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
483
+ output_size: Optional (width, height) render resolution; runs the shader
484
+ at a lower resolution while sampling the full-res input
485
+
486
+ Returns:
487
+ Output texture ID (0 if rendering to framebuffer)
488
+ """
489
+ ...
490
+
491
+ def pixelate(
492
+ self,
493
+ texture_id: int = 0,
494
+ in_place: bool = False,
495
+ pixel_size: float = 8.0,
496
+ texture_size: Tuple[float, float] = (512.0, 512.0),
497
+ output_texture: Optional[int] = None,
498
+ output_framebuffer: Optional[int] = None,
499
+ input_framebuffer: Optional[int] = None,
500
+ output_size: Optional[Tuple[int, int]] = None,
501
+ ) -> int:
502
+ """
503
+ Apply pixelate shader to a texture or framebuffer.
504
+
505
+ Args:
506
+ texture_id: Input texture ID (ignored if input_framebuffer set)
507
+ in_place: If True, modify the input texture directly
508
+ pixel_size: Shader uniform (float)
509
+ texture_size: Shader uniform (Tuple[float, float])
510
+ output_texture: Optional specific output texture to render to
511
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
512
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
513
+ output_size: Optional (width, height) render resolution; runs the shader
514
+ at a lower resolution while sampling the full-res input
515
+
516
+ Returns:
517
+ Output texture ID (0 if rendering to framebuffer)
518
+ """
519
+ ...
520
+
521
+ def posterize(
522
+ self,
523
+ texture_id: int = 0,
524
+ in_place: bool = False,
525
+ levels: float = 8.0,
526
+ output_texture: Optional[int] = None,
527
+ output_framebuffer: Optional[int] = None,
528
+ input_framebuffer: Optional[int] = None,
529
+ output_size: Optional[Tuple[int, int]] = None,
530
+ ) -> int:
531
+ """
532
+ Apply posterize shader to a texture or framebuffer.
533
+
534
+ Args:
535
+ texture_id: Input texture ID (ignored if input_framebuffer set)
536
+ in_place: If True, modify the input texture directly
537
+ levels: Shader uniform (float)
538
+ output_texture: Optional specific output texture to render to
539
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
540
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
541
+ output_size: Optional (width, height) render resolution; runs the shader
542
+ at a lower resolution while sampling the full-res input
543
+
544
+ Returns:
545
+ Output texture ID (0 if rendering to framebuffer)
546
+ """
547
+ ...
548
+
549
+ def sepia(
550
+ self,
551
+ texture_id: int = 0,
552
+ in_place: bool = False,
553
+ amount: float = 1.0,
554
+ output_texture: Optional[int] = None,
555
+ output_framebuffer: Optional[int] = None,
556
+ input_framebuffer: Optional[int] = None,
557
+ output_size: Optional[Tuple[int, int]] = None,
558
+ ) -> int:
559
+ """
560
+ Apply sepia shader to a texture or framebuffer.
561
+
562
+ Args:
563
+ texture_id: Input texture ID (ignored if input_framebuffer set)
564
+ in_place: If True, modify the input texture directly
565
+ amount: Shader uniform (float)
566
+ output_texture: Optional specific output texture to render to
567
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
568
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
569
+ output_size: Optional (width, height) render resolution; runs the shader
570
+ at a lower resolution while sampling the full-res input
571
+
572
+ Returns:
573
+ Output texture ID (0 if rendering to framebuffer)
574
+ """
575
+ ...
576
+
577
+ def shadow_blur(
578
+ self,
579
+ texture_id: int = 0,
580
+ in_place: bool = False,
581
+ blur_scale: float = 20.0,
582
+ min_blur: float = 1.0,
583
+ texture_size: Tuple[float, float] = None,
584
+ output_texture: Optional[int] = None,
585
+ output_framebuffer: Optional[int] = None,
586
+ input_framebuffer: Optional[int] = None,
587
+ output_size: Optional[Tuple[int, int]] = None,
588
+ ) -> int:
589
+ """
590
+ Apply shadow_blur shader to a texture or framebuffer.
591
+
592
+ Args:
593
+ texture_id: Input texture ID (ignored if input_framebuffer set)
594
+ in_place: If True, modify the input texture directly
595
+ blur_scale: Shader uniform (float)
596
+ min_blur: Shader uniform (float)
597
+ texture_size: Shader uniform (Tuple[float, float])
598
+ output_texture: Optional specific output texture to render to
599
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
600
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
601
+ output_size: Optional (width, height) render resolution; runs the shader
602
+ at a lower resolution while sampling the full-res input
603
+
604
+ Returns:
605
+ Output texture ID (0 if rendering to framebuffer)
606
+ """
607
+ ...
608
+
609
+ def shadow_cast(
610
+ self,
611
+ texture_id: int = 0,
612
+ in_place: bool = False,
613
+ blur_exponent: float = 1.0,
614
+ blur_samples: int = 8,
615
+ blur_scale: float = 0.3,
616
+ depth_bias: float = 0.0,
617
+ depth_scale: float = 1.0,
618
+ height_scale: float = 0.5,
619
+ hit_falloff: float = 14.0,
620
+ hit_strength: float = 0.7,
621
+ light_dir: Tuple[float, float] = (-0.02, 0.064),
622
+ max_steps: int = 64,
623
+ min_height_diff: float = 0.0,
624
+ shadow_strength: float = 0.4,
625
+ surface_threshold: float = -10.0,
626
+ texture_size: Tuple[float, float] = None,
627
+ output_texture: Optional[int] = None,
628
+ output_framebuffer: Optional[int] = None,
629
+ input_framebuffer: Optional[int] = None,
630
+ output_size: Optional[Tuple[int, int]] = None,
631
+ ) -> int:
632
+ """
633
+ Apply shadow_cast shader to a texture or framebuffer.
634
+
635
+ Args:
636
+ texture_id: Input texture ID (ignored if input_framebuffer set)
637
+ in_place: If True, modify the input texture directly
638
+ blur_exponent: Shader uniform (float)
639
+ blur_samples: Shader uniform (int)
640
+ blur_scale: Shader uniform (float)
641
+ depth_bias: Shader uniform (float)
642
+ depth_scale: Shader uniform (float)
643
+ height_scale: Shader uniform (float)
644
+ hit_falloff: Shader uniform (float)
645
+ hit_strength: Shader uniform (float)
646
+ light_dir: Shader uniform (Tuple[float, float])
647
+ max_steps: Shader uniform (int)
648
+ min_height_diff: Shader uniform (float)
649
+ shadow_strength: Shader uniform (float)
650
+ surface_threshold: Shader uniform (float)
651
+ texture_size: Shader uniform (Tuple[float, float])
652
+ output_texture: Optional specific output texture to render to
653
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
654
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
655
+ output_size: Optional (width, height) render resolution; runs the shader
656
+ at a lower resolution while sampling the full-res input
657
+
658
+ Returns:
659
+ Output texture ID (0 if rendering to framebuffer)
660
+ """
661
+ ...
662
+
663
+ def shadow_composite(
664
+ self,
665
+ texture_id: int = 0,
666
+ in_place: bool = False,
667
+ depth_map: Any = None,
668
+ depth_scale: float = 1.0,
669
+ depth_sharpness: float = 50.0,
670
+ glow_map: Any = None,
671
+ glow_shadow_cut: float = 1.0,
672
+ glow_strength: float = 0.0,
673
+ light_dir: Tuple[float, float] = (-0.5, 1.6),
674
+ shadow_color: Tuple[float, float, float] = (0.0, 0.0, 0.0),
675
+ shadow_map: Any = None,
676
+ shadow_opacity: float = 1.0,
677
+ shadow_size: Tuple[float, float] = None,
678
+ specular_bevel: float = 0.0,
679
+ specular_depth_eps: float = 0.001,
680
+ specular_depth_falloff: float = 0.0,
681
+ specular_fade: float = 300.0,
682
+ specular_fade_rel: float = 0.6,
683
+ specular_roughness: float = 0.4,
684
+ specular_slope_tol: float = 0.0002,
685
+ specular_strength: float = 1.0,
686
+ texture_size: Tuple[float, float] = None,
687
+ win_mask: Any = None,
688
+ win_rects: Any = None,
689
+ output_texture: Optional[int] = None,
690
+ output_framebuffer: Optional[int] = None,
691
+ input_framebuffer: Optional[int] = None,
692
+ output_size: Optional[Tuple[int, int]] = None,
693
+ ) -> int:
694
+ """
695
+ Apply shadow_composite shader to a texture or framebuffer.
696
+
697
+ Args:
698
+ texture_id: Input texture ID (ignored if input_framebuffer set)
699
+ in_place: If True, modify the input texture directly
700
+ depth_map: Shader uniform (Any)
701
+ depth_scale: Shader uniform (float)
702
+ depth_sharpness: Shader uniform (float)
703
+ glow_map: Shader uniform (Any)
704
+ glow_shadow_cut: Shader uniform (float)
705
+ glow_strength: Shader uniform (float)
706
+ light_dir: Shader uniform (Tuple[float, float])
707
+ shadow_color: Shader uniform (Tuple[float, float, float])
708
+ shadow_map: Shader uniform (Any)
709
+ shadow_opacity: Shader uniform (float)
710
+ shadow_size: Shader uniform (Tuple[float, float])
711
+ specular_bevel: Shader uniform (float)
712
+ specular_depth_eps: Shader uniform (float)
713
+ specular_depth_falloff: Shader uniform (float)
714
+ specular_fade: Shader uniform (float)
715
+ specular_fade_rel: Shader uniform (float)
716
+ specular_roughness: Shader uniform (float)
717
+ specular_slope_tol: Shader uniform (float)
718
+ specular_strength: Shader uniform (float)
719
+ texture_size: Shader uniform (Tuple[float, float])
720
+ win_mask: Shader uniform (Any)
721
+ win_rects: Shader uniform (Any)
722
+ output_texture: Optional specific output texture to render to
723
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
724
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
725
+ output_size: Optional (width, height) render resolution; runs the shader
726
+ at a lower resolution while sampling the full-res input
727
+
728
+ Returns:
729
+ Output texture ID (0 if rendering to framebuffer)
730
+ """
731
+ ...
732
+
733
+ def sobel(
734
+ self,
735
+ texture_id: int = 0,
736
+ in_place: bool = False,
737
+ strength: float = 1.0,
738
+ texture_size: Tuple[float, float] = (512.0, 512.0),
739
+ output_texture: Optional[int] = None,
740
+ output_framebuffer: Optional[int] = None,
741
+ input_framebuffer: Optional[int] = None,
742
+ output_size: Optional[Tuple[int, int]] = None,
743
+ ) -> int:
744
+ """
745
+ Apply sobel shader to a texture or framebuffer.
746
+
747
+ Args:
748
+ texture_id: Input texture ID (ignored if input_framebuffer set)
749
+ in_place: If True, modify the input texture directly
750
+ strength: Shader uniform (float)
751
+ texture_size: Shader uniform (Tuple[float, float])
752
+ output_texture: Optional specific output texture to render to
753
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
754
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
755
+ output_size: Optional (width, height) render resolution; runs the shader
756
+ at a lower resolution while sampling the full-res input
757
+
758
+ Returns:
759
+ Output texture ID (0 if rendering to framebuffer)
760
+ """
761
+ ...
762
+
763
+ def swirl(
764
+ self,
765
+ texture_id: int = 0,
766
+ in_place: bool = False,
767
+ angle: float = 3.0,
768
+ center: Tuple[float, float] = (0.5, 0.5),
769
+ radius: float = 0.5,
770
+ output_texture: Optional[int] = None,
771
+ output_framebuffer: Optional[int] = None,
772
+ input_framebuffer: Optional[int] = None,
773
+ output_size: Optional[Tuple[int, int]] = None,
774
+ ) -> int:
775
+ """
776
+ Apply swirl shader to a texture or framebuffer.
777
+
778
+ Args:
779
+ texture_id: Input texture ID (ignored if input_framebuffer set)
780
+ in_place: If True, modify the input texture directly
781
+ angle: Shader uniform (float)
782
+ center: Shader uniform (Tuple[float, float])
783
+ radius: Shader uniform (float)
784
+ output_texture: Optional specific output texture to render to
785
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
786
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
787
+ output_size: Optional (width, height) render resolution; runs the shader
788
+ at a lower resolution while sampling the full-res input
789
+
790
+ Returns:
791
+ Output texture ID (0 if rendering to framebuffer)
792
+ """
793
+ ...
794
+
795
+ def threshold(
796
+ self,
797
+ texture_id: int = 0,
798
+ in_place: bool = False,
799
+ smoothness: float = 0.0,
800
+ threshold: float = 0.5,
801
+ output_texture: Optional[int] = None,
802
+ output_framebuffer: Optional[int] = None,
803
+ input_framebuffer: Optional[int] = None,
804
+ output_size: Optional[Tuple[int, int]] = None,
805
+ ) -> int:
806
+ """
807
+ Apply threshold shader to a texture or framebuffer.
808
+
809
+ Args:
810
+ texture_id: Input texture ID (ignored if input_framebuffer set)
811
+ in_place: If True, modify the input texture directly
812
+ smoothness: Shader uniform (float)
813
+ threshold: Shader uniform (float)
814
+ output_texture: Optional specific output texture to render to
815
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
816
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
817
+ output_size: Optional (width, height) render resolution; runs the shader
818
+ at a lower resolution while sampling the full-res input
819
+
820
+ Returns:
821
+ Output texture ID (0 if rendering to framebuffer)
822
+ """
823
+ ...
824
+
825
+ def vignette(
826
+ self,
827
+ texture_id: int = 0,
828
+ in_place: bool = False,
829
+ amount: float = 0.5,
830
+ radius: float = 0.75,
831
+ softness: float = 0.45,
832
+ output_texture: Optional[int] = None,
833
+ output_framebuffer: Optional[int] = None,
834
+ input_framebuffer: Optional[int] = None,
835
+ output_size: Optional[Tuple[int, int]] = None,
836
+ ) -> int:
837
+ """
838
+ Apply vignette shader to a texture or framebuffer.
839
+
840
+ Args:
841
+ texture_id: Input texture ID (ignored if input_framebuffer set)
842
+ in_place: If True, modify the input texture directly
843
+ amount: Shader uniform (float)
844
+ radius: Shader uniform (float)
845
+ softness: Shader uniform (float)
846
+ output_texture: Optional specific output texture to render to
847
+ output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
848
+ input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
849
+ output_size: Optional (width, height) render resolution; runs the shader
850
+ at a lower resolution while sampling the full-res input
851
+
852
+ Returns:
853
+ Output texture ID (0 if rendering to framebuffer)
854
+ """
855
+ ...
856
+