rdc-cli 0.3.2__tar.gz → 0.3.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.
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.github/workflows/ci.yml +21 -2
- {rdc_cli-0.3.2/src/rdc_cli.egg-info → rdc_cli-0.3.4}/PKG-INFO +43 -33
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/README.md +41 -31
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/aur/PKGBUILD +1 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/aur/stable/PKGBUILD +1 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/package-lock.json +1 -8
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/package.json +1 -2
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Hero.astro +117 -29
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Install.astro +10 -7
- rdc_cli-0.3.4/docs-astro/src/data/commands.json +492 -0
- rdc_cli-0.3.4/docs-astro/src/data/replay.json +116 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/data/stats.json +1 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/layouts/Docs.astro +1 -0
- rdc_cli-0.3.4/docs-astro/src/pages/docs/commands.astro +26 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/examples.astro +79 -0
- rdc_cli-0.3.4/docs-astro/src/pages/docs/install/windows.astro +105 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/install.astro +16 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/usage.astro +7 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/styles/global.css +8 -0
- rdc_cli-0.3.4/openspec/changes/2026-02-23-phase-w2-build-script/proposal.md +173 -0
- rdc_cli-0.3.4/openspec/changes/2026-02-23-phase-w2-build-script/tasks.md +90 -0
- rdc_cli-0.3.4/openspec/changes/2026-02-23-phase-w2-build-script/test-plan.md +116 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-ai-agent-skill/proposal.md +114 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-ai-agent-skill/tasks.md +168 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-ai-agent-skill/test-plan.md +219 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/proposal.md +281 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/tasks.md +349 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-fix-json-error-and-search-preload/test-plan.md +361 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-renderdoc-build-helper/proposal.md +97 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-renderdoc-build-helper/tasks.md +135 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-22-renderdoc-build-helper/test-plan.md +95 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b17-eid-mutation/proposal.md +214 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b17-eid-mutation/tasks.md +186 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b17-eid-mutation/test-plan.md +104 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/proposal.md +202 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/tasks.md +130 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b18-b19-b24-cli-ux/test-plan.md +139 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/proposal.md +161 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/tasks.md +157 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-b21-b22-b23-b25-daemon-lifecycle/test-plan.md +122 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/proposal.md +155 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/tasks.md +71 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-capture-process-leak-b26-b28/test-plan.md +303 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-docs-polish/proposal.md +79 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-docs-polish/tasks.md +46 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-docs-polish/test-plan.md +57 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-aur-build/proposal.md +21 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-aur-build/tasks.md +6 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-aur-build/test-plan.md +11 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/proposal.md +239 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/tasks.md +131 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-fix-bugs-b10-b15-b16/test-plan.md +327 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-phase5b-capture-unified/proposal.md +208 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-phase5b-capture-unified/tasks.md +405 -0
- rdc_cli-0.3.4/openspec/changes/archive/2026-02-23-phase5b-capture-unified/test-plan.md +288 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/pixi.toml +5 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/pyproject.toml +1 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/build-renderdoc.sh +2 -0
- rdc_cli-0.3.4/scripts/build_renderdoc.py +295 -0
- rdc_cli-0.3.4/scripts/gen-commands.py +210 -0
- rdc_cli-0.3.4/scripts/gen-replay.py +159 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/setup-renderdoc.sh +2 -0
- rdc_cli-0.3.4/src/rdc/_platform.py +152 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/_skills/references/commands-quick-ref.md +55 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/_transport.py +1 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/capture_core.py +19 -12
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/cli.py +2 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/_helpers.py +12 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/capture.py +9 -7
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/capture_control.py +5 -1
- rdc_cli-0.3.4/src/rdc/commands/doctor.py +240 -0
- rdc_cli-0.3.4/src/rdc/commands/remote.py +218 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/search.py +2 -2
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/session.py +2 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/daemon_server.py +7 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/discover.py +6 -6
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/_helpers.py +65 -6
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/buffer.py +2 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/pipe_state.py +37 -7
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/query.py +9 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/shader.py +5 -41
- rdc_cli-0.3.4/src/rdc/remote_core.py +188 -0
- rdc_cli-0.3.4/src/rdc/remote_state.py +79 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/services/diff_service.py +2 -6
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/services/query_service.py +24 -16
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/services/session_service.py +17 -8
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/session_state.py +6 -24
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/target_state.py +6 -9
- {rdc_cli-0.3.2 → rdc_cli-0.3.4/src/rdc_cli.egg-info}/PKG-INFO +43 -33
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc_cli.egg-info/SOURCES.txt +61 -15
- rdc_cli-0.3.4/tests/integration/test_build_renderdoc_integration.py +14 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/mocks/mock_renderdoc.py +7 -3
- rdc_cli-0.3.4/tests/unit/test_build_renderdoc.py +505 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_capture.py +87 -3
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_capture_control.py +43 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_capture_core.py +34 -6
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_cli_session_flag.py +1 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_count_shadermap.py +112 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_pipeline_extended.py +83 -29
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_server_unit.py +39 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_transport.py +51 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_debug_commands.py +40 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_framebuffer.py +1 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_service.py +15 -12
- rdc_cli-0.3.4/tests/unit/test_doctor.py +325 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_draws_events_daemon.py +76 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_json_errors.py +24 -0
- rdc_cli-0.3.4/tests/unit/test_platform.py +290 -0
- rdc_cli-0.3.4/tests/unit/test_remote_commands.py +427 -0
- rdc_cli-0.3.4/tests/unit/test_remote_core.py +416 -0
- rdc_cli-0.3.4/tests/unit/test_remote_state.py +89 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_search.py +7 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_session_commands.py +43 -6
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_session_service.py +91 -4
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_session_state.py +15 -7
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_shader_preload.py +39 -2
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_target_state.py +1 -1
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_tooling_files.py +4 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/uv.lock +0 -1
- rdc_cli-0.3.2/docs-astro/src/pages/docs/commands.astro +0 -313
- rdc_cli-0.3.2/openspec/changes/2026-02-23-docs-polish/proposal.md +0 -66
- rdc_cli-0.3.2/openspec/changes/2026-02-23-docs-polish/tasks.md +0 -32
- rdc_cli-0.3.2/openspec/changes/2026-02-23-docs-polish/test-plan.md +0 -48
- rdc_cli-0.3.2/openspec/changes/archive/2026-02-22-code-maintainability/proposal.md +0 -36
- rdc_cli-0.3.2/openspec/changes/archive/2026-02-22-code-maintainability/tasks.md +0 -55
- rdc_cli-0.3.2/openspec/changes/archive/2026-02-22-code-maintainability/test-plan.md +0 -42
- rdc_cli-0.3.2/src/rdc/commands/doctor.py +0 -97
- rdc_cli-0.3.2/tests/unit/test_doctor.py +0 -58
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.commitlintrc.yml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.githooks/pre-commit +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.githooks/pre-push +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.github/CODEOWNERS +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.github/workflows/aur.yml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.github/workflows/commitlint.yml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.github/workflows/docs.yml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.gitignore +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.python-version +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/.release-please-manifest.json +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/LICENSE +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/Makefile +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/SECURITY.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docker/Dockerfile +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs/cli-reference.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs/index.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs/install.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs/usage.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs/vfs.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/astro.config.mjs +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/public/.nojekyll +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/public/favicon.svg +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Commands.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Demo.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Features.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Footer.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Navbar.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Philosophy.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/Terminal.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/components/ThemeSwitcher.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/layouts/Base.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/ai-integration.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/design.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/index.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/docs/vfs.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/src/pages/index.astro +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/tailwind.config.mjs +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/tapes/pipeline.tape +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/tapes/quickstart.tape +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/tests/validate.mjs +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/docs-astro/tsconfig.json +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/mkdocs.yml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/mypy.ini +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-bootstrap-foundation/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-ci-hardening/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-ci-hardening/specs/ci/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-ci-hardening/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-ci-hardening/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/specs/foundation/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-core-checks/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-protocol/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-daemon-transport/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/specs/tooling/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-fixtures-docker/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/specs/tooling/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-pixi-env/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/specs/session/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-session-skeleton/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/design.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/specs/architecture/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-18-phase0-structure-refactor/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-count-shadermap/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/specs/foundation/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-daemon-replay/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-draws-events/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-log/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-log/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-log/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-pass-detail/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-resources-passes/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1-shader-extended/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase1.5-vfs/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-api-fix/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-buffer-decode/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-pipeline-state/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-19-phase2-vfs-binary/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-counters/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-counters/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-counters/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-descriptors/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-search/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-search/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-search/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-usage/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-usage/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2-usage/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-aur-pkgbuild/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-cli-enhancements/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-python-compat-ci/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.5-release-ci/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-daemon-crash/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-output-quality/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-pipeline-extended/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-phase2.6-shader-api/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-20-vfs-path-completion/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-daemon-startup-timeout/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-event-break-and-test-flaky/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-pass-detection/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-fix-vfs-pass-consistency/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-bug-filters/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-21-phase2.7-refactor-structure/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-blackbox-bug-fixes/test-plan.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-bugfix-remaining-blackbox/proposal.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-bugfix-remaining-blackbox/tasks.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-bugfix-remaining-blackbox/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-ci-repo-hardening/test-plan.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-code-maintainability/proposal.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-code-maintainability/tasks.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-code-maintainability/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-consistent-output-options/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-consistent-output-options/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-consistent-output-options/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-diff-completeness/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-shader-api-fix/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-design-deviation-vfs-ls-long/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-draws/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-draws/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-draws/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-framebuffer/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-infrastructure/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-pipeline/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-pipeline/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-pipeline/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-resources/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-resources/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-resources/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-stats/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-stats/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-diff-stats/test-plan.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-docs-automation/proposal.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-docs-automation/tasks.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-docs-automation/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-image-compare/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-image-compare/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-image-compare/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3a-script/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3a-script/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3a-script/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-ci-assertions/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase3c-snapshot/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4a-shader-debug/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4b-shader-edit-replay/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-mesh-export/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase4c-overlay/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-debug-thread/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-pick-pixel/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-phase5-tex-stats/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-robustness-hardening/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-robustness-hardening/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-robustness-hardening/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-security-hardening-2/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-security-hardening-2/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-security-hardening-2/test-plan.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-skill-auto-install/proposal.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-skill-auto-install/tasks.md +0 -0
- {rdc_cli-0.3.2/openspec/changes → rdc_cli-0.3.4/openspec/changes/archive}/2026-02-22-skill-auto-install/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-worktree-isolation/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-worktree-isolation/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-22-worktree-isolation/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-gpu-coverage/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/proposal.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/tasks.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/changes/archive/2026-02-23-test-mock-accuracy/test-plan.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/architecture/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/ci/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/daemon/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/foundation/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/packaging/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/session/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/openspec/specs/tooling/spec.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/pixi.lock +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/release-please-config.json +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/ruff.toml +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/capture_fixture.sh +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/e2e-test.sh +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/ensure-renderdoc.sh +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/gen-skill-ref.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/gen-stats.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/scripts/verify-package.sh +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/setup.cfg +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/_skills/SKILL.md +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/_skills/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/adapter.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/assert_ci.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/assert_image.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/capturefile.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/completion.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/counters.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/debug.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/diff.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/events.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/export.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/info.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/install_skill.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/mesh.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/pick_pixel.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/pipeline.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/pixel.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/resources.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/script.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/shader_edit.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/snapshot.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/tex_stats.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/unix_helpers.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/usage.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/commands/vfs.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/daemon_client.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/alignment.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/draws.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/framebuffer.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/pipeline.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/resources.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/stats.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/diff/summary.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/formatters/json_fmt.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/formatters/options.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/formatters/tsv.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/_types.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/capturefile.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/core.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/debug.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/descriptor.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/pixel.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/script.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/shader_edit.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/texture.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/handlers/vfs.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/image_compare.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/protocol.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/services/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/vfs/__init__.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/vfs/formatter.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/vfs/router.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc/vfs/tree_cache.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc_cli.egg-info/dependency_links.txt +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc_cli.egg-info/entry_points.txt +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc_cli.egg-info/requires.txt +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/src/rdc_cli.egg-info/top_level.txt +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/conftest.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/fixtures/hello_triangle.rdc +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/fixtures/vkcube.rdc +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/fixtures/vkcube_validation.rdc +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/integration/test_daemon_handlers_real.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/integration/test_mock_api_sync.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/integration/test_real_replay.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/integration/test_vulkan_samples.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_adapter.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_assert_ci_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_assert_image_command.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_binary_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_buffer_decode.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_capturefile_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_capturefile_handlers.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_ci_files.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_cli.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_completion.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_counters_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_counters_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_crash_regression.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_output_quality.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_shader_api_fix.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_daemon_shader_extended.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_debug_handlers.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_descriptors_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_alignment.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_command.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_draws.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_pipeline.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_resources.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_stats.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_diff_summary.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_discover.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_draws_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_draws_events_cli.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_events_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_export_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_export_overlay.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_fix1_draws_pass_name.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_fix2_vfs_intermediate_dirs.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_fix3_friendly_pass_name.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_formatters.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_gen_skill_ref.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_image_compare.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_info_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_install_skill.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_mesh_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_mesh_handler.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_mock_capture_types.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_mock_renderdoc.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_output_options.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_overlay_handler.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pick_pixel_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pick_pixel_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_cli_phase27.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_section_routing.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_shader.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pipeline_state.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pixel_history_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pixel_history_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_pixi_files.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_protocol.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_query_service.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_resources_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_resources_filter.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_script_command.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_script_handler.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_shader_edit_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_shader_edit_handlers.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_skill_structure.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_snapshot_command.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_tex_stats_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_tex_stats_handler.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_unix_helpers_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_usage_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_usage_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_binary.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_commands.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_completion.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_daemon.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_formatter.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_router.py +0 -0
- {rdc_cli-0.3.2 → rdc_cli-0.3.4}/tests/unit/test_vfs_tree_cache.py +0 -0
|
@@ -55,6 +55,24 @@ jobs:
|
|
|
55
55
|
- run: uv sync --extra dev
|
|
56
56
|
- run: uv run --with pip-audit pip-audit
|
|
57
57
|
|
|
58
|
+
validate-aur:
|
|
59
|
+
name: Validate AUR PKGBUILD
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
container: archlinux:latest
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
64
|
+
|
|
65
|
+
- name: Install makedepends from PKGBUILD
|
|
66
|
+
run: |
|
|
67
|
+
deps=$(sed -n '/^makedepends=(/,/)/p' aur/PKGBUILD \
|
|
68
|
+
| grep -oP "'[^']+'" | tr -d "'" | tr '\n' ' ')
|
|
69
|
+
pacman -Syu --noconfirm base-devel $deps
|
|
70
|
+
|
|
71
|
+
- name: Build wheel (no-isolation, same as PKGBUILD)
|
|
72
|
+
run: python -m build --wheel --no-isolation
|
|
73
|
+
env:
|
|
74
|
+
SETUPTOOLS_SCM_PRETEND_VERSION: "0.0.0"
|
|
75
|
+
|
|
58
76
|
typecheck:
|
|
59
77
|
name: Type check (mypy)
|
|
60
78
|
runs-on: ubuntu-latest
|
|
@@ -77,12 +95,13 @@ jobs:
|
|
|
77
95
|
run: uv run mypy src
|
|
78
96
|
|
|
79
97
|
test:
|
|
80
|
-
name: Test (py${{ matrix.python-version }})
|
|
81
|
-
runs-on:
|
|
98
|
+
name: Test (py${{ matrix.python-version }}, ${{ matrix.os }})
|
|
99
|
+
runs-on: ${{ matrix.os }}
|
|
82
100
|
strategy:
|
|
83
101
|
fail-fast: false
|
|
84
102
|
matrix:
|
|
85
103
|
python-version: ["3.10", "3.12", "3.14"]
|
|
104
|
+
os: [ubuntu-latest, windows-latest]
|
|
86
105
|
steps:
|
|
87
106
|
- name: Checkout
|
|
88
107
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rdc-cli
|
|
3
|
-
Version: 0.3.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.3.4
|
|
4
|
+
Summary: CLI for RenderDoc .rdc captures
|
|
5
5
|
Author: Jim
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -56,20 +56,41 @@ rdc diff before.rdc after.rdc --draws | grep '~' # what changed betw
|
|
|
56
56
|
rdc close
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## Install
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
**PyPI — Linux** (recommended)
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
```bash
|
|
64
|
+
pipx install rdc-cli # install the CLI
|
|
65
|
+
# Build the renderdoc Python module (one-time, ~3 min, needs cmake + ninja)
|
|
66
|
+
curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash
|
|
67
|
+
rdc doctor # verify everything works
|
|
68
|
+
```
|
|
64
69
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
**PyPI — Windows** (experimental)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pipx install rdc-cli
|
|
74
|
+
python scripts/build_renderdoc.py # needs cmake + Visual Studio Build Tools
|
|
75
|
+
rdc doctor
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**AUR** (Arch Linux — builds renderdoc automatically, no extra setup)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
yay -S rdc-cli # stable: tracks tagged releases
|
|
82
|
+
yay -S rdc-cli-git # git: tracks latest master
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**From source**
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
git clone https://github.com/BANANASJIM/rdc-cli.git
|
|
89
|
+
cd rdc-cli
|
|
90
|
+
pixi install && pixi run sync
|
|
91
|
+
```
|
|
71
92
|
|
|
72
|
-
##
|
|
93
|
+
## Quickstart
|
|
73
94
|
|
|
74
95
|
**Explore a capture like a filesystem:**
|
|
75
96
|
|
|
@@ -118,30 +139,18 @@ rdc diff before.rdc after.rdc --draws # per-draw changes
|
|
|
118
139
|
rdc diff before.rdc after.rdc --framebuffer # pixel-level image diff
|
|
119
140
|
```
|
|
120
141
|
|
|
121
|
-
##
|
|
122
|
-
|
|
123
|
-
**PyPI** (recommended)
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
pipx install rdc-cli
|
|
127
|
-
# build renderdoc Python module (one-time, ~3 min, needs cmake/ninja/python3)
|
|
128
|
-
curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash
|
|
129
|
-
rdc doctor # verify installation
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**AUR** (Arch Linux — builds renderdoc Python module automatically)
|
|
142
|
+
## Why rdc-cli?
|
|
133
143
|
|
|
134
|
-
|
|
135
|
-
yay -S rdc-cli-git
|
|
136
|
-
```
|
|
144
|
+
RenderDoc is excellent at capturing GPU frames and replaying them interactively. But its GUI doesn't compose — you can't pipe a draw call list into `sort`, diff two captures in CI, or let an AI agent inspect shader state.
|
|
137
145
|
|
|
138
|
-
|
|
146
|
+
rdc-cli bridges that gap:
|
|
139
147
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
148
|
+
- **TSV by default** — every command outputs tab-separated text that pipes directly into Unix tools. Raw numbers, not human-friendly formatting (use `--table` for that).
|
|
149
|
+
- **VFS path namespace** — GPU state is navigable like a filesystem: `/draws/142/shader/ps`, `/passes/GBuffer/draws`, `/resources/88`. Explore with `ls`, read with `cat`.
|
|
150
|
+
- **Daemon architecture** — load the capture once, then query as many times as you want. No per-command startup cost.
|
|
151
|
+
- **Built for CI** — `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` with `diff(1)`-compatible exit codes (0=pass, 1=fail, 2=error).
|
|
152
|
+
- **AI-agent friendly** — structured output (`--json`, `--jsonl`), deterministic VFS paths, and a [Claude Code skill](https://bananasjim.github.io/rdc-cli/) for automated GPU frame analysis.
|
|
153
|
+
- **Escape hatch** — `rdc script` runs arbitrary Python inside the daemon with full access to the renderdoc module, for anything the CLI doesn't cover yet.
|
|
145
154
|
|
|
146
155
|
## Commands
|
|
147
156
|
|
|
@@ -160,6 +169,7 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
|
|
|
160
169
|
| Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
|
|
161
170
|
| Diff | `diff` (with `--draws`, `--stats`, `--framebuffer`, `--pipeline`, etc.) |
|
|
162
171
|
| VFS | `ls`, `cat`, `tree` |
|
|
172
|
+
| Remote | `remote connect`, `remote list`, `remote capture` |
|
|
163
173
|
| Utility | `doctor`, `completion`, `capture`, `count`, `script`, `install-skill` |
|
|
164
174
|
|
|
165
175
|
All list commands output TSV. All commands support `--json`. Footer/summary goes to stderr — stdout is always clean data.
|
|
@@ -27,20 +27,41 @@ rdc diff before.rdc after.rdc --draws | grep '~' # what changed betw
|
|
|
27
27
|
rdc close
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Install
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
**PyPI — Linux** (recommended)
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
```bash
|
|
35
|
+
pipx install rdc-cli # install the CLI
|
|
36
|
+
# Build the renderdoc Python module (one-time, ~3 min, needs cmake + ninja)
|
|
37
|
+
curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash
|
|
38
|
+
rdc doctor # verify everything works
|
|
39
|
+
```
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
**PyPI — Windows** (experimental)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pipx install rdc-cli
|
|
45
|
+
python scripts/build_renderdoc.py # needs cmake + Visual Studio Build Tools
|
|
46
|
+
rdc doctor
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**AUR** (Arch Linux — builds renderdoc automatically, no extra setup)
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
yay -S rdc-cli # stable: tracks tagged releases
|
|
53
|
+
yay -S rdc-cli-git # git: tracks latest master
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**From source**
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git clone https://github.com/BANANASJIM/rdc-cli.git
|
|
60
|
+
cd rdc-cli
|
|
61
|
+
pixi install && pixi run sync
|
|
62
|
+
```
|
|
42
63
|
|
|
43
|
-
##
|
|
64
|
+
## Quickstart
|
|
44
65
|
|
|
45
66
|
**Explore a capture like a filesystem:**
|
|
46
67
|
|
|
@@ -89,30 +110,18 @@ rdc diff before.rdc after.rdc --draws # per-draw changes
|
|
|
89
110
|
rdc diff before.rdc after.rdc --framebuffer # pixel-level image diff
|
|
90
111
|
```
|
|
91
112
|
|
|
92
|
-
##
|
|
93
|
-
|
|
94
|
-
**PyPI** (recommended)
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
pipx install rdc-cli
|
|
98
|
-
# build renderdoc Python module (one-time, ~3 min, needs cmake/ninja/python3)
|
|
99
|
-
curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash
|
|
100
|
-
rdc doctor # verify installation
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**AUR** (Arch Linux — builds renderdoc Python module automatically)
|
|
113
|
+
## Why rdc-cli?
|
|
104
114
|
|
|
105
|
-
|
|
106
|
-
yay -S rdc-cli-git
|
|
107
|
-
```
|
|
115
|
+
RenderDoc is excellent at capturing GPU frames and replaying them interactively. But its GUI doesn't compose — you can't pipe a draw call list into `sort`, diff two captures in CI, or let an AI agent inspect shader state.
|
|
108
116
|
|
|
109
|
-
|
|
117
|
+
rdc-cli bridges that gap:
|
|
110
118
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
- **TSV by default** — every command outputs tab-separated text that pipes directly into Unix tools. Raw numbers, not human-friendly formatting (use `--table` for that).
|
|
120
|
+
- **VFS path namespace** — GPU state is navigable like a filesystem: `/draws/142/shader/ps`, `/passes/GBuffer/draws`, `/resources/88`. Explore with `ls`, read with `cat`.
|
|
121
|
+
- **Daemon architecture** — load the capture once, then query as many times as you want. No per-command startup cost.
|
|
122
|
+
- **Built for CI** — `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` with `diff(1)`-compatible exit codes (0=pass, 1=fail, 2=error).
|
|
123
|
+
- **AI-agent friendly** — structured output (`--json`, `--jsonl`), deterministic VFS paths, and a [Claude Code skill](https://bananasjim.github.io/rdc-cli/) for automated GPU frame analysis.
|
|
124
|
+
- **Escape hatch** — `rdc script` runs arbitrary Python inside the daemon with full access to the renderdoc module, for anything the CLI doesn't cover yet.
|
|
116
125
|
|
|
117
126
|
## Commands
|
|
118
127
|
|
|
@@ -131,6 +140,7 @@ Run `rdc --help` for the full list, or `rdc <command> --help` for details. See
|
|
|
131
140
|
| Assertions | `assert-pixel`, `assert-state`, `assert-image`, `assert-count`, `assert-clean` |
|
|
132
141
|
| Diff | `diff` (with `--draws`, `--stats`, `--framebuffer`, `--pipeline`, etc.) |
|
|
133
142
|
| VFS | `ls`, `cat`, `tree` |
|
|
143
|
+
| Remote | `remote connect`, `remote list`, `remote capture` |
|
|
134
144
|
| Utility | `doctor`, `completion`, `capture`, `count`, `script`, `install-skill` |
|
|
135
145
|
|
|
136
146
|
All list commands output TSV. All commands support `--json`. Footer/summary goes to stderr — stdout is always clean data.
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
"@astrojs/tailwind": "^6.0.2",
|
|
12
12
|
"astro": "^5.7.10",
|
|
13
13
|
"gsap": "^3.12.7",
|
|
14
|
-
"tailwindcss": "^3.4.17"
|
|
15
|
-
"typed.js": "^2.1.0"
|
|
14
|
+
"tailwindcss": "^3.4.17"
|
|
16
15
|
},
|
|
17
16
|
"devDependencies": {
|
|
18
17
|
"@tailwindcss/typography": "^0.5.19",
|
|
@@ -5371,12 +5370,6 @@
|
|
|
5371
5370
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
5372
5371
|
}
|
|
5373
5372
|
},
|
|
5374
|
-
"node_modules/typed.js": {
|
|
5375
|
-
"version": "2.1.0",
|
|
5376
|
-
"resolved": "https://registry.npmjs.org/typed.js/-/typed.js-2.1.0.tgz",
|
|
5377
|
-
"integrity": "sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==",
|
|
5378
|
-
"license": "MIT"
|
|
5379
|
-
},
|
|
5380
5373
|
"node_modules/typescript": {
|
|
5381
5374
|
"version": "5.9.3",
|
|
5382
5375
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
@@ -35,7 +35,7 @@ const base = import.meta.env.BASE_URL;
|
|
|
35
35
|
Designed for <span class="text-gpu-accent font-medium">CI pipelines</span> and <span class="text-gpu-purple font-medium">AI agents</span>.
|
|
36
36
|
</p>
|
|
37
37
|
|
|
38
|
-
<!--
|
|
38
|
+
<!-- Terminal session replay -->
|
|
39
39
|
<div class="max-w-2xl mx-auto mb-14">
|
|
40
40
|
<div class="terminal-window glow-accent">
|
|
41
41
|
<div class="terminal-header">
|
|
@@ -44,11 +44,8 @@ const base = import.meta.env.BASE_URL;
|
|
|
44
44
|
<span class="terminal-dot bg-[#28c840]"></span>
|
|
45
45
|
<span class="ml-auto text-[10px] text-gray-500 font-mono tracking-wider uppercase">rdc-cli</span>
|
|
46
46
|
</div>
|
|
47
|
-
<div class="terminal-body text-left
|
|
48
|
-
<div
|
|
49
|
-
<span class="text-gpu-green mr-2 select-none font-bold">$</span>
|
|
50
|
-
<span id="typed-output" class="text-gray-200"></span>
|
|
51
|
-
</div>
|
|
47
|
+
<div id="replay-terminal" class="terminal-body text-left overflow-y-auto text-xs md:text-sm transition-[height] duration-300 ease-out" style="min-height: 2.5rem; max-height: 24rem;">
|
|
48
|
+
<div id="replay-lines"></div>
|
|
52
49
|
</div>
|
|
53
50
|
</div>
|
|
54
51
|
</div>
|
|
@@ -83,27 +80,118 @@ const base = import.meta.env.BASE_URL;
|
|
|
83
80
|
</section>
|
|
84
81
|
|
|
85
82
|
<script>
|
|
86
|
-
import
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
83
|
+
import playlists from '../data/replay.json';
|
|
84
|
+
|
|
85
|
+
const container = document.getElementById('replay-lines')!;
|
|
86
|
+
const terminal = document.getElementById('replay-terminal')!;
|
|
87
|
+
|
|
88
|
+
const TYPE_SPEED = 20;
|
|
89
|
+
const OUTPUT_LINE_DELAY = 30;
|
|
90
|
+
const SCENE_PAUSE = 1400;
|
|
91
|
+
const RESTART_PAUSE = 2000;
|
|
92
|
+
|
|
93
|
+
let playlistIndex = 0;
|
|
94
|
+
|
|
95
|
+
function sleep(ms: number) { return new Promise(r => setTimeout(r, ms)); }
|
|
96
|
+
|
|
97
|
+
function scrollToBottom() {
|
|
98
|
+
terminal.scrollTop = terminal.scrollHeight;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function createPromptLine(): { el: HTMLDivElement; span: HTMLSpanElement } {
|
|
102
|
+
const el = document.createElement('div');
|
|
103
|
+
el.className = 'flex items-start';
|
|
104
|
+
el.innerHTML = '<span class="text-gpu-green mr-2 select-none font-bold shrink-0">$</span>';
|
|
105
|
+
const span = document.createElement('span');
|
|
106
|
+
span.className = 'text-gray-200';
|
|
107
|
+
el.appendChild(span);
|
|
108
|
+
const cursor = document.createElement('span');
|
|
109
|
+
cursor.className = 'replay-cursor';
|
|
110
|
+
cursor.textContent = '\u2588';
|
|
111
|
+
el.appendChild(cursor);
|
|
112
|
+
container.appendChild(el);
|
|
113
|
+
return { el, span };
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
async function typeCommand(text: string) {
|
|
117
|
+
const { el, span } = createPromptLine();
|
|
118
|
+
scrollToBottom();
|
|
119
|
+
for (const ch of text) {
|
|
120
|
+
span.textContent += ch;
|
|
121
|
+
scrollToBottom();
|
|
122
|
+
await sleep(TYPE_SPEED);
|
|
123
|
+
}
|
|
124
|
+
el.querySelector('.replay-cursor')?.remove();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function renderOutputLine(line: string): HTMLDivElement {
|
|
128
|
+
const div = document.createElement('div');
|
|
129
|
+
div.className = 'text-gray-400 pl-0 whitespace-pre';
|
|
130
|
+
|
|
131
|
+
// TSV header (all-caps tab-separated)
|
|
132
|
+
if (/^\t*[A-Z_]+(\t[A-Z_]+)+$/.test(line)) {
|
|
133
|
+
div.className = 'text-gray-500 pl-0 whitespace-pre';
|
|
134
|
+
div.textContent = line.replace(/\t/g, ' ');
|
|
135
|
+
return div;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Key-value lines (like rdc info)
|
|
139
|
+
const kvMatch = line.match(/^(\w[\w\s]*?)\s{2,}(.+)$/);
|
|
140
|
+
if (kvMatch) {
|
|
141
|
+
const k = document.createElement('span');
|
|
142
|
+
k.className = 'text-gray-500';
|
|
143
|
+
k.textContent = kvMatch[1];
|
|
144
|
+
div.appendChild(k);
|
|
145
|
+
div.appendChild(document.createTextNode(' '));
|
|
146
|
+
const v = document.createElement('span');
|
|
147
|
+
v.className = 'text-gray-300';
|
|
148
|
+
v.textContent = kvMatch[2];
|
|
149
|
+
div.appendChild(v);
|
|
150
|
+
return div;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// TSV data rows
|
|
154
|
+
if (line.includes('\t')) {
|
|
155
|
+
div.textContent = line.replace(/\t/g, ' ');
|
|
156
|
+
div.className = 'text-gray-300 pl-0 whitespace-pre';
|
|
157
|
+
return div;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// JSON
|
|
161
|
+
if (/^\s*[{}\[\]"]/.test(line)) {
|
|
162
|
+
div.className = 'text-gray-400 pl-0 whitespace-pre';
|
|
163
|
+
div.textContent = line;
|
|
164
|
+
return div;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
div.textContent = line;
|
|
168
|
+
return div;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async function showOutput(output: string) {
|
|
172
|
+
if (!output) return;
|
|
173
|
+
for (const line of output.split('\n')) {
|
|
174
|
+
container.appendChild(renderOutputLine(line));
|
|
175
|
+
scrollToBottom();
|
|
176
|
+
await sleep(OUTPUT_LINE_DELAY);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
async function runReplay() {
|
|
181
|
+
while (true) {
|
|
182
|
+
const playlist = playlists[playlistIndex % playlists.length];
|
|
183
|
+
playlistIndex++;
|
|
184
|
+
container.innerHTML = '';
|
|
185
|
+
|
|
186
|
+
for (const scene of playlist) {
|
|
187
|
+
await typeCommand(scene.cmd);
|
|
188
|
+
await sleep(200);
|
|
189
|
+
await showOutput(scene.output);
|
|
190
|
+
await sleep(SCENE_PAUSE);
|
|
191
|
+
}
|
|
192
|
+
await sleep(RESTART_PAUSE);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
runReplay();
|
|
109
197
|
</script>
|
|
@@ -18,12 +18,14 @@
|
|
|
18
18
|
<span class="text-[10px] text-gray-500 tracking-wider">recommended</span>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="group relative terminal-window">
|
|
21
|
-
<div class="px-5 py-4 font-mono text-sm text-gray-200">
|
|
22
|
-
<span class="text-gpu-green select-none font-bold">$ </span>pipx install rdc-cli
|
|
21
|
+
<div class="px-5 py-4 font-mono text-sm text-gray-200 space-y-1">
|
|
22
|
+
<div><span class="text-gpu-green select-none font-bold">$ </span>pipx install rdc-cli</div>
|
|
23
|
+
<div class="text-gray-500"># build renderdoc Python module (~3 min, one-time)</div>
|
|
24
|
+
<div><span class="text-gpu-green select-none font-bold">$ </span>curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash</div>
|
|
23
25
|
</div>
|
|
24
26
|
<button
|
|
25
27
|
class="copy-btn absolute top-3 right-3 px-2.5 py-1 text-[10px] text-gray-500 bg-gpu-card rounded-md opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all duration-200 hover:text-gpu-accent hover:bg-gpu-accent/10 uppercase tracking-wider font-bold"
|
|
26
|
-
data-copy="pipx install rdc-cli"
|
|
28
|
+
data-copy="pipx install rdc-cli && curl -fsSL https://raw.githubusercontent.com/BANANASJIM/rdc-cli/master/scripts/build-renderdoc.sh | bash"
|
|
27
29
|
>
|
|
28
30
|
Copy
|
|
29
31
|
</button>
|
|
@@ -33,15 +35,16 @@
|
|
|
33
35
|
<div class="install-block opacity-0">
|
|
34
36
|
<div class="flex items-center gap-2 mb-2">
|
|
35
37
|
<span class="text-[10px] font-bold text-gpu-purple uppercase tracking-[0.2em]">AUR</span>
|
|
36
|
-
<span class="text-[10px] text-gray-500 tracking-wider">Arch Linux</span>
|
|
38
|
+
<span class="text-[10px] text-gray-500 tracking-wider">Arch Linux — includes renderdoc</span>
|
|
37
39
|
</div>
|
|
38
40
|
<div class="group relative terminal-window">
|
|
39
|
-
<div class="px-5 py-4 font-mono text-sm text-gray-200">
|
|
40
|
-
<span class="text-gpu-green select-none font-bold">$ </span>yay -S rdc-cli-
|
|
41
|
+
<div class="px-5 py-4 font-mono text-sm text-gray-200 space-y-1">
|
|
42
|
+
<div><span class="text-gpu-green select-none font-bold">$ </span>yay -S rdc-cli<span class="text-gray-500"> # stable: tagged releases</span></div>
|
|
43
|
+
<div><span class="text-gpu-green select-none font-bold">$ </span>yay -S rdc-cli-git<span class="text-gray-500"> # git: latest master</span></div>
|
|
41
44
|
</div>
|
|
42
45
|
<button
|
|
43
46
|
class="copy-btn absolute top-3 right-3 px-2.5 py-1 text-[10px] text-gray-500 bg-gpu-card rounded-md opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all duration-200 hover:text-gpu-accent hover:bg-gpu-accent/10 uppercase tracking-wider font-bold"
|
|
44
|
-
data-copy="yay -S rdc-cli
|
|
47
|
+
data-copy="yay -S rdc-cli"
|
|
45
48
|
>
|
|
46
49
|
Copy
|
|
47
50
|
</button>
|