# Forge Demo A tiny Bevy 0.20 project used as the demo project for **Bevy Forge**, the visual scene editor for Bevy BSN scenes. It contains two editable scenes and a small set of generated pixel-art textures. ## Open it in Bevy Forge From the repository root: ```bash cargo run -p bevy_forge_editor -- examples/demo-project ``` Bevy Forge discovers the Bevy project from `Cargo.toml`, scans `assets/` and opens the first scene automatically. Open the other scene from the File menu, edit entities in the hierarchy/inspector, and save with `Ctrl+S`. Use **Export** (or the `forge` CLI) to turn a scene into paste-ready BSN Rust code or imperative `Commands::spawn` code. ## Scenes | Scene | Contents | |---|---| | `scenes/garden.forge.ron` | 3D garden: camera, sun, point light, ground plane, shrub, flower, lantern post and an orbiting crystal with the custom `forge_demo::Orbit` component. | | `scenes/platformer.forge.ron` | 2D platformer: camera, dusk background, ground tiles, floating ledge, player with a hat child, coins, crates and two Text2d labels. | Both scenes are plain RON and human-readable. Every referenced texture exists in `assets/textures/`. ## Textures All textures are procedurally generated (no external art, no network): | File | Size | |---|---| | `assets/textures/background.png` | 960x540 | | `assets/textures/player.png` | 64x96 | | `assets/textures/hat.png` | 64x32 | | `assets/textures/tile.png` | 96x96 | | `assets/textures/coin.png` | 64x64 | | `assets/textures/crate.png` | 64x64 | Regenerate them with Pillow: ```bash python3 examples/demo-project/tools/generate_textures.py ``` ## Running it as a Bevy app `src/main.rs` is a minimal Bevy app. The `.forge.ron` scenes are editor documents, not Bevy runtime assets yet, so paste an export into `src/main.rs` to run it. The custom `Orbit` component used by the garden scene is defined there as `forge_demo::Orbit { radius, speed }`, matching the exported BSN path. This demo is deliberately **not** a member of the editor workspace: only the excluded `compat/bsn-smoke` crate may depend on Bevy.