Crate metaverse_core

Crate metaverse_core 

Source
Expand description

§Metaverse Core

This crate contains a modular, asyncronous backend for open metaverse viewers. The core’s scope is to handle all packet IO between the core and the server, and between the core and the UI, allowing UI projects to only have to worry about display and managing player input.

§Goals

  • Enable completely async client-server processing using the actix actor system
  • Fully seperate UI and core concerns, using inter-process UDP packets to allow communication between the server and the player
  • Fully seperate core and packet parsing conerns, using only well-defined structs throughout the project
  • Handle as much mesh and vertex math as possible in the core, allowing UI and mesh generation to be handled with as few gotchas as possible
  • Complete and understandable documentation
  • Create developer-friendly APIs that can be used in lieu of the more confusing opensimulator/secondlife APIs.

§Current Status

Work In Progress
This crate is under active development, and is not suitable for production use. APIs may change frequently, and many protocol features are currently unimplemented.

Modules§

avatar
Handles mailbox events to do with handling avatars
capabilities
Handles mailbox events required for establishing viewer capabilities
environment
Handles mailbox events for generating land and environment
errors
This module stores custom error definitions
initialize
This module initializes the mailbox
inventory
Handles mailbox events for handling and updating inventory
objects
Handles mailbox events for retrieving and rendering objects
session
Handles mailbox events required for opening and maintaining the session
transport
handles packet sending between UI and core, and core and server