lumina-iced/todo.org
2025-03-16 22:49:07 -05:00

2.4 KiB

The Task list for Lumina

TODO Change return type of all components to an Action enum instead of the Task<Message> type [66%] [2/3]

DONE Library

DONE SongEditor

TODO Presenter

TODO Need to fix tests now that the basic app is working

TODO Build library to see all available songs, images, videos, presentations, and slides

DONE Develop ui for libraries

I've got the library basic layer done, I need to develop a way to open the libraries accordion button and then show the list of items in the library

TODO Develop DnD for library items

This is limited by the fact that I need to develop this in cosmic. I am honestly thinking that I'll need to build my own drag and drop system or at least work with system76 to fix their dnd system on other systems.

TODO Build editors for each possible item

TODO Develop ui for editors

TODO Develop ui for settings

TODO Develop library system for slides that are more than images or video i.e. content

TODO Functions for text alignments

This will need to be matched on for the TextAlignment from the user

TODO Figure out why the Video element seems to have problems when moving the mouse around

TODO Find a way to load and discover every font on the system for slide building

This may not be necessary since it is possible to create a font using Box::leak().

let font = self.current_slide.font().into_boxed_str();
let family = Family::Name(Box::leak(font));
let weight = Weight::Normal;
let stretch = Stretch::Normal;
let style = Style::Normal;
let font = Font {
    family,
    weight,
    stretch,
    style,
};

This code creates a font by leaking the Box to a 'static &str. I just am not sure if the &str stays around in memory after the view function. If it does, then it's not on the stack anymore and should be fine, but if it isn't cleaned up then we will have a memory leak.

Krimzin on Discord told me that maybe the update method is a better place for this Box to be created or updated and then maybe I could generate the view from there.

DONE Use Rich Text instead of normal text for slides

This will make it so that we can add styling to the text like borders and backgrounds or highlights. Maybe in the future it'll add shadows too.

DONE Find a way for text to pass through a service item to a slide i.e. content piece

This proved easier by just creating the Slide first and inserting it into the ServiceItem.