baldurk
c95a69c8a1
Returning const arrays forces a copy
...
* This doesn't cover all cases but helps with 'pythonic' cases where a list
returned from a function should be expected to be mutable. Modifying direct
'members' can still modify through const.
2026-08-13 17:46:43 +01:00
baldurk
88782bea97
Use reflection script for autocomplete and help in python shell
...
* Also add syntax checking via parse attempts.
2026-08-13 17:46:43 +01:00
baldurk
2aff86b678
Change python scripting panel to allow multiple editor windows
...
* We also remove the old completion/help functionality as it will be replaced.
2026-08-13 17:46:43 +01:00
baldurk
8a86b754f6
Generate autocomplete tooltips inside python reflector
2026-08-13 17:46:43 +01:00
baldurk
b9595f3685
Handle forward-referenced string return annotations
2026-08-13 17:46:43 +01:00
baldurk
09c036bd36
Embed and initialise reflection script in python context
2026-08-13 17:46:42 +01:00
baldurk
be3d34fb93
Add support for aliasing modules when processing reflection
...
* This is a little specific to us, but when we see references to a `renderdoc`
module etc we want to be able to look up the generated stubs instead as they
have better type hints for processing.
2026-08-13 17:46:42 +01:00
baldurk
64645aa9d6
Add autocomplete helpers for members and function calls
...
* This requires a small quasi-hack for tracking user defined function calls
while looking up types.
2026-08-13 17:46:42 +01:00
baldurk
e0ca14d55a
Add a helper to figure out which function call and argument we're in
2026-08-13 17:46:42 +01:00
baldurk
575d8ed853
Add a function to figure out the trailing subexpression in an expr
...
* This is what will be used for autocompletion at a cursor point
2026-08-13 17:46:42 +01:00
baldurk
1b5ba59336
Return the correct type for list comprehension targets
2026-08-13 17:46:42 +01:00
baldurk
d7c3371777
Add a helper function that replaces contents of any strings with "xxx"
2026-08-13 17:46:42 +01:00
baldurk
6a2fca967c
Add a helper to get the friendly name for a type
2026-08-13 17:46:42 +01:00
baldurk
6b85e503fe
Add testing for type checking
2026-08-13 17:46:42 +01:00
baldurk
e7845446db
Add a query to pull the type of a given location
2026-08-13 17:46:41 +01:00
baldurk
f090436670
Determine best-effort type information for AST nodes
...
* This is not perfect but does a good enough job for most common cases.
2026-08-13 17:46:41 +01:00
baldurk
e57d9db9c4
Process scope declarations and identifiers in AST tree
...
* We don't generate type information yet, _get_type is stubbed out.
2026-08-13 17:46:41 +01:00
baldurk
b2b46e7e7c
Add structs for tracking identifiers and scopes
2026-08-13 17:46:41 +01:00
baldurk
08369056d3
Add python script for autocompletion parsing
...
* This tries to ast parse source that may contain an error.
* We don't try to fully error recover from unlimited problems, but a single
statement that is being edited can be tolerated by commenting out lines around
it
2026-08-13 17:46:41 +01:00
baldurk
23ca2cf053
Show syntax errors when editing in python script editor
2026-08-13 17:46:41 +01:00
baldurk
a70ee3a2eb
Watch python extensions for changes on disk and update status bar
...
* We show a button to quickly reload changed extensions.
2026-08-13 17:46:41 +01:00
baldurk
a995ded466
Add quick-helper to view extension output from manager dialog
2026-08-13 17:46:41 +01:00
baldurk
02ead51303
Add a status entry showing loaded python extensions & debugger status
2026-08-13 17:46:40 +01:00
baldurk
3c6dfd23b4
Add a drop-down for the script output panel to switch context
...
* By default we still display all messages, but this allows users to switch to
just seeing the output from one extension if desired.
2026-08-13 17:46:40 +01:00
baldurk
768d8fa615
Add a static context for connecting Qt signals for python extensions
2026-08-13 17:46:40 +01:00
baldurk
b1f0b9d310
Flush output before an exception
...
* We buffer output to avoid spamming huge numbers of signals especially when
single lines can be many write calls. This means if an exception is processed
immediately after a print the output from the print may come after the
extension.
2026-08-13 17:46:40 +01:00
baldurk
229c4c8746
Avoid polluting globals with completion objects
2026-08-13 17:46:40 +01:00
baldurk
60b989f2b7
Give extensions their own OutputRedirector object to identify them
2026-08-13 17:46:40 +01:00
baldurk
3ff393c91f
Add option to launch/wait for debugger on python contexts
2026-08-13 17:46:40 +01:00
baldurk
3dfd829331
Initialise debugpy on a thread to reduce startup time
2026-08-13 17:46:40 +01:00
baldurk
d71827d6a1
Load debugpy when possible to allow python debugging in-program
2026-08-13 17:46:39 +01:00
baldurk
9fc3c3cdcd
Use sys.settrace instead of PyEval_SetTrace for better compatibility
2026-08-13 17:46:39 +01:00
baldurk
e5f395497c
Allow custom python folder to contain platform-subfolders
...
* This is not the default python layout but is convenient for sharing the
standard library .zip and include folder with separate binary folders per-
platform. The layout mirrors what we include in the repository.
2026-08-13 17:46:39 +01:00
baldurk
7e11dc9cc5
Allow loading a custom PySide2 with a customised python location
...
* This is expected to be in a pyside\ subfolder, with an organisation matching
our default setup.
* We also now copy the shiboken2 python module (if it exists) as required by new
pyside2 versions.
2026-08-13 17:46:39 +01:00
baldurk
965d788fe5
Add a settings window entry to add extra python stubs paths
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
a23ee5f526
Change documentation for callbacks to use Callable[]
2026-08-13 17:46:38 +01:00
baldurk
7567cc11c9
Fix GC collection of python contexts
2026-08-13 17:46:38 +01:00
baldurk
62b088319a
Detect struct array strides from BDA pointer decorations
2026-08-07 16:26:33 +01:00
baldurk
02e0f0983f
Handle mutually recursive cycles in declared pointer types
2026-08-03 21:30:51 +01:00
baldurk
c11d53b0d4
Handle mutually recursive pointer types in packing rules estimation
2026-08-03 21:15:19 +01:00
baldurk
1b9c13223f
Check for all possible GL matrix types in buffer formatter. Closes #3878
2026-08-03 21:15:19 +01:00
baldurk
63b38ef8b4
Encode information for ASTC/PVRTC blocks in ResourceFormat
2026-07-27 11:22:02 +01:00
Jake Turner
f8c90b0032
Tweak terminal emulator command line for RunProcessAsAdmin
...
Separate the arguments instead of a single argument
Use a different execute command line parameter for different terminal tools
-e : default
-x : for gnome-terminal
2026-07-22 07:46:21 +01:00
baldurk
4edf26d6f7
Choose native VS toolset per version as with SDK version
2026-07-02 16:24:42 +01:00
baldurk
06e8f370ba
Fix handling of some formats of scalar pointers in buffer formatter
2026-06-18 21:50:51 +01:00
baldurk
75ecc6ea1a
Return internal handle from sys
2026-05-15 13:15:45 +01:00
baldurk
206d732ade
Check serialised shader tool enums against known list
...
* Prevents an out of bound error from corrupt configs (or configs from the
future!)
2026-05-15 13:09:20 +01:00
baldurk
403725f69f
Check global handle from correct object in extension loading
2026-03-13 18:21:33 +00:00
baldurk
109e524d5c
Improve cross-module references in docstrings
2026-03-13 13:07:44 +00:00