-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #280 from StarArawn/bevy-12
Bevy 12
- Loading branch information
Showing
200 changed files
with
31,162 additions
and
30,359 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,45 @@ | ||
name: Rust | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
matrix: | ||
os: [windows-latest, ubuntu-latest, macos-latest] | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: 1.70.0 | ||
components: clippy, rustfmt | ||
- uses: actions/checkout@v3 | ||
- uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
key: ${{ runner.os }}-cargo-build-1.70.0-${{ hashFiles('**/Cargo.toml') }} | ||
- name: Install alsa and udev | ||
run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev | ||
if: runner.os == 'linux' | ||
- name: Build | ||
run: cargo build --verbose --workspace --features "bevy/x11" | ||
# - name: Run tests | ||
# run: cargo test --verbose --workspace | ||
- name: Run fmt check | ||
run: cargo fmt --all -- --check | ||
- name: Run clippy | ||
run: cargo clippy --workspace --all-targets --all-features --features "bevy/x11" -- --deny warnings | ||
name: Rust | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
matrix: | ||
os: [windows-latest, ubuntu-latest, macos-latest] | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: 1.75.0 | ||
components: clippy, rustfmt | ||
- uses: actions/checkout@v3 | ||
- uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
key: ${{ runner.os }}-cargo-build-1.75.0-${{ hashFiles('**/Cargo.toml') }} | ||
- name: Install alsa and udev | ||
run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev | ||
if: runner.os == 'linux' | ||
- name: Build | ||
run: cargo build --verbose --workspace --features "bevy/x11" | ||
# - name: Run tests | ||
# run: cargo test --verbose --workspace | ||
- name: Run fmt check | ||
run: cargo fmt --all -- --check | ||
- name: Run clippy | ||
run: cargo clippy --workspace --all-targets --all-features --features "bevy/x11" -- --deny warnings |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,21 @@ | ||
target | ||
|
||
# These are backup files generated by rustfmt | ||
**/*.rs.bk | ||
|
||
# MSVC Windows builds of rustc generate these, which store debugging information | ||
*.pdb | ||
|
||
.vscode | ||
|
||
*.log | ||
|
||
msdfgen | ||
|
||
.idea | ||
|
||
.DS_Store | ||
|
||
Cargo.lock | ||
|
||
target | ||
|
||
# These are backup files generated by rustfmt | ||
**/*.rs.bk | ||
|
||
# MSVC Windows builds of rustc generate these, which store debugging information | ||
*.pdb | ||
|
||
.vscode | ||
|
||
*.log | ||
|
||
msdfgen | ||
|
||
.idea | ||
|
||
.DS_Store | ||
|
||
Cargo.lock | ||
|
||
.cargo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,51 @@ | ||
[package] | ||
name = "kayak_ui" | ||
description = "A UI library built using the bevy game engine!" | ||
version = "0.4.1" | ||
edition = "2021" | ||
resolver = "2" | ||
authors = ["John Mitchell"] | ||
homepage = "https://github.com/StarArawn/kayak_ui" | ||
repository = "https://github.com/StarArawn/kayak_ui" | ||
license-file = "LICENSE" | ||
exclude = ["assets/*", "screenshots/*", "book"] | ||
|
||
[workspace] | ||
members = ["kayak_ui_macros", "kayak_font"] | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] | ||
bevy = { version = "0.11", default-features = false, features = ["bevy_render", "bevy_asset", "bevy_winit", "bevy_core_pipeline"] } | ||
bevy_svg = { version="0.11", default-features = false } | ||
bitflags = "1.3.2" | ||
bytemuck = "1.12" | ||
dashmap = "5.4" | ||
fancy-regex = "0.11.0" | ||
indexmap = "1.9" | ||
instant = "0.1" | ||
interpolation = { version = "0.2" } | ||
kayak_font = { path = "./kayak_font", version = "0.4" } | ||
kayak_ui_macros = { path = "./kayak_ui_macros", version = "0.4" } | ||
log = "0.4" | ||
morphorm = "0.3" | ||
reorder = "2.1" | ||
resources = "1.1" | ||
usvg = "0.27" | ||
uuid = { version = "1.3", features = ["v4"] } | ||
|
||
[dev-dependencies] | ||
fastrand = "1.8" | ||
bevy-inspector-egui = "0.19" | ||
bevy = { version = "0.11", default-features = true } | ||
|
||
[[example]] | ||
name = "tabs" | ||
path = "examples/tabs/tabs.rs" | ||
|
||
[[example]] | ||
name = "todo" | ||
path = "examples/todo/todo.rs" | ||
|
||
[package.metadata.docs.rs] | ||
features = ["bevy/x11"] | ||
[package] | ||
name = "kayak_ui" | ||
description = "A UI library built using the bevy game engine!" | ||
version = "0.4.1" | ||
edition = "2021" | ||
resolver = "2" | ||
authors = ["John Mitchell"] | ||
homepage = "https://github.com/StarArawn/kayak_ui" | ||
repository = "https://github.com/StarArawn/kayak_ui" | ||
license-file = "LICENSE" | ||
exclude = ["assets/*", "screenshots/*", "book"] | ||
|
||
[workspace] | ||
members = ["kayak_ui_macros", "kayak_font"] | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] | ||
bevy = { version = "0.12", default-features = false, features = ["bevy_render", "bevy_asset", "bevy_winit", "bevy_core_pipeline"] } | ||
bevy_svg = { version="0.12", default-features = false } | ||
bitflags = "1.3.2" | ||
bytemuck = "1.12" | ||
dashmap = "5.4" | ||
fancy-regex = "0.11.0" | ||
indexmap = "1.9" | ||
instant = "0.1" | ||
interpolation = { version = "0.2" } | ||
kayak_font = { path = "./kayak_font", version = "0.4" } | ||
kayak_ui_macros = { path = "./kayak_ui_macros", version = "0.4" } | ||
log = "0.4" | ||
morphorm = "0.3" | ||
reorder = "2.1" | ||
resources = "1.1" | ||
usvg = "0.27" | ||
uuid = { version = "1.3", features = ["v4"] } | ||
|
||
[dev-dependencies] | ||
fastrand = "1.8" | ||
bevy-inspector-egui = "0.21" | ||
bevy = { version = "0.12", default-features = true } | ||
|
||
[[example]] | ||
name = "tabs" | ||
path = "examples/tabs/tabs.rs" | ||
|
||
[[example]] | ||
name = "todo" | ||
path = "examples/todo/todo.rs" | ||
|
||
[package.metadata.docs.rs] | ||
features = ["bevy/x11"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
Kayak UI is dual-licensed under either | ||
|
||
* MIT License (docs/LICENSE-MIT or http://opensource.org/licenses/MIT) | ||
* Apache License, Version 2.0 (docs/LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) | ||
|
||
at your option. | ||
Kayak UI is dual-licensed under either | ||
* MIT License (docs/LICENSE-MIT or http://opensource.org/licenses/MIT) | ||
* Apache License, Version 2.0 (docs/LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) | ||
at your option. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,66 @@ | ||
<p align="center"> | ||
<img src="images/kayak.svg" alt="Kayak UI" width="600" /> | ||
</p> | ||
<br/> | ||
|
||
<h1> | ||
<p align="center"> | ||
Kayak UI | ||
<p> | ||
</h1> | ||
|
||
## What is Kayak UI? | ||
Kayak UI is a declarative UI that can be used to make user interfaces in Rust primarily targeting games. It's free and open-source! | ||
|
||
Check out the book! | ||
[Kayak UI Book](./book/src/SUMMARY.md) | ||
|
||
## WARNING | ||
Kayak UI is in the very early stages of development. Important features are missing and some documentation is missing. Kayak UI is designed to only work with Bevy. | ||
|
||
## Features | ||
- Easy to use declarative syntax using a custom proc macro | ||
- Basic widget and global state management | ||
- Input events (Mouse, Keyboard, Char) | ||
- Fast and accurate layouts using morphorm: https://github.com/geom3trik/morphorm | ||
- A few default widgets (check out Kayak's [built-in widgets](./src/widgets)!) | ||
- Style system built to kind of mimic CSS styles. | ||
- Image and Nine patch rendering. | ||
- Vec widgets see vec example! | ||
|
||
## Bevy Renderer Features | ||
- Image and NinePatch renderer | ||
- Fast MSDF Font renderer | ||
- Quad renderer with rounded corners. | ||
- Custom UI node to ensure UI renders on top of 3D and 2D entities. | ||
- Fully integrated into bevy to capture input events, use bevy assets(images, etc). | ||
- Dpi Scaling | ||
- Batched Rendering | ||
- Opacity Layers | ||
- Custom Materials | ||
|
||
## Missing features | ||
- More default widgets. | ||
- More events | ||
|
||
## Example Screenshot | ||
<img src="images/screen1.png" alt="Kayak UI" width="600" /> | ||
|
||
## Usage | ||
Use bevy `0.10`! Make sure the version of Kayak you are using uses the same version of bevy. | ||
|
||
```rust | ||
kayak_ui = "0.4" | ||
bevy = "0.10" | ||
``` | ||
|
||
|bevy|kayak_ui| | ||
|---|---| | ||
|`main`|`bevy-track`| | ||
|0.10.x|0.4| | ||
|0.10.x|0.3| | ||
|0.9|0.2| | ||
|0.9|0.1| | ||
|
||
## Check out the book! | ||
[Kayak UI Book](./book/src/SUMMARY.md) | ||
<p align="center"> | ||
<img src="images/kayak.svg" alt="Kayak UI" width="600" /> | ||
</p> | ||
<br/> | ||
|
||
<h1> | ||
<p align="center"> | ||
Kayak UI | ||
<p> | ||
</h1> | ||
|
||
## What is Kayak UI? | ||
Kayak UI is a declarative UI that can be used to make user interfaces in Rust primarily targeting games. It's free and open-source! | ||
|
||
Check out the book! | ||
[Kayak UI Book](./book/src/SUMMARY.md) | ||
|
||
## WARNING | ||
Kayak UI is in the very early stages of development. Important features are missing and some documentation is missing. Kayak UI is designed to only work with Bevy. | ||
|
||
## Features | ||
- Easy to use declarative syntax using a custom proc macro | ||
- Basic widget and global state management | ||
- Input events (Mouse, Keyboard, Char) | ||
- Fast and accurate layouts using morphorm: https://github.com/geom3trik/morphorm | ||
- A few default widgets (check out Kayak's [built-in widgets](./src/widgets)!) | ||
- Style system built to kind of mimic CSS styles. | ||
- Image and Nine patch rendering. | ||
- Vec widgets see vec example! | ||
|
||
## Bevy Renderer Features | ||
- Image and NinePatch renderer | ||
- Fast MSDF Font renderer | ||
- Quad renderer with rounded corners. | ||
- Custom UI node to ensure UI renders on top of 3D and 2D entities. | ||
- Fully integrated into bevy to capture input events, use bevy assets(images, etc). | ||
- Dpi Scaling | ||
- Batched Rendering | ||
- Opacity Layers | ||
- Custom Materials | ||
|
||
## Missing features | ||
- More default widgets. | ||
- More events | ||
|
||
## Example Screenshot | ||
<img src="images/screen1.png" alt="Kayak UI" width="600" /> | ||
|
||
## Usage | ||
Use bevy `0.10`! Make sure the version of Kayak you are using uses the same version of bevy. | ||
|
||
```rust | ||
kayak_ui = "0.4" | ||
bevy = "0.10" | ||
``` | ||
|
||
|bevy|kayak_ui| | ||
|---|---| | ||
|`main`|`bevy-track`| | ||
|0.10.x|0.4| | ||
|0.10.x|0.3| | ||
|0.9|0.2| | ||
|0.9|0.1| | ||
|
||
## Check out the book! | ||
[Kayak UI Book](./book/src/SUMMARY.md) |
Oops, something went wrong.