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