- Introduction
- Getting Started
- 1. Setup
- 1.1. Development Environment
- 1.2. Your First GPUI App
- 2. GPUI Fundamentals
- 2.1. The Three Registers
- 2.2. Entities and Ownership
- 2.3. Contexts (App, Visual, Context)
- 2.4. Views and Rendering
- 2.5. Elements
- Common Patterns
- 3. State Management
- 3.1. Local vs Global State
- 3.2. Entity Updates and Notifications
- 3.3. Observing State Changes
- 3.4. Event Emission
- 3.5. Subscriptions
- 4. UI Components
- 4.1. Reusable Components
- 4.2. Buttons
- 4.3. Text Inputs
- 4.4. Lists and Tables
- 4.5. Modals and Dialogs
- 4.6. Menus and Dropdowns
- 4.7. Tooltips
- 5. Layout Patterns
- 5.1. Common Layouts
- 5.2. Flexbox Patterns
- 5.3. Grid Layouts
- 5.4. Split Panes
- 5.5. Tabs
- 5.6. Responsive Design
- Styling
- 6. Styling Basics
- 6.1. The Styled Trait
- 6.2. Colors and Backgrounds
- 6.3. Spacing and Sizing
- 6.4. Borders and Shadows
- 6.5. Text Styling
- 7. Theming
- 7.1. Building a Theme System
- 7.2. Dark/Light Mode
- 7.3. Custom Color Palettes
- 8. Animations
- 8.1. Basic Animations
- 8.2. Transitions
- 8.3. Animation Timing
- Interactivity
- 9. Mouse and Touch
- 9.1. Click Handlers
- 9.2. Hover States
- 9.3. Drag and Drop
- 9.4. Custom Interactions
- 10. Keyboard Input
- 10.1. Actions System
- 10.2. Keymaps
- 10.3. Text Input Handling
- 11. Focus Management
- 11.1. Focus Basics
- 11.2. Tab Navigation
- 11.3. Focus Visible
- Advanced Topics
- 12. Performance
- 12.1. Render Optimization
- 12.2. Efficient Lists
- 12.3. Profiling
- 13. Async and Concurrency
- 13.1. Spawning Tasks
- 13.2. Background Work
- 13.3. Async Patterns
- 14. Custom Elements
- 14.1. Implementing Element Trait
- 14.2. Custom Layout
- 14.3. Custom Painting
- 15. Window Management
- 15.1. Multiple Windows
- 15.2. Window Options
- 15.3. Window Events
- Integration
- 16. File System
- 17. Networking
- 18. Data Persistence
- 19. External Libraries
- Cookbook
- 20. Recipes
- 20.1. Building a Counter App
- 20.2. Todo List
- 20.3. Image Gallery
- 20.4. Settings Panel
- 20.5. Command Palette
- Pitfalls and Best Practices
- 21. Common Mistakes
- 21.1. Context Lifetime Issues
- 21.2. Subscription Management
- 21.3. Render Triggers
- 21.4. Entity Handle Leaks
- 22. Best Practices
- 22.1. Code Organization
- 22.2. Testing GPUI Apps
- 22.3. Accessibility
- Reference
- 23. Glossary
- 24. Trait Quick Reference
- 25. Element Quick Reference
- 26. Learning Resources