Commit Graph

142 Commits

Author SHA1 Message Date
fbec9ec2a7 adjust click points to always keep the canvas at the centre of the screen, even when the canvas width is different from the canvas height 2025-07-11 02:26:24 +01:00
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