INOX Crates

In this page you'll find a list of crates and their description and main concepts of the INOX project:

  • app:
    It's the entry point crate of every INOX application.
    It's basically a launcher that load different plugins dinamically or statically depending on platforms.
    It also contains the basic window system and the main loop.

  • binarizer:
    This crate is used on pc platforms to binarize raw data into INOX data format. It supports simple copy, font texture generation, gltf conversion, textures and shaders.

  • blender:
    This crate contains the interoperability between Blender and INOX engine.

  • commands:
    It's a useful crate to handle command line parsing easily.

  • core:
    This crate is the real core of INOX engine.
    It contains the real application loop, the scheduler, phases and job system and the handling of plugins.

  • filesystem:
    File handling for different platforms, dinamic library loading and file watchers.

  • graphics:
    All graphics related stuff of INOX engine.
    From renderer to shaders, textures, meshes, materials, fonts and all other resources handling.
    It lies on top of wgpu

  • log:
    It's a useful crate to handle logging on different platforms.

  • math:
    This crate contains math classes and utilities.
    It wraps cgmath crate.

  • messenger:
    Message handlers and message communication crate.
    It's at the core of INOX engine and it's used to handle messages between different parts of the engine.

  • nodes:
    It's a useful crate to handle node graphs, input and output pins and connections.

  • platform:
    Basic platform code for windowing and input handling.

  • plugins:
    In this folder you can find several plugins that you can use for your application.
    They can be used alone or combined together with other plugins easily.

  • profiler:
    It's a useful crate to handle profiling.
    It stores data to be used with chrome:://tracing but it can very easily extended if needed.

  • resources:
    It contains resource concept and shared data that is at the core of ECS paradigm of INOX engine.

  • scene:
    This crate has scene, object and its components (like camera, script, etc).

  • serialize:
    INOX engine serialization and deserialization library.

  • timetime:
    It's a useful crate to handle timer and fps computation.

  • ui:
    This crate contains ui system, widget handling and wraps egui.

  • uid:
    It's a useful crate to handle unique identifiers generation and handling.