add file layout visualization from aracelix

https://github.com/ankitects/anki/issues/1010#issuecomment-1032248683
This commit is contained in:
Damien Elmes 2022-02-09 13:23:52 +10:00
parent b64c179609
commit 4653873db9
2 changed files with 8 additions and 4 deletions

View file

@ -6,7 +6,11 @@ Very brief notes for now.
At the highest level, Anki is logically separated into two parts.
### Library
A neat visualization
of the file layout is available here:
<https://octo-repo-visualization.vercel.app/?repo=ankitects%2Fanki>
### Library (rslib & pylib)
The Python library (pylib) exports "backend" methods - opening collections,
fetching and answering cards, and so on. It is used by Ankis GUI, and can also
@ -19,7 +23,7 @@ These days, the majority of backend logic lives in a Rust library (rslib, locate
pylib contains a private Python module called rsbridge (`pylib/rsbridge/`) that wraps the Rust code, making it accessible in Python.
### GUI
### GUI (aqt & ts)
Anki's _GUI_ is a mix of Qt (via the PyQt Python bindings for Qt), and
TypeScript/HTML/CSS. The Qt code lives in `qt/aqt/`, and is importable in Python

View file

@ -3,7 +3,7 @@
For info on contributing things other than code, such as translations, decks
and add-ons, please see https://docs.ankiweb.net/contrib
With most users now on 2.1, the past year has been focused on paying down some
With most users now on 2.1, the past 2 years have been focused on paying down some
of the technical debt that Anki's codebase has built up over the years, and making
changes that will make future maintenance and refactoring easier. A lot of Anki's
"business logic" has been migrated to Rust, which AnkiMobile and AnkiDroid
@ -13,7 +13,7 @@ Considerable effort has also been put into improving the Python side of things,
with type hints added to the majority of the codebase, automatic linting/formatting,
and refactoring of parts of the code.
The scheduling code and import/export code remains to be done, and this will likely
The import/export code remains to be done, and this will likely
take a number of months to work through. Until that is complete, new features
will not be the top priority, unless they are easy wins as part of the refactoring
process.