obel_platform

Crates.ioobel_platform
lib.rsobel_platform
version0.0.9
created_at2025-01-26 07:56:18.820589+00
updated_at2025-02-01 04:21:48.217267+00
descriptionPlatform agnostic support
homepagehttps://takulatech.net
repositoryhttps://github.com/takula-tech/nita-obel
max_upload_size
id1531150
size97,976
(takulatech)

documentation

https://obel.takulatech.net/docs

README

Obel Platform

license crates.io downloads docs.rs discord.online

Overview

obel_platform is a specialized crate designed to enhance cross-platform development
for Obel game engine projects. While Rust's standard library provides excellent multi-platform support,
this crate offers optimized alternatives specifically tailored for game development and embedded systems.

Key benefits:

  • Platform-optimized alternatives to standard library components
  • First-class support for no_std environments
  • Seamless integration with Bevy ecosystem

Installation

Add the crate to your project using cargo:

cargo add obel_platform

Usage

Simply import from obel_platform instead of std for supported items. Refer to the documentation for available items and their benefits.

Features

Standard Library Support (std) [default]

  • Enables standard library integration
  • Provides optimized alternatives where beneficial
  • Incompatible with no_std targets

Allocation Support (alloc) [default]

  • Enables alloc crate functionality
  • Automatically enabled with std feature
  • Compatible with most no_std targets

Portable Atomics (portable-atomic)

  • Uses portable-atomic for atomic operations
  • Essential for platforms with limited atomic operation support
  • Provides consistent atomic behavior across platforms

Critical Section Support (critical-section)

  • Implements synchronization using critical-section
  • Ideal for platforms with minimal atomic operation support
  • Often used in conjunction with portable-atomic

No-std Configuration

To use on generic(no_std) platforms, disable default features but enable other feature in your Cargo.toml:

obel_platform = { version = "x.y.z", default-features = false, features = ["generic"]  }
Commit count: 85

cargo fmt