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"; }
38 int GetPriority() const override { return 10; }
39
40 void Draw(bool* p_open) override {
41 if (draw_callback_) {
43 }
44 }
45
46 private:
48};
49
54 public:
55 using DrawCallback = std::function<void()>;
56
57 explicit AgentStatusPanel(DrawCallback draw_callback)
58 : draw_callback_(std::move(draw_callback)) {}
59
60 std::string GetId() const override { return "agent.status"; }
61 std::string GetDisplayName() const override { return "Agent Status"; }
62 std::string GetIcon() const override { return ICON_MD_INFO; }
63 std::string GetEditorCategory() const override { return "Agent"; }
67 int GetPriority() const override { return 20; }
68
69 void Draw(bool* p_open) override {
70 if (draw_callback_) {
72 }
73 }
74
75 private:
77};
78
83 public:
84 using DrawCallback = std::function<void()>;
85
86 explicit AgentPromptEditorPanel(DrawCallback draw_callback)
87 : draw_callback_(std::move(draw_callback)) {}
88
89 std::string GetId() const override { return "agent.prompt_editor"; }
90 std::string GetDisplayName() const override { return "Prompt Editor"; }
91 std::string GetIcon() const override { return ICON_MD_EDIT; }
92 std::string GetEditorCategory() const override { return "Agent"; }
96 int GetPriority() const override { return 30; }
97
98 void Draw(bool* p_open) override {
99 if (draw_callback_) {
101 }
102 }
103
104 private:
106};
107
112 public:
113 using DrawCallback = std::function<void()>;
114
115 explicit AgentBotProfilesPanel(DrawCallback draw_callback)
116 : draw_callback_(std::move(draw_callback)) {}
117
118 std::string GetId() const override { return "agent.profiles"; }
119 std::string GetDisplayName() const override { return "Bot Profiles"; }
120 std::string GetIcon() const override { return ICON_MD_FOLDER; }
121 std::string GetEditorCategory() const override { return "Agent"; }
125 int GetPriority() const override { return 40; }
126
127 void Draw(bool* p_open) override {
128 if (draw_callback_) {
130 }
131 }
132
133 private:
135};
136
141 public:
142 using DrawCallback = std::function<void()>;
143
144 explicit AgentChatHistoryPanel(DrawCallback draw_callback)
145 : draw_callback_(std::move(draw_callback)) {}
146
147 std::string GetId() const override { return "agent.history"; }
148 std::string GetDisplayName() const override { return "Chat History"; }
149 std::string GetIcon() const override { return ICON_MD_HISTORY; }
150 std::string GetEditorCategory() const override { return "Agent"; }
151 int GetPriority() const override { return 50; }
152
153 void Draw(bool* p_open) override {
154 if (draw_callback_) {
156 }
157 }
158
159 private:
161};
162
167 public:
168 using DrawCallback = std::function<void()>;
169
170 explicit AgentBuilderPanel(DrawCallback draw_callback)
171 : draw_callback_(std::move(draw_callback)) {}
172
173 std::string GetId() const override { return "agent.builder"; }
174 std::string GetDisplayName() const override { return "Agent Builder"; }
175 std::string GetIcon() const override { return ICON_MD_AUTO_FIX_HIGH; }
176 std::string GetEditorCategory() const override { return "Agent"; }
180 int GetPriority() const override { return 70; }
181
182 void Draw(bool* p_open) override {
183 if (draw_callback_) {
185 }
186 }
187
188 private:
190};
191
196 public:
197 using DrawCallback = std::function<void()>;
198
199 explicit AgentMesenDebugPanel(DrawCallback draw_callback)
200 : draw_callback_(std::move(draw_callback)) {}
201
202 std::string GetId() const override { return "agent.mesen_debug"; }
203 std::string GetDisplayName() const override { return "Mesen2 Debug"; }
204 std::string GetIcon() const override { return ICON_MD_BUG_REPORT; }
205 std::string GetEditorCategory() const override { return "Agent"; }
208 "Tools > Hack Workflows > Live Debugging");
209 }
210 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
211 std::string GetWorkflowDescription() const override {
212 return "Inspect and control a connected Mesen2 debugging session";
213 }
214 std::string GetShortcutHint() const override { return "Ctrl+Shift+M"; }
215 int GetPriority() const override { return 80; }
216
217 void Draw(bool* p_open) override {
218 if (draw_callback_) {
220 }
221 }
222
223 private:
225};
226
234 public:
235 using DrawCallback = std::function<void()>;
236
237 explicit AgentKnowledgeBasePanel(DrawCallback draw_callback)
238 : draw_callback_(std::move(draw_callback)) {}
239
240 std::string GetId() const override { return "agent.knowledge"; }
241 std::string GetDisplayName() const override { return "Knowledge Base"; }
242 std::string GetIcon() const override { return ICON_MD_PSYCHOLOGY; }
243 std::string GetEditorCategory() const override { return "Agent"; }
247 int GetPriority() const override { return 25; } // Between Status and Prompt
248
249 void Draw(bool* p_open) override {
250 if (draw_callback_) {
252 }
253 }
254
255 private:
257};
258
263 public:
264 explicit AgentChatPanel(AgentChat* chat) : chat_(chat) {}
265
266 std::string GetId() const override { return "agent.chat"; }
267 std::string GetDisplayName() const override { return "Agent Chat"; }
268 std::string GetIcon() const override { return ICON_MD_CHAT; }
269 std::string GetEditorCategory() const override { return "Agent"; }
273 int GetPriority() const override { return 5; }
274
275 void Draw(bool* p_open) override;
276
277 private:
279};
280
291 public:
292 using DrawCallback = std::function<void()>;
293
295 : draw_callback_(std::move(draw_callback)) {}
296
297 std::string GetId() const override { return "agent.oracle_states"; }
298 std::string GetDisplayName() const override { return "Oracle States"; }
299 std::string GetIcon() const override { return ICON_MD_SAVE; }
300 std::string GetEditorCategory() const override { return "Agent"; }
303 "Tools > Hack Workflows > Live Debugging");
304 }
305 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
306 std::string GetWorkflowLabel() const override { return "State Library"; }
307 std::string GetWorkflowDescription() const override {
308 return "Manage saved emulator states for hack debugging and regression "
309 "checks";
310 }
311 std::string GetShortcutHint() const override { return "Ctrl+Shift+O"; }
312 int GetPriority() const override { return 85; }
313
314 void Draw(bool* p_open) override {
315 if (draw_callback_) {
317 }
318 }
319
320 private:
322};
323
331 public:
332 using DrawCallback = std::function<void()>;
333
335 : draw_callback_(std::move(draw_callback)) {}
336
337 std::string GetId() const override { return "agent.feature_flags"; }
338 std::string GetDisplayName() const override { return "Feature Flags"; }
339 std::string GetIcon() const override { return ICON_MD_FLAG; }
340 std::string GetEditorCategory() const override { return "Agent"; }
343 "Tools > Hack Workflows > Build & Config");
344 }
345 std::string GetWorkflowGroup() const override { return "Build & Config"; }
346 std::string GetWorkflowDescription() const override {
347 return "Inspect and edit project feature flags";
348 }
349 int GetPriority() const override { return 90; }
350
351 void Draw(bool* p_open) override {
352 if (draw_callback_) {
354 }
355 }
356
357 private:
359};
360
368 public:
369 using DrawCallback = std::function<void()>;
370
371 explicit ManifestEditorPanel(DrawCallback draw_callback)
372 : draw_callback_(std::move(draw_callback)) {}
373
374 std::string GetId() const override { return "agent.manifest"; }
375 std::string GetDisplayName() const override { return "Hack Manifest"; }
376 std::string GetIcon() const override { return ICON_MD_DESCRIPTION; }
377 std::string GetEditorCategory() const override { return "Agent"; }
380 "Tools > Hack Workflows > Build & Config");
381 }
382 std::string GetWorkflowGroup() const override { return "Build & Config"; }
383 std::string GetWorkflowDescription() const override {
384 return "Inspect manifest metadata, protected regions, and registry state";
385 }
386 int GetPriority() const override { return 95; }
387
388 void Draw(bool* p_open) override {
389 if (draw_callback_) {
391 }
392 }
393
394 private:
396};
397
405 public:
406 using DrawCallback = std::function<void()>;
407
408 explicit SramViewerEditorPanel(DrawCallback draw_callback)
409 : draw_callback_(std::move(draw_callback)) {}
410
411 std::string GetId() const override { return "agent.sram_viewer"; }
412 std::string GetDisplayName() const override { return "SRAM Viewer"; }
413 std::string GetIcon() const override { return ICON_MD_MEMORY; }
414 std::string GetEditorCategory() const override { return "Agent"; }
417 "Tools > Hack Workflows > Game State");
418 }
419 std::string GetWorkflowGroup() const override { return "Game State"; }
420 std::string GetWorkflowDescription() const override {
421 return "Inspect live SRAM variables from the active emulator session";
422 }
423 int GetPriority() const override { return 88; }
424
425 void Draw(bool* p_open) override {
426 if (draw_callback_) {
428 }
429 }
430
431 private:
433};
434
442 public:
443 using DrawCallback = std::function<void()>;
444
446 : draw_callback_(std::move(draw_callback)) {}
447
448 std::string GetId() const override { return "agent.mesen_screenshot"; }
449 std::string GetDisplayName() const override {
450 return "Mesen2 Screenshot Preview";
451 }
452 std::string GetIcon() const override { return ICON_MD_CAMERA_ALT; }
453 std::string GetEditorCategory() const override { return "Agent"; }
456 "Tools > Hack Workflows > Live Debugging");
457 }
458 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
459 std::string GetWorkflowDescription() const override {
460 return "Preview live emulator screenshots while debugging hack changes";
461 }
462 int GetPriority() const override { return 82; }
463
464 void Draw(bool* p_open) override {
465 if (draw_callback_) {
467 }
468 }
469
470 private:
472};
473
474} // namespace editor
475} // namespace yaze
476
477#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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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)
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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.
WindowPresentationPolicy GetPresentationPolicy() const override
How this content is hosted and advertised by workspace chrome.
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_HISTORY
Definition icons.h:946
static WindowPresentationPolicy Diagnostic()
static WindowPresentationPolicy CoreWorkspace()
WindowPresentationPolicy WithHost(std::string host_name) const
Returns a copy that names the hosting surface.
static WindowPresentationPolicy OptionalPopOut()