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
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