83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
# comic-odin
|
|
|
|
Native desktop application for comic creation, powered by Odin and Raylib.
|
|
|
|
## Features
|
|
|
|
- **Story & Script**: Generate comic scripts locally or via DeepSeek AI
|
|
- **Panel Generation**: Create panel images locally or via fal.ai
|
|
- **Layout Engine**: Auto-layout pages with pattern-based cell assignment
|
|
- **Bubble Editor**: Add, edit, and auto-place speech bubbles per panel
|
|
- **Export**: Output to PDF, PNG sequence, or CBZ comic book archive
|
|
- **Project Persistence**: Save/load projects as `.comic.json`
|
|
- **Native GUI**: Full Raylib-based desktop interface with dark theme
|
|
- **CLI/TUI**: Terminal-based interactive mode for headless workflows
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cd odin
|
|
./build.sh
|
|
./bin/comic_odin gui # Launch native GUI
|
|
./bin/comic_odin tui # Launch terminal UI
|
|
./bin/comic_odin status # Quick status check
|
|
```
|
|
|
|
## Building
|
|
|
|
Requires [Odin](https://odin-lang.org/) and [Raylib](https://www.raylib.com/).
|
|
|
|
```bash
|
|
# Build debug binary
|
|
./build.sh
|
|
|
|
# Run tests
|
|
odin test tests
|
|
|
|
# Package release artifact
|
|
VERSION=0.2.0 ./scripts/package.sh
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
| Directory | Purpose |
|
|
|-----------|---------|
|
|
| `src/app` | App entrypoint and CLI composition root |
|
|
| `src/core` | Pure domain logic (types, workflow, layout, bubbles) |
|
|
| `src/adapters` | IO + external services (DeepSeek, fal.ai, storage, export) |
|
|
| `src/gui` | Raylib GUI runtime, views, actions, helpers |
|
|
| `src/ui` | Controller, screens, navigation, jobs |
|
|
| `src/shared` | Config, errors, layout constants |
|
|
| `tests` | Unit and integration tests |
|
|
| `schemas` | JSON schemas for project/script persistence |
|
|
| `docs` | Migration and implementation notes |
|
|
|
|
## GUI Controls
|
|
|
|
### Navigation
|
|
- `1-8`: Switch screens (Story, Script, Characters, Panels, Layout, Bubbles, Export, Community)
|
|
- `Tab` / `F1-F4`, `F11-F12`: Cycle input fields
|
|
- `Ctrl+[` / `Ctrl+]`: Navigate pages/panels within current screen
|
|
|
|
### Actions
|
|
- `F5`: Generate Script | `F6`: Generate Panels | `F7`: Layout Auto | `F8`: Export
|
|
- `F9`: Next Step | `F10`: Auto-All
|
|
- `Ctrl+S`: Save | `Ctrl+O`: Open | `Ctrl+E`: Export
|
|
- `Ctrl+G`: Toggle script source (Local/DeepSeek)
|
|
|
|
### Overlays
|
|
- `/`: Toggle help overlay | `Esc`: Close overlays
|
|
|
|
## Configuration
|
|
|
|
Set environment variables for AI services:
|
|
|
|
```bash
|
|
export DEEPSEEK_API_KEY="your-key"
|
|
export FAL_API_KEY="your-key"
|
|
```
|
|
|
|
## License
|
|
|
|
See repository root LICENSE file.
|