Commit Graph

141 Commits

Author SHA1 Message Date
3897a109fb fix last visual bug with graph lines: we were calling 'Vector.sub' on the wrong vector (mixed up xClickPoints and yClickPoints), but now we are calling 'Vector.sub' on the correct vector 2025-07-11 01:56:59 +01:00
f2b1fc9e95 fix hard to find edge case in graph lines: integer division gave a visual bug, but real/float division (which preserves decimal) fixed that bug 2025-07-11 01:45:47 +01:00
d5fda8b488 improve creation of click points, so that we can have a pixel be a perfect square, even if the canvas isn't 2025-07-11 00:57:29 +01:00
8e8947379a additional graph lines improvements 2025-07-10 23:54:51 +01:00
cda90e3f44 progress with aligning graph lines 2025-07-10 22:48:34 +01:00
3fe3aa1d4d finished coding merging functionality 2025-07-08 16:59:21 +01:00
1ae67bb616 address remaining vertical duplicate issue (I was returning 1 from getTopmostY's loop, when I was meant to be returning 0) 2025-07-08 08:00:37 +01:00
0b954f81a1 progress with merging vertically 2025-07-08 07:52:26 +01:00
ee3764b253 code additional merging functions, which merge vertically and horizontally as much as possible 2025-07-08 03:18:57 +01:00
12cfe7a04e rewrite merge functions which query grid instead of quad tree (only partially) 2025-07-08 03:07:24 +01:00
aca7acc232 done writing merge function 2025-07-08 00:42:46 +01:00
9bf5e2e68b write all preparatory merging functions; only need to write top level merge function now. 2025-07-08 00:25:52 +01:00
0464dd1ce3 implement functions to get leftmost and rightmost x coordinates with mergeable items 2025-07-07 23:52:24 +01:00
fb2bc76c10 code search function to query quad tree 2025-07-07 23:08:47 +01:00
ab9e1e23d0 make odd-number-division case more explicit when building quad tree 2025-07-07 22:37:01 +01:00
6b5c0d9ba1 preparation for functorising quad tree 2025-07-07 02:36:29 +01:00
bd97aeceac clean up quad tree code, deleting unused functions and removing intermediate some data structures 2025-07-07 02:18:15 +01:00
9b2f3e90cb amend bug relating to being unable to select on quad tree, related to dividing odd numbers by 2 (because performing integer division on an odd number by 2 results in rounding, which we don't want) 2025-07-07 01:48:15 +01:00
dc2a52bcc8 improve graph lines 2025-07-06 17:50:46 +01:00
bba293d406 fix bug in not properly updating squares vector 2025-07-06 15:52:10 +01:00
270481a0ba done refactoring (next: need to do some bug fixing) 2025-07-06 15:14:19 +01:00
2e0549097e begin merging files which were previously in temp-squares directory into main 2025-07-06 14:56:54 +01:00
0bdf5064d8 port arrow movement (involving functional core) 2025-07-06 03:58:45 +01:00
20c02814e4 refactoring progress 2025-07-06 03:53:26 +01:00
a919e3d3d4 add function to convert from absolute pixel value to NDC 2025-07-06 03:35:36 +01:00
79be94bcbd begin refactoring to use square pixels instead of triangles, focusing on functional core first 2025-07-06 01:38:02 +01:00
513cbd3dba code a quad tree decomposition algorithm 2025-07-06 00:32:28 +01:00
78905b59f0 allow width and height to have a different number of click points 2025-02-18 11:53:28 +00:00
40c5222621 done adding ability to change different colours in both functional core and imperative shell 2024-12-30 04:32:15 +00:00
fc69a0e4c3 progress with setting rgb (add functions to set in app type) 2024-12-30 04:14:07 +00:00
5dde0517cc progress adding ability to change colour of triangle 2024-12-30 03:41:11 +00:00
b41cb87b41 fix error trying to parse rgb colour data from file (have tested the change works; error was that code was meant to parse 'b' but was parsing 'B' instead) 2024-12-29 20:27:48 +00:00
7c2cc66b5a allow loading of files with or without rgb colour data 2024-12-29 20:22:11 +00:00
43eb5f4448 add [r, g, b] field to triangle, so we can draw coloured objects (next: add ability to change current colour) 2024-12-29 20:18:29 +00:00
fcfa50e1f6 add fonts as submodule, so it can be shared with other projects 2024-09-30 12:01:12 +01:00
13682f1c6c add load functionality (but note that saving is still hardcoded right now) 2024-09-29 22:26:07 +01:00
249247b704 progress for navigqation within file browser 2024-09-29 16:08:04 +01:00
5369f84389 display currently selected file/folder in a different colour, to visually mark which one is currently being focused. 2024-09-29 12:45:13 +01:00
9d44589b9d add fileBrowserIdx field to track which item is selected in the browser 2024-09-29 12:32:11 +01:00
6846d7bd52 change spacing between letters a bit to make text more legible 2024-09-27 21:36:35 +01:00
ea7722b1f0 amend lower-case-s to sit on baseline, as other letters do 2024-09-27 10:12:01 +01:00
be379e1fe0 begin drawing file browser text 2024-09-27 10:06:21 +01:00
6fa88769aa add modal text draw object to imperative shell, for drawing text like file browser 2024-09-27 09:08:19 +01:00
e3ff121a35 change AppUpdate.update function to return a list, so we can return multiple messages from a single event 2024-09-27 08:27:53 +01:00
57fbf5f1aa add todo note 2024-09-25 20:34:59 +01:00
2528e67375 progress towards adding load functionality' 2024-09-25 10:17:57 +01:00
d49ac2c565 progress towards being able to load files dynamically 2024-09-25 08:08:15 +01:00
c17c573638 add new field to app type, to distinguish between modes (one mode for normal insertion/deleteion, another mode for saving, etc.) 2024-09-24 21:54:19 +01:00
8db8487f7a add and export glyph that is meant to represent an unknown ascii character 2024-09-23 14:04:43 +01:00
a60aa28d6b add all upper case letters 2024-09-23 14:00:05 +01:00