Concept Detection
Idk why I said I would do tactical detection in the last devlog cuz this time I was obsessed with improving the positional pipeline and I realized that in order to give valid feedback, I need to know what the user was intending to do. Now the way I was planning to do this was to map each move to the concept it shows by using some rules and labels and then compare it to the concept that the engine lines show and then use that in the explanation. I even coded the concept analysis fully before I realized that wait a minute, this is exactly what my position vector scorers were supposed to calculate. Iām doing the same fricking thing but calling it different things. So I was back to the drawing board, when I thought, why not ship this without intent data but make a tool for users to see what they think certain moves do to collect data to train a model to map moves to intent labels for specific ratings! And I can integrate Maiaās neural networks in leela chess 0 to get human like moves at specific ratings to compare the userās played move with. But this is like a later thing to integrate.
Tactics
ML tactic detection is probably the way to go, but again I need loads of data, so I will implement rule based detection for now.
Smaller edits
I changed codeās readability, by adding static type hinting, adding fixed dataclasses for clusters, evaluations, positions, etc. Future me will thank me.