begin refactoring to use square pixels instead of triangles, focusing on functional core first

This commit is contained in:
2025-07-06 01:38:02 +01:00
parent 513cbd3dba
commit 79be94bcbd
8 changed files with 848 additions and 122 deletions

View File

@@ -1,73 +1,4 @@
signature APP_WITH =
sig
val graphVisibility: AppType.app_type * bool -> AppType.app_type
val mode: AppType.app_type * AppType.app_mode -> AppType.app_type
val windowResize: AppType.app_type * int * int -> AppType.app_type
val mousePosition: AppType.app_type * Real32.real * Real32.real
-> AppType.app_type
val fileBrowserAndPath:
AppType.app_type * AppType.file_browser_item vector * string
-> AppType.app_type
val fileBrowserIdx: AppType.app_type * int -> AppType.app_type
val arrowX: AppType.app_type * int -> AppType.app_type
val arrowY: AppType.app_type * int -> AppType.app_type
val undo:
AppType.app_type
* AppType.triangle_stage
* AppType.triangle list
* (Real32.real * Real32.real)
-> AppType.app_type
val redo:
AppType.app_type
* AppType.triangle_stage
* AppType.triangle list
* (Real32.real * Real32.real)
-> AppType.app_type
(*
* add functions clear the redo stack,
* as they are meant to be called after a click action,
* and also add new click position to undo stack.
*)
val addTriangleStage:
AppType.app_type
* AppType.triangle_stage
* (Real32.real * Real32.real)
* int
* int
-> AppType.app_type
val addTriangle:
AppType.app_type
* Real32.real
* Real32.real
* Real32.real
* Real32.real
* Real32.real
* Real32.real
* (Real32.real * Real32.real)
* int
* int
-> AppType.app_type
val useTrianglesAndSetNormalMode: AppType.app_type * AppType.triangle list
-> AppType.app_type
val num: AppType.app_type * int -> AppType.app_type
val r: AppType.app_type -> AppType.app_type
val g: AppType.app_type -> AppType.app_type
val b: AppType.app_type -> AppType.app_type
end
structure AppWith :> APP_WITH =
structure AppWith =
struct
open AppType