Skip to content

lambda-rs #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 143 commits into from
May 18, 2022
Merged

lambda-rs #19

merged 143 commits into from
May 18, 2022

Conversation

vmarcella
Copy link
Member

@vmarcella vmarcella commented Oct 23, 2021

lambda-rs

For the last few months, lambda-cpp hasn't been worked on in favor of exploring a rewrite of lambda in Rust. During this period of time, I've worked on:

  • Creating the foundation for a migration of lambda-cpp to lambda-rs
  • Bringing back cross platform support for MacOS, Linux, & Windows with access to a variety of rendering backends like OpenGL, DX11/12, Metal, & Vulkan thanks to gfx-hal.
  • Orienting the public API around Runnables & Components instead of Applications & Layers. Runnables are now the basis for building an application with lambda & components are how developers are able to attach to runnables to perform computation during a runnables lifetime. More documentation & examples still need to be added for this.
  • refactored any enforcement/use of singleton data structures that were present in lambda-cpp which now allows for developers to make applications that run multiple runnable, window, & renderer instances within the same process. This is possible due to isolating the Runnable & Component internal state with cross component communication being propagated exclusively through the Runnable's event loop. Once propagated, active components receive the event and can update state internally before the next render.
  • Archiving lambda-cpp within the repo & temporarily maintaing it's github workflow. The lambda-cpp workflow is currently broken, but it's status is non-essential to lambda-rs' build system.
  • Adding a workflow to build lambda-rs on MacOS, Linux, & Windows for cross platform build integrity checks.
  • Lot's of refactoring & paradigm shifts due to the different dependencies used for building lambda-rs.

Commits are still being made to this branch & more context will be added as the PR is finalized

@vmarcella vmarcella force-pushed the vmarcella/lambda-rs branch from d65a609 to 8ecd76b Compare May 15, 2022 23:32
@vmarcella vmarcella merged commit d3aa965 into dev May 18, 2022
@vmarcella vmarcella deleted the vmarcella/lambda-rs branch May 18, 2022 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment