yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
agent_editor_panels.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_PANELS_AGENT_EDITOR_PANELS_H_
2#define YAZE_APP_EDITOR_AGENT_PANELS_AGENT_EDITOR_PANELS_H_
3
4#include <functional>
5#include <string>
6
9
10namespace yaze {
11namespace editor {
12
13// Forward declaration
14class AgentChat;
15
16// =============================================================================
17// WindowContent wrappers for AgentEditor panels
18// Each panel uses a callback to delegate drawing to AgentEditor methods
19// =============================================================================
20
25 public:
26 using DrawCallback = std::function<void()>;
27
28 explicit AgentConfigurationPanel(DrawCallback draw_callback)
29 : draw_callback_(std::move(draw_callback)) {}
30
31 std::string GetId() const override { return "agent.configuration"; }
32 std::string GetDisplayName() const override { return "AI Configuration"; }
33 std::string GetIcon() const override { return ICON_MD_SETTINGS; }
34 std::string GetEditorCategory() const override { return "Agent"; }
35 int GetPriority() const override { return 10; }
36
37 void Draw(bool* p_open) override {
38 if (draw_callback_) {
40 }
41 }
42
43 private:
45};
46
51 public:
52 using DrawCallback = std::function<void()>;
53
54 explicit AgentStatusPanel(DrawCallback draw_callback)
55 : draw_callback_(std::move(draw_callback)) {}
56
57 std::string GetId() const override { return "agent.status"; }
58 std::string GetDisplayName() const override { return "Agent Status"; }
59 std::string GetIcon() const override { return ICON_MD_INFO; }
60 std::string GetEditorCategory() const override { return "Agent"; }
61 int GetPriority() const override { return 20; }
62
63 void Draw(bool* p_open) override {
64 if (draw_callback_) {
66 }
67 }
68
69 private:
71};
72
77 public:
78 using DrawCallback = std::function<void()>;
79
80 explicit AgentPromptEditorPanel(DrawCallback draw_callback)
81 : draw_callback_(std::move(draw_callback)) {}
82
83 std::string GetId() const override { return "agent.prompt_editor"; }
84 std::string GetDisplayName() const override { return "Prompt Editor"; }
85 std::string GetIcon() const override { return ICON_MD_EDIT; }
86 std::string GetEditorCategory() const override { return "Agent"; }
87 int GetPriority() const override { return 30; }
88
89 void Draw(bool* p_open) override {
90 if (draw_callback_) {
92 }
93 }
94
95 private:
97};
98
103 public:
104 using DrawCallback = std::function<void()>;
105
106 explicit AgentBotProfilesPanel(DrawCallback draw_callback)
107 : draw_callback_(std::move(draw_callback)) {}
108
109 std::string GetId() const override { return "agent.profiles"; }
110 std::string GetDisplayName() const override { return "Bot Profiles"; }
111 std::string GetIcon() const override { return ICON_MD_FOLDER; }
112 std::string GetEditorCategory() const override { return "Agent"; }
113 int GetPriority() const override { return 40; }
114
115 void Draw(bool* p_open) override {
116 if (draw_callback_) {
118 }
119 }
120
121 private:
123};
124
129 public:
130 using DrawCallback = std::function<void()>;
131
132 explicit AgentChatHistoryPanel(DrawCallback draw_callback)
133 : draw_callback_(std::move(draw_callback)) {}
134
135 std::string GetId() const override { return "agent.history"; }
136 std::string GetDisplayName() const override { return "Chat History"; }
137 std::string GetIcon() const override { return ICON_MD_HISTORY; }
138 std::string GetEditorCategory() const override { return "Agent"; }
139 int GetPriority() const override { return 50; }
140
141 void Draw(bool* p_open) override {
142 if (draw_callback_) {
144 }
145 }
146
147 private:
149};
150
155 public:
156 using DrawCallback = std::function<void()>;
157
159 : draw_callback_(std::move(draw_callback)) {}
160
161 std::string GetId() const override { return "agent.metrics"; }
162 std::string GetDisplayName() const override { return "Metrics Dashboard"; }
163 std::string GetIcon() const override { return ICON_MD_ANALYTICS; }
164 std::string GetEditorCategory() const override { return "Agent"; }
165 int GetPriority() const override { return 60; }
166
167 void Draw(bool* p_open) override {
168 if (draw_callback_) {
170 }
171 }
172
173 private:
175};
176
181 public:
182 using DrawCallback = std::function<void()>;
183
184 explicit AgentBuilderPanel(DrawCallback draw_callback)
185 : draw_callback_(std::move(draw_callback)) {}
186
187 std::string GetId() const override { return "agent.builder"; }
188 std::string GetDisplayName() const override { return "Agent Builder"; }
189 std::string GetIcon() const override { return ICON_MD_AUTO_FIX_HIGH; }
190 std::string GetEditorCategory() const override { return "Agent"; }
191 int GetPriority() const override { return 70; }
192
193 void Draw(bool* p_open) override {
194 if (draw_callback_) {
196 }
197 }
198
199 private:
201};
202
207 public:
208 using DrawCallback = std::function<void()>;
209
210 explicit AgentMesenDebugPanel(DrawCallback draw_callback)
211 : draw_callback_(std::move(draw_callback)) {}
212
213 std::string GetId() const override { return "agent.mesen_debug"; }
214 std::string GetDisplayName() const override { return "Mesen2 Debug"; }
215 std::string GetIcon() const override { return ICON_MD_BUG_REPORT; }
216 std::string GetEditorCategory() const override { return "Agent"; }
217 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
218 std::string GetWorkflowDescription() const override {
219 return "Inspect and control a connected Mesen2 debugging session";
220 }
221 std::string GetShortcutHint() const override { return "Ctrl+Shift+M"; }
222 int GetPriority() const override { return 80; }
223
224 void Draw(bool* p_open) override {
225 if (draw_callback_) {
227 }
228 }
229
230 private:
232};
233
241 public:
242 using DrawCallback = std::function<void()>;
243
244 explicit AgentKnowledgeBasePanel(DrawCallback draw_callback)
245 : draw_callback_(std::move(draw_callback)) {}
246
247 std::string GetId() const override { return "agent.knowledge"; }
248 std::string GetDisplayName() const override { return "Knowledge Base"; }
249 std::string GetIcon() const override { return ICON_MD_PSYCHOLOGY; }
250 std::string GetEditorCategory() const override { return "Agent"; }
251 int GetPriority() const override { return 25; } // Between Status and Prompt
252
253 void Draw(bool* p_open) override {
254 if (draw_callback_) {
256 }
257 }
258
259 private:
261};
262
267 public:
268 explicit AgentChatPanel(AgentChat* chat) : chat_(chat) {}
269
270 std::string GetId() const override { return "agent.chat"; }
271 std::string GetDisplayName() const override { return "Agent Chat"; }
272 std::string GetIcon() const override { return ICON_MD_CHAT; }
273 std::string GetEditorCategory() const override { return "Agent"; }
274 int GetPriority() const override { return 5; }
275
276 void Draw(bool* p_open) override;
277
278 private:
280};
281
292 public:
293 using DrawCallback = std::function<void()>;
294
296 : draw_callback_(std::move(draw_callback)) {}
297
298 std::string GetId() const override { return "agent.oracle_states"; }
299 std::string GetDisplayName() const override { return "Oracle States"; }
300 std::string GetIcon() const override { return ICON_MD_SAVE; }
301 std::string GetEditorCategory() const override { return "Agent"; }
302 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
303 std::string GetWorkflowLabel() const override { return "State Library"; }
304 std::string GetWorkflowDescription() const override {
305 return "Manage saved emulator states for hack debugging and regression "
306 "checks";
307 }
308 std::string GetShortcutHint() const override { return "Ctrl+Shift+O"; }
309 int GetPriority() const override { return 85; }
310
311 void Draw(bool* p_open) override {
312 if (draw_callback_) {
314 }
315 }
316
317 private:
319};
320
328 public:
329 using DrawCallback = std::function<void()>;
330
332 : draw_callback_(std::move(draw_callback)) {}
333
334 std::string GetId() const override { return "agent.feature_flags"; }
335 std::string GetDisplayName() const override { return "Feature Flags"; }
336 std::string GetIcon() const override { return ICON_MD_FLAG; }
337 std::string GetEditorCategory() const override { return "Agent"; }
338 std::string GetWorkflowGroup() const override { return "Build & Config"; }
339 std::string GetWorkflowDescription() const override {
340 return "Inspect and edit project feature flags";
341 }
342 int GetPriority() const override { return 90; }
343
344 void Draw(bool* p_open) override {
345 if (draw_callback_) {
347 }
348 }
349
350 private:
352};
353
361 public:
362 using DrawCallback = std::function<void()>;
363
364 explicit ManifestEditorPanel(DrawCallback draw_callback)
365 : draw_callback_(std::move(draw_callback)) {}
366
367 std::string GetId() const override { return "agent.manifest"; }
368 std::string GetDisplayName() const override { return "Hack Manifest"; }
369 std::string GetIcon() const override { return ICON_MD_DESCRIPTION; }
370 std::string GetEditorCategory() const override { return "Agent"; }
371 std::string GetWorkflowGroup() const override { return "Build & Config"; }
372 std::string GetWorkflowDescription() const override {
373 return "Inspect manifest metadata, protected regions, and registry state";
374 }
375 int GetPriority() const override { return 95; }
376
377 void Draw(bool* p_open) override {
378 if (draw_callback_) {
380 }
381 }
382
383 private:
385};
386
394 public:
395 using DrawCallback = std::function<void()>;
396
397 explicit SramViewerEditorPanel(DrawCallback draw_callback)
398 : draw_callback_(std::move(draw_callback)) {}
399
400 std::string GetId() const override { return "agent.sram_viewer"; }
401 std::string GetDisplayName() const override { return "SRAM Viewer"; }
402 std::string GetIcon() const override { return ICON_MD_MEMORY; }
403 std::string GetEditorCategory() const override { return "Agent"; }
404 std::string GetWorkflowGroup() const override { return "Game State"; }
405 std::string GetWorkflowDescription() const override {
406 return "Inspect live SRAM variables from the active emulator session";
407 }
408 int GetPriority() const override { return 88; }
409
410 void Draw(bool* p_open) override {
411 if (draw_callback_) {
413 }
414 }
415
416 private:
418};
419
427 public:
428 using DrawCallback = std::function<void()>;
429
431 : draw_callback_(std::move(draw_callback)) {}
432
433 std::string GetId() const override { return "agent.mesen_screenshot"; }
434 std::string GetDisplayName() const override {
435 return "Mesen2 Screenshot Preview";
436 }
437 std::string GetIcon() const override { return ICON_MD_CAMERA_ALT; }
438 std::string GetEditorCategory() const override { return "Agent"; }
439 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
440 std::string GetWorkflowDescription() const override {
441 return "Preview live emulator screenshots while debugging hack changes";
442 }
443 int GetPriority() const override { return 82; }
444
445 void Draw(bool* p_open) override {
446 if (draw_callback_) {
448 }
449 }
450
451 private:
453};
454
455} // namespace editor
456} // namespace yaze
457
458#endif // YAZE_APP_EDITOR_AGENT_PANELS_AGENT_EDITOR_PANELS_H_
WindowContent for Bot Profiles panel.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetId() const override
Unique identifier for this panel.
int GetPriority() const override
Get display priority for menu ordering.
AgentBotProfilesPanel(DrawCallback draw_callback)
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
WindowContent for Agent Builder panel.
AgentBuilderPanel(DrawCallback draw_callback)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetId() const override
Unique identifier for this panel.
std::string GetIcon() const override
Material Design icon for this panel.
int GetPriority() const override
Get display priority for menu ordering.
WindowContent for Chat History panel.
AgentChatHistoryPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetId() const override
Unique identifier for this panel.
WindowContent for Agent Chat panel.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetId() const override
Unique identifier for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
Unified Agent Chat Component.
Definition agent_chat.h:32
WindowContent for AI Configuration panel.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
AgentConfigurationPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
std::string GetId() const override
Unique identifier for this panel.
int GetPriority() const override
Get display priority for menu ordering.
WindowContent for Knowledge Base panel.
void Draw(bool *p_open) override
Draw the panel content.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetIcon() const override
Material Design icon for this panel.
AgentKnowledgeBasePanel(DrawCallback draw_callback)
std::string GetId() const override
Unique identifier for this panel.
WindowContent for Mesen2 debug integration.
AgentMesenDebugPanel(DrawCallback draw_callback)
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetShortcutHint() const override
Get keyboard shortcut hint for display.
int GetPriority() const override
Get display priority for menu ordering.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetId() const override
Unique identifier for this panel.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
WindowContent for Metrics Dashboard panel.
std::string GetId() const override
Unique identifier for this panel.
std::string GetIcon() const override
Material Design icon for this panel.
AgentMetricsDashboardPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
WindowContent for Prompt Editor panel.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetId() const override
Unique identifier for this panel.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
AgentPromptEditorPanel(DrawCallback draw_callback)
int GetPriority() const override
Get display priority for menu ordering.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
WindowContent for Agent Status panel.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetIcon() const override
Material Design icon for this panel.
std::function< void()> DrawCallback
AgentStatusPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
std::string GetId() const override
Unique identifier for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
WindowContent for Feature Flag Editor.
std::string GetId() const override
Unique identifier for this panel.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
FeatureFlagEditorEditorPanel(DrawCallback draw_callback)
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
std::string GetIcon() const override
Material Design icon for this panel.
WindowContent for Hack Manifest Status + Protected Regions Inspector.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetId() const override
Unique identifier for this panel.
ManifestEditorPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
WindowContent for Mesen2 live screenshot preview.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetId() const override
Unique identifier for this panel.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
MesenScreenshotEditorPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
int GetPriority() const override
Get display priority for menu ordering.
WindowContent for Oracle State Library management.
std::string GetIcon() const override
Material Design icon for this panel.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetShortcutHint() const override
Get keyboard shortcut hint for display.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
int GetPriority() const override
Get display priority for menu ordering.
std::string GetWorkflowLabel() const override
Optional workflow label for menus/command palette.
OracleStateLibraryEditorPanel(DrawCallback draw_callback)
std::string GetId() const override
Unique identifier for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
WindowContent for SRAM Variable Viewer.
std::string GetWorkflowDescription() const override
Optional workflow description for menus/command palette.
std::string GetId() const override
Unique identifier for this panel.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
SramViewerEditorPanel(DrawCallback draw_callback)
void Draw(bool *p_open) override
Draw the panel content.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
int GetPriority() const override
Get display priority for menu ordering.
Base interface for all logical window content components.
#define ICON_MD_SETTINGS
Definition icons.h:1699
#define ICON_MD_INFO
Definition icons.h:993
#define ICON_MD_CHAT
Definition icons.h:394
#define ICON_MD_MEMORY
Definition icons.h:1195
#define ICON_MD_CAMERA_ALT
Definition icons.h:355
#define ICON_MD_BUG_REPORT
Definition icons.h:327
#define ICON_MD_EDIT
Definition icons.h:645
#define ICON_MD_AUTO_FIX_HIGH
Definition icons.h:218
#define ICON_MD_PSYCHOLOGY
Definition icons.h:1523
#define ICON_MD_FLAG
Definition icons.h:784
#define ICON_MD_DESCRIPTION
Definition icons.h:539
#define ICON_MD_SAVE
Definition icons.h:1644
#define ICON_MD_FOLDER
Definition icons.h:809
#define ICON_MD_ANALYTICS
Definition icons.h:154
#define ICON_MD_HISTORY
Definition icons.h:946