rdc-cli 0.5.5__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/workflows/aur.yml +2 -2
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/PKG-INFO +8 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/README.md +7 -2
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/data/commands.json +17 -11
- rdc_cli-0.6.0/docs-astro/src/data/replay.json +116 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/examples.astro +6 -8
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/install.astro +5 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/remote.astro +5 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/usage.astro +0 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/ruff.toml +2 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/gen-commands.py +1 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_build_renderdoc.py +29 -5
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_platform.py +19 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_skills/SKILL.md +32 -21
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_skills/references/commands-quick-ref.md +40 -16
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_transport.py +0 -21
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/capture_core.py +33 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/cli.py +2 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/_helpers.py +24 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/android.py +2 -2
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/capture.py +2 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/capture_control.py +2 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/counters.py +24 -16
- rdc_cli-0.6.0/src/rdc/commands/descriptors.py +99 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/doctor.py +70 -23
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/events.py +42 -47
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/export.py +22 -4
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/info.py +19 -22
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/pipeline.py +24 -21
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/pixel.py +15 -17
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/resources.py +39 -22
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/session.py +21 -4
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/snapshot.py +27 -11
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/unix_helpers.py +13 -14
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/usage.py +24 -16
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/vfs.py +17 -9
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/daemon_server.py +123 -8
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/discover.py +14 -0
- rdc_cli-0.6.0/src/rdc/formatters/options.py +74 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/_helpers.py +219 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/core.py +3 -46
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/descriptor.py +84 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/query.py +26 -2
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/texture.py +69 -16
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/protocol.py +0 -17
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/remote_core.py +27 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/services/diff_service.py +1 -41
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/services/session_service.py +62 -11
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc_cli.egg-info/PKG-INFO +8 -3
- rdc_cli-0.6.0/src/rdc_cli.egg-info/SOURCES.txt +353 -0
- rdc_cli-0.6.0/src/rdc_cli.egg-info/scm_file_list.json +349 -0
- rdc_cli-0.6.0/src/rdc_cli.egg-info/scm_version.json +8 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/conftest.py +55 -13
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/e2e_helpers.py +12 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_diff.py +25 -0
- rdc_cli-0.6.0/tests/integration/test_mock_api_sync.py +293 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/mocks/mock_renderdoc.py +34 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/conftest.py +13 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_android_commands.py +13 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_binary_daemon.py +12 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_build_renderdoc.py +103 -16
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capture_control.py +33 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capture_core.py +157 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_cli_session_flag.py +0 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_server_unit.py +88 -1
- rdc_cli-0.6.0/tests/unit/test_descriptors_commands.py +71 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_descriptors_daemon.py +138 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_command.py +30 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_service.py +0 -38
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_summary.py +19 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_discover.py +88 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_doctor.py +140 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_export_commands.py +106 -0
- rdc_cli-0.6.0/tests/unit/test_formatters.py +350 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_handlers_remote.py +35 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_keep_remote.py +0 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_output_options.py +29 -12
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_platform.py +115 -1
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_quickfix_batch.py +23 -8
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_commands.py +0 -5
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_core.py +48 -3
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_setup.py +0 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_state.py +0 -5
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_status_disconnect.py +0 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_resources_commands.py +24 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_resources_filter.py +41 -6
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_session_commands.py +56 -16
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_session_service.py +106 -13
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_session_state.py +0 -4
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_shader_preload.py +0 -2
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_snapshot_command.py +77 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_split_binary.py +0 -33
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_split_core.py +3 -2
- rdc_cli-0.6.0/tests/unit/test_stats_event_count.py +39 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_target_state.py +0 -7
- rdc_cli-0.6.0/tests/unit/test_tex_stats_handler.py +957 -0
- rdc_cli-0.6.0/tests/unit/test_tooling_files.py +73 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_commands.py +23 -8
- rdc_cli-0.5.5/docs-astro/src/data/replay.json +0 -116
- rdc_cli-0.5.5/openspec/changes/2026-03-03-bugfix-p2-batch/proposal.md +0 -72
- rdc_cli-0.5.5/openspec/changes/2026-03-03-bugfix-p2-batch/tasks.md +0 -29
- rdc_cli-0.5.5/openspec/changes/2026-03-03-bugfix-p2-batch/test-plan.md +0 -109
- rdc_cli-0.5.5/openspec/changes/2026-03-04-w6-windows-bugfixes/proposal.md +0 -51
- rdc_cli-0.5.5/openspec/changes/2026-03-04-w6-windows-bugfixes/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/2026-03-04-w6-windows-bugfixes/test-plan.md +0 -23
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-bootstrap-foundation/proposal.md +0 -15
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-bootstrap-foundation/tasks.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-bootstrap-foundation/test-plan.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-ci-hardening/proposal.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-ci-hardening/specs/ci/spec.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-ci-hardening/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-ci-hardening/test-plan.md +0 -17
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-core-checks/proposal.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-core-checks/specs/foundation/spec.md +0 -14
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-core-checks/tasks.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-core-checks/test-plan.md +0 -43
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/proposal.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/specs/daemon/spec.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/tasks.md +0 -8
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/test-plan.md +0 -21
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-transport/proposal.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-transport/specs/daemon/spec.md +0 -14
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-transport/tasks.md +0 -11
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-daemon-transport/test-plan.md +0 -18
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/proposal.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/specs/tooling/spec.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/test-plan.md +0 -17
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-pixi-env/proposal.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-pixi-env/specs/tooling/spec.md +0 -8
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-pixi-env/tasks.md +0 -8
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-pixi-env/test-plan.md +0 -16
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-session-skeleton/proposal.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-session-skeleton/specs/session/spec.md +0 -19
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-session-skeleton/tasks.md +0 -11
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-session-skeleton/test-plan.md +0 -40
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-structure-refactor/design.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-structure-refactor/proposal.md +0 -18
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-structure-refactor/specs/architecture/spec.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-structure-refactor/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-18-phase0-structure-refactor/test-plan.md +0 -17
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-count-shadermap/proposal.md +0 -39
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-count-shadermap/specs/daemon/spec.md +0 -27
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-count-shadermap/tasks.md +0 -24
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-count-shadermap/test-plan.md +0 -51
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-daemon-replay/proposal.md +0 -39
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/daemon/spec.md +0 -44
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/foundation/spec.md +0 -44
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-daemon-replay/tasks.md +0 -38
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-daemon-replay/test-plan.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-draws-events/proposal.md +0 -54
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-draws-events/specs/daemon/spec.md +0 -32
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-draws-events/tasks.md +0 -32
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-draws-events/test-plan.md +0 -81
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-log/proposal.md +0 -33
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-log/tasks.md +0 -10
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-log/test-plan.md +0 -37
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-pass-detail/proposal.md +0 -43
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-pass-detail/tasks.md +0 -10
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-pass-detail/test-plan.md +0 -35
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-resources-passes/proposal.md +0 -23
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-resources-passes/specs/daemon/spec.md +0 -20
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-resources-passes/tasks.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-resources-passes/test-plan.md +0 -25
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-shader-extended/proposal.md +0 -41
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-shader-extended/tasks.md +0 -57
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1-shader-extended/test-plan.md +0 -47
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1.5-vfs/proposal.md +0 -133
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1.5-vfs/tasks.md +0 -114
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase1.5-vfs/test-plan.md +0 -161
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-api-fix/proposal.md +0 -116
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-api-fix/tasks.md +0 -55
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-api-fix/test-plan.md +0 -58
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-buffer-decode/proposal.md +0 -69
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-buffer-decode/tasks.md +0 -41
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-buffer-decode/test-plan.md +0 -74
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-pipeline-state/proposal.md +0 -82
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-pipeline-state/tasks.md +0 -44
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-pipeline-state/test-plan.md +0 -94
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-vfs-binary/proposal.md +0 -230
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-vfs-binary/tasks.md +0 -232
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-19-phase2-vfs-binary/test-plan.md +0 -258
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-counters/proposal.md +0 -145
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-counters/tasks.md +0 -92
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-counters/test-plan.md +0 -215
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-descriptors/proposal.md +0 -104
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-descriptors/tasks.md +0 -71
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-descriptors/test-plan.md +0 -142
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-search/proposal.md +0 -133
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-search/tasks.md +0 -50
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-search/test-plan.md +0 -86
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-usage/proposal.md +0 -120
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-usage/tasks.md +0 -77
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2-usage/test-plan.md +0 -165
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/proposal.md +0 -34
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/tasks.md +0 -7
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/test-plan.md +0 -35
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/proposal.md +0 -34
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/test-plan.md +0 -42
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/proposal.md +0 -54
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/tasks.md +0 -28
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/test-plan.md +0 -63
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-release-ci/proposal.md +0 -31
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-release-ci/tasks.md +0 -7
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.5-release-ci/test-plan.md +0 -42
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/proposal.md +0 -29
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/tasks.md +0 -8
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/test-plan.md +0 -40
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-output-quality/proposal.md +0 -48
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-output-quality/tasks.md +0 -30
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-output-quality/test-plan.md +0 -69
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/proposal.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/tasks.md +0 -12
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/test-plan.md +0 -67
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-shader-api/proposal.md +0 -55
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-shader-api/tasks.md +0 -10
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-phase2.6-shader-api/test-plan.md +0 -65
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-vfs-path-completion/proposal.md +0 -47
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-vfs-path-completion/tasks.md +0 -19
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-20-vfs-path-completion/test-plan.md +0 -50
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/proposal.md +0 -35
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/test-plan.md +0 -34
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/proposal.md +0 -43
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/tasks.md +0 -15
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/test-plan.md +0 -42
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-pass-detection/proposal.md +0 -93
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-pass-detection/tasks.md +0 -27
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-pass-detection/test-plan.md +0 -84
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/proposal.md +0 -45
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/tasks.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/test-plan.md +0 -47
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/proposal.md +0 -193
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/tasks.md +0 -138
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/test-plan.md +0 -163
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/proposal.md +0 -199
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/tasks.md +0 -154
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/test-plan.md +0 -154
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ai-agent-skill/proposal.md +0 -114
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ai-agent-skill/tasks.md +0 -168
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ai-agent-skill/test-plan.md +0 -219
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/proposal.md +0 -97
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/tasks.md +0 -281
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/test-plan.md +0 -219
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/proposal.md +0 -164
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/tasks.md +0 -478
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-bugfix-remaining-blackbox/test-plan.md +0 -562
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ci-repo-hardening/proposal.md +0 -36
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ci-repo-hardening/tasks.md +0 -45
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-ci-repo-hardening/test-plan.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-code-maintainability/proposal.md +0 -36
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-code-maintainability/tasks.md +0 -55
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-code-maintainability/test-plan.md +0 -42
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-consistent-output-options/proposal.md +0 -157
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-consistent-output-options/tasks.md +0 -246
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-consistent-output-options/test-plan.md +0 -222
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/proposal.md +0 -108
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/tasks.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/test-plan.md +0 -140
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/proposal.md +0 -129
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/tasks.md +0 -71
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/test-plan.md +0 -121
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/proposal.md +0 -128
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/tasks.md +0 -105
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/test-plan.md +0 -134
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-draws/proposal.md +0 -105
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-draws/tasks.md +0 -45
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-draws/test-plan.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-framebuffer/proposal.md +0 -159
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-framebuffer/tasks.md +0 -77
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-framebuffer/test-plan.md +0 -117
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-infrastructure/proposal.md +0 -170
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-infrastructure/tasks.md +0 -43
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-infrastructure/test-plan.md +0 -84
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-pipeline/proposal.md +0 -165
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-pipeline/tasks.md +0 -90
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-pipeline/test-plan.md +0 -159
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-resources/proposal.md +0 -111
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-resources/tasks.md +0 -80
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-resources/test-plan.md +0 -170
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-stats/proposal.md +0 -106
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-stats/tasks.md +0 -51
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-diff-stats/test-plan.md +0 -86
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-docs-automation/proposal.md +0 -95
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-docs-automation/tasks.md +0 -185
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-docs-automation/test-plan.md +0 -68
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/proposal.md +0 -281
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/tasks.md +0 -349
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/test-plan.md +0 -361
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-image-compare/proposal.md +0 -98
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-image-compare/tasks.md +0 -9
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-image-compare/test-plan.md +0 -49
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3a-script/proposal.md +0 -177
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3a-script/tasks.md +0 -92
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3a-script/test-plan.md +0 -174
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/proposal.md +0 -323
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/tasks.md +0 -170
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/test-plan.md +0 -217
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-snapshot/proposal.md +0 -91
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-snapshot/tasks.md +0 -91
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase3c-snapshot/test-plan.md +0 -128
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4a-shader-debug/proposal.md +0 -332
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4a-shader-debug/tasks.md +0 -100
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4a-shader-debug/test-plan.md +0 -118
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/proposal.md +0 -430
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/tasks.md +0 -227
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/test-plan.md +0 -263
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-mesh-export/proposal.md +0 -58
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-mesh-export/tasks.md +0 -28
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-mesh-export/test-plan.md +0 -39
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-overlay/proposal.md +0 -113
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-overlay/tasks.md +0 -54
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase4c-overlay/test-plan.md +0 -128
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-debug-thread/proposal.md +0 -130
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-debug-thread/tasks.md +0 -40
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-debug-thread/test-plan.md +0 -80
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-pick-pixel/proposal.md +0 -137
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-pick-pixel/tasks.md +0 -52
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-pick-pixel/test-plan.md +0 -81
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-tex-stats/proposal.md +0 -177
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-tex-stats/tasks.md +0 -23
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-phase5-tex-stats/test-plan.md +0 -93
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-renderdoc-build-helper/proposal.md +0 -97
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-renderdoc-build-helper/tasks.md +0 -135
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-renderdoc-build-helper/test-plan.md +0 -95
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-robustness-hardening/proposal.md +0 -111
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-robustness-hardening/tasks.md +0 -143
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-robustness-hardening/test-plan.md +0 -171
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-security-hardening-2/proposal.md +0 -15
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-security-hardening-2/tasks.md +0 -21
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-security-hardening-2/test-plan.md +0 -29
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-skill-auto-install/proposal.md +0 -141
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-skill-auto-install/tasks.md +0 -118
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-skill-auto-install/test-plan.md +0 -134
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-worktree-isolation/proposal.md +0 -71
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-worktree-isolation/tasks.md +0 -18
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-22-worktree-isolation/test-plan.md +0 -38
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b17-eid-mutation/proposal.md +0 -214
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b17-eid-mutation/tasks.md +0 -186
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b17-eid-mutation/test-plan.md +0 -104
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/proposal.md +0 -202
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/tasks.md +0 -130
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/test-plan.md +0 -139
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/proposal.md +0 -161
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/tasks.md +0 -157
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/test-plan.md +0 -122
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/proposal.md +0 -155
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/tasks.md +0 -71
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/test-plan.md +0 -303
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-docs-polish/proposal.md +0 -79
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-docs-polish/tasks.md +0 -46
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-docs-polish/test-plan.md +0 -57
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-aur-build/proposal.md +0 -21
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-aur-build/tasks.md +0 -6
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-aur-build/test-plan.md +0 -11
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/proposal.md +0 -239
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/tasks.md +0 -131
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/test-plan.md +0 -327
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase-w2-build-script/proposal.md +0 -173
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase-w2-build-script/tasks.md +0 -90
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase-w2-build-script/test-plan.md +0 -116
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase5b-capture-unified/proposal.md +0 -208
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase5b-capture-unified/tasks.md +0 -405
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-phase5b-capture-unified/test-plan.md +0 -288
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-gpu-coverage/proposal.md +0 -59
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-gpu-coverage/tasks.md +0 -32
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-gpu-coverage/test-plan.md +0 -75
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-mock-accuracy/proposal.md +0 -53
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-mock-accuracy/tasks.md +0 -34
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-23-test-mock-accuracy/test-plan.md +0 -81
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-b43-b44-remote-split/proposal.md +0 -66
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-b43-b44-remote-split/tasks.md +0 -24
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-b43-b44-remote-split/test-plan.md +0 -30
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-m-macos-support/proposal.md +0 -70
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-m-macos-support/tasks.md +0 -74
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-m-macos-support/test-plan.md +0 -60
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/proposal.md +0 -34
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/tasks.md +0 -15
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r1-quick-wins/test-plan.md +0 -20
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/proposal.md +0 -88
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/tasks.md +0 -64
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-24-phase-r2-test-infrastructure/test-plan.md +0 -191
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/proposal.md +0 -71
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/tasks.md +0 -43
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-26-phase-r3-usability-fixes/test-plan.md +0 -190
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-design-deviation-fixes/proposal.md +0 -68
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-design-deviation-fixes/tasks.md +0 -25
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-design-deviation-fixes/test-plan.md +0 -45
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-dev-install-enhancement/proposal.md +0 -136
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-dev-install-enhancement/tasks.md +0 -13
- rdc_cli-0.5.5/openspec/changes/archive/2026-02-28-dev-install-enhancement/test-plan.md +0 -56
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-fix-225-d3d12-multi-gpu/proposal.md +0 -90
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-fix-225-d3d12-multi-gpu/tasks.md +0 -10
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-fix-225-d3d12-multi-gpu/test-plan.md +0 -33
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-cbuffer-export/proposal.md +0 -95
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-cbuffer-export/specs/daemon/spec.md +0 -40
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-cbuffer-export/tasks.md +0 -47
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-cbuffer-export/test-plan.md +0 -78
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-vsin-mesh/proposal.md +0 -95
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-vsin-mesh/specs/daemon/spec.md +0 -40
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-vsin-mesh/tasks.md +0 -31
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-15-issue-224-vsin-mesh/test-plan.md +0 -74
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-17-fix-225-d3d12-chunk-name/proposal.md +0 -235
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-17-fix-225-d3d12-chunk-name/tasks.md +0 -14
- rdc_cli-0.5.5/openspec/changes/archive/2026-05-17-fix-225-d3d12-chunk-name/test-plan.md +0 -232
- rdc_cli-0.5.5/openspec/specs/architecture/spec.md +0 -13
- rdc_cli-0.5.5/openspec/specs/ci/spec.md +0 -23
- rdc_cli-0.5.5/openspec/specs/daemon/spec.md +0 -151
- rdc_cli-0.5.5/openspec/specs/foundation/spec.md +0 -18
- rdc_cli-0.5.5/openspec/specs/packaging/spec.md +0 -56
- rdc_cli-0.5.5/openspec/specs/session/spec.md +0 -23
- rdc_cli-0.5.5/openspec/specs/tooling/spec.md +0 -23
- rdc_cli-0.5.5/src/rdc/formatters/options.py +0 -22
- rdc_cli-0.5.5/src/rdc_cli.egg-info/SOURCES.txt +0 -662
- rdc_cli-0.5.5/tests/integration/test_mock_api_sync.py +0 -125
- rdc_cli-0.5.5/tests/unit/test_formatters.py +0 -90
- rdc_cli-0.5.5/tests/unit/test_tex_stats_handler.py +0 -316
- rdc_cli-0.5.5/tests/unit/test_tooling_files.py +0 -35
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.commitlintrc.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.githooks/pre-commit +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.githooks/pre-push +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/CODEOWNERS +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/workflows/ci.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/workflows/commitlint.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.github/workflows/docs.yml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.gitignore +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.python-version +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/.release-please-manifest.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/CONTRIBUTING.md +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/LICENSE +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/Makefile +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/SECURITY.md +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/aur/PKGBUILD +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/aur/stable/PKGBUILD +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docker/Dockerfile +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/astro.config.mjs +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/package-lock.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/package.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/public/.nojekyll +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/public/favicon.svg +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Commands.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Demo.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Features.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Footer.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Hero.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Install.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Navbar.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Philosophy.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/Terminal.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/components/ThemeSwitcher.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/data/stats.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/layouts/Base.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/layouts/Docs.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/ai-integration.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/commands.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/design.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/index.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/docs/vfs.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/pages/index.astro +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/src/styles/global.css +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/tailwind.config.mjs +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/tapes/pipeline.tape +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/tapes/quickstart.tape +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/tests/validate.mjs +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/docs-astro/tsconfig.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/mypy.ini +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/pixi.lock +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/pixi.toml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/pyproject.toml +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/release-please-config.json +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/build-renderdoc.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/build_renderdoc.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/capture_fixture.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/dev_install.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/e2e_test.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/ensure-renderdoc.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/ensure-renderdoc.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/ensure-skill-link.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/gen-replay.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/gen-skill-ref.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/gen-stats.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/gen_and_check.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/setup-renderdoc.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/setup-vulkan-samples.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/setup_android_tools.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/setup_vulkan_samples.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/verify-package.sh +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/scripts/verify_package.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/setup.cfg +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_progress.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/_skills/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/adapter.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/assert_ci.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/assert_image.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/capturefile.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/cbuffer.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/debug.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/diff.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/install_skill.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/mesh.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/pick_pixel.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/remote.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/script.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/search.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/serve.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/setup_renderdoc.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/shader_edit.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/tex_stats.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/commands/unused_targets.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/daemon_client.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/alignment.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/draws.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/framebuffer.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/pipeline.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/resources.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/stats.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/diff/summary.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/formatters/json_fmt.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/formatters/kv.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/formatters/tsv.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/_types.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/buffer.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/capture.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/capturefile.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/debug.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/pipe_state.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/pixel.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/script.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/shader.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/shader_edit.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/unused.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/handlers/vfs.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/image_compare.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/remote_state.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/services/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/services/query_service.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/session_state.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/target_state.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/vfs/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/vfs/formatter.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/vfs/router.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc/vfs/tree_cache.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc_cli.egg-info/dependency_links.txt +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc_cli.egg-info/entry_points.txt +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc_cli.egg-info/requires.txt +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/src/rdc_cli.egg-info/top_level.txt +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/conftest.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/__init__.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/blackbox_test_catalog.md +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_advanced.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_assert.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_capture.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_capturefile.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_debug.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_export.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_formats.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_presession.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_query.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_session.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_shader_edit.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/e2e/test_vfs.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/gles-multipass-debug.apk +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/gles-triangle-debug.apk +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/gles_android_mali.rdc +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/gles_multipass_mali.rdc +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/hello_triangle.rdc +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/vkcube.rdc +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/fixtures/vkcube_validation.rdc +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/integration/test_build_renderdoc_integration.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/integration/test_daemon_handlers_real.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/integration/test_real_replay.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/integration/test_vulkan_samples.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_adapter.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_assert_ci_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_assert_image_command.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_buffer_decode.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capture.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capture_handlers.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capturefile_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_capturefile_handlers.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_cbuffer_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_ci_files.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_cli.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_count_shadermap.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_counters_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_counters_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_crash_regression.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_output_quality.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_pipeline_extended.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_shader_api_fix.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_shader_extended.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_daemon_transport.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_debug_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_debug_handlers.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_dev_install.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_alignment.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_draws.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_framebuffer.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_pipeline.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_resources.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_diff_stats.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_doctor_hints.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_draws_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_draws_events_cli.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_draws_events_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_eid_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_events_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_export_overlay.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_fix1_draws_pass_name.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_fix2_vfs_intermediate_dirs.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_fix3_friendly_pass_name.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_formatters_kv.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_gen_skill_ref.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_image_compare.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_info_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_install_skill.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_json_errors.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_mesh_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_mesh_handler.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_mock_capture_types.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_mock_renderdoc.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_open_remote.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_overlay_handler.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pass_deps.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pick_pixel_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pick_pixel_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_cli_phase27.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_section_routing.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_shader.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pipeline_state.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pixel_history_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pixel_history_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_pixi_files.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_progress.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_protocol.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_query_service.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_remote_replay.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_require_pipe.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_resource_semantic_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_script_command.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_script_handler.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_search.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_semantic_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_serve.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_session_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_setup_renderdoc.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_setup_vulkan_samples.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_shader_edit_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_shader_edit_handlers.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_skill_structure.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_tex_stats_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_unix_helpers_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_unused_targets.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_usage_commands.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_usage_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_binary.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_completion.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_daemon.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_formatter.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_router.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_vfs_tree_cache.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/tests/unit/test_windows_compat.py +0 -0
- {rdc_cli-0.5.5 → rdc_cli-0.6.0}/uv.lock +0 -0
|
@@ -22,7 +22,7 @@ jobs:
|
|
|
22
22
|
steps:
|
|
23
23
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
24
24
|
|
|
25
|
-
- uses: KSXGitHub/github-actions-deploy-aur@
|
|
25
|
+
- uses: KSXGitHub/github-actions-deploy-aur@da03e160361ce01bf087e790b6ffd196d7dccff7 # v4.1.3
|
|
26
26
|
with:
|
|
27
27
|
pkgname: rdc-cli-git
|
|
28
28
|
pkgbuild: aur/PKGBUILD
|
|
@@ -69,7 +69,7 @@ jobs:
|
|
|
69
69
|
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" aur/stable/PKGBUILD
|
|
70
70
|
sed -i "s/'PLACEHOLDER'/'${SHA256}'/" aur/stable/PKGBUILD
|
|
71
71
|
|
|
72
|
-
- uses: KSXGitHub/github-actions-deploy-aur@
|
|
72
|
+
- uses: KSXGitHub/github-actions-deploy-aur@da03e160361ce01bf087e790b6ffd196d7dccff7 # v4.1.3
|
|
73
73
|
with:
|
|
74
74
|
pkgname: rdc-cli
|
|
75
75
|
pkgbuild: aur/stable/PKGBUILD
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rdc-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: CLI for RenderDoc .rdc captures
|
|
5
5
|
Author: Jim
|
|
6
6
|
License-Expression: MIT
|
|
@@ -142,7 +142,9 @@ rdc search "shadowMap" # grep across all shaders in the frame
|
|
|
142
142
|
```bash
|
|
143
143
|
rdc texture 5 -o albedo.png # export a texture
|
|
144
144
|
rdc rt 142 -o render.png # export render target
|
|
145
|
+
rdc rt 142 --depth -o depth.png # export raw depth attachment
|
|
145
146
|
rdc buffer 88 -o verts.bin # export raw buffer
|
|
147
|
+
rdc cbuffer 142 --stage ps --binding 0 # decode a constant buffer to JSON
|
|
146
148
|
rdc snapshot 142 -o ./snap/ # pipeline + shaders + render targets
|
|
147
149
|
rdc draws --json | jq '.[] | select(.triangles > 10000)' # filter with jq
|
|
148
150
|
```
|
|
@@ -177,6 +179,9 @@ rdc-cli supports three deployment modes:
|
|
|
177
179
|
| **Split** (`--listen`/`--connect`) | server | server-local GPU | **no** |
|
|
178
180
|
|
|
179
181
|
```bash
|
|
182
|
+
# Multi-GPU host: force the replay GPU (0-based index, name, or device ID)
|
|
183
|
+
rdc open frame.rdc --gpu 1
|
|
184
|
+
|
|
180
185
|
# Proxy: local daemon, remote GPU (needs renderdoccmd on remote)
|
|
181
186
|
rdc open frame.rdc --proxy gpu-server:39920
|
|
182
187
|
|
|
@@ -238,12 +243,12 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
|
|
|
238
243
|
| Debug | `debug pixel`, `debug vertex`, `debug thread`, `pixel`, `pick-pixel`, `tex-stats` |
|
|
239
244
|
| Shader edit | `shader-build`, `shader-replace`, `shader-restore`, `shader-restore-all`, `shader-encodings` |
|
|
240
245
|
| Resources | `resources`, `resource`, `passes`, `pass`, `usage`, `unused-targets` |
|
|
241
|
-
| Export | `texture`, `rt`, `buffer`, `mesh`, `snapshot` |
|
|
246
|
+
| Export | `texture`, `rt`, `buffer`, `cbuffer`, `mesh`, `snapshot` |
|
|
242
247
|
| Search | `search`, `counters` |
|
|
243
248
|
| Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
|
|
244
249
|
| Diff | `diff` (with `--draws`, `--stats`, `--framebuffer`, `--pipeline`, etc.) |
|
|
245
250
|
| VFS | `ls`, `cat`, `tree` |
|
|
246
|
-
| Remote | `remote connect`, `remote list`, `remote capture` |
|
|
251
|
+
| Remote | `remote connect`, `remote list`, `remote capture`, `remote setup`, `remote status`, `remote disconnect` |
|
|
247
252
|
| Android | `android setup`, `android stop`, `android capture` |
|
|
248
253
|
| Target control | `attach`, `capture-trigger`, `capture-list`, `capture-copy` |
|
|
249
254
|
| Capture file | `sections`, `section`, `callstacks`, `gpus`, `thumbnail` |
|
|
@@ -115,7 +115,9 @@ rdc search "shadowMap" # grep across all shaders in the frame
|
|
|
115
115
|
```bash
|
|
116
116
|
rdc texture 5 -o albedo.png # export a texture
|
|
117
117
|
rdc rt 142 -o render.png # export render target
|
|
118
|
+
rdc rt 142 --depth -o depth.png # export raw depth attachment
|
|
118
119
|
rdc buffer 88 -o verts.bin # export raw buffer
|
|
120
|
+
rdc cbuffer 142 --stage ps --binding 0 # decode a constant buffer to JSON
|
|
119
121
|
rdc snapshot 142 -o ./snap/ # pipeline + shaders + render targets
|
|
120
122
|
rdc draws --json | jq '.[] | select(.triangles > 10000)' # filter with jq
|
|
121
123
|
```
|
|
@@ -150,6 +152,9 @@ rdc-cli supports three deployment modes:
|
|
|
150
152
|
| **Split** (`--listen`/`--connect`) | server | server-local GPU | **no** |
|
|
151
153
|
|
|
152
154
|
```bash
|
|
155
|
+
# Multi-GPU host: force the replay GPU (0-based index, name, or device ID)
|
|
156
|
+
rdc open frame.rdc --gpu 1
|
|
157
|
+
|
|
153
158
|
# Proxy: local daemon, remote GPU (needs renderdoccmd on remote)
|
|
154
159
|
rdc open frame.rdc --proxy gpu-server:39920
|
|
155
160
|
|
|
@@ -211,12 +216,12 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
|
|
|
211
216
|
| Debug | `debug pixel`, `debug vertex`, `debug thread`, `pixel`, `pick-pixel`, `tex-stats` |
|
|
212
217
|
| Shader edit | `shader-build`, `shader-replace`, `shader-restore`, `shader-restore-all`, `shader-encodings` |
|
|
213
218
|
| Resources | `resources`, `resource`, `passes`, `pass`, `usage`, `unused-targets` |
|
|
214
|
-
| Export | `texture`, `rt`, `buffer`, `mesh`, `snapshot` |
|
|
219
|
+
| Export | `texture`, `rt`, `buffer`, `cbuffer`, `mesh`, `snapshot` |
|
|
215
220
|
| Search | `search`, `counters` |
|
|
216
221
|
| Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
|
|
217
222
|
| Diff | `diff` (with `--draws`, `--stats`, `--framebuffer`, `--pipeline`, etc.) |
|
|
218
223
|
| VFS | `ls`, `cat`, `tree` |
|
|
219
|
-
| Remote | `remote connect`, `remote list`, `remote capture` |
|
|
224
|
+
| Remote | `remote connect`, `remote list`, `remote capture`, `remote setup`, `remote status`, `remote disconnect` |
|
|
220
225
|
| Android | `android setup`, `android stop`, `android capture` |
|
|
221
226
|
| Target control | `attach`, `capture-trigger`, `capture-list`, `capture-copy` |
|
|
222
227
|
| Capture file | `sections`, `section`, `callstacks`, `gpus`, `thumbnail` |
|
|
@@ -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] [--timeout FLOAT]"
|
|
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] [--gpu INDEX|NAME|DEVICEID]"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "close",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"name": "stats",
|
|
59
59
|
"id": "stats",
|
|
60
60
|
"help": "Show per-pass breakdown, top draws, largest resources.",
|
|
61
|
-
"usage": "rdc stats [--
|
|
61
|
+
"usage": "rdc stats [--no-header] [--json] [--jsonl] [-q]"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"name": "events",
|
|
@@ -88,13 +88,13 @@
|
|
|
88
88
|
"name": "log",
|
|
89
89
|
"id": "log",
|
|
90
90
|
"help": "Show debug/validation messages from the capture.",
|
|
91
|
-
"usage": "rdc log [--level CHOICE] [--eid INTEGER] [--
|
|
91
|
+
"usage": "rdc log [--level CHOICE] [--eid INTEGER] [--no-header] [--json] [--jsonl] [-q]"
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"name": "counters",
|
|
95
95
|
"id": "counters",
|
|
96
96
|
"help": "Query GPU performance counters.",
|
|
97
|
-
"usage": "rdc counters [--list] [--eid INTEGER] [--name TEXT] [--
|
|
97
|
+
"usage": "rdc counters [--list] [--eid INTEGER] [--name TEXT] [--no-header] [--json] [--jsonl] [-q]"
|
|
98
98
|
}
|
|
99
99
|
]
|
|
100
100
|
},
|
|
@@ -113,7 +113,13 @@
|
|
|
113
113
|
"name": "bindings",
|
|
114
114
|
"id": "bindings",
|
|
115
115
|
"help": "Show bound resources per shader stage.",
|
|
116
|
-
"usage": "rdc bindings [EID] [--binding INTEGER] [--set INTEGER] [--
|
|
116
|
+
"usage": "rdc bindings [EID] [--binding INTEGER] [--set INTEGER] [--no-header] [--json] [--jsonl] [-q]"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "descriptors",
|
|
120
|
+
"id": "descriptors",
|
|
121
|
+
"help": "Show the descriptors a draw actually used, resolved to resources.",
|
|
122
|
+
"usage": "rdc descriptors [EID] [--stage CHOICE] [--type TEXT] [--binding TEXT] [--no-header] [--json] [--jsonl] [-q]"
|
|
117
123
|
}
|
|
118
124
|
]
|
|
119
125
|
},
|
|
@@ -126,7 +132,7 @@
|
|
|
126
132
|
"name": "resources",
|
|
127
133
|
"id": "resources",
|
|
128
134
|
"help": "List all resources.",
|
|
129
|
-
"usage": "rdc resources [--
|
|
135
|
+
"usage": "rdc resources [--type TEXT] [--name TEXT] [--sort CHOICE] [--no-header] [--json] [--jsonl] [-q]"
|
|
130
136
|
},
|
|
131
137
|
{
|
|
132
138
|
"name": "resource",
|
|
@@ -138,7 +144,7 @@
|
|
|
138
144
|
"name": "usage",
|
|
139
145
|
"id": "usage",
|
|
140
146
|
"help": "Show resource usage (which events read/write a resource).",
|
|
141
|
-
"usage": "rdc usage [RESOURCE-ID] [--all] [--type TEXT] [--usage TEXT] [--
|
|
147
|
+
"usage": "rdc usage [RESOURCE-ID] [--all] [--type TEXT] [--usage TEXT] [--no-header] [--json] [--jsonl] [-q]"
|
|
142
148
|
},
|
|
143
149
|
{
|
|
144
150
|
"name": "shader",
|
|
@@ -150,7 +156,7 @@
|
|
|
150
156
|
"name": "shaders",
|
|
151
157
|
"id": "shaders",
|
|
152
158
|
"help": "List unique shaders in capture.",
|
|
153
|
-
"usage": "rdc shaders [--stage CHOICE] [--sort CHOICE] [--
|
|
159
|
+
"usage": "rdc shaders [--stage CHOICE] [--sort CHOICE] [--no-header] [--json] [--jsonl] [-q]"
|
|
154
160
|
},
|
|
155
161
|
{
|
|
156
162
|
"name": "shader-map",
|
|
@@ -168,7 +174,7 @@
|
|
|
168
174
|
"name": "passes",
|
|
169
175
|
"id": "passes",
|
|
170
176
|
"help": "List render passes.",
|
|
171
|
-
"usage": "rdc passes [--
|
|
177
|
+
"usage": "rdc passes [--deps] [--dot] [--graph] [--table] [--no-header] [--json] [--jsonl] [-q]"
|
|
172
178
|
},
|
|
173
179
|
{
|
|
174
180
|
"name": "pass",
|
|
@@ -211,7 +217,7 @@
|
|
|
211
217
|
"name": "rt",
|
|
212
218
|
"id": "rt",
|
|
213
219
|
"help": "Export render target as PNG.",
|
|
214
|
-
"usage": "rdc rt [EID] [-o PATH] [--target INTEGER] [--raw] [--overlay CHOICE] [--width INTEGER] [--height INTEGER]"
|
|
220
|
+
"usage": "rdc rt [EID] [-o PATH] [--target INTEGER] [--depth] [--raw] [--overlay CHOICE] [--width INTEGER] [--height INTEGER]"
|
|
215
221
|
},
|
|
216
222
|
{
|
|
217
223
|
"name": "mesh",
|
|
@@ -236,7 +242,7 @@
|
|
|
236
242
|
"name": "pixel",
|
|
237
243
|
"id": "pixel",
|
|
238
244
|
"help": "Query pixel history at (X, Y) for the current or specified event.",
|
|
239
|
-
"usage": "rdc pixel <X> <Y> [EID] [--target INTEGER] [--sample INTEGER] [--
|
|
245
|
+
"usage": "rdc pixel <X> <Y> [EID] [--target INTEGER] [--sample INTEGER] [--no-header] [--json] [--jsonl] [-q]"
|
|
240
246
|
},
|
|
241
247
|
{
|
|
242
248
|
"name": "pick-pixel",
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
[
|
|
2
|
+
[
|
|
3
|
+
{
|
|
4
|
+
"cmd": "rdc open hello_triangle.rdc",
|
|
5
|
+
"output": "opened: hello_triangle.rdc"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"cmd": "rdc info",
|
|
9
|
+
"output": "Capture: hello_triangle.rdc\nAPI: Vulkan\nEvents: 6\nDraw Calls: 1 (0 indexed, 1 non-indexed, 0 dispatches)\nClears: 0\nCopies: 0"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"cmd": "rdc draws",
|
|
13
|
+
"output": "EID\tTYPE\tTRIANGLES\tINSTANCES\tPASS\tMARKER\n11\tDraw\t12\t1\tColour Pass #1 (1 Target + Depth)\t-"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"cmd": "rdc pipeline 11",
|
|
17
|
+
"output": "EID\tAPI\tTOPOLOGY\tGFX_PIPE\tCOMP_PIPE\n11\tVulkan\tTriangleList\t114\t0"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"cmd": "rdc search \"main\"",
|
|
21
|
+
"output": "shader:111[vs]:12:EntryPoint(Vertex, main, \"main\", {\nshader:111[vs]:43:void main() {\nshader:112[ps]:12:EntryPoint(Fragment, main, \"main\", {\nshader:112[ps]:18:ExecutionMode(main, OriginUpperLeft);\nshader:112[ps]:32:void main() {"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"cmd": "rdc close",
|
|
25
|
+
"output": "session closed"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
{
|
|
30
|
+
"cmd": "rdc open hello_triangle.rdc",
|
|
31
|
+
"output": "opened: hello_triangle.rdc"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"cmd": "rdc tree / --depth 1",
|
|
35
|
+
"output": "//\n|-- capabilities\n|-- info\n|-- stats\n|-- log\n|-- events/\n|-- draws/\n|-- passes/\n|-- resources/\n|-- textures/\n|-- buffers/\n|-- shaders/\n|-- counters/\n\\-- current@"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"cmd": "rdc ls /draws/11",
|
|
39
|
+
"output": "pipeline\nshader\nbindings\ntargets\npostvs\ncbuffer\nvbuffer\nibuffer\ndescriptors\npixel"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"cmd": "rdc cat /draws/11/pipeline/topology",
|
|
43
|
+
"output": "eid: 11\ntopology: TriangleList"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"cmd": "rdc resources -q | wc -l",
|
|
47
|
+
"output": "46"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"cmd": "rdc draws --json | jq \".[0].triangles\"",
|
|
51
|
+
"output": "12"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"cmd": "rdc close",
|
|
55
|
+
"output": "session closed"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
{
|
|
60
|
+
"cmd": "rdc open hello_triangle.rdc",
|
|
61
|
+
"output": "opened: hello_triangle.rdc"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"cmd": "rdc pick-pixel 300 300 11",
|
|
65
|
+
"output": "r=0.3373 g=0.3373 b=0.3373 a=0.5216"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"cmd": "rdc pixel 300 300 11",
|
|
69
|
+
"output": "EID\tFRAG\tDEPTH\tPASSED\tFLAGS\n6\t0\t-\tyes\t-\n11\t0\t0.9581\tyes\t-"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"cmd": "rdc debug pixel 11 300 300",
|
|
73
|
+
"output": "stage: ps\neid: 11\nsteps: 80\ninputs: _99 = [-107374176.0 -107374176.0 -107374176.0 -107374176.0]\noutputs: = [0.0]"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"cmd": "rdc debug pixel 11 300 300 --trace",
|
|
77
|
+
"output": "STEP\tINSTR\tFILE\tLINE\tVAR\tTYPE\tVALUE\n0\t78\t-\t0\t_99\tfloat\t-107374176.0 -107374176.0 -107374176.0 -107374176.0\n1\t79\t-\t0\t_79\tfloat\t-0.015102430246770382 -0.3927634656429291 4.36358118057251\n2\t80\t-\t0\t_80\tfloat\t0.01510667521506548 -8.669495582580566e-05 0.0010061264038085938\n3\t81\t-\t0\t\tfloat\t0.0\n3\t81\t-\t0\t_76\tfloat\t0.01510667521506548 -8.669495582580566e-05 0.0010061264038085938\n4\t82\t-\t0\t\tfloat\t0.0\n4\t82\t-\t0\t_82\tfloat\t-0.015102430246770382 -0.3927634656429291 4.36358118057251\n... (138 more)"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"cmd": "rdc close",
|
|
81
|
+
"output": "session closed"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
[
|
|
85
|
+
{
|
|
86
|
+
"cmd": "rdc open hello_triangle.rdc",
|
|
87
|
+
"output": "opened: hello_triangle.rdc"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"cmd": "rdc draws --json",
|
|
91
|
+
"output": "[\n {\n \"eid\": 11,\n \"type\": \"Draw\",\n \"triangles\": 12,\n \"instances\": 1,\n \"pass\": \"Colour Pass #1 (1 Target + Depth)\",\n \"marker\": \"-\"\n }\n]"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"cmd": "rdc assert-count draws --expect 1 --op eq",
|
|
95
|
+
"output": "pass: draws = 1 (expected eq 1)"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"cmd": "rdc assert-count events --expect 5 --op ge",
|
|
99
|
+
"output": "pass: events = 6 (expected ge 5)"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"cmd": "rdc close",
|
|
103
|
+
"output": "session closed"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
[
|
|
107
|
+
{
|
|
108
|
+
"cmd": "rdc diff before.rdc after.rdc --draws",
|
|
109
|
+
"output": "STATUS\tEID_A\tEID_B\tMARKER\tTYPE\tTRI_A\tTRI_B\tINST_A\tINST_B\tCONFIDENCE\n=\t11\t11\t-\tDraw\t12\t12\t1\t1\tmedium"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"cmd": "rdc diff before.rdc after.rdc --stats",
|
|
113
|
+
"output": "STATUS\tPASS\tDRAWS_A\tDRAWS_B\tDRAWS_DELTA\tTRI_A\tTRI_B\tTRI_DELTA\tDISP_A\tDISP_B\tDISP_DELTA\n=\tvkCmdBeginRenderPass(C=Clear, D=Clear)\t1\t1\t0\t12\t12\t0\t0\t0\t0"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
]
|
|
@@ -52,7 +52,9 @@ rdc draws --no-header
|
|
|
52
52
|
|
|
53
53
|
{"# Quiet — IDs only, great for xargs loops"}
|
|
54
54
|
rdc draws -q
|
|
55
|
-
{"# → 11
|
|
55
|
+
{"# → 11"}
|
|
56
|
+
{"# 14"}
|
|
57
|
+
{"# 19"}
|
|
56
58
|
|
|
57
59
|
{"# Combine: export all draw render targets"}
|
|
58
60
|
for eid in $(rdc draws -q); do
|
|
@@ -171,7 +173,9 @@ rdc snapshot 142 -o ./snapshot/
|
|
|
171
173
|
{"# Individual exports"}
|
|
172
174
|
rdc texture 5 -o albedo.png {"# specific texture"}
|
|
173
175
|
rdc buffer 3 -o vertex_data.bin {"# raw buffer data"}
|
|
174
|
-
rdc mesh 142 -o geometry.obj {"# post-transform mesh"}
|
|
176
|
+
rdc mesh 142 -o geometry.obj {"# post-transform mesh"}
|
|
177
|
+
rdc rt 142 --depth -o depth.png {"# raw depth attachment"}
|
|
178
|
+
rdc cbuffer 142 --stage ps --binding 0 {"# decode constant buffer to JSON"}</code></pre>
|
|
175
179
|
|
|
176
180
|
<h2 id="shell-pipelines">Shell Pipeline Power</h2>
|
|
177
181
|
|
|
@@ -283,12 +287,6 @@ rdc passes --json | jq '.[] | select(.load_ops[]? == "Clear" and .store_ops[]? =
|
|
|
283
287
|
<pre><code>{"# Per-pass reads/writes/load/store table"}
|
|
284
288
|
rdc passes --deps --table
|
|
285
289
|
|
|
286
|
-
{"# TBR/mobile: identify passes that switch render targets frequently"}
|
|
287
|
-
rdc passes --switches
|
|
288
|
-
|
|
289
|
-
{"# Passes with RT_SWITCHES > 2 (high bandwidth pressure on tile-based GPUs)"}
|
|
290
|
-
rdc passes --switches --json | jq '.[] | select(.rt_switches > 2) | {"{ name, rt_switches }"}'
|
|
291
|
-
|
|
292
290
|
{"# Full dependency graph as DOT (render with Graphviz)"}
|
|
293
291
|
rdc passes --deps --dot | dot -Tsvg -o passes.svg</code></pre>
|
|
294
292
|
|
|
@@ -108,7 +108,11 @@ export RENDERDOC_PYTHON_PATH=$PWD/build/lib</code></pre>
|
|
|
108
108
|
<pre><code>rdc doctor</code></pre>
|
|
109
109
|
<p>
|
|
110
110
|
This checks renderdoc module availability, Python version compatibility,
|
|
111
|
-
and system configuration.
|
|
111
|
+
and system configuration. It also warns when more than one
|
|
112
|
+
<code>VK_LAYER_RENDERDOC_Capture</code> Vulkan layer is registered (a
|
|
113
|
+
system-installed RenderDoc plus the rdc-managed one create a split-brain
|
|
114
|
+
where the loader picks one non-deterministically and capture can silently
|
|
115
|
+
time out).
|
|
112
116
|
</p>
|
|
113
117
|
|
|
114
118
|
<h2>Shell Completions</h2>
|
|
@@ -451,6 +451,9 @@ rdc pipeline</code></pre>
|
|
|
451
451
|
<pre><code># Local mode (default)
|
|
452
452
|
rdc open capture.rdc
|
|
453
453
|
|
|
454
|
+
# Force a specific replay GPU on a multi-GPU host
|
|
455
|
+
rdc open capture.rdc --gpu INDEX|NAME|DEVICEID
|
|
456
|
+
|
|
454
457
|
# Proxy mode
|
|
455
458
|
rdc open capture.rdc --proxy HOST[:PORT]|adb://SERIAL
|
|
456
459
|
|
|
@@ -475,6 +478,8 @@ rdc remote capture APP [-o OUTPUT]</code></pre>
|
|
|
475
478
|
<li><code>--android</code> is mutually exclusive with <code>--proxy</code>, <code>--connect</code>, and <code>--listen</code>.</li>
|
|
476
479
|
<li><code>--listen</code> can be combined with <code>--proxy</code> for Split+Proxy setups.</li>
|
|
477
480
|
<li>For <code>rdc open</code>, <code>--remote</code> is a deprecated alias for <code>--proxy</code> (hidden, shows deprecation warning).</li>
|
|
481
|
+
<li><code>--gpu INDEX|NAME|DEVICEID</code> forces the replay GPU on a multi-GPU host, by 0-based index, name substring, or device ID (overrides auto-selection).</li>
|
|
482
|
+
<li>Remote and <code>--proxy</code> hosts given as <code>localhost</code> are auto-normalized to <code>127.0.0.1</code>, because <code>renderdoccmd</code> remoteserver is IPv4-only.</li>
|
|
478
483
|
<li>The daemon has a 30-minute idle timeout by default. Any command resets the timer.</li>
|
|
479
484
|
<li>IPv6 is not currently supported (<code>HOST:PORT</code> parsing uses <code>rsplit(":", 1)</code>).</li>
|
|
480
485
|
</ul>
|
|
@@ -107,9 +107,6 @@ rdc passes
|
|
|
107
107
|
# Per-pass dependency graph (reads/writes/load/store)
|
|
108
108
|
rdc passes --deps --table
|
|
109
109
|
|
|
110
|
-
# Add RT_SWITCHES column for TBR/mobile bandwidth analysis
|
|
111
|
-
rdc passes --switches
|
|
112
|
-
|
|
113
110
|
# Inspect attachments, load/store ops, and dimensions for a pass
|
|
114
111
|
rdc pass GBuffer
|
|
115
112
|
|
|
@@ -7,3 +7,5 @@ select = ["E", "W", "F", "I", "N", "UP", "B"]
|
|
|
7
7
|
[lint.per-file-ignores]
|
|
8
8
|
# Mock renderdoc module mirrors RenderDoc's CamelCase API names
|
|
9
9
|
"tests/mocks/mock_renderdoc.py" = ["N802", "N803", "N815"]
|
|
10
|
+
# Method-surface stubs mirror RenderDoc's CamelCase API names
|
|
11
|
+
"tests/integration/test_mock_api_sync.py" = ["N802"]
|
|
@@ -28,7 +28,7 @@ CATEGORIES: list[tuple[str, str, str | None, list[str]]] = [
|
|
|
28
28
|
"info", "stats", "events", "draws", "event", "draw", "log", "counters",
|
|
29
29
|
]),
|
|
30
30
|
("Draw Analysis", "draw-analysis", None, [
|
|
31
|
-
"pipeline", "bindings",
|
|
31
|
+
"pipeline", "bindings", "descriptors",
|
|
32
32
|
]),
|
|
33
33
|
("Resources", "resources-section", None, [
|
|
34
34
|
"resources", "resource", "usage", "shader", "shaders", "shader-map",
|
|
@@ -440,8 +440,19 @@ def copy_artifacts(build_dir: Path, install_dir: Path, plat: str) -> None:
|
|
|
440
440
|
_log(f"artifacts copied to {install_dir}")
|
|
441
441
|
|
|
442
442
|
|
|
443
|
-
def
|
|
444
|
-
"""
|
|
443
|
+
def _parse_version(version: str) -> tuple[int, int]:
|
|
444
|
+
"""Parse a RenderDoc tag like ``v1.41`` into ``(major, minor)``."""
|
|
445
|
+
parts = version.lstrip("v").split(".")
|
|
446
|
+
return int(parts[0]), int(parts[1])
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
def _install_vulkan_layer(install_dir: Path, build_dir: Path, version: str = RDOC_TAG) -> None:
|
|
450
|
+
"""Copy Vulkan layer JSON and register as implicit layer on Windows.
|
|
451
|
+
|
|
452
|
+
Upstream substitutes ``renderdoc.json`` via CMake ``configure_file``, but that block is
|
|
453
|
+
UNIX-only, so on Windows the template ships with unsubstituted ``@...@`` placeholders.
|
|
454
|
+
Resolve every templated field here so the layer can self-enable.
|
|
455
|
+
"""
|
|
445
456
|
src_dir = build_dir / "renderdoc"
|
|
446
457
|
|
|
447
458
|
# Find layer JSON from build output
|
|
@@ -459,10 +470,23 @@ def _install_vulkan_layer(install_dir: Path, build_dir: Path) -> None:
|
|
|
459
470
|
|
|
460
471
|
import json
|
|
461
472
|
|
|
473
|
+
major, minor = _parse_version(version)
|
|
462
474
|
data = json.loads(layer_src.read_text(encoding="utf-8"))
|
|
463
|
-
data["layer"]
|
|
475
|
+
layer = data["layer"]
|
|
476
|
+
layer["name"] = "VK_LAYER_RENDERDOC_Capture"
|
|
477
|
+
layer["library_path"] = ".\\renderdoc.dll"
|
|
478
|
+
layer["implementation_version"] = str(minor)
|
|
479
|
+
layer["enable_environment"] = {"ENABLE_VULKAN_RENDERDOC_CAPTURE": "1"}
|
|
480
|
+
layer["disable_environment"] = {f"DISABLE_VULKAN_RENDERDOC_CAPTURE_{major}_{minor}": "1"}
|
|
481
|
+
|
|
482
|
+
serialized = json.dumps(data, indent=2)
|
|
483
|
+
if "@" in serialized:
|
|
484
|
+
raise RuntimeError(
|
|
485
|
+
f"Vulkan layer manifest still contains unsubstituted template vars: {serialized}"
|
|
486
|
+
)
|
|
487
|
+
|
|
464
488
|
layer_dst = install_dir / "renderdoc.json"
|
|
465
|
-
layer_dst.write_text(
|
|
489
|
+
layer_dst.write_text(serialized, encoding="utf-8")
|
|
466
490
|
_log(f"Vulkan layer JSON installed to {layer_dst}")
|
|
467
491
|
|
|
468
492
|
# Register in Windows registry
|
|
@@ -789,7 +813,7 @@ def main(argv: list[str] | None = None) -> None:
|
|
|
789
813
|
copy_artifacts(build_dir, install_dir, plat)
|
|
790
814
|
|
|
791
815
|
if plat == "windows":
|
|
792
|
-
_install_vulkan_layer(install_dir, build_dir)
|
|
816
|
+
_install_vulkan_layer(install_dir, build_dir, args.version)
|
|
793
817
|
|
|
794
818
|
_log("=== Done ===")
|
|
795
819
|
_log(f' export RENDERDOC_PYTHON_PATH="{install_dir}"')
|
|
@@ -7,6 +7,7 @@ callers never need ``sys.platform`` checks themselves.
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
9
|
import os
|
|
10
|
+
import shlex
|
|
10
11
|
import signal
|
|
11
12
|
import subprocess
|
|
12
13
|
import sys
|
|
@@ -18,8 +19,25 @@ _WIN: bool = sys.platform == "win32"
|
|
|
18
19
|
_MAC: bool = sys.platform == "darwin"
|
|
19
20
|
|
|
20
21
|
|
|
22
|
+
def join_cmdline(args: list[str]) -> str:
|
|
23
|
+
"""Join *args* into a single command-line string, platform-appropriately.
|
|
24
|
+
|
|
25
|
+
On Windows, uses subprocess.list2cmdline so that CommandLineToArgvW
|
|
26
|
+
parses it correctly (double-quote wrapping, backslash escaping).
|
|
27
|
+
On POSIX, uses shlex.join (single-quote wrapping).
|
|
28
|
+
"""
|
|
29
|
+
return subprocess.list2cmdline(args) if _WIN else shlex.join(args)
|
|
30
|
+
|
|
31
|
+
|
|
21
32
|
def data_dir() -> Path:
|
|
22
|
-
"""Return the per-user data directory for rdc.
|
|
33
|
+
"""Return the per-user data directory for rdc.
|
|
34
|
+
|
|
35
|
+
Honours the ``RDC_DATA_DIR`` environment override (mirrors ``RDC_SESSION``);
|
|
36
|
+
when unset, falls back to the per-user home-based default.
|
|
37
|
+
"""
|
|
38
|
+
override = os.environ.get("RDC_DATA_DIR")
|
|
39
|
+
if override:
|
|
40
|
+
return Path(override)
|
|
23
41
|
if _WIN:
|
|
24
42
|
base = os.environ.get("LOCALAPPDATA", str(Path.home()))
|
|
25
43
|
return Path(base) / "rdc"
|
|
@@ -26,10 +26,10 @@ Follow this session lifecycle for any capture analysis task:
|
|
|
26
26
|
- Split thin-client: `rdc open --connect host:port --token TOKEN`
|
|
27
27
|
- Android device: `rdc open capture.rdc --android [--serial SERIAL]`
|
|
28
28
|
2. **Inspect** metadata: `rdc info`, `rdc stats`, `rdc events`
|
|
29
|
-
3. **Navigate** the VFS: `rdc ls /`, `rdc ls /textures`, `rdc cat /
|
|
29
|
+
3. **Navigate** the VFS: `rdc ls /`, `rdc ls /textures`, `rdc cat /draws/0/pipeline/summary`
|
|
30
30
|
4. **Analyze** specifics: `rdc shaders`, `rdc pipeline`, `rdc resources`, `rdc bindings`
|
|
31
|
-
5. **Debug** shaders: `rdc debug pixel X Y`, `rdc debug vertex EID VTXID`, `rdc debug thread EID GX GY GZ`
|
|
32
|
-
6. **Export** data: `rdc texture
|
|
31
|
+
5. **Debug** shaders: `rdc debug pixel EID X Y`, `rdc debug vertex EID VTXID`, `rdc debug thread EID GX GY GZ`
|
|
32
|
+
6. **Export** data: `rdc texture ID -o out.png`, `rdc rt EID`, `rdc buffer ID -o buf.bin`, `rdc cbuffer EID --stage ps --binding 0`, `rdc log`
|
|
33
33
|
7. **Close** the session: `rdc close`
|
|
34
34
|
|
|
35
35
|
### Session Management
|
|
@@ -118,15 +118,16 @@ rdc draws --pass "GBuffer" --json
|
|
|
118
118
|
### Trace a pixel
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
rdc debug pixel 512 384
|
|
122
|
-
rdc debug pixel 512 384 --json
|
|
123
|
-
rdc debug pixel 512 384 --trace
|
|
121
|
+
rdc debug pixel 1024 512 384 # EID first, then X Y
|
|
122
|
+
rdc debug pixel 1024 512 384 --json # structured output
|
|
123
|
+
rdc debug pixel 1024 512 384 --trace # full step-by-step trace
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### Search shaders by name or source
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
rdc search "main"
|
|
129
|
+
rdc search "main" # regex search over shader disassembly
|
|
130
|
+
rdc search "Sample" --stage ps -C 2
|
|
130
131
|
rdc shaders --name "GBuffer*"
|
|
131
132
|
```
|
|
132
133
|
|
|
@@ -134,7 +135,15 @@ rdc shaders --name "GBuffer*"
|
|
|
134
135
|
|
|
135
136
|
```bash
|
|
136
137
|
rdc rt EID -o output.png
|
|
137
|
-
rdc
|
|
138
|
+
rdc rt EID --depth -o depth.png # export the raw depth attachment
|
|
139
|
+
rdc texture ID -o tex.png # export a texture by resource ID (PNG)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Decode a constant buffer
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
rdc cbuffer EID --stage ps --binding 0 # decode to JSON
|
|
146
|
+
rdc cbuffer EID --stage vs --binding 0 --raw -o cbuffer.bin
|
|
138
147
|
```
|
|
139
148
|
|
|
140
149
|
### Browse VFS paths
|
|
@@ -142,7 +151,8 @@ rdc texture EID --format png -o tex.png
|
|
|
142
151
|
```bash
|
|
143
152
|
rdc ls /
|
|
144
153
|
rdc ls /textures -l
|
|
145
|
-
rdc tree /
|
|
154
|
+
rdc tree /draws/42/pipeline --depth 2 # pipeline state lives under /draws/<eid>/pipeline/
|
|
155
|
+
rdc cat /draws/42/pipeline/summary
|
|
146
156
|
rdc cat /events/42
|
|
147
157
|
```
|
|
148
158
|
|
|
@@ -168,11 +178,11 @@ rdc-cli provides assertion commands that exit non-zero on failure, designed for
|
|
|
168
178
|
|
|
169
179
|
| Command | Purpose |
|
|
170
180
|
|---------|---------|
|
|
171
|
-
| `rdc assert-pixel X Y --expect R
|
|
181
|
+
| `rdc assert-pixel EID X Y --expect "R G B A"` | Assert pixel RGBA (4 space-separated floats) at EID/coordinates |
|
|
172
182
|
| `rdc assert-clean` | Assert no validation errors in capture |
|
|
173
|
-
| `rdc assert-count --
|
|
174
|
-
| `rdc assert-state
|
|
175
|
-
| `rdc assert-image
|
|
183
|
+
| `rdc assert-count <what> --expect N [--op CHOICE]` | Assert a capture metric (e.g. `draws`) satisfies a comparison |
|
|
184
|
+
| `rdc assert-state EID KEY-PATH --expect VALUE` | Assert pipeline state value at EID matches expected |
|
|
185
|
+
| `rdc assert-image EXPECTED ACTUAL [--threshold FLOAT]` | Compare two image files pixel-by-pixel |
|
|
176
186
|
|
|
177
187
|
Example CI script:
|
|
178
188
|
|
|
@@ -181,8 +191,8 @@ Example CI script:
|
|
|
181
191
|
set -e
|
|
182
192
|
rdc open test_capture.rdc
|
|
183
193
|
rdc assert-clean
|
|
184
|
-
rdc assert-count --
|
|
185
|
-
rdc assert-pixel 256 256 --expect 1.0
|
|
194
|
+
rdc assert-count draws --expect 10 --op ge
|
|
195
|
+
rdc assert-pixel 1024 256 256 --expect "1.0 0.0 0.0 1.0"
|
|
186
196
|
rdc close
|
|
187
197
|
```
|
|
188
198
|
|
|
@@ -191,13 +201,13 @@ rdc close
|
|
|
191
201
|
Modify and replay shaders without recompiling the application:
|
|
192
202
|
|
|
193
203
|
```bash
|
|
194
|
-
rdc shader-encodings
|
|
195
|
-
rdc shader EID --source > s.frag
|
|
204
|
+
rdc shader-encodings # list available encodings
|
|
205
|
+
rdc shader EID ps --source > s.frag # extract shader source
|
|
196
206
|
# ... edit s.frag ...
|
|
197
|
-
rdc shader-build s.frag --
|
|
198
|
-
rdc shader-replace EID
|
|
199
|
-
rdc shader-restore EID
|
|
200
|
-
rdc shader-restore-all
|
|
207
|
+
rdc shader-build s.frag --stage ps # compile; prints the built shader ID
|
|
208
|
+
rdc shader-replace EID ps --with <ID> # hot-swap built shader ID into capture
|
|
209
|
+
rdc shader-restore EID ps # revert single shader (STAGE required)
|
|
210
|
+
rdc shader-restore-all # revert all modifications
|
|
201
211
|
```
|
|
202
212
|
|
|
203
213
|
## Remote Capture Workflow
|
|
@@ -244,6 +254,7 @@ Common failure categories (conceptual, not literal error strings — map from th
|
|
|
244
254
|
- **version mismatch** — host and target RenderDoc versions differ. Re-run `rdc setup-renderdoc` or `rdc setup-renderdoc --android` to align.
|
|
245
255
|
- **inject failed / ident=0** — injection blocked (Android EMUI, macOS SIP, Windows privilege). Run `rdc doctor` and check the platform-specific detail.
|
|
246
256
|
- **OpenCapture unsupported** — local GPU can't replay the capture's API surface; switch to `--proxy` or `--android` remote replay.
|
|
257
|
+
- **duplicate Vulkan layer** — `rdc doctor` warns when more than one `VK_LAYER_RENDERDOC_Capture` Vulkan layer is registered (a system-installed RenderDoc plus the rdc-managed one create a split-brain). The loader then picks one non-deterministically and capture can silently time out; unregister the extra manifest so only one remains.
|
|
247
258
|
- **not loaded / no session** — forgot `rdc open`; use `rdc status` to inspect.
|
|
248
259
|
|
|
249
260
|
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.
|