12 preset.name =
"Overworld Default";
13 preset.description =
"Main canvas with tile16 editor";
14 preset.default_visible_panels = {
18 preset.panel_positions = {
25 preset.optional_panels = {
36 preset.name =
"Dungeon Default";
37 preset.description =
"Room editor with object palette and properties";
38 preset.default_visible_panels = {
42 preset.panel_positions = {
50 preset.optional_panels = {
61 preset.name =
"Graphics Default";
62 preset.description =
"Sheet browser with editor";
63 preset.default_visible_panels = {
67 preset.panel_positions = {
73 preset.optional_panels = {
80 preset.name =
"Palette Default";
81 preset.description =
"Palette groups with editor and preview";
82 preset.default_visible_panels = {
86 preset.panel_positions = {
91 preset.optional_panels = {
105 preset.name =
"Sprite Default";
106 preset.description =
"Sprite browser with editor";
107 preset.default_visible_panels = {
110 preset.panel_positions = {
114 preset.optional_panels = {
120 preset.name =
"Screen Default";
121 preset.description =
"Screen browser with tileset editor";
122 preset.default_visible_panels = {
125 preset.panel_positions = {
131 preset.optional_panels = {
140 preset.name =
"Music Default";
141 preset.description =
"Song browser with playback control and piano roll";
142 preset.default_visible_panels = {
147 preset.panel_positions = {
155 preset.optional_panels = {
163 preset.name =
"Message Default";
164 preset.description =
"Message list with editor and preview";
165 preset.default_visible_panels = {
169 preset.panel_positions = {
175 preset.optional_panels = {
182 preset.name =
"Assembly Default";
183 preset.description =
"Assembly editor with file browser";
184 preset.default_visible_panels = {
187 preset.panel_positions = {
191 preset.optional_panels = {
197 preset.name =
"Emulator Default";
198 preset.description =
"Emulator with debugger tools";
199 preset.default_visible_panels = {
202 preset.panel_positions = {
208 preset.optional_panels = {
222 preset.name =
"Agent";
223 preset.description =
"AI Agent Configuration and Chat";
224 preset.default_visible_panels = {
225 "agent.configuration",
229 preset.optional_panels = {
230 "agent.prompt_editor",
238 preset.name =
"Default";
239 preset.description =
"No specific layout";
247 std::unordered_map<EditorType, PanelLayoutPreset> presets;
270 std::vector<std::string> all_panels = preset.default_visible_panels;
271 all_panels.insert(all_panels.end(), preset.optional_panels.begin(),
272 preset.optional_panels.end());
278 return std::find(default_panels.begin(), default_panels.end(), panel_id) !=
279 default_panels.end();
288 preset.
name =
"Minimal";
289 preset.description =
"Essential cards only for focused editing";
292 preset.default_visible_panels = {
309 preset.
name =
"Developer";
310 preset.description =
"Debug and development focused layout";
312 preset.default_visible_panels = {
334 preset.
name =
"Designer";
335 preset.description =
"Visual and artistic focused layout";
337 preset.default_visible_panels = {
362 preset.
name =
"Modder";
363 preset.description =
"Full-featured layout for comprehensive editing";
365 preset.default_visible_panels = {
397 preset.
name =
"Overworld Expert";
398 preset.description =
"Complete overworld editing toolkit";
400 preset.default_visible_panels = {
423 preset.
name =
"Dungeon Expert";
424 preset.description =
"Complete dungeon editing toolkit";
426 preset.default_visible_panels = {
450 preset.
name =
"Testing";
451 preset.description =
"Quality assurance and ROM testing layout";
453 preset.default_visible_panels = {
473 preset.
name =
"Audio";
474 preset.description =
"Music and sound editing layout";
476 preset.default_visible_panels = {
491 preset.panel_positions = {
static std::vector< std::string > GetDefaultPanels(EditorType type)
Get default visible panels for an editor.
PanelLayoutPreset PanelLayoutPreset
static PanelLayoutPreset GetDungeonExpertPreset()
Get the "dungeon expert" workspace preset.
static PanelLayoutPreset GetTestingPreset()
Get the "testing" workspace preset (QA focused)
static std::vector< std::string > GetAllPanelsForEditor(EditorType type)
Get all available panels for an editor (visible + hidden)
static PanelLayoutPreset GetDesignerPreset()
Get the "designer" workspace preset (visual-focused)
static bool IsDefaultPanel(EditorType type, const std::string &panel_id)
Check if a panel should be visible by default.
static PanelLayoutPreset GetAudioPreset()
Get the "audio" workspace preset (music focused)
static PanelLayoutPreset GetDefaultPreset(EditorType type)
Get the default layout preset for an editor type.
static PanelLayoutPreset GetModderPreset()
Get the "modder" workspace preset (full-featured)
static PanelLayoutPreset GetOverworldExpertPreset()
Get the "overworld expert" workspace preset.
static PanelLayoutPreset GetMinimalPreset()
Get the "minimal" workspace preset (minimal cards)
static PanelLayoutPreset GetDeveloperPreset()
Get the "developer" workspace preset (debug-focused)
static std::unordered_map< EditorType, PanelLayoutPreset > GetAllPresets()
Get all available presets.
static constexpr const char * kMusicSampleEditor
static constexpr const char * kMusicInstrumentEditor
static constexpr const char * kPaletteQuickAccess
static constexpr const char * kMusicPlaybackControl
static constexpr const char * kOverworldTile8Selector
static constexpr const char * kPaletteControlPanel
static constexpr const char * kScreenOverworldMap
static constexpr const char * kEmulatorSaveStates
static constexpr const char * kEmulatorAiAgent
static constexpr const char * kEmulatorPerformance
static constexpr const char * kDungeonControlPanel
static constexpr const char * kPaletteOwMain
static constexpr const char * kMessageList
static constexpr const char * kGraphicsPlayerAnimations
static constexpr const char * kMusicSongBrowser
static constexpr const char * kPaletteSpritesAux2
static constexpr const char * kMusicPianoRoll
static constexpr const char * kDungeonRoomGraphics
static constexpr const char * kEmulatorAudioMixer
static constexpr const char * kOverworldCanvas
static constexpr const char * kOverworldV3Settings
static constexpr const char * kAssemblyEditor
static constexpr const char * kEmulatorKeyboardConfig
static constexpr const char * kDungeonEntrances
static constexpr const char * kDungeonObjectEditor
static constexpr const char * kMemoryHexEditor
static constexpr const char * kGraphicsSheetBrowser
static constexpr const char * kPaletteEquipment
static constexpr const char * kDungeonRoomMatrix
static constexpr const char * kScreenNamingScreen
static constexpr const char * kPaletteSprites
static constexpr const char * kScreenDungeonMaps
static constexpr const char * kSpriteVanillaEditor
static constexpr const char * kPaletteSpritesAux3
static constexpr const char * kPaletteSpritesAux1
static constexpr const char * kGraphicsPrototypeViewer
static constexpr const char * kDungeonRoomSelector
static constexpr const char * kAssemblyFileBrowser
static constexpr const char * kPaletteOwAnimated
static constexpr const char * kGraphicsSheetEditor
static constexpr const char * kOverworldAreaGraphics
static constexpr const char * kDungeonDebugControls
static constexpr const char * kDungeonPaletteEditor
static constexpr const char * kOverworldUsageStats
static constexpr const char * kMessageFontAtlas
static constexpr const char * kOverworldTile16Selector
static constexpr const char * kMusicAssembly
static constexpr const char * kEmulatorApuDebugger
static constexpr const char * kEmulatorPpuViewer
static constexpr const char * kOverworldScratch
static constexpr const char * kScreenInventoryMenu
static constexpr const char * kSpriteCustomEditor
static constexpr const char * kPaletteDungeonMain
static constexpr const char * kMessageDictionary
static constexpr const char * kEmulatorBreakpoints
static constexpr const char * kPaletteCustom
static constexpr const char * kOverworldGfxGroups
static constexpr const char * kEmulatorMemoryViewer
static constexpr const char * kScreenTitleScreen
static constexpr const char * kEmulatorCpuDebugger
static constexpr const char * kMessageEditor