|
|
00df20042a
|
update gitignore to ignore shf-glfw and shf-rgfw test files
|
2026-01-23 21:10:01 +00:00 |
|
|
|
faa15866f8
|
seems like 'NormalYankDelete' functions need to yank one character more than the deletion range, so implement that, and make note to add tests for that module
|
2026-01-23 21:08:12 +00:00 |
|
|
|
8b46f1edfc
|
make sure that characters sent from RGFW to mlton char callback are shifted if shift is held
|
2026-01-23 21:05:12 +00:00 |
|
|
|
238e6f8907
|
mostly done implementing callbacks for rgfw
|
2026-01-23 20:53:37 +00:00 |
|
|
|
2b383ce756
|
change if statement in keyCallback (on C side) to a switch statement, so adding more cases becomes easier
|
2026-01-23 15:09:43 +00:00 |
|
|
|
0b91362fd1
|
fix compile error for rgfw shell. The compile error was on the C side, and was caused by a dependency (<GL/glx.h>) having the typedef 'Bool', and the mlton-generated export headers also having a typedef 'Bool' with the same name. The solution for this project is just to delete the typedef from the mlton-generated headers.
|
2026-01-23 14:56:55 +00:00 |
|
|
|
8d68bcbd13
|
remove duplicate '<stdboo.h>' include in ffi/glfw-export.c, and disambiguate mlton-generated export file for GLFW shell further (by prepending 'mlton-' to the file)
|
2026-01-23 13:37:13 +00:00 |
|
|
|
a8f69bec06
|
disambiguate exports (rename 'export.h' to 'glfw-export.h' because now we are beginning to add RGFW as a back-end with its own separate exports)
|
2026-01-23 13:10:34 +00:00 |
|
|
|
e18032dcc8
|
checkpoint (seem to have encountered an FFI bug?)
|
2026-01-23 12:52:47 +00:00 |
|
|
|
609c30bef5
|
mark 'Rgfw.swapBuffers' as reentrant, because calling this function will likely trigger the registered key callbacks
|
2026-01-23 11:16:14 +00:00 |
|
|
|
a89bb8fa5f
|
consume events in RGFW loop. (Next: react to input events.)
|
2026-01-23 11:13:33 +00:00 |
|
|
|
b4573441fb
|
progrfess scaffolding rgfw (next: consume events and add callbacks for events)
|
2026-01-23 10:55:43 +00:00 |
|
|
|
df20641af1
|
refactor functional core into its own .mlb file that can be shared across different shells
|
2026-01-23 10:08:57 +00:00 |
|
|
|
13d4989792
|
additional scaffolding for making RGFW main loop
|
2026-01-23 10:04:44 +00:00 |
|
|
|
e7ab53310e
|
ffi progress
|
2026-01-23 09:47:27 +00:00 |
|
|
|
dee5e72f39
|
add rule to Makefile to run RGFW build more quickly
|
2026-01-22 21:38:15 +00:00 |
|
|
|
d0f9220cfe
|
progress binding RGFW and making RGFW shell
|
2026-01-22 21:02:22 +00:00 |
|
|
|
e0c09c5480
|
begin adding bindings to rgfw window library
|
2026-01-22 02:00:57 +00:00 |
|
|
|
5eb94f5ccb
|
remove shell/shell.sml and merge its contents into shell/glfw-loop.sml, because shell.sml used to set up and initialise GLFW before calling the main loop. We may want to add additional back-ends later instead, so it's better to keep names specific to the windowing library or platform.
|
2026-01-22 00:57:21 +00:00 |
|
|
|
9ef8231b8b
|
separate OpenGL drawing from GLFW loop in imperative shell, so that other windowing libraries can call the same OpenGL functions.
|
2026-01-22 00:04:22 +00:00 |
|
|
|
a8104131ca
|
add bindings for d-pad directions
|
2026-01-21 22:45:19 +00:00 |
|
|
|
2d1bcf28f7
|
progress reimplementing gamepad support
|
2026-01-21 21:03:20 +00:00 |
|
|
|
50868b830b
|
implement actions for TRIANGLE mode in glfw-gamepad.sml
|
2026-01-21 20:50:04 +00:00 |
|
|
|
0679f4154e
|
begin refactoring shell/glfw-gamepad.sml. (Most functions inside that file are pure now, and I think a 'modal' approach to the face buttons would be better/more ergonomic.)
|
2026-01-21 20:38:13 +00:00 |
|
|
|
96fe9cea0d
|
update todo.md notes with next steps to focus on
|
2026-01-20 09:13:03 +00:00 |
|
|
|
214ea67b76
|
add gamepad-bindings for escape key
|
2026-01-20 09:08:11 +00:00 |
|
|
|
e2454b1093
|
handle l2 and r2
|
2026-01-20 09:01:41 +00:00 |
|
|
|
9962232f83
|
implemented l2 and r2 mostly (except for some to-do items mentioned in comments)
|
2026-01-20 08:32:29 +00:00 |
|
|
|
38e31b2097
|
amend l1 (previous commit only amended r1)
|
2026-01-20 08:02:58 +00:00 |
|
|
|
755d69675f
|
fix how l1 and r1 buttons should be handled (previously, we weren't saving the relevant state to true when they were pressed, but now we are)
|
2026-01-20 08:02:14 +00:00 |
|
|
|
ff33812b27
|
done with handling for gamepad's face buttons; next, handle r2 and l2 buttons
|
2026-01-20 07:56:04 +00:00 |
|
|
|
73d30bfb1f
|
progress implementing SML-side handling of controller
|
2026-01-20 07:10:15 +00:00 |
|
|
|
f2bffc4b6b
|
add bindings to query gamepad's face buttons
|
2026-01-20 04:19:26 +00:00 |
|
|
|
6f89fbc89c
|
begin binding gamepad functions from GLFW to SML
|
2026-01-19 13:23:47 +00:00 |
|
|
|
c6dee6e9f9
|
implement function that deletes from both LineGap.t and SearchList, maintaining an exact match between both
|
2026-01-18 09:59:00 +00:00 |
|
|
|
5e3e8b39b1
|
add function in PersistentVector to insert a match while keeping same absolute indices (to be used when a new match appears after a deletion)
|
2026-01-18 08:52:38 +00:00 |
|
|
|
29d84a9f9f
|
done adding tests for 'PersistentVector.delete' function
|
2026-01-18 08:08:45 +00:00 |
|
|
|
185ef3fc12
|
done implementing 'PersistentVector.merge', which means that 'PersistentVector.delete' is now complete. (Todo: test 'PersistentVector.delete'.)
|
2026-01-18 06:58:41 +00:00 |
|
|
|
79a0c95a58
|
implement another case for 'PersistentVector.merge': merge when right depth is greater than left depth
|
2026-01-18 06:52:49 +00:00 |
|
|
|
7b05490812
|
progress implementing 'PersistentVector.merge' for case where left subtree and right subtree have same depth
|
2026-01-18 06:40:22 +00:00 |
|
|
|
66d672505a
|
fix calculation of number to decrement by in 'PersistentVector.delete', after additional test showed that calculation resulted in incorrect metadata. (Todo: just implement function to merge left and right subtrees.)
|
2026-01-18 00:27:03 +00:00 |
|
|
|
83bb852ae2
|
add another test for 'PersistentVector.delete
|
2026-01-17 23:45:20 +00:00 |
|
|
|
1c947eab7d
|
add a test for 'PersistentVector.delete' (even though the 'PersistentVector.merge' helper function is unimplemented)
|
2026-01-17 23:27:36 +00:00 |
|
|
|
ee58556bde
|
progress implementing 'PersistentVector.delete'. (Todo: implement function to merge left and right vectors.)
|
2026-01-17 23:14:05 +00:00 |
|
|
|
b84713a98e
|
add 'PersistentVector.countDepth' function, which is meant to count the depth, and is to be used for deletion
|
2026-01-17 22:51:06 +00:00 |
|
|
|
4280f580a2
|
add function to decrement persistent-vector.sml. (The plan is to split the left and right, and then decrement the right metadata so that the absolute indices match.)
|
2026-01-17 22:46:08 +00:00 |
|
|
|
98ec1fbee6
|
fix another size-recalculation mistake in 'PersistentVector.splitRight' function. (When we are splitting in the middle of a BRANCH, we want to subtract the old child size from the remainder, and then add the new child size to the remainder, because this calculation will account for the splitting of preceding elements.)
|
2026-01-16 22:40:38 +00:00 |
|
|
|
e52d4856ee
|
amend recalculation of size metadata in 'PersistentVector.splitRIght: we always want to decrement by prevSize in this function. (We will have another function call to decrement so that left split and right split represent the same absolute indices when they are joined, before they are split.)
|
2026-01-16 22:31:43 +00:00 |
|
|
|
ddcb0ea56d
|
finish initial implementation for 'PersistentVector.splitRight'
|
2026-01-16 22:16:44 +00:00 |
|
|
|
eb316d7be2
|
begin implementation of PersistentVector.splitRight function
|
2026-01-16 21:58:59 +00:00 |
|