Commit Graph
139 Commits
Author SHA1 Message Date
baldurk a95d4d0461 Use titles instead of filenames for script created new editors 2026-08-26 11:37:46 +01:00
baldurk 85075565cd Don't hang onto new extensions item, recreate each time
* Clearing an RDTreeWidget deletes all items in it, so we would either need to
  remove it before clearing or just recreate it. We only need the handle in
  order to check against it when we see clicks
2026-08-24 17:04:14 +01:00
baldurk 1aeac957bd Compile fixes 2026-08-13 23:23:27 +01:00
baldurk da4350a759 Add an example of advanced buffer format/processing 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 b3710eba3b Fetch & display tooltips for each entry along with autocomplete options 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 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 45d22e3f0d Set font size properly on scintilla editors 2026-08-13 21:05:12 +01:00
baldurk ec5cd1f049 Add new python examples, also available embedded into UI 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 b60f42d8b1 Move find/replace logic out of shader viewer so it can be reused 2026-08-13 17:46:48 +01:00
baldurk a42d8ba2dd Don't push blank lines into python REPL history 2026-08-13 17:46:47 +01:00
baldurk e3b0fa0a24 Add UI thread invokers for all windows
* This is necessary as they expect to be run on the UI thread, but can be
  fetched from python scripts running on the python script thread. We block
  invoke over to the UI and suspend python's GIL to avoid deadlocks.
2026-08-13 17:46:46 +01:00
baldurk e6cd4d2e98 Add an entry to the recent files list for unsaved/temp recovery script 2026-08-13 17:46:45 +01:00
baldurk f02fbd7ffa Fix cases where function tooltip would stick around too long 2026-08-13 17:46:45 +01:00
baldurk 7fab2e0e0a Add a forwarding ReplayController wrapper for python that auto invokes 2026-08-13 17:46:44 +01:00
baldurk 459bfb2592 Add a project explorer to the python scripting window
* This displays the current UI extension files, some built-in examples, and
  recently opened loose files
2026-08-13 17:46:44 +01:00
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 0bab6e4059 Fix cases where syntax checking timer wouldn't properly be started
* We let it run after any change unconditionally rather than stopping/starting
  it. Instead if it fires and we ar in the middle of an autocomplete we just
  ignore that instance.
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 23ca2cf053 Show syntax errors when editing in python script editor 2026-08-13 17:46:41 +01:00
baldurk 22444aa44d Disable python debugging buttons if it's not supported 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 836a5da7fa Re-organise python shell to be dockable and dock REPL at bottom 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 d71827d6a1 Load debugpy when possible to allow python debugging in-program 2026-08-13 17:46:39 +01:00
baldurk 13ad7875f2 Add annotation display in resource inspector and as standalone panel 2026-01-28 14:42:10 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner cf4e8b15fc ICaptureContextx APIs for externally referenced dependency files
void EmbedDependentFilesIntoCapture();
void RemoveDependentFilesFromCapture();
2025-12-11 11:13:29 +13:00
baldurk b4615dbd18 Add a delayed callback helper for python 2025-09-09 18:57:34 +01:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk 31d29fcea1 Add python function to clear replay cache 2025-02-21 14:19:12 +00:00
Jake Turner b7b5ec0c14 Remove device scaling factor from margins in the UI
Makes ShaderViewer, Capture Comments and Python Shell margins look correct for non-unit system scaling
2024-06-12 16:37:02 +01:00
baldurk 1194531fc5 Add a descriptor viewer for showing all of a heap, root sig, or set 2024-04-10 18:58:53 +01:00
baldurk 153cd2aa16 Expose queries for descriptor stores and D3D12 root signature range
* This will allow a UI viewer or consumer of the replay API to more easily query
  'all' descriptors for a given store.
2024-04-10 18:58:53 +01:00
baldurk 2bbe1a8cd9 Update shader viewer and debugging with new reporting for shader binds
* This shifts from reporting from the old style bindset/bind to the new system
  of only referencing by shader interface and index (independent of binding
  model).
* The vulkan shader debugger re-uses the replay interface to cache descriptor
  access and descriptor contents in a fashion friendly to interface-index
  lookup.
2024-04-10 18:58:51 +01:00
Jake Turner 3cb8998841 Vulkan DebugPixel support for multiview debugging
Output "ViewIndex" into the pixel shader hits array
Select the pixel shader input which matches the viewIndex to the passed in view
Ignore the view parameter if set to ~0U (rd.ReplayController.NoPreference)
Ignore the view parameter if any subpass has empty multiviews
2024-03-13 07:58:48 +00:00
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +00:00