Skip to content

Release: 9 features, 2 fixes, 3 refactors, 1 chore → Main#7909

Merged
h0lybyte merged 17 commits intomainfrom
dev
Mar 13, 2026
Merged

Release: 9 features, 2 fixes, 3 refactors, 1 chore → Main#7909
h0lybyte merged 17 commits intomainfrom
dev

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 12, 2026

Release: Dev → Main

17 atomic commits ready for main

Features

Bug Fixes

Refactoring

Chores

Other Changes


This PR is automatically maintained by CI — KBVE Studio

…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.
@github-actions github-actions bot changed the title Release: 1 refactor → Main Release: 1 fix, 1 refactor → Main Mar 12, 2026
@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 12, 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
  • ⚠️ 13 package(s) with unknown licenses.
  • ⚠️ 4 packages with OpenSSF Scorecard issues.

View full job summary

…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.
@github-actions github-actions bot changed the title Release: 1 fix, 1 refactor → Main Release: 1 feature, 1 fix, 1 refactor → Main Mar 12, 2026
@nx-cloud
Copy link

nx-cloud bot commented Mar 12, 2026

View your CI Pipeline Execution ↗ for commit c358b54

Command Status Duration Result
nx e2e astro-e2e ✅ Succeeded 2m 37s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-13 19:13:31 UTC

github-actions bot and others added 2 commits March 12, 2026 17:35
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@h0lybyte h0lybyte self-requested a review as a code owner March 12, 2026 21:35
@github-actions github-actions bot changed the title Release: 1 feature, 1 fix, 1 refactor → Main Release: 2 features, 1 fix, 1 refactor, 1 chore → Main Mar 12, 2026
…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
@github-actions github-actions bot changed the title Release: 2 features, 1 fix, 1 refactor, 1 chore → Main Release: 2 features, 1 fix, 2 refactors, 1 chore → Main Mar 12, 2026
… 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.
@github-actions github-actions bot changed the title Release: 2 features, 1 fix, 2 refactors, 1 chore → Main Release: 2 features, 1 fix, 3 refactors, 1 chore → Main Mar 12, 2026
* 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.
@github-actions github-actions bot changed the title Release: 2 features, 1 fix, 3 refactors, 1 chore → Main Release: 3 features, 1 fix, 3 refactors, 1 chore → Main Mar 12, 2026
Co-authored-by: Al @h0lybyte <5599058+h0lybyte@users.noreply.github.com>
@github-actions github-actions bot changed the title Release: 3 features, 1 fix, 3 refactors, 1 chore → Main Release: 3 features, 2 fixes, 3 refactors, 1 chore → Main Mar 12, 2026
* 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).
@github-actions github-actions bot changed the title Release: 3 features, 2 fixes, 3 refactors, 1 chore → Main Release: 4 features, 2 fixes, 3 refactors, 1 chore → Main Mar 13, 2026
…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.
@github-actions github-actions bot changed the title Release: 4 features, 2 fixes, 3 refactors, 1 chore → Main Release: 5 features, 2 fixes, 3 refactors, 1 chore → Main Mar 13, 2026
…, 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.
@github-actions github-actions bot changed the title Release: 5 features, 2 fixes, 3 refactors, 1 chore → Main Release: 6 features, 2 fixes, 3 refactors, 1 chore → Main Mar 13, 2026
…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.
@github-actions github-actions bot changed the title Release: 6 features, 2 fixes, 3 refactors, 1 chore → Main Release: 7 features, 2 fixes, 3 refactors, 1 chore → Main Mar 13, 2026
* 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().
@github-actions github-actions bot changed the title Release: 7 features, 2 fixes, 3 refactors, 1 chore → Main Release: 9 features, 2 fixes, 3 refactors, 1 chore → Main Mar 13, 2026
@h0lybyte h0lybyte merged commit cb16674 into main Mar 13, 2026
17 checks passed
@github-project-automation github-project-automation bot moved this from Review to Done in KBVE Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant