VFS Path System

rdc-cli exposes all capture data through a virtual filesystem (VFS). Every draw call, resource, pipeline state, and shader is accessible via a stable path. This makes it easy to browse, script, and integrate with tools.

Path Namespace

/
├── info                         # capture metadata
├── events/                      # all events
│   └── <eid>/                   # single event details
├── draws/                       # draw calls
│   └── <eid>/
│       ├── pipeline/
│       │   ├── vertex-input
│       │   ├── rasterizer
│       │   ├── depth-stencil
│       │   ├── color-blend
│       │   ├── shader/
│       │   │   ├── vs           # vertex shader
│       │   │   ├── ps           # pixel shader
│       │   │   └── ...
│       │   └── push-constants
│       ├── bindings/
│       │   └── <set>/
│       │       └── <binding>
│       └── descriptors/
├── resources/                   # all resources
│   └── <id>/
│       ├── info
│       ├── usage
│       └── data                 # binary content
├── passes/                      # render passes
│   └── <id>/
├── textures/                    # texture resources
│   └── <id>/
├── buffers/                     # buffer resources
│   └── <id>/
└── shaders/                     # shader resources

Browsing

# List top level
rdc ls /
# → events/  draws/  resources/  passes/  textures/  buffers/  shaders/  info

# Drill into a draw call
rdc ls /draws/5/
# → pipeline/  bindings/  descriptors/

# Read a shader
rdc cat /draws/5/pipeline/shader/ps

# Tree view
rdc tree /draws/5/ --depth 2

Binary Safety

Some VFS nodes contain binary data (textures, buffers). When outputting to a TTY, rdc-cli will refuse to print binary content and prompt you to use -o to save to a file instead. This protects your terminal.

# This will warn about binary content on TTY
rdc cat /textures/5/data

# Use -o to save to file
rdc cat /textures/5/data -o texture.bin

Stable Paths

VFS paths are stable across sessions for the same capture file. This means you can use them reliably in scripts and CI pipelines. Event IDs and resource IDs come from the capture itself and don't change between runs.