Skip to content

Architecture

moqtap-codec (MIT) ← pure data: bytes ↔ Message structs
moqtap-trace (MIT) ← data model: TraceEvent, .moqtrace format
moqtap-session (MIT) ← connection: quinn, TLS, streams
moqtap-client (MIT) ← endpoint: subscribe + publish + fetch
moqtap-app (proprietary)
Vue 3 frontend
@moqtap/types (auto-generated TS types)
  • Codec is puremoqtap-codec has no I/O dependencies. It’s just bytes in, structs out.
  • Lenient parsing — unknown fields produce warnings, not errors. A debug tool must show you what’s wrong.
  • quinn hardcoded — no transport trait abstraction. quinn is the only mature Rust QUIC library.
  • Full bidirectional endpointmoqtap-client can both subscribe and publish per the MoQT spec.
  • Auto-generated types — TypeScript types are derived from Rust structs via ts-rs, ensuring the IPC contract never drifts.
User (Vue UI) → Tauri IPC → Rust commands → quinn (QUIC) → MoQT Relay
User (Vue UI) ← Tauri events (60Hz batched) ← TraceEvent ← quinn