|
|
ef9da12a0b
|
begin adding tests for 'yj' motion, based on tests for 'dj' motion
|
2026-01-31 21:18:21 +00:00 |
|
|
|
000cf4ab62
|
implement 'yj' motion. (Next: add tests for it.)
|
2026-01-31 12:05:16 +00:00 |
|
|
|
900343203a
|
enable vsync in rgfw shell, to majorly decrease cpu usage
|
2026-01-23 23:20:40 +00:00 |
|
|
|
fdc289e237
|
change use of 'Bool' type to 'bool' in rgfw-exports.c
|
2026-01-23 21:19:10 +00:00 |
|
|
|
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 |
|