editor-ui-drawers

Wrap ImGui calls with reusable Drawer components for consistent editor UI.

13|2|Updated Jul 17, 2023
One-click install
npx skills add https://github.com/kateusz/GameEngine --skill editor-ui-drawers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: editor-ui-drawers
Source: https://github.com/kateusz/GameEngine/tree/main/.claude/skills/editor-ui-drawers
Command: npx skills add https://github.com/kateusz/GameEngine --skill editor-ui-drawers

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide for using the editor's UI Drawers (ButtonDrawer, ModalDrawer, TableDrawer, TreeDrawer, LayoutDrawer, TextDrawer, DragDropDrawer). It ensures consistent styling, behavior, and adherence to EditorUIConstants across all editor panels, eliminating the need for manual, inconsistent ImGui code.

Core Features & Use Cases

  • Button Variants: Create 11+ types of buttons (standard, colored, icon, toggle, modal) with ButtonDrawer.
  • Modal Dialogs: Implement 5 types of modals (confirmation, input, message, list selection) with ModalDrawer.
  • Structured Data: Render tables with sortable headers (TableDrawer) and hierarchical trees with selection (TreeDrawer).
  • Layout & Text: Manage spacing, inputs, context menus, tooltips (LayoutDrawer), and semantic colored text (TextDrawer).
  • Drag-and-Drop: Implement file drag-and-drop with validation using DragDropDrawer.
  • Use Case: When building a new AssetBrowserPanel, use TableDrawer to display asset lists, ButtonDrawer for import/export actions, ModalDrawer for delete confirmations, and DragDropDrawer to allow users to drag assets into the scene.

Quick Start

Show me how to create a full-width 'Save' button and a confirmation modal for a 'Delete' action using the UI Drawers.

Frequently Asked Questions about editor-ui-drawers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I ensure consistent styling across editor UI panels without writing raw ImGui code?

Editor UI Drawers wrap ImGui calls and enforce EditorUIConstants for sizing, spacing, and colors across all panels. Use ButtonDrawer, ModalDrawer, TableDrawer, TreeDrawer, LayoutDrawer, TextDrawer, and DragDropDrawer to maintain consistency and eliminate manual ImGui inconsistencies.

What button variants and modal types are available in the UI Drawers?

ButtonDrawer supports 11+ button types including standard, colored, icon, toggle, and modal variants. ModalDrawer provides 5 modal types: confirmation, input, message, list selection, and custom dialogs for common editor workflows.

How do I display and sort structured data like asset lists in editor panels?

TableDrawer renders sortable tables with header controls; TreeDrawer displays hierarchical data with selection support. Both apply consistent styling through EditorUIConstants and integrate seamlessly with other Drawer components for cohesive panel layouts.

Can I implement drag-and-drop functionality with validation in editor panels?

Yes, DragDropDrawer handles file drag-and-drop with built-in validation. It enforces consistent visual feedback and integrates with other Drawers to enable workflows like dragging assets into scenes while maintaining UI standards.

What's the quickest way to build a new editor panel with buttons, tables, and modals?

Combine ButtonDrawer for actions, TableDrawer for asset lists, and ModalDrawer for confirmations. Each Drawer applies EditorUIConstants automatically, eliminating layout boilerplate and ensuring uniform appearance across your new panel.

Do I need to learn ImGui directly to use these UI Drawers?

No. Drawers abstract ImGui calls entirely through a high-level API. They enforce the never-use-raw-ImGui principle while handling sizing, spacing, colors, and interactions, so you focus on panel logic rather than low-level rendering.