baldurk
3ea0d7a37d
Remove "preferSourceDebug" compile flag, use sourceDebugInformation
...
* This was previously only relevant for DXBC shaders that could have source
debug information but didn't prefer source debug unless optimisation was
disabled. This is inconsistent with how things are handled on SPIR-V and DXIL
and in general it's considered now that the benefits of debugging in source
outweigh the problems of debugging optimised code.
2026-08-13 17:46:48 +01:00
baldurk
7a1233e17e
Fix some python warnings in docs config & docstring checker
2026-08-13 17:46:48 +01:00
baldurk
34a45ed73d
Handle DOS newlines in ASCII rdc file sections
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
baldurk
61e21aa7b5
Fix incorrect reference in docstring
2026-08-13 17:46:47 +01:00
baldurk
a42d8ba2dd
Don't push blank lines into python REPL history
2026-08-13 17:46:47 +01:00
baldurk
a02741381b
For convenience expose InvokeOntoUIThread directly from CaptureContext
...
* This can be useful in python scripts and it's odd to have to go via the
MiniQtHelper just for this.
2026-08-13 17:46:46 +01:00
baldurk
00159dafac
Fix overload documentation for AsyncInvoke in replay manager
...
* Python can't properly document fully independent overloads, only default-
parameter type overloads. Moving the tag to last as an optional parameter
means we can eliminate the different variants.
* For cleanliness in C++ code we make an internal variant that swaps the
parameters, since it is much cleaner to have a lambda callback as the last
parameter.
2026-08-13 17:46:46 +01:00
baldurk
6e2069ec54
Add fallback logic to make AddDockWindow place panels somewhere
...
* We also handle the main window being passed in as the reference - since it's
the one widget which isn't a child of a docking system itself.
2026-08-13 17:46:46 +01:00
baldurk
2d0ba78a49
Add a function to fetch the texture display config from texture viewer
2026-08-13 17:46:46 +01:00
baldurk
7d2477026a
Add TextureViewer.GetChannelVisibility that returns a tuple
...
* This is more natural to access and use from python. The old function could
probably be removed but since we also changed the name we'll keep it.
2026-08-13 17:46:46 +01:00
baldurk
3f653cfbf2
Remove RENDERDOC_GetDefaultCaptureOptions, initialise in constructor
2026-08-13 17:46:46 +01:00
baldurk
e3b0fa0a24
Add UI thread invokers for all windows
...
* This is necessary as they expect to be run on the UI thread, but can be
fetched from python scripts running on the python script thread. We block
invoke over to the UI and suspend python's GIL to avoid deadlocks.
2026-08-13 17:46:46 +01:00
baldurk
db75eec620
Expose capture connection windows to python scripting
2026-08-13 17:46:46 +01:00
baldurk
7806d1557d
Rename CaptureDialog::TriggerCapture to Launch as better naming
2026-08-13 17:46:45 +01:00
baldurk
e6cd4d2e98
Add an entry to the recent files list for unsaved/temp recovery script
2026-08-13 17:46:45 +01:00
baldurk
434cb575a4
Call correct function for custom filters with completers
2026-08-13 17:46:45 +01:00
baldurk
782e7101e6
Improve formatting of function tooltips
2026-08-13 17:46:45 +01:00
baldurk
f02fbd7ffa
Fix cases where function tooltip would stick around too long
2026-08-13 17:46:45 +01:00
baldurk
b83fabce3a
Try to patch in 'pass' instead of commenting to preserve scopes
2026-08-13 17:46:45 +01:00
baldurk
4f3dab116b
Properly update docstrings with optional/default parameters
2026-08-13 17:46:45 +01:00
baldurk
ce8941150f
Don't print overload per optional parameter in sphinx documentation
2026-08-13 17:46:45 +01:00
baldurk
87825d3d64
Handle and check for default values in docstrings for verify-docstrings
2026-08-13 17:46:45 +01:00
baldurk
567b0228aa
Call OnCaptureClosed for capture viewers before resetting capture info
2026-08-13 17:46:45 +01:00
baldurk
cd79225daa
Call OnSelectedEventChanged() on new capture viewers
2026-08-13 17:46:44 +01:00
baldurk
21ebe7e6cc
When reloading an extension send errors to its output channel
2026-08-13 17:46:44 +01:00
baldurk
16a24406b2
In python extensions, set pyrenderdoc global before calling register()
2026-08-13 17:46:44 +01:00
baldurk
4baf001be9
Prevent tooltips from getting focus even with sloppy focus
2026-08-13 17:46:44 +01:00
baldurk
7fab2e0e0a
Add a forwarding ReplayController wrapper for python that auto invokes
2026-08-13 17:46:44 +01:00
baldurk
10272fa35b
Make most extension json fields optional
...
* We require `extension_api` and `version` fields in case needed for future
compatibility
2026-08-13 17:46:44 +01:00
baldurk
a665def9d9
Add a simple wizard to create a new empty extension
2026-08-13 17:46:44 +01:00
baldurk
c97850e39b
Allow customisation of VS Code executable
2026-08-13 17:46:44 +01:00
baldurk
ca0ac6157a
Fix some issues with reference counting on python objects
2026-08-13 17:46:44 +01:00
baldurk
459bfb2592
Add a project explorer to the python scripting window
...
* This displays the current UI extension files, some built-in examples, and
recently opened loose files
2026-08-13 17:46:44 +01:00
baldurk
b846705c0b
Handle python scripts via drag-and-drop to the window
2026-08-13 17:46:43 +01:00
baldurk
c95a69c8a1
Returning const arrays forces a copy
...
* This doesn't cover all cases but helps with 'pythonic' cases where a list
returned from a function should be expected to be mutable. Modifying direct
'members' can still modify through const.
2026-08-13 17:46:43 +01:00
baldurk
0bab6e4059
Fix cases where syntax checking timer wouldn't properly be started
...
* We let it run after any change unconditionally rather than stopping/starting
it. Instead if it fires and we ar in the middle of an autocomplete we just
ignore that instance.
2026-08-13 17:46:43 +01:00
baldurk
88782bea97
Use reflection script for autocomplete and help in python shell
...
* Also add syntax checking via parse attempts.
2026-08-13 17:46:43 +01:00
baldurk
2aff86b678
Change python scripting panel to allow multiple editor windows
...
* We also remove the old completion/help functionality as it will be replaced.
2026-08-13 17:46:43 +01:00
baldurk
f5033de8ff
Add some local changes to Scintilla to avoid autocomplete flicker
...
* The code by default will recreate/move/resize the autocomplete box when re-
initialising and there's no way to just update the list without doing so.
2026-08-13 17:46:43 +01:00
baldurk
8a86b754f6
Generate autocomplete tooltips inside python reflector
2026-08-13 17:46:43 +01:00
baldurk
94c4e656d6
Move RDToolTip into separate file independent of tree view
2026-08-13 17:46:43 +01:00
baldurk
f9035e1c42
Assign enum value __doc__ attributes as python interpreter doesn't
2026-08-13 17:46:43 +01:00
baldurk
b9595f3685
Handle forward-referenced string return annotations
2026-08-13 17:46:43 +01:00
baldurk
ed52bc55df
Backport Qt implementation of calltips in Scintilla
...
* Taken from https://sourceforge.net/p/scintilla/code/ci/a82b87a88556f0bc23b7ff6
f4bdfd5241ef44a62/ upstream
2026-08-13 17:46:42 +01:00
baldurk
09c036bd36
Embed and initialise reflection script in python context
2026-08-13 17:46:42 +01:00
baldurk
be3d34fb93
Add support for aliasing modules when processing reflection
...
* This is a little specific to us, but when we see references to a `renderdoc`
module etc we want to be able to look up the generated stubs instead as they
have better type hints for processing.
2026-08-13 17:46:42 +01:00