Skip to content
Seyd
docs
Search
Ctrl
K
Cancel
Select theme
Dark
Light
Auto
Menu
Start here
What Seyd is
Concepts
Choose a form factor
Quickstart: drive the demo
Integrate with a coding agent
Robot side
Integrate the daemon (seydd)
A robot in Python
A robot in C
A robot in Rust
The publisher contract
Simulcast
Encoder setup
Pilot side
The web components
Your own UI on SeydSession
Latency and the HUD
Networking
Reachability
Starlink
When the pilot cannot connect
Not authorised, or a certificate mismatch
Your network blocks UDP/QUIC
Robot is behind carrier-grade NAT
Robot IPv6 is firewalled
Robot is offline
Port mapping failed on the robot router
Robot router uses symmetric NAT
Upstream firewall or double NAT
No direct connection
Cloud
Enrolment and access
Run the cloud yourself
Identity providers
Reference
C ABI (seyd.h)
Python (seyd)
JavaScript (@seyd/core, @seyd/web)
@seyd/core
Namespaces
fec
functions
cauchyMatrix
decode
encodeParity
parityCount
fec
wire
functions
encodeFrameMeta
encodeHeader
encodeMessage
parseChunk
parseFrameMeta
seqDelta
tsDeltaUs
interfaces
ChunkHeader
FrameMeta
ParsedChunk
variables
CONTROL_CHANNEL
DEFAULT_CHUNK_LEN
FEC_NONE
FEC_REED_SOLOMON
FLAG2_DISCARDABLE
FLAG2_END_OF_FRAME
FLAG2_FRAME_META
FRAME_META_LEN
HEADER_LEN
MAX_CHUNK_LEN
VERSION
wire
Classes
Clock
Decoder
Engine
InlineHost
MjpegDecoder
RaceError
Reassembler
RelayError
RelayTransport
SeydSession
SignalClient
StatsTracker
WebTransportTransport
WorkerHost
Interfaces
AgentStats
AssembledFrame
Candidate
ChannelInfo
EngineOptions
LinkQuality
LossEvent
NatReport
Offer
P2pFailure
PilotStats
QosInfo
RelayOffer
SensorEvent
SessionEvents
SeydSessionOptions
Transport
VideoFrameEvent
Type Aliases
ChannelKind
EngineEvent
FailureReason
P2pHint
SessionState
TransportKind
Variables
BLOCK_DATA_CHUNKS
MAX_REORDER
Functions
encodeFrame
nowUs
p2pDeadlineMs
parseV1
percentile
raceCandidates
workerSupported
@seyd/web
Classes
SeydConnectErrorElement
SeydHudElement
SeydVideoElement
Interfaces
Guidance
Type Aliases
FailureClass
Functions
classify
Rust crates (rustdoc)
seydd.toml
QoS profiles
Protocol contracts
Datagram framing: chunks, blocks, frames, channels
Control stream
Signal protocol v2
seydd — daemon configuration and robot-side interfaces
Architecture decisions
ADR 0001 — Wire protocol v2
ADR 0002 — QUIC stack: quinn
ADR 0003 — Media over QUIC (MoQ): not adopted for v2
ADR 0004 — One Rust core, one C ABI, thin wrappers
ADR 0005 — The pilot paces presentation on the source's capture clock
ADR 0006 — True loss is measured from counters read on one clock
ADR 0007 — Authentication is pluggable; authorization is ours
ADR 0008 — Simulcast: adapt resolution by selecting a stream, not by reconfiguring one
ADR 0009 — Keyframes on demand: intra refresh or a long GOP, never a one-second IDR cadence
ADR 0010 — A cloud relay as the last resort, never a silent fallback
ADR 0011 — A publisher states its own bitrate ceiling
Select theme
Dark
Light
Auto
wire
Interfaces
Section titled “Interfaces”
ChunkHeader
FrameMeta
ParsedChunk
Variables
Section titled “Variables”
CONTROL_CHANNEL
DEFAULT_CHUNK_LEN
FEC_NONE
FEC_REED_SOLOMON
FLAG2_DISCARDABLE
FLAG2_END_OF_FRAME
FLAG2_FRAME_META
FRAME_META_LEN
HEADER_LEN
MAX_CHUNK_LEN
VERSION
Functions
Section titled “Functions”
encodeFrameMeta
encodeHeader
encodeMessage
parseChunk
parseFrameMeta
seqDelta
tsDeltaUs