Conversation
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>
Contributor
Author
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues 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. Scanned FilesNone |
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>
* 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.
…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
…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.
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
227cac2)97fa716)Chores
35e5416)c3f3c6c)1338c30)fe9b7be)Other Changes
d7ebef4)This PR is automatically maintained by CI — KBVE Studio