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

/
├── capabilities                 # GPU capabilities
├── info                         # capture metadata
├── stats                        # per-pass statistics
├── log                          # validation messages
├── events/                      # all events
│   └── <eid>                    # single event details
├── draws/                       # draw calls
│   └── <eid>/
│       ├── pipeline/
│       │   ├── summary
│       │   ├── topology
│       │   ├── viewport
│       │   ├── scissor
│       │   ├── blend
│       │   ├── stencil
│       │   ├── vertex-inputs
│       │   ├── samplers
│       │   ├── vbuffers
│       │   ├── ibuffer
│       │   ├── push-constants
│       │   ├── rasterizer
│       │   ├── depth-stencil
│       │   └── msaa
│       ├── shader/              # per-stage shaders (sibling of pipeline)
│       │   ├── vs/
│       │   │   ├── disasm
│       │   │   ├── source
│       │   │   ├── reflect
│       │   │   └── constants
│       │   ├── ps/
│       │   │   └── ...
│       │   └── cs/ ...
│       ├── bindings/
│       │   └── <set>/
│       │       └── <binding>
│       ├── targets/
│       │   ├── color0.png
│       │   └── depth.png
│       ├── descriptors
│       ├── postvs
│       ├── cbuffer/
│       │   └── <set>/<binding>
│       ├── vbuffer
│       ├── ibuffer
│       └── pixel/
│           └── <x>/
│               └── <y>         # pixel history at (x,y)
├── resources/                   # all resources
│   └── <id>/
│       ├── info
│       └── usage
├── passes/                      # render passes
│   └── <name>/
│       ├── info
│       ├── draws/
│       └── attachments/
│           ├── color0, color1...
│           └── depth
├── textures/                    # texture resources
│   └── <id>/
│       ├── info
│       ├── image.png
│       └── data                 # raw binary
├── buffers/                     # buffer resources
│   └── <id>/
│       ├── info
│       └── data                 # raw binary
├── shaders/                     # shader resources
│   └── <id>/
│       ├── info
│       ├── disasm
│       └── used-by
├── counters/
│   └── list
└── current                      # alias for current event

Browsing

# List top level
rdc ls /
# → capabilities  info  stats  log  events/  draws/
#   passes/  resources/  textures/  buffers/  shaders/  counters/  current

# Drill into a draw call
rdc ls /draws/5/
# → pipeline/  shader/  bindings/  targets/  postvs  cbuffer/
#   vbuffer  ibuffer  descriptors  pixel/

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

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