rapidVDKTAgent pairs a RapidRAW-style desktop workflow with a local Python backend and a vkdt-backed edit graph. The backend plans edits; the desktop app owns image context, preview rendering, library workflows, and canonical .cfg graph state.
- RapidRAW-derived desktop app under
rapidraw/ - Vendored
vkdtbackend undervendor/vkdt/ - FastAPI backend in
server/plus shared protocol models inshared/ - Structured local agent workflow for graph-aware planner output and application
- Deterministic backend smoke path using mock responses
- Evaluation harness for planner and binder regressions
rapidraw/contains the desktop application and local vkdt integration workvendor/vkdt/contains the vendored vkdt source used for canonical graph rendering/exportserver/contains the FastAPI backend and Codex bridgeshared/contains the protocol models and schema
Request flow:
- The desktop app captures the current image state, editable settings, preview, and session context.
- The backend sends that context to the planner.
- The planner returns structured edit operations.
- The desktop app validates and applies those operations through supported controls or vkdt graph parameters.
Prerequisites:
- macOS or Linux
python33.14+uv- Node.js 24+
- Rust 1.94+
codexCLI installed and authenticated- Vulkan-capable macOS system for vkdt execution
- LunarG Vulkan SDK installed on macOS to run
vkdt-cli - Homebrew packages needed to build vendored
vkdtlocally, includingllvm,glfw,pkg-config, andglslang - Linux Tauri system packages when running Rust checks or launching the desktop app locally
Install root Python dependencies plus the vendored RapidRAW frontend dependencies:
npm run bootstrapRun the backend:
npm run server:startLaunch RapidRAW in Tauri dev mode:
npm run rapidraw:startBuild the RapidRAW web frontend bundle:
npm run rapidraw:buildBuild the vendored vkdt CLI used by the desktop adapter:
cd vendor/vkdt/bin
make cliThe current vkdt adapter expects vendor/vkdt/bin/vkdt-cli to exist. On macOS, vkdt upstream documents Homebrew for building and the LunarG Vulkan SDK for running.
By default, the backend runs on 127.0.0.1:8431.
Run backend tests:
uv run --extra dev pytest server/testsRun backend type checking:
uv run --extra dev ty checkRun backend smoke verification with mock responses:
npm run agent:smokeRun the root RapidRAW web build check:
npm run rapidraw:buildRun RapidRAW Rust checks:
npm run rapidraw:rust:fmt
npm run rapidraw:rust:checkAdditional vendored RapidRAW quality wrappers are available:
npm run rapidraw:lint
npm run rapidraw:format:check
npm run rapidraw:typecheck
npm run rapidraw:rust:clippyThose wrappers are useful when cleaning up the vendored app itself, but they are not root CI gates yet because the current vendored desktop tree still has upstream lint, formatting, TypeScript, and Clippy issues outside the vkdt migration work.
Optional: run the backend pre-commit bundle from a normal git checkout:
uvx pre-commit run --all-files
npm run hooks:installnpm run bootstrap installs the local pre-commit hook into .git/hooks/pre-commit for normal checkouts.
Run the evaluation harness against the built-in golden corpus:
npm run agent:evalProtocol details are documented in docs/protocol-v1.md.
Evaluation harness details are documented in docs/evaluation-harness.md.
Upstream tracking details are documented in docs/upstream-rapidraw.md.
Check the vendored RapidRAW tree against the tracked upstream commit with:
npm run rapidraw:upstream-statusThe upstream metadata records both the tagged release lineage and the exact vendored commit currently checked into rapidraw/.