Skip to content

Release: 2 features, 4 chores → Main#9663

Merged
h0lybyte merged 8 commits intomainfrom
dev
Apr 5, 2026
Merged

Release: 2 features, 4 chores → Main#9663
h0lybyte merged 8 commits intomainfrom
dev

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 4, 2026

Release: Dev → Main

7 atomic commits ready for main

Features

Chores

Other Changes


This PR is automatically maintained by CI — KBVE Studio

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented Apr 4, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA d31a0b6.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@github-actions github-actions Bot changed the title Release: 1 chore → Main Release: 2 chores → Main Apr 4, 2026
github-actions Bot and others added 2 commits April 4, 2026 19:15
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions github-actions Bot changed the title Release: 2 chores → Main Release: 3 chores → Main Apr 4, 2026
* feat(dashboard): collapsible sections with static HTML headers

Add CollapsibleSection.astro — native <details>/<summary> with
localStorage persistence. Section headers render as static HTML (zero
JS, zero virtual DOM). React islands hydrate only inside the content
slot. Collapsing a section hides it via browser-native behavior without
unmounting or re-rendering React.

Refactor VM, Grafana, ClickHouse, and ArgoCD dashboards:
- VM: KubeVirt VMs, KASM Workspaces, Firecracker as collapsible sections
  (Firecracker collapsed by default)
- Grafana: Node Health and K8s Resources as collapsible sections
- ClickHouse: Namespace Overview, Log Explorer, Saved Queries
  (Saved Queries collapsed by default)
- ArgoCD: Applications table as collapsible section

* refactor(dashboard): extract shared AuthGate, Section, RefreshButton into dashboard-ui.tsx

Create dashboard-ui.tsx with reusable primitives:
- AuthGate: generic auth wrapper using nanostores (replaces 5 identical
  ~100-line auth components with ~10-line wrappers)
- Section: collapsible container using useRef for direct DOM toggle —
  no state change, no re-render, localStorage persistence
- RefreshButton: shared refresh control for all headers
- CachedBadge: cache indicator badge
- Shared style constants (fullCenter, iconBadge, sectionBorder)

Refactor ReactVMAuth, ReactArgoAuth, ReactCHAuth, ReactForgejoAuth,
ReactHomeAuth to use AuthGate. Grafana kept as-is (has custom OAuth
sign-in UI).

Remove CollapsibleSection.astro — replaced by React Section component
that stays in the same ecosystem as droid nanostores.
@github-actions github-actions Bot changed the title Release: 3 chores → Main Release: 1 feature, 3 chores → Main Apr 4, 2026
…tals (#9668)

Complete migration of all 6 sprite creatures to the data-driven generic
system. Delete legacy per-creature modules (frog, wolf, stag, wraith, boar).

- Add CreatureVitals component (health, mana, energy) with take_damage,
  heal, spend_mana, spend_energy methods
- Add VitalsConfig to SpriteCreatureType — each creature gets vitals on spawn
- Migrate wolf (4-way, bite/howl emotes, flee tree)
- Migrate stag (4-way, walk/run, day-only, skittish flee at 8u)
- Migrate frog (flip direction, hop arc, day-only, no behavior tree)
- Migrate wraith (flip, glide+hover, night-only, ghost tint, aggressive tree)
- Delete legacy modules: frog/, wolf/, stag/, wraith/, boar/
- Remove all per-creature tint functions from weather.rs
- Simplify CreaturePool (only fireflies + butterflies remain)
- All sprite creatures now share: generic spawn, animate, tint, brain, physics LOD
@github-actions github-actions Bot changed the title Release: 1 feature, 3 chores → Main Release: 2 features, 3 chores → Main Apr 5, 2026
@github-actions github-actions Bot changed the title Release: 2 features, 3 chores → Main Release: 2 features, 4 chores → Main Apr 5, 2026
…9669)

* feat(isometric): native Bevy UI for object interaction and inventory

Phase 2 — InteractionUiPlugin (interaction_ui.rs):
Replaces React useObjectSelection.tsx 100ms polling loop. On click
selection, shows a panel with object title, description, and action
button. Auto-closes on distance. Dispatches actions directly via
push_action() — no WASM/IPC round-trip.

Phase 3 — InventoryUiPlugin (inventory_ui.rs):
Replaces React Inventory.tsx 200ms polling loop. Reads Inventory<ItemKind>
resource directly. 4x4 grid with emoji icons, short names, quantities.
Toggled via KeyI or Bag button. Only refreshes on resource change.

Both plugins use DespawnOnExit(GamePhase::Playing), ui_color palette,
and the established Bevy UI patterns from title_screen.rs.

* feat(isometric): native pause menu and UiOverlay exclusivity system

Phase 4 — PauseMenuPlugin (pause_menu.rs):
Replaces React PauseMenu.tsx. Full-screen overlay with settings
categories (General/Audio/Video/Controls), sidebar navigation,
category content panels, and Resume button. Toggled via Escape.

Phase 5 — UiOverlay resource:
Shared resource tracking which overlay is active (None/PauseMenu/
Inventory/Interaction). Only one overlay can be open at a time.
Interaction panel won't open while pause menu or inventory is active.
Inventory toggle respects overlay state. Escape closes any overlay.
@h0lybyte h0lybyte merged commit f2bcea5 into main Apr 5, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Review to Done in KBVE Apr 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant