Skip to content

cgasgarth/rapidraw-agent

Repository files navigation

rapidVDKTAgent

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.

Features

  • RapidRAW-derived desktop app under rapidraw/
  • Vendored vkdt backend under vendor/vkdt/
  • FastAPI backend in server/ plus shared protocol models in shared/
  • 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

Architecture

  • rapidraw/ contains the desktop application and local vkdt integration work
  • vendor/vkdt/ contains the vendored vkdt source used for canonical graph rendering/export
  • server/ contains the FastAPI backend and Codex bridge
  • shared/ contains the protocol models and schema

Request flow:

  1. The desktop app captures the current image state, editable settings, preview, and session context.
  2. The backend sends that context to the planner.
  3. The planner returns structured edit operations.
  4. The desktop app validates and applies those operations through supported controls or vkdt graph parameters.

Setup

Prerequisites:

  • macOS or Linux
  • python3 3.14+
  • uv
  • Node.js 24+
  • Rust 1.94+
  • codex CLI 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 vkdt locally, including llvm, glfw, pkg-config, and glslang
  • 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 bootstrap

Run the backend:

npm run server:start

Launch RapidRAW in Tauri dev mode:

npm run rapidraw:start

Build the RapidRAW web frontend bundle:

npm run rapidraw:build

Build the vendored vkdt CLI used by the desktop adapter:

cd vendor/vkdt/bin
make cli

The 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.

Testing

Run backend tests:

uv run --extra dev pytest server/tests

Run backend type checking:

uv run --extra dev ty check

Run backend smoke verification with mock responses:

npm run agent:smoke

Run the root RapidRAW web build check:

npm run rapidraw:build

Run RapidRAW Rust checks:

npm run rapidraw:rust:fmt
npm run rapidraw:rust:check

Additional vendored RapidRAW quality wrappers are available:

npm run rapidraw:lint
npm run rapidraw:format:check
npm run rapidraw:typecheck
npm run rapidraw:rust:clippy

Those 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:install

npm 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:eval

Protocol

Protocol details are documented in docs/protocol-v1.md.

Evaluation Harness

Evaluation harness details are documented in docs/evaluation-harness.md.

Upstream tracking

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-status

The upstream metadata records both the tagged release lineage and the exact vendored commit currently checked into rapidraw/.

About

RapidRAW Agent: local AI chat editing workflow for RapidRAW

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors