Commit Graph

1407 Commits

Author SHA1 Message Date
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
6a6a36a277 fix bug regarding squares not updating properly, and remove debugging code for that functionality 2025-07-06 15:54:08 +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
dd291096d5 refactor file thread 2025-07-06 15:06:00 +01:00
2e0549097e begin merging files which were previously in temp-squares directory into main 2025-07-06 14:56:54 +01:00
395d6002d8 done refactoring functional core (mostly); next, need to move folders in temp-squares directory into main 2025-07-06 14:45:20 +01:00
1c34bd715f finished with normal nmode for app-update refactoring 2025-07-06 14:26:11 +01:00
11052e801f port function to handlw window resizing event 2025-07-06 14:08:44 +01:00
d231edda6a modify ClickPoints.getClickPos function to detect click for square/pixel, not for triangle. (Checking if mouse is between two click points instead of if mouse is around one click point.) 2025-07-06 14:01:03 +01:00
4a87b0f16e port 'addCoordinates' function to app-update.sml 2025-07-06 13:52:38 +01:00
833005703b a bit of refactoring for quad tree's 'toTriangles' function 2025-07-06 13:26:33 +01:00
1ce3a36db4 remove unused parameter from quad tree 2025-07-06 13:23:14 +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
ed64b464c8 progress with refactoring 2025-07-06 03:21:18 +01:00
df5f326e36 begin refactoring AppUpdate structure 2025-07-06 02:49:38 +01:00
e8e090a19d add refactored message types to temp folder 2025-07-06 02:30:15 +01:00
441e5fdd69 add graph lines to refactored version 2025-07-06 02:15:16 +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
aa068ea48e remove some opaque signature ascriptions 2025-04-22 20:49:56 +01:00
e59a1c67d8 begin scaffolding for adding deletion tests 2025-03-23 07:47:38 +00:00
cbc1359de1 add tests for cursor movement 'gg', which means all cursor movements have tests now. Next: add tests for delete motions. 2025-03-22 20:58:39 +00:00
dc3c1340bf add tests for 'F' motion 2025-03-22 13:50:24 +00:00
8fa5677d4d add tests for 'f' motion 2025-03-22 13:41:50 +00:00
87272a2667 add tests for 'T' motion 2025-03-22 13:09:50 +00:00
9eae0c2d48 begin adding multi-char tests (for motions such as 't<char>') 2025-03-22 06:13:01 +00:00
884c5fa08d pull new update from lib/brolib-sml 2025-03-22 05:31:58 +00:00
649bcb66e1 a bit of refactoring to allow addition of more tests 2025-03-22 05:18:25 +00:00
a84490c86c use parametric polymorphism for value in gap_map.sml, instead of specifying value via functor. This is more flexible because a type which is defined after the functor can be used with the map. (The key in gap_map.sml is still specified by functor, though, which is necessary because the structure uses comparison functions which work with the key.) 2025-03-12 23:25:29 +00:00
78905b59f0 allow width and height to have a different number of click points 2025-02-18 11:53:28 +00:00
e2da10e908 amend 'removeMiddle' function in gap_map.sml: before, we were leaving element we want to remove in rkhd/rvhd because we started the slice at 'insPos', but now we increment 'insPos' by 1 so we filter that desired element out 2025-02-14 13:02:42 +00:00
5f834ddaa4 add functor to fold over GapMap in gap_map.sml 2025-02-13 12:40:27 +00:00
f3cc41e9a2 add 'env' parameter to gap_map.sml's mapper 2025-02-13 12:06:20 +00:00
9c32e53160 add 'env' parameter to gap_map.sml's mapper 2025-02-13 12:01:40 +00:00
aa127b28fd add 'env' parameter to gap_map.sml's mapper 2025-02-13 12:01:07 +00:00
9749abf1d5 add 'env' parameter to mapper in gap_map.sml 2025-02-13 11:56:12 +00:00
d23396f5d1 cover exhaustive case reported in gap_map.sml (in 'joinSlices' function), and make it possible to map over values by using a functor 2025-02-13 10:52:55 +00:00
ae3238eabe minor adjustments to gap_vector.sml to make functor fit GAP_VECTOR signature 2025-02-13 08:26:48 +00:00
cfce329255 add gap_vector.sml, which is just the same as gap_buffer.sml, except generic through the use of functors 2025-02-13 08:22:55 +00:00
33678f2b0d code 'remove' function for gap_map.sml, completing the functionality I need for GapMap (but warning that, although most functions were edited from gap_set.sml, gap_map.sml is entirely untested) 2025-02-13 03:21:18 +00:00
2c187d0e87 implement 'moveTo' function for gap_map.sml 2025-02-13 02:41:29 +00:00
d3cca23549 implement 'moveToStart' and 'moveToEnd' functions in gap_map.sml 2025-02-12 13:59:27 +00:00