Commit Graph
524 Commits
Author SHA1 Message Date
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
baldurk 4bf3fe3019 Fix os.add_dll_directory in docs to use absolute paths 2026-05-15 13:16:08 +01:00
baldurk fe0a8c55e6 Add some extra accessors of state to common pipeline state abstraction 2026-05-15 13:16:01 +01:00
baldurk bccce17b97 Remove navigation elements on embedded help builds (like htmlhelp) 2026-05-15 13:09:25 +01:00
baldurk 9897b96196 Remove encoding & embedded js that breaks htmlhelp builder 2026-05-15 13:09:24 +01:00
baldurk 2811b3874b Reset sphinx rtd theme to 3.1.0 with no modifications
* The next commits will contain our customisations that we still need for chm,
  to make it clearer.
2026-05-15 13:09:24 +01:00
baldurk 1730e6b5af For callable docstrings allow either std::function or Callback typedef 2026-03-13 13:07:44 +00:00