Commit Graph
530 Commits
Author SHA1 Message Date
baldurk 5cf2745c64 Add a script to make sure that python stubs are sensible 2026-09-14 13:19:54 +01:00
baldurk cd4b13836e Use annotation type string massaging on path with ForwardRef 2026-09-12 15:40:46 +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 c98181bb9f Add warning about implementing CaptureViewer interface 2026-08-31 10:32:36 +01:00
baldurk 75682ad346 For stubs generate files non-ident name
* For some reason python type checkers get confused at things like `from .Foo
  import Foo` and start then treating `Foo` as either the module or the class.
2026-08-13 21:05:16 +01:00
baldurk da4350a759 Add an example of advanced buffer format/processing 2026-08-13 21:05:16 +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 bd005c9a96 Add clarification on the workflow for attaching python debugger 2026-08-13 21:05:15 +01:00
baldurk 73a125ed41 Document problems with VS Code path mappings
* When adding a 'remote attach' target in VS Code it adds path mappings that
  then break itself when debugging on the same machine :(.
2026-08-13 21:05:15 +01:00
baldurk e20c2b9985 Expose buffer interpretation helpers to python 2026-08-13 21:05:15 +01:00
baldurk 2fbf67493f Add dummy implementation for constructor @overload
* This is needed to import the stubs when default parameters invoke constructors
  - like `ResourceId()`
2026-08-13 21:05:15 +01:00
baldurk 4a03afc0ce Fix docs build warning 2026-08-13 21:05:15 +01:00
baldurk f97094fb23 Don't include swig static member function wrappers in stubs 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 bb23fbc741 Remove 'always load' extra opt-in for extensions
* If an extension is enabled in the extension manager, it will be loaded by
  default after that until disabled
2026-08-13 21:05:13 +01:00
baldurk 4bd0245975 Move new extension creation wizard to python scripting
* We remove the operations and interactions from the extension manager and leave
  it purely for browsing extensions and enabling/disabling them.
2026-08-13 21:05:13 +01:00
baldurk 650188f32c Expose UI extension management via context menu in project explorer
* Allow reloading and viewing output from context. Also add items for viewing in
  file explorer.
2026-08-13 21:05:13 +01:00
baldurk 14e636d1a5 Don't allow 'run' when editing UI extension files 2026-08-13 21:05:13 +01:00
baldurk 66ca2e3444 Add copy button to code snippets in sphinx with sphinx_copybutton ext 2026-08-13 21:05:12 +01:00
baldurk 5b90b75b79 Rewrite python docs & onboarding to be more opinionated
* The docs now explicitly tell people how to write UI scripts, then UI
  extensions, with as quick a start as possible, and go into detail in later
  documents. Use of the python module directly is also not featured prominently
  as this is a rare use-case for casual scripting needs.
2026-08-13 21:05:12 +01:00
baldurk e032466be2 Give more explicit API reference titles to python doc pages 2026-08-13 21:05:12 +01:00
baldurk 1292134b47 Add detailed per-topic writeups of relevant areas for python scripts 2026-08-13 21:05:11 +01:00
baldurk ed38da72ab Add writeups of each example 2026-08-13 21:05:11 +01:00
baldurk ec5cd1f049 Add new python examples, also available embedded into UI 2026-08-13 21:05:11 +01:00
baldurk 11b83f2272 Remove old python documentation, ready for replacement 2026-08-13 21:05:11 +01:00
baldurk eb27bd34bf Rename python shell to python scripting window in docs 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 173510cc8d Re-organise in-application API docs to have sections & better type docs
* We create proper docs for all the types we reference, some were omitted or
  implicit as 'notes' in parameters.
2026-08-13 17:46:49 +01:00
baldurk 7a1233e17e Fix some python warnings in docs config & docstring checker 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 3f653cfbf2 Remove RENDERDOC_GetDefaultCaptureOptions, initialise in constructor 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 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 16a24406b2 In python extensions, set pyrenderdoc global before calling register() 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 f9035e1c42 Assign enum value __doc__ attributes as python interpreter doesn't 2026-08-13 17:46:43 +01:00
baldurk c15a5c2c66 Add os.add_dll_directory cruft to verify-docstrings 2026-08-13 17:46:39 +01:00
baldurk 26a84363b8 Embed stubsgen.py and automatically generate stubs into user folder
* We create both a stubs folder for each specific version, and a 'latest' that
  is updated by newer RD versions.
* For development, the stubs will be regenerated any time the git commit hash
  changes for development builds.
2026-08-13 17:46:39 +01:00
baldurk 9223971536 Remove old stubs generation code and replace with our own script
* This is smaller and easier to maintain, and adds functionality like resolving
  circular dependencies to be able to import the stubs as-is on python 3.6+
2026-08-13 17:46:38 +01:00
baldurk 8d6d307998 Don't apply sphinx paramlinks to Callable[] lines 2026-08-13 17:46:38 +01:00
baldurk 64c942c68a Include license and readme for sphinxcontrib-jquery 2026-08-05 10:52:06 +01:00
baldurk a66becd518 Add missing documentation item 2026-07-21 16:59:52 +01:00
Kirill Kozlov 39ecdedcc1 Fix code snippet in the fetch_shader.rst
Make it the same as in the fetch_shader.py
2026-06-30 20:53:42 +09:00
baldurk 54320f730c Move anchor label above function in docs
* The anchor label being inside the cpp:function entry seems to break things in
  the parameters later
2026-05-15 17:17:52 +01:00
baldurk f0b46b5fcf Include needed jquery dependency for rtd theme
* We ship this locally as python 3.6 installs an older sphinx, which doesn't
  seem to have this available.
2026-05-15 17:17:52 +01:00
baldurk 71770e23ed Use default pygments style for sphinx docs 2026-05-15 17:11:23 +01:00