Conversation
* feat(isometric): scaffold Bevy + React + Tauri isometric game 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 * fix(isometric): simplify Bevy-Tauri bridge, fix camera scaling, add icons - 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 * feat(isometric): upgrade Bevy to 0.18 and add pixelation post-processing 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 * feat(isometric): add scene objects, collision, shadows, and DPI-independent 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 * feat(isometric): add object registry, hover highlights, DashMap snapshots, 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.
Rewrite McSkinViewer with correct UV mapping (flipY=false), overlay
layers, and self-hosted texture proxy. Consolidate three LRU caches
into a single DashMap<CachedPlayer> in McService. Add
/api/v1/mc/textures/{hash} Axum endpoint to proxy Mojang skin PNGs.
…7757) The ScheduledBackup cron '0 2 * * *' was a 5-field format being parsed as 6-field by CNPG (sec=0 min=2 hour=* → every hour at :02). Fix to '0 0 2 * * *' for daily at 2 AM UTC. This was causing 24x more base backups per day and inflating S3 costs. Also adds instanceSidecarConfiguration with retentionPolicyIntervalSeconds to clean up WAL files beyond the retention window. Increased retention from 3d to 7d for safety.
Contributor
Author
Dependency ReviewThe following issues were found:
|
Crossplane-managed BucketLifecycleConfiguration as a safety net for the kilobase backup bucket. Expires WAL files after 14 days and base backups after 30 days at the S3 level, independent of barman's 7-day retention. Also cleans up incomplete multipart uploads after 3 days.
* feat(staff): add bitwise staff permission system and lock down Grafana proxy Implement a staff permission system using bitwise flags for granular access control. The proto defines the contract, SQL schema enforces it with SECURITY DEFINER functions and RLS, and the Rust backend caches permissions alongside JWT tokens. The Grafana proxy now requires DASHBOARD_VIEW permission. The dashboard component is expanded to a unified view with 12 metrics across Nodes and Kubernetes sections. * fix(staff): harden authorization scope guards and fix bit numbering - Fix superadmin bit numbering: 0x40000000 is bit 30 (zero-indexed), not 31 - Add revoke/remove scope guards: actors cannot revoke/remove permissions they don't hold, and non-superadmins cannot touch superadmin targets - Fix proxy_has_permission to require ALL bits in composite masks (= p_flag) instead of ANY bit (!= 0) - Rename granted_by to last_granted_by for clearer semantics - Add explicit ALTER FUNCTION OWNER TO postgres for all SECURITY DEFINER fns - Qualify to_hex as pg_catalog.to_hex in SECURITY DEFINER functions - Document RLS belt-and-suspenders pattern and zero-perms deletion invariant - Document NULL actor_id as privileged bootstrap-only bypass * fix(staff): add row locking, input validation, and idempotent triggers - Add FOR UPDATE row locking in service_grant/revoke/remove to prevent lost updates under concurrent modifications - Guard proxy_has_permission against p_flag <= 0 (prevents silent authorization when 0 is passed — (v & 0) = 0 is always true) - Add negative mask validation to service_revoke (consistency with grant) - Make triggers idempotent with DROP TRIGGER IF EXISTS before CREATE - Qualify NOW() as pg_catalog.now() in SECURITY DEFINER trigger functions * fix(staff): advisory lock for audit race, idempotent policies, skip churn - Add pg_advisory_xact_lock(hashtext(user_id)) in service_grant to serialize concurrent first-insert operations, preventing audit rows that record stale old_perms=0 when two grants race for a new user - Skip UPDATE-then-DELETE in service_revoke when permissions hit zero; delete directly to avoid unnecessary trigger churn and WAL writes - Add DROP POLICY IF EXISTS before CREATE POLICY for full idempotency * fix(staff): collision-resistant lock key, audit requested_perms, rename tiers - Replace hashtext() advisory lock with two-key lock derived from UUID halves (64-bit total) to eliminate 32-bit hash collision risk - Add requested_perms column to audit_log for forensic fidelity — records what the actor attempted, not just what changed - Rename "Core tiers" to "Core role flags" in proto and SQL comments to align terminology with the actual bitwise-containment authority model
* feat(isometric): scaffold Bevy + React + Tauri isometric game 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 * fix(isometric): simplify Bevy-Tauri bridge, fix camera scaling, add icons - 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 * feat(isometric): upgrade Bevy to 0.18 and add pixelation post-processing 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 * feat(isometric): add scene objects, collision, shadows, and DPI-independent 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 * feat(isometric): add object registry, hover highlights, DashMap snapshots, 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. * feat(isometric): add procedural terrain with elevation, jump physics, and chunked loading - Add noise-based terrain generation with height bands (grass/dirt/stone/snow) - Implement chunked terrain loading/unloading around player position - Add jump mechanics (Space), gravity, and fall damage - Terrain-aware movement with auto-step up to 1 unit - Column-based tile rendering with cap/body differentiation and cliff edge insets - Camera smooth-follow system for player tracking - Cylinder collider support for scene objects - Terrain-relative Y positioning for spawned objects
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.
Release: Dev → Main
7 atomic commits ready for main
Features
30f8560)58adb48)137a423)d3e57f6)Bug Fixes
0891942)590419a)Chores
f1bffe0)This PR is automatically maintained by CI — KBVE Studio