mirl

Crates.iomirl
lib.rsmirl
version4.2.0
created_at2024-12-21 01:33:53.949554+00
updated_at2025-09-12 22:25:10.749113+00
descriptionMiners Rust Lib - A collection of ever growing and changing functions and structs. Check the description for compatibility and toggleable features! (Most of the lib is controlled by flags/features)
homepage
repositoryhttps://github.com/Miner3D-Gamer/mirl
max_upload_size
id1490691
size1,016,475
Miner3D (Miner3D-Gamer)

documentation

README

Mirl

Miners Rust Lib – A library with a little bit of everything:

  • Math functions
  • Graphics / color manipulation
  • Buffer rendering (Text, Lines, Triangles, Blocks, Circles, Images)
  • Console functions
  • Dynamic window/rendering system
    • Supported: MiniFB (Full), GLFW (Mostly)
  • Screenshots and other window manipulations
  • Rust extensions (e.g., .is_number(), .sign(), .average(), comparing tuples – functionality that should be built-in)
  • U1, U2, U4 with num-traits support (More to come)

Compatibility

Platform Status Info
Windows ✅ Full Native implementation
Linux ⚠️ Partial system flag not supported
macOS 🚧 Barely Untested
Web ⚠️ Partial GLFW and MiniFB backends are automatically disabled

Features

Default (disabled with default-features = false)

  • texture_manager_cleanup – Adds extra cleanup logic for 'automatic' texture unloading

Optional

  • imagery – Enables support for the image crate for image loading
  • svg_support – Enables SVG rendering via the resvg and tempfile crates (used for things like cursor support)
  • wayland – Placeholder for Linux Wayland support (not yet implemented)
  • minifb_backend – Enables the framework backend using minifb and requires low-level system access
  • glfw_backend – Enables the framework backend using glfw, OpenGL, and requires low-level system access
  • font_support – Adds support for fontdue and once_cell for font rendering
  • system – Low-level system interaction using platform-specific crates (x11, windows, winapi, raw-window-handle)
  • full_backend_support – Enables all major backends: minifb_backend, glfw_backend, keycode_support, svg_support, and ico_support
  • all – Enables all commonly used features: default, imagery, and full_backend_support
  • f128- Enables support for 128-bit floating point numbers since they are not yet stable
  • keycode_support - Enables the ability to interact with keyboard
  • do_not_compile_extension_tuple_support - Disables the tuple extensions -> Taking the result of cargo expand as reference, this saves ~27k lines of code the compiler can skip
  • do_not_compile_misc - Stops the experimental misc module from compiling
  • keyboard_query - Get the currently pressed keys -> Required for MiniFB

Hi there

What brought you to this place?

This is just a little big lib I built for easy function/struct reusability.

You can find the most random yet oddly specific things here. Enjoy! Or don't, honestly...

Commit count: 132

cargo fmt