Commit Graph

16 Commits

Author SHA1 Message Date
lyrgb d3c966b268 moved instantiation responsibility from App::add_sort
Invoker is now an object that we attach to the sortbinding rather than
the HasInvoker.
we now create a binding in main, then pass it on to App.
Timer now has a weak ptr to its invoker, so it could clean itself up.
2026-08-27 23:04:57 +02:00
lyrgb d98c29ecbb Timer now contains an invoker instead of inheriting
the idea is that an invoker holds a weak_ptr to a steppable. and
anything with an invoker can advance a steppable

app::add_sort has become too heavy because of the way timer and
invoker are initialized now.
2026-08-24 01:56:04 +02:00
lyrgb 273ff07a00 cleanup, timermanager in App is a dependency that takes timers again.
App now adds already constructed Timers
Timer is now an Invoker that takes a weak_ptr to a steppable with a
request()rather than a bool callback.
should eventually be changed to composition
2026-08-23 23:25:04 +02:00
lyrgb 54faab2a28 added invoker virtual class and made timer inherit from it 2026-08-20 14:44:16 +02:00
lyrgb 2185d2858a App now uses separate add_session to insert data into it
improved the hub and spoke-ish model of App by making it more clear
that its components have specific responsibilities, which App then
glues together.

moved timermanager to App to seperate the invoker from receiver so we
can eventually add interactivity

also fixed the using namespace std error from a while ago
2026-08-20 01:47:38 +02:00
lyrgb b5309278cf rename myaction to callback 2026-08-20 00:45:52 +02:00
lyrgb 6e71aeebb4 app now just coordinates the components initialized in main
reduced responsibilities of constructors
started using more pointers.
sessions through app rather than app itself.
mostly split view away from app (still hard coded)
haven't decoupled sorts from timers as their actuator yet
2026-08-15 03:14:54 +02:00
lyrgb afdf73ca2e split app into seperate files to clean main 2026-08-12 13:04:49 +02:00
lyrgb 005d4282a9 cmake now also includes other dirs in src 2026-08-12 02:05:20 +02:00
lyrgb 8a60e45cd1 timermanager now creates its own timers 2026-08-12 01:43:50 +02:00
lyrgb e6e170a42a split data into sortsession struct with vectors 2026-08-08 14:10:48 +02:00
lyrgb d2d9ef6c70 headers, split steppable 2026-08-07 00:56:06 +02:00
lyrgb 6f7bd9d964 switched from raw lambda to stepable
couldn't figure out how to handle sortstate, eventually put it into
bsort class. should be split into timeraction and steppable. and there
shouldn't be a random steppedbsort in App
2026-08-05 00:00:26 +02:00
lyrgb 401841f700 added basic SFML
now using App and SFML's loop, but haven't properly set up data vs
logic vs UI yet.
added setuptimers()
sortdata currently member var, should either make vec, or attach it to
a different object
2026-08-03 02:05:08 +02:00
lyrgb bcd9fe91c3 now searches src too 2026-07-31 11:49:08 +02:00
lyrgb 4d59287f9c ic working example
setup with working timers and timermanager
2026-07-28 02:39:29 +02:00