2026-8-28

Allowed scheduler tasks to store data. This means I could implement BFS through the scheduler, allowing for this cool traversal effect:output 3 But I eventually decided I didn’t like it and restored it to what it was before.

I also changed the title screen a bit, so that the pieces are to the side of the main content area. Screenshot 2026-08-29 at 1.02.02 AM

Then I added an options button as shown above and made a basic options screen. This was easier said than done, as previously these configurable parameters were hardcoded Rust constants. Fortunately a config is easily implementable via a LazyLock<RwLock<Config>>, and can be easily accessed and written to using helper methods.

Screenshot 2026-08-29 at 1.01.44 AM

Next, I just had to do some very basic serde JSON code to save and load the config from a JSON file. The config is stored as <user data dir>/dev.orangishcat.cursed-tetris/config.json, where the dirs crate handles figuring out the user data directory.

Also the identifier dev.orangishcat is, by convention, apparently the reverse of a domain name, called reverse domain name notation. For example using com.example conventionally would be used as an identifier by someone who owns example.com. Of course this is just an identifier and doesn’t really do anything, but me using dev.orangishcat means that if I were to get a domain, I have decided I would want orangishcat.dev. Hopefully it’s at an affordable price.

(Only other domain I might want would be orangishcat.sh because it sounds cool, but .dev probably makes the most sense here.)

Total time: 3 hours

turn your phone horizontally pls! this site is not very mobile friendly