Commit Graph

265 Commits

Author SHA1 Message Date
b765e406c7 change BNF (but not implementation of BNF) for parsing, to handle layers, and also change minimum key in layer tree to be 1 2025-08-09 11:10:34 +01:00
d3ace298d3 remove 'squares' field from app type, and refactor most functions in common-update.sml to use layer tree instead of squares vector 2025-08-09 10:19:26 +01:00
ab888f8410 update 'changeCanvasWidth/Height' functions to use layer tree 2025-08-09 10:11:37 +01:00
21624aee0d change 'move-mode.sml' to use layer tree everywhere instead of squares 2025-08-09 09:57:19 +01:00
6a39f43916 remove some dead code 2025-08-09 09:39:59 +01:00
852b2cf1f1 remove 'undo' and 'redo' fields from app_type, because I won't be adding that functionality for the forseeable future 2025-08-09 09:35:52 +01:00
58439d8df8 progress moving away from 'squares' field to layer tree 2025-08-09 09:32:34 +01:00
34c29bcbba add functions to add and remove pixels from layer-tree 2025-08-09 09:13:03 +01:00
e634bb25d7 add grid module, and change some functions in layer-tree.sml to use it instead of having grid-logic in there 2025-08-09 08:43:51 +01:00
6cd2b85d8b change integer layer field when 'l' is pressed 2025-08-09 08:36:14 +01:00
8715879ceb add layerTree field to app type 2025-08-09 08:22:28 +01:00
8d855be27a add layer field to app type, as preparation for switching to layer tree 2025-08-09 08:15:11 +01:00
8e475a3abe add functionality to change grid size for layer tree 2025-08-09 08:04:22 +01:00
318ca4fdf1 begin coding layer tree so that we have toggleable layers 2025-08-09 07:48:49 +01:00
cb9e66f349 add functionality to resize window in move mode 2025-08-09 07:17:48 +01:00
fa2a5c878c add ability to select cursor colour 2025-08-09 07:04:03 +01:00
7a3fc728f6 fix bugs moving image up/down in move mode 2025-08-09 00:22:25 +01:00
f46ca01d42 add ability to move from normal mode to move mode, and from move mode back to normal mode 2025-08-09 00:13:02 +01:00
50bdd31d59 progress with move mode 2025-08-08 23:56:24 +01:00
f1cd3fbf85 begin coding functionality to move squares 2025-08-08 23:39:29 +01:00
1fe07149c7 fix bug im output of export string: previously had 'endXToNdc' and 'endYToNdc' functions (which sometimes produced incorrect/pixelated output), but it turns out that I was meant to use only 'xToNdc' and 'yToNdc' for correct output. 2025-08-01 06:32:07 +01:00
8cc2adcbf0 formatting 2025-07-30 07:28:37 +01:00
0445595990 when generating collision string, map 'squares' vector to a new vector which treats all visible (non-transparent) colours the same. This allows us to ignore colour differences when generating the collision string, which is good because the colour of a pixel doesn't make a difference to collision detection. 2025-07-30 07:27:55 +01:00
eedaf0450f fix bugs with generating export strings from quad tree (have to add 1 to ex and ey indiscriminately, except if we are not in the canvas width/height dimensions) 2025-07-29 15:55:38 +01:00
d392ad2c79 100NvimTree_1 done with functionality to export collisions 2025-07-13 15:45:09 +01:00
7e96203f92 done adding export-collision functionality, including collision message, in functional core. Next: add imperative shell scaffolding 2025-07-13 15:33:32 +01:00
de16e816b4 add scale parameter for collisions, so that we can easily use collisions when object is larger than normal/native 2025-07-13 15:14:19 +01:00
d98b815516 done generating collision string 2025-07-13 15:02:13 +01:00
7cfbd3cdb3 begin creating a string for collision data 2025-07-13 14:35:50 +01:00
7ec1e34bb8 add 'rgb' colour values when creating export string 2025-07-13 14:05:41 +01:00
69494c368e done fixing errors in output from CollosionTrin.toExportString (I forgot to increment 'ey' if 'y' = 'ey') 2025-07-13 14:03:52 +01:00
a60d13c5ef improvements to generated export string (matches more closely to expected result) 2025-07-13 04:03:44 +01:00
0e141174b2 progress fixing bugs in generated export string 2025-07-13 01:40:57 +01:00
31bc8485f3 add function in imperative shell to save export string, and fix errors in generating export string from functional core 2025-07-12 19:34:52 +01:00
dbb1676fbe done coding functionality to create a string suitable for exporting 2025-07-12 19:16:36 +01:00
a97f838a64 finished coding export string, I think/hope 2025-07-12 19:08:36 +01:00
9a748c8e0d done converting coordinates to triangles for exporting (but I still need header and footer for that) 2025-07-12 19:00:24 +01:00
1fb6b43ac3 progress coding function to create an export string 2025-07-12 18:52:30 +01:00
d0c12d4a87 fix bugs in parse-grid.sml update functions: exit loopX and loopY if coordinate is not in range of grid 2025-07-12 13:50:20 +01:00
750246dcfd format files related to parser 2025-07-12 07:19:34 +01:00
b58100ca7e done implementing load-squares functionality 2025-07-12 07:17:52 +01:00
dcf6bc074d fix lexer/parser bugs, add code in file-thread.sml to handle loading/saving of files (but loading is not completely finished yet) 2025-07-12 07:03:09 +01:00
eb0b8d31b2 save grid to custom format 2025-07-12 06:03:59 +01:00
04bb7a18c0 add function to quad tree to turn items into strings (for later saving to file) 2025-07-12 03:38:20 +01:00
21512cc979 done with parsing logic in functional core 2025-07-12 03:08:05 +01:00
bb5e3e8ef3 begin parser to load from file 2025-07-12 02:02:21 +01:00
5b63471b30 refactor some functionality by passing a higher order function 2025-07-11 23:56:20 +01:00
22173a0cdb add functionality to delete pixel 2025-07-11 23:55:12 +01:00
973a1610ce add functionality to delete pixel 2025-07-11 23:47:28 +01:00
86369db055 add functionality for changing height of canvas 2025-07-11 22:57:20 +01:00