4.6 KiB
comic-odin GUI User Guide
Getting Started
Launching
cd odin
./bin/comic_odin gui
The application launches in borderless fullscreen on your primary monitor.
First Run Workflow
- Enter a Story Idea (or leave default)
- Click Generate Script Local (or press
F5) - Click Generate Panels Local (or press
F6) - Click Layout Pages (or press
F7) - Navigate to Bubbles screen to add speech bubbles
- Click Export (or press
F8) to produce your comic
Screens
1. Story
Enter your comic concept: idea, genre, and target audience. These fields seed script generation.
2. Script
View generated script pages. Navigate pages with < Pg / Pg > buttons or Ctrl+[ / Ctrl+].
Script Source Toggle: Switch between Local (deterministic) and DeepSeek (AI-generated) modes. DeepSeek requires DEEPSEEK_API_KEY environment variable.
3. Characters
Character editor is scaffolded. Characters are auto-populated from script generation.
4. Panels
View generated panel images and their metadata (dimensions, seed, source). Navigate with < Pn / Pn > or Ctrl+[ / Ctrl+]. Use Regenerate to re-roll a specific panel.
5. Layout
View layout wireframe previews with validation badges:
- Cov: Page coverage percentage (green if 80-105%)
- Bind: Missing panel bindings (green if 0)
- Bounds: Cells outside valid range (green if 0)
Navigate pages with < Ly / Ly > or Ctrl+[ / Ctrl+]. Use Regen to cycle the layout pattern.
6. Bubbles
Speech bubble editor. Select a panel using < Pn / Pn > or Ctrl+[ / Ctrl+], then:
- Add: Create a new bubble (Normal type, placeholder text)
- Auto Place: Generate bubbles from script dialogue automatically
- Type selector: Change bubble type (Normal/Thought/Shout/Whisper/Narration/SFX)
- x button: Delete the selected bubble
Use mouse wheel to cycle through panels on the current page.
7. Export
Choose format (PDF/PNG/CBZ), set the export path, and click Export. The path extension auto-matches the selected format.
8. Community
Placeholder for future sharing/collaboration features.
Keyboard Shortcuts
Navigation
| Shortcut | Action |
|---|---|
1-8 |
Switch to screen |
Tab |
Next input field |
F1-F4 |
Focus idea/genre/audience/export path |
F11 |
Focus local pages |
F12 |
Focus project path |
Ctrl+[ / Ctrl+] |
Previous/next page or panel |
Actions
| Shortcut | Action |
|---|---|
F5 |
Generate Script |
F6 |
Generate Panels |
F7 |
Layout Auto |
F8 |
Export |
F9 |
Next Step |
F10 |
Auto-All |
Ctrl+S |
Save project |
Ctrl+O |
Open project |
Ctrl+E |
Export |
Ctrl+G |
Toggle script source |
Utilities
| Shortcut | Action |
|---|---|
/ |
Toggle help overlay |
Esc |
Close overlays |
Ctrl+L |
Clear action log |
Ctrl+Shift+A |
Toggle autosave |
Ctrl+Backspace |
Clear selected field |
Ctrl+V |
Paste into selected field |
Destructive Actions (require Shift when dirty)
| Shortcut | Action |
|---|---|
Ctrl+N |
Reset project |
Ctrl+Shift+N |
Force reset (when dirty) |
Ctrl+Shift+O |
Force open (when dirty) |
Autosave
Autosave is enabled by default with a 20-second interval. Adjust via:
- Autosave button to toggle on/off
- Interval(s) field to set seconds
- 15/30/60 preset buttons
Ctrl+-/Ctrl+=to decrease/increase by 5s
Path Management
Quick-Fix Buttons
- Fix Exp Ext: Normalize export path extension to match format
- Fix Proj Ext: Normalize project path to
.comic.json - Proj From Exp: Derive project path from export directory
- Exp From Proj: Derive export path from project directory
Status Indicators
- P (red): Project path needs normalization → click to fix
- E (red): Export path needs normalization → click to fix
- PE (red): Fix both paths at once
Troubleshooting
"Export blocked: generate panels + layout first"
You must complete the pipeline in order: Script → Panels → Layout → Export.
"DeepSeek key missing"
Set the DEEPSEEK_API_KEY environment variable before launching, or use Local script generation.
Project won't save
Check that the project path ends with .comic.json. Use Fix Proj Ext to normalize.
GUI looks cramped
The application adapts to screen size. On heights below 860px, non-essential hints are hidden. Resize the window or use a larger display.
Memory warnings in tests
Some test warnings about string leaks are known (literal strings vs owned strings). These do not affect runtime behavior.