rdc-cli 0.4.4__tar.gz → 0.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. rdc_cli-0.5.0/.github/ISSUE_TEMPLATE/bug_report.yml +65 -0
  2. rdc_cli-0.5.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
  3. rdc_cli-0.5.0/.github/ISSUE_TEMPLATE/feature_request.yml +37 -0
  4. rdc_cli-0.5.0/.github/PULL_REQUEST_TEMPLATE.md +17 -0
  5. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/PKG-INFO +3 -2
  6. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/README.md +2 -1
  7. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/data/commands.json +7 -1
  8. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/examples.astro +37 -3
  9. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/usage.astro +27 -0
  10. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/gen-commands.py +1 -1
  11. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_skills/SKILL.md +44 -0
  12. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_skills/references/commands-quick-ref.md +14 -0
  13. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/cli.py +2 -0
  14. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/info.py +12 -0
  15. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/resources.py +106 -15
  16. rdc_cli-0.5.0/src/rdc/commands/unused_targets.py +43 -0
  17. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/daemon_server.py +2 -0
  18. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/query.py +56 -3
  19. rdc_cli-0.5.0/src/rdc/handlers/unused.py +40 -0
  20. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/services/query_service.py +364 -8
  21. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/PKG-INFO +3 -2
  22. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/SOURCES.txt +10 -0
  23. rdc_cli-0.5.0/tests/fixtures/gles-multipass-debug.apk +0 -0
  24. rdc_cli-0.5.0/tests/fixtures/gles_multipass_mali.rdc +0 -0
  25. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/mocks/mock_renderdoc.py +2 -0
  26. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_draws_events_daemon.py +170 -1
  27. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_info_commands.py +63 -0
  28. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pass_deps.py +209 -3
  29. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_shader.py +18 -4
  30. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_query_service.py +490 -0
  31. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_resources_commands.py +158 -5
  32. rdc_cli-0.5.0/tests/unit/test_rt_switches.py +243 -0
  33. rdc_cli-0.5.0/tests/unit/test_unused_targets.py +371 -0
  34. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.commitlintrc.yml +0 -0
  35. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.githooks/pre-commit +0 -0
  36. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.githooks/pre-push +0 -0
  37. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.github/CODEOWNERS +0 -0
  38. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.github/workflows/aur.yml +0 -0
  39. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.github/workflows/ci.yml +0 -0
  40. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.github/workflows/commitlint.yml +0 -0
  41. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.github/workflows/docs.yml +0 -0
  42. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.gitignore +0 -0
  43. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.python-version +0 -0
  44. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/.release-please-manifest.json +0 -0
  45. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/CONTRIBUTING.md +0 -0
  46. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/LICENSE +0 -0
  47. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/Makefile +0 -0
  48. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/SECURITY.md +0 -0
  49. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/aur/PKGBUILD +0 -0
  50. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/aur/stable/PKGBUILD +0 -0
  51. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docker/Dockerfile +0 -0
  52. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/astro.config.mjs +0 -0
  53. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/package-lock.json +0 -0
  54. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/package.json +0 -0
  55. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/public/.nojekyll +0 -0
  56. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/public/favicon.svg +0 -0
  57. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Commands.astro +0 -0
  58. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Demo.astro +0 -0
  59. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Features.astro +0 -0
  60. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Footer.astro +0 -0
  61. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Hero.astro +0 -0
  62. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Install.astro +0 -0
  63. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Navbar.astro +0 -0
  64. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Philosophy.astro +0 -0
  65. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/Terminal.astro +0 -0
  66. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/components/ThemeSwitcher.astro +0 -0
  67. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/data/replay.json +0 -0
  68. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/data/stats.json +0 -0
  69. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/layouts/Base.astro +0 -0
  70. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/layouts/Docs.astro +0 -0
  71. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/ai-integration.astro +0 -0
  72. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/commands.astro +0 -0
  73. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/design.astro +0 -0
  74. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/index.astro +0 -0
  75. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/install.astro +0 -0
  76. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/remote.astro +0 -0
  77. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/docs/vfs.astro +0 -0
  78. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/pages/index.astro +0 -0
  79. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/src/styles/global.css +0 -0
  80. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/tailwind.config.mjs +0 -0
  81. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/tapes/pipeline.tape +0 -0
  82. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/tapes/quickstart.tape +0 -0
  83. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/tests/validate.mjs +0 -0
  84. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/docs-astro/tsconfig.json +0 -0
  85. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/mypy.ini +0 -0
  86. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-03-bugfix-p2-batch/proposal.md +0 -0
  87. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-03-bugfix-p2-batch/tasks.md +0 -0
  88. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-03-bugfix-p2-batch/test-plan.md +0 -0
  89. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-04-w6-windows-bugfixes/proposal.md +0 -0
  90. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-04-w6-windows-bugfixes/tasks.md +0 -0
  91. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/2026-03-04-w6-windows-bugfixes/test-plan.md +0 -0
  92. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-bootstrap-foundation/proposal.md +0 -0
  93. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-bootstrap-foundation/tasks.md +0 -0
  94. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-bootstrap-foundation/test-plan.md +0 -0
  95. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-ci-hardening/proposal.md +0 -0
  96. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-ci-hardening/specs/ci/spec.md +0 -0
  97. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-ci-hardening/tasks.md +0 -0
  98. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-ci-hardening/test-plan.md +0 -0
  99. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-core-checks/proposal.md +0 -0
  100. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-core-checks/specs/foundation/spec.md +0 -0
  101. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-core-checks/tasks.md +0 -0
  102. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-core-checks/test-plan.md +0 -0
  103. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/proposal.md +0 -0
  104. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/specs/daemon/spec.md +0 -0
  105. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/tasks.md +0 -0
  106. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/test-plan.md +0 -0
  107. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/proposal.md +0 -0
  108. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/specs/daemon/spec.md +0 -0
  109. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/tasks.md +0 -0
  110. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/test-plan.md +0 -0
  111. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/proposal.md +0 -0
  112. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/specs/tooling/spec.md +0 -0
  113. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/tasks.md +0 -0
  114. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/test-plan.md +0 -0
  115. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-pixi-env/proposal.md +0 -0
  116. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-pixi-env/specs/tooling/spec.md +0 -0
  117. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-pixi-env/tasks.md +0 -0
  118. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-pixi-env/test-plan.md +0 -0
  119. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/proposal.md +0 -0
  120. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/specs/session/spec.md +0 -0
  121. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/tasks.md +0 -0
  122. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/test-plan.md +0 -0
  123. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/design.md +0 -0
  124. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/proposal.md +0 -0
  125. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/specs/architecture/spec.md +0 -0
  126. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/tasks.md +0 -0
  127. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/test-plan.md +0 -0
  128. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/proposal.md +0 -0
  129. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/specs/daemon/spec.md +0 -0
  130. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/tasks.md +0 -0
  131. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/test-plan.md +0 -0
  132. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/proposal.md +0 -0
  133. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/daemon/spec.md +0 -0
  134. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/foundation/spec.md +0 -0
  135. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/tasks.md +0 -0
  136. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/test-plan.md +0 -0
  137. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-draws-events/proposal.md +0 -0
  138. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-draws-events/specs/daemon/spec.md +0 -0
  139. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-draws-events/tasks.md +0 -0
  140. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-draws-events/test-plan.md +0 -0
  141. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-log/proposal.md +0 -0
  142. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-log/tasks.md +0 -0
  143. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-log/test-plan.md +0 -0
  144. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-pass-detail/proposal.md +0 -0
  145. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-pass-detail/tasks.md +0 -0
  146. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-pass-detail/test-plan.md +0 -0
  147. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-resources-passes/proposal.md +0 -0
  148. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-resources-passes/specs/daemon/spec.md +0 -0
  149. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-resources-passes/tasks.md +0 -0
  150. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-resources-passes/test-plan.md +0 -0
  151. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-shader-extended/proposal.md +0 -0
  152. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-shader-extended/tasks.md +0 -0
  153. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1-shader-extended/test-plan.md +0 -0
  154. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1.5-vfs/proposal.md +0 -0
  155. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1.5-vfs/tasks.md +0 -0
  156. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase1.5-vfs/test-plan.md +0 -0
  157. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-api-fix/proposal.md +0 -0
  158. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-api-fix/tasks.md +0 -0
  159. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-api-fix/test-plan.md +0 -0
  160. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/proposal.md +0 -0
  161. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/tasks.md +0 -0
  162. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/test-plan.md +0 -0
  163. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/proposal.md +0 -0
  164. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/tasks.md +0 -0
  165. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/test-plan.md +0 -0
  166. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/proposal.md +0 -0
  167. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/tasks.md +0 -0
  168. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/test-plan.md +0 -0
  169. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-counters/proposal.md +0 -0
  170. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-counters/tasks.md +0 -0
  171. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-counters/test-plan.md +0 -0
  172. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-descriptors/proposal.md +0 -0
  173. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-descriptors/tasks.md +0 -0
  174. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-descriptors/test-plan.md +0 -0
  175. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-search/proposal.md +0 -0
  176. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-search/tasks.md +0 -0
  177. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-search/test-plan.md +0 -0
  178. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-usage/proposal.md +0 -0
  179. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-usage/tasks.md +0 -0
  180. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2-usage/test-plan.md +0 -0
  181. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/proposal.md +0 -0
  182. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/tasks.md +0 -0
  183. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/test-plan.md +0 -0
  184. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/proposal.md +0 -0
  185. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/tasks.md +0 -0
  186. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/test-plan.md +0 -0
  187. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/proposal.md +0 -0
  188. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/tasks.md +0 -0
  189. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/test-plan.md +0 -0
  190. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/proposal.md +0 -0
  191. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/tasks.md +0 -0
  192. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/test-plan.md +0 -0
  193. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/proposal.md +0 -0
  194. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/tasks.md +0 -0
  195. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/test-plan.md +0 -0
  196. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/proposal.md +0 -0
  197. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/tasks.md +0 -0
  198. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/test-plan.md +0 -0
  199. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/proposal.md +0 -0
  200. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/tasks.md +0 -0
  201. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/test-plan.md +0 -0
  202. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/proposal.md +0 -0
  203. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/tasks.md +0 -0
  204. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/test-plan.md +0 -0
  205. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-vfs-path-completion/proposal.md +0 -0
  206. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-vfs-path-completion/tasks.md +0 -0
  207. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-20-vfs-path-completion/test-plan.md +0 -0
  208. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/proposal.md +0 -0
  209. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/tasks.md +0 -0
  210. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/test-plan.md +0 -0
  211. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/proposal.md +0 -0
  212. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/tasks.md +0 -0
  213. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/test-plan.md +0 -0
  214. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-pass-detection/proposal.md +0 -0
  215. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-pass-detection/tasks.md +0 -0
  216. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-pass-detection/test-plan.md +0 -0
  217. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/proposal.md +0 -0
  218. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/tasks.md +0 -0
  219. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/test-plan.md +0 -0
  220. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/proposal.md +0 -0
  221. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/tasks.md +0 -0
  222. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/test-plan.md +0 -0
  223. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/proposal.md +0 -0
  224. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/tasks.md +0 -0
  225. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/test-plan.md +0 -0
  226. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ai-agent-skill/proposal.md +0 -0
  227. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ai-agent-skill/tasks.md +0 -0
  228. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ai-agent-skill/test-plan.md +0 -0
  229. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/proposal.md +0 -0
  230. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/tasks.md +0 -0
  231. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/test-plan.md +0 -0
  232. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/proposal.md +0 -0
  233. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/tasks.md +0 -0
  234. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/test-plan.md +0 -0
  235. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ci-repo-hardening/proposal.md +0 -0
  236. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ci-repo-hardening/tasks.md +0 -0
  237. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-ci-repo-hardening/test-plan.md +0 -0
  238. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-code-maintainability/proposal.md +0 -0
  239. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-code-maintainability/tasks.md +0 -0
  240. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-code-maintainability/test-plan.md +0 -0
  241. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-consistent-output-options/proposal.md +0 -0
  242. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-consistent-output-options/tasks.md +0 -0
  243. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-consistent-output-options/test-plan.md +0 -0
  244. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/proposal.md +0 -0
  245. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/tasks.md +0 -0
  246. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/test-plan.md +0 -0
  247. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/proposal.md +0 -0
  248. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/tasks.md +0 -0
  249. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/test-plan.md +0 -0
  250. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/proposal.md +0 -0
  251. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/tasks.md +0 -0
  252. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/test-plan.md +0 -0
  253. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-draws/proposal.md +0 -0
  254. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-draws/tasks.md +0 -0
  255. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-draws/test-plan.md +0 -0
  256. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-framebuffer/proposal.md +0 -0
  257. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-framebuffer/tasks.md +0 -0
  258. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-framebuffer/test-plan.md +0 -0
  259. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-infrastructure/proposal.md +0 -0
  260. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-infrastructure/tasks.md +0 -0
  261. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-infrastructure/test-plan.md +0 -0
  262. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-pipeline/proposal.md +0 -0
  263. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-pipeline/tasks.md +0 -0
  264. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-pipeline/test-plan.md +0 -0
  265. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-resources/proposal.md +0 -0
  266. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-resources/tasks.md +0 -0
  267. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-resources/test-plan.md +0 -0
  268. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-stats/proposal.md +0 -0
  269. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-stats/tasks.md +0 -0
  270. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-diff-stats/test-plan.md +0 -0
  271. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-docs-automation/proposal.md +0 -0
  272. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-docs-automation/tasks.md +0 -0
  273. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-docs-automation/test-plan.md +0 -0
  274. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/proposal.md +0 -0
  275. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/tasks.md +0 -0
  276. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/test-plan.md +0 -0
  277. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-image-compare/proposal.md +0 -0
  278. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-image-compare/tasks.md +0 -0
  279. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-image-compare/test-plan.md +0 -0
  280. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3a-script/proposal.md +0 -0
  281. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3a-script/tasks.md +0 -0
  282. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3a-script/test-plan.md +0 -0
  283. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/proposal.md +0 -0
  284. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/tasks.md +0 -0
  285. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/test-plan.md +0 -0
  286. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-snapshot/proposal.md +0 -0
  287. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-snapshot/tasks.md +0 -0
  288. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase3c-snapshot/test-plan.md +0 -0
  289. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/proposal.md +0 -0
  290. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/tasks.md +0 -0
  291. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/test-plan.md +0 -0
  292. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/proposal.md +0 -0
  293. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/tasks.md +0 -0
  294. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/test-plan.md +0 -0
  295. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/proposal.md +0 -0
  296. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/tasks.md +0 -0
  297. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/test-plan.md +0 -0
  298. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-overlay/proposal.md +0 -0
  299. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-overlay/tasks.md +0 -0
  300. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase4c-overlay/test-plan.md +0 -0
  301. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-debug-thread/proposal.md +0 -0
  302. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-debug-thread/tasks.md +0 -0
  303. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-debug-thread/test-plan.md +0 -0
  304. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/proposal.md +0 -0
  305. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/tasks.md +0 -0
  306. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/test-plan.md +0 -0
  307. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-tex-stats/proposal.md +0 -0
  308. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-tex-stats/tasks.md +0 -0
  309. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-phase5-tex-stats/test-plan.md +0 -0
  310. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/proposal.md +0 -0
  311. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/tasks.md +0 -0
  312. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/test-plan.md +0 -0
  313. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-robustness-hardening/proposal.md +0 -0
  314. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-robustness-hardening/tasks.md +0 -0
  315. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-robustness-hardening/test-plan.md +0 -0
  316. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-security-hardening-2/proposal.md +0 -0
  317. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-security-hardening-2/tasks.md +0 -0
  318. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-security-hardening-2/test-plan.md +0 -0
  319. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-skill-auto-install/proposal.md +0 -0
  320. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-skill-auto-install/tasks.md +0 -0
  321. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-skill-auto-install/test-plan.md +0 -0
  322. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-worktree-isolation/proposal.md +0 -0
  323. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-worktree-isolation/tasks.md +0 -0
  324. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-22-worktree-isolation/test-plan.md +0 -0
  325. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b17-eid-mutation/proposal.md +0 -0
  326. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b17-eid-mutation/tasks.md +0 -0
  327. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b17-eid-mutation/test-plan.md +0 -0
  328. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/proposal.md +0 -0
  329. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/tasks.md +0 -0
  330. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/test-plan.md +0 -0
  331. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/proposal.md +0 -0
  332. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/tasks.md +0 -0
  333. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/test-plan.md +0 -0
  334. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/proposal.md +0 -0
  335. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/tasks.md +0 -0
  336. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/test-plan.md +0 -0
  337. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-docs-polish/proposal.md +0 -0
  338. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-docs-polish/tasks.md +0 -0
  339. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-docs-polish/test-plan.md +0 -0
  340. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-aur-build/proposal.md +0 -0
  341. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-aur-build/tasks.md +0 -0
  342. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-aur-build/test-plan.md +0 -0
  343. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/proposal.md +0 -0
  344. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/tasks.md +0 -0
  345. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/test-plan.md +0 -0
  346. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase-w2-build-script/proposal.md +0 -0
  347. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase-w2-build-script/tasks.md +0 -0
  348. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase-w2-build-script/test-plan.md +0 -0
  349. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/proposal.md +0 -0
  350. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/tasks.md +0 -0
  351. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/test-plan.md +0 -0
  352. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-gpu-coverage/proposal.md +0 -0
  353. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-gpu-coverage/tasks.md +0 -0
  354. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-gpu-coverage/test-plan.md +0 -0
  355. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-mock-accuracy/proposal.md +0 -0
  356. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-mock-accuracy/tasks.md +0 -0
  357. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-23-test-mock-accuracy/test-plan.md +0 -0
  358. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/proposal.md +0 -0
  359. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/tasks.md +0 -0
  360. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/test-plan.md +0 -0
  361. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-m-macos-support/proposal.md +0 -0
  362. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-m-macos-support/tasks.md +0 -0
  363. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-m-macos-support/test-plan.md +0 -0
  364. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/proposal.md +0 -0
  365. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/tasks.md +0 -0
  366. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/test-plan.md +0 -0
  367. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/proposal.md +0 -0
  368. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/tasks.md +0 -0
  369. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/test-plan.md +0 -0
  370. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/proposal.md +0 -0
  371. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/tasks.md +0 -0
  372. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/test-plan.md +0 -0
  373. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-design-deviation-fixes/proposal.md +0 -0
  374. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-design-deviation-fixes/tasks.md +0 -0
  375. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-design-deviation-fixes/test-plan.md +0 -0
  376. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-dev-install-enhancement/proposal.md +0 -0
  377. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-dev-install-enhancement/tasks.md +0 -0
  378. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/changes/archive/2026-02-28-dev-install-enhancement/test-plan.md +0 -0
  379. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/architecture/spec.md +0 -0
  380. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/ci/spec.md +0 -0
  381. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/daemon/spec.md +0 -0
  382. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/foundation/spec.md +0 -0
  383. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/packaging/spec.md +0 -0
  384. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/session/spec.md +0 -0
  385. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/openspec/specs/tooling/spec.md +0 -0
  386. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/pixi.lock +0 -0
  387. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/pixi.toml +0 -0
  388. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/pyproject.toml +0 -0
  389. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/release-please-config.json +0 -0
  390. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/ruff.toml +0 -0
  391. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/build-renderdoc.sh +0 -0
  392. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/build_renderdoc.py +0 -0
  393. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/capture_fixture.sh +0 -0
  394. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/dev_install.py +0 -0
  395. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/e2e_test.py +0 -0
  396. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/ensure-renderdoc.py +0 -0
  397. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/ensure-renderdoc.sh +0 -0
  398. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/ensure-skill-link.py +0 -0
  399. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/gen-replay.py +0 -0
  400. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/gen-skill-ref.py +0 -0
  401. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/gen-stats.py +0 -0
  402. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/gen_and_check.py +0 -0
  403. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/setup-renderdoc.sh +0 -0
  404. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/setup-vulkan-samples.sh +0 -0
  405. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/setup_android_tools.py +0 -0
  406. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/setup_vulkan_samples.py +0 -0
  407. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/verify-package.sh +0 -0
  408. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/scripts/verify_package.py +0 -0
  409. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/setup.cfg +0 -0
  410. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/__init__.py +0 -0
  411. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_build_renderdoc.py +0 -0
  412. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_platform.py +0 -0
  413. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_skills/__init__.py +0 -0
  414. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/_transport.py +0 -0
  415. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/adapter.py +0 -0
  416. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/capture_core.py +0 -0
  417. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/_helpers.py +0 -0
  418. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/android.py +0 -0
  419. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/assert_ci.py +0 -0
  420. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/assert_image.py +0 -0
  421. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/capture.py +0 -0
  422. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/capture_control.py +0 -0
  423. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/capturefile.py +0 -0
  424. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/completion.py +0 -0
  425. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/counters.py +0 -0
  426. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/debug.py +0 -0
  427. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/diff.py +0 -0
  428. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/doctor.py +0 -0
  429. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/events.py +0 -0
  430. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/export.py +0 -0
  431. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/install_skill.py +0 -0
  432. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/mesh.py +0 -0
  433. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/pick_pixel.py +0 -0
  434. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/pipeline.py +0 -0
  435. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/pixel.py +0 -0
  436. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/remote.py +0 -0
  437. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/script.py +0 -0
  438. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/search.py +0 -0
  439. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/serve.py +0 -0
  440. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/session.py +0 -0
  441. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/setup_renderdoc.py +0 -0
  442. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/shader_edit.py +0 -0
  443. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/snapshot.py +0 -0
  444. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/tex_stats.py +0 -0
  445. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/unix_helpers.py +0 -0
  446. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/usage.py +0 -0
  447. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/commands/vfs.py +0 -0
  448. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/daemon_client.py +0 -0
  449. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/__init__.py +0 -0
  450. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/alignment.py +0 -0
  451. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/draws.py +0 -0
  452. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/framebuffer.py +0 -0
  453. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/pipeline.py +0 -0
  454. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/resources.py +0 -0
  455. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/stats.py +0 -0
  456. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/diff/summary.py +0 -0
  457. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/discover.py +0 -0
  458. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/formatters/json_fmt.py +0 -0
  459. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/formatters/kv.py +0 -0
  460. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/formatters/options.py +0 -0
  461. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/formatters/tsv.py +0 -0
  462. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/__init__.py +0 -0
  463. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/_helpers.py +0 -0
  464. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/_types.py +0 -0
  465. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/buffer.py +0 -0
  466. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/capture.py +0 -0
  467. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/capturefile.py +0 -0
  468. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/core.py +0 -0
  469. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/debug.py +0 -0
  470. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/descriptor.py +0 -0
  471. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/pipe_state.py +0 -0
  472. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/pixel.py +0 -0
  473. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/script.py +0 -0
  474. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/shader.py +0 -0
  475. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/shader_edit.py +0 -0
  476. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/texture.py +0 -0
  477. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/handlers/vfs.py +0 -0
  478. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/image_compare.py +0 -0
  479. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/protocol.py +0 -0
  480. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/remote_core.py +0 -0
  481. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/remote_state.py +0 -0
  482. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/services/__init__.py +0 -0
  483. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/services/diff_service.py +0 -0
  484. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/services/session_service.py +0 -0
  485. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/session_state.py +0 -0
  486. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/target_state.py +0 -0
  487. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/vfs/__init__.py +0 -0
  488. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/vfs/formatter.py +0 -0
  489. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/vfs/router.py +0 -0
  490. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc/vfs/tree_cache.py +0 -0
  491. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/dependency_links.txt +0 -0
  492. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/entry_points.txt +0 -0
  493. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/requires.txt +0 -0
  494. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/src/rdc_cli.egg-info/top_level.txt +0 -0
  495. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/conftest.py +0 -0
  496. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/__init__.py +0 -0
  497. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/blackbox_test_catalog.md +0 -0
  498. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/conftest.py +0 -0
  499. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/e2e_helpers.py +0 -0
  500. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_advanced.py +0 -0
  501. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_assert.py +0 -0
  502. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_capture.py +0 -0
  503. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_capturefile.py +0 -0
  504. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_debug.py +0 -0
  505. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_diff.py +0 -0
  506. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_export.py +0 -0
  507. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_formats.py +0 -0
  508. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_presession.py +0 -0
  509. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_query.py +0 -0
  510. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_session.py +0 -0
  511. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_shader_edit.py +0 -0
  512. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/e2e/test_vfs.py +0 -0
  513. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/fixtures/gles-triangle-debug.apk +0 -0
  514. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/fixtures/gles_android_mali.rdc +0 -0
  515. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/fixtures/hello_triangle.rdc +0 -0
  516. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/fixtures/vkcube.rdc +0 -0
  517. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/fixtures/vkcube_validation.rdc +0 -0
  518. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/integration/test_build_renderdoc_integration.py +0 -0
  519. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/integration/test_daemon_handlers_real.py +0 -0
  520. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/integration/test_mock_api_sync.py +0 -0
  521. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/integration/test_real_replay.py +0 -0
  522. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/integration/test_vulkan_samples.py +0 -0
  523. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/conftest.py +0 -0
  524. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_adapter.py +0 -0
  525. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_android_commands.py +0 -0
  526. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_assert_ci_commands.py +0 -0
  527. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_assert_image_command.py +0 -0
  528. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_binary_daemon.py +0 -0
  529. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_buffer_decode.py +0 -0
  530. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_build_renderdoc.py +0 -0
  531. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capture.py +0 -0
  532. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capture_control.py +0 -0
  533. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capture_core.py +0 -0
  534. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capture_handlers.py +0 -0
  535. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capturefile_commands.py +0 -0
  536. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_capturefile_handlers.py +0 -0
  537. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_ci_files.py +0 -0
  538. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_cli.py +0 -0
  539. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_cli_session_flag.py +0 -0
  540. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_completion.py +0 -0
  541. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_count_shadermap.py +0 -0
  542. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_counters_commands.py +0 -0
  543. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_counters_daemon.py +0 -0
  544. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_crash_regression.py +0 -0
  545. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_output_quality.py +0 -0
  546. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_pipeline_extended.py +0 -0
  547. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_server_unit.py +0 -0
  548. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_shader_api_fix.py +0 -0
  549. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_shader_extended.py +0 -0
  550. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_daemon_transport.py +0 -0
  551. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_debug_commands.py +0 -0
  552. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_debug_handlers.py +0 -0
  553. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_descriptors_daemon.py +0 -0
  554. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_dev_install.py +0 -0
  555. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_alignment.py +0 -0
  556. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_command.py +0 -0
  557. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_draws.py +0 -0
  558. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_framebuffer.py +0 -0
  559. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_pipeline.py +0 -0
  560. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_resources.py +0 -0
  561. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_service.py +0 -0
  562. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_stats.py +0 -0
  563. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_diff_summary.py +0 -0
  564. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_discover.py +0 -0
  565. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_doctor.py +0 -0
  566. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_draws_daemon.py +0 -0
  567. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_draws_events_cli.py +0 -0
  568. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_eid_completion.py +0 -0
  569. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_events_commands.py +0 -0
  570. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_export_commands.py +0 -0
  571. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_export_overlay.py +0 -0
  572. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_fix1_draws_pass_name.py +0 -0
  573. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_fix2_vfs_intermediate_dirs.py +0 -0
  574. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_fix3_friendly_pass_name.py +0 -0
  575. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_formatters.py +0 -0
  576. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_formatters_kv.py +0 -0
  577. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_gen_skill_ref.py +0 -0
  578. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_handlers_remote.py +0 -0
  579. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_image_compare.py +0 -0
  580. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_install_skill.py +0 -0
  581. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_json_errors.py +0 -0
  582. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_keep_remote.py +0 -0
  583. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_mesh_commands.py +0 -0
  584. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_mesh_handler.py +0 -0
  585. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_mock_capture_types.py +0 -0
  586. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_mock_renderdoc.py +0 -0
  587. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_open_remote.py +0 -0
  588. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_output_options.py +0 -0
  589. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_overlay_handler.py +0 -0
  590. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pick_pixel_commands.py +0 -0
  591. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pick_pixel_daemon.py +0 -0
  592. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_cli_phase27.py +0 -0
  593. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_commands.py +0 -0
  594. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_daemon.py +0 -0
  595. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_section_routing.py +0 -0
  596. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pipeline_state.py +0 -0
  597. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pixel_history_commands.py +0 -0
  598. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pixel_history_daemon.py +0 -0
  599. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_pixi_files.py +0 -0
  600. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_platform.py +0 -0
  601. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_protocol.py +0 -0
  602. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_quickfix_batch.py +0 -0
  603. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_remote_commands.py +0 -0
  604. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_remote_core.py +0 -0
  605. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_remote_replay.py +0 -0
  606. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_remote_state.py +0 -0
  607. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_require_pipe.py +0 -0
  608. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_resource_semantic_completion.py +0 -0
  609. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_resources_filter.py +0 -0
  610. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_script_command.py +0 -0
  611. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_script_handler.py +0 -0
  612. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_search.py +0 -0
  613. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_semantic_completion.py +0 -0
  614. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_serve.py +0 -0
  615. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_session_commands.py +0 -0
  616. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_session_completion.py +0 -0
  617. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_session_service.py +0 -0
  618. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_session_state.py +0 -0
  619. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_setup_renderdoc.py +0 -0
  620. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_setup_vulkan_samples.py +0 -0
  621. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_shader_edit_commands.py +0 -0
  622. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_shader_edit_handlers.py +0 -0
  623. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_shader_preload.py +0 -0
  624. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_skill_structure.py +0 -0
  625. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_snapshot_command.py +0 -0
  626. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_split_binary.py +0 -0
  627. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_split_core.py +0 -0
  628. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_target_state.py +0 -0
  629. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_tex_stats_commands.py +0 -0
  630. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_tex_stats_handler.py +0 -0
  631. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_tooling_files.py +0 -0
  632. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_unix_helpers_commands.py +0 -0
  633. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_usage_commands.py +0 -0
  634. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_usage_daemon.py +0 -0
  635. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_binary.py +0 -0
  636. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_commands.py +0 -0
  637. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_completion.py +0 -0
  638. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_daemon.py +0 -0
  639. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_formatter.py +0 -0
  640. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_router.py +0 -0
  641. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_vfs_tree_cache.py +0 -0
  642. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/tests/unit/test_windows_compat.py +0 -0
  643. {rdc_cli-0.4.4 → rdc_cli-0.5.0}/uv.lock +0 -0
@@ -0,0 +1,65 @@
1
+ name: Bug Report
2
+ description: Something isn't working as expected
3
+ labels: ["bug"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thanks for reporting! Please fill in as much detail as you can.
9
+
10
+ - type: textarea
11
+ id: what-happened
12
+ attributes:
13
+ label: What happened?
14
+ description: Describe the bug. What did you do, what did you expect, and what happened instead?
15
+ placeholder: |
16
+ Steps to reproduce:
17
+ 1. Run `rdc open capture.rdc`
18
+ 2. Run `rdc draws`
19
+ 3. ...
20
+
21
+ Expected: ...
22
+ Actual: ...
23
+ validations:
24
+ required: true
25
+
26
+ - type: textarea
27
+ id: doctor-output
28
+ attributes:
29
+ label: "`rdc doctor` output"
30
+ description: Paste the output of `rdc doctor` (helps us understand your environment).
31
+ render: text
32
+ validations:
33
+ required: false
34
+
35
+ - type: input
36
+ id: os
37
+ attributes:
38
+ label: OS / Platform
39
+ placeholder: "e.g. Ubuntu 24.04, Windows 11, macOS 15, Android 12 (EMUI)"
40
+ validations:
41
+ required: true
42
+
43
+ - type: input
44
+ id: python
45
+ attributes:
46
+ label: Python version
47
+ placeholder: "e.g. 3.12.3"
48
+ validations:
49
+ required: false
50
+
51
+ - type: input
52
+ id: rdc-version
53
+ attributes:
54
+ label: rdc-cli version
55
+ placeholder: "e.g. 0.4.4 (from `rdc --version`)"
56
+ validations:
57
+ required: true
58
+
59
+ - type: textarea
60
+ id: capture
61
+ attributes:
62
+ label: Capture file
63
+ description: If possible, attach a minimal `.rdc` file that reproduces the issue, or describe the GPU API / hardware involved.
64
+ validations:
65
+ required: false
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Documentation
4
+ url: https://bananasjim.github.io/rdc-cli/
5
+ about: Check the docs before opening an issue
@@ -0,0 +1,37 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or improvement
3
+ labels: ["enhancement"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Describe the use case first — what problem are you solving?
9
+
10
+ - type: textarea
11
+ id: problem
12
+ attributes:
13
+ label: Problem / Use case
14
+ description: What are you trying to do that isn't possible or is too difficult today?
15
+ placeholder: "I'm trying to ... but currently I have to ..."
16
+ validations:
17
+ required: true
18
+
19
+ - type: textarea
20
+ id: solution
21
+ attributes:
22
+ label: Proposed solution
23
+ description: If you have ideas on the CLI interface, include example invocations.
24
+ placeholder: |
25
+ ```bash
26
+ rdc frobnicate --flag value
27
+ ```
28
+ validations:
29
+ required: false
30
+
31
+ - type: textarea
32
+ id: alternatives
33
+ attributes:
34
+ label: Alternatives considered
35
+ description: Have you tried any workarounds? Other tools that solve this?
36
+ validations:
37
+ required: false
@@ -0,0 +1,17 @@
1
+ ## What
2
+
3
+ <!-- One-sentence summary of what this PR does. -->
4
+
5
+ ## Why
6
+
7
+ <!-- The problem or motivation. Link to the issue if there is one (Fixes #123). -->
8
+
9
+ ## How
10
+
11
+ <!-- Brief description of the approach. Call out any non-obvious decisions. -->
12
+
13
+ ## Test plan
14
+
15
+ - [ ] `pixi run check` passes (lint + typecheck + tests)
16
+ - [ ] Added/updated unit tests
17
+ - [ ] Manual testing with a real `.rdc` capture (if applicable)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rdc-cli
3
- Version: 0.4.4
3
+ Version: 0.5.0
4
4
  Summary: CLI for RenderDoc .rdc captures
5
5
  Author: Jim
6
6
  License-Expression: MIT
@@ -40,6 +40,7 @@ Dynamic: license-file
40
40
  [![Commands](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/commands.json)](https://bananasjim.github.io/rdc-cli/)
41
41
  [![Tests](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/tests.json)](https://bananasjim.github.io/rdc-cli/)
42
42
  [![Coverage](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/coverage.json)](https://bananasjim.github.io/rdc-cli/)
43
+ [![Discord](https://img.shields.io/discord/1485003415687008296?logo=discord&label=Discord)](https://discord.gg/h3zwUadp4k)
43
44
 
44
45
  **Turn RenderDoc captures into Unix text streams.** rdc-cli does not replace RenderDoc — it makes `.rdc` file contents accessible to `grep`, `awk`, `sort`, `diff`, `jq`, and AI agents.
45
46
 
@@ -236,7 +237,7 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
236
237
  | GPU state | `pipeline`, `bindings`, `shader`, `shaders`, `shader-map` |
237
238
  | Debug | `debug pixel`, `debug vertex`, `debug thread`, `pixel`, `pick-pixel`, `tex-stats` |
238
239
  | Shader edit | `shader-build`, `shader-replace`, `shader-restore`, `shader-restore-all`, `shader-encodings` |
239
- | Resources | `resources`, `resource`, `passes`, `pass`, `usage` |
240
+ | Resources | `resources`, `resource`, `passes`, `pass`, `usage`, `unused-targets` |
240
241
  | Export | `texture`, `rt`, `buffer`, `mesh`, `snapshot` |
241
242
  | Search | `search`, `counters` |
242
243
  | Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
@@ -13,6 +13,7 @@
13
13
  [![Commands](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/commands.json)](https://bananasjim.github.io/rdc-cli/)
14
14
  [![Tests](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/tests.json)](https://bananasjim.github.io/rdc-cli/)
15
15
  [![Coverage](https://img.shields.io/endpoint?url=https://bananasjim.github.io/rdc-cli/badges/coverage.json)](https://bananasjim.github.io/rdc-cli/)
16
+ [![Discord](https://img.shields.io/discord/1485003415687008296?logo=discord&label=Discord)](https://discord.gg/h3zwUadp4k)
16
17
 
17
18
  **Turn RenderDoc captures into Unix text streams.** rdc-cli does not replace RenderDoc — it makes `.rdc` file contents accessible to `grep`, `awk`, `sort`, `diff`, `jq`, and AI agents.
18
19
 
@@ -209,7 +210,7 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
209
210
  | GPU state | `pipeline`, `bindings`, `shader`, `shaders`, `shader-map` |
210
211
  | Debug | `debug pixel`, `debug vertex`, `debug thread`, `pixel`, `pick-pixel`, `tex-stats` |
211
212
  | Shader edit | `shader-build`, `shader-replace`, `shader-restore`, `shader-restore-all`, `shader-encodings` |
212
- | Resources | `resources`, `resource`, `passes`, `pass`, `usage` |
213
+ | Resources | `resources`, `resource`, `passes`, `pass`, `usage`, `unused-targets` |
213
214
  | Export | `texture`, `rt`, `buffer`, `mesh`, `snapshot` |
214
215
  | Search | `search`, `counters` |
215
216
  | Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
@@ -168,13 +168,19 @@
168
168
  "name": "passes",
169
169
  "id": "passes",
170
170
  "help": "List render passes.",
171
- "usage": "rdc passes [--json] [--deps] [--dot] [--graph] [--no-header] [--jsonl] [-q]"
171
+ "usage": "rdc passes [--json] [--deps] [--dot] [--graph] [--table] [--switches] [--no-header] [--jsonl] [-q]"
172
172
  },
173
173
  {
174
174
  "name": "pass",
175
175
  "id": "pass",
176
176
  "help": "Show detail for a single render pass by 0-based index or name.",
177
177
  "usage": "rdc pass <IDENTIFIER> [--json]"
178
+ },
179
+ {
180
+ "name": "unused-targets",
181
+ "id": "unused-targets",
182
+ "help": "Detect render targets produced but never consumed by visible output.",
183
+ "usage": "rdc unused-targets [--json] [-q] [--no-header]"
178
184
  }
179
185
  ]
180
186
  },
@@ -260,17 +260,51 @@ rdc --session after close</code></pre>
260
260
 
261
261
  <h2 id="render-pass">Render Pass Analysis</h2>
262
262
 
263
- <pre><code>{"# List all render passes"}
263
+ <pre><code>{"# List all render passes (NAME, DRAWS, DISPATCHES, TRIANGLES, BEGIN_EID, END_EID)"}
264
264
  rdc passes
265
265
 
266
- {"# Inspect a specific pass"}
266
+ {"# Inspect attachments, load/store ops, and dimensions for a pass"}
267
267
  rdc pass GBuffer
268
268
 
269
269
  {"# List draws in a pass"}
270
270
  rdc draws --pass GBuffer
271
271
 
272
272
  {"# Find passes with many draws"}
273
- rdc passes --json | jq '.[] | select(.draw_count > 50)'</code></pre>
273
+ rdc passes --json | jq '.[] | select(.draw_count > 50)'
274
+
275
+ {"# Largest triangle passes"}
276
+ rdc passes --json | jq 'sort_by(.triangles) | reverse | .[0:5] | .[] | {name, triangles}'
277
+
278
+ {"# Passes that clear then discard (load=Clear, store=Discard — wasted work)"}
279
+ rdc passes --json | jq '.[] | select(.load_ops[]? == "Clear" and .store_ops[]? == "Discard")'</code></pre>
280
+
281
+ <h2 id="pass-deps">Pass Dependency Analysis</h2>
282
+
283
+ <pre><code>{"# Per-pass reads/writes/load/store table"}
284
+ rdc passes --deps --table
285
+
286
+ {"# TBR/mobile: identify passes that switch render targets frequently"}
287
+ rdc passes --switches
288
+
289
+ {"# Passes with RT_SWITCHES > 2 (high bandwidth pressure on tile-based GPUs)"}
290
+ rdc passes --switches --json | jq '.[] | select(.rt_switches > 2) | {name, rt_switches}'
291
+
292
+ {"# Full dependency graph as DOT (render with Graphviz)"}
293
+ rdc passes --deps --dot | dot -Tsvg -o passes.svg</code></pre>
294
+
295
+ <h2 id="unused-targets">Dead Render Target Detection</h2>
296
+
297
+ <pre><code>{"# Find render targets that are written but never read"}
298
+ rdc unused-targets
299
+
300
+ {"# Names only — quick scan"}
301
+ rdc unused-targets -q
302
+
303
+ {"# JSON — get name + writer + wave for each dead target"}
304
+ rdc unused-targets --json | jq '.unused[] | {name, written_by, wave}'
305
+
306
+ {"# Count dead targets (useful as a CI assert)"}
307
+ rdc unused-targets -q | wc -l</code></pre>
274
308
 
275
309
  <h2 id="pixel-ladder">Pixel Investigation Ladder</h2>
276
310
 
@@ -95,4 +95,31 @@ rdc usage 5
95
95
 
96
96
  # Show all resource usage
97
97
  rdc usage --all</code></pre>
98
+
99
+ <h2>Pass Analysis</h2>
100
+ <p>
101
+ <code>rdc passes</code> shows 6 columns: NAME, DRAWS, DISPATCHES, TRIANGLES, BEGIN_EID, END_EID.
102
+ GL/GLES/D3D11 captures get synthetic pass inference automatically.
103
+ </p>
104
+ <pre><code># Tabular pass summary
105
+ rdc passes
106
+
107
+ # Per-pass dependency graph (reads/writes/load/store)
108
+ rdc passes --deps --table
109
+
110
+ # Add RT_SWITCHES column for TBR/mobile bandwidth analysis
111
+ rdc passes --switches
112
+
113
+ # Inspect attachments, load/store ops, and dimensions for a pass
114
+ rdc pass GBuffer
115
+
116
+ # JSON output — includes load_ops/store_ops per pass
117
+ rdc passes --json | jq '.[] | {name: .name, load: .load_ops, store: .store_ops}'</code></pre>
118
+
119
+ <h2>Dead Render Target Detection</h2>
120
+ <pre><code># List render targets written but never sampled/read
121
+ rdc unused-targets
122
+
123
+ # JSON output for scripted analysis
124
+ rdc unused-targets --json | jq '.[].name'</code></pre>
98
125
  </Docs>
@@ -32,7 +32,7 @@ CATEGORIES: list[tuple[str, str, str | None, list[str]]] = [
32
32
  ]),
33
33
  ("Resources", "resources-section", None, [
34
34
  "resources", "resource", "usage", "shader", "shaders", "shader-map",
35
- "search", "passes", "pass",
35
+ "search", "passes", "pass", "unused-targets",
36
36
  ]),
37
37
  ("Export", "export", None, [
38
38
  "texture", "buffer", "rt", "mesh", "snapshot",
@@ -59,6 +59,50 @@ Example -- JSON pipeline with jq:
59
59
  rdc events --json | jq '.[] | select(.type == "DrawIndexed")'
60
60
  ```
61
61
 
62
+ ## Render Pass Analysis
63
+
64
+ ### List passes (Phase 8 columns)
65
+
66
+ `rdc passes` outputs 6 columns: NAME, DRAWS, DISPATCHES, TRIANGLES, BEGIN_EID, END_EID.
67
+
68
+ ```bash
69
+ rdc passes # TSV table
70
+ rdc passes --json # includes load_ops/store_ops per pass
71
+ rdc passes --switches # adds RT_SWITCHES column (TBR optimization)
72
+ rdc passes --deps --table # per-pass READS/WRITES/LOAD/STORE
73
+ ```
74
+
75
+ ### Inspect a single pass
76
+
77
+ `rdc pass <name>` shows enriched attachments: resource name, format, dimensions, and load/store ops.
78
+
79
+ ```bash
80
+ rdc pass GBuffer
81
+ rdc pass GBuffer --json
82
+ rdc pass 0 # by 0-based index
83
+ ```
84
+
85
+ ### Detect dead render targets
86
+
87
+ `rdc unused-targets` finds render targets written but never consumed by visible output. Columns: ID, NAME, WRITTEN_BY, WAVE.
88
+
89
+ ```bash
90
+ rdc unused-targets # TSV
91
+ rdc unused-targets --json # structured
92
+ rdc unused-targets -q # one resource ID per line (for scripting)
93
+ ```
94
+
95
+ ### Frame statistics
96
+
97
+ `rdc stats` outputs three sections: Per-Pass Breakdown, Top Draws by Triangle Count, and Largest Resources.
98
+
99
+ ```bash
100
+ rdc stats # all three sections
101
+ rdc stats --json # includes largest_resources array
102
+ ```
103
+
104
+ GL/GLES/D3D11 captures without native BeginPass/EndPass markers get synthetic pass inference automatically — no extra flags needed.
105
+
62
106
  ## Common Tasks
63
107
 
64
108
  ### Find all draw calls
@@ -651,6 +651,8 @@ List render passes.
651
651
  | `--deps` | Show pass dependency DAG. | flag | |
652
652
  | `--dot` | Graphviz DOT output (requires --deps). | flag | |
653
653
  | `--graph` | Human-readable graph (requires --deps). | flag | |
654
+ | `--table` | Per-pass I/O table (requires --deps). | flag | |
655
+ | `--switches` | Show RT switch count per pass (TBR flush risk). | flag | |
654
656
  | `--no-header` | Omit TSV header | flag | |
655
657
  | `--jsonl` | JSONL output | flag | |
656
658
  | `-q, --quiet` | Print primary key column only | flag | |
@@ -1149,6 +1151,18 @@ Display VFS subtree structure.
1149
1151
  | `--depth` | | integer range | 2 |
1150
1152
  | `--json` | JSON output | flag | |
1151
1153
 
1154
+ ## `rdc unused-targets`
1155
+
1156
+ Detect render targets produced but never consumed by visible output.
1157
+
1158
+ **Options:**
1159
+
1160
+ | Flag | Help | Type | Default |
1161
+ |------|------|------|---------|
1162
+ | `--json` | JSON output | flag | |
1163
+ | `-q, --quiet` | One resource ID per line | flag | |
1164
+ | `--no-header` | Omit TSV header | flag | |
1165
+
1152
1166
  ## `rdc usage`
1153
1167
 
1154
1168
  Show resource usage (which events read/write a resource).
@@ -58,6 +58,7 @@ from rdc.commands.shader_edit import (
58
58
  from rdc.commands.snapshot import snapshot_cmd
59
59
  from rdc.commands.tex_stats import tex_stats_cmd
60
60
  from rdc.commands.unix_helpers import count_cmd, shader_map_cmd
61
+ from rdc.commands.unused_targets import unused_targets_cmd
61
62
  from rdc.commands.usage import usage_cmd
62
63
  from rdc.commands.vfs import cat_cmd, complete_cmd, ls_cmd, tree_cmd
63
64
  from rdc.session_state import SESSION_NAME_RE
@@ -171,6 +172,7 @@ main.add_command(android_group, name="android")
171
172
  main.add_command(serve_cmd, name="serve")
172
173
  main.add_command(callstacks_cmd, name="callstacks")
173
174
  main.add_command(setup_renderdoc_cmd, name="setup-renderdoc")
175
+ main.add_command(unused_targets_cmd, name="unused-targets")
174
176
 
175
177
 
176
178
  if __name__ == "__main__":
@@ -37,12 +37,15 @@ def stats_cmd(use_json: bool, no_header: bool, use_jsonl: bool, quiet: bool) ->
37
37
 
38
38
  per_pass = result.get("per_pass", [])
39
39
  top_draws = result.get("top_draws", [])
40
+ largest_resources = result.get("largest_resources", [])
40
41
 
41
42
  if use_jsonl:
42
43
  for p in per_pass:
43
44
  write_jsonl([p])
44
45
  for d in top_draws:
45
46
  write_jsonl([d])
47
+ for r in largest_resources:
48
+ write_jsonl([r])
46
49
  return
47
50
 
48
51
  if quiet:
@@ -73,6 +76,15 @@ def stats_cmd(use_json: bool, no_header: bool, use_jsonl: bool, quiet: bool) ->
73
76
  header_d = ["EID", "MARKER", "TRIANGLES"]
74
77
  rows_d = [[d["eid"], d.get("marker", "-"), d["triangles"]] for d in top_draws]
75
78
  write_tsv(rows_d, header=header_d, no_header=no_header)
79
+ if largest_resources:
80
+ if not no_header:
81
+ sys.stderr.write(chr(10) + "Largest Resources:" + chr(10))
82
+ header_r = ["ID", "NAME", "TYPE", "SIZE", "FORMAT"]
83
+ rows_r = [
84
+ [r["id"], r["name"], r["type"], r["size"], r.get("format", "-")]
85
+ for r in largest_resources
86
+ ]
87
+ write_tsv(rows_r, header=header_r, no_header=no_header)
76
88
 
77
89
 
78
90
  @click.command("log")
@@ -167,26 +167,47 @@ def resource_cmd(resid: int, use_json: bool) -> None:
167
167
  @click.option(
168
168
  "--graph", is_flag=True, default=False, help="Human-readable graph (requires --deps)."
169
169
  )
170
+ @click.option(
171
+ "--table",
172
+ is_flag=True,
173
+ default=False,
174
+ help="Per-pass I/O table (requires --deps).",
175
+ )
176
+ @click.option(
177
+ "--switches",
178
+ is_flag=True,
179
+ default=False,
180
+ help="Show RT switch count per pass (TBR flush risk).",
181
+ )
170
182
  @list_output_options
171
- def passes_cmd(
183
+ def passes_cmd( # noqa: PLR0913
172
184
  use_json: bool,
173
185
  deps: bool,
174
186
  dot: bool,
175
187
  graph: bool,
188
+ table: bool,
189
+ switches: bool,
176
190
  no_header: bool,
177
191
  use_jsonl: bool,
178
192
  quiet: bool,
179
193
  ) -> None:
180
194
  """List render passes."""
181
- if (dot or graph) and not deps:
182
- raise click.UsageError("--dot/--graph requires --deps")
195
+ if (dot or graph or table) and not deps:
196
+ raise click.UsageError("--dot/--graph/--table requires --deps")
197
+ if table and dot:
198
+ raise click.UsageError("--table and --dot are mutually exclusive")
199
+ if table and graph:
200
+ raise click.UsageError("--table and --graph are mutually exclusive")
183
201
  if deps and (no_header or use_jsonl or quiet):
184
- raise click.UsageError("--deps only supports --json, --dot, and --graph")
202
+ raise click.UsageError("--deps only supports --json, --dot, --graph, and --table")
185
203
  if deps:
186
- _passes_deps(use_json, dot, graph)
204
+ _passes_deps(use_json, dot, graph, table)
187
205
  return
188
206
 
189
- result = call("passes", {})
207
+ params: dict[str, Any] = {}
208
+ if switches:
209
+ params["switches"] = True
210
+ result = call("passes", params)
190
211
  tree: dict[str, Any] = result.get("tree", {})
191
212
  if use_json:
192
213
  write_json(tree)
@@ -199,11 +220,25 @@ def passes_cmd(
199
220
  for p in passes:
200
221
  sys.stdout.write(str(p.get("name", "")) + "\n")
201
222
  else:
202
- tsv_rows = [[p.get("name", "-"), p.get("draws", 0)] for p in passes]
203
- write_tsv(tsv_rows, header=["NAME", "DRAWS"], no_header=no_header)
204
-
205
-
206
- def _passes_deps(use_json: bool, dot: bool, graph: bool) -> None:
223
+ header = ["NAME", "DRAWS", "DISPATCHES", "TRIANGLES", "BEGIN_EID", "END_EID"]
224
+ if switches:
225
+ header.append("RT_SWITCHES")
226
+ tsv_rows = [
227
+ [
228
+ p.get("name", "-"),
229
+ p.get("draws", 0),
230
+ p.get("dispatches", 0),
231
+ p.get("triangles", 0),
232
+ p.get("begin_eid", "-"),
233
+ p.get("end_eid", "-"),
234
+ ]
235
+ + ([p.get("rt_switches", {}).get("count", 0)] if switches else [])
236
+ for p in passes
237
+ ]
238
+ write_tsv(tsv_rows, header=header, no_header=no_header)
239
+
240
+
241
+ def _passes_deps(use_json: bool, dot: bool, graph: bool, table: bool) -> None:
207
242
  result = call("pass_deps", {})
208
243
  edges: list[dict[str, Any]] = result.get("edges", [])
209
244
  if use_json:
@@ -215,6 +250,9 @@ def _passes_deps(use_json: bool, dot: bool, graph: bool) -> None:
215
250
  if graph:
216
251
  _format_graph(edges)
217
252
  return
253
+ if table:
254
+ _format_io_table(result.get("per_pass", []))
255
+ return
218
256
  click.echo(format_row(["SRC", "DST", "RESOURCES"]))
219
257
  for e in edges:
220
258
  rids = ",".join(str(r) for r in e["resources"])
@@ -280,6 +318,29 @@ def _format_graph(edges: list[dict[str, Any]]) -> None:
280
318
  click.echo(f" {lbl[node]} (sink){from_part}")
281
319
 
282
320
 
321
+ def _format_ops(ops: list[Any]) -> str:
322
+ """Format load/store ops list to a compact string."""
323
+ if not ops:
324
+ return "-"
325
+ return ",".join(f"{t}={o}" for t, o in ops)
326
+
327
+
328
+ def _format_io_table(per_pass: list[dict[str, Any]]) -> None:
329
+ write_tsv(
330
+ [
331
+ [
332
+ p.get("name", "-"),
333
+ ",".join(str(r) for r in p.get("reads", [])) or "-",
334
+ ",".join(str(r) for r in p.get("writes", [])) or "-",
335
+ _format_ops(p.get("load_ops", [])),
336
+ _format_ops(p.get("store_ops", [])),
337
+ ]
338
+ for p in per_pass
339
+ ],
340
+ header=["PASS", "READS", "WRITES", "LOAD", "STORE"],
341
+ )
342
+
343
+
283
344
  @click.command("pass")
284
345
  @click.argument("identifier", shell_complete=complete_pass_identifier)
285
346
  @click.option("--json", "use_json", is_flag=True, default=False, help="Output JSON.")
@@ -298,16 +359,46 @@ def pass_cmd(identifier: str, use_json: bool) -> None:
298
359
 
299
360
 
300
361
  def _format_pass_detail(data: dict[str, Any]) -> None:
301
- color_ids = [str(t["id"]) for t in data.get("color_targets", [])]
362
+ color_targets = data.get("color_targets", [])
302
363
  depth = data.get("depth_target")
303
- kv = {
364
+ kv: dict[str, Any] = {
304
365
  "Pass": data.get("name", "-"),
305
366
  "Begin EID": data.get("begin_eid", "-"),
306
367
  "End EID": data.get("end_eid", "-"),
307
368
  "Draw Calls": data.get("draws", 0),
308
369
  "Dispatches": data.get("dispatches", 0),
309
370
  "Triangles": data.get("triangles", 0),
310
- "Color Targets": ", ".join(color_ids) if color_ids else "-",
311
- "Depth Target": depth if depth else "-",
371
+ "Color Targets": ", ".join(_format_target(t) for t in color_targets)
372
+ if color_targets
373
+ else "-",
374
+ "Depth Target": _format_target(depth) if depth else "-",
312
375
  }
376
+ load_ops = data.get("load_ops", [])
377
+ store_ops = data.get("store_ops", [])
378
+ if load_ops:
379
+ kv["Load Ops"] = _format_ops(load_ops)
380
+ if store_ops:
381
+ kv["Store Ops"] = _format_ops(store_ops)
313
382
  click.echo(format_kv(kv))
383
+
384
+
385
+ def _format_target(target: Any) -> str:
386
+ """Format an enriched attachment target dict for display."""
387
+ if isinstance(target, int):
388
+ return str(target)
389
+ if not isinstance(target, dict):
390
+ return str(target)
391
+ rid = str(target.get("id", "-"))
392
+ parts: list[str] = []
393
+ name = target.get("name")
394
+ if name:
395
+ parts.append(name)
396
+ fmt = target.get("format")
397
+ if fmt:
398
+ parts.append(fmt)
399
+ w, h = target.get("width"), target.get("height")
400
+ if w is not None and h is not None:
401
+ parts.append(f"{w}x{h}")
402
+ if parts:
403
+ return f"{rid} ({', '.join(parts)})"
404
+ return rid
@@ -0,0 +1,43 @@
1
+ """rdc unused-targets command -- detect render targets never consumed by output."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import sys
6
+ from typing import Any
7
+
8
+ import click
9
+
10
+ from rdc.commands._helpers import call
11
+ from rdc.formatters.json_fmt import write_json
12
+ from rdc.formatters.tsv import write_tsv
13
+
14
+
15
+ @click.command("unused-targets")
16
+ @click.option("--json", "use_json", is_flag=True, help="JSON output")
17
+ @click.option("-q", "--quiet", is_flag=True, help="One resource ID per line")
18
+ @click.option("--no-header", is_flag=True, help="Omit TSV header")
19
+ def unused_targets_cmd(
20
+ use_json: bool,
21
+ quiet: bool,
22
+ no_header: bool,
23
+ ) -> None:
24
+ """Detect render targets produced but never consumed by visible output."""
25
+ result: dict[str, Any] = call("unused_targets", {})
26
+ if use_json:
27
+ write_json(result)
28
+ return
29
+ unused = result.get("unused", [])
30
+ if quiet:
31
+ for entry in unused:
32
+ sys.stdout.write(str(entry["id"]) + "\n")
33
+ return
34
+ rows = [
35
+ [
36
+ entry["id"],
37
+ entry["name"],
38
+ ",".join(entry["written_by"]) if entry["written_by"] else "-",
39
+ entry["wave"],
40
+ ]
41
+ for entry in unused
42
+ ]
43
+ write_tsv(rows, header=["ID", "NAME", "WRITTEN_BY", "WAVE"], no_header=no_header)
@@ -43,6 +43,7 @@ from rdc.handlers.script import HANDLERS as _SCRIPT_HANDLERS
43
43
  from rdc.handlers.shader import HANDLERS as _SHADER_HANDLERS
44
44
  from rdc.handlers.shader_edit import HANDLERS as _SHADER_EDIT_HANDLERS
45
45
  from rdc.handlers.texture import HANDLERS as _TEXTURE_HANDLERS
46
+ from rdc.handlers.unused import HANDLERS as _UNUSED_HANDLERS
46
47
  from rdc.handlers.vfs import HANDLERS as _VFS_HANDLERS
47
48
 
48
49
  if TYPE_CHECKING:
@@ -90,6 +91,7 @@ _DISPATCH: dict[str, Handler] = {
90
91
  **_SHADER_EDIT_HANDLERS,
91
92
  **_CAPTURE_HANDLERS,
92
93
  **_CAPTUREFILE_HANDLERS,
94
+ **_UNUSED_HANDLERS,
93
95
  }
94
96
 
95
97
  _NO_REPLAY_METHODS: frozenset[str] = frozenset(