Skip to content

feat(isometric): scaffold Bevy + React + Tauri isometric game#7743

Merged
h0lybyte merged 5 commits intodevfrom
trunk/isometric-game-1772876582
Mar 7, 2026
Merged

feat(isometric): scaffold Bevy + React + Tauri isometric game#7743
h0lybyte merged 5 commits intodevfrom
trunk/isometric-game-1772876582

Conversation

@h0lybyte
Copy link
Member

@h0lybyte h0lybyte commented Mar 7, 2026

Summary

  • Scaffolds a new Diablo-style isometric game at apps/kbve/isometric/
  • Bevy 0.15.1 for wgpu rendering: isometric camera (orthographic projection), 16x16 tilemap with grass/stone tiles, player cube with WASD movement
  • Tauri 2 desktop shell with custom TauriPlugin bridging Bevy and Tauri event loops (60Hz frame limiter, FPS counter, window event forwarding)
  • React 19 + Vite 6 HUD overlay: health/mana bars, 4x4 inventory grid, FPS counter — all communicating via Tauri IPC invoke()
  • CustomRendererPlugin for wgpu surface extraction from Tauri WebviewWindow
  • Nx project with cargo tauri dev / cargo tauri build targets
  • cargo check -p isometric-game passes

Test plan

  • cargo check -p isometric-game compiles without errors
  • cargo tauri dev from apps/kbve/isometric/ launches the app
  • Bevy renders isometric tilemap with player cube
  • WASD moves player in isometric directions
  • React HUD shows health/mana bars and FPS counter
  • Generate proper icons with cargo tauri icon (placeholder 1x1 PNG for now)

🤖 Generated with Claude Code

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
@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2026

Dependency Review

The following issues were found:

  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 8 package(s) with unknown licenses.
  • ⚠️ 21 packages with OpenSSF Scorecard issues.

View full job summary

h0lybyte added 4 commits March 7, 2026 06:26
…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.
@h0lybyte h0lybyte merged commit 30f8560 into dev Mar 7, 2026
4 checks passed
@h0lybyte h0lybyte deleted the trunk/isometric-game-1772876582 branch March 7, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant