Skip to content

EmbarkStudios/rust-ecosystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

253 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Embark Rust Ecosystem

Embark logo

High-level tracking and discussions about improving Rust and the Rust ecosystem for our game development use cases at Embark.

Check out the Issues for active topics. And our embark.dev open source portal.

Open Source

Open source Rust projects we've created so far and are actively using and maintaining:

Name Description Crates.io
๐ŸŒ‹ ash-molten Statically linked MoltenVK for Vulkan on Mac using Ash Latest version
๐Ÿ‘ท buildkite-jobify Kubekite, but in Rust, using configuration from your repos
๐Ÿ“œ cargo-about Cargo plugin to generate list of all licenses for a crate Latest version
โŒ cargo-deny Cargo plugin to help you manage large dependency graphs Latest version
๐ŸŽ cargo-fetcher cargo fetch alternative for use in CI or other "clean" environments Latest version
๐Ÿง  cervo Middleware used for ML inference in our games. Latest version
โš™๏ธ cfg-expr A parser and evaluator for Rust cfg() expressions Latest version
๐Ÿ“’ cloud-dns Client to interact with Google Cloud DNS v1 Latest version
๐Ÿ”ฅ crash-handling Collection of crates for catching and handling crashes
โ›ด๏ธ discord-sdk An open implementation of the Discord Game SDK in Rust Latest version
๐ŸŒ‰ fsr-rs Rust bindings for AMD FidelityFXโ„ข Super Resolution Latest version
๐Ÿš™ gsutil A small, incomplete replacement for the official gsutil Latest version
๐Ÿ’ก kajiya Experimental real-time global illumination renderer
๐Ÿ“ฆ krates Creates graphs of crates from cargo metadata Latest version
๐Ÿชž mirror-mirror Powerful reflection library for Rust Latest version
๐Ÿ†™ octobors GitHub action for automerging PRs based on a few rules
๐ŸŽณ physx Use NVIDIA PhysX in Rust Latest version
โŒ› poll-promise A Rust promise for games and immediate mode GUIs Latest version
๐Ÿ—œ presser A helper crate for doing low-level data copies Latest version
๐Ÿ’  proto-gen A protobuf generation runner/cli using tonic build Latest version
๐Ÿฆ puffin Simple instrumentation profiler for Rust Latest version
๐Ÿ““ relnotes Automatic GitHub release notes Latest version
๐Ÿ rpmalloc-rs Cross-platform Rust global memory allocator using rpmalloc Latest version
๐Ÿ‰ rust-gpu Making Rust a first-class language & ecosystem for GPU code
๐ŸŒŒ rymder Unofficial agones client Latest version
๐Ÿ†” spdx Helper crate for SPDX expressions Latest version
๐Ÿ›  spirv-tools-rs An unofficial wrapper for SPIR-V Tools Latest version
๐Ÿ”† superluminal-perf Superluminal Performance profiler integration Latest version
๐Ÿ“‚ tame-gcs Google Cloud Storage functions that follows the sans-io approach Latest version
๐Ÿ” tame-oauth Small OAuth crate that follows the sans-io approach Latest version
๐Ÿงฌ tame-oidc Small OIDC crate that follows the sans-io approach Latest version
๐Ÿ’ฉ tame-webpurify An incredibly small library to interact with the webpurify REST API Latest version
๐ŸŽจ texture-synthesis Example-based texture synthesis generator and CLI example Latest version
๐Ÿ›  tiny-bench A tiny benchmarking library Latest version
โฑ๏ธ tracing-ext-ffi-subscriber Subscriber for passing spans to a profiling tool via FFI. Latest version
๐Ÿชต๏ธ tracing-logfmt A logfmt formatter for tracing-subscriber. Latest version
๐Ÿ’ซ tryhard Easily retry futures Latest version

You can see all these crates on our crates.io profile.

Contributing

We encourage contributions to any of our open source projects. If you're not sure where to start, look at the GitHub issues on any of the above projects!

Check out guidelines.md for our guidelines & policies for how we develop in Rust.

To make sure we keep a friendly and safe environment for everyone, we have a Contributor Code of Conduct. You can read this in any of our projects' repositories. By contributing to our projects, you agree to the code of conduct.

Areas of Interest

Areas that we are interested in or working on, and want to help see improved in Rust:

  • โ˜ธ Distributed systems - async, tokio, tonic

  • ๐Ÿ•น๏ธ Game engine systems - multiplayer, rendering, physics, audio, server, assets, workflows

  • ๐Ÿ“ฆ Developer experience - fast iteration with large projects/monorepos, distributed builds, debugging, profiling, IDE

  • ๐Ÿ›ธ WebAssembly and WASI - sandboxed safe Rust code on client, edge & cloud

  • ๐Ÿค– Machine learning - efficient inference, library bindings, training environments

  • ๐Ÿš€ High performance runtime - CPU job scheduling, code generation, optimizing crates

  • ๐Ÿ“บ๐Ÿ“ฑ Console & mobile platform support - PlayStation, Xbox, Android. #18

  • ๐ŸŽ Rust on GPU - future compute & ML programming models beyond shaders, https://shader.rs

We track and discuss these from our perspective in the Issues for visibility and to get feedback, feel free to join in if you have ideas!

Also check out the Rust Game Development Working Group.

Work with us

We're actively looking to collaborate with developers on the areas discussed in this repository. If you're interested in working on a specific issue or idea highlighted here, please reach out to us at opensource@embark-studios.com to discuss contracting opportunities or sponsorship.

We are also hiring for full-time positions remotely within Europe or on-site in Stockholm or Malmรถ!

Let's go! ๐Ÿš€

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Rust wants & tracking for Embark ๐Ÿฆ€

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

Watchers

Forks

Contributors

Languages

โšก