feat(isometric): scaffold Bevy + React + Tauri isometric game#7743
Merged
feat(isometric): scaffold Bevy + React + Tauri isometric game#7743
Conversation
Adds a new Diablo-style isometric game at apps/kbve/isometric/ using: - Bevy 0.15.1 for wgpu rendering (isometric camera, tilemap, player) - Tauri 2 for desktop shell with custom Bevy-Tauri event bridge - React 19 + Vite 6 for HUD overlay (health/mana bars, inventory, FPS) - IPC commands for game state and FPS monitoring
Contributor
Dependency ReviewThe following issues were found:
|
…cons - Simplify TauriPlugin to builder closure API without wgpu bridge - Let Bevy create its own native window (Tauri handles IPC only) - Fix camera with FixedVertical scaling (viewport_height: 20.0) - Add tonemapping_luts and bevy_winit features to Cargo.toml - Generate proper app icons from 1024x1024 source via cargo tauri icon - Add pnpm lockfile and workspace config for frontend deps - Remove unused PI import from camera.rs
Upgrade from Bevy 0.15.1 to 0.18.1 with all migration changes applied: - AmbientLight resource split to GlobalAmbientLight - ScalingMode moved to bevy::camera - Query::get_single() replaced with Query::single() - WindowResolution::new takes u32 instead of f32 - wgpu updated to v27, renderer.rs updated for new API Add pixelation post-processing effect using Bevy 0.18 FullscreenMaterial: - pixelate.wgsl shader quantizes UVs for retro pixel look - PixelateSettings component with configurable pixel_size (default 4.0) - Runs after tonemapping in the Core3d render graph
…endent pixelation - Add test scene objects (boxes, crystal, pillar, sphere) with animations - Add AABB collision detection for player movement with wall-sliding - Add occlusion transparency when player walks behind objects - Improve shadow visibility with cascade config and offset light angle - Rewrite pixelation shader to work in UV/logical pixel space for consistent rendering across Retina and non-Retina displays - Add tunable edge_strength and depth_edge_strength uniforms - Sync window DPI scale_factor into shader each frame
…hots, and shadow tuning Centralized object management via ObjectRegistry with ObjectKind enum, message-driven spawn/despawn, spatial index, and IPC snapshot. Added mouse hover highlight system with emissive glow boost and wireframe gizmo outlines via MeshPickingPlugin. Replaced Mutex<Option<T>> with DashMap for lock-free concurrent snapshot reads. Tuned ambient/directional lighting and edge detection strength.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
apps/kbve/isometric/TauriPluginbridging Bevy and Tauri event loops (60Hz frame limiter, FPS counter, window event forwarding)invoke()CustomRendererPluginfor wgpu surface extraction from Tauri WebviewWindowcargo tauri dev/cargo tauri buildtargetscargo check -p isometric-gamepassesTest plan
cargo check -p isometric-gamecompiles without errorscargo tauri devfromapps/kbve/isometric/launches the appcargo tauri icon(placeholder 1x1 PNG for now)🤖 Generated with Claude Code