# our crucible interact menu doesnt match the theme of the game, lets enhance it



  # Editable Crucible Console Menu

  ## Summary

  Move the Crucible menu’s visual hierarchy into ui/crucible_menu.tscn, leaving scripts/crucible_menu.gd responsible only for runtime data binding, action handling, state updates, and closing behavior.

  ## Scene Structure

  Create an editor-editable scene with:

  - Full-screen Control root using CrucibleMenu.
  - Full-screen translucent shade.
  - Centered responsive console panel.
  - Header with:
      - PORTABLE RESIN CRUCIBLE
      - M-299 REFINERY
      - Online/owner status readout.

  - Two-column content area:
      - Resource status panel for THC resin, resin doses, and M-299 reserve ammunition.
      - Operations panel containing refinement and distillation action cards.

  - Action cards with editable labels for:
      - Cost.
      - Output.
      - Availability requirement.
      - Button control.

  - Status feedback label for success and failure messages.
  - Footer with ESC CLOSE.
  - Scene-local style resources for panel surfaces, borders, bars, buttons, disabled states, and typography.

  All spacing, colors, fonts, text, minimum sizes, and layout behavior should be adjustable from the Godot editor.

  ## Script Changes

  - Replace runtime node construction in scripts/crucible_menu.gd with @onready references to the scene’s named controls.
  - Preserve the existing setup(...), _close(), resource operations, input locking, and refresh behavior.
  - Update only dynamic values at runtime:
      - Resource counts and capacities.
      - M-299 reserve.
      - Action enabled/disabled states.
      - Requirement text.
      - Success/error status messaging.

  - Keep unavailable operations disabled with explanatory requirement text.
  - Focus the first available action when the menu opens.
  - Keep all crafting rules and resource costs unchanged.

  Update scripts/player/player_ui.gd to preload and instantiate ui/crucible_menu.tscn, passing the existing resources and crucible references into setup(...).

  ## Test Plan

  - Run the existing resource recovery test.
  - Confirm the scene instantiates and still exposes the CrucibleMenu node.
  - Verify opening and closing still locks/restores player input.
  - Verify resource labels update after refining and distilling.
  - Verify action buttons enable and disable correctly at resource limits.
  - Verify success and failure status messages.
  - Manually inspect the scene in the Godot editor and test it at both 1920×1080 and smaller viewport sizes.

  ## Assumptions

  - ui/crucible_menu.tscn becomes the single source of truth for the menu’s visual layout.
  - No new raster assets are required.
  - Existing public menu methods remain compatible with current callers and tests.
  - The menu continues using the HUD console visual language: near-black translucent panels, teal borders, Hermit typography, mint highlights, and amber warnings.