fschutt/azul

Any Help Wanted?

JonBoyleCoding opened this issue ยท 4 comments

After looking around GUI libraries for rust, I really like what this project is trying to do. If possible, I would like to be able to help contribute in some form or another; however, I notice the WIP branch seems to be quite fast moving and I don't want to step on any toes or work on something that's currently being worked on.

Are there any specific issues that need to be worked on that you would be willing to accept pull requests for?

I develop on both Windows and Linux so I'm capable of testing on multiple platforms.

I'll notify you when I need help. I am currently working on getting a stable C-ABI done (to be able compile an azul.dll and load it at runtime in order to save on compilation time). Once that is done, you can help with testing + developing the layout system.

You can look at the layout tests here, which are tested by running the layout_test example. Basically your task would be "write more or these HTML-compatible tests and make them pass". The necessary layout code is in the azul-layout crate and the azul-text-layout crate can give you enough information about text layout, so that layouting should be pretty easy. It's just a matter of putting the building blocks together.

For now, I'll just need to finish the C-ABI + make the examples run and pass again.

Ok, I'll try and familiarise myself with those areas of the code-base and brush up on my HTML for when it's needed.

Hey, what about #238, is it still pending review?

I've just tried building the helloworld example from the landing page; it fails to compile:

$ cargo check
[...]
    Checking azul-css v0.1.0 (https://github.com/maps4print/azul?rev=7ed96030ac9d2233877f00611867208373ae25ff#7ed96030)
    Checking webrender_api v0.60.0
error[E0433]: failed to resolve: could not find `IoReader` in `bincode`
   --> /home/ulidtko/.cargo/registry/src/github.com-1ecc6299db9ec823/webrender_api-0.60.0/src/display_list.rs:270:35
    |
270 |             let reader = bincode::IoReader::new(UnsafeReader::new(&mut self.data));
    |                                   ^^^^^^^^ could not find `IoReader` in `bincode`

    Checking azul-css-parser v0.1.0 (https://github.com/maps4print/azul?rev=7ed96030ac9d2233877f00611867208373ae25ff#7ed96030)
    Checking azul-core v0.1.0 (https://github.com/maps4print/azul?rev=7ed96030ac9d2233877f00611867208373ae25ff#7ed96030)
    Checking azul-native-style v0.1.0 (https://github.com/maps4print/azul?rev=7ed96030ac9d2233877f00611867208373ae25ff#7ed96030)
error: aborting due to previous error

โ€” perhaps the webrender dependency needs update, there's 0.61.0 available?

I am aware of this post, and I hope the position stated there has been at least partly reconsidered; what I really want to ask, @fschutt โ€” do you perhaps see any ways to unblock the community and allow incremental forward progress (such as, fixing the build, setting up CI, updating examples and tests) while you're working on the big picture stuff?

Because people are checking it out, and giving it a try, and trying to fix it; only to face the uncertainty of many-months-long PR reviews. Please give it a thought or two, and sincerely thanks for what you do.

@ulidtko That issue is solved. If you still want to help, I need testing for macOS, since I don't have a mac.

git clone https://github.com/maps4print/azul
cd azul/azul-dll
cargo build --release

The build itself and the layout is fixed now. The only missing thing is the display list build step, which doesn't quite clip all rectangles correctly.