Commit Graph
1161 Commits
Author SHA1 Message Date
baldurk 6b9cec797d Add signal when python extensions are changed
* This avoids repeatedly hitting disk to enumerate current extensions for UI
  updates.
2026-09-17 11:44:07 +01:00
baldurk ac902dc08a Only log once about extensions that require an incompatible version 2026-09-17 11:44:07 +01:00
Jake Turner 298d4ee466 Update the pyrenderdoc module filters to renderdoc_module_python.cxx 2026-09-15 07:31:31 +01:00
baldurk 3e9202699f Handle exception properly if stubs generation fails 2026-09-12 15:40:28 +01:00
baldurk 0628f10b9a Fix docstring/function signature errors 2026-09-12 10:27:55 +01:00
baldurk 8bcf63aced Return current text of combo box properly in MiniQtHelper 2026-09-11 21:37:21 +01:00
baldurk 48b968e9a7 Add a MiniQtHelper to set spacing/margins on layouts 2026-09-11 21:17:19 +01:00
baldurk 3579ecc065 Fix use of TransientPopupArea with no ref window 2026-09-11 21:17:19 +01:00
baldurk 83c53890da Mark accessors/return values that can be None with Optional[]
* This helps with type checkers to know that things can be None or not (both to
  silence previous warnings about "unnecessary" checks that are actually
  necessary, and to ensure those checks aren't omitted by accident)
2026-09-11 15:04:03 +01:00
baldurk ce50614f0e Reduce number of error log prints when an extension fails to load 2026-09-11 15:03:59 +01:00
baldurk 2ada3ed28d Fix order of operations in shutdown
* When calling OnCaptureClosed now this is book-ended so called *while* the
  capture is opened. Do not refresh and repopulate EventBrowser cache.
2026-09-11 15:03:59 +01:00
baldurk b6270982de Only assign global m_DebugPy when initialisation is successful
* Prevents use on other threads e.g. python status check while partially
  initialised.
2026-09-05 15:05:41 +01:00
baldurk ca9bde9a98 Add proper optional argument defaults for optional callbacks 2026-09-01 12:28:09 +01:00
baldurk e4bd23b671 Fix bounds check in internal parser 2026-08-31 12:30:22 +01:00
baldurk 1aac7afdf1 Add helper function for appending text to a textedit 2026-08-31 12:13:26 +01:00
baldurk 0690269cb7 Add shortcuts for using user's preferred fixed font in MiniQtHelper 2026-08-31 11:27:30 +01:00
baldurk da8132b69c Add MiniQtHelper functions for scrolling widgets 2026-08-31 11:26:05 +01:00
baldurk 6b02191629 Try to break potential deadlock between UI and replay threads
* During capture shutdown on Python < 3.13 the replay thread will try to remove
  itself as a debuggable thread which requires being able to run python (holding
  the GIL). If the UI thread is the one triggering the capture shutdown and is
  running a call from a python script it may hold the GIL while waiting for the
  replay thread to close, deadlocking.
* To alleviate this, while the UI thread is about to block on the replay thread
  we try to release the python state if we are holding it so that the replay
  thread can run python code if needed.
* We already do this in a manual wrapper around BlockInvoke.
2026-08-31 11:13:35 +01:00
baldurk cbeb5804cf Ensure blocking controller invokes onto UI thread if using context 2026-08-28 15:53:47 +01:00
baldurk a1b76c231e Improve the workflow for extensions that fail on import 2026-08-28 15:46:23 +01:00
baldurk f5240a4a47 Add missing function implementations to blocking ReplayController 2026-08-28 15:46:23 +01:00
baldurk 81bec684a3 Expose proper capture closing function to python extensions 2026-08-28 15:46:23 +01:00
baldurk 6237238cf7 Put python version in about dialog 2026-08-28 13:18:26 +01:00
baldurk 45b5f1ad1d Remove debug print 2026-08-27 16:34:36 +01:00
baldurk fa5af1bf7c Remove extra ) 2026-08-27 15:29:03 +01:00
baldurk d015c0619a Fix race when initialising help context 2026-08-27 15:27:09 +01:00
baldurk 8cccd45e5b More unused lambda captures 2026-08-27 14:33:53 +01:00
baldurk 675484a382 Remove unused lambda capture 2026-08-27 14:12:36 +01:00
baldurk b100e05053 Add autocomplete for python help entry 2026-08-27 13:43:14 +01:00
baldurk 9a2ec4aa19 Use python invoker wrapper everywhere for pyrenderdoc
* This includes in the parameters of extension callbacks.
2026-08-27 12:45:52 +01:00
baldurk 928cfcd80a Ensure python compile error exceptions get handled properly 2026-08-27 12:42:57 +01:00
baldurk 1aeac957bd Compile fixes 2026-08-13 23:23:27 +01:00
baldurk 8dd7692282 Improve parsing of enums in buffer formatter
* Add a [[flags]] annotation for enums that should bitmask-match, and add a
  member to each interpreted enum value leaf to provide the string name.
2026-08-13 21:05:16 +01:00
baldurk e20c2b9985 Expose buffer interpretation helpers to python 2026-08-13 21:05:15 +01:00
baldurk 964ef04526 Fix some cases where type aliases were not used in reflection 2026-08-13 21:05:15 +01:00
baldurk 71f40cef1a Remove any extra typing aliases that were pulled into module dir()s 2026-08-13 21:05:14 +01:00
baldurk 68bb7e1ceb Track our own custom types for user-defined functions/classes
* This lets us track the docstrings of these for better tooltips
2026-08-13 21:05:14 +01:00
baldurk b3710eba3b Fetch & display tooltips for each entry along with autocomplete options 2026-08-13 21:05:14 +01:00
baldurk 79ad933913 Avoid accessing possibly deprecated typing members 2026-08-13 21:05:14 +01:00
baldurk 022a5e1438 Change python scripting 'debug' button to just attach, not run 2026-08-13 21:05:14 +01:00
baldurk 810e6a79d2 Run scripts in their place when they are on disk
* We only write the pytmp/script.py for unsaved scripts, so they can be
  recovered.
2026-08-13 21:05:14 +01:00
baldurk a113dbbda8 Detect crashes during python extension loads and offer to disable 2026-08-13 21:05:13 +01:00
baldurk 1416d92b09 Use properties consistently for custom dependency paths on windows
* This removes the (now undocumented) python env vars, and the never documented
  Qt env vars. We add new build script arguments to specify these paths.
2026-08-13 21:05:12 +01:00
baldurk 83a80ad9dc Add some notes to main interface docstrings of where they are obtained 2026-08-13 21:05:11 +01:00
baldurk d4130ce42a Enable nitpicking in sphinx documentation build and fix some broken refs 2026-08-13 17:46:49 +01:00
baldurk b60f42d8b1 Move find/replace logic out of shader viewer so it can be reused 2026-08-13 17:46:48 +01:00
baldurk bb4017a965 Add a spellchecking mode for sphinx and fix some typos
* The worst one was Persistant -> Persistent. This involved renaming
  PersistentConfig but the impact of that is considered minimal enough to be
  worth fixing.
2026-08-13 17:46:47 +01:00
baldurk 5e462c5ebe Add type hints to python for class constructors
* We enforce default and copy constructors where possible, this isn't very
  pythonic but we can't use copy.deepcopy on our types.
* The structs that have specialised constructors e.g. FloatVector or Subresource
  also have those documented though we have no way to enforce it.
2026-08-13 17:46:47 +01:00
baldurk 950568fb8f Rename previous/next to previousAction/nextAction in ActionDescription
* swig internally creates 'next' member which we normally want to avoid, so
  prevent shadowing here by using a distinct name.
2026-08-13 17:46:47 +01:00
baldurk 40945e6e8a Explicitly note that MiniQtHelper callbacks are optional 2026-08-13 17:46:47 +01:00