#+title: LangEvolveRs TODOs * TODO Write core features [4/6] Write core features found in [[https://github.com/ceronyon/LangEvolve/][original project]]. ** DONE Words loading CLOSED: [2020-03-26 jeu. 17:46] ** DONE Settings loading [2/2] CLOSED: [2020-03-28 sam. 15:07] *** DONE Categories loading CLOSED: [2020-03-28 sam. 15:07] *** DONE Rules loading CLOSED: [2020-03-28 sam. 15:07] ** DONE Settings export CLOSED: [2020-03-28 sam. 15:08] ** DONE Format support [2/2] CLOSED: [2020-03-28 sam. 15:08] *** DONE JSON CLOSED: [2020-03-28 sam. 15:08] *** DONE Yaml CLOSED: [2020-03-28 sam. 15:08] ** TODO Rules apply [1/2] *** DONE Simple regex apply CLOSED: [2020-04-04 sam. 22:42] *** TODO Regex with category in result ** TODO Warn in case of ruleset version mismatch [0/1] *** TODO Reject ruleset if current version is lower than imported version * TODO Write CLI interface Write cli interface for core project * TODO Write GUI interface [0/1] ** TODO Choose GUI framework [1/7] Best framework seems to be [[https://github.com/hecrj/iced][iced]]. See if it is compatible with Windows and macOS. Same with [[https://crates.io/crates/Conrod][Conrod]]. [[https://crates.io/crates/druid][Druid]] supports both macOS and Windows, check if it supports GNU+Linux. Otherwise, by platform: - GNU+Linux :: [[https://crates.io/crates/GTK][GTK]] bindings or [[https://crates.io/crates/relm][relm]] - macOS :: [[https://crates.io/crates/core-foundation][core-foundation]] bindings - Windows :: [[https://crates.io/crates/imgui-rs][imgui]]? After verifying, it seems iced is compatible with all three major platforms. I think I will use it for GUI support. *** DONE Check compatibility for [[https://github.com/hecrj/iced][iced]] [3/3] CLOSED: [2020-03-28 sam. 15:09] - [X] GNU+Linux - [X] Windows - [X] macOS *** TODO Check compatibility for [[https://crates.io/crates/Conrod][Conrod]] [0/3] - [ ] GNU+Linux - [ ] Windows - [ ] macOS *** TODO Check compatibility for [[https://crates.io/crates/druid][Druid]] [2/3] - [ ] GNU+Linux - [X] Windows - [X] macOS *** TODO Check compatibility for [[https://github.com/kas-gui/kas][kas]] [3/3] - [X] GNU+Linux Yes, with Vulkan. Maybe a bit overkill for this app. - [X] Windows Yes, with DirectX 11/12, maybe overkill. - [X] macOS Yes, with Metal. Maybe overkill. *** TODO Check GUI for Windows - [[https://crates.io/crates/imgui-rs][imgui]] *** TODO Check GUI for macOS - [[https://crates.io/crates/core-foundation][core-foundation]] *** TODO Check GUI for GNU+Linux - [[https://crates.io/crates/GTK][GTK]] - [[https://crates.io/crates/relm][relm]]