Break A and E technical into subdecks
This commit is contained in:
@@ -494,25 +494,44 @@ output artifacts.
|
||||
```
|
||||
anki/
|
||||
amateurfunk-technische-kenntnisse-n.apkg (195 cards)
|
||||
amateurfunk-technische-kenntnisse-e.apkg (463 cards)
|
||||
amateurfunk-technische-kenntnisse-a.apkg (716 cards)
|
||||
amateurfunk-technische-kenntnisse-e.apkg (463 cards, 11 sub-decks)
|
||||
amateurfunk-technische-kenntnisse-a.apkg (716 cards, 11 sub-decks)
|
||||
amateurfunk-betriebliche-kenntnisse.apkg (172 cards)
|
||||
amateurfunk-kenntnisse-von-vorschriften.apkg (204 cards)
|
||||
```
|
||||
|
||||
Five `.apkg` files. Betriebliche and Vorschriften are shared across
|
||||
every candidate (class-1-only in the data per §3 axis 2) and stay as
|
||||
one deck each. Technische is fanned out per license class using a
|
||||
**strict equality split** on the question's `class` field — class-1
|
||||
questions land in the N deck only, class-2 in E only, class-3 in A
|
||||
only. The card counts therefore equal the new-at-this-class slices
|
||||
from §3, not the cumulative study pools: a candidate studying for
|
||||
class E imports Technische-N + Technische-E + Betriebliche +
|
||||
Vorschriften.
|
||||
Betriebliche and Vorschriften are shared across every candidate
|
||||
(class-1-only in the data per §3 axis 2) and stay as one deck each.
|
||||
Technische is fanned out per license class using a **strict equality
|
||||
split** on the question's `class` field — class-1 questions land in
|
||||
the N deck only, class-2 in E only, class-3 in A only. The card counts
|
||||
therefore equal the new-at-this-class slices from §3, not the
|
||||
cumulative study pools: a candidate studying for class E imports
|
||||
Technische-N + Technische-E + Betriebliche + Vorschriften.
|
||||
|
||||
The class-E (463) and class-A (716) Technische pools are large enough
|
||||
that a single flat deck is unwieldy, so each package is built as a deck
|
||||
*tree* rather than fanned out into separate files: one `.apkg`
|
||||
containing one sub-deck per first-level catalog topic (the 11
|
||||
subsections under the Prüfungsteil, e.g. "Sender und Empfänger",
|
||||
"Antennen und Übertragungsleitungen") plus an anchoring `…::E` / `…::A`
|
||||
parent deck. Each card is filed under its topic via the `did` column;
|
||||
grouping is by the first section title below the Prüfungsteil
|
||||
(`item.path[1]`). Anki sorts the sub-decks alphabetically on import (it
|
||||
has no per-deck manual ordering), not in catalog order. N (195) is
|
||||
small enough to stay one flat deck. The split classes are listed in
|
||||
`TOPIC_SPLIT_CLASSES`. These multi-deck packages list every sub-deck in
|
||||
the `col.decks` blob (see `build_apkg_for_category` and
|
||||
`insert_collection_metadata`).
|
||||
|
||||
Note that re-importing a reworked package does not move cards that
|
||||
already exist in a collection — Anki only files *new* cards by the
|
||||
package's decks and leaves existing cards in their current deck.
|
||||
|
||||
The Technische deck names use Anki's `::` hierarchy separator
|
||||
(`Amateurfunk::Technische Kenntnisse::N`) so the three decks render
|
||||
as children of a shared parent in Anki's deck browser. The
|
||||
(`Amateurfunk::Technische Kenntnisse::N`, and one level deeper for E/A —
|
||||
`Amateurfunk::Technische Kenntnisse::A::Sender und Empfänger`) so the
|
||||
decks render as a nested tree in Anki's deck browser. The
|
||||
`klasse-N` / `klasse-E` / `klasse-A` tag is still emitted on every
|
||||
note — redundant within each Technische deck but useful in Betr/Vor
|
||||
for in-Anki filtering, and harmless besides.
|
||||
|
||||
Reference in New Issue
Block a user