add: README.md
This commit is contained in:
110
README.md
Normal file
110
README.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# bevy_cef
|
||||
|
||||
A powerful Bevy plugin for embedding web content using the Chromium Embedded Framework (CEF).
|
||||
Render websites, local HTML files, and web applications directly onto 3D meshes or 2D sprites with full interactivity
|
||||
and bidirectional communication between JavaScript and Bevy.
|
||||
|
||||
[](https://crates.io/crates/bevy_cef)
|
||||
[](https://docs.rs/bevy_cef)
|
||||
[](https://github.com/not-elm/bevy_cef#license)
|
||||
|
||||
https://github.com/user-attachments/assets/54f476d0-8eda-4030-a3f6-dc4f2f54209f
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **🌐 Full Web Browser Integration** - Embed complete web pages with CSS, JavaScript, and modern web APIs
|
||||
- **🎮 3D Mesh & 2D Sprite Rendering** - Render web content on any 3D surface or 2D sprite
|
||||
- **⚡ Interactive Input** - Full mouse, keyboard, and touch input support with automatic event forwarding
|
||||
- **🔄 Bidirectional Communication** - Seamless data exchange between JavaScript and Bevy systems
|
||||
- **📁 Local Asset Serving** - Serve local HTML/CSS/JS files with hot reload support
|
||||
- **🛠️ Developer Tools** - Full Chrome DevTools integration for debugging
|
||||
- **🎯 Navigation Controls** - Browser history, zoom, audio controls, and more
|
||||
- **🔒 Multi-Process Architecture** - Secure CEF multi-process design for stability
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
Add to your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
bevy = "0.16"
|
||||
bevy_cef = "0.1.0"
|
||||
```
|
||||
|
||||
### Platform Requirements
|
||||
|
||||
On macOS, using CEF typically requires creating an app bundle.
|
||||
For development, this library provides a `debug` feature flag.
|
||||
Once enabled, you can run the app without needing the bundle.
|
||||
|
||||
> [!NOTE]
|
||||
> Use this feature only during development; for releases, bundle the renderer process and the CEF framework inside the
|
||||
> app.
|
||||
|
||||
### Installation debug tools(macOS)
|
||||
|
||||
When using `debug`, you need to prepare a separate CEF framework and debug render process.
|
||||
Please follow the steps below to set it up.
|
||||
|
||||
```shell
|
||||
> cargo install export-cef-dir
|
||||
> export-cef-dir --force $HOME/.local/share
|
||||
> cargo install bevy_cef_debug_render_process
|
||||
> mv $HOME/.cargo/bin/bevy_cef_debug_render_process "$HOME/.local/share/Chromium Embedded Framework.framework/Libraries/bevy_cef_debug_render_process"
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
See [`examples/`](./examples).
|
||||
|
||||
On macOS, you need to enable `debug` feature enabled:
|
||||
|
||||
```shell
|
||||
cargo run --example simple --features debug
|
||||
```
|
||||
|
||||
## 🌍 Platform Support
|
||||
|
||||
| Platform | Status | Notes |
|
||||
|----------|------------|-----------------------------------|
|
||||
| macOS | ✅ Full | Primary development platform |
|
||||
| Windows | ⚠️ Planned | CEF support ready, testing needed |
|
||||
| Linux | ⚠️ Planned | CEF support ready, testing needed |
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
We welcome contributions! Here's how you can help:
|
||||
|
||||
1. **🐛 Bug Reports** - Open an issue with detailed reproduction steps
|
||||
2. **💡 Feature Requests** - Suggest new features or improvements
|
||||
3. **🔧 Pull Requests** - Submit bug fixes or new features
|
||||
4. **📚 Documentation** - Improve docs, examples, or tutorials
|
||||
5. **🧪 Testing** - Help test on different platforms
|
||||
|
||||
### Development Setup
|
||||
|
||||
1. Clone the repository
|
||||
2. Install Rust and Cargo
|
||||
3. Install the debugging tool with reference to [Installation debug tools](#installation-debug-toolsmacos).
|
||||
4. Run `cargo build --features debug` to build the project
|
||||
|
||||
## Version Compatibility
|
||||
|
||||
| Bevy | bevy_cef | CEF | Status |
|
||||
|--------|----------|------|---------------|
|
||||
| 0.17 ~ | 0.2.0 | TODO | ⚠️ Unreleased |
|
||||
| 0.16 | 0.1.0 | 139 | ✅ Current |
|
||||
|
||||
## License
|
||||
|
||||
Licensed under either of
|
||||
|
||||
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE2) or http://www.apache.org/licenses/LICENSE-2.0)
|
||||
- MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user