After the second coding period, I was in the begin of the backend development. I’ll list and explain what was made in this period. After GSoC, I’ll still work on Khipu to move it out from Beta soon, then, I’ll fix the bugs and try to implement the things that are missing and new features.
GitHub link: https://github.com/KarinaPassos/khipu3
Finished or almost finished tasks:
Plot Dictionaries: an old Khipu feature, it gives to the user examples of valid inputs and about what the old program can do. The old version was a window with premade examples. I tried to make it simpler and it only creates a 2D and 3D space with some examples. I changed the name to “Plot Examples”.
Save/Load files: the save option will save your spaces and plots in a JSON file, and the load option will load them, and it only accepts JSON files.
Edit space name: when the user creates a new space, the default name is “2D Space” or “3D Space”. Then, it allows the user to rename the space.
Edit plot dialog: it’s currently a dialog that should provide to the user the options of set the expression, visibility and color of a plot in some space. It’s currently crashing the program in some situations.
Search box: it should provide to the user the option of find a space. It’s working but there’s a bug when the user clicks in the search result. For example: if the user clicks in the third search result, it will open the third in the original list, not the third result.
Menubar visibility: I chose the F1 key to show/hide the menubar, but it’s not working and I still don’t know why.
Old features that still were not implemented:
Help menu: the menu with information about KDE, Khipu’s developers, documentation, bug report.
Grid settings: it allows the user to select which kind of grid (normal or polar) will be used and set the grid color.
Cilindric surfaces, parametric surfaces, spacial curves, parametric curves, polar curves: I used the Kalgebra mobile as reference to my code, then, I only created a simple box which receives a simple expression. You still can’t set intervals and create other types of functions. But you can plot simple and implicit functions, you can lines and planes like “x=3”, and solve equations like “sin(x) = 1”.
Snapshot: a photo of each space to appear with the space information.