rdc-cli 0.5.3__tar.gz → 0.5.4__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 (647) hide show
  1. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/PKG-INFO +1 -1
  2. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/data/commands.json +19 -1
  3. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/pixi.lock +214 -31
  4. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/pixi.toml +1 -0
  5. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/gen-commands.py +1 -0
  6. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_build_renderdoc.py +15 -2
  7. rdc_cli-0.5.4/src/rdc/_progress.py +46 -0
  8. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_skills/SKILL.md +53 -1
  9. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_skills/references/commands-quick-ref.md +38 -0
  10. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/capture_core.py +9 -1
  11. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/doctor.py +37 -1
  12. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/remote.py +195 -1
  13. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/session.py +9 -2
  14. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/daemon_server.py +11 -3
  15. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/remote_core.py +2 -1
  16. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/services/session_service.py +23 -5
  17. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/PKG-INFO +1 -1
  18. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/SOURCES.txt +5 -0
  19. rdc_cli-0.5.4/tests/unit/test_doctor_hints.py +110 -0
  20. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_open_remote.py +2 -2
  21. rdc_cli-0.5.4/tests/unit/test_progress.py +136 -0
  22. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_remote_core.py +3 -3
  23. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_remote_replay.py +3 -1
  24. rdc_cli-0.5.4/tests/unit/test_remote_setup.py +221 -0
  25. rdc_cli-0.5.4/tests/unit/test_remote_status_disconnect.py +114 -0
  26. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_split_core.py +2 -2
  27. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/uv.lock +95 -95
  28. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.commitlintrc.yml +0 -0
  29. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.githooks/pre-commit +0 -0
  30. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.githooks/pre-push +0 -0
  31. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/CODEOWNERS +0 -0
  32. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  33. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  34. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  35. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  36. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/workflows/aur.yml +0 -0
  37. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/workflows/ci.yml +0 -0
  38. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/workflows/commitlint.yml +0 -0
  39. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.github/workflows/docs.yml +0 -0
  40. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.gitignore +0 -0
  41. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.python-version +0 -0
  42. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/.release-please-manifest.json +0 -0
  43. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/CONTRIBUTING.md +0 -0
  44. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/LICENSE +0 -0
  45. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/Makefile +0 -0
  46. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/README.md +0 -0
  47. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/SECURITY.md +0 -0
  48. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/aur/PKGBUILD +0 -0
  49. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/aur/stable/PKGBUILD +0 -0
  50. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docker/Dockerfile +0 -0
  51. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/astro.config.mjs +0 -0
  52. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/package-lock.json +0 -0
  53. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/package.json +0 -0
  54. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/public/.nojekyll +0 -0
  55. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/public/favicon.svg +0 -0
  56. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Commands.astro +0 -0
  57. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Demo.astro +0 -0
  58. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Features.astro +0 -0
  59. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Footer.astro +0 -0
  60. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Hero.astro +0 -0
  61. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Install.astro +0 -0
  62. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Navbar.astro +0 -0
  63. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Philosophy.astro +0 -0
  64. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/Terminal.astro +0 -0
  65. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/components/ThemeSwitcher.astro +0 -0
  66. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/data/replay.json +0 -0
  67. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/data/stats.json +0 -0
  68. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/layouts/Base.astro +0 -0
  69. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/layouts/Docs.astro +0 -0
  70. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/ai-integration.astro +0 -0
  71. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/commands.astro +0 -0
  72. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/design.astro +0 -0
  73. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/examples.astro +0 -0
  74. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/index.astro +0 -0
  75. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/install.astro +0 -0
  76. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/remote.astro +0 -0
  77. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/usage.astro +0 -0
  78. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/docs/vfs.astro +0 -0
  79. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/pages/index.astro +0 -0
  80. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/src/styles/global.css +0 -0
  81. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/tailwind.config.mjs +0 -0
  82. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/tapes/pipeline.tape +0 -0
  83. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/tapes/quickstart.tape +0 -0
  84. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/tests/validate.mjs +0 -0
  85. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/docs-astro/tsconfig.json +0 -0
  86. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/mypy.ini +0 -0
  87. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-03-bugfix-p2-batch/proposal.md +0 -0
  88. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-03-bugfix-p2-batch/tasks.md +0 -0
  89. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-03-bugfix-p2-batch/test-plan.md +0 -0
  90. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-04-w6-windows-bugfixes/proposal.md +0 -0
  91. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-04-w6-windows-bugfixes/tasks.md +0 -0
  92. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/2026-03-04-w6-windows-bugfixes/test-plan.md +0 -0
  93. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/proposal.md +0 -0
  94. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/tasks.md +0 -0
  95. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/test-plan.md +0 -0
  96. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-ci-hardening/proposal.md +0 -0
  97. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-ci-hardening/specs/ci/spec.md +0 -0
  98. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-ci-hardening/tasks.md +0 -0
  99. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-ci-hardening/test-plan.md +0 -0
  100. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/proposal.md +0 -0
  101. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/specs/foundation/spec.md +0 -0
  102. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/tasks.md +0 -0
  103. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/test-plan.md +0 -0
  104. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/proposal.md +0 -0
  105. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/specs/daemon/spec.md +0 -0
  106. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/tasks.md +0 -0
  107. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/test-plan.md +0 -0
  108. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/proposal.md +0 -0
  109. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/specs/daemon/spec.md +0 -0
  110. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/tasks.md +0 -0
  111. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/test-plan.md +0 -0
  112. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/proposal.md +0 -0
  113. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/specs/tooling/spec.md +0 -0
  114. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/tasks.md +0 -0
  115. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/test-plan.md +0 -0
  116. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/proposal.md +0 -0
  117. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/specs/tooling/spec.md +0 -0
  118. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/tasks.md +0 -0
  119. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/test-plan.md +0 -0
  120. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/proposal.md +0 -0
  121. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/specs/session/spec.md +0 -0
  122. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/tasks.md +0 -0
  123. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/test-plan.md +0 -0
  124. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/design.md +0 -0
  125. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/proposal.md +0 -0
  126. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/specs/architecture/spec.md +0 -0
  127. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/tasks.md +0 -0
  128. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/test-plan.md +0 -0
  129. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/proposal.md +0 -0
  130. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/specs/daemon/spec.md +0 -0
  131. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/tasks.md +0 -0
  132. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/test-plan.md +0 -0
  133. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/proposal.md +0 -0
  134. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/daemon/spec.md +0 -0
  135. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/foundation/spec.md +0 -0
  136. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/tasks.md +0 -0
  137. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/test-plan.md +0 -0
  138. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/proposal.md +0 -0
  139. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/specs/daemon/spec.md +0 -0
  140. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/tasks.md +0 -0
  141. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/test-plan.md +0 -0
  142. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-log/proposal.md +0 -0
  143. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-log/tasks.md +0 -0
  144. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-log/test-plan.md +0 -0
  145. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/proposal.md +0 -0
  146. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/tasks.md +0 -0
  147. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/test-plan.md +0 -0
  148. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/proposal.md +0 -0
  149. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/specs/daemon/spec.md +0 -0
  150. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/tasks.md +0 -0
  151. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/test-plan.md +0 -0
  152. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/proposal.md +0 -0
  153. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/tasks.md +0 -0
  154. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/test-plan.md +0 -0
  155. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/proposal.md +0 -0
  156. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/tasks.md +0 -0
  157. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/test-plan.md +0 -0
  158. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/proposal.md +0 -0
  159. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/tasks.md +0 -0
  160. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/test-plan.md +0 -0
  161. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/proposal.md +0 -0
  162. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/tasks.md +0 -0
  163. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/test-plan.md +0 -0
  164. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/proposal.md +0 -0
  165. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/tasks.md +0 -0
  166. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/test-plan.md +0 -0
  167. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/proposal.md +0 -0
  168. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/tasks.md +0 -0
  169. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/test-plan.md +0 -0
  170. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-counters/proposal.md +0 -0
  171. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-counters/tasks.md +0 -0
  172. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-counters/test-plan.md +0 -0
  173. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/proposal.md +0 -0
  174. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/tasks.md +0 -0
  175. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/test-plan.md +0 -0
  176. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-search/proposal.md +0 -0
  177. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-search/tasks.md +0 -0
  178. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-search/test-plan.md +0 -0
  179. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-usage/proposal.md +0 -0
  180. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-usage/tasks.md +0 -0
  181. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2-usage/test-plan.md +0 -0
  182. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/proposal.md +0 -0
  183. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/tasks.md +0 -0
  184. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/test-plan.md +0 -0
  185. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/proposal.md +0 -0
  186. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/tasks.md +0 -0
  187. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/test-plan.md +0 -0
  188. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/proposal.md +0 -0
  189. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/tasks.md +0 -0
  190. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/test-plan.md +0 -0
  191. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/proposal.md +0 -0
  192. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/tasks.md +0 -0
  193. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/test-plan.md +0 -0
  194. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/proposal.md +0 -0
  195. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/tasks.md +0 -0
  196. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/test-plan.md +0 -0
  197. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/proposal.md +0 -0
  198. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/tasks.md +0 -0
  199. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/test-plan.md +0 -0
  200. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/proposal.md +0 -0
  201. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/tasks.md +0 -0
  202. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/test-plan.md +0 -0
  203. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/proposal.md +0 -0
  204. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/tasks.md +0 -0
  205. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/test-plan.md +0 -0
  206. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/proposal.md +0 -0
  207. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/tasks.md +0 -0
  208. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/test-plan.md +0 -0
  209. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/proposal.md +0 -0
  210. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/tasks.md +0 -0
  211. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/test-plan.md +0 -0
  212. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/proposal.md +0 -0
  213. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/tasks.md +0 -0
  214. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/test-plan.md +0 -0
  215. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/proposal.md +0 -0
  216. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/tasks.md +0 -0
  217. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/test-plan.md +0 -0
  218. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/proposal.md +0 -0
  219. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/tasks.md +0 -0
  220. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/test-plan.md +0 -0
  221. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/proposal.md +0 -0
  222. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/tasks.md +0 -0
  223. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/test-plan.md +0 -0
  224. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/proposal.md +0 -0
  225. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/tasks.md +0 -0
  226. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/test-plan.md +0 -0
  227. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ai-agent-skill/proposal.md +0 -0
  228. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ai-agent-skill/tasks.md +0 -0
  229. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ai-agent-skill/test-plan.md +0 -0
  230. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/proposal.md +0 -0
  231. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/tasks.md +0 -0
  232. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/test-plan.md +0 -0
  233. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/proposal.md +0 -0
  234. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/tasks.md +0 -0
  235. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/test-plan.md +0 -0
  236. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/proposal.md +0 -0
  237. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/tasks.md +0 -0
  238. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/test-plan.md +0 -0
  239. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-code-maintainability/proposal.md +0 -0
  240. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-code-maintainability/tasks.md +0 -0
  241. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-code-maintainability/test-plan.md +0 -0
  242. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-consistent-output-options/proposal.md +0 -0
  243. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-consistent-output-options/tasks.md +0 -0
  244. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-consistent-output-options/test-plan.md +0 -0
  245. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/proposal.md +0 -0
  246. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/tasks.md +0 -0
  247. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/test-plan.md +0 -0
  248. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/proposal.md +0 -0
  249. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/tasks.md +0 -0
  250. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/test-plan.md +0 -0
  251. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/proposal.md +0 -0
  252. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/tasks.md +0 -0
  253. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/test-plan.md +0 -0
  254. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-draws/proposal.md +0 -0
  255. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-draws/tasks.md +0 -0
  256. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-draws/test-plan.md +0 -0
  257. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/proposal.md +0 -0
  258. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/tasks.md +0 -0
  259. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/test-plan.md +0 -0
  260. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/proposal.md +0 -0
  261. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/tasks.md +0 -0
  262. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/test-plan.md +0 -0
  263. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-pipeline/proposal.md +0 -0
  264. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-pipeline/tasks.md +0 -0
  265. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-pipeline/test-plan.md +0 -0
  266. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-resources/proposal.md +0 -0
  267. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-resources/tasks.md +0 -0
  268. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-resources/test-plan.md +0 -0
  269. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-stats/proposal.md +0 -0
  270. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-stats/tasks.md +0 -0
  271. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-diff-stats/test-plan.md +0 -0
  272. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-docs-automation/proposal.md +0 -0
  273. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-docs-automation/tasks.md +0 -0
  274. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-docs-automation/test-plan.md +0 -0
  275. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/proposal.md +0 -0
  276. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/tasks.md +0 -0
  277. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/test-plan.md +0 -0
  278. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-image-compare/proposal.md +0 -0
  279. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-image-compare/tasks.md +0 -0
  280. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-image-compare/test-plan.md +0 -0
  281. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3a-script/proposal.md +0 -0
  282. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3a-script/tasks.md +0 -0
  283. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3a-script/test-plan.md +0 -0
  284. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/proposal.md +0 -0
  285. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/tasks.md +0 -0
  286. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/test-plan.md +0 -0
  287. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/proposal.md +0 -0
  288. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/tasks.md +0 -0
  289. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/test-plan.md +0 -0
  290. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/proposal.md +0 -0
  291. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/tasks.md +0 -0
  292. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/test-plan.md +0 -0
  293. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/proposal.md +0 -0
  294. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/tasks.md +0 -0
  295. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/test-plan.md +0 -0
  296. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/proposal.md +0 -0
  297. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/tasks.md +0 -0
  298. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/test-plan.md +0 -0
  299. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/proposal.md +0 -0
  300. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/tasks.md +0 -0
  301. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/test-plan.md +0 -0
  302. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/proposal.md +0 -0
  303. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/tasks.md +0 -0
  304. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/test-plan.md +0 -0
  305. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/proposal.md +0 -0
  306. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/tasks.md +0 -0
  307. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/test-plan.md +0 -0
  308. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/proposal.md +0 -0
  309. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/tasks.md +0 -0
  310. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/test-plan.md +0 -0
  311. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/proposal.md +0 -0
  312. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/tasks.md +0 -0
  313. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-renderdoc-build-helper/test-plan.md +0 -0
  314. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-robustness-hardening/proposal.md +0 -0
  315. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-robustness-hardening/tasks.md +0 -0
  316. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-robustness-hardening/test-plan.md +0 -0
  317. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-security-hardening-2/proposal.md +0 -0
  318. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-security-hardening-2/tasks.md +0 -0
  319. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-security-hardening-2/test-plan.md +0 -0
  320. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-skill-auto-install/proposal.md +0 -0
  321. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-skill-auto-install/tasks.md +0 -0
  322. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-skill-auto-install/test-plan.md +0 -0
  323. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-worktree-isolation/proposal.md +0 -0
  324. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-worktree-isolation/tasks.md +0 -0
  325. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-22-worktree-isolation/test-plan.md +0 -0
  326. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b17-eid-mutation/proposal.md +0 -0
  327. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b17-eid-mutation/tasks.md +0 -0
  328. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b17-eid-mutation/test-plan.md +0 -0
  329. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/proposal.md +0 -0
  330. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/tasks.md +0 -0
  331. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/test-plan.md +0 -0
  332. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/proposal.md +0 -0
  333. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/tasks.md +0 -0
  334. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/test-plan.md +0 -0
  335. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/proposal.md +0 -0
  336. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/tasks.md +0 -0
  337. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/test-plan.md +0 -0
  338. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-docs-polish/proposal.md +0 -0
  339. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-docs-polish/tasks.md +0 -0
  340. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-docs-polish/test-plan.md +0 -0
  341. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-aur-build/proposal.md +0 -0
  342. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-aur-build/tasks.md +0 -0
  343. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-aur-build/test-plan.md +0 -0
  344. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/proposal.md +0 -0
  345. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/tasks.md +0 -0
  346. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/test-plan.md +0 -0
  347. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase-w2-build-script/proposal.md +0 -0
  348. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase-w2-build-script/tasks.md +0 -0
  349. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase-w2-build-script/test-plan.md +0 -0
  350. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/proposal.md +0 -0
  351. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/tasks.md +0 -0
  352. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-phase5b-capture-unified/test-plan.md +0 -0
  353. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/proposal.md +0 -0
  354. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/tasks.md +0 -0
  355. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/test-plan.md +0 -0
  356. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/proposal.md +0 -0
  357. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/tasks.md +0 -0
  358. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/test-plan.md +0 -0
  359. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/proposal.md +0 -0
  360. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/tasks.md +0 -0
  361. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-b43-b44-remote-split/test-plan.md +0 -0
  362. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-m-macos-support/proposal.md +0 -0
  363. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-m-macos-support/tasks.md +0 -0
  364. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-m-macos-support/test-plan.md +0 -0
  365. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/proposal.md +0 -0
  366. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/tasks.md +0 -0
  367. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/test-plan.md +0 -0
  368. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/proposal.md +0 -0
  369. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/tasks.md +0 -0
  370. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/test-plan.md +0 -0
  371. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/proposal.md +0 -0
  372. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/tasks.md +0 -0
  373. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/test-plan.md +0 -0
  374. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-design-deviation-fixes/proposal.md +0 -0
  375. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-design-deviation-fixes/tasks.md +0 -0
  376. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-design-deviation-fixes/test-plan.md +0 -0
  377. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-dev-install-enhancement/proposal.md +0 -0
  378. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-dev-install-enhancement/tasks.md +0 -0
  379. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/changes/archive/2026-02-28-dev-install-enhancement/test-plan.md +0 -0
  380. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/architecture/spec.md +0 -0
  381. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/ci/spec.md +0 -0
  382. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/daemon/spec.md +0 -0
  383. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/foundation/spec.md +0 -0
  384. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/packaging/spec.md +0 -0
  385. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/session/spec.md +0 -0
  386. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/openspec/specs/tooling/spec.md +0 -0
  387. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/pyproject.toml +0 -0
  388. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/release-please-config.json +0 -0
  389. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/ruff.toml +0 -0
  390. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/build-renderdoc.sh +0 -0
  391. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/build_renderdoc.py +0 -0
  392. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/capture_fixture.sh +0 -0
  393. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/dev_install.py +0 -0
  394. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/e2e_test.py +0 -0
  395. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/ensure-renderdoc.py +0 -0
  396. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/ensure-renderdoc.sh +0 -0
  397. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/ensure-skill-link.py +0 -0
  398. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/gen-replay.py +0 -0
  399. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/gen-skill-ref.py +0 -0
  400. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/gen-stats.py +0 -0
  401. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/gen_and_check.py +0 -0
  402. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/setup-renderdoc.sh +0 -0
  403. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/setup-vulkan-samples.sh +0 -0
  404. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/setup_android_tools.py +0 -0
  405. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/setup_vulkan_samples.py +0 -0
  406. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/verify-package.sh +0 -0
  407. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/scripts/verify_package.py +0 -0
  408. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/setup.cfg +0 -0
  409. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/__init__.py +0 -0
  410. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_platform.py +0 -0
  411. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_skills/__init__.py +0 -0
  412. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/_transport.py +0 -0
  413. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/adapter.py +0 -0
  414. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/cli.py +0 -0
  415. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/_helpers.py +0 -0
  416. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/android.py +0 -0
  417. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/assert_ci.py +0 -0
  418. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/assert_image.py +0 -0
  419. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/capture.py +0 -0
  420. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/capture_control.py +0 -0
  421. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/capturefile.py +0 -0
  422. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/completion.py +0 -0
  423. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/counters.py +0 -0
  424. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/debug.py +0 -0
  425. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/diff.py +0 -0
  426. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/events.py +0 -0
  427. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/export.py +0 -0
  428. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/info.py +0 -0
  429. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/install_skill.py +0 -0
  430. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/mesh.py +0 -0
  431. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/pick_pixel.py +0 -0
  432. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/pipeline.py +0 -0
  433. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/pixel.py +0 -0
  434. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/resources.py +0 -0
  435. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/script.py +0 -0
  436. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/search.py +0 -0
  437. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/serve.py +0 -0
  438. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/setup_renderdoc.py +0 -0
  439. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/shader_edit.py +0 -0
  440. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/snapshot.py +0 -0
  441. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/tex_stats.py +0 -0
  442. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/unix_helpers.py +0 -0
  443. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/unused_targets.py +0 -0
  444. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/usage.py +0 -0
  445. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/commands/vfs.py +0 -0
  446. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/daemon_client.py +0 -0
  447. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/__init__.py +0 -0
  448. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/alignment.py +0 -0
  449. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/draws.py +0 -0
  450. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/framebuffer.py +0 -0
  451. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/pipeline.py +0 -0
  452. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/resources.py +0 -0
  453. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/stats.py +0 -0
  454. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/diff/summary.py +0 -0
  455. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/discover.py +0 -0
  456. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/formatters/json_fmt.py +0 -0
  457. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/formatters/kv.py +0 -0
  458. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/formatters/options.py +0 -0
  459. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/formatters/tsv.py +0 -0
  460. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/__init__.py +0 -0
  461. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/_helpers.py +0 -0
  462. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/_types.py +0 -0
  463. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/buffer.py +0 -0
  464. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/capture.py +0 -0
  465. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/capturefile.py +0 -0
  466. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/core.py +0 -0
  467. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/debug.py +0 -0
  468. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/descriptor.py +0 -0
  469. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/pipe_state.py +0 -0
  470. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/pixel.py +0 -0
  471. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/query.py +0 -0
  472. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/script.py +0 -0
  473. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/shader.py +0 -0
  474. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/shader_edit.py +0 -0
  475. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/texture.py +0 -0
  476. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/unused.py +0 -0
  477. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/handlers/vfs.py +0 -0
  478. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/image_compare.py +0 -0
  479. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/protocol.py +0 -0
  480. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/remote_state.py +0 -0
  481. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/services/__init__.py +0 -0
  482. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/services/diff_service.py +0 -0
  483. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/services/query_service.py +0 -0
  484. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/session_state.py +0 -0
  485. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/target_state.py +0 -0
  486. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/vfs/__init__.py +0 -0
  487. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/vfs/formatter.py +0 -0
  488. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/vfs/router.py +0 -0
  489. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc/vfs/tree_cache.py +0 -0
  490. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/dependency_links.txt +0 -0
  491. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/entry_points.txt +0 -0
  492. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/requires.txt +0 -0
  493. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/src/rdc_cli.egg-info/top_level.txt +0 -0
  494. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/conftest.py +0 -0
  495. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/__init__.py +0 -0
  496. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/blackbox_test_catalog.md +0 -0
  497. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/conftest.py +0 -0
  498. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/e2e_helpers.py +0 -0
  499. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_advanced.py +0 -0
  500. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_assert.py +0 -0
  501. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_capture.py +0 -0
  502. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_capturefile.py +0 -0
  503. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_debug.py +0 -0
  504. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_diff.py +0 -0
  505. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_export.py +0 -0
  506. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_formats.py +0 -0
  507. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_presession.py +0 -0
  508. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_query.py +0 -0
  509. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_session.py +0 -0
  510. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_shader_edit.py +0 -0
  511. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/e2e/test_vfs.py +0 -0
  512. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/gles-multipass-debug.apk +0 -0
  513. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/gles-triangle-debug.apk +0 -0
  514. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/gles_android_mali.rdc +0 -0
  515. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/gles_multipass_mali.rdc +0 -0
  516. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/hello_triangle.rdc +0 -0
  517. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/vkcube.rdc +0 -0
  518. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/fixtures/vkcube_validation.rdc +0 -0
  519. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/integration/test_build_renderdoc_integration.py +0 -0
  520. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/integration/test_daemon_handlers_real.py +0 -0
  521. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/integration/test_mock_api_sync.py +0 -0
  522. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/integration/test_real_replay.py +0 -0
  523. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/integration/test_vulkan_samples.py +0 -0
  524. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/mocks/mock_renderdoc.py +0 -0
  525. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/conftest.py +0 -0
  526. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_adapter.py +0 -0
  527. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_android_commands.py +0 -0
  528. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_assert_ci_commands.py +0 -0
  529. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_assert_image_command.py +0 -0
  530. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_binary_daemon.py +0 -0
  531. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_buffer_decode.py +0 -0
  532. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_build_renderdoc.py +0 -0
  533. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capture.py +0 -0
  534. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capture_control.py +0 -0
  535. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capture_core.py +0 -0
  536. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capture_handlers.py +0 -0
  537. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capturefile_commands.py +0 -0
  538. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_capturefile_handlers.py +0 -0
  539. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_ci_files.py +0 -0
  540. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_cli.py +0 -0
  541. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_cli_session_flag.py +0 -0
  542. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_completion.py +0 -0
  543. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_count_shadermap.py +0 -0
  544. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_counters_commands.py +0 -0
  545. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_counters_daemon.py +0 -0
  546. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_crash_regression.py +0 -0
  547. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_output_quality.py +0 -0
  548. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_pipeline_extended.py +0 -0
  549. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_server_unit.py +0 -0
  550. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_shader_api_fix.py +0 -0
  551. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_shader_extended.py +0 -0
  552. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_daemon_transport.py +0 -0
  553. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_debug_commands.py +0 -0
  554. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_debug_handlers.py +0 -0
  555. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_descriptors_daemon.py +0 -0
  556. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_dev_install.py +0 -0
  557. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_alignment.py +0 -0
  558. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_command.py +0 -0
  559. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_draws.py +0 -0
  560. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_framebuffer.py +0 -0
  561. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_pipeline.py +0 -0
  562. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_resources.py +0 -0
  563. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_service.py +0 -0
  564. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_stats.py +0 -0
  565. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_diff_summary.py +0 -0
  566. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_discover.py +0 -0
  567. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_doctor.py +0 -0
  568. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_draws_daemon.py +0 -0
  569. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_draws_events_cli.py +0 -0
  570. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_draws_events_daemon.py +0 -0
  571. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_eid_completion.py +0 -0
  572. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_events_commands.py +0 -0
  573. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_export_commands.py +0 -0
  574. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_export_overlay.py +0 -0
  575. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_fix1_draws_pass_name.py +0 -0
  576. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_fix2_vfs_intermediate_dirs.py +0 -0
  577. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_fix3_friendly_pass_name.py +0 -0
  578. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_formatters.py +0 -0
  579. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_formatters_kv.py +0 -0
  580. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_gen_skill_ref.py +0 -0
  581. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_handlers_remote.py +0 -0
  582. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_image_compare.py +0 -0
  583. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_info_commands.py +0 -0
  584. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_install_skill.py +0 -0
  585. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_json_errors.py +0 -0
  586. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_keep_remote.py +0 -0
  587. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_mesh_commands.py +0 -0
  588. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_mesh_handler.py +0 -0
  589. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_mock_capture_types.py +0 -0
  590. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_mock_renderdoc.py +0 -0
  591. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_output_options.py +0 -0
  592. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_overlay_handler.py +0 -0
  593. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pass_deps.py +0 -0
  594. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pick_pixel_commands.py +0 -0
  595. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pick_pixel_daemon.py +0 -0
  596. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_cli_phase27.py +0 -0
  597. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_commands.py +0 -0
  598. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_daemon.py +0 -0
  599. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_section_routing.py +0 -0
  600. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_shader.py +0 -0
  601. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pipeline_state.py +0 -0
  602. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pixel_history_commands.py +0 -0
  603. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pixel_history_daemon.py +0 -0
  604. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_pixi_files.py +0 -0
  605. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_platform.py +0 -0
  606. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_protocol.py +0 -0
  607. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_query_service.py +0 -0
  608. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_quickfix_batch.py +0 -0
  609. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_remote_commands.py +0 -0
  610. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_remote_state.py +0 -0
  611. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_require_pipe.py +0 -0
  612. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_resource_semantic_completion.py +0 -0
  613. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_resources_commands.py +0 -0
  614. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_resources_filter.py +0 -0
  615. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_script_command.py +0 -0
  616. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_script_handler.py +0 -0
  617. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_search.py +0 -0
  618. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_semantic_completion.py +0 -0
  619. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_serve.py +0 -0
  620. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_session_commands.py +0 -0
  621. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_session_completion.py +0 -0
  622. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_session_service.py +0 -0
  623. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_session_state.py +0 -0
  624. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_setup_renderdoc.py +0 -0
  625. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_setup_vulkan_samples.py +0 -0
  626. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_shader_edit_commands.py +0 -0
  627. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_shader_edit_handlers.py +0 -0
  628. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_shader_preload.py +0 -0
  629. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_skill_structure.py +0 -0
  630. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_snapshot_command.py +0 -0
  631. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_split_binary.py +0 -0
  632. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_target_state.py +0 -0
  633. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_tex_stats_commands.py +0 -0
  634. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_tex_stats_handler.py +0 -0
  635. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_tooling_files.py +0 -0
  636. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_unix_helpers_commands.py +0 -0
  637. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_unused_targets.py +0 -0
  638. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_usage_commands.py +0 -0
  639. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_usage_daemon.py +0 -0
  640. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_binary.py +0 -0
  641. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_commands.py +0 -0
  642. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_completion.py +0 -0
  643. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_daemon.py +0 -0
  644. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_formatter.py +0 -0
  645. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_router.py +0 -0
  646. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_vfs_tree_cache.py +0 -0
  647. {rdc_cli-0.5.3 → rdc_cli-0.5.4}/tests/unit/test_windows_compat.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rdc-cli
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: CLI for RenderDoc .rdc captures
5
5
  Author: Jim
6
6
  License-Expression: MIT
@@ -9,7 +9,7 @@
9
9
  "name": "open",
10
10
  "id": "open",
11
11
  "help": "Create local default session and start daemon skeleton.",
12
- "usage": "rdc open [CAPTURE] [--preload] [--proxy HOST[:PORT]|adb://SERIAL] [--android] [--serial TEXT] [--remote HOST[:PORT]] [--listen [ADDR]:PORT] [--connect HOST:PORT] [--token TEXT]"
12
+ "usage": "rdc open [CAPTURE] [--preload] [--proxy HOST[:PORT]|adb://SERIAL] [--android] [--serial TEXT] [--remote HOST[:PORT]] [--listen [ADDR]:PORT] [--connect HOST:PORT] [--token TEXT] [--timeout FLOAT]"
13
13
  },
14
14
  {
15
15
  "name": "close",
@@ -473,6 +473,24 @@
473
473
  "help": "Capture on a remote host and transfer to local.",
474
474
  "usage": "rdc remote capture <APP> -o <PATH> [--url TEXT] [--args TEXT] [--workdir TEXT] [--frame INTEGER] [--timeout FLOAT] [--api-validation] [--callstacks] [--hook-children] [--ref-all-resources] [--soft-memory-limit INTEGER] [--keep-remote] [--json]"
475
475
  },
476
+ {
477
+ "name": "remote setup",
478
+ "id": "remote-setup",
479
+ "help": "Verify a remote server is reachable, handshake, and save state.",
480
+ "usage": "rdc remote setup <URL> [--timeout FLOAT] [--json]"
481
+ },
482
+ {
483
+ "name": "remote status",
484
+ "id": "remote-status",
485
+ "help": "Show the currently saved remote server state.",
486
+ "usage": "rdc remote status [--json]"
487
+ },
488
+ {
489
+ "name": "remote disconnect",
490
+ "id": "remote-disconnect",
491
+ "help": "Delete the saved remote server state (local only).",
492
+ "usage": "rdc remote disconnect [--json]"
493
+ },
476
494
  {
477
495
  "name": "android setup",
478
496
  "id": "android-setup",
@@ -1,5 +1,156 @@
1
1
  version: 6
2
2
  environments:
3
+ android:
4
+ channels:
5
+ - url: https://conda.anaconda.org/conda-forge/
6
+ options:
7
+ pypi-prerelease-mode: if-necessary-or-explicit
8
+ packages:
9
+ linux-64:
10
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda
11
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda
12
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda
13
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
14
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.31.8-hc85cc9f_0.conda
15
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda
16
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda
17
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
18
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.18.0-hcf29cc6_1.conda
19
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda
20
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
21
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda
22
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda
23
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda
24
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda
25
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda
26
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda
27
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
28
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
29
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda
30
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-h0c1763c_0.conda
31
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda
32
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
33
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda
34
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda
35
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hf2a90c1_0.conda
36
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-h031cc0b_0.conda
37
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
38
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
39
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda
40
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
41
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda
42
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
43
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda
44
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb9d3cd8_1.conda
45
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda
46
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda
47
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.10.8-h6dd6661_0.conda
48
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda
49
+ osx-64:
50
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/autoconf-2.72-pl5321had7229c_1.conda
51
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/automake-1.17-pl5321h694c41f_0.conda
52
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda
53
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda
54
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
55
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-3.31.8-h29fc008_0.conda
56
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda
57
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.18.0-h9a2545f_1.conda
58
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.0-h19cb2f5_1.conda
59
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda
60
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda
61
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.7.4-h991f03e_0.conda
62
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda
63
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda
64
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libltdl-2.4.3a-h240833e_0.conda
65
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.2-h11316ed_0.conda
66
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda
67
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.67.0-h3338091_0.conda
68
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.51.2-hb99441e_0.conda
69
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda
70
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libtool-2.5.4-h240833e_0.conda
71
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libuv-1.51.0-h58003a5_1.conda
72
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda
73
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.21-hf3981d6_0.conda
74
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda
75
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/ninja-1.13.2-hfc0b2d5_0.conda
76
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.1-hb6871ef_1.conda
77
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/perl-5.32.1-7_h10d778d_perl5.conda
78
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/pkg-config-0.29.2-hf7e621a_1009.conda
79
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.3-h4f44bb5_101_cp314.conda
80
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
81
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda
82
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/rhash-1.4.6-h6e16a3a_1.conda
83
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda
84
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda
85
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.10.8-h7e0bed3_0.conda
86
+ - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda
87
+ osx-arm64:
88
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/autoconf-2.72-pl5321hd3c70e0_1.conda
89
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/automake-1.17-pl5321hce30654_0.conda
90
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda
91
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda
92
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
93
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-3.31.8-h54ad630_0.conda
94
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.2-hef89b57_0.conda
95
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h385eeb1_0.conda
96
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.18.0-hd5a2499_1.conda
97
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.0-h55c6f16_1.conda
98
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda
99
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda
100
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.4-hf6b4638_0.conda
101
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda
102
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.86.4-he378b5c_1.conda
103
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda
104
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda
105
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libltdl-2.4.3a-h286801f_0.conda
106
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda
107
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda
108
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.67.0-hc438710_0.conda
109
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.51.2-h1ae2325_0.conda
110
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda
111
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtool-2.5.4-h286801f_0.conda
112
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.51.0-h6caf38d_1.conda
113
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
114
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/m4-1.4.21-h84a0fba_0.conda
115
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
116
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h49c215f_0.conda
117
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda
118
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda
119
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/perl-5.32.1-7_h4614cfb_perl5.conda
120
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pkg-config-0.29.2-hde07d2e_1009.conda
121
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda
122
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
123
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda
124
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h5505292_1.conda
125
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda
126
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda
127
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.10.8-h9b11cc2_0.conda
128
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda
129
+ win-64:
130
+ - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda
131
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda
132
+ - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-3.31.8-hdcbee5b_0.conda
133
+ - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda
134
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h8206538_1.conda
135
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda
136
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda
137
+ - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda
138
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda
139
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.51.2-hf5d6505_0.conda
140
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda
141
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.51.0-hfd05255_1.conda
142
+ - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda
143
+ - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda
144
+ - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda
145
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
146
+ - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda
147
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda
148
+ - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda
149
+ - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.10.8-h9b344b9_0.conda
150
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda
151
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda
152
+ - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda
153
+ - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda
3
154
  default:
4
155
  channels:
5
156
  - url: https://conda.anaconda.org/conda-forge/
@@ -12,7 +163,6 @@ environments:
12
163
  - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda
13
164
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda
14
165
  - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.31.8-hc85cc9f_0.conda
15
- - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda
16
166
  - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda
17
167
  - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda
18
168
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
@@ -24,15 +174,18 @@ environments:
24
174
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda
25
175
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda
26
176
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda
177
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda
27
178
  - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
28
179
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
29
180
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda
30
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.2-hf4e2dac_0.conda
181
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-h0c1763c_0.conda
31
182
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda
32
183
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
33
184
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda
34
185
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda
35
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
186
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hf2a90c1_0.conda
187
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-h031cc0b_0.conda
188
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
36
189
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
37
190
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda
38
191
  - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
@@ -161,7 +314,6 @@ environments:
161
314
  - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda
162
315
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
163
316
  - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.31.8-hc85cc9f_0.conda
164
- - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda
165
317
  - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda
166
318
  - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda
167
319
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
@@ -173,10 +325,11 @@ environments:
173
325
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda
174
326
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda
175
327
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda
328
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda
176
329
  - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
177
330
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
178
331
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda
179
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.2-hf4e2dac_0.conda
332
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-h0c1763c_0.conda
180
333
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda
181
334
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
182
335
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda
@@ -184,7 +337,9 @@ environments:
184
337
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-headers-1.4.341.0-h171cf75_0.conda
185
338
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda
186
339
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda
187
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
340
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hf2a90c1_0.conda
341
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-h031cc0b_0.conda
342
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
188
343
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
189
344
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda
190
345
  - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
@@ -538,17 +693,6 @@ packages:
538
693
  license_family: BSD
539
694
  size: 14669008
540
695
  timestamp: 1757878123930
541
- - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda
542
- sha256: 142a722072fa96cf16ff98eaaf641f54ab84744af81754c292cb81e0881c0329
543
- md5: 186a18e3ba246eccfc7cff00cd19a870
544
- depends:
545
- - __glibc >=2.17,<3.0.a0
546
- - libgcc >=14
547
- - libstdcxx >=14
548
- license: MIT
549
- license_family: MIT
550
- size: 12728445
551
- timestamp: 1767969922681
552
696
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.2-h38cb7af_0.conda
553
697
  sha256: d4cefbca587429d1192509edc52c88de52bc96c2447771ddc1f8bee928aed5ef
554
698
  md5: 1e93aca311da0210e660d2247812fa02
@@ -926,6 +1070,15 @@ packages:
926
1070
  license_family: GPL
927
1071
  size: 603262
928
1072
  timestamp: 1771378117851
1073
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda
1074
+ sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f
1075
+ md5: 915f5995e94f60e9a4826e0b0920ee88
1076
+ depends:
1077
+ - __glibc >=2.17,<3.0.a0
1078
+ - libgcc >=14
1079
+ license: LGPL-2.1-only
1080
+ size: 790176
1081
+ timestamp: 1754908768807
929
1082
  - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda
930
1083
  sha256: a1c8cecdf9966921e13f0ae921309a1f415dfbd2b791f2117cf7e8f5e61a48b6
931
1084
  md5: 210a85a1119f97ea7887188d176db135
@@ -1097,17 +1250,16 @@ packages:
1097
1250
  license_family: MIT
1098
1251
  size: 575454
1099
1252
  timestamp: 1756835746393
1100
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.2-hf4e2dac_0.conda
1101
- sha256: 04596fcee262a870e4b7c9807224680ff48d4d0cc0dac076a602503d3dc6d217
1102
- md5: da5be73701eecd0e8454423fd6ffcf30
1253
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-h0c1763c_0.conda
1254
+ sha256: d1688f91c013f9be0ad46492d4ec976ccc1dff5705a0b42be957abb73bf853bf
1255
+ md5: 393c8b31bd128e3d979e7ec17e9507c6
1103
1256
  depends:
1104
1257
  - __glibc >=2.17,<3.0.a0
1105
- - icu >=78.2,<79.0a0
1106
1258
  - libgcc >=14
1107
- - libzlib >=1.3.1,<2.0a0
1259
+ - libzlib >=1.3.2,<2.0a0
1108
1260
  license: blessing
1109
- size: 942808
1110
- timestamp: 1768147973361
1261
+ size: 954044
1262
+ timestamp: 1775753743691
1111
1263
  - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.51.2-hb99441e_0.conda
1112
1264
  sha256: 710a7ea27744199023c92e66ad005de7f8db9cf83f10d5a943d786f0dac53b7c
1113
1265
  md5: d910105ce2b14dfb2b32e92ec7653420
@@ -1367,18 +1519,49 @@ packages:
1367
1519
  license_family: MIT
1368
1520
  size: 395888
1369
1521
  timestamp: 1727278577118
1370
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
1371
- sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4
1372
- md5: edb0dca6bc32e4f4789199455a1dbeb8
1522
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-h031cc0b_0.conda
1523
+ sha256: a9612f88139197b2777a00325c72d872507e70d4f4111021f65e55797f97de67
1524
+ md5: 672c49f67192f0a7c2fa55986219d197
1373
1525
  depends:
1374
1526
  - __glibc >=2.17,<3.0.a0
1375
- - libgcc >=13
1527
+ - libgcc >=14
1528
+ - libiconv >=1.18,<2.0a0
1529
+ - liblzma >=5.8.2,<6.0a0
1530
+ - libxml2-16 2.15.2 hf2a90c1_0
1531
+ - libzlib >=1.3.1,<2.0a0
1376
1532
  constrains:
1377
- - zlib 1.3.1 *_2
1533
+ - icu <0.0a0
1534
+ license: MIT
1535
+ license_family: MIT
1536
+ size: 46783
1537
+ timestamp: 1772704627225
1538
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hf2a90c1_0.conda
1539
+ sha256: 9448a9080c8c2d32964f4005a75bf9f5879e4e3163de23f8efe361f1d6234e2b
1540
+ md5: e44f52764dd288c96c4676a967b7e112
1541
+ depends:
1542
+ - __glibc >=2.17,<3.0.a0
1543
+ - libgcc >=14
1544
+ - libiconv >=1.18,<2.0a0
1545
+ - liblzma >=5.8.2,<6.0a0
1546
+ - libzlib >=1.3.1,<2.0a0
1547
+ constrains:
1548
+ - libxml2 2.15.2
1549
+ - icu <0.0a0
1550
+ license: MIT
1551
+ license_family: MIT
1552
+ size: 556790
1553
+ timestamp: 1772704614138
1554
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
1555
+ sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9
1556
+ md5: d87ff7921124eccd67248aa483c23fec
1557
+ depends:
1558
+ - __glibc >=2.17,<3.0.a0
1559
+ constrains:
1560
+ - zlib 1.3.2 *_2
1378
1561
  license: Zlib
1379
1562
  license_family: Other
1380
- size: 60963
1381
- timestamp: 1727963148474
1563
+ size: 63629
1564
+ timestamp: 1774072609062
1382
1565
  - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda
1383
1566
  sha256: 8412f96504fc5993a63edf1e211d042a1fd5b1d51dedec755d2058948fcced09
1384
1567
  md5: 003a54a4e32b02f7355b50a837e699da
@@ -31,6 +31,7 @@ cmake = ">=3.26,<4"
31
31
  [target.linux-64.dependencies]
32
32
  cmake = ">=3.26,<4"
33
33
  ninja = ">=1.11,<2"
34
+ libxml2 = ">=2.12,<3"
34
35
 
35
36
  [feature.vulkan.target.osx-64.dependencies]
36
37
  libvulkan-headers = ">=1.3"
@@ -69,6 +69,7 @@ CATEGORIES: list[tuple[str, str, str | None, list[str]]] = [
69
69
  "Remote", "remote",
70
70
  "Connect to a remote RenderDoc server for remote capture and replay.",
71
71
  ["serve", "remote connect", "remote list", "remote capture",
72
+ "remote setup", "remote status", "remote disconnect",
72
73
  "android setup", "android stop", "android capture"],
73
74
  ),
74
75
  ("Utilities", "utilities", None, [
@@ -295,6 +295,10 @@ def _safe_extractall(zf: zipfile.ZipFile, dest: Path) -> None:
295
295
  sys.stderr.write(f"ERROR: zip-slip attempt detected: {member.filename}\n")
296
296
  raise SystemExit(1)
297
297
  zf.extract(member, dest)
298
+ # Restore Unix execute bits that zipfile.extract() drops.
299
+ unix_mode = member.external_attr >> 16
300
+ if unix_mode and (unix_mode & 0o111):
301
+ target.chmod(target.stat().st_mode | (unix_mode & 0o111))
298
302
 
299
303
 
300
304
  def download_swig(build_dir: Path) -> None:
@@ -377,6 +381,13 @@ def configure_build(
377
381
  cmd += CMAKE_COMMON_FLAGS
378
382
  cmd.append(f"-DRENDERDOC_SWIG_PACKAGE={swig_dir}")
379
383
 
384
+ # Use base_prefix Python so cmake finds python3.XX-config (venv lacks it)
385
+ base_python = Path(sys.base_prefix) / "bin" / Path(sys.executable).name
386
+ if base_python.exists():
387
+ cmd.append(f"-DPython3_EXECUTABLE={base_python}")
388
+ else:
389
+ _log(f"WARNING: base Python not found at {base_python}, cmake will auto-detect")
390
+
380
391
  env = dict(os.environ)
381
392
  if plat == "linux":
382
393
  _log("stripping LTO flags")
@@ -749,8 +760,10 @@ def main(argv: list[str] | None = None) -> None:
749
760
  args = parser.parse_args(argv)
750
761
 
751
762
  plat = _platform()
752
- install_dir = Path(args.install_dir) if args.install_dir else default_install_dir()
753
- build_dir = Path(args.build_dir) if args.build_dir else install_dir.parent / "renderdoc-build"
763
+ install_dir = Path(args.install_dir).resolve() if args.install_dir else default_install_dir()
764
+ build_dir = (
765
+ Path(args.build_dir).resolve() if args.build_dir else install_dir.parent / "renderdoc-build"
766
+ )
754
767
 
755
768
  if _artifacts_present(install_dir, plat):
756
769
  _log(f"renderdoc already exists at {install_dir}/")
@@ -0,0 +1,46 @@
1
+ """Progress callback factory for RenderDoc long-running operations."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import math
6
+ import time
7
+ from collections.abc import Callable
8
+
9
+ import click
10
+
11
+
12
+ def make_progress_cb(label: str, min_interval: float = 1.0) -> Callable[[float], None]:
13
+ """Return a callback suitable for RenderDoc ProgressCallback.
14
+
15
+ Writes to stderr. On tty: '\\r{label}: {pct:.0%}' in place, '\\n' at
16
+ completion. Non-tty: one line per call, throttled to min_interval seconds.
17
+ First call (progress=0.0001) and final call (progress>=1.0) always emit.
18
+ Clamps NaN/negative/inf to [0, 1].
19
+ """
20
+ last_echo: list[float] = [0.0]
21
+ first_seen: list[bool] = [False]
22
+
23
+ def _cb(progress: float) -> None:
24
+ if math.isnan(progress) or progress < 0:
25
+ progress = 0.0
26
+ elif math.isinf(progress) or progress > 1.0:
27
+ progress = 1.0
28
+
29
+ is_first = not first_seen[0]
30
+ is_done = progress >= 1.0
31
+ first_seen[0] = True
32
+
33
+ stderr = click.get_text_stream("stderr")
34
+ on_tty = stderr.isatty()
35
+
36
+ if on_tty:
37
+ end = "\n" if is_done else "\r"
38
+ click.echo(f"{label}: {progress:.0%}", nl=False, err=True)
39
+ click.echo(end, nl=False, err=True)
40
+ else:
41
+ now = time.monotonic()
42
+ if is_first or is_done or (now - last_echo[0] >= min_interval):
43
+ click.echo(f"{label}: {progress:.0%}", err=True)
44
+ last_echo[0] = now
45
+
46
+ return _cb
@@ -20,7 +20,11 @@ Check setup: `rdc doctor`.
20
20
 
21
21
  Follow this session lifecycle for any capture analysis task:
22
22
 
23
- 1. **Open** a capture: `rdc open path/to/capture.rdc`
23
+ 1. **Open** a capture:
24
+ - Local: `rdc open path/to/capture.rdc`
25
+ - Remote replay (Proxy): `rdc open capture.rdc --proxy host:port`
26
+ - Split thin-client: `rdc open --connect host:port --token TOKEN`
27
+ - Android device: `rdc open capture.rdc --android [--serial SERIAL]`
24
28
  2. **Inspect** metadata: `rdc info`, `rdc stats`, `rdc events`
25
29
  3. **Navigate** the VFS: `rdc ls /`, `rdc ls /textures`, `rdc cat /pipelines/0`
26
30
  4. **Analyze** specifics: `rdc shaders`, `rdc pipeline`, `rdc resources`, `rdc bindings`
@@ -196,6 +200,54 @@ rdc shader-restore EID # revert single shader
196
200
  rdc shader-restore-all # revert all modifications
197
201
  ```
198
202
 
203
+ ## Remote Capture Workflow
204
+
205
+ rdc-cli wraps `renderdoccmd remoteserver` to support PC-to-PC remote captures.
206
+
207
+ - `rdc serve [--port PORT] [--allow-ips CIDR] [--no-exec] [--daemon]` — launch remoteserver on the target machine
208
+ - `rdc remote connect <host:port>` — save remote connection state
209
+ - `rdc remote list` — enumerate capturable apps on the remote
210
+ - `rdc remote capture <app> -o frame.rdc [--args ...] [--frame N] [--keep-remote]` — inject, capture, and transfer back. `--keep-remote` skips the transfer and prints the remote path; replay it with `rdc open <path> --proxy host:port`. (The CLI's own `next:` hint currently still references the deprecated `--remote` alias for `--proxy`.)
211
+ - `rdc open frame.rdc --proxy host:port` — remote-backed replay (daemon local, GPU remote)
212
+
213
+ `remote_state.py` persists the last connected host so subsequent `rdc remote list` can omit `--url`.
214
+
215
+ ## Split Mode (thin client)
216
+
217
+ Split mode decouples CLI and daemon — run the daemon where the GPU is and connect from a machine that doesn't need the renderdoc module. Useful when the analyst's laptop is macOS/Windows and the GPU is on a Linux server.
218
+
219
+ - Server side: `rdc open capture.rdc --listen [ADDR[:PORT]]`
220
+ - Prints these four labeled lines to stdout (among other status output): `host: ADDR`, `port: PORT`, `token: TOKEN`, `connect with: rdc open --connect ADDR:PORT --token TOKEN`
221
+ - Client side: `rdc open --connect HOST:PORT --token TOKEN`
222
+
223
+ SSH tunnel tip (use the port from `--listen`, or `rdc serve`'s default `39920`): `ssh -L 39920:localhost:39920 user@server`, then connect to `localhost:39920`.
224
+
225
+ Every normal command (`rdc draws`, `rdc rt`, ...) works transparently in Split mode. Binary exports use `file_read` RPC with raw binary frames — no base64 overhead.
226
+
227
+ ## Android Workflow
228
+
229
+ - Prerequisite: the RenderDoc APK must already be installed on the host via `rdc setup-renderdoc --android` (upstream) or `--android --arm` (ARM PS fork for Mali). `rdc android setup` does not push the APK itself.
230
+ - `rdc android setup [--serial SERIAL]` — starts remoteserver on the device via RenderDoc's Device Protocol API (`StartRemoteServer`), sets adb forward, saves remote state.
231
+ - `rdc android capture <activity> [--serial SERIAL] [--timeout N] [--port PORT] [-o out.rdc]` — GPU debug layers based capture (works around EMUI/Mali injection limitations).
232
+ - `rdc android stop [--serial SERIAL]` — stops the remoteserver and cleans state.
233
+ - For remote replay: `rdc open frame.rdc --android [--serial SERIAL]` — this is the only form that rewrites the saved `adb://SERIAL` to the forwarded `localhost:PORT`. Passing `--proxy adb://SERIAL` directly bypasses the rewrite and is known to crash the daemon (see `session.py:_resolve_android_url`).
234
+
235
+ Hardware matrix: Adreno is the happy path; Mali may need the ARM Performance Studio fork (see `rdc setup-renderdoc --android --arm`).
236
+
237
+ ## Troubleshooting
238
+
239
+ Always run `rdc doctor` first. It reports status for renderdoc module, renderdoccmd, adb, Android APK, and platform-specific toolchains. Only the missing-renderdoc-module case emits a dedicated build-hint block; other checks surface inline hints in the detail column, so read each failing line rather than relying on a uniform next-step list.
240
+
241
+ Common failure categories (conceptual, not literal error strings — map from the text the tool actually emits):
242
+
243
+ - **network / connect failed** — remote host unreachable, firewall, wrong port. Verify `rdc serve` is running on the target.
244
+ - **version mismatch** — host and target RenderDoc versions differ. Re-run `rdc setup-renderdoc` or `rdc setup-renderdoc --android` to align.
245
+ - **inject failed / ident=0** — injection blocked (Android EMUI, macOS SIP, Windows privilege). Run `rdc doctor` and check the platform-specific detail.
246
+ - **OpenCapture unsupported** — local GPU can't replay the capture's API surface; switch to `--proxy` or `--android` remote replay.
247
+ - **not loaded / no session** — forgot `rdc open`; use `rdc status` to inspect.
248
+
249
+ For long operations (large capture transfers, remote replay init), the CLI has limited progress feedback — this is a known UX gap, not a hang. Wait up to the `--timeout` value before concluding failure.
250
+
199
251
  ## Command Reference
200
252
 
201
253
  For the complete list of all commands with their arguments, options, types, and defaults, see [references/commands-quick-ref.md](references/commands-quick-ref.md).
@@ -622,6 +622,7 @@ Create local default session and start daemon skeleton.
622
622
  | `--listen` | Listen on [ADDR]:PORT. Use :0 for auto-port on all interfaces. | text | |
623
623
  | `--connect` | Connect to an already-running external daemon. | text | |
624
624
  | `--token` | Authentication token (required with --connect). | text | |
625
+ | `--timeout` | Daemon startup timeout in seconds. | float | |
625
626
 
626
627
  ## `rdc pass`
627
628
 
@@ -759,6 +760,16 @@ Connect to a remote RenderDoc server.
759
760
  |------|------|------|---------|
760
761
  | `--json` | Output as JSON. | flag | |
761
762
 
763
+ ## `rdc remote disconnect`
764
+
765
+ Delete the saved remote server state (local only).
766
+
767
+ **Options:**
768
+
769
+ | Flag | Help | Type | Default |
770
+ |------|------|------|---------|
771
+ | `--json` | Output as JSON. | flag | |
772
+
762
773
  ## `rdc remote list`
763
774
 
764
775
  List capturable applications on a remote host.
@@ -770,6 +781,33 @@ List capturable applications on a remote host.
770
781
  | `--url` | Override saved remote (host:port). | text | |
771
782
  | `--json` | Output as JSON. | flag | |
772
783
 
784
+ ## `rdc remote setup`
785
+
786
+ Verify a remote server is reachable, handshake, and save state.
787
+
788
+ **Arguments:**
789
+
790
+ | Name | Type | Required |
791
+ |------|------|----------|
792
+ | `url` | text | yes |
793
+
794
+ **Options:**
795
+
796
+ | Flag | Help | Type | Default |
797
+ |------|------|------|---------|
798
+ | `--timeout` | TCP probe timeout in seconds. | float | 10.0 |
799
+ | `--json` | Output as JSON. | flag | |
800
+
801
+ ## `rdc remote status`
802
+
803
+ Show the currently saved remote server state.
804
+
805
+ **Options:**
806
+
807
+ | Flag | Help | Type | Default |
808
+ |------|------|------|---------|
809
+ | `--json` | Output as JSON. | flag | |
810
+
773
811
  ## `rdc resource`
774
812
 
775
813
  Show details of a specific resource.
@@ -10,6 +10,8 @@ from dataclasses import dataclass, fields
10
10
  from pathlib import Path
11
11
  from typing import Any
12
12
 
13
+ import click
14
+
13
15
  from rdc import _platform
14
16
  from rdc.discover import find_renderdoc
15
17
 
@@ -220,7 +222,9 @@ def run_target_control_loop(
220
222
  else:
221
223
  tc.TriggerCapture(1)
222
224
 
223
- deadline = time.monotonic() + timeout
225
+ start = time.monotonic()
226
+ deadline = start + timeout
227
+ last_echo = start
224
228
  while time.monotonic() < deadline:
225
229
  if not tc.Connected():
226
230
  return CaptureResult(error="target disconnected")
@@ -239,6 +243,10 @@ def run_target_control_loop(
239
243
  )
240
244
  if msg_type == 1:
241
245
  return CaptureResult(error="target disconnected")
246
+ now = time.monotonic()
247
+ if now - last_echo >= 5.0:
248
+ click.echo(f"waiting for capture... ({int(now - start):d}s)", err=True)
249
+ last_echo = now
242
250
  time.sleep(0.01)
243
251
 
244
252
  return CaptureResult(error="timeout waiting for capture")