scarab-protocol
IPC protocol definitions and shared-memory layout for the Scarab terminal emulator.
Status: pre-1.0. Wire format and shared-memory layout may change between 0.x minor versions.
What this crate provides
#[repr(C)]shared-memory structs (SharedState, ring buffer, grid cells).DaemonMessage/ClientMessageenums for the Unix-domain-socket control channel between the daemon and the Bevy client.- Wire types reused by
scarab-plugin-api(e.g.ModalItem,OverlayStyle,NavFocusableAction).
Constraints
- Layout is
#[repr(C)]and must remainno_stdcompatible so the shared-memory mapping has stable, predictable layout across builds. - Uses
bytemuck::{Pod, Zeroable}for safe zero-copy transmutation.
Features
| Feature | Default | Description |
|---|---|---|
bevy |
off | Derives bevy_ecs::Resource/Event on selected types. |
License
Dual-licensed under either:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.