Closed Qs-Official closed 5 months ago
Hello, it is completely fine to ask this here. I'm currently crunching school due to my finals for graduation. That is the reason why the development is rather slow and accidental. But it will only be like this until June. After that I will be as active as I was in the begging of the project.
Lunex 0.1.0 is ~80% done. I have decided on the following crate layout:
lunex_engine
= all layout algorithms, pure access functions, types, etc. that doesn't require Bevy crate directly (except for deriving Component and using Vec2 and IVec2) will be here. Bevy derives are feature-locked under "bevy". The reason for that is that the pure core of the library doesn't really require Bevy. It provides only types and methods after all.bevy_lunex
= This is the heavy lifting crate. It uses Bevy systems to look for changes and update and trigger the types and methods provided by lunex_engine
. This crate's goal is to be PURE layout only, meaning no graphical stuff. You can only bind entities to a layout to be positioned by the algorithms. Think of this as HTML+CSS without stylingbevy_lunex_cursor
??? = not decided on it yet, but this is where I will probably move the cursor functionality to.blueprint_ui
= This is a crate I plan to have all graphical stuff in. It will use bevy_vector_shapes
or vello
, but most likely the first one. It adds new components and systems bundled in plugin, that do styling. It will have themes and will be used for production, not for games. So more Blender/MS office/Web user interface. The goal is to use this for some kind of editor built in Bevy.All the new code is currently public right here:
Bevypunk - dev branch
- This is an example recreating Cyberpunk UI using Lunex, currently I'm trying to rebuild the example using the new updated API to be the same as main branchBevycom
- This is an example of the new API used in world space UI. A lot of stuff is still missing, but as I said it's WIP. It's trying to recreate XCOM UI.Lunex engine
- The backbone as mentioned aboveBevy Lunex - dev branch
- The functionality as mentioned aboveBlueprint UI
- The styling and theming for nice modern non-game UI will be here, currently uses bevy_vector_shapes
, but it's broken as the crate is 0.12.1
and Lunex is tracking Bevy git main
to be ready for 0.13
. Contributions are very appreciated and welcome, but yeah, I agree. It is a weird time, because I'm making very hectic and big changes to the codebase. But I think that the stuff is more or less settled and all I just need to do is add or re-implement functionality.
The reactivity api should look like Bevypunk - main branch
. Not the layout declaration, but the logic in components paradigm.
This is old API, but i will move towards COMPONENT only logic as much as much as I can.
commands.spawn((
lg::Animate::new(),
lg::AnimateControl::new(0.25, 0.05),
lg::AnimateColor::new(self.text_color, self.text_hover_color),
lg::PipeAnimateInputFromTree,
));
In the new API I managed to create COMPONENT only layout definition, so if things go well, we will have UI defined from only components, which means, server driven UI or UI hot reloading.
My next goals is to:
bevy_mod_picking
for cursor detectionblueprint_ui
and create some sort of figma editor for LunexI hope I gave you some insights into the Project. If you have any questions, don't hesitate and ask. For quick chat you can contact me on Bevy Discord or DM me @idedary
Thank you for your amazing response!
Good luck with your studies! It takes serious amount of dedication to stay on top of it all, even just on its own, so to work on a project like this even a little alongside that is super impressive to me and worth commending, so tear it up out there!
I'll be looking into the various repos in hopes to be of help in the near future, I love the ideas being explored here and would like to help as much as i can!
(Usually there are communities i can go to, but there doesnt seem to be one so sorry if this is the wrong place for this)
I'd like to start contributing, and got really excited about this project, but it seems I picked a weird time. Id like a window into the plans and potential features/differences from the current system to 1.0. If its not all concrete yet, and you'd rather not. Then a peek into whats currently being thought about/lightly worked on
(i dug around and found blueprint_ui but it didnt help my confusion, is this all just frozen until further notice?)