How maurycyliebner/enve works
enve is a desktop 2D animation application for vector and raster animation, with sound and video support. A user works through the main window and timeline to create or edit scenes and animated objects, then previews or renders output. The tree identifies distinct authoring, animation, media, and rendering subsystems; sampled code confirms render coordination, video-frame caching, task execution, and external paint-app exchange. The README states the product capabilities, but implementation details for several branches were not sampled, so their internal wiring is left unspecified.
Main entry points: renderhandler.cpp Render coordinator · mainwindow.cpp Main window · layouthandler.h Scene layouts · videocachehandler.cpp Video frame cache
Components 20
Authoring
- Application entry
src/app/main.cpp - Main window
src/app/GUI/mainwindow.cpp - Timeline UI
src/app/GUI/timelinewidget.cpp - Scene layouts
src/app/GUI/layouthandler.h
Animation model
- Document
include/enveCore/document.h - Canvas scenes
include/enveCore/canvas.h - Scene objects
include/enveCore/Boxes/animationbox.h - Property animation
include/enveCore/Animators/animator.h - Smart paths
include/enveCore/Animators/SmartPath/smartpathanimator.h - Raster painting
include/enveCore/Paint/animatedsurface.h
Media and sound
- Video frame cache
src/core/FileCacheHandlers/videocachehandler.cpp - Sound composition
include/enveCore/Sound/soundcomposition.h - Audio handler
src/app/GUI/audiohandler.cpp
Rendering and effects
- Render coordinator
src/app/renderhandler.cpp - Task execution
src/core/Private/Tasks/execcontroller.cpp - Video encoder
src/app/videoencoder.cpp - Shader effects
include/enveCore/ShaderEffects/shadereffect.h
Extensions
- Custom effects
src/core/customhandler.h
Other components
- Artist
- External paint app
Connections 13
- Artist → Main window: edits in
- Application entry → Main window: creates
- Main window → Document: opens file
- Main window → Render coordinator: starts render
- Main window → Audio handler: initializes audio
- Scene layouts → Canvas scenes: lays out
- Scene layouts → Timeline UI: lays out
- Render coordinator → Canvas scenes: renders scene
- Render coordinator → Sound composition: schedules audio range
- Render coordinator → Video encoder: starts encoding
- Render coordinator → Task execution: checks task queue
- Video frame cache → Video frame cache: caches frames
- Raster painting → External paint app: exchanges paint file