Version 0.2.2
A visual programming environment for Rust, WGSL, and Bevy built with Blockly.
Simplest way: Double-click Start Rust Visual Editor.lnk in the project root
Or manually:
- Navigate to the
webfolder - Double-click
index.htmlto open in your browser
Note: For advanced features like the Rust compiler service, you'll need to run a local server (see Development section).
- Multi-Mode Editor: Switch between Rust, WGSL, and Bevy modes
- Visual Block Programming: Drag-and-drop interface for building code
- 🎮 Game Development Blocks: 100+ Scratch-like blocks for Bevy game development (NEW in v0.2.0)
- Movement, input, collision, health, inventory, AI, particles, camera, and more!
- Auto-generates required components - no manual setup needed!
- Real-time Code Generation: See generated code as you build
- Multi-File Support: Generate and manage multiple files
- Code Validation: Built-in validation and error checking
- Import/Export: Save and load workspaces, export generated code
- Rust Compiler Integration: Check code with the Rust compiler (requires backend service)
.
├── web/ # Frontend application
│ ├── index.html # Main entry point
│ ├── app.js # Application logic
│ ├── blocks/ # Block definitions (Rust, WGSL, Bevy)
│ ├── generators/ # Code generators
│ ├── core/ # Core modules (validators, managers)
│ ├── toolbox/ # Toolbox configurations
│ └── utils/ # Utility functions
├── integration/ # Rust backend (compiler service)
│ ├── Cargo.toml
│ └── src/
└── examples/ # Example workspaces
- Modern web browser (Chrome, Firefox, Edge, Safari)
- Python 3.x (for local development server)
- Rust toolchain (optional, for compiler service)
The visual editor works standalone without the backend:
cd web
python -m http.server 8000To enable code checking features:
cd integration
cargo run --bin compiler_serviceThe service runs on http://localhost:3030
- Select Mode: Choose between Rust, WGSL, or Bevy from the dropdown
- Add Blocks: Drag blocks from the toolbox to the workspace
- Generate Code: Code updates automatically as you build
- Check Code: Click "Check Code" to validate (requires backend)
- Export: Save your workspace or export generated code
The visual editor supports multi-file projects with visual connection lines showing file relationships.
1. Create Your Files
- Open the Files category in the toolbox
- Drag a 📄 File block to the workspace
- Set the filename (e.g.,
main.rs,utils.rs,config.rs) - Add your code blocks inside each file container
2. Link Files Together
- In your main file, drag a 🔗 mod block from the Files category
- Enter the module name (without
.rsextension)- Example: To link to
utils.rs, enterutils
- Example: To link to
- A visual connection line will automatically appear between the blocks!
3. Import Items
- Use the use block to import specific items from linked modules
- Example:
use utils::helper_function; - Or import everything:
use utils::*;
4. Make Items Public
- In the linked file, use pub blocks to make items accessible
- Example:
pub fn helper_function() { ... }
main.rs:
📄 File: main.rs
🔗 mod utils;
🔗 mod config;
use utils::calculate;
use config::Settings;
fn main() {
let result = calculate(10);
println!("Result: {}", result);
}
utils.rs:
📄 File: utils.rs
pub fn calculate(x: i32) -> i32 {
x * 2
}
config.rs:
📄 File: config.rs
pub struct Settings {
pub debug: bool
}
- Teal dashed lines connect
🔗 modblocks to their target files - Arrows point from the mod declaration to the file
- Lines update automatically as you move blocks around
- Chrome/Edge: ✅ Full support
- Firefox: ✅ Full support
- Safari: ✅ Full support
- IE11: ❌ Not supported
See LICENSE file for details.