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