How lvyww/paindutch works
Pain is a Windows typing-practice application: users practice supplied text, while the repository also contains article reading, standalone single-character practice, and trainer workflows. The excerpts support article loading, section navigation, filtering, and the JBS network client; they do not establish all wiring from the main window to typing evaluation, recording, or other integrations, so those connections are omitted. The README provides no additional capability details.
Main entry points: ArticleManager.cs Article manager · JBS.cs JBS integration · MainWindow.xaml.cs Main window · ArticleConfig.cs Article settings
Components 19
Typing practice
- Main window
MainWindow.xaml.cs - Session state
StateManager.cs - App configuration
Config.cs - Typing scores
Score.cs - Session records
Recorder.cs
Article reading
- Article window
Article/WinArticle.xaml.cs - Article manager
Article/ArticleManager.cs - Article settings
Article/ArticleConfig.cs - Text filter
Article/Filter.cs - Article text files
Practice modes
- Single practice
Single/winSingle.xaml.cs - Trainer
WinTrainer/WinTrainer.xaml.cs - Trainer settings
WinTrainer/TrainerConfig.cs
Comparison and services
- File comparison
FileComparer.cs - Diff engine
Diff/DiffTool.cs - JBS integration
net/JBS.cs - HTTP utilities
net/Util.cs
Other components
- User
- JBS service
Connections 7
- User → Main window: uses
- Article manager → Article text files: loads
- Article manager → Article settings: reads settings
- Article manager → Text filter: filters text
- Article manager → Main window: updates display
- JBS integration → HTTP utilities: sends requests
- JBS integration → JBS service: requests articles and submits scores