TupiTube's To-Do List
This is a non-prioritized list of tasks, features, fixes and any activity related to TupiTube's development.
Note: If you want to support new versions of this project, please contribute on our
Patreon's page.
a) General
- Add an option to edit the project's general metadata (i.e. title, description, etc).
- Create universal installers (appimage) of TupiTube for Linux. Reference: http://appimage.org/
- Migrate the configure script to CMAKE for Unix platforms.
- Enhance interface integration with Windows and OSX platforms: Labels, shortcuts, mime type association for .tup extension.
- Bug: black dialog issue on canvas rotation control in Windows.
- Bug: Windows installer generates conflict with other Qt apps with different library versions.
- Enhance UX of the Scenes manager and include support for Storyboards per scene.
- Bug: Fix compilation recipe for Linux Arch.
- Implement architecture to support customized themes.
- Extend the Preferences dialog to allow keyboard shortcuts customization.
- Implement optional auto-save feature, including parameters like enable/disable and frequency.
- Allow editing project's dimension in case the user wants to resize it.
- Implement clipboard support (copy/paste features) for the whole application.
- Implement a feature to save projects on Google Drive.
- Bug: Fix the error message -> defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
b) Drawing/Imaging Tools
- Design and implement a complete set of resources to support vector nodes edition (i.e. add node, remove node, merge nodes, split node, etc).
- Extend and enhance the color fill tools (bucket).
- Ellipse panel must include a control to show the width and height values of the current object.
- Implement integration with QtMyPaint project to bring raster brushes and eraser to the TupiTube canvas. Reference: https://github.com/ethiccinema/qtmypaint
- Enhance rotation feature from Objects Selection tool: the rotation pivot position must be editable. Currently is always the center of the object.
- Add items alignment functions (center, align to right, align to top, etc) to the Object Selection panel.
- Add new feature: Text tool.
- Implement color support for the onion skin feature. This option will make easier to recognize previous and next frames by color.
- Research about pen pressure support and the possibility to implement it in many pen tables as possible.
- Add support for the blur feature. This option could be applied to any object and the blur level must be an editable parameter.
- Implement guide-lines for drawing tools when the border color is transparent, so the user will be able to get a reference of his drawings while he's sketching. This guide-lines must disappear at the moment the user stops drawing.
- Bug: Object transformation values are lost when the object is copied from one frame to another. This behavior is evident with rotation actions and the problem is even worst with SVG items.
- Implement logical operations between objects: union, difference, intersection, exclusion, etc.
- Add an option to show/hide rules around the workspace
- Add an option to highlight the borders of the frame in the animation workspace. In this way, users can recognize the boundaries of the visible drawing area, even if there are elements overlapping/hiding those limits.
- Implement an option to edit the brush properties of any element when it is already drawn.
- Bug: There is a texture issue related to the brushes. Some of the textures are only visible when the zoom tool is used. A scale parameter for textures is required.
- Bug: Nodes editor fails to support “space bar” command with the pen directly. It works with the mouse, but that's not enough.
- Implement feature to edit geometric tools (square, circle, etc) using nodes.
- Enhance/extend Smoothness feature (Reference: Paint Tool SAI).
- Implement Blend mode for color image tranformations.
c) Color Management
- Add color picker feature (eyedropper).
- Implement color palette editor (user's customized palettes).
- Include gradients support to color manager.
- Bug: Every scene should support its own background color. Currently, a project only allows one background color even if it has several scenes.
- Bug: In the Brush panel, if the border color is white then the background color must change to make the pen size reference visible.
- Implement feature to mix two or more colors to create a new one.
d) Tweening
- Add undo/redo support to the Position tweener path editor.
- Add feature to edit (add/remove) nodes from the Position tweener path.
- Add support for vertical/horizontal lines in the Position tweener path editor.
- Design and implement a morphing tweener, including support for native elements as curves and text objects.
- Design and implement a composed tweener. This feature will allow mixing several transformations (i.e. position, rotation, scale, etc) to the same object.
- Implement feature to transform tweens into a sequence of independent/editable items, maintaining the initial item transformations in every frame. In this way, users could make small adjustments to the final result of their tweens in the frame they wan to.
- Bug: Nodes of the Position Tween path are not synchronized with zoom tool. Their size is too small to be handled.
- Implement a motion curve editor (easing curves) for the Position tweener.
- Extend the Position Tween settings to allow user to edit the coordinates of the path in the end of every segment.
- Include the path property of the Position Tween as part of the settings for other tweens, so users can set diferent transformations for every segment of the path.
e) TimeLine and Exposure Sheet
- Add support for multiple selection of frames for copy/paste/remove actions.
- Add support for key frames.
- Complete the undo/redo stack for Layer operations.
- Implement feature to show/hide static/dynamic background levels.
- Implement sound layers for the timeline component.
- Implement feature to reverse the order of the current frames selection.
- Implement feature to combine/merge layers.
- Research about layers fusion feature (Reference: Gimp).
- Implement feature to collapse/expand layers. Note: when users create too many layers is hard to handle the interface.
- Implement "Empty Frame" feature in the horizontal timeline.
- Implement audio sync feature (enableable) as a guide to reference frames with audio, just like the Papagayo lip-sync interface does it.
f) Lip-Sync
- Enhance the lip-sync editor UI to support transformations like rotation and scale.
- Bug: TupiTube doesn't support multiple Papagayo files (.pgo). It's necessary to check if this behavior is related to the layers architecture.
- Implement clone tool for lip-sync objects.
g) Library
- Allow to drag objects from preview display to the work-space directly.
- Implement new feature to import video files as image sequence.
- Implement new feature to import animated GIFs as image sequence.
- Design and implement a new type of library item: sprites. A sprite is an animated object formed by its own set of states (images) following a loop, like an animated GIF.
- Design and implement a feature to replace objects easily between the workspace and the library interface.
- Enhance UX of Library's file manager, including Undo/Redo stack.
- Implement symbol elements (Adobe Flash concept).
- Implement settings dialog for the "Image Sequence" feature to allow options like "Set Position" and "Scale Factor".
h) Sound
- Add sound support to video export module.
i) Characters
- Design and develop an architecture to support character creation and management for animation techniques like cut-out. This feature must be strongly integrated with the Library module and it has to include all the standard properties required to handle a character (i.e. bones).
j) Player
- Bug: Forward button from Player control doesn't work with frames containing images items.
- Add a new feature to multiply the number of times every frame will be displayed during one reproduction. By default, each frame is used only once (1) per loop, but with this new control, users could extend them many times (2, 3, 4, etc).
- Add support for effects image filters (i.e. black and white, pixelation, blur, etc).
k) Export Module
- Add support for animated GIF and APNG formats.
- Allow exporting the same scene several times in the same video.
- Add support to export animations as OpenEXR files. Reference: http://www.openexr.com/documentation.html
- Bug: When users export their projects, several frames at the end of the timeline get lost. As a result, the animation video file is incomplete.
- Implement a transparent background option for the export feature “SVG Images Array” (Tip: inkscape:pageopacity=“0.0”).
- Implement a resize option for video files.
- Research about 4K support and the alpha channel option for videos.
l) Storyboard
- Add support for storyboard format templates and enhance exportation quality (html and pdf).
- Research about the CBR Comic Format and the possibility to include it as storyboard export format. Reference: http://www.brianrobinsonstudios.com/how-to-create-and-make-a-cbr-comic-file-tutorial.html
- Design UI to create and edit one storyboard per scene from the interface.
m) Stop Motion
- Bug: the stop motion module is broken. Webcam is not detected or the video display is misconfigured in the latest version of TupiTube. Refactoring and general bug fixing are required.
- Add support for DSLR cameras.
n) Workspace
- Implement virtual cameras feature (v-cameras) to support actions like panning, zoom and rotation.
- Implement animation masking feature.
o) Preferences
- Add the option to support “Add Sketch Layer” by default for every new project.