Skip to content

metaverse-crossroads/benthic-metaverse_client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

215 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaverse Client

last-commit open-pr open-issues

Screencast.From.2025-05-03.10-24-32.mp4

Rust libraries for creating metaverse clients

Metaverse Client is a package that can be used for easily creating fast, multithreaded metaverse clients. The goal of the project is to be as modular as possible, to allow for easy and straightforward testing, and enable users to quickly get started and implement changes.

Crates

Session

crates.io-session docs.rs-session

The session crate is the core of the project. This is what handles packet IO, and server/ui communication using actix. UnixDatagrams are used to communicate between the core and the UI. This allows frontends to be completely decoupled from the session, and can be written in any language using any framework. The server accepts messages in the form of packets as defined by the spec, and returns UI events serialized into bytes.

Messages

crates.io-messages docs.rs-messages

This is the protocol spec. This contains all of the information about messages that can be sent to and from the server. The goal is to keep this general enough to be able to implement this for both client and server projects. More information on the spec can be found here.

Environment

crates.io-environment docs.rs-environment

Provides a straightforward way of handling incoming Layer Data information being sent from an open metaverse server. This is intended to handle all of the hard parts of working with 3d data, allowing frontend applications to simply access the generated 3d files and render them where they need to go.

Ui

This is a debug UI. Written in bevy and bevy-egui, it is not expected to get very polished. The more user-friendly UI can be found at benthic_viewer.

Getting Started

Prerequisite Packages:

  • rust
  • cargo
  • openssl-devel
  • alsa-lib-devel
  • rust-libudev-devel
  • rust-libdbus-devel

Building

cargo run Will run the debug UI. cargo test Will run the tests.

About

PR staging area -- implementation of client side protocols for accessing the open metaverse!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 99.9%
  • Other 0.1%