How busbar2297/screenit works
screenIt is a native Windows capture, annotation, and recording application with CLI and agent automation. The main user workflow runs from capture or recording controls through engine commands to editable content, then export or library storage; other major branches include OCR, video editing, and AI tutorials. The UI excerpt confirms dispatch through Session, while the README documents product workflows and capabilities. Several crate internals and app wiring were not sampled, so uncertain implementation links are omitted or shown as unverified.
Main entry points: src/lib.rs Command session · tutor_cmds.rs Tutorial commands · src/lib.rs Desktop UI · editor_cmds.rs Editor commands
Components 24
User interaction
- Desktop UI
crates/ui-egui/src/lib.rs - Capture and editor controls
crates/ui-egui/src/chrome.rs - Command session
crates/engine/src/lib.rs - Editor commands
crates/engine/src/editor_cmds.rs - Capture commands
crates/engine/src/capture_cmds.rs
Capture and media
- Screen capture
crates/capture/src/lib.rs - Raster images
crates/raster/src/lib.rs - Image effects and redaction
crates/algo/src/fx.rs - Image and project export
crates/codecs/src/lib.rs - Recording model and edits
crates/record/src/lib.rs - MP4 recording and playback
crates/platform/src/mf.rs
Content services
- Searchable media library
crates/library/src/lib.rs - Windows and model OCR
crates/engine/src/text_cmds.rs - Local model client
crates/llm/src/lib.rs - Interface languages
crates/i18n/src/lib.rs
AI tutorial
- Tutorial commands
crates/engine/src/tutor_cmds.rs - Task exploration and planning
crates/tutor/src/explore.rs - Tutorial scripts
crates/tutor/src/script.rs - Tutorial video rendering
crates/engine/src/tutor_render.rs
Platform and automation
- Command-line client
apps/screenit-cli/src/main.rs - Automation and MCP
crates/automation/src/lib.rs - Windows services
crates/platform/src/lib.rs
Other components
- User
- LM Studio or compatible server
Connections 28
- User → Desktop UI: operates
- Desktop UI → Capture and editor controls: renders controls
crates/ui-egui/src/lib.rs - Capture and editor controls → Command session: dispatches commands
crates/ui-egui/src/chrome.rs - Desktop UI → Command session: dispatches through
crates/ui-egui/src/lib.rs - Command session → Capture commands: routes capture
- Command session → Editor commands: routes edits
- User → Command-line client: runs commands
- Command-line client → Command session: invokes commands
- Capture commands → Screen capture: captures screen
- Screen capture → Raster images: produces pixels
- Editor commands → Image effects and redaction: applies effects
- Editor commands → Image and project export: exports content
- User → Recording model and edits: requests recording or edits
- Recording model and edits → MP4 recording and playback: records and writes MP4
- User → Searchable media library: organizes captures
- User → Windows and model OCR: requests text recognition
- Windows and model OCR → Local model client: uses optional model
- Local model client → LM Studio or compatible server: sends recognition request
crates/llm/src/lib.rs - User → Tutorial commands: starts tutorial
- Tutorial commands → Task exploration and planning: explores task
- Tutorial commands → Tutorial scripts: plans and validates
crates/engine/src/tutor_cmds.rs - Tutorial commands → Tutorial video rendering: renders video
crates/engine/src/tutor_cmds.rs - Tutorial commands → Searchable media library: adds tutorial videos
crates/engine/src/tutor_cmds.rs - User → Automation and MCP: uses agent commands
- Automation and MCP → Command session: dispatches commands
- Desktop UI → Interface languages: renders translations
- Screen capture → Windows services: uses Windows capture
- MP4 recording and playback → Windows services: uses Media Foundation
crates/platform/src/mf.rs