also gonna share the news here: im rewriting F95Checker in C.
python just isnt cutting it anymore, its a great language for getting things going quickly but it doesnt scale, uses too much cpu and ram for what this tool does, and also has a lot of ongoing problems due to lower level libraries like imgui and glfw and opengl that while they work they arent updated often and dont give me much control over what i want the code to do.
rewriting in C will make everything much more efficient, lightweight, and bring new features to libraries like imgui that i use to make the tool work which could mean more and better features in the tool; it should probably also end up being more stable, as some of the stability issues thus far were due to how the lower level libraries with python arent really isolated and conflict in weird ways, while now ill have full control over what the code does.
the rewrite will go slowly, it is a massive task but i feel it is a needed one, i expect this to take several months to complete and i wont be rushing it. until feature parity with the latest beta builds / release is reached, this rewrite will be a separate feat/c-rewrite branch and i will continue maintaining the current python build until it is time to switch over; there are also some open PRs such as the new filtering system, i plan to reimplement those in C myself rather than reviewing the code and merging as is into the python build, this also means the old clunky filtering system will not be in the new C rewrite, only the new text based filtering from the open PR (behaves similar to github, where you type the filters you want eg "tag:2dcg" and can join them with logical operators and group them, i will probably add some way to select the filters graphically with a system like the current one but it will just insert that filter as text into main filter textbox).
for now i am still getting the infrastucture setup, there isnt much to see yet. also i will focus on getting everything working on linux first as thats where i develop, later will sort any issues compiling on windows and macos so for now dont even try on those OSs. for those interested, im using cmake and gcc (will likely use clang for windows), and the library stack is imgui+sdl3+glad+opengl3 for gui, curl for web requests, same sqlite3 for database, m*lib for dynamic data types, cwalk for path manipulation, still not sure what ill use for integrated browser. so far, it can be built almost fully statically (except for linux ld and vdso and libc, those cant really be done statically), this means that once ready it should be possible to just have a single F95Checker executable with no .dll or .so files around, though the integrated browser might be the one exception to that.