blackbeard420

blackbeard420 / promptplan

Last active 3 hours ago

Like 0

Revision b3e58519e9ef647126b415dd323f4e5b81e7a835

gistfile1.txt Raw
1# our crucible interact menu doesnt match the theme of the game, lets enhance it
2
3
4
5 # Editable Crucible Console Menu
6
7 ## Summary
8
9 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.
10
11 ## Scene Structure
12
13 Create an editor-editable scene with:
14
15 - Full-screen Control root using CrucibleMenu.
16 - Full-screen translucent shade.
17 - Centered responsive console panel.
18 - Header with:
19 - PORTABLE RESIN CRUCIBLE
20 - M-299 REFINERY
21 - Online/owner status readout.
22
23 - Two-column content area:
24 - Resource status panel for THC resin, resin doses, and M-299 reserve ammunition.
25 - Operations panel containing refinement and distillation action cards.
26
27 - Action cards with editable labels for:
28 - Cost.
29 - Output.
30 - Availability requirement.
31 - Button control.
32
33 - Status feedback label for success and failure messages.
34 - Footer with ESC CLOSE.
35 - Scene-local style resources for panel surfaces, borders, bars, buttons, disabled states, and typography.
36
37 All spacing, colors, fonts, text, minimum sizes, and layout behavior should be adjustable from the Godot editor.
38
39 ## Script Changes
40
41 - Replace runtime node construction in scripts/crucible_menu.gd with @onready references to the scene’s named controls.
42 - Preserve the existing setup(...), _close(), resource operations, input locking, and refresh behavior.
43 - Update only dynamic values at runtime:
44 - Resource counts and capacities.
45 - M-299 reserve.
46 - Action enabled/disabled states.
47 - Requirement text.
48 - Success/error status messaging.
49
50 - Keep unavailable operations disabled with explanatory requirement text.
51 - Focus the first available action when the menu opens.
52 - Keep all crafting rules and resource costs unchanged.
53
54 Update scripts/player/player_ui.gd to preload and instantiate ui/crucible_menu.tscn, passing the existing resources and crucible references into setup(...).
55
56 ## Test Plan
57
58 - Run the existing resource recovery test.
59 - Confirm the scene instantiates and still exposes the CrucibleMenu node.
60 - Verify opening and closing still locks/restores player input.
61 - Verify resource labels update after refining and distilling.
62 - Verify action buttons enable and disable correctly at resource limits.
63 - Verify success and failure status messages.
64 - Manually inspect the scene in the Godot editor and test it at both 1920×1080 and smaller viewport sizes.
65
66 ## Assumptions
67
68 - ui/crucible_menu.tscn becomes the single source of truth for the menu’s visual layout.
69 - No new raster assets are required.
70 - Existing public menu methods remain compatible with current callers and tests.
71 - The menu continues using the HUD console visual language: near-black translucent panels, teal borders, Hermit typography, mint highlights, and amber warnings.