windowcapture
исходный код

Все файлы проекта

141 файлов · 43,761 строк. Каждый файл открывается с подсветкой синтаксиса и нумерацией строк. Сборка — PowerShell-скриптом build.ps1 через компилятор csc.exe из состава .NET Framework, без Visual Studio и без NuGet-пакетов.

Entry

1 файлов · 88 строк

Точка входа: STAThread, DPI per-monitor, TLS 1.2 для .NET 4.0, выбор режима запуска

Program.cs88

App

6 файлов · 1,588 строк

Ядро: низкоуровневые хуки клавиатуры и мыши, контроллер захвата, трей, режимы приложения

App/AppMode.cs135
App/Controller.cs801
App/FormHostApp.cs80
App/LauncherApp.cs135
App/PerformanceLogger.cs77
App/TrayApp.cs360

UI

38 файлов · 17,771 строк

Интерфейс: редактор EditorForm (14 partial), замороженный оверлей, канва аннотаций, настройки

UI/AnnotationCanvas.cs1,014
UI/AudioPlayerForm.cs1,778
UI/ClipboardForm.cs987
UI/Controls/DarkComboBox.cs339
UI/Controls/DarkFloatNumeric.cs108
UI/Controls/DarkFontSizeNumeric.cs179
UI/Controls/DarkNumeric.cs113
UI/Controls/DoubleBufferedPanel.cs38
UI/Controls/GlassScrollPanel.cs188
UI/DarkColorPicker.cs534
UI/EditorForm.Editing.cs283
UI/EditorForm.GlassButtons.cs489
UI/EditorForm.Indicators.cs129
UI/EditorForm.Keyboard.cs274
UI/EditorForm.Ocr.cs52
UI/EditorForm.Paint.cs146
UI/EditorForm.Render.cs455
UI/EditorForm.VideoPaint.cs303
UI/EditorForm.VideoPlayer.cs1,465
UI/EditorForm.ViewerMode.cs362
UI/EditorForm.WindowChrome.cs238
UI/EditorForm.WordExport.cs132
UI/EditorForm.Zoom.cs312
UI/EditorForm.cs419
UI/FrozenOverlay.cs511
UI/KeyCaptureDialog.cs72
UI/LauncherForm.cs192
UI/MediaDownloadDialog.cs314
UI/OriginalizePreviewDialog.cs188
UI/RecordingOverlay.cs99
UI/SearchForm.cs790
UI/SettingsDialog.cs1,377
UI/SoundpadForm.cs1,000
UI/TextBlockPopup.cs317
UI/ToastNotification.cs152
UI/VideoScriptBridge.cs34
UI/WordExportDialog.cs429
UI/WordSidePanel.cs1,959

Detection

2 файлов · 1,828 строк

Компьютерное зрение: оператор Собеля, BFS-заливка, адаптивный порог, расширение области

Detection/Detector.cs948
Detection/MediaParser.cs880

Effects

3 файлов · 1,792 строк

Рендеринг: Direct2D со fallback на GDI+, неразрушающие слои эффектов, размытие

Effects/D2DRenderer.cs945
Effects/EffectLayer.cs242
Effects/ImageEffects.cs605

Integration

3 файлов · 3,011 строк

Интеграции: Gemini REST API с фолбэком моделей, Word через позднее связывание COM, DOCX

Integration/DocxRenderer.cs461
Integration/GeminiIntegration.cs1,139
Integration/WordIntegration.cs1,411

Helpers

25 файлов · 7,730 строк

Автокоррекция текста (noisy channel, SymSpell, фильтр Блума, нейросети) и утилиты

Helpers/BigramLM.cs103
Helpers/BitmapHelper.cs33
Helpers/BloomFilter.cs112
Helpers/BlurHelper.cs23
Helpers/CharEmbedNet.cs344
Helpers/CharNN.cs392
Helpers/ColorHelper.cs59
Helpers/CompactSpell.cs377
Helpers/CursorReader.cs232
Helpers/FontHelper.cs53
Helpers/GlowHelper.cs25
Helpers/GruSpellNet.cs216
Helpers/Logger.cs31
Helpers/MediaTypes.cs24
Helpers/MorphAnalyzer.cs186
Helpers/OcrClient.cs58
Helpers/RescoreClient.cs83
Helpers/RulesEngine.cs667
Helpers/SageClient.cs139
Helpers/Seq2Spell.cs334
Helpers/SpellNet.cs231
Helpers/SpellScore.cs118
Helpers/SymSpell.cs261
Helpers/TextProcessor.cs3,475
Helpers/TipBridge.cs154

Native

5 файлов · 1,810 строк

P/Invoke и COM-обёртки: WinAPI, Direct2D, Media Foundation, WASAPI, DirectShow

Native/Direct2D.cs706
Native/DirectShowInterop.cs210
Native/MediaFoundationInterop.cs276
Native/WasapiInterop.cs77
Native/WinApi.cs541

Recording

3 файлов · 1,863 строк

Запись экрана: BitBlt-цикл, H.264 через Media Foundation, fallback WMV3 / MJPEG, AVI

Recording/AviWriter.cs345
Recording/Mp4Writer.cs1,059
Recording/VideoRecorder.cs459

Models

12 файлов · 1,717 строк

Структуры данных: настройки, привязки клавиш, аннотации (Безье), параметры Gemini

Models/ArrowAnnotation.cs104
Models/AudioPlayerSettings.cs22
Models/CommentBubble.cs313
Models/GeminiSettings.cs202
Models/HighlightRect.cs64
Models/KeyBindings.cs137
Models/LastSelectedIndices.cs34
Models/NumberMarker.cs18
Models/Settings.cs389
Models/TextBlock.cs72
Models/TitlePageData.cs348
Models/UndoAction.cs14

Ocr

2 файлов · 87 строк

OCR-хелпер на .NET 8: Windows.Media.Ocr, вызывается отдельным процессом (Ctrl+T)

Ocr/Program.cs67
Ocr/WC.Ocr.csproj20

Spell

4 файлов · 341 строк

Python-сервер орфокоррекции: SAGE fredt5-distilled-95m, реранжировка rubert-tiny2

Spell/eval_sage.py56
Spell/test_rescore.py69
Spell/wc_spell.py57
Spell/wc_spell_server.py159

Tip

5 файлов · 672 строк

TSF Text Input Processor на C++: правка слова in-place через ITfRange (эксперимент)

Tip/Correct.h51
Tip/README_TSF.md71
Tip/WCTip.cpp474
Tip/WCTip.def6
Tip/_selftest.cpp70

APO

2 файлов · 199 строк

Audio Processing Object на C++: подмешивание звука саундпада в микрофон (эксперимент)

APO/SoundpadAPO.cpp193
APO/SoundpadAPO.def6

Tools

16 файлов · 1,877 строк

Обучение моделей: тренеры нейросетей на C# и PyTorch/CUDA, сборка словарей и биграмм

Tools/BuildData.cs108
Tools/BuildMorph.py117
Tools/TestFullText.cs115
Tools/TestSpellCheck.cs88
Tools/TestTipBridge.cs69
Tools/TrainCharEmbed.cs49
Tools/TrainSeq2Spell.cs37
Tools/TrainSpellNet.cs59
Tools/export_model.py117
Tools/train_1layer.py112
Tools/train_aggressive.py108
Tools/train_bigram_lm.py177
Tools/train_context_nn.py185
Tools/train_cuda.py181
Tools/train_full.py128
Tools/train_gpu.py227

Docs

10 файлов · 1,136 строк

Проектная документация: архитектура, исследования, дизайн подсистем (Markdown)

APPS_AND_LAUNCHER.md46
ARCHITECTURE.md367
AUTOCORRECT_REVIEW.md95
CODE_ANALYSIS.md188
FEATURE_RESEARCH.md58
INPUT_FIELD_ACCESS.md29
MODULARIZATION_PLAN.md68
NEURAL_RESEARCH_AND_DESIGN.md92
REALTIME_AUTOCORRECT_DESIGN.md52
TSF_AND_TINY_NN_DESIGN.md141