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
158 explicit AgentBuilderPanel(DrawCallback draw_callback)
159 : draw_callback_(std::move(draw_callback)) {}
160
161 std::string GetId() const override { return "agent.builder"; }
162 std::string GetDisplayName() const override { return "Agent Builder"; }
163 std::string GetIcon() const override { return ICON_MD_AUTO_FIX_HIGH; }
164 std::string GetEditorCategory() const override { return "Agent"; }
165 int GetPriority() const override { return 70; }
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 AgentMesenDebugPanel(DrawCallback draw_callback)
185 : draw_callback_(std::move(draw_callback)) {}
186
187 std::string GetId() const override { return "agent.mesen_debug"; }
188 std::string GetDisplayName() const override { return "Mesen2 Debug"; }
189 std::string GetIcon() const override { return ICON_MD_BUG_REPORT; }
190 std::string GetEditorCategory() const override { return "Agent"; }
191 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
192 std::string GetWorkflowDescription() const override {
193 return "Inspect and control a connected Mesen2 debugging session";
194 }
195 std::string GetShortcutHint() const override { return "Ctrl+Shift+M"; }
196 int GetPriority() const override { return 80; }
197
198 void Draw(bool* p_open) override {
199 if (draw_callback_) {
201 }
202 }
203
204 private:
206};
207
215 public:
216 using DrawCallback = std::function<void()>;
217
218 explicit AgentKnowledgeBasePanel(DrawCallback draw_callback)
219 : draw_callback_(std::move(draw_callback)) {}
220
221 std::string GetId() const override { return "agent.knowledge"; }
222 std::string GetDisplayName() const override { return "Knowledge Base"; }
223 std::string GetIcon() const override { return ICON_MD_PSYCHOLOGY; }
224 std::string GetEditorCategory() const override { return "Agent"; }
225 int GetPriority() const override { return 25; } // Between Status and Prompt
226
227 void Draw(bool* p_open) override {
228 if (draw_callback_) {
230 }
231 }
232
233 private:
235};
236
241 public:
242 explicit AgentChatPanel(AgentChat* chat) : chat_(chat) {}
243
244 std::string GetId() const override { return "agent.chat"; }
245 std::string GetDisplayName() const override { return "Agent Chat"; }
246 std::string GetIcon() const override { return ICON_MD_CHAT; }
247 std::string GetEditorCategory() const override { return "Agent"; }
248 int GetPriority() const override { return 5; }
249
250 void Draw(bool* p_open) override;
251
252 private:
254};
255
266 public:
267 using DrawCallback = std::function<void()>;
268
270 : draw_callback_(std::move(draw_callback)) {}
271
272 std::string GetId() const override { return "agent.oracle_states"; }
273 std::string GetDisplayName() const override { return "Oracle States"; }
274 std::string GetIcon() const override { return ICON_MD_SAVE; }
275 std::string GetEditorCategory() const override { return "Agent"; }
276 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
277 std::string GetWorkflowLabel() const override { return "State Library"; }
278 std::string GetWorkflowDescription() const override {
279 return "Manage saved emulator states for hack debugging and regression "
280 "checks";
281 }
282 std::string GetShortcutHint() const override { return "Ctrl+Shift+O"; }
283 int GetPriority() const override { return 85; }
284
285 void Draw(bool* p_open) override {
286 if (draw_callback_) {
288 }
289 }
290
291 private:
293};
294
302 public:
303 using DrawCallback = std::function<void()>;
304
306 : draw_callback_(std::move(draw_callback)) {}
307
308 std::string GetId() const override { return "agent.feature_flags"; }
309 std::string GetDisplayName() const override { return "Feature Flags"; }
310 std::string GetIcon() const override { return ICON_MD_FLAG; }
311 std::string GetEditorCategory() const override { return "Agent"; }
312 std::string GetWorkflowGroup() const override { return "Build & Config"; }
313 std::string GetWorkflowDescription() const override {
314 return "Inspect and edit project feature flags";
315 }
316 int GetPriority() const override { return 90; }
317
318 void Draw(bool* p_open) override {
319 if (draw_callback_) {
321 }
322 }
323
324 private:
326};
327
335 public:
336 using DrawCallback = std::function<void()>;
337
338 explicit ManifestEditorPanel(DrawCallback draw_callback)
339 : draw_callback_(std::move(draw_callback)) {}
340
341 std::string GetId() const override { return "agent.manifest"; }
342 std::string GetDisplayName() const override { return "Hack Manifest"; }
343 std::string GetIcon() const override { return ICON_MD_DESCRIPTION; }
344 std::string GetEditorCategory() const override { return "Agent"; }
345 std::string GetWorkflowGroup() const override { return "Build & Config"; }
346 std::string GetWorkflowDescription() const override {
347 return "Inspect manifest metadata, protected regions, and registry state";
348 }
349 int GetPriority() const override { return 95; }
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 SramViewerEditorPanel(DrawCallback draw_callback)
372 : draw_callback_(std::move(draw_callback)) {}
373
374 std::string GetId() const override { return "agent.sram_viewer"; }
375 std::string GetDisplayName() const override { return "SRAM Viewer"; }
376 std::string GetIcon() const override { return ICON_MD_MEMORY; }
377 std::string GetEditorCategory() const override { return "Agent"; }
378 std::string GetWorkflowGroup() const override { return "Game State"; }
379 std::string GetWorkflowDescription() const override {
380 return "Inspect live SRAM variables from the active emulator session";
381 }
382 int GetPriority() const override { return 88; }
383
384 void Draw(bool* p_open) override {
385 if (draw_callback_) {
387 }
388 }
389
390 private:
392};
393
401 public:
402 using DrawCallback = std::function<void()>;
403
405 : draw_callback_(std::move(draw_callback)) {}
406
407 std::string GetId() const override { return "agent.mesen_screenshot"; }
408 std::string GetDisplayName() const override {
409 return "Mesen2 Screenshot Preview";
410 }
411 std::string GetIcon() const override { return ICON_MD_CAMERA_ALT; }
412 std::string GetEditorCategory() const override { return "Agent"; }
413 std::string GetWorkflowGroup() const override { return "Live Debugging"; }
414 std::string GetWorkflowDescription() const override {
415 return "Preview live emulator screenshots while debugging hack changes";
416 }
417 int GetPriority() const override { return 82; }
418
419 void Draw(bool* p_open) override {
420 if (draw_callback_) {
422 }
423 }
424
425 private:
427};
428
429} // namespace editor
430} // namespace yaze
431
432#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 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_HISTORY
Definition icons.h:946