This document tracks tasks and features to implement, bugs to fix, and ideas to explore for the project.
- In
AlphaShape3D
, avoid data copying by using data directly. Fix crash when node count is incorrect.
-
Add search to HTML documentation.
-
Ensure file opening happens in only one instance of the program.
-
Assistant - Create a ChatGPT API-based chatbot to assist with programming by answering questions about which function to use for specific tasks (Custom GPT).
-
Implement
openSerialTerminal
with window fromopenTerminal
that includes a message window and a data input area. It should allow us to pass an encoder and decoder to use SCBP or other protocols. -
Create additional examples, such as graphics, to cover documentation gaps.
-
Implement functions
installLocalModule
andinstallNpmModule
. -
Package Manager - Implement the
installPackage
function and create a package manager window that shows installed packages and their versions. -
Display vectors horizontally up to a certain length, possibly as an HTML table.
-
Create a 3D graph using Three.js SVG renderer.
-
Implement search history in the editor.
-
Implement a console buffer similar to chat applications (loads more messages when scrolling up).
-
Add symbol input support in the editor (virtual keyboard).
-
Expand values from objects to view further details (possibly retain everything in the main window until the command window is reset).
-
Adjust plot legend width to work better with Latin Modern Math font.
-
Utilize Arduino CLI.
-
Enable saving and loading of the workspace; investigate how MATLAB's save/load functions work. For custom classes, save the definition location and load it if possible (try using
flatted
). For built-in classes like matrices, save only the name. Consider asaveObject
function to store the class type and last known path to load withloadClass
or inform the user if unknown. -
Display help on hover for recognized functions in the editor.
-
Enable saving and loading of objects using class-transformer.
-
Create figures with UI controls.
-
Implement a LaTeX editor and compiler (requires MiKTeX path).
-
Implement SheetJS.
-
Add search and replace functionality across all scripts.
-
Prevent override of additional functions and variables.
-
Write additional unit tests.
-
Add a "Check for Updates" feature.
-
Implement SunCalc.
-
Add an electronics simulator (e.g., Wokwi).
-
Implement symbolic computations using a native module based on GiNaC or SymEngine.
-
Create a Modelica GUI and compiler. See this paper for reference.