Conversation
…apshot (#7907) Rename bevy_kbve_inventory -> bevy_inventory directory for standalone crates.io readiness. Gate the JSON snapshot system behind an optional `snapshot` feature (enabled by default) so consumers who don't need cross-boundary reads can drop the serde_json dependency.
…ighting fixes (#7908) Built from dev: pixel-art grass tufts, re-enabled pixelate shader, valley lighting rebalance, orb HUD shader, mobile UI improvements.
Bare `tsc` command not found on macOS CI runner. Using `npx tsc` ensures the local typescript devDependency is resolved correctly.
Contributor
Author
Dependency ReviewThe following issues were found:
|
…7911) Replace custom inventory implementation with bevy_inventory crate, implementing ItemKind trait with proper max_stack values and re-exporting plugin types. Update Tauri/WASM commands to use snapshot JSON API.
|
View your CI Pipeline Execution ↗ for commit c358b54
☁️ Nx Cloud last updated this comment at |
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…m proto (#7915) * refactor(discordsh): convert ReactServerCard and ReactServerGrid inline styles to Tailwind + CSS - ReactServerCard: 12 inline style objects → Tailwind classes + sc-* semantic CSS - ReactServerGrid: 13 inline style objects → Tailwind classes + sg-* semantic CSS - Removed slVar() helper from both components (no longer needed) - Starlight CSS variable theming preserved via semantic classes in global.css - Filter pill active/inactive state uses conditional CSS classes Ref #7712 item 11 * refactor(discordsh): convert remaining components to Tailwind/CSS, add React Hook Form + Zod validation - ReactSubmitForm: refactored from manual useState to React Hook Form with zodResolver using proto-generated SubmitServerRequestSchema - ReactNavBar: replaced all inline styles and onMouseEnter/Leave handlers with semantic CSS classes (nb-*) - ExpandButton: extracted base styles to CSS class (eb-base), kept only react-spring animated values as inline styles - Generated Zod schema from discordsh.proto via @kbve/devops codegen with validation rules (regex, min/max, url) in discordsh-zod-config.json - Added sf-*, eb-*, nb-* CSS classes to global.css @layer my-overrides
… with isometric game (#7916) Rename crate directory and package, upgrade to multiplicative zoom, add DisplayCamera marker for post-processing hooks. Rewrite game camera.rs as thin adapter using bevy_cam plugin.
* feat(osrs): add 20 new overrides — complete jewelry crafting chains New overrides for full amulet chain (sapphire through zenyte), bracelet chain (sapphire through onyx), remaining necklaces (sapphire, emerald, onyx, zenyte), plus dragon thrownaxe, dragon boots ornament kit, and yak-hide armour top. * feat(osrs): add 20 overrides — dragon bolts (e), mystic set, enchanted robes, trimmed rune Complete enchanted dragon bolt chain (opal through onyx), mystic hat/boots/gloves, enchanted hat/top/robe treasure trail set, boots of brimstone, diamond/dragonstone bolts, ring of stone, and rune platebody (t) / rune full helm (g). * feat(osrs): add 20 overrides — god d'hide sets, rune weapons, granite/snakeskin Complete god d'hide body/shield/boots sets for all 5 gods (Guthix, Zamorak, Bandos, Armadyl, Ancient), plus rune longsword, rune dagger, rune sq shield, granite longsword, and snakeskin shield.
Co-authored-by: Al @h0lybyte <5599058+h0lybyte@users.noreply.github.com>
* feat(discordsh): auth script modules, server-side Zod, nanostores grid (#7712) - Extract auth callback/logout inline scripts to lib/auth/*.ts modules for proper Vite bundling and testability - Add server-side Zod validation to discordsh edge function using the same SubmitServerRequestSchema rules as client-side (validate.ts) - Replace edge function manual validation with Zod safeParse + structured error messages - Refactor ReactServerGrid from useState to nanostores ($servers, $category, $sort, $page, $loading) for fine-grained reactivity — only subscribing slices re-render on state changes - Add serverStore.ts with actions (loadServers, setCategory, setSort, loadMore, applyVote) and stale-load guard - Add 8 new Playwright e2e tests: auth script module extraction, inline style removal verification, CSS class usage for form/navbar/expand button * feat(discordsh): server-side pagination with edge function + SQL migration (#7712) Add list.servers public edge endpoint with proxy_list_servers SQL function for server-side pagination, sorting, and category filtering. Client falls back to static JSON when edge is unreachable. * feat(discordsh): replace Load More button with infinite scroll (#7712) Use IntersectionObserver with 200px rootMargin to auto-load next page when the sentinel element nears the viewport. Keeps CSS grid layout intact while eliminating manual pagination clicks. * perf(discordsh): static extraction for server cards via React.memo (#7712) Split ReactServerCard into a memoized static shell + isolated CardVoteButton component. Vote state changes only re-render the button subtree, not the entire card. React.memo on the outer card skips re-renders for cards whose server reference is unchanged (applyVote preserves refs for non-voted cards).
…ur, MTA wands (#7920) God d'hide chaps (5), coifs (5), and bracers (5) for all gods, completing the full blessed d'hide equipment sets. Plus studded body/chaps, hardleather body, and beginner/teacher wands.
…, hunter's crossbow (#7922) Gilded d'hide set (body/chaps/vambraces/coif), trimmed d'hide bodies (black t, blue g/t, green g/t, red g/t), trimmed d'hide chaps (black t, blue g/t, green g/t, red g/t), plus apprentice wand and hunter's crossbow.
…s, amulets (#7924) Elegant clothing (28): all men's shirts/legs and women's blouses/skirts in red, blue, green, black, purple, white, gold, pink variants. H.A.M. robes (6): hood, shirt, robe, cloak, gloves, boots. Shade robes (2): robe top (+5 Prayer) and robe (+4 Prayer). Zamorak vestments (2): robe top and legs (easy clue, 20 Prayer). God vestment accessories (4): Saradomin/Zamorak stoles, Sara crozier, Guthix mitre. Trimmed amulets (4): glory (t4), magic (t), defence (t), power (t). Misc treasure trail gear (4): spiked manacles, fremennik kilt, rune/adamant canes.
* refactor(isometric): migrate from bevy_rapier3d to avian3d physics engine Replace bevy_rapier3d with avian3d 0.5 across all 9 game files. Convert collider constructors to full-extent API, swap KinematicCharacterController for ShapeCaster-based ground detection, migrate raycasting to SpatialQuery, and update system scheduling to PhysicsSystems. Prepares for lightyear server-authoritative multiplayer integration. * feat(net): add lightyear multiplayer networking with shared protocol crate Phase 2: Create bevy_kbve_net shared protocol crate with replicated components (PlayerId, PlayerColor, Position, Rotation, LinearVelocity), PlayerInput enum, GameChannel, and ProtocolPlugin. Wire up lightyear ClientPlugins in isometric game client with configurable server address via GAME_SERVER_ADDR env var. Phase 3: Replace raw rapier3d game server in axum-kbve with headless Bevy app running avian3d + lightyear ServerPlugins. Server runs in dedicated thread with WebSocket transport on configurable GAME_WS_ADDR (default :5000), separate from Axum HTTP on :4321. Includes workaround for lightyear 0.26.4 bug where PeerMetadata resource is not initialized by ServerPlugins. * build(axum-kbve): update Dockerfile and workspace for bevy_kbve_net Add bevy_kbve_net to Docker workspace Cargo.toml and all Dockerfile build stages (planner, foundation, builder). Expose port 5000 for lightyear WebSocket. Rebuild isometric WASM with avian3d + lightyear. * feat(net): add JWT auth flow for game server connections Client reads Supabase JWT from shared IndexedDB, passes it through WASM bridge to lightyear, sends AuthMessage after WebSocket connect. Server validates JWT using existing auth::validate_token, spawns player entity only after successful authentication. Includes Go Online button with auth-aware UI states. * fix(gameserver): add TransformPlugin for headless Bevy app MinimalPlugins doesn't include TransformPlugin, causing a panic on StaticTransformOptimizations resource. Required by avian3d physics. * fix(isometric): fix JWT lookup key and allow guest connections Supabase v2 stores session under `supabase.auth.token` key, not `sb-*-auth-token`. Added fallback cursor scan for any auth token key. Button now always clickable — guests connect with empty JWT (server accepts as anonymous when SUPABASE_JWT_SECRET is unset).
) * feat(isometric): add butterfly lifecycle pooling with fly-in/fly-away states * fix(isometric): larger butterfly mesh with distinct wing lobes * refactor(isometric): merge FireflyPool and ButterflyPool into single InsectPool * refactor(isometric): split insects.rs into creatures/ module with shared common utilities * refactor(isometric): reorganize creatures into subdirectories with frog stub * feat(isometric): add frog creature with sprite sheet animation Frog creature uses a 256x128 sprite sheet (8x4 grid of 32x32 frames) with UV manipulation on billboard quads. State machine cycles through idle, croak, judge, and jumping behaviors with parabolic hop arcs. Daytime creature scheduled via day_factor().
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
653d3eb)690248e)5ae3aa0)542635f)9027cea)d09518a)3a6b582)5bdc3b3)c358b54)Bug Fixes
55d97e7)ba13364)Refactoring
14cfdbd)fed5e23)4f4d646)Chores
8c97a32)Other Changes
3352dc5)4fa7448)This PR is automatically maintained by CI — KBVE Studio