comic/odin
echo efa6d35864 Phase 5: Keyboard shortcuts and editor polish
- Tool shortcuts (editor active): B=Pen, E=Eraser, L=Line, R=Rect,
  C=Circle, I=Color Pick
- Brush size: [/] keys decrease/increase by 2
- Zoom: 0=reset, +=zoom in, -=zoom out
- Ctrl+Z=undo, Ctrl+S=commit (save edit)
- A=toggle adjustments panel
- Skip global hotkeys (Ctrl+B sidebar, number nav) when editor active
- All 156 tests pass.
2026-05-28 15:48:50 +02:00
..
assets current state 2026-05-28 15:20:02 +02:00
build check point 2026-05-24 12:41:31 +02:00
docs check point 2026-05-22 03:51:50 +02:00
generated check point 2026-05-21 06:10:32 +02:00
missing-dir-for-autosave check point 2026-05-21 06:10:32 +02:00
quick loic-cli-quick-1186622491 current state 2026-05-28 15:20:02 +02:00
schemas check point 2026-05-21 06:10:32 +02:00
scripts check point 2026-05-24 12:41:31 +02:00
src Phase 5: Keyboard shortcuts and editor polish 2026-05-28 15:48:50 +02:00
tests current state 2026-05-28 15:20:02 +02:00
vendor check point 2026-05-24 12:41:31 +02:00
.env check point 2026-05-21 06:10:32 +02:00
.gitignore check point 2026-05-21 06:10:32 +02:00
app current state 2026-05-28 15:20:02 +02:00
build_osdialog.sh check point 2026-05-24 12:41:31 +02:00
build.sh check point 2026-05-24 12:41:31 +02:00
buildandrun.md check point 2026-05-24 12:41:31 +02:00
CHANGELOG.md check point 2026-05-22 03:51:50 +02:00
comic-odin check point 2026-05-21 06:10:32 +02:00
comic.pdf current state 2026-05-28 15:20:02 +02:00
gui_diagnostics.txt current state 2026-05-28 15:20:02 +02:00
gui_export.pdf current state 2026-05-28 15:20:02 +02:00
gui_project.comic.json current state 2026-05-28 15:20:02 +02:00
gui_session_report.txt current state 2026-05-28 15:20:02 +02:00
local.cbz check point 2026-05-21 06:10:32 +02:00
local.pdf check point 2026-05-21 06:10:32 +02:00
ols.json another checkpoint 2026-05-22 08:54:22 +02:00
quick_3.cbz check point 2026-05-21 06:10:32 +02:00
quick_local.pdf check point 2026-05-21 06:10:32 +02:00
README.md check point 2026-05-22 03:51:50 +02:00
scratch.odin check point 2026-05-21 06:10:32 +02:00
screenshot000.png check point 2026-05-21 06:10:32 +02:00
screenshot001.png check point 2026-05-21 06:10:32 +02:00
wa.pdf current state 2026-05-28 15:20:02 +02:00

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

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 and Raylib.

# 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:

export DEEPSEEK_API_KEY="your-key"
export FAL_API_KEY="your-key"

License

See repository root LICENSE file.