rdq

rdq.sh control plane

Route VNC and RDP through a single edge.

Native Apple shells stay native. The browser gets a direct, operational web surface for sessions, proxy state, and packet-level delivery.

single Zig edge Swift native shells Zig bench lane

Core Proposal

One core, host-native shells, and a browser surface that stays browser-native.

Zig owns protocol, packet, appserver, edge, and terminal paths. Swift owns the Apple shell. The web client stays a neutral control plane with direct GPU upload from WASM memory instead of pretending to be a desktop window.

Proxy In-process JSON-RPC and edge relay
Renderer Zig-owned frame surfaces, Metal shared buffers, WebGPU and WebGL adapters
Delivery WASM packet runtime with browser-safe edge relay delivery
Install curl -fsSL https://rdq.sh/install | bash inspect installer

Quick Connect

Edge session bootstrap

Web sessions terminate at the edge proxy. Native apps keep their in-process appserver transport.

Browser Renderers

One WASM framebuffer, two GPU upload paths.

shared linear memory

Zig writes RGBA frames into WASM memory once. WebGPU and WebGL each upload directly from that same buffer without JavaScript pixel repacking.

WebGPU

Queue write to sampled texture

loading...

WebGL

`texSubImage2D` from WASM bytes

loading...
authoritative frame store lives in Zig/WASM memory
browser upload code is handwritten and adapter-specific
future decoded VNC and RDP frames land on the same shared surface

Core

loading...

Stable Zig C ABI wrapped by Swift and re-used by the browser edge.

WASM

loading...

Packet runtime build target is wired for browser delivery and proxy-side forwarding.

Edge

loading...

Single executable target for site assets, health checks, and proxy-facing APIs.