Commit Graph
17258 Commits
Author SHA1 Message Date
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 63e130e72a Handle example editors better - don't treat example name as filename 2026-08-13 21:05:15 +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 964ef04526 Fix some cases where type aliases were not used in reflection 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 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 586886b3f5 Add custom change to scintilla to query bounds of autocomplete box 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 e7f0aac008 Don't run syntax checks while a script is running 2026-08-13 21:05:13 +01:00
baldurk bf710530d2 Don't write scripts to temp file, run in their real location
* This means any changes in the external editor/debugger will be reflected
  properly.
2026-08-13 21:05:13 +01:00
baldurk a113dbbda8 Detect crashes during python extension loads and offer to disable 2026-08-13 21:05:13 +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 4f07e09d48 Make editor wrapper a true wrapper to allow displaying warnings per-view 2026-08-13 21:05:12 +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 45d22e3f0d Set font size properly on scintilla editors 2026-08-13 21:05:12 +01:00
baldurk 0f50ff29c5 Update installer config to expect python 3.8 2026-08-13 21:05:12 +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 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 2654224fb5 Clarify ResourceUsage.Unused docstring to be more explicit 2026-08-13 21:05:11 +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 eb27bd34bf Rename python shell to python scripting window in docs 2026-08-13 21:05:11 +01:00
baldurk 1bad994e84 Rate limit how often the current line is updated in python shell
* If there's a very tight loop there could be a _lot_ of updates to the point
  where the UI takes longer to redraw than the script does to step a line.
  Updating at 100Hz is still plenty fast.
2026-08-13 21:05:11 +01:00
baldurk 8ca1aa2c8d Expose memory bindings for buffers/textures on Vulkan and D3D12
* This only applies to explicit memory binding APIs - so D3D11 and GL are
  excluded. On D3D12, committed resources will not have anything listed here.
2026-08-13 21:05:10 +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 b60f42d8b1 Move find/replace logic out of shader viewer so it can be reused 2026-08-13 17:46:48 +01:00
baldurk 91cf34e4bd Add cmake option to force a particular python version 2026-08-13 17:46:48 +01:00
baldurk d6c61f28d4 Rename legacy parameter name to be more correct 2026-08-13 17:46:48 +01:00
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