mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
add file layout visualization from aracelix
https://github.com/ankitects/anki/issues/1010#issuecomment-1032248683
This commit is contained in:
parent
b64c179609
commit
4653873db9
2 changed files with 8 additions and 4 deletions
|
@ -6,7 +6,11 @@ Very brief notes for now.
|
||||||
|
|
||||||
At the highest level, Anki is logically separated into two parts.
|
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,
|
The Python library (pylib) exports "backend" methods - opening collections,
|
||||||
fetching and answering cards, and so on. It is used by Anki’s GUI, and can also
|
fetching and answering cards, and so on. It is used by Anki’s 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.
|
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
|
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
|
TypeScript/HTML/CSS. The Qt code lives in `qt/aqt/`, and is importable in Python
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
For info on contributing things other than code, such as translations, decks
|
For info on contributing things other than code, such as translations, decks
|
||||||
and add-ons, please see https://docs.ankiweb.net/contrib
|
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
|
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
|
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
|
"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,
|
with type hints added to the majority of the codebase, automatic linting/formatting,
|
||||||
and refactoring of parts of the code.
|
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
|
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
|
will not be the top priority, unless they are easy wins as part of the refactoring
|
||||||
process.
|
process.
|
||||||
|
|
Loading…
Reference in a new issue