LICENSE
README.md
pyproject.toml
setup.cfg
setup.py
handtex/__init__.py
handtex/about_driver.py
handtex/config.py
handtex/constants.py
handtex/data_recorder.py
handtex/driver_mainwindow.py
handtex/error_dialog_driver.py
handtex/gui_utils.py
handtex/issue_reporter_driver.py
handtex/license_driver.py
handtex/log_parser.py
handtex/log_viewer.py
handtex/main.py
handtex/sketchpad.py
handtex/state_saver.py
handtex/structures.py
handtex/symbol_list.py
handtex/symbol_relations.py
handtex/utils.py
handtex/worker_thread.py
handtex.egg-info/PKG-INFO
handtex.egg-info/SOURCES.txt
handtex.egg-info/dependency_links.txt
handtex.egg-info/entry_points.txt
handtex.egg-info/requires.txt
handtex.egg-info/top_level.txt
handtex/CustomQ/CComboBox.py
handtex/CustomQ/CListWidget.py
handtex/CustomQ/CRegexLineEdit.py
handtex/CustomQ/CScrollArea.py
handtex/CustomQ/__init__.py
handtex/data/NotoMono-Regular.ttf
handtex/data/__init__.py
handtex/data/symbols.tar.xz
handtex/data/color_themes/__init__.py
handtex/data/color_themes/breeze
handtex/data/color_themes/breeze-dark
handtex/data/custom_icons/__init__.py
handtex/data/custom_icons/heart.svg
handtex/data/custom_icons/image-missing.svg
handtex/data/custom_icons/logo.ico
handtex/data/custom_icons/logo.svg
handtex/data/custom_icons/dark/stroke12.svg
handtex/data/custom_icons/dark/stroke16.svg
handtex/data/custom_icons/dark/stroke2.svg
handtex/data/custom_icons/dark/stroke20.svg
handtex/data/custom_icons/dark/stroke4.svg
handtex/data/custom_icons/dark/stroke6.svg
handtex/data/custom_icons/dark/stroke8.svg
handtex/data/custom_icons/light/stroke1.svg
handtex/data/custom_icons/light/stroke12.svg
handtex/data/custom_icons/light/stroke16.svg
handtex/data/custom_icons/light/stroke2.svg
handtex/data/custom_icons/light/stroke20.svg
handtex/data/custom_icons/light/stroke4.svg
handtex/data/custom_icons/light/stroke6.svg
handtex/data/custom_icons/light/stroke8.svg
handtex/data/model/__init__.py
handtex/data/model/encodings.txt
handtex/data/model/handtex.safetensors
handtex/data/symbol_metadata/__init__.py
handtex/data/symbol_metadata/augmented_symbol_frequency.csv
handtex/data/symbol_metadata/inside.txt
handtex/data/symbol_metadata/negations.txt
handtex/data/symbol_metadata/similar_astro.txt
handtex/data/symbol_metadata/similar_greek.txt
handtex/data/symbol_metadata/similar_manual.txt
handtex/data/symbol_metadata/symbol_frequency.csv
handtex/data/symbol_metadata/symbols.json
handtex/data/symbol_metadata/symmetry_other.txt
handtex/data/symbol_metadata/symmetry_self.txt
handtex/data/theme_icons/__init__.py
handtex/data/theme_icons/breeze/index.theme
handtex/data/theme_icons/breeze-dark/index.theme
handtex/data/theme_icons/breeze-dark/actions/16/application-menu.svg
handtex/data/theme_icons/breeze-dark/actions/16/dialog-cancel.svg
handtex/data/theme_icons/breeze-dark/actions/16/dialog-filters.svg
handtex/data/theme_icons/breeze-dark/actions/16/dialog-ok-apply.svg
handtex/data/theme_icons/breeze-dark/actions/16/dialog-ok.svg
handtex/data/theme_icons/breeze-dark/actions/16/document-open-folder.svg
handtex/data/theme_icons/breeze-dark/actions/16/draw-freehand.svg
handtex/data/theme_icons/breeze-dark/actions/16/edit-clear.svg
handtex/data/theme_icons/breeze-dark/actions/16/edit-copy.svg
handtex/data/theme_icons/breeze-dark/actions/16/edit-line-width.svg
handtex/data/theme_icons/breeze-dark/actions/16/edit-redo.svg
handtex/data/theme_icons/breeze-dark/actions/16/edit-undo.svg
handtex/data/theme_icons/breeze-dark/actions/16/games-config-theme.svg
handtex/data/theme_icons/breeze-dark/actions/16/help-about.svg
handtex/data/theme_icons/breeze-dark/actions/16/insert-image.svg
handtex/data/theme_icons/breeze-dark/actions/16/internet-services.svg
handtex/data/theme_icons/breeze-dark/actions/16/media-skip-forward.svg
handtex/data/theme_icons/breeze-dark/actions/16/package.svg
handtex/data/theme_icons/breeze-dark/actions/16/process-stop.svg
handtex/data/theme_icons/breeze-dark/actions/16/search.svg
handtex/data/theme_icons/breeze-dark/actions/16/tools-report-bug.svg
handtex/data/theme_icons/breeze-dark/actions/16/window-close.svg
handtex/data/theme_icons/breeze-dark/actions/24/draw-freehand.svg
handtex/data/theme_icons/breeze-dark/actions/32/go-up.svg
handtex/data/theme_icons/breeze-dark/status/16/dialog-warning.svg
handtex/data/theme_icons/breeze-dark/status/22/dialog-error.svg
handtex/data/theme_icons/breeze-dark/status/64/dialog-error.svg
handtex/data/theme_icons/breeze-dark/status/64/dialog-information.svg
handtex/data/theme_icons/breeze-dark/status/64/dialog-question.svg
handtex/data/theme_icons/breeze-dark/status/64/dialog-warning.svg
handtex/data/theme_icons/breeze/actions/16/application-menu.svg
handtex/data/theme_icons/breeze/actions/16/dialog-cancel.svg
handtex/data/theme_icons/breeze/actions/16/dialog-filters.svg
handtex/data/theme_icons/breeze/actions/16/dialog-ok-apply.svg
handtex/data/theme_icons/breeze/actions/16/dialog-ok.svg
handtex/data/theme_icons/breeze/actions/16/document-open-folder.svg
handtex/data/theme_icons/breeze/actions/16/draw-freehand.svg
handtex/data/theme_icons/breeze/actions/16/edit-clear.svg
handtex/data/theme_icons/breeze/actions/16/edit-copy.svg
handtex/data/theme_icons/breeze/actions/16/edit-line-width.svg
handtex/data/theme_icons/breeze/actions/16/edit-redo.svg
handtex/data/theme_icons/breeze/actions/16/edit-undo.svg
handtex/data/theme_icons/breeze/actions/16/games-config-theme.svg
handtex/data/theme_icons/breeze/actions/16/help-about.svg
handtex/data/theme_icons/breeze/actions/16/insert-image.svg
handtex/data/theme_icons/breeze/actions/16/internet-services.svg
handtex/data/theme_icons/breeze/actions/16/media-skip-forward.svg
handtex/data/theme_icons/breeze/actions/16/package.svg
handtex/data/theme_icons/breeze/actions/16/process-stop.svg
handtex/data/theme_icons/breeze/actions/16/search.svg
handtex/data/theme_icons/breeze/actions/16/tools-report-bug.svg
handtex/data/theme_icons/breeze/actions/16/window-close.svg
handtex/data/theme_icons/breeze/actions/24/draw-freehand.svg
handtex/data/theme_icons/breeze/actions/32/go-up.svg
handtex/data/theme_icons/breeze/status/16/dialog-warning.svg
handtex/data/theme_icons/breeze/status/22/dialog-error.svg
handtex/data/theme_icons/breeze/status/64/dialog-error.svg
handtex/data/theme_icons/breeze/status/64/dialog-information.svg
handtex/data/theme_icons/breeze/status/64/dialog-question.svg
handtex/data/theme_icons/breeze/status/64/dialog-warning.svg
handtex/detector/__init__.py
handtex/detector/image_gen.py
handtex/detector/inference.py
handtex/detector/model.py
handtex/ui_generated_files/__init__.py
handtex/ui_generated_files/ui_About.py
handtex/ui_generated_files/ui_ErrorDialog.py
handtex/ui_generated_files/ui_IssueReporter.py
handtex/ui_generated_files/ui_License.py
handtex/ui_generated_files/ui_Mainwindow.py
handtex/ui_generated_files/ui_SymbolList.py
tests/test_data_loading.py
tests/test_log_parser.py
tests/test_other_symmetry_sanity.py
tests/test_symbol_metadata_sanity.py
tests/test_theming.py