magma_app

Crates.iomagma_app
lib.rsmagma_app
version0.2.0-alpha.4
created_at2023-12-01 13:24:33.883758+00
updated_at2025-08-21 18:36:35.048026+00
descriptionPart of the Magma-API, which is the API of the Magma3D game engine.
homepagehttps://dynamicgoose.github.io/magma3d-engine/
repositoryhttps://codeberg.org/DynamicGoose/magma-api
max_upload_size
id1055092
size20,043
Géza Ahsendorf (DynamicGoose)

documentation

README

magma_app

This crate expands the capabilities of magma_ecs and forms the base of the magma_api.

Features

  • An app struct, which wraps a magma_ecs::World and adds more functionality.
  • Adding custom modules (not rust modules) to an app.
  • An update and run method with the ability to specify a custom runner.

Usage

This crate can be used standalone, but it is recommended to use it as part of the magma_api.

Add this to your Cargo.toml:

[dependencies]
magma_app = "0.2.0-alpha.4"

Entity-Component-System (Magma-ECS)

Entity: An entity is just an index into the component storage.
Component: A component holds some type of data. Entities can have components assigned to them.
System: A system is a piece of code (usually a function), that reads and modifies the data.

Another way to think about this would be Identifier-Data-Logic.

Example

use magma_app::App;

fn main() {
    let mut app = App::new();
    // run the app
    app.run();
}

Cargo Features

currently no features

Disclaimer

This is not production ready.

Commit count: 0

cargo fmt