Drifting in Space
Aper is an MIT-licensed Rust library designed for real-time data synchronization and mutation management across networks.
Services
Drifting in Space specializes in developing Aper, an MIT-licensed Rust library that handles data mutations as first-class values. Aper supports serialization of data mutations to synchronize state across networks or to persist changes for audit logs. It also facilitates the out-of-order application of mutations and seamlessly integrates with its built-in data structures.
Products
Aper is the core product offered by Drifting in Space. It is a Rust library designed for real-time, multi-user data representation. Aper can manage application state for real-time collaboration, create timestamped audit trails for data structures, and synchronize game state in multiplayer games. Aper-yew and Aper-serve are client and server implementations that support synchronizing state across WebAssembly clients using WebSockets.
Use Cases
Aper serves a variety of use cases including the management of application state in real-time collaborative features, the creation of timestamped audit trails for arbitrary data structures, and the synchronization of game state for multiplayer games. It ensures that state is maintained reliably and consistently across different clients, addressing scenarios that require real-time data updates and synchronization.
Technical Features
Aper provides robust technical features, such as the ability to represent data as state machines for synchronization purposes. It keeps client states in lockstep by sending a full copy of the latest state upon connection, followed by a real-time stream of transitions. This guarantees that all clients receive the same transitions in the same order, maintaining state consistency. Additionally, Aper encodes intent in mutations to enable clean application of concurrent mutations and allows for the implementation of arbitrary update logic.