How eimg/lime works
Lime is a desktop image editor. The main workflow is opening or creating an image in the workspace, editing layered content with selection, paint, text, path, transform, and effect tools, then saving an editable .lime project or exporting a flattened image/PDF. The graph also preserves documented recovery and PDF capabilities. Source excerpts show document, rendering, and project behavior; several UI and service connections are based on the README, so unsampled implementation details are not expanded.
Main entry points: view.rs Canvas Workspace · content.rs Document Model · pdf_input.rs PDF Import UI · document.rs Canvas Rendering
Components 21
Workspace UI
- Canvas Workspace
src/workspace/view.rs - Layer Controls
src/workspace/layers.rs - PDF Import UI
src/workspace/dialogs/pdf_input.rs - App Commands
src/commands.rs
Image Editing
- Selection Tools
src/selection.rs - Painting and Fill
src/paint.rs - Color Adjustments
src/adjustments.rs - Filters and Effects
src/filters.rs - Transforms
src/transform.rs - Gradient Tools
src/gradient.rs - Vector Paths
src/paths.rs - Editable Text
src/text.rs
Documents and Output
- Document Model
src/document/content.rs - Canvas Rendering
src/document.rs - Tile Preview
src/preview.rs - Project Persistence
src/project.rs - PDF Handling
src/pdf.rs - PDF Export
src/pdf/export.rs
App Services
- Work Recovery
src/recovery.rs - Tool Settings
src/settings.rs
Other components
- Editor
Connections 21
- Editor → Canvas Workspace: edits in
- Canvas Workspace → App Commands: dispatches
src/workspace/view.rs - Canvas Workspace → Document Model: edits
- Layer Controls → Document Model: manages layers
src/workspace/layers.rs - Document Model → Canvas Rendering: renders
src/document.rs - Canvas Rendering → Tile Preview: builds tiles
src/document.rs - Document Model → Project Persistence: reads and writes
src/document.rs - Canvas Workspace → Selection Tools: uses
src/workspace/view.rs - Canvas Workspace → Painting and Fill: uses
src/workspace/view.rs - Canvas Workspace → Color Adjustments: applies
- Canvas Workspace → Filters and Effects: applies
- Canvas Workspace → Transforms: uses
src/workspace/view.rs - Canvas Workspace → Gradient Tools: uses
src/workspace/view.rs - Canvas Workspace → Vector Paths: edits
src/workspace/view.rs - Canvas Workspace → Editable Text: edits
- Editor → PDF Import UI: imports pages
- PDF Import UI → PDF Handling: selects pages
- Document Model → PDF Export: exports flattened
src/document.rs - PDF Export → PDF Handling: uses PDF support
src/pdf/export.rs - Editor → Work Recovery: recovers work
- Canvas Workspace → Tool Settings: uses tool options