Conversation
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Contributor
Author
Dependency ReviewThe following issues were found:
Snapshot WarningsEnsure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice. License Issuespackages/rust/bevy/bevy_db/Cargo.toml
OpenSSF ScorecardScorecard details
Scanned Files
|
The Supabase JS client sends a Content-Profile header on RPC calls (e.g. staff_permissions). Kong's CORS plugin had Accept-Profile but was missing Content-Profile, causing the browser to block the preflight request with "Request header field content-profile is not allowed". Also add config-hash annotation to trigger a pod rollout when the ConfigMap changes, since Kong loads kong.yml at startup.
Deploy target now git adds and commits the isometric build output after copying to astro-kbve/public so a single nx run isometric:deploy handles the full build-copy-commit pipeline.
…ster (#9732) The previous init Job only downloaded vmlinux and used curlimages/curl which can't build ext4 filesystems. Rewrite to use alpine:3.21 with e2fsprogs to build rootfs images directly: - Download vmlinux 5.10 kernel from Firecracker GitHub releases - Build alpine-minimal.ext4 (~8MB) — busybox only - Build alpine-python.ext4 (~45MB) — Python 3 - Build alpine-node.ext4 (~40MB) — Node.js Each rootfs includes an /init script that mounts proc/sys/dev and execs the entrypoint. Images are idempotent — skipped if already present.
Gluetun VPN sidecar was CrashLooping (541 restarts over 2 days) because the 200m CPU limit starved the health check HTTP server — probes timed out at 5s, liveness killed the container despite WireGuard being connected. Changes: - CPU: 200m → 500m limit, 50m → 100m request - Memory: 256Mi → 384Mi limit, 64Mi → 128Mi request - Probe timeout: 5s → 10s (WireGuard can have brief stalls) - Readiness period: 10s → 15s (reduce probe frequency under load)
* test(axum-kbve-e2e): add isometric WASM asset integrity smoke tests Verifies after Docker build that all WASM deployment artifacts are present and consistent: isometric_game.js glue, inline snippet imports resolve, WASM binary serves precompressed, wasm-worker.js exists, and index.js entry point is reachable. * test(e2e): add full game load chain smoke test Verifies the complete asset chain resolves: HTML page → index.js → isometric_game.js → WASM binary → inline snippets → wasm-worker.js → safari-shim.js. Catches stale/mismatched deploys where any link in the chain is missing or 404.
Airborne/moving creatures now finish their hop animation naturally instead of being yanked to the server position mid-flight. Patrol_step is always synced so the next decision aligns. Force-snap only for large drift (>15u, creature recycled on server). Idle creatures get 50% lerp toward server anchor for smooth correction.
… cleanup (#9737) IDE improvements: - CodeMirror Compartment-based language switching (Python/JS/Shell) - Add @codemirror/lang-javascript for Node.js preset support - Execution history panel (last 20 runs, click-to-reload code) - History tracks preset, code, result, timestamp DESIGN.md: - Complete rewrite reflecting all 9 completed phases - Updated architecture diagram with IDE + dashboard flow - Consolidated component reference (firecracker-ctl, K8s, rootfs, IDE, VM panel, edge, observability, CI) - Security section reflects current NetworkPolicy (default-deny, egress DNS-only) - Remaining work: TAP networking, warm pool, multi-node, streaming output
New bevy_db crate providing async key-value persistence for Bevy games:
- Unified API: Db resource with get/put/delete/list_keys/batch operations
- Off-thread I/O via bevy_tasker — game thread never blocks on database ops
- DbRequest<T> polling pattern (same as nav_systems.rs PendingPatrolCompute)
- WriteBatch builder for atomic multi-key transactions
- bincode serialization for compact binary storage
Backends:
- Native (redb): pure Rust B+tree embedded DB, single-file, ACID transactions
- WASM (rexie): IndexedDB wrapper with lazy-init, composite keys ("table\0key")
Both backends implement the internal DbStore trait with identical semantics.
BevyDbPlugin auto-selects backend at compile time via cfg(target_arch).
…9738) - Ctrl/Cmd+Enter runs code from inside the editor (CodeMirror keymap) - Elapsed timer ticks every 100ms during VM creation and execution - Clear button appears after run to reset output panel - Phase indicator shows live elapsed time (e.g. "Running... 2.4s") - Hint text shows keyboard shortcut - Add @codemirror/lang-javascript, @codemirror/view for keymap support
* fix(creatures): use MoveTo hop instead of teleporting for sync corrections When server position differs from client, inject a MoveTo intent so the creature naturally hops to the correct position using its run animation instead of snapping the anchor. Drift <0.5u ignored, >15u force-snaps. * fix(creatures): use JumpWindup for type-correct sync animations Use JumpWindup instead of MoveTo — simulate looks up the correct anim name and speed from each creature type's behavior definition. Frogs hop (jump anim), stags/wolves run (run anim), etc.
…#9740) Add 5 pre-built code examples (Fibonacci, System Info, Prime Sieve, JSON Parser, VM Inspection) filtered by current language preset. Add copy-to-clipboard button on output panel.
#9741) * feat(bevy_kbve_net): add ambient creature types + simulation systems New shared modules for fireflies and butterflies: - ambient_types.rs: FireflySimState, ButterflySimState, ButterflyFlightState - spawn_ambient.rs: headless spawn for both types - simulate_firefly.rs: chunk-based slot assignment + orbital motion - simulate_butterfly.rs: full flight state machine (Idle/Entering/Active/Exiting) - flutter_offset added to shared common.rs All headless (no rendering). Server and client share identical simulation. * feat(server): register ambient creature spawn/simulate + extend sync broadcast Server now spawns and simulates fireflies (chunk-based slots + orbital motion) and butterflies (flight state machine) alongside sprite creatures. Broadcast extends to include ambient creatures grouped by npc_ref.
Client now receives CreaturePositionSync for fireflies and butterflies from the server and snaps their anchors. Ambient creatures use a separate query (no SpriteCreatureMarker) matched by RenderKind.
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
17 atomic commits ready for main
Features
e303e53)ee9df87)f9546c9)2531ebd)2a9631a)Bug Fixes
3151cbf)3fe4227)97f5cd3)bc640ea)9328fcb)Tests
4809df9)Chores
acf649e)2f83762)cf0a651)Other Changes
f033668)cebae02)2320bf0)This PR is automatically maintained by CI — KBVE Studio