dcc-mcp-renderdoc 0.2.1__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. dcc_mcp_renderdoc-0.3.1/.release-please-manifest.json +2 -0
  2. dcc_mcp_renderdoc-0.3.1/CHANGELOG.md +56 -0
  3. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/PKG-INFO +60 -3
  4. dcc_mcp_renderdoc-0.3.1/README.md +108 -0
  5. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/pyproject.toml +2 -2
  6. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/release-please-config.json +1 -2
  7. dcc_mcp_renderdoc-0.3.1/src/dcc_mcp_renderdoc/__version__.py +3 -0
  8. dcc_mcp_renderdoc-0.3.1/src/dcc_mcp_renderdoc/runtime.py +510 -0
  9. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/server.py +3 -8
  10. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-capture/SKILL.md +6 -1
  11. dcc_mcp_renderdoc-0.3.1/src/dcc_mcp_renderdoc/skills/renderdoc-capture/scripts/capture_process.py +32 -0
  12. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-capture/scripts/capture_program.py +6 -0
  13. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-capture/tools.yaml +28 -1
  14. dcc_mcp_renderdoc-0.3.1/tests/test_package.py +81 -0
  15. dcc_mcp_renderdoc-0.3.1/tests/test_runtime.py +267 -0
  16. dcc_mcp_renderdoc-0.2.1/.release-please-manifest.json +0 -2
  17. dcc_mcp_renderdoc-0.2.1/CHANGELOG.md +0 -28
  18. dcc_mcp_renderdoc-0.2.1/README.md +0 -51
  19. dcc_mcp_renderdoc-0.2.1/src/dcc_mcp_renderdoc/__version__.py +0 -3
  20. dcc_mcp_renderdoc-0.2.1/src/dcc_mcp_renderdoc/runtime.py +0 -255
  21. dcc_mcp_renderdoc-0.2.1/tests/test_package.py +0 -31
  22. dcc_mcp_renderdoc-0.2.1/tests/test_runtime.py +0 -57
  23. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/.gitignore +0 -0
  24. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/LICENSE +0 -0
  25. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/__init__.py +0 -0
  26. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/SKILL.md +0 -0
  27. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/metadata/depends.md +0 -0
  28. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/scripts/export_thumbnail.py +0 -0
  29. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/scripts/export_timeline.py +0 -0
  30. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/scripts/inspect_capture.py +0 -0
  31. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-analysis/tools.yaml +0 -0
  32. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-capture/metadata/depends.md +0 -0
  33. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/src/dcc_mcp_renderdoc/skills/renderdoc-capture/scripts/get_version.py +0 -0
  34. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tests/live_renderdoc_smoke.py +0 -0
  35. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tests/renderdoc_smoke.c +0 -0
  36. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tests/test_download.py +0 -0
  37. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tools/__init__.py +0 -0
  38. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tools/download_latest_renderdoc.py +0 -0
  39. {dcc_mcp_renderdoc-0.2.1 → dcc_mcp_renderdoc-0.3.1}/tools/lint_skills.py +0 -0
@@ -0,0 +1,2 @@
1
+ {".":"0.3.1"}
2
+
@@ -0,0 +1,56 @@
1
+ # Changelog
2
+
3
+ ## [0.3.1](https://github.com/dcc-mcp/dcc-mcp-renderdoc/compare/v0.3.0...v0.3.1) (2026-07-22)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * allow long-running frame trigger delays ([#10](https://github.com/dcc-mcp/dcc-mcp-renderdoc/issues/10)) ([3212cf7](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/3212cf7c9f236b28b48bf0d28705e2b1939fbe21))
9
+ * capture relaunched child processes ([39e5603](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/39e5603112c8cad98807da3fee86248dd03fb824))
10
+
11
+
12
+ ### Documentation
13
+
14
+ * align agent workflow and branding ([ca8b2cf](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/ca8b2cf955a470a87efde24c12e9ebbdb284633c))
15
+ * document CLI install and updates ([599cc70](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/599cc70445e11c2fc53d2626c24f9912365b87e0))
16
+
17
+ ## [0.3.0](https://github.com/dcc-mcp/dcc-mcp-renderdoc/compare/v0.2.1...v0.3.0) (2026-07-16)
18
+
19
+
20
+ ### Features
21
+
22
+ * automate interactive frame capture ([3131ed3](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/3131ed35a5f252993c7a099a05071e73313126c3))
23
+ * default adapter instances to dynamic ports ([#6](https://github.com/dcc-mcp/dcc-mcp-renderdoc/issues/6)) ([b4bd77b](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/b4bd77bfc487755fc1aadc390997be638382ada1))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * keep capture diagnostics cross-platform ([a477bfd](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/a477bfd9f32d609f141d6d77d0576a861fd60bf1))
29
+ * report capture target diagnostics ([861c852](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/861c8528b35a13fdd8441a89ede80f967e811839))
30
+
31
+ ## [0.2.1](https://github.com/dcc-mcp/dcc-mcp-renderdoc/compare/v0.2.0...v0.2.1) (2026-07-15)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * keep runtime version aligned with package ([b3eb754](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/b3eb754c98416dd1d0b467691949e61bd679cb88))
37
+
38
+ ## [0.2.0](https://github.com/dcc-mcp/dcc-mcp-renderdoc/compare/v0.1.0...v0.2.0) (2026-07-15)
39
+
40
+
41
+ ### Features
42
+
43
+ * add RenderDoc MCP adapter ([a324344](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/a324344d5dcab758282c77598f4591076526f44e))
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * capture a supported OpenGL core context ([7817a6f](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/7817a6fd3a7e683a37348ed4a0582bfe456024b6))
49
+ * include C boolean definitions in smoke target ([a9471ed](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/a9471ed7fef6f663a74ed9c9207ae8231bc5dafc))
50
+ * initialize OpenGL before frame capture ([af3c93c](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/af3c93c2b7fc794769187d7e237596d5c37de97b))
51
+ * target explicit RenderDoc frame capture ([99f1568](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/99f1568e0367c156c6c01106109ea4333e0788f5))
52
+ * trigger a presented frame in RenderDoc smoke ([2d939cb](https://github.com/dcc-mcp/dcc-mcp-renderdoc/commit/2d939cb3432ff6280ac44e56b6f785d1ff98d2ee))
53
+
54
+ ## Changelog
55
+
56
+ All notable changes to this project will be documented in this file.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dcc-mcp-renderdoc
3
- Version: 0.2.1
3
+ Version: 0.3.1
4
4
  Summary: RenderDoc capture and replay automation skills for DCC-MCP
5
5
  Project-URL: Homepage, https://github.com/dcc-mcp/dcc-mcp-renderdoc
6
6
  Project-URL: Repository, https://github.com/dcc-mcp/dcc-mcp-renderdoc
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Topic :: Games/Entertainment
20
20
  Requires-Python: >=3.9
21
- Requires-Dist: dcc-mcp-core<1.0.0,>=0.19.38
21
+ Requires-Dist: dcc-mcp-core<1.0.0,>=0.19.45
22
22
  Provides-Extra: dev
23
23
  Requires-Dist: build>=1.2; extra == 'dev'
24
24
  Requires-Dist: pytest>=8; extra == 'dev'
@@ -28,6 +28,53 @@ Description-Content-Type: text/markdown
28
28
 
29
29
  # dcc-mcp-renderdoc
30
30
 
31
+ <p align="center">
32
+ <img src="docs/assets/dcc-mcp-renderdoc.svg" alt="DCC-MCP · RENDERDOC" width="600">
33
+ </p>
34
+
35
+ ## Agent workflow
36
+
37
+ AI agents should use the shared gateway through `dcc-mcp-cli`; IDE users may
38
+ continue to use the MCP endpoint. Prefer typed skills and tools over raw scripts.
39
+
40
+ ### Install or update the CLI
41
+
42
+ `dcc-mcp-cli` is the preferred control path for every shell-capable agent. If
43
+ it is missing, ask the user before installing the latest official release:
44
+
45
+ ```bash
46
+ # Linux/macOS
47
+ curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | sh
48
+
49
+ # Windows PowerShell
50
+ powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"
51
+ ```
52
+
53
+ Keep an official build current through the release manifest:
54
+
55
+ ```bash
56
+ dcc-mcp-cli update check
57
+ dcc-mcp-cli update apply
58
+ ```
59
+
60
+ `update apply` downloads and stages the latest CLI for the next launch. It
61
+ does not update a running `dcc-mcp-server`; update that server in its own
62
+ environment.
63
+
64
+ ```bash
65
+ dcc-mcp-cli dcc-types
66
+ dcc-mcp-cli list
67
+ dcc-mcp-cli search --query "<task>" --dcc-type renderdoc
68
+ dcc-mcp-cli describe <tool-slug>
69
+ dcc-mcp-cli call <tool-slug> --json '{"key":"value"}'
70
+ ```
71
+
72
+ `dcc-types` reports release-catalog support; `list` reports live sessions. If a
73
+ tool belongs to an inactive progressive skill, call `dcc-mcp-cli load-skill <skill-name> --dcc-type renderdoc` before retrying. For post-task improvement,
74
+ attach a stable session id with `--meta-json`, query `dcc-mcp-cli stats --range 24h --session-id <task-id>`, then pass the bounded evidence to the
75
+ `review_skill_improvement` prompt from `dcc-mcp-skills-creator`.
76
+
77
+
31
78
  RenderDoc capture and replay automation for the DCC Model Context Protocol ecosystem.
32
79
 
33
80
  The adapter is headless-first: it reuses the official `renderdoccmd` executable for capture and
@@ -49,9 +96,15 @@ dcc-mcp-renderdoc
49
96
 
50
97
  On Windows, set the variable to `renderdoccmd.exe`.
51
98
 
99
+ Each adapter instance uses an OS-assigned MCP port and registers it for CLI discovery. Connect
100
+ through the stable gateway at `http://127.0.0.1:9765/mcp`; set
101
+ `DCC_MCP_RENDERDOC_PORT` only when a fixed direct endpoint is required.
102
+
52
103
  ## Agent workflows
53
104
 
54
105
  - Launch a game or test executable under RenderDoc and wait for a typed `.rdc` capture.
106
+ - Trigger F12 automatically after a configurable delay, with optional child-process window focus.
107
+ - Inject into a visible Windows process that had to be launched by a platform client, then trigger and collect a capture.
55
108
  - Inspect capture driver, machine identity, chunk version, API-call counts, and representative calls.
56
109
  - Export a capture thumbnail for visual review.
57
110
  - Export Chrome trace JSON for timeline tooling.
@@ -59,6 +112,11 @@ On Windows, set the variable to `renderdoccmd.exe`.
59
112
  The capture tool launches only the explicit executable and arguments supplied by the caller. It
60
113
  never invokes a shell. Analysis tools are read-only with respect to the `.rdc` input.
61
114
 
115
+ For interactive Windows programs, pass `trigger_after_secs` to `capture_program`. When a launcher
116
+ creates the rendered child process, also pass `trigger_process_name`. Use `capture_process` only
117
+ when the target is already running; late injection may not capture graphics devices created before
118
+ RenderDoc was attached.
119
+
62
120
  ## Real CI
63
121
 
64
122
  CI discovers the current stable RenderDoc build from the official downloads page. It compiles a
@@ -76,4 +134,3 @@ uv run python tools/lint_skills.py
76
134
 
77
135
  RenderDoc is an MIT-licensed graphics debugger maintained independently at
78
136
  [renderdoc.org](https://renderdoc.org/). This adapter is not affiliated with the RenderDoc project.
79
-
@@ -0,0 +1,108 @@
1
+ # dcc-mcp-renderdoc
2
+
3
+ <p align="center">
4
+ <img src="docs/assets/dcc-mcp-renderdoc.svg" alt="DCC-MCP · RENDERDOC" width="600">
5
+ </p>
6
+
7
+ ## Agent workflow
8
+
9
+ AI agents should use the shared gateway through `dcc-mcp-cli`; IDE users may
10
+ continue to use the MCP endpoint. Prefer typed skills and tools over raw scripts.
11
+
12
+ ### Install or update the CLI
13
+
14
+ `dcc-mcp-cli` is the preferred control path for every shell-capable agent. If
15
+ it is missing, ask the user before installing the latest official release:
16
+
17
+ ```bash
18
+ # Linux/macOS
19
+ curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | sh
20
+
21
+ # Windows PowerShell
22
+ powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"
23
+ ```
24
+
25
+ Keep an official build current through the release manifest:
26
+
27
+ ```bash
28
+ dcc-mcp-cli update check
29
+ dcc-mcp-cli update apply
30
+ ```
31
+
32
+ `update apply` downloads and stages the latest CLI for the next launch. It
33
+ does not update a running `dcc-mcp-server`; update that server in its own
34
+ environment.
35
+
36
+ ```bash
37
+ dcc-mcp-cli dcc-types
38
+ dcc-mcp-cli list
39
+ dcc-mcp-cli search --query "<task>" --dcc-type renderdoc
40
+ dcc-mcp-cli describe <tool-slug>
41
+ dcc-mcp-cli call <tool-slug> --json '{"key":"value"}'
42
+ ```
43
+
44
+ `dcc-types` reports release-catalog support; `list` reports live sessions. If a
45
+ tool belongs to an inactive progressive skill, call `dcc-mcp-cli load-skill <skill-name> --dcc-type renderdoc` before retrying. For post-task improvement,
46
+ attach a stable session id with `--meta-json`, query `dcc-mcp-cli stats --range 24h --session-id <task-id>`, then pass the bounded evidence to the
47
+ `review_skill_improvement` prompt from `dcc-mcp-skills-creator`.
48
+
49
+
50
+ RenderDoc capture and replay automation for the DCC Model Context Protocol ecosystem.
51
+
52
+ The adapter is headless-first: it reuses the official `renderdoccmd` executable for capture and
53
+ conversion, so agents can automate graphics regression triage without keeping the RenderDoc GUI
54
+ open or installing a second bridge.
55
+
56
+ ## Install
57
+
58
+ ```bash
59
+ pip install dcc-mcp-renderdoc
60
+ ```
61
+
62
+ Install RenderDoc separately, then expose its command line tool with either `PATH` or:
63
+
64
+ ```bash
65
+ export DCC_MCP_RENDERDOC_CMD=/opt/renderdoc/bin/renderdoccmd
66
+ dcc-mcp-renderdoc
67
+ ```
68
+
69
+ On Windows, set the variable to `renderdoccmd.exe`.
70
+
71
+ Each adapter instance uses an OS-assigned MCP port and registers it for CLI discovery. Connect
72
+ through the stable gateway at `http://127.0.0.1:9765/mcp`; set
73
+ `DCC_MCP_RENDERDOC_PORT` only when a fixed direct endpoint is required.
74
+
75
+ ## Agent workflows
76
+
77
+ - Launch a game or test executable under RenderDoc and wait for a typed `.rdc` capture.
78
+ - Trigger F12 automatically after a configurable delay, with optional child-process window focus.
79
+ - Inject into a visible Windows process that had to be launched by a platform client, then trigger and collect a capture.
80
+ - Inspect capture driver, machine identity, chunk version, API-call counts, and representative calls.
81
+ - Export a capture thumbnail for visual review.
82
+ - Export Chrome trace JSON for timeline tooling.
83
+
84
+ The capture tool launches only the explicit executable and arguments supplied by the caller. It
85
+ never invokes a shell. Analysis tools are read-only with respect to the `.rdc` input.
86
+
87
+ For interactive Windows programs, pass `trigger_after_secs` to `capture_program`. When a launcher
88
+ creates the rendered child process, also pass `trigger_process_name`. Use `capture_process` only
89
+ when the target is already running; late injection may not capture graphics devices created before
90
+ RenderDoc was attached.
91
+
92
+ ## Real CI
93
+
94
+ CI discovers the current stable RenderDoc build from the official downloads page. It compiles a
95
+ small OpenGL program, captures a real frame under Xvfb, calls the MCP analysis tool against the
96
+ resulting `.rdc`, and verifies thumbnail and timeline exports.
97
+
98
+ ## Development
99
+
100
+ ```bash
101
+ uv sync --extra dev
102
+ uv run python -m pytest
103
+ uv run ruff check src tests tools
104
+ uv run python tools/lint_skills.py
105
+ ```
106
+
107
+ RenderDoc is an MIT-licensed graphics debugger maintained independently at
108
+ [renderdoc.org](https://renderdoc.org/). This adapter is not affiliated with the RenderDoc project.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "dcc-mcp-renderdoc"
7
- version = "0.2.1"
7
+ version = "0.3.1"
8
8
  description = "RenderDoc capture and replay automation skills for DCC-MCP"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.12",
22
22
  "Topic :: Games/Entertainment",
23
23
  ]
24
- dependencies = ["dcc-mcp-core>=0.19.38,<1.0.0"]
24
+ dependencies = ["dcc-mcp-core>=0.19.45,<1.0.0"]
25
25
 
26
26
  [project.urls]
27
27
  Homepage = "https://github.com/dcc-mcp/dcc-mcp-renderdoc"
@@ -1,2 +1 @@
1
- {"packages":{".":{"release-type":"python","package-name":"dcc-mcp-renderdoc","changelog-path":"CHANGELOG.md","include-component-in-tag":false,"extra-files":[{"type":"toml","path":"pyproject.toml","jsonpath":"$.project.version"},{"type":"generic","path":"src/dcc_mcp_renderdoc/__version__.py"}]}}}
2
-
1
+ {"packages":{".":{"release-type":"python","package-name":"dcc-mcp-renderdoc","changelog-path":"CHANGELOG.md","include-component-in-tag":false,"extra-files":[{"type":"toml","path":"pyproject.toml","jsonpath":"$.project.version"},{"type":"generic","path":"src/dcc_mcp_renderdoc/__version__.py"},{"type":"toml","path":"uv.lock","jsonpath":"$.package[?(@.name=='dcc-mcp-renderdoc')].version"}]}}}
@@ -0,0 +1,3 @@
1
+ """Package version."""
2
+
3
+ __version__ = "0.3.1" # x-release-please-version