Commit Graph

215 Commits

Author SHA1 Message Date
a4ece480f2 add more glyphs (but I think some are missing still 2024-09-21 15:12:41 +01:00
92eec06f5e revert to previous style of grid 2024-09-21 14:41:47 +01:00
308acc4e45 add M-Q 2024-09-21 14:26:06 +01:00
12a627efa5 add 'l' and 'm' 2024-09-21 14:03:58 +01:00
967dd2433e change graph lines to draw dots at clickable points rather than lines which are similar to graph paper 2024-09-21 13:23:25 +01:00
29755c2ddb create F-K font files 2024-09-21 07:15:05 +01:00
4c5df92a0a generate first 5 upper case letters (A-E) 2024-09-20 22:29:06 +01:00
2098a4eda7 add 'numClickPoints' field to app type, and add parameter with same name to
ClickPoints.generate function
2024-09-20 21:33:35 +01:00
2816ff0875 100% done
adding functionality to allow adding coordinates through arrow keys and space/enter
2024-09-20 14:38:04 +01:00
3472ff3c1c done adding functional-core part of arrow input (now just need to adjust a bit in the imperative shell next) 2024-09-20 14:14:07 +01:00
9ffc19ef24 progress towards supporting arrow input 2024-09-20 12:33:31 +01:00
2d817cc998 adjust app type by adding arrowX and arrowY integer fields, and subsequent refactoring, as preparation for being able to draw with arrow keys 2024-09-20 10:17:57 +01:00
80e1a68843 change ClickPoints.getMousePosition function to return indices to the click points array rather than the click points themselves; this will help adding functionality to use arrows for selecting click points later 2024-09-20 09:07:54 +01:00
415f06f0c0 address second regression mentioned in previous commit, where clicked dots are no longer visible (turns out that I removed a line during refactoring which added the triangle stage coordinates to the dot vector) 2024-09-19 18:54:32 +01:00
6a7f11efe6 address one regression, where triangles were no longer being displayed (because calculation changed) after the previous refactoring. I know of only one more regression, which is that the clicked dots do not persist after moving the mouse. 2024-09-19 17:46:40 +01:00
9153217d5f attempt a little refactoring (but note that this refactoring is untested) 2024-09-16 21:49:05 +01:00
d21f31778a add hash symbol (#) 2024-09-13 11:56:57 +01:00
772dafec8c add double quotes 2024-09-13 11:42:43 +01:00
b1a51473e7 add exclamation mark 2024-09-13 11:28:20 +01:00
2d6ee874af improve A (add space for other fonts to have tail, make the width a little narrower), and create new directory for fonts 2024-08-30 22:01:24 +01:00
42c4b92105 address edge case where Real32.toString 1.0 seems to give the string '1' instead of '1.0', and improve the drawing for upper case A 2024-08-30 11:13:08 +01:00
c16fa58bf6 fix bug caused by the calculation change in the previous commit 2024-08-30 09:15:33 +01:00
f3a0eb3e30 minor change to generated export code (avoid redundant maths operations) 2024-08-30 05:20:56 +01:00
db92b95c41 tick another item off from the to-do list in the readme 2024-08-30 03:57:13 +01:00
f5b0c8e705 tested export functionality, and fixed it so that it works as intended (previous error was that the drawn object was located on the wrong part of the Y-axis) 2024-08-30 03:46:05 +01:00
acd68a055d code shortcut to trigger export (with <Ctrl-E>); it outputs syntatically valid .sml, but I am not sure if the output is correct as intended so it needs testing 2024-08-30 02:34:24 +01:00
7ab7b8931d code function to export triangle to .sml file (linear interpolation only; untested and also not currently executable by shortcut 2024-08-30 02:22:02 +01:00
da2a652506 improve parsing code slightly, with successful parsing when saved .dsc file has inconsistent spacing 2024-08-29 11:18:17 +01:00
24bc45142d slight refactoring (move pure parsing functions to functional core in a separate file) 2024-08-29 09:55:08 +01:00
3bc43aec3a update readme to mark another to-do task as done 2024-08-29 05:41:26 +01:00
e69c6b42ef done with loading file into app (loaded triangles are visible, etc.) 2024-08-29 05:38:58 +01:00
2549703dc7 verify that parsing saved file is successful 2024-08-29 05:21:04 +01:00
f0958686b7 implement parser for loading (but this parser is untested) 2024-08-29 04:39:23 +01:00
84b7a6a2f5 minor changes to saved format 2024-08-29 03:59:47 +01:00
1fdd4f33ec remember to close file descriptor in file thread 2024-08-29 00:43:51 +01:00
eb13636993 very basic saving (hardcoded file name, which is fine fow now) 2024-08-29 00:05:30 +01:00
c40e8b98e0 slight renaming of constructors in FileMessage.t datatype, to provide more clarity (SAVE_TRIANGLES is for saving to a custom format, LOAD_TRIANGLES is for loading from a file in that custom format, and export is for generating code from custom format) 2024-08-28 20:47:40 +01:00
48c721e29b done with scaffolding for file mailbox; next, send message to file mailbox to export and import, and handle these messages properly from the file mailbox 2024-08-28 20:42:52 +01:00
e587c6cf73 preparation for adding new additional threads/mailboxes (namely, the file mailbox) 2024-08-28 20:11:00 +01:00
fb9202248c a little refactoring (different CML loops have their own files now) 2024-08-28 19:34:47 +01:00
0a4de92862 in C files where GLFW is included, #define GLFW_INCLUDE_NONE before GLFW is included in that file, because GLFW tries looking for <GL/gl.h> header otherwise, which is not on my system 2024-08-28 00:58:12 +01:00
1049f2b561 scaffolding in preparation for adding simple load/export/save functionality 2024-08-17 09:46:53 +01:00
3f4c52e0d8 upload new dots to GPU when there is a window resize too 2024-08-14 21:35:01 +01:00
30dd9de17a rename 'button' (the coloured square that appears over a clickpoint) to 'dot' throughout codebase, because I may want actual buttons later 2024-08-14 21:24:46 +01:00
abddddbc9e fix minor bug when resizing (resizing caused graph to be drawn and resized, even when graph was toggled off) 2024-08-14 03:54:52 +01:00
a3290337a0 done adding ability to toggle graph by pressing 'g' 2024-08-14 02:35:44 +01:00
9b639c9c53 progress towards toggling graph 2024-08-14 02:31:28 +01:00
575b8d009e amend order of Glfw.swapBuffers and Glfw.pollEvents in imperative shell (previous order polled events before swapping buffers which is not the intended order) 2024-08-14 02:00:07 +01:00
dd9ecfcbe5 delete shaders after linking them in program, which reduces memory by like 0.1 MB (very minor) 2024-08-14 01:44:30 +01:00
c740e5d751 delete shaders after linking them in program, which reduces memory by like 0.1 MB (very minor) 2024-08-14 01:43:53 +01:00