232 lines
6 KiB
Markdown
232 lines
6 KiB
Markdown
# Custom Welcome Screen Implementation Plan
|
|
|
|
## Overview
|
|
The AeThex Engine welcome screen will provide a modern, branded onboarding experience
|
|
that highlights AeThex's unique features and helps users get started quickly.
|
|
|
|
## Files to Modify
|
|
|
|
### Primary Files:
|
|
- `engine/editor/project_manager/project_manager.cpp` - Main project manager
|
|
- `engine/editor/project_manager/project_manager.h` - Header file
|
|
|
|
### customization Points:
|
|
|
|
## 1. Branding Elements
|
|
|
|
### Window Title (Already Done via version.py)
|
|
The project manager will now show "AeThex Engine - Project Manager"
|
|
|
|
### Welcome Panel
|
|
**Location:** Create new panel in project_manager.cpp
|
|
|
|
**Content:**
|
|
```
|
|
┌─────────────────────────────────────────┐
|
|
│ [AeThex Logo] AeThex Engine │
|
|
│ │
|
|
│ Next-Generation Game Engine │
|
|
│ • AI-Powered Development │
|
|
│ • Cloud-First Architecture │
|
|
│ • Modern Developer Tools │
|
|
│ │
|
|
│ [New Project] [Open Project] │
|
|
│ [Import Project] │
|
|
│ │
|
|
│ Quick Start: │
|
|
│ • First Game Tutorial → │
|
|
│ • Documentation → │
|
|
│ • Sample Projects → │
|
|
└─────────────────────────────────────────┘
|
|
```
|
|
|
|
## 2. Custom Features Panel
|
|
|
|
### Getting Started Section
|
|
- Interactive tutorial launcher
|
|
- Video tutorials embedded/linked
|
|
- Sample project templates
|
|
- Community showcases
|
|
|
|
### What's New Section
|
|
- Latest AeThex features
|
|
- Update notifications
|
|
- Blog/news feed integration
|
|
|
|
### Resource Links
|
|
- Documentation (searchable)
|
|
- Discord Community
|
|
- Asset Marketplace (future)
|
|
- GitHub Repository
|
|
|
|
## 3. Visual Customizations
|
|
|
|
### Color Theme
|
|
Apply AeThex cyan/purple gradient:
|
|
```cpp
|
|
// In _update_theme()
|
|
Color aethex_primary = Color(0.0, 0.851, 1.0); // #00D9FF
|
|
Color aethex_secondary = Color(0.545, 0.361, 0.965); // #8B5CF6
|
|
Color aethex_dark = Color(0.118, 0.118, 0.180); // #1E1E2E
|
|
```
|
|
|
|
### Custom Panels
|
|
- Rounded corners with glow effect
|
|
- Gradient backgrounds
|
|
- Smooth animations
|
|
- Modern card-based layout
|
|
|
|
## 4. Implementation Steps
|
|
|
|
### Step 1: Add Welcome Panel Widget
|
|
```cpp
|
|
// In ProjectManager class
|
|
Control *welcome_panel = nullptr;
|
|
|
|
void _create_welcome_panel() {
|
|
welcome_panel = memnew(PanelContainer);
|
|
// Add logo, text, buttons
|
|
}
|
|
```
|
|
|
|
### Step 2: Add Quick Links
|
|
```cpp
|
|
LinkButton *docs_link = memnew(LinkButton);
|
|
docs_link->set_text("Documentation");
|
|
docs_link->connect("pressed", callable_mp(this, &ProjectManager::_open_docs));
|
|
```
|
|
|
|
### Step 3: Add Template Selector
|
|
```cpp
|
|
OptionButton *template_selector = memnew(OptionButton);
|
|
template_selector->add_item("2D Platformer Starter");
|
|
template_selector->add_item("3D First-Person Template");
|
|
template_selector->add_item("UI/Menu Template");
|
|
// etc.
|
|
```
|
|
|
|
### Step 4: Recent Projects Enhancement
|
|
- Add project screenshots/thumbnails
|
|
- Show project stats (last modified, file size)
|
|
- Quick actions (Run, Edit, Remove)
|
|
- Tag system for organization
|
|
|
|
## 5. Advanced Features (Future)
|
|
|
|
### Cloud Integration
|
|
- Sign in with AeThex account
|
|
- Sync projects across devices
|
|
- Cloud-based collaboration
|
|
- Remote project management
|
|
|
|
### AI Assistant Welcome
|
|
- "What would you like to create today?"
|
|
- AI-powered project setup
|
|
- Smart template recommendation
|
|
- Code generation quick start
|
|
|
|
### Analytics & Insights
|
|
- Usage statistics (optional opt-in)
|
|
- Performance recommendations
|
|
- Community trends
|
|
- Popular assets/tools
|
|
|
|
## 6. Code Structure
|
|
|
|
### New File: `engine/editor/project_manager/aethex_welcome_panel.h`
|
|
```cpp
|
|
class AeThexWelcomePanel : public PanelContainer {
|
|
GDCLASS(AeThexWelcomePanel, PanelContainer);
|
|
|
|
private:
|
|
VBoxContainer *main_container;
|
|
TextureRect *logo_display;
|
|
RichTextLabel *welcome_text;
|
|
HBoxContainer *quick_actions;
|
|
|
|
void _on_new_project();
|
|
void _on_quick_tutorial();
|
|
void _on_open_docs();
|
|
|
|
protected:
|
|
static void _bind_methods();
|
|
|
|
public:
|
|
void update_theme();
|
|
AeThexWelcomePanel();
|
|
};
|
|
```
|
|
|
|
### New File: `engine/editor/project_manager/aethex_welcome_panel.cpp`
|
|
Implementation of the welcome panel with all AeThex branding and quick actions.
|
|
|
|
## 7. Testing Checklist
|
|
|
|
- [ ] Logo displays correctly
|
|
- [ ] All links open correctly
|
|
- [ ] Theme matches AeThex colors
|
|
- [ ] Buttons are responsive
|
|
- [ ] Keyboard navigation works
|
|
- [ ] Scales properly on different resolutions
|
|
- [ ] Translations work (TTR macros)
|
|
- [ ] Animation performance is smooth
|
|
|
|
## 8. Future Enhancements
|
|
|
|
### Phase 1 (Month 1-2)
|
|
- Basic branding and layout
|
|
- Quick links functional
|
|
- Custom color theme
|
|
|
|
### Phase 2 (Month 3-4)
|
|
- Template system
|
|
- Interactive tutorials
|
|
- Project thumbnails
|
|
|
|
### Phase 3 (Month 5-6)
|
|
- Cloud integration
|
|
- AI assistant preview
|
|
- Analytics dashboard
|
|
|
|
### Phase 4 (Month 6+)
|
|
- Full feature parity with vision
|
|
- Community showcase
|
|
- Marketplace integration
|
|
|
|
## Implementation Priority
|
|
|
|
**High Priority (Do First):**
|
|
1. ✅ Window title and branding (Done via version.py)
|
|
2. Custom welcome message
|
|
3. AeThex-styled buttons and panels
|
|
4. Quick link buttons
|
|
|
|
**Medium Priority (Do Soon):**
|
|
1. Template project system
|
|
2. Getting started tutorial
|
|
3. News/updates panel
|
|
4. Enhanced recent projects view
|
|
|
|
**Low Priority (Do Later):**
|
|
1. Cloud integration UI
|
|
2. AI assistant interface
|
|
3. Analytics dashboard
|
|
4. Community features
|
|
|
|
## Current Status
|
|
|
|
**Completed:**
|
|
- Engine name branding
|
|
- Logo files
|
|
- Color scheme defined
|
|
|
|
**Next Steps:**
|
|
- Create `aethex_welcome_panel.h/cpp`
|
|
- Integrate into `project_manager.cpp`
|
|
- Add custom styling
|
|
- Test and refine
|
|
|
|
---
|
|
|
|
**Note:** The welcome screen is a complex UI component. Start with simple text/button
|
|
customizations, then gradually add more sophisticated features as the project matures.
|