1138 Commits
Author SHA1 Message Date
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
baldurk 61e21aa7b5 Fix incorrect reference in docstring 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 782e7101e6 Improve formatting of function tooltips 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 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 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 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