๐Ÿฆ€

Rust Core Libraries

gestura-protocol ยท canonical source

Gestura's device stack is Rust end to end. The Shared Semantic Protocol โ€” envelopes, gestures, haptics, config, and the raw sensor stream โ€” is defined once in Rust and mirrored by the ring firmware and the simulator. The TypeScript SDK consumes it compiled to WebAssembly; the planned Python SDK binds it natively via PyO3.

Installation

A standalone crates.io release is on the roadmap. Today, build against the workspace crates in the public repository (git dependency), and see crates/gestura-core-ring/PROTOCOL.md for the contract.

Quick Start

// The contract every SDK shares โ€” see PROTOCOL.md
ProtocolEnvelope {
    protocol_version,
    message_kind,
    message_id,
    sequence,       // >=1; acknowledged via the ack event
    timestamp_ms,   // device uptime โ€” the ring has no wall clock
    payload,
}

Features

  • โœ“
    Zero-cost abstractions

    No runtime overhead for high-level APIs

  • โœ“
    Memory safety

    Compile-time guarantees prevent common bugs

  • โœ“
    Async runtime support

    Works with tokio, async-std, and smol

  • โœ“
    Cross-platform

    Windows, macOS, Linux, and embedded systems

  • โœ“
    No-std support

    Run on embedded devices without an OS

API Reference

Shared Semantic Protocol

The canonical contract for gestures, haptics, config, and the sensor stream โ€” documented in PROTOCOL.md in the public repository.

View full API reference โ†’

More Resources