/study — Studium
Hinweis: Rahmen: 00-rahmen.md. Code:
plugins/src/study/— Schirm, Menü, Lerndurchgang, Interessenbaum, Prüfungsliste, Übungsblätter samt „in einem Zug", „Heute fachlich",interessen/, die Anfragen und die zwei Einstellungsabschnitte „Lernen" und „Interessengebiete"; Server unterstudy/server/· Nachweiseverify:cards,verify:fsrs,verify:interessen,verify:ueberfuehrung(seit 17.09.2026 unterstudy/nachweis/),verify:blattserie(BE39, ebenda), dazuverify:sprintundverify:formelnim Kern.
Wofür
Der Lesesaal — man sitzt und arbeitet. Der größte Bereich in Denotato (4641 Zeilen) und der einzige mit acht Abschnitten.
Der Schirm kennt keine Spalten und keine Filter; er wählt nur aus, welche Ansicht die generische Tabelle bekommt.
Weg und Rahmen
| Route | /study, Abschnitt über ?a=today|semesters|modules|topics|categories|cards|exams|interests |
| Merkmal | STUDY |
| Zimmer | Lesesaal · Lautstärke 3 · #4d9bff |
| Gesperrt | dieser Bereich kann bis Block 1.2 nicht ins Plugin-Schema umziehen — StudyMenu.tsx liest people |
?a=quatsch setzt keinen Abschnitt: ohne die Liste zulässiger Werte bliebe der Schirm leer und niemand sähe warum.
Der Abschnitt steht allein in der Adresse (BE06, 21.09.2026). Der Schirm hält keinen zweiten Stand davon — was ?a= sagt, ist offen, und wo nichts steht, ist es „Heute“ (seit 14.10.2026, KN-261014-studium-heute; bis dahin die Module). Bens Befund („der Reiter Interessen bleibt bei Lernen") kam daher, dass er bis dahin doppelt geführt wurde: Ein Weg auf /study ohne ?a= — der Eintrag „Studium" in der Leiste, die Schnellaktion „Lernen", ihr Befehl in der Schnellsuche — wechselt die Route nicht, baut den Schirm nicht neu und nahm dem Schirm nur die Adresse weg; der Reiter blieb, wo er war. Danach zeigte ein Neuladen einen anderen Abschnitt als der hervorgehobene Reiter. Die Regel steht im Rahmen, [§3](00-rahmen.md#3-der-schirmaufbau-menuscreen).
Aus derselben Änderung folgte: „Lernen" führte auf /study?a=cards. Seit dem 16.10.2026 (KN-261015-lernen-ort) führen Schnellaktion und Befehl in die Karteikarten (/flashcards), den einzigen Ort zum Lernen.
Der Kopf (Schirmkopf): ab Tabletbreite Titel links, Suche in der Mitte, „Was geht hier?“, „Bearbeiten“ und Motiv rechts. Seit dem 20.10.2026 (F-261019-hinweis-was-geht-hier) ist die rechte Spalte nie schmaler als ihr Inhalt und die linke nie schmaler als das längste Wort des Titels; was fehlt, gibt die Suche her. Vorher schrumpfte die rechte Spalte, und bei 1195 px lagen „Was geht hier?“ und „Bearbeiten“ über dem Suchfeld. Am Telefon stehen beide Aktionen linksbündig untereinander unter der Suche.
Was man sieht
Acht Abschnitte
| Abschnitt | Spalten |
|---|---|
| Heute | keine Tabelle — eine Zeile je Veranstaltung des Tages, untereinander, siehe unten |
| Semester | Nr · Name · Typ · Beginn · Ende · LP-Ziel — ein Semester ist ein benannter Zeitraum (Wanderung 280, siehe unten) |
| Module | Titel · Kürzel · Semester · Dozent · Fach · Zulassung % · LP — darüber der Notenspiegel. Die Ansicht „Laufend“ trägt dazu die Spalte Abgaben: die offenen Abgaben des Moduls als Verweise; jeder führt zu seiner Aufgabe unter „To-Dos › Abgabe“ (/tasks?art=submission&id=…). Abgehakt wird dort, nicht hier (KN-261015-abgaben-ort) |
| Themen | Titel · Modul · Oberthema · Worum es geht · Stand (offen, begonnen, bestanden) — nach Modul gegliedert, siehe unten |
| Kategorien | Titel · Oberkategorie · Modul |
| Karten (Reiter „Lernen“) | kein Lerndurchgang mehr (seit 16.10.2026, KN-261015-lernen-ort, Befund B8): eine Zeile je eigenem Modul mit Karten — Kürzel und Name, wie viele Karten warten („5 Karten warten, alle neu.“) oder „Nichts wartet.“, und der Knopf Lernen, der die Karteikarten mit diesem Modul als Filter öffnet (/flashcards?modul=<id>, Modulliste.tsx, gelesen über study/cards/modules). Darüber „Alle Karten lernen“. Mit ?a=cards&id=<Karte> statt der Liste die eine Karte allein — Name und Modul, Frage, Hinweis und Antwort offen, darunter „Zum Lerndurchgang“ in die Karteikarten, keine Bewertung (Einzelkarte.tsx, gelesen über study/cards/read, ohne den Lernstand zu berühren; KI-261015-verweise-nacharbeit). Dorthin führen Verweise des Begleiters und Verknüpfungschips einer Karteikarte |
| Prüfungen | zwei Teile: oben die Übungsblätter nach Modul gruppiert, mit dem eingeklappten Formular „Blätter in einem Zug anlegen" darunter (BE39), dann alle übrigen Prüfungen, gleich welcher Art — Klausur, mündlich, Fallstudie, Präsentation, Mitarbeit oder Projekt (Wanderung 279; im Formular „Bearbeiten“ und „Prüfung anlegen“ als feste Auswahl, keine freie Eingabe) — Titel · Modul · Termin · Art · Anmeldeschluss · Rücktrittsfrist · Note (sehr gut, gut, akzeptabel, bestanden), je Karte mit „Bearbeiten" (BE38). Das Anlegen steht unter der Liste hinter „Prüfung eintragen“ und ist nur offen, solange es keine Prüfung gibt; die Art steht auf „Klausur“ (KN-261013-pruefung-zuerst). ?a=exams&neu — so kommt „Neu anlegen › Prüfung“ aus der Kopfleiste — klappt es auch bei vorhandenen Prüfungen auf (KN-261015-neu-anlegen). Der Modulname ist ein Weg zum Modul (?a=modules&id=); eine Prüfung ohne Modul nennt ihn als Text. Mit ?a=exams&id=<Prüfung> liegt die Karte auf der leisen Fläche des Überfahrens (bis zum 10.10.2026 ein Streifen am Rand, E11), trägt aria-current und rollt einmal ins Bild (NV15, N499). Die Gruppen der Übungsblätter tragen ihren Ton nur noch im Balken des Erreichten, die Vorschläge des Prüfungsplans ihre Dringlichkeit im Satz (Textfarbe und halbfett statt einer Kante in Bernstein; ES-261009-farbige-seitenstreifen). Wer „Bearbeiten“ öffnet, findet unter dem Formular das Verknüpfungsfeld „Hängt zusammen mit“ (NV17, N506) |
| Interessen | der Interessenbaum — 21 Hauptgebiete, 846 Knoten (gezählt am 26.09.2026) |
Hinab und wieder hinauf. Ein Klick auf ein Semester zeigt seine Module, auf ein Modul seine Themen, auf ein Thema oder eine Kategorie mit Kindern deren Unterthemen oder Unterkategorien (?a=…&von=<Kennung>, jeder Schritt ein Eintrag im Browserverlauf). Darüber steht die Brotkrume (menus/shell/Brotkrume.tsx): seit F-261011-kategorien-zurueck (11.10.2026) der ganze Weg von oben, Mathematik › Analysis › Reihen › Kategorien, jede Ebene darüber anklickbar — sie führt genau eine oder mehrere Ebenen hinauf, und die Adresse ändert sich mit. Ein Unterthema nennt Semester, Modul und Oberthemen. Daneben bleibt „Alle … zeigen“, der Sprung ganz nach oben. Den Weg rechnet study/client/herkunftsweg.ts aus den schon geladenen Listen; ein Semester steht dort mit seinem Namen.
Fächer: seit VA13 (07.10.2026) eine Liste, die ein Admin in der Verwaltung pflegt (Abschnitt „Fächer“, seiten/verwaltung.md). Der Schirm fragt sie einmal (/api/faecher, study/client/useFaecher.ts) und liest daraus Wort und Ton für Gliederung, Spalte „Fach“ und Formular, in der Reihenfolge der Liste. Ein ausgeblendetes Fach steht nicht mehr zur Wahl; eine Zeile, die es trägt, zeigt sein Wort, ein unbekanntes Fach seine Kennung, beide neutral. Solange die Liste lädt oder nicht kommt, gelten die fünf eingebauten Fächer Mathematik · Physik · Informatik · Chemie · Andere — sie stehen nur in study/shared/faecher.ts. Seit Wanderung 293 (VA-261010-studienfaecher, 11.10.2026) trägt die Liste dazu eine Grundliste von hundert Fächern nach der Fächersystematik des Statistischen Bundesamts, von Agrarwissenschaften bis Zahnmedizin (@shared/handlers/faecher/grundliste.ts), alle neutral, zwischen den ersten vier und „Andere“ nach dem Wort geordnet. Unter jedem Formular mit dem Feld „Fach“ (Module, Themen) steht „Mein Fach fehlt“ (study/client/Fachfehlt.tsx). Fach, Modulstand (unbekannt, gelernt, läuft, bestanden) und Semesterart (Winter, Sommer) stehen in Tabellen und Gruppenköpfen als Wort, nicht als gespeicherter Wert. Die Semesterart trägt seit E12 (30.09.2026) in der Spalte „Typ" zusätzlich ihr Zeichen: Winter die Schneeflocke (schneeflocke), Sommer die Sonne (sonne).
Ein Semester ist ein benannter Zeitraum (Wanderung 280, VA-261010-semester-zeitraeume, 10.10.2026). Das Formular „Semester anlegen“ fragt nach einem freien Namen („Trimester 1“, höchstens 80 Zeichen), Beginn und Ende; die Nummer ist freiwillig und wird ohne Angabe die höchste plus eins. Winter und Sommer sind nur ein Vorschlag: Das Feld „Vorschlag“ steht nur da, wo die Einrichtung des Kontos Semesterzeiten führt, und setzt mit einer Wahl Art, Beginn und Ende zugleich — alle drei bleiben danach von Hand änderbar. Führt die Einrichtung einen benannten Zeitraum ohne Art („Herbst 2026“, VA-261010-semesterzeiten), heißt der Vorschlag so und trägt seinen Namen ins Feld „Name“, die Art bleibt leer; ein selbst getippter Name bleibt dabei stehen. Art oder Name muss da sein. Ein Semester ohne Namen heißt wie bisher „3. Semester (Winter)“, eines mit Namen heißt, wie sein Name sagt (semesteranzeige in @shared); in der Tabelle steht der Name in eigener Spalte, die Spalte „Typ“ bleibt leer, wo es keine Art gibt. Alte Semester ändern sich nicht.
Geteilte Zeilen (NB10, N310, ab 27.09.2026)
Eine Zeile, die einem anderen Konto gehört und diesem freigegeben ist, trägt hinter dem Namen still das Zeichen „geteilt" und den Namen des Eigentümers — „Stochastik ⅄ Kai", gedämpft wie eine Auskunft. Der Server schickt dafür je Zeile das Feld foreign_owner (null für eigene, sonst Anzeigename oder Benutzername); DataTable und DataBoard setzen die Fremdmarke von selbst an die erste Spalte. Sie steht deshalb in den Tabellen und Kacheln von Semestern, Modulen, Kategorien, Karten und der ungegliederten Themenliste.
Bewegung (BW-261007-listen, Guide §11.2): Eine neue oder gelöschte Prüfungskarte wächst aus 96 % oder schrumpft dorthin, die übrigen Karten gleiten nach. Eine Modulgruppe der Themengliederung klappt mit der Feder der Liste auf und zu (Ausklapp), statt mit fester Dauer. Bei der Bewegungsstufe „aus“ steht alles sofort an seinem Platz.
Bewegung im Lerndurchgang (BW-261007-lerndurchgang): Die Antwort klappt mit der Feder der Liste auf, ohne darauf zu warten, dass „Antwort zeigen“ verblasst. Die bewertete Karte geht in die Richtung ihrer Bewertung — „Nochmal“ und „Schwer“ nach links, „Gut“ und „Leicht“ nach rechts —, während die nächste schon darunter liegt und aus 96 % heraufwächst. Beides läuft zugleich; die gehende Karte nimmt keine Klicks mehr an, die nächste ist sofort bedienbar, auch über die Tasten.
Der Durchgang hält seine Höhe (F-261007-layout-springt, Christian am 08.10.2026): Er wächst mit der aufgedeckten Karte und schrumpft bis zum Ende des Stapels nicht mehr. Vorher sprang am Telefon nach jeder Bewertung alles darunter — der Verlauf „Wie es läuft“ um rund 700 px — zurück ins Bild. Bei einer kurzen Karte nach einer langen bleibt unten Platz; ein neuer Stapel oder sein Ende gibt die Höhe frei.
Das Ende des Stapels ist ein Erfolgsmoment (D-261008-erfolgsmomente, 10.10.2026): Nach der letzten Bewertung meldet der Lerndurchgang „Runde gelernt“, und ein Gast bekommt danach die Bitte, ein Konto anzulegen — nie davor (flashcards.md, 00-rahmen.md „Die Bitte nach einem Erfolg“).
Vor dem Zeichen steht eine Umbruchstelle, und die Namensspalte der drei Modulansichten ist mindestens 10ch breit: Bei schmaler Spalte brach der Name sonst mitten im Wort („Stochasti / k", gesehen am 27.09.2026).
Unter der Tabelle steht, sobald eine fremde Zeile sichtbar ist, der Satz „Alles, was andere dir freigegeben haben, steht gesammelt unter Mit mir geteilt" mit dem Verweis auf den Briefkasten (geteilt.md, N366). Wem nichts geteilt ist, sieht ihn nicht.
Zeichen (N134, ab 23.09.2026)
Christians Wunsch vom 23.09.2026 — „Das mit den Icons funktioniert übrigens super und ich will, dass das überall in Denotato so umgesetzt wird" — gilt seitdem auch hier. Die Regel ist dieselbe wie überall: das Wort bleibt, das Zeichen steht links davon, stumm, und trägt die Farbe; das Wort bleibt neutral. Wo vorher nur eine Farbe oder eine Kante etwas sagte, steht jetzt ein Zeichen oder ein Wort dazu. Alle Zeichen kommen aus der Registry; die Zuordnungen stehen als Daten in study/client/ansichten.ts und HeuteFachlich.tsx, und study/client/zeichen.test.ts weist nach, dass jeder Wert eines hat und dass es jedes genannte Zeichen gibt.
- Die acht Abschnittsreiter tragen alle eines (Guide §7.3 — alle oder keiner): Heute
zeit, Semesterkalender, Modulestapel, Themenraute, Kategorienkacheln(nach Fach geordnet — nichtschublade, das heißt „eine Seitenleiste öffnet sich"), Lernenkarte, Prüfungenpruefung, Interessenkristall(wie das Briefing — nichtstern, der heißt Himmel). - Die Ansichtsreiter ebenso: die Tabellen
tabelle(seit N406; vorheruebersicht), „Laufend"laeuft, „Nach Stand"tafel, die Bäumebaum, „Offen" bei den Themenklemmbrett. Über dem Interessenbaum: Baumbaum, Bewertenwichtig— dieselbe Fahne wie bei den Bewertungen der Persönlichkeiten, nichtkacheln: das Reiterwort heißt „Bewerten", und Sterne sind für eine Bewertung nach Guide §7.5 verboten. - Der Modulstatus steht in Pille, Tafelspalte und Gruppenkopf mit Zeichen: unbekannt
frage, gelerntkarte, läuftlaeuft, bestandenerledigt. Die Tafel „Nach Stand" führt die Statusspalte dafür mit — ohne sie hätten die Spaltenköpfe kein Zeichen. Über dem Brett steht seit dem 30.09.2026 die Ordnungsleiste wie über jedem Brett in Denotato (E02, 00-rahmen.md): sortieren, die Spalten nach einem anderen Feld bilden oder „ohne Gruppen“ als Kacheln — gemerkt je Ansicht. - „Läuft“ rechnet der Server aus dem Semester (N307, F29): Ein Modul läuft, solange sein Semester läuft, beide Grenzen eingeschlossen; ein gespeicherter Stand übersteuert das nicht. Die übrigen Stände gelten nur außerhalb des laufenden Semesters. Der Leersatz von „Laufend“ nennt genau diese Regel: „Gerade läuft kein Modul. Ein Modul läuft, solange sein Semester läuft — dafür braucht das Semester Anfang und Ende.“
- „Heute": eine Ausnahme am Termin trägt ihr Zeichen — fällt aus
blockiert(rot), verlegtverlegt(gelb; seit E12, bis dahin geliehenweiter), Zusatzterminneu(blau). Das Wort daneben ist nicht mehr rot. - Fristen (Guide §7.6: ein Zeichen nur für „heute" und „überfällig", nie an jedem Datum): In der Prüfungsliste steht an einer Karte, die in 14 Tagen oder früher dran ist, das Wort („heute", „noch 3 Tage") neben dem Namen — vorher sagte das nur der rote Rand —, und am Prüfungstag das Zeichen
faellig. Im Vorschlagskasten trägt die Prüfung von heutefaellig; die rote Kante ab drei Tagen hat ihr Wort vorn im Satz („morgen", „in 3 Tagen"). An der Übungsblattkachel stehenfaelligbzw.ueberfaelligvor dem Fristsatz, der kräftig, aber nicht mehr rot ist. - Zulassung und Notenspiegel: „zugelassen"
erledigt(grün), „Reicht rechnerisch nicht mehr" und „Nicht mehr erreichbar"blockiert(rot), die Lücke „ohne Kreditpunkte"warnung(gelb), ein Fehlerwarnung(rot) — nichtfehler: der Käfer ist die Art eines Vorgangs in/admin, keine fehlgeschlagene Anfrage hier. - Lernmodus: die drei Richtungen Vorwärts
weiter, Rückwärtsumkehr, Gemischtmischen(seit E12; bis dahin geliehensortieren). Den Zeichennamen liefert seit dem 10.10.2026study/shared/lernrichtung.tsselbst (zeichen), das Wort ist nackt; die Oberfläche zeichnet (ES-261009-gezeichnete-zeichen). - Interessen: der Fehler in der Kopfleiste trägt
warnung, nichtfehler— derselbe Käfer-Grund wie oben; „könnten unterteilt werden" und die Marke „Lohnt sich" im Knotenblatt tragenidee(gelb); der Punkt eines Unterpunkts im Knotenblatt istrautestatt „◆"; von den drei Graphwerkzeugen trägt nur „Wieder mittig" ein Zeichen (zielkreuzstatt „⌖") — „Näher heran" und „Weiter weg" behalten vorerst ihre Schriftglyphen „+" und „−", weilanlegenundteilweiseetwas anderes heißen und es keinvergroessern/verkleinernin der Registry gibt (siehe „Was fehlt"); im Bewertungsdurchgang stehenbaumstatt „🌳",uebersichtstatt „🗂️" für „Alle Gebiete" — nichtschublade, das heißt „eine Seitenleiste öffnet sich" — undweiterstatt „›" am Knopf „3 ›". Die Symbole der Gebiete bleiben, was der Nutzer gewählt hat. - Die Spalte „✓" im Themenbaum heißt jetzt „Erledigt": ein Spaltenkopf kann kein Zeichen tragen, und eine Glyphe ist keins.
Heute als Kacheln (ab 27.10.2026, E-261022-startseite-studium)
Seit Christians Rückmeldung 2f2f2088 („Übersicht muss besser werden“) und seiner Wahl im Musterbogen S3, Möglichkeit A, steht „Heute“ von oben nach unten so: vorn die nächste Prüfung als führende Karte mit Abstand, Wochentag und „Öffnen“ (zu /study?a=exams&id=…), ohne fällige Prüfung fehlt sie. Darunter drei Zahlkacheln: Karten mit „davon n neu“ (Warnfarbe, wenn welche warten), Abgaben mit der nächsten Frist (Warnfarbe ab einem Tag) und Termine heute ohne Ausfälle. Dann der Tag: der Tagessatz und eine Zeitliste, in der Lernzeiten zu ihrer Uhrzeit zwischen den Veranstaltungen stehen, rechts „Mitschrift“ oder „kein Stoff“; ein Tipp klappt die Einzelheiten auf, die der Abschnitt unten beschreibt. Zuletzt die laufenden Module als kompakte Modulkarten (Schalter compact an Modulkarten) mit Kappe, Name, Fortschritt und einer Pille — „n fällig“, sonst die nächste Abgabe, sonst das Zustandswort —, das dringlichste vorn; „Lernen“ führt zu /flashcards?modul=<id>, der Name öffnet das Modul. Die Wörter der Veranstaltungsarten (EVENT_KIND_WORDS) liegen in @shared und gelten hier wie im Veranstaltungsformular.
Heute — der Themenstand vor der Vorlesung (BE22, ab 22.09.2026)
Der Unterschied zum Briefing ist der Zuschnitt, und er ist der ganze Zweck. Das Briefing auf /dashboard sagt, was heute ansteht — „10:15 Analysis I, HS 2" — und beantwortet damit die Frage, ob man aufstehen muss. Hier steht, worum es geht.
Oben ein Satz über den Tag, darunter je Veranstaltung ein Eintrag, untereinander und getrennt von Haarlinien:
Heute stehen 3 Veranstaltungen an. Zu einer steht noch kein Stoff in Denotato.
┌──────────────────────────────────────────────┐
│ 10:15–11:45 Analysis I Mitschrift anlegen │
│ HS 2 · Gruppe B · Analysis I │
│ Themen 7 von 12 Themen, 58 % │
│ Zuletzt dran Stetigkeit │
│ Als Nächstes Differentialrechnung │
│ Mitschrift Vorlesung 7 (von gestern) │
│ Abgabe Blatt 3 — heute fällig, in │
│ Arbeit │
│ • Mittelwertsatz │
│ • Satz von Rolle │
└──────────────────────────────────────────────┘Je Lehrveranstaltung ein Weg zur Mitschrift (seit 15.10.2026, S-261015-mitschrift-je-termin, Christians Rückmeldung bbae08d3): rechts in der Kopfzeile „Mitschrift anlegen“, und „Mitschrift öffnen“, sobald es die Mitschrift dieses Termins von heute gibt. Anlegen schreibt eine Seite „Analysis I · 15.10.2026“ mit Tag und Modul und öffnet sie im Editor — derselbe Weg wie Material › Mitschriften (Anschluss material, mitschriftseite) und derselbe Titel wie die Karte des Begleiters bei Vorlesungsbeginn (@shared/handlers/stundenplan/mitschrifttitel.ts), so finden beide die Seite des anderen. Als Mitschrift dieses Termins gilt zuerst die mit seinem Titel, sonst eine des Moduls mit dem Datum des Tages (terminmitschrift); die Antwort von /api/study/today trägt sie je Termin als mitschriftHeute. An Sport-, Arbeits- und Lernblöcken und an einem Ausfall steht kein Knopf, ohne Material oder Dokumente auch nicht.
Zwei bis drei Merkpunkte, nie mehr. Sie kommen aus den Aspekten des nächsten offenen Themas; hat es keine, aus seinen Unterthemen; hat es auch die nicht, aus dem zuletzt abgehakten Thema. Der Themenname selbst steht ausdrücklich nicht als Notnagel dabei — er steht zwei Zeilen darüber als „Als Nächstes", und derselbe Text zweimal ist Füllung.
Der Schirm sagt immer, warum nichts dasteht. Abgeschalteter Stundenplan, freier Tag (BE13) und Tag ohne Vorlesung sehen alle drei nach einer leeren Liste aus und sind drei verschiedene Antworten; der Satz oben nennt die richtige. Und je Kachel steht die erste Lücke in der Kette — kein Modul, keine Themen, keine Merkpunkte —, weil man sie in dieser Reihenfolge beheben muss.
Eine Liste, kein Kachelraster (seit 10.10.2026, ES-261010-restliche-kartenraster, Guide §15.1): Bis dahin standen die Termine als Kacheln aus Karton nebeneinander, mit einer Schiene am Rand, rot beim Ausfall. Der Tag hat aber eine Reihenfolge, und die ist hier die Aussage — was um zehn ist, steht vor dem, was um zwölf ist —, und Bedienung tragen die Einträge keine. Ein Ausfall nimmt dem Eintrag die Deckkraft; was ausfällt, sagt das rote Zeichen vor dem Wort.
Die Leersätze der Listen (seit 28.09.2026, RL02) nennen nur, was fehlt — „Noch kein Modul.“, „Noch kein Semester — alles Weitere hängt daran.“ —, und darunter steht der Knopf „Erstes … anlegen“, der das Formular hinter „Neu“ aufklappt. Bis dahin verwiesen sie auf „das Formular darüber“, das seit N130 zugeklappt ist; dasselbe galt für To-Dos, Materialien, Personen und Leben. Die Interessen haben keinen Knopf im Leerzustand und nennen „Neu“.
Ein vorlesungsfreier Tag nimmt nur die Lehre (seit 23.09.2026, Bens Entscheidung E2): Vorlesung, Übung, Seminar, Praktikum und Tutorium entfallen, Sport, Arbeit, Lernen und Sonstiges stehen weiter als Eintrag da — gerechnet von derselben Regel wie im Wochenraster (entfaelltAnFreiemTag, @shared/types/stundenplan.ts). Der Satz oben hält beides auseinander: Eine Lehrveranstaltung steht an einem vorlesungsfreien Tag nur als ausdrücklicher Zusatztermin, alles andere ist „ein anderer Termin" — „Heute ist frei (Weihnachtspause) — keine Lehrveranstaltung, ein anderer Termin bleibt." Bis dahin hieß dort jeder Eintrag Zusatztermin, auch die Sporteinheit.
Ein Feiertag nimmt alles (seit 23.09.2026, C37, Christians Entscheidung N149). Dort steht nur noch, was jemand ausdrücklich für den Tag eingetragen hat, und deshalb heißt dort jeder Eintrag wieder Zusatztermin, auch der Sport: „Heute ist frei (Tag der Einheit) — bis auf einen Zusatztermin." Dafür trägt die Antwort von /api/study/today neben freierTag die freierTagArt (feiertag, vorlesungsfrei, null ohne freien Tag); ein älterer Dienst ohne das Feld gilt dem Schirm als vorlesungsfrei. Welche Art ein freier Tag hat, stellt man im Stundenplan ein, im Fach „Freie Tage".
An einem Sport-, Arbeits- oder Lernblock steht keine Lücke. Dort gehört kein Modul hin; „Kein Modul hinterlegt" unter dem Schwimmtraining wäre eine Meldung ohne Handlung und entwertete die echten daneben.
Gerechnet wird in study/shared/heutefachlich.ts (45 Prüfungen), gezeigt in study/client/HeuteFachlich.tsx (9 Prüfungen); der Tag kommt aus der Zeitschicht des Schirms und nicht aus dem Datum des Servers (Grundsatz 54).
„Heute" ist die Vorgabe (seit 14.10.2026, KN-261014-studium-heute, Befund B4 aus docs/kern/befunde.md, Christians Wahl A). Bis dahin landete /study ohne ?a= bei den Modulen — der Ablage statt des Tages —, und „Heute“ las nur den Stundenplan, nicht die nahe Klausur und nicht die wartenden Karten.
Über den Veranstaltungen steht die Lage des Studiums, eine Zeile je Sache, mit einem Weg rechts:
Klausur Analysis II in 3 Tagen Öffnen
12 Karten warten, davon 4 neu. Lernen
Blatt 4 · Lineare Algebra, Abgabe heute ÖffnenErst die Prüfungen (außer Abgaben) von heute bis in 14 Tagen, dann die wartenden Karten — Wiederholungen und neue Karten bis zum Rest des Tagesbudgets, gezählt von kartenwarteschlange wie in den Karteikarten (KN-261015-lernen-ort); „Lernen“ führt nach /flashcards —, dann die Blätter, die noch nicht abgegeben sind, im selben Zeitraum — was ein Datum hat, vor dem, was nur einen Tag hat. Die Lage steht auch an einem Tag ohne Stundenplan da: Die Klausur steht nicht im Stundenplan. Ist nichts davon da, steht keine Zeile.
Dieselbe Quelle wie die Lage der Übersicht. Gerechnet wird in study/server/lage.ts (studienlage), dem Bereich, dem die Tabellen gehören; die Übersicht fragt über den Anschluss studium.lage und übernimmt mit studienteil (@shared/types/uebersicht.ts) Karten und nächste Prüfung. Bis dahin zählte sie beides in dashboard/server/uebersicht.ts selbst. Den Satz bildet lagezeilen in study/shared/heutefachlich.ts; der Nachweis „beide zeigen dieselben Zahlen“ steht in HeuteFachlich.test.tsx.
Die Themen — gegliedert (E07, ab 21.09.2026; wählbar ab 22.09.2026)
337 Themen lagen hier als eine Tabelle. Eingerückt, weil ein Thema unter einem anderen hängen kann, aber ohne eine einzige Überschrift dazwischen — genau das, wogegen philosophie.md §14 geschrieben ist.
Jetzt steht über der Tabelle eine Zeile je Modul:
Gliedern nach: [ Modul ] [ Fach ] [ Stand ]
337 Themen in 19 Gruppen — eine ist offen.
▾ Analysis I 42 Themen · 17 offen ▓▓▓▓▓▓░░░░
└ die Tabelle mit dem Themenbaum dieses Moduls
▸ Lineare Algebra I 31 Themen · 4 offen ▓▓▓▓▓▓▓▓▓░
▸ Stochastik 8 Themen · alle abgeschlossen ▓▓▓▓▓▓▓▓▓▓
…
▸ Ohne Modul 6 Themen · 6 offen ░░░░░░░░░░- Drei Ordnungen zur Wahl (ab 22.09.2026): Modul (Vorgabe), Fach und Stand (offen / abgeschlossen). Alle drei stehen schon in den Daten — es ist keine zweite Gliederung neben der, die es gibt, sondern dieselbe aus einem anderen Blickwinkel.
- „Offen" steht vor „Fertig gelernt" (N381). Alphabetisch wäre es umgekehrt; gesucht wird aber, was noch zu tun ist.
- Die Wahl wird gemerkt, und zwar im Konto, in
Ansichtszustand.gruppierungder Ansichttopics-tree— demselben Schlüssel, in dem jede andere Liste ihre Gruppierung merkt. Er war bei einer Baumansicht bisher leer, weilDataTabledie Gruppierung dort abschaltet; genau deshalb ist er frei. - Die offene Gruppe steht in der Adresse, als
g.topics-tree=<id>(g.topics-tree=__zu__heißt „alle zu"). Sie ist dasselbe wie?id=und?a=: eine Angabe, wo man ist — zeigbar, und sie überlebt den Wechsel zu „Module" und zurück, weil die Abschnittsleiste die Adresse fortschreibt statt sie neu zu schreiben. - Ein Umschalten klappt alles neu auf. Eine andere Ordnung hat andere Gruppen; die offene von vorhin gibt es darin nicht, und stehen bleiben darf nichts, was auf nichts zeigt.
- Einer offen, nicht beliebig viele. Wer den zweiten aufklappt, will den ersten nicht mehr sehen; sonst wäre die Rolle wieder so lang wie vorher. Zuklappen geht auch ganz.
- Was zu ist, steht nicht im Baum. Daran hängt die Ladezeit: der Schirm baut die Zeilen eines Moduls auf statt 337.
- Innerhalb einer Gruppe bleibt der Baum ganz. Das Modul ist die äußere Ordnung, „Oberthema" die innere —
DataTableschaltet die Gruppierung bei einer Baumansicht ab, und zwar zu Recht: sie würde Kinder von ihren Eltern trennen. Deshalb sitzt die Gliederung über der Tabelle und nicht in ihr. - Die Suche hebt den Deckel. Wer etwas eingibt, sieht nur noch die Gruppen mit Treffern, und die erste davon ist offen. Sonst wäre ein zugeklapptes Modul eine Suche, die lügt.
- Ein Verweis von anderswo (
?id=…) klappt die Gruppe auf, in der seine Zeile liegt. - Eine Gruppe ist keine Gliederung. Wer sich in ein Modul hineingeklickt hat, sieht die Tabelle wie vorher — ohne eine Überschrift, die dasselbe noch einmal sagt.
- Die Ansicht „Offen" hat das nicht nötig: sie ist keine Baumansicht und gruppiert von sich aus nach Fach.
- Bei einer einzigen Gruppe steht weder Kopf noch Umschalter da. Drei Ordnungen über derselben einen Gruppe sind keine Wahl.
- Die Gruppen sind Zeilen, keine Kästen (seit 10.10.2026, ES-261010-restliche-kartenraster): Jede Gruppe beginnt unter einer Haarlinie, die letzte schließt mit einer; bis dahin stand jede in einem Kasten aus Karton, und die Tabelle darin war eine Karte in der Karte (Guide §15.1).
Der Plan vor einer Prüfung (ab 22.09.2026)
Über der Prüfungsliste steht ein Kasten — aber nur, wenn er etwas zu sagen hat:
2 Prüfungen stehen an, für die noch kein Sprint läuft.
│ Analysis I — Klausur in 3 Tagen, 40 Karten — etwa 10 am Tag,
│ wenn der Sprint heute anfängt. [ Sprint starten ]
│ Stochastik — Klausur in 11 Tagen, 62 Karten — etwa 6 am Tag,
│ wenn der Sprint heute anfängt. [ Sprint starten ]- Vierzehn Tage, dieselben wie überall. Es ist dasselbe Fenster, mit dem die Liste eine Prüfung als dringend markiert und mit dem der Server das Sprintfenster vorbelegt. Eine dritte Zahl wäre eine dritte Meinung darüber, wann „bald" anfängt.
- Der Prüfungstag zählt mit. 40 Karten in 7 Tagen sind 5 am Tag, nicht 6 — wer um neun Uhr schreibt, hat den Morgen noch. Aufgerundet.
- Gezählt wird, was der Sprint spielen kann (seit 24.09.2026, F82): aktive Karten, die nicht ruhen — keine ausgesetzte, keine einer Seite im Papierkorb, keine eines im Editor gelöschten Blocks. Dieselbe Regel gilt für die Kartenzahl und „jetzt fällig" in der Prüfungsliste und für die Kartenzahl je Kategorie. Vorher zählten sie mit, was die Warteschlange nie zeigt, und der Plan verteilte Karten auf Tage, die niemand zu sehen bekam.
- Einer Prüfung gehören die Karten ihres Moduls (seit 13.10.2026, KN-261013-pruefung-zuerst), solange ihr keine Karte eigens zugeordnet ist; dann gelten nur diese. Liste, Sprint, Warteschlange und der Anstoß „Lücke im Stoff“ lesen dieselbe Regel (
study/server/pruefungskarten.ts). - Vier Sätze, und drei davon sind keine Aufforderung zum Sprint: die Prüfung ohne Karten („ein Sprint hätte nichts zu zeigen"), die Prüfung ohne Termin („ohne ihn fängt kein Plan an, und ein Sprint endet nicht von selbst") und die vergangene Prüfung mit stehengebliebenen Sprintmarken. Nur die letzte hat einen Knopf. Die Prüfung ohne Karten trägt seit dem 13.10.2026 den Verweis „Karten anlegen“: Er öffnet das Anlegefach der Karten mit ihrem Modul vorbelegt (
?a=cards&neu&modul=). Ein Verweis und kein Knopf, weil er nur hinführt. - Drei Tage sind die Grenze zum Drängen (Guide §7.6): davor die ruhige Kante, ab dann die rote. Das Wort dazu steht vorn im Satz („morgen", „in 3 Tagen"); am Prüfungstag steht zusätzlich das Zeichen
faelligvor dem Namen (N134). - Er schweigt vollständig. Kein „keine Vorschläge", keine leere Überschrift — wer nichts zu sagen hat, steht nicht da.
- Er rechnet nicht mehr, als er weiß. Ein Plan, der Themen auf Tage verteilt und Pausen einlegt, bräuchte Daten, die es nicht gibt (wie lange eine Karte dauert, wann jemand Zeit hat), und wäre damit eine Behauptung statt einer Auskunft.
- Gerechnet wird mit
days_untilvom Server, nicht mit einem Datum aus dem Browser: sonst zählte der Kasten in der Zeitzone des Geräts und die Liste darunter in der des Servers. days_untilsind Kalendertage in der Zone des Kontos,(exam_date::date - CURRENT_DATE)— dieselbe Rechnung wie in der Lage und im Briefing (V03, 26.09.2026). Bis dahin stand hier nochEXTRACT(DAY FROM exam_date - NOW()), die Zahl voller Vierundzwanzig-Stunden-Blöcke: Um 18 Uhr gemessen, stand eine Klausur morgen um 9 Uhr bei „0 Tagen" und eine in sieben Tagen bei 6.- Übungsblätter (
kind = abgabe) kommen darin nicht vor; sie haben keinen Sprint und ihre eigene Rechnung weiter oben.
Lernblöcke, wenn keine Lernzeit plant (seit 07.10.2026, KI-261007-planen-vorschlaege)
Wer die Prüfungen liest oder eine speichert, stößt den Begleiter an: Für jede eigene Klausur oder mündliche Prüfung im Sprintfenster, die keine Lernzeit plant, liegt eine Karte „Lernblöcke“ bereit (höchstens zwei je Lauf, beim Lesen einmal am Tag). „Keine Lernzeit plant“ heißt: Die Lernzeit des Stundenplans ist aus, der Stundenplan fehlt, oder die Prüfung hängt an keinem Modul — die Lernzeit plant nur nach Modul. Die Blöcke tragen die offenen Themen des Moduls. Was die Karte tut, steht in begleiter.md.
Der Lernmodus
Die Bewertungsknöpfe zeigen das jeweils resultierende Intervall an. Ohne diese Angabe ist die Selbsteinschätzung ein Blindflug: „Gut" und „Einfach" fühlen sich gleich an, bedeuten aber vier Tage oder zwei Wochen.
Vier Stufen: Nochmal · Schwer · Gut · Einfach, mit den Zifferntasten 1–4 am Knopf selbst — ein Kurzbefehl, den niemand sieht, ist keiner. Leertaste dreht die Karte um.
Daneben steht die Richtung — seit dem 22.09.2026 mit drei Stellungen statt einem Schalter:
Betriebsart: [ Fällig ] [ Üben ] [ Sprint ]
Richtung: [ › Vorwärts ] [ ↺ Rückwärts ] [ ⇅ Gemischt ]Die drei Richtungen tragen seit dem 23.09.2026 je ein Zeichen aus der Registry — weiter, umkehr und seit E12 (30.09.2026) mischen statt des geliehenen sortieren (N134); die Pfeile oben sind nur die Skizze dafür. Vorher stand vor „Rückwärts" und „Gemischt" eine Schriftglyphe und vor „Vorwärts" nichts.
Rückwärts (ab 21.09.2026) dreht die Karte: die Antwort steht vorn, gefragt ist die Frage. „Ableitung von sin" → „cos" kann man auswendig, ohne „cos" → „Ableitung von sin" zu können; wer nur eine Richtung übt, weiß hinterher nicht, welche.
Gemischt (ab 22.09.2026) gibt jeder Karte des Stapels ihre eigene Richtung. Gekonnt hat man eine Karte erst, wenn beide Seiten sitzen — und das merkt nur, wer sie nicht sortiert bekommt.
- Es ist keine vierte Betriebsart. Die Richtung schließt „Fällig", „Üben" und „Sprint" nicht aus, sondern dreht sie um. Deshalb zwei benannte Gruppen (
role="group") statt sechs gleich aussehender Knöpfe in einer Reihe, undaria-pressedan jedem. Seit dem 28.09.2026 steht jede Gruppe als Segmente in einer Kapsel (Segmentwahl, abgeleitet aus N400); ohne eine einzige Karte fehlen beide Gruppen, der Lern-Timer und die Zahlen darüber (flashcards.md). - Gemischt wird gerechnet, nicht gewürfelt. Die Richtung hängt an der Kennung der Karte und an einer Saat, die einmal je Stapel gezogen wird: im Stapel steht sie fest, beim nächsten Stapel wird neu gemischt. Ein Würfel beim Zeichnen drehte die Karte beim Aufdecken.
- Die Kopfzeile sagt, wie herum diese Karte läuft (
· rückwärts) — am Text ist es nicht immer zu erkennen, „cos" kann Frage oder Antwort sein. Am Knopf „Gemischt" steht, wie viele des Stapels rückwärts kommen. - Bewertet wird dieselbe Karte. Ein eigener Terminplan je Richtung wäre das Richtige und braucht eine zweite Zeile in der Datenbank (Bauplan D2). Bis dahin steht es am Knopf.
- Eine Karte ohne Antwort läuft vorwärts weiter, in jeder Stellung, und die Kopfzeile sagt warum. Sonst stünde „(keine Antwort hinterlegt)" als Frage da.
- Der Hinweis entfällt rückwärts. Er zeigt auf die Antwort, und die steht dann schon da.
Der Kasten „Lernzeit" (NB06, N328, ab 27.09.2026)
Unter der Modulliste im Reiter „Lernen" (bis 16.10.2026: unter dem Lerndurchgang) steht, was der Lern-Timer gezählt hat. Christian hat am 27.09.2026 Ort und Umfang gewählt: hier, nicht in einem eigenen Schirm und nicht in der Übersicht.
LERNZEIT 1 Std. 25 Min.
in den letzten sieben Tagen · 3 Blöcke
▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ ▁ █ ▁ ▁ ▅ ← vierzehn Lerntage, heute rechts
M D M D F S S M D M D F S S
So., 27.09., 09:00 25 von 25 Min.
Sa., 26.09., 09:00 [verworfen] 60 von 25 Min.- Vierzehn Balken, einer je Lerntag, heute rechts und fett beschriftet. Der Lerntag ist der des Servers (Antwortfeld
heute) — er beginnt zur Stunde aus dem Konto und nicht um Mitternacht, und der Schirm rechnet ihn nicht selbst nach. Jeder Balken trägt als Titel den Tag und die Dauer („Fr., 25.09.: 1 Std."). - Ein kurzer Tag ist kein voller Balken. Gemessen wird an der längsten Dauer der vierzehn Tage, aber nie an weniger als einer Stunde (
LERNZEIT_MASS_MINUTEN). Sonst sähe ein einziger Block von drei Minuten aus wie ein geschaffter Tag. - Die Summe sind die letzten sieben Lerntage, heute eingeschlossen — nicht die Kalenderwoche, sonst stünde am Montagmorgen eine Null.
- Die letzten fünf beendeten Blöcke stehen darunter, mit Beginn, der gelaufenen und der vorgenommenen Zeit. Ein verworfener trägt das Plättchen „verworfen" und zählt in keiner Zahl. Der offene Block steht nicht in der Liste — ihn zeigt die Leiste.
- Ein Block, der auf die Antwort wartet, wie er zählen soll (liegengeblieben, 00-rahmen.md), steht in keiner Zahl; ein Satz darunter sagt das, statt die Summe still kleiner zu machen.
- Leer sagt er „Noch kein Lernblock in den letzten vierzehn Tagen." und zeichnet die leeren Balken, aber keine Summe und keine Liste.
- Er holt neu, sobald die Leiste einen Block schließt — über
timer/client/blockstand.ts, denselben Stand, an dem der Knopf „Lern-Timer" hängt. - Lautstärke 2: Balken und Zahlen, keine Serie, kein Lob für einen langen Tag.
Den Kasten liefert der Timer über seinen Anschluss (ANSCHLUESSE.timer?.Verlauf, timer/client/Lernzeit.tsx, gerechnet in timer/client/lernzeit.ts); Studienmenue.tsx stellt ihn nur hin und kennt weder Anfrage noch Rechnung — verify:timer hält das fest. Ist der Timer abgeschaltet (Schalter „Lern-Timer", Merkmal TIMER), fehlt der Kasten und fragt nichts. Daten: POST /api/timer/verlauf mit tage: 14, dieselbe Antwort wie das MCP-Werkzeug timer_verlauf; die Summe je Tag zählt nach dem gespeicherten Lerntag jeder Zeile.
Angesehen am 27.09.2026 am Desktop und am Telefon, hell und dunkel, leer und mit Blöcken (.blick-Läufe lernzeit-leer, lernzeit-voll).
Der Interessengraph
Gezeichnet, nicht eingerückt. 21 Hauptgebiete auf dem ersten Ring, ihre Unterpunkte auf dem nächsten, jeder bekommt seinen Sektor von dem, an dem er hängt. Eine eingerückte Liste stellt 846 Zeilen untereinander; hier zeigt die Kante.
- Die Farbe gehört dem Gebiet, nicht dem Punkt. Alles unter „Musik" ist Musikfarben — man sieht auf einen Blick, wie viel eines Gebiets aufgeklappt ist. Am Tag malt der Graph — Ring, Kreis, Kante — die Gebietsfarbe abgedunkelt, ebenso Knotenblatt, Bewertungsleiste und Bewertungsdurchgang (E11, N345, seit 29.09.2026; Guide §3.6); gespeichert bleibt der gewählte Wert.
- Was unbewertet ist, ist hohl. Ein gestrichelter Ring statt einer Fläche; je höher die Bewertung, desto dichter die Füllung. Damit beantwortet der Graph die Frage, um die es geht — wo ist noch nichts entschieden — ohne dass irgendwo eine Zahl steht.
- Gezeichnet wird nur, was aufgeklappt ist.
- Die Kante trägt das Gewicht ihres Astes. Je mehr an einem Punkt hängt, desto dicker der Strich zu ihm, logarithmisch. Der Maßstab ist das schwerste Gebiet, nicht der ganze Baum (
schwersterAst, V02, 26.09.2026) — mit dem ganzen Baum als Maßstab sahen bei 846 Knoten alle Speichen gleich dünn aus. - Der Hinweis zum Heranholen hängt am Zeiger. Mit Maus nennt er das Mausrad, auf einem Berührschirm (
pointer: coarse) die zwei Finger. - Die Namen stehen im Bild (F101, 27.09.2026). Beim Einpassen zählt jede Beschriftung mit, nicht nur ihr Punkt:
beschriftungsreichweitemisst, wie weit ein radialer Name in Richtung des quadratischen Rahmens reicht, bei 0,55 Schriftgrößen je Zeichen (ZEICHENBREITE). Vorher stand um den äußersten Ring ein geratener Schriftraum von 160 Einheiten, und die Gebietsnamen liefen links, rechts und oben über den Rand. Der Preis: Das eingepasste Bild ist rund ein Fünftel kleiner als vorher. - Heranholen gibt Buchstaben frei (F102, 27.09.2026). Die Schrift wächst mit dem Bild nur, bis sie auf dem Schirm ihre Grundgröße erreicht — 15 Bildpunkte für ein Gebiet, 12 darunter (
schriftfaktor). Wer weiter heranholt, bekommt Platz um die Namen: Ein zugeklapptes Gebiet trägt bei voller Schrift 22 Zeichen, bei halber 44, und der dichte äußere Ring bekommt seine Namen, sobald eine Zeile zwischen die Nachbarn passt. Die Schriftgröße hängt als--schriftan der Zoomgruppe und läuft stufenlos; wie viele Zeichen ein Name trägt, springt in Viertelstufen einer Verdopplung (vergroesserungsstufe), damit nicht jeder Radschritt 846 Knoten neu baut. Bei „Alles zeigen" steht die Schrift noch unter ihrer Grundgröße — dort bleibt ein zugeklapptes „Gesellschaft, Politik…" bei 22 Zeichen; ganz steht es (29 Zeichen), sobald--schriftunter drei Viertel fällt. - Aufgeklappt liegt der Name quer (E09, N415, 29.09.2026). Radial lief der Name eines aufgeklappten Gebiets auf den Ring seiner Kinder zu und wurde auf zwölf Zeichen gekürzt — genau in dem Augenblick, in dem man ihn ansieht („Sprachen un…"). Jetzt steht er tangential zwischen Knoten und Kinderring, gedreht so, dass er von links nach rechts liest, und gekürzt wird nach dem Bogen, den der Sektor in diesem Abstand hat (neun Zehntel davon, bei 0,55 Schriftgrößen je Zeichen). Trägt der Bogen weniger als der radiale Weg — wenn sich viele aufgeklappte Gebiete den Kreis teilen —, bleibt es radial bei zwölf. Der quer liegende Name hat einen Hof in der Grundfarbe, weil er über die Kanten zu den Kindern läuft. Ob beschriftet wird, entscheidet weiter
platz; es stehen also nicht weniger Namen da.
Das Knotenblatt steht rechts, sobald man einen Knoten anklickt: Name, Beschreibung, Bewertung, der Weg von oben — und seit dem 22.09.2026 zwei Dinge mehr.
- „Hängt zusammen mit …" — derselbe Kasten wie an der Modulzeile (Q02), nur an einem Interesse. Damit hängt der Baum zum ersten Mal an etwas: Ein Punkt lässt sich mit einem Dokument, einem To-Do, einem Modul oder einem anderen Interesse verbinden, und die Verbindung steht auf beiden Seiten. Gekostet hat das keine Zeile in der Datenbank —
personal.linksführt die Art als Text und nicht alsenum, genau für diesen Fall. - Der Satz unter dem Farbfeld sagt, wem die Farbe gehört. An einem Hauptgebiet: dass sie für alles darunter gilt und dass das Zeichen — anders als die Farbe — nicht vererbt wird. An einem Unterpunkt: dass sie dem Gebiet darüber gehört, und welchem, mit Namen. Vorher stand an einem Unterpunkt einfach kein Farbfeld, und niemand erfuhr warum.
- „löschen" fragt (seit dem 23.09.2026, Q09, N165). Der Knoten geht hart aus
study.interests, ohne Papierkorb; bis dahin genügte ein Klick. Jetzt wird „löschen" zu „ja, endgültig" und „doch nicht", und der Hinweis am zweiten Knopf nennt „abschließen" als schonende Wahl für alle, die ihn nur aus dem Blick haben wollen.
Und der Weg von außen führt hinein. ?id=<kennung> wählt den Knoten aus, klappt seinen ganzen Weg von der Wurzel auf und schaltet auf die Baumansicht. Die Schnellsuche schickt diese Adresse seit dem 17.09.2026 — bis zum 22.09.2026 sah der Baum sie nicht an, und man landete auf einem zugeklappten Graphen ohne Hinweis, wo der Treffer steckt. Bedient wird jede Kennung genau einmal: Ein Nachladen der Daten reißt die Auswahl nicht dorthin zurück.
Was man tun kann
Reiter ordnen (OE10, N500): Wer Vorgaben für alle setzen darf, ordnet und blendet die Reiter über „Bearbeiten“ im Kopf; die Folge steht in oberflaeche.reiter unter study, Ansichten je Abschnitt study/<abschnitt> (Rahmen §3).
| Element | Wo | Was passiert |
|---|---|---|
| Anlegefach | je Abschnitt außer „Heute" | eigenes Formular |
| Reiter „Heute" | Abschnittsleiste | zeigt den Themenstand je Veranstaltung des Tages |
| Mitschrift anlegen / öffnen | Kopfzeile jeder Lehrveranstaltung unter „Heute" | legt die Seite der Mitschrift mit Titel, Tag und Modul an oder öffnet die vorhandene im Editor |
| Zeile anklicken | Tabelle | Editor, oder Sprung in den zugehörigen Abschnitt |
| Gruppenkopf anklicken | Themenbaum | klappt diese Gruppe auf — eine ist offen, ein zweiter Klick schließt sie; die offene steht als g.topics-tree in der Adresse |
| Modul / Fach / Stand | über dem Themenbaum | wechselt die Gliederung; die Wahl wird im Konto gemerkt |
| Freigeben | Semester, Module, Themen, Kategorien | teilt die Ressource (eine Stufe weit, N56) — mit Personensuche und einer Rolle: Betrachter liest, Bearbeiter schreibt; die Rolle lässt sich umstellen, ohne zurückzunehmen. Dieselben Namen wie beim Teilen einer Seite, die dazu den Mitverwalter kennt (W21, N214) |
| Lernen | Karten, je Modul | öffnet die Karteikarten, gefiltert auf das Modul |
| 1 – 4 | Lernmodus | Nochmal / Schwer / Gut / Einfach |
| Leertaste | Lernmodus | Karte umdrehen |
| Rückwärts | Lernmodus | Antwort vorn, Frage gefragt — dieselbe Karte, dieselbe Bewertung |
| Gemischt | Lernmodus | jede Karte des Stapels mit eigener Richtung; im Stapel fest, beim nächsten neu |
| Knoten anklicken | Graph | klappt auf, stellt ihn in die Mitte |
| Näher heran / Weiter weg / Wieder mittig | Graph | Zoom und Rücksprung |
| Symbol und Farbe ändern | Knotenblatt | eigene Darstellung je Gebiet; an einem Unterpunkt steht statt der Felder der Satz, welchem Gebiet die Farbe gehört |
| löschen | Knotenblatt | zwei Klicks, „ja, endgültig" — kein Papierkorb darunter (seit 23.09.2026, Q09) |
| offen · abgegeben · korrigiert | Übungsblattkachel | setzt den Abgabestand — ein Klick, ohne Formular |
| Punkte / von | Übungsblattkachel | trägt erreichte und mögliche Punkte ein; „Punkte" nur an einem korrigierten Blatt |
| Erklär mir das | Übungsblattkachel, jede Themenzeile, unter der Bewertung der aufgedeckten Karte | der Begleiter erklärt das Blatt, das Thema oder die Karte in einem Fenster; der Server liest die Sache selbst, gezählt wird als freie Frage (KI13, N327; Einzelheiten begleiter.md) |
| Alle auf N setzen | Übungsblattgruppe | füllt die leeren möglichen Punktzahlen mit der im Modul üblichen |
| Modulkopf anklicken | Übungsblattgruppe | klappt die Blätter auf und zu |
| Blätter in einem Zug anlegen | unter den Übungsblättern | klappt das Formular für einen ganzen Abgaberhythmus auf; die Module laden erst dann (BE39) |
| Vorschau | Formular „in einem Zug" | rechnet die Blätter und zeigt sie mit „neu" oder „schon da", schreibt nichts — auch mit der Eingabetaste |
| N Blätter anlegen | Formular „in einem Zug" | legt die neuen Blätter der Vorschau an; frei erst, wenn eine Vorschau zur aktuellen Eingabe dasteht |
| Prüfung anlegen | Formular über der Prüfungsliste | legt eine Prüfung an: Name, Art, Modul, Termin, Anmeldeschluss, Rücktrittsfrist; jedes Feld trägt seine Beschriftung sichtbar darüber, der Termin ist nicht mehr mit heute vorbelegt (BE38) |
| Bearbeiten | an jeder Prüfungskarte | öffnet dasselbe Formular mit den Werten der Prüfung in der Karte; „Speichern" schickt nur, was sich geändert hat, ein geleertes Feld als null; „Abbrechen" schließt ohne zu schreiben (BE38, N314) |
| Sprint starten | Vorschlagskasten Prüfungen | startet den Sprint der genannten Prüfung — derselbe Schalter wie an der Prüfungskarte |
| Sprint beenden | Vorschlagskasten Prüfungen | räumt die Sprintmarken einer vergangenen Prüfung ab |
| Mein Fach fehlt | unter dem Anlegefach Module und Themen | öffnet das Rückmeldeformular als Wunsch mit dem Satzanfang „Mein Fach fehlt in der Liste:“; abschicken lässt es sich erst mit dem Namen des Fachs, die Verwaltung legt es dann an (wie „Meine Hochschule fehlt“) |
| Zulassung ab % | Anlegefach Module | die Zulassungsgrenze des Moduls |
| LP | Anlegefach Module | Kreditpunkte nach ECTS — das Gewicht im Notenschnitt; seit dem 24.09.2026 in halben Punkten (Schritt 0,5, Wanderung 139, N183) |
| Zielschnitt | Notenspiegel | rechnet, was die offenen Module dafür im Schnitt brauchen |
| Alle offenen Punkte auf 0 setzen | Ordner | Massenbewertung |
| Z | Bewertungsdurchgang | zurück zum letzten Knoten |
| Im Baum suchen … | Graph | findet einen Knoten |
| Verknüpfungen | an einer Modulzeile | klappt unter der Zeile auf, woran das Modul hängt (Q02) |
| Noten | an einer Modulzeile | öffnet das Notenfenster des Moduls: Einträge sehen, eine Note von Hand eintragen, einen Eintrag löschen; darunter die Teilleistungen des Moduls (BE20, N288, VA-261010-teilleistungen) |
| Hängt zusammen mit … | Knotenblatt im Graphen | woran das Interesse hängt — Dokument, To-Do, Modul, Interesse (ab 22.09.2026) |
| Verknüpfen | im aufgeklappten Kasten | Suchfeld über alle Bereiche — verbindet das Modul bzw. das Interesse mit einem Dokument, To-Do, Modul oder Interesse |
| × am Chip | im aufgeklappten Kasten | löst die Verknüpfung; beide Sachen bleiben |
Hängt zusammen mit … (Q02, 21.09.2026)
An jeder Modulzeile steht ein Knopf „Verknüpfungen". Er klappt unter der Zeile einen Kasten auf, und darin steht genau eines: woran das Modul hängt — Dokumente, To-Dos. Ein Bearbeitungsformular gehört nicht dazu; das Modul wird oben angelegt und geändert.
Seit dem 22.09.2026 auch die Interessen — im Knotenblatt des Graphen, unter Bewertung und Weg. Das war die Abnahmebedingung des Vorgangs S-study: Der Baum hatte 846 Knoten und keine einzige Kante nach außen. Gekostet hat es keine Wanderung und keinen neuen Endpunkt — personal.links führt art_a/art_b als Text und nicht als enum (Wanderung 69, und genau für diesen Fall so gebaut), und die Art interest reiht sich neben document, task und module.
Seit NV17 (N506) auch die Karteikarten — im Lerndurchgang, unter der aufgedeckten Karte (Einzelheiten: flashcards.md). Das Studium hat keine Kartentabelle, und eine Zeile mit einem Knopf „Verknüpfungen“ gibt es für Karten deshalb nicht.
Semester, Themen und Kategorien haben weiter keinen Kasten, weil sie keinen Anschluss haben — ein Knopf, der einen leeren Kasten öffnet, wäre ein Versprechen ohne Deckung.
Die Verbindung gilt in beide Richtungen und wird einmal gespeichert: Wer sie am Dokument anlegt, findet sie hier wieder, ohne hier etwas getan zu haben.
Scheitert das Laden, Bewerten oder Zurücknehmen einer Karte, bleiben die Knöpfe bedienbar (F28b, 23.09.2026): Lerndurchgang teilt sich für alle drei einen Riegel (useBusyLock) — „1"/„2"/„3"/„4" (Nochmal/Schwer/Gut/Einfach) und „Zurück" gaben vorher bis zum Neuladen nach, wenn die Anfrage warf. Lerneinstellungen setzt denselben Riegel; Studienmenues „Abschließen" ebenso, während sein Ladezustand — er kommt aus useMenuScreen, nicht aus der Komponente selbst — über ein try/finally gesichert ist und nach einem Fehler ebenso zuverlässig endet.
Woher die Daten kommen
/api/study/* — Semester, Module, Themen, Kategorien, Karten, Prüfungen — und /api/interests/*. Der Abschnitt „Heute" hängt an /api/study/today (BE22): ein Aufruf, der den Tag des Schirms mitschickt und alles zurückgibt, was die Kacheln brauchen. Farbe und Zeichen eines Hauptgebiets kommen seit dem 21.09.2026 (A04) aus darstellung.gebiete.<gebiet-id> und nicht mehr aus interest.colors und interest.icons; useInteressendarstellung liest und schreibt seit A28 (24.09.2026) nur noch den einen Schlüssel; die alten Zeilen räumt Migration 127. Am Graphen ändert das nichts — ein Unterpunkt erbt die Farbe seines Gebiets wie zuvor. Dazu LINKS · LINKS_SUCHE · LINKS_ANLEGEN · LINKS_LOESEN für die Verknüpfungen an den Modulzeilen und, seit dem 22.09.2026, am Knotenblatt des Interessengraphen — sie gehören keinem Bereich, sondern dem Gerüst (packages/plugins/src/links/). Welche Titel dort für die Art interest erscheinen und was die Suche findet, steht in study/server/knoten.ts: Der Titel eines Unterpunktes trägt sein Gebiet mit (Naturwissenschaft › Kosmologie), damit ein Chip mit „Analysis" nicht raten lässt, welches gemeint ist; gesucht wird nur in offenen Knoten des eigenen Kontos.
Übungsblätter und Zulassung (BE21, ab 21.09.2026)
Im Abschnitt Prüfungen stehen die Übungsblätter zuoberst, nach Modul gruppiert, und darunter erst die Klausuren. Sie beantworten die Frage, mit der man herkommt — „ich habe 47 von 80 Punkten und brauche 50 %" — und tragen zugleich die Bedienung, mit der sich daran etwas ändert.
Der Gruppenkopf ist der Zulassungsbalken:
Analysis I ▓▓▓▓▓▓░░░░╎░░░ 47 von 61 — noch 14
3 korrigiert, 2 abgegeben, 7 offen
· nächste Frist in 5 TagenDarunter eine Kachel je Blatt — Name, Frist in Tagen, drei Schalter offen · abgegeben · korrigiert, die Punkte als „x von y" und seit dem 27.09.2026 der Knopf „Erklär mir das“ (KI13). Er schickt nur die Kennung des Blatts; der Server liest dazu Name, Modul, Termin, Stand und Punkte über den Anschluss des Studiums (study/server/erklaeren.ts). Das Blatt selbst geht nicht mit — es liegt, wenn überhaupt, als Datei in den Materialien; das Modell sagt dann, wie so ein Blatt anzugehen ist und was der Stand bedeutet. Dieselbe Tür hat jede Zeile der Themen: Name, Fach, Modul und Oberthema, mehr trägt ein Thema nicht.
„Lösung schreiben“ (LX-261019-editor-formulare, H3 A, seit dem 20.10.2026): In derselben Zeile wie „Erklär mir das“ steht, wenn der Bereich LaTeX für das Konto an ist, „Lösung schreiben“ — an einem abgegebenen oder korrigierten Blatt „Lösung öffnen“. Der Knopf öffnet die eigene Lösung des Blatts im LaTeX-Editor oder legt sie an, aus der ersten Vorlage mit einem Feld für das Blatt; der Titel ist Modul und Blatt, ohne das Modul doppelt zu nennen, wenn der Name des Blatts es schon trägt. Im Editor führt „Zurück“ hierher. Geht das nicht, sagt eine Zeile an der Kachel, warum. Das Studium kennt den Editor nur über den Anschluss ANSCHLUESSE.latex.loesung (LATEX_TEXTE_ANLEGEN mit blatt); „Als abgegeben markieren“ im Editor setzt den Stand dieses Blatts und legt das PDF daran ab. Einen Verweis auf das abgegebene PDF zeigt die Kachel noch nicht.
„Abgabe ansehen“ (LX-261020-formular-nachziehen, seit dem 20.10.2026): Liegt am Blatt eine abgegebene Datei — etwa das PDF aus „Als abgegeben markieren“ im LaTeX-Editor —, steht in derselben Zeile „Abgabe ansehen“. Der Knopf holt die Datei aus dem Bereich Dateien und öffnet sie in einem neuen Tab. Blockt der Browser das Fenster oder scheitert das Holen, sagt eine Zeile unter dem Knopf, warum. Die Kennung kommt als abgabe_datei_id mit der Liste der Prüfungen.
Ein Übungsblatt ist eine Prüfung mit kind = abgabe — keine eigene Tabelle, denn die Art gibt es seit der Moodle-Übernahme (assign → abgabe), samt Frist, Modul und Moodle-Kennung. Abgabestand, Punkte und mögliche Punkte hängen am Blatt, die Zulassungsgrenze in Prozent am Modul.
Jedes offene Blatt mit kommender Frist ist zugleich ein To-Do (seit dem 15.10.2026, B7 Weg A, Migration 332). Christian: „To-Dos, aber auch im Studium unter Modul referenziert und auflistbar wenn geklickt.“ Die Datenbank legt die Aufgabe an (Arten Uni und Abgabe, Frist des Blatts) und hält beide im Gleichschritt: Wer das To-Do abhakt, hat das Blatt abgegeben; wer den Haken zurücknimmt, macht ein abgegebenes Blatt wieder offen; ein korrigiertes bleibt korrigiert. Umgekehrt hakt „abgegeben“ oder „korrigiert“ an der Kachel das To-Do ab. Name und Frist des Blatts ziehen nach; wird das Blatt gelöscht, wandert ein offenes To-Do in den Papierkorb. Vergangene Blätter bekommen kein To-Do — sonst stünden nach dem Materialabgleich Dutzende verpasster Fristen da. Die Trigger schreiben nur für das Konto, dem das Blatt gehört; wer ein geteiltes Blatt ändert, legt keine Aufgaben in fremden Listen an.
Drei Dinge, die der Balken sagt und eine Zahl nicht:
| Voller Teil | die Punkte, die schon gutgeschrieben sind |
| Schraffierter Teil | was noch zu holen ist — offene und abgegebene Blätter |
| Senkrechter Strich | die Grenze. Ohne Marke müsste man raten, ob man darüber ist |
„Abgegeben" zählt nicht als erreicht, aber seine Punkte sind noch zu holen. Zwischen Abgabe und Korrektur liegen ein bis zwei Wochen, in denen man weder etwas tun kann noch weiß, wie es steht — und genau dann sieht ein Plan ohne diesen Unterschied so aus, als wäre nichts passiert.
Der Nenner sind alle Blätter, nicht nur die korrigierten. Wer nur mit den korrigierten rechnet, bekommt nach dem ersten Blatt „50 % erreicht, alles gut" und merkt im Februar, dass acht fehlen.
Die nötigen Punkte werden aufgerundet: 50 % von 121 sind 60,5 — wer 60 hat, ist nicht zugelassen. Abrunden wäre die freundlichere Zahl und die falsche.
Reicht es rechnerisch nicht mehr, steht es da — mit dem Zeichen blockiert in Rot und dem Satz „auch mit allen offenen Punkten" (seit dem 23.09.2026 trägt das Zeichen die Farbe, nicht mehr die Schrift). Diese Auskunft ist wertlos, wenn sie erst im Februar erscheint.
Ein Blatt ohne mögliche Punktzahl zählt im Nenner nicht mit, und das sieht man nicht, weil die Rechnung trotzdem eine Zahl ergibt. Also sagt die Gruppe es, samt Knopf „Alle auf 20 setzen" mit der im Modul üblichen Punktzahl. Aus Moodle kommt diese Zahl seit dem 21.09.2026 von selbst mit (mod_assign_get_assignments führt sie als grade).
Nur ein offenes Blatt kann überfällig sein. An einem abgegebenen Blatt mit verstrichener Frist steht „Frist war der 20.10.2026" — es ist erledigt, kein Versäumnis. Eine Warnung, gegen die man nichts tun kann, lernt man zu überlesen, und danach überliest man auch die nächste.
Fertige Module sind zugeklappt, Module mit offenen Blättern aufgeklappt (Guide §15.1: zwölf Blätter mal fünf Module sind sechzig Zeilen und damit keine Übersicht mehr).
Module ohne Zulassungsgrenze kommen vor — ohne Balken, mit dem Hinweis, wo man die Grenze einträgt. Ihre Blätter brauchen genauso einen Haken.
Der Abgabestand hat einen eigenen Endpunkt. PATCH /api/study/exams/abgabe fasst genau drei Spalten an und jede nur, wenn sie mitkommt. Über exams/save wäre der Haken ein vollständiges Formular — Name, Art, Termin, Modul —, und wer den Termin vergisst, löscht die Frist, die aus Moodle kam.
Noteneinträge (BE20, 24.09.2026, N183, N206). STUDY_GRADES liest die Einträge, je Modul oder alle, und markiert je Eintrag mit is_module_grade, ob er die Note des Moduls ist. STUDY_GRADE_SAVE legt an oder ändert: Note auf der Skala des Kontos — 1,0 bis 5,0 in Zehnteln, 0 bis 20 in Hundertsteln (VA-261008-notenskala), Schulnoten 1 bis 6 in Zehnteln oder 0 bis 15 ganze Punkte (VA-261010-schulnoten-1-bis-6-0) —, Tag, Versuch, wahlweise die Prüfung — die muss am selben Modul hängen oder an keinem. Herkunft ist hand oder mcp; moodle und lernplattform (jede andere Lernplattform, Wanderung 279; im Notenfenster „aus der Lernplattform“) schreibt nur der Abruf, und einen Eintrag daraus lehnt das Speichern mit 409 ab (grade_entry_readonly_error) — eine Berichtigung ist ein neuer Eintrag daneben. STUDY_GRADE_DELETE löscht endgültig, wie die Interessen auch. Am MCP: studium_noten, studium_note_speichern, studium_note_loeschen. Die Oberfläche ruft alle drei seit dem 26.09.2026 aus dem Notenfenster an der Modulzeile auf (N288). STUDY_MODULE_SAVE nimmt keine Note mehr und antwortet auf grade mit 400; LP-Ziel, Beginn und Ende des Semesters bleiben stehen, wenn sie fehlen, nur null leert sie.
Anmeldeschluss und Rücktrittsfrist (BE38, 24.09.2026). Die Liste der Prüfungen liefert anmeldung_bis und ruecktritt_bis, exams/save nimmt anmeldungBis und ruecktrittBis — als Zeitpunkt mit Zeitzone, fehlend heißt bleibt, null leert. Eine Frist nach dem Prüfungstag lehnt der Endpunkt ab (exam_deadline_after_exam_error), auch dann, wenn die Prüfung vorverlegt wird und eine stehende Frist dadurch dahinter läge.
Seit dem 26.09.2026 (N314) stehen sie am Schirm und im Kalender. Das Formular study/client/Pruefungsformular.tsx dient zum Anlegen und zum Bearbeiten; die Karte zeigt „Anmeldung bis …" und „Rücktritt bis …" in der Meta-Zeile, Art und Stand als Wort statt als Schlüssel. Eine Frist ist ein Tag: Das Formular schickt das Ende dieses Tages, 23:59:59 in zeit.zone (study/shared/fristtag.ts, mit Test über beide Zeitumstellungen). Beim Bearbeiten wird je Feld nach Tag verglichen; unverändert fehlt es in der Anfrage, geleert steht null da. Die Kalenderquelle pruefung bringt je eingetragener Frist einen eigenen ganztägigen Termin („Anmeldeschluss: …", „Rücktrittsfrist: …") ohne Art, mit der Ausprägung feld:<spalte> — im Abgleich über die Kategorie der Prüfung, im .ics-Strom unter deren Schalter. Aus der Prüfungsordnung abgeleitete Fristen kommen erst mit C60.
Abgabe vorläufig oder endgültig (W-261019-abgabe-vorlaeufig, ab 20.10.2026). Steht ein Blatt auf „abgegeben“, fragt die Kachel „Genügt die aktuelle Abgabe?“. „Ja“ macht die Abgabe endgültig: Der Termin verschwindet aus dem Kalender „Denotato · Prüfungen“. „Nein“ lässt sie vorläufig, der Termin bleibt mit Haken. Denselben Weg wie „Ja“ geht „Erledigt“ am Termin im Kalender. „Korrigiert“ ist ohne Frage endgültig; zurück auf „offen“ vergisst die Antwort. Unbeantwortet steht die Frage im Briefing, bis die Frist vorbei ist. Das Feld ist study.exams.abgabe_endgueltig (Migration 378); am MCP setzt studium_abgabe_speichern es mit endgueltig, studium_pruefungen liefert es.
Blätter in einem Zug (BE39, ab 24.09.2026)
Der häufigste Termin eines Semesters ist das Übungsblatt: vierzehnmal dieselbe Abgabe, immer am selben Wochentag. Unter den Übungsblättern steht deshalb, eingeklappt, „Blätter in einem Zug anlegen". Der Rhythmus wird einmal eingegeben, und Denotato legt daraus jedes Blatt als Abgabe an (Christian am 24.09.2026, N206).
| Feld | Vorgabe | |
|---|---|---|
| Modul | — | an ihm hängen die Blätter; die Liste lädt erst beim Aufklappen |
| Erste Abgabe | — | ihr Wochentag gilt für alle Blätter |
| Letzte Abgabe | — | einschließlich |
| Uhrzeit der Abgabe | 23:59 | in der Zone des Kontos. Ohne Angabe das Ende des Tages — eine erfundene frühere Uhrzeit wäre eine Frist, die es nicht gibt |
| Rhythmus | jede Woche | bis „alle vier Wochen" |
| Name der Blätter | „Übungsblatt {n}" | {n} wird die Nummer; fehlt der Platzhalter, steht sie hinten |
| Erste Nummer | 1 | manchmal 0 |
| Punkte je Blatt | leer | die möglichen Punkte; leer heißt „noch unbekannt" |
Erst die Vorschau, dann das Anlegen. Der Knopf „14 Blätter anlegen" wird erst frei, wenn eine Vorschau zur aktuellen Eingabe dasteht; jede Änderung an einem Feld nimmt sie zurück, und die Eingabetaste zeigt nur die Vorschau. Sie nennt jedes Blatt mit Datum und Zustand — neu oder schon da — und darüber, an welchem Wochentag und um welche Uhrzeit abgegeben wird („Abgabe montags um 23:59."). Vierzehn Zeilen anzulegen, ohne sie vorher gesehen zu haben, hieße, einen Tippfehler im Jahr vierzehnmal zu speichern — und löschen lässt sich ein Blatt bisher nicht (Was fehlt, 52).
Freie Tage fallen weg, die Nummern nicht. Fällt ein Abgabetag in eine Spanne aus study.freie_tage (Weihnachtspause, Feiertag, BE13), gibt es an ihm kein Blatt, und nach der Pause kommt Blatt 11, nicht Blatt 13. Unter der Liste steht „Ausgelassen:" mit Datum und Grund — ein fehlender Montag ohne Grund sähe aus wie ein Fehler.
Ein zweiter Zug legt nichts doppelt an. Ein Blatt entsteht nur an einem Tag, an dem das Modul noch keines hat, gleichgültig, ob das vorhandene aus Moodle, von Hand oder aus einem früheren Zug stammt. Wer das Enddatum berichtigt und noch einmal abschickt, bekommt nur die fehlenden Blätter dazu. Im Zeitraum des Zuges — um einen Takt nach beiden Seiten weiter — zählt auch der Name: Wer Blatt 5 von Montag auf Dienstag verschoben hat, findet nach dem nächsten Zug kein zweites Blatt 5 am Montag. Außerhalb zählt er nicht, sonst hielte ein zweiter Versuch im nächsten Jahr die alten Blätter für die neuen. Was schon da ist, bleibt unberührt, auch Name und Frist.
Kommt dasselbe Blatt später aus Moodle, übernimmt die Moodle-Abgabe die angelegte Zeile, statt eine zweite daneben zu legen — sofern es in diesem Modul am selben Tag (in der Zone des Kontos) genau eine Abgabe ohne Moodle-Kennung gibt. Bei zweien bleibt es beim Anlegen: Eine Zeile zu viel ist sichtbar, eine falsch verbundene nicht. Name und Termin kommen danach aus Moodle, die Punktzahl nur, wo keine steht; im Bericht der Übernahme zählt das Blatt als geändert, nicht als angelegt.
Gespeichert werden die Blätter, nicht der Rhythmus. Jedes Blatt trägt seinen eigenen Abgabestand und seine Punkte (BE21); ein Rhythmus daneben wäre eine zweite Wahrheit über dieselben Termine, und die erste Verschiebung eines einzelnen Blattes machte ihn falsch. Deshalb braucht es keine Wanderung.
Die eigene Kategorie im Kalender kommt über eine Regel, nicht über das Formular: Quelle „Prüfung", Filter „Prüfungsform" gleich abgabe (kalender_regel_speichern oder die Regeln in /calendar). Sie fasst die angelegten Blätter und die aus Moodle gleichermaßen.
Gerechnet wird in study/shared/blattserie.ts (planeBlaetter, beanstandeRhythmus) — auf Tagen, nicht auf Zeitstempeln, damit die Abgabe nach der Zeitumstellung im Oktober nicht eine Stunde früher liegt. Angelegt wird in study/server/pruefungen.ts (legeBlattserieAn) über POST /api/study/exams/blattserie (APIPaths.STUDY_EXAM_BLATTSERIE, MCP studium_blattserie), gezeigt in study/client/Blattserie.tsx. Mehr als 40 Blätter legt ein Zug nicht an: Ein Semester hat keine vierzig Wochen, und ein Zug über ein ganzes Jahr ist ein Tippfehler im Jahr. Was der Server nur der Form nach abwiese, fängt das Formular vor dem Senden mit einem Satz ab; die inhaltlichen Einwände des Servers zeigt es mit dessen Satz. Nachweise: blattserie.test.ts für die Rechnung, verify:blattserie für Vorschau, Anlegen, Wiederholen, verlängertes Ende, verschobenes Blatt und Abweisungen, verify:moodle für die Übernahme des Blattes desselben Tages, Blattserie.test.tsx für das Formular.
Seit BE39 steht der Abschnitt „Übungsblätter" auch ohne ein einziges Blatt da. Vorher erschien er erst mit dem ersten — und der Weg, die Blätter anzulegen, gehört an die Stelle, an der sie danach stehen.
Abgaben aus jedem Moodle-Kurs und von Hand (F-261015-hausaufgabenfristen, ab 15.10.2026)
Christian am 14.10.2026 auf diesem Abschnitt: „Hier fehlen irgendwie Fristen von Hausaufgaben (es gibt definitiv welche). Die müssen automatisch gefunden werden und bei Heute angezeigt werden, wenn sie nahen. Man muss auch selbst eine Frist eintragen können.“
Bis dahin kamen Abgaben nur aus Kursen, die an einem Modul hängen, und nur für ein fest eingetragenes Konto. Gemessen am 15.10.2026: Von siebzehn Modulen hingen zwei an Moodle, beide aus dem Vorsemester.
- Jeder Kurs. Der Moodle-Abgleich (
denotato-moodle.timer, 07:20 und 19:20) fragt Moodle einmal nach allen Abgaben aller eingeschriebenen Kurse (mod_assign_get_assignments) und schreibt die kommenden als Blatt — mit dem Modul, wenn der Kurs eines hat, sonst unter „Ohne Modul“. Vergangene Abgaben kommen nur über ein verknüpftes Modul herein; sonst stünden beim ersten Lauf die Fristen längst beendeter Kurse als verpasst da. Wird der Kurs später einem Modul zugeordnet, trägt der nächste Abgleich das Modul am Blatt nach. Gelöscht wird nichts. Rechnung inmoodle/server/abgabenabgleich.ts(planeAbgaben), geschrieben überschreibePlanwie bei der Übernahme. - Jedes Konto. Der Abgleich nimmt jedes nicht gesperrte Konto mit hinterlegtem Moodle-Zugang, nicht mehr nur eines;
--ownerwählt weiter eines aus. - Heute und Briefing lesen die Blätter aus
study.exams; was der Abgleich anlegt, steht dort von selbst, sobald die Frist naht. - Eingereicht heißt abgegeben (seit 20.10.2026, W-261019-einreichungsstatus). Derselbe Abgleich fragt je Blatt mit Moodle-Aktivität, ob das Konto eingereicht hat (
mod_assign_get_submission_status). Eine Einreichung stellt ein offenes Blatt auf „abgegeben“, hakt das gekoppelte To-do ab und stellt die Frage „Genügt die aktuelle Abgabe?“. Eine neue Einreichung nach der Antwort macht die Abgabe wieder vorläufig und fragt neu; ein Entwurf zählt nicht. „Korrigiert“ fasst der Abgleich nicht an, ein „abgegeben“ von Hand nimmt er nicht zurück, und ein Blatt, das man nach einer Einreichung wieder öffnet, bleibt offen bis zur nächsten. Nach Abschneidezeit oder Frist fragt er je Blatt nur noch einmal. - Von Hand. Unter den Übungsblättern steht „Abgabe eintragen“: dasselbe Formular wie „Prüfung eintragen“, mit der Art „Abgabe“ vorgewählt.
Notenspiegel — Ist-Schnitt und Kreditpunkte (BE20, ab 21.09.2026)
Über der Modultabelle stehen drei Zahlen:
| Ist-Schnitt | gewichtet mit Kreditpunkten, über die benoteten Module |
| Kreditpunkte | die Summe der bestandenen Module |
| Zielschnitt | was die offenen Module im Schnitt brauchen, um ein Ziel zu halten |
Es ist der Ist-Schnitt, und es steht dabei. Unter der Zahl steht „gewichtet · ohne Prüfungsordnung". BE20 will drei Zahlen — Ist, Prognose, Zielnote — und ausdrücklich getrennt angezeigt, damit niemand eine Simulation für einen Stand hält. Solange es nur die erste gibt, ist die Beschriftung die halbe Zusage. Ein Schnitt, den man für den Zeugnisschnitt hält, ist schlimmer als keiner: der rechnet nach Prüfungsordnung, mit Best-of-3 bei den Mathematikmodulen, doppelter Bachelorarbeit und Freiversuchen — und diese Regeln stehen noch nicht in der Datenbank.
Gewichtet mit Kreditpunkten. Ein 10-LP-Modul zählt dreimal so viel wie ein 3-LP-Seminar. Der ungewichtete Schnitt über dieselben Module ist eine andere Zahl, und zwar eine, die in keinem Zeugnis steht.
Ein benotetes Modul ohne LP fehlt im Schnitt — und das sieht man nicht, denn die Rechnung ergibt trotzdem eine Zahl. Also steht es da. Leer heißt „nicht eingetragen" und nicht „null Punkte"; mit dem Gewicht null mitgerechnet wäre das Modul stillschweigend verworfen.
Kreditpunkte gibt es fürs Bestehen, nicht fürs Belegen. Ein Modul mit der Note 5,0 zählt im Schnitt mit — es ist ein Ergebnis — und bringt keine Punkte.
Der Zielschnitt rundet streng, nicht kaufmännisch. Deutsche Noten sind besser, wenn sie kleiner sind: Wer 1,96 braucht und 2,0 liest, schreibt eine 2,0 und verfehlt das Ziel. Von zwei Rundungsfehlern ist der zu strenge der harmlose; auf der Skala bis 20 rundet er deshalb auf.
Die Notenskala (VA-261008-notenskala, 08.10.2026). Der Notenspiegel rechnet auf der Skala des Kontos — die seiner Hochschule, ohne Hochschule deutsch. Auf der Skala bis 20 steht „12/20", der Platzhalter des Zielschnitts heißt 14, und ein Ziel darf eine Stelle feiner sein als die Skala („2,25" oder „14,125"). Eine Note, die auf einer anderen Skala steht — etwa eine deutsche aus der Zeit vor dem Wechsel an die ESCP —, fehlt im Schnitt, und darunter steht mit Warnzeichen „Eine Note steht auf einer anderen Notenskala und fehlt im Schnitt." Umgerechnet wird nicht (Christian am 08.10.2026). Die Spalte „Note" der Modultabelle zeigt eine Stelle und höchstens zwei („12,75").
„Nicht mehr erreichbar" steht als Satz da, nicht als Zahl jenseits der besten Note, die man erst deuten müsste — „selbst mit 1,0" oder „selbst mit 20/20" —, und solange man noch etwas daran ändern kann.
Gerechnet wird über die sichtbaren Module: Wer sich in ein Semester hineingeklickt hat, sieht den Schnitt dieses Semesters.
Woher die Note kommt (24.09.2026, N183, N206). Eine Note ist kein Feld am Modul mehr, sondern ein Eintrag in study.grade_entries (Wanderung 139): Note, Tag, Versuch und Herkunft (hand, mcp, moodle oder lernplattform), wahlweise mit der Prüfung, zu der sie gehört. Mehrere Einträge je Modul sind gewollt — Wiederholungen, Notenverbesserung, und eine Note von Hand neben einer aus Moodle für denselben Versuch. Die Spalte „Note" der Modultabelle und der Schnitt lesen daraus die Note des Moduls: den jüngsten Eintrag des höchsten Versuchs, bei gleichem Tag die von Hand vor der über den MCP vor der aus Moodle (study/shared/modulnote.ts, mit Probe). Eingetragen wird im Notenfenster an der Modulzeile (seit dem 26.09.2026, N288, siehe unten) oder über den MCP (studium_note_speichern); aus Moodle kommen Einträge erst mit dem Abruf. Kreditpunkte stehen mit Komma da, also „12,5". Die Spalte „Note" ist eine Zahlspalte mit genau einer Stelle nach dem Komma (stellen: 1): „2,3" und „1,0" wie im Notenfenster; bis zum 26.09.2026 stand dort der Wert der Datenbank, „2.3" mit Punkt. Seit dem 10.10.2026 (VA-261010-notenkomma) schreiben Notenspiegel und Notenfenster jede Note mit dem Dezimalzeichen der wirksamen Region (useRegion().dezimal): „2,3" bei Deutsch, „2.3" bei Englisch, auch im Platzhalter und in den Grenzen des Hinweises; die Eingabe nimmt „2,3" und „2.3" in jeder Sprache.
Das Notenfenster (BE20, N288, 26.09.2026)
Eingetragen wird am Modul, nicht im Notenspiegel. An jeder Modulzeile steht neben „Verknüpfungen" der Knopf „Noten". Er öffnet ein Fenster „Noten — ⟨Modul⟩" mit dem Satz „Es zählt der jüngste Eintrag des höchsten Versuchs." Der Notenspiegel bleibt reine Anzeige (N288). Seit dem 14.10.2026 öffnet auch /noten dieses Fenster (KN-261014-noten-eintragen) — über den Anschluss ANSCHLUESSE.studium.Noteneintrag (study/client/Noteneintrag.tsx), mit einem Feld „Modul“ vor der Note, das /noten vorbelegt. Am Modul gibt es dieses Feld nicht: Wer an „Analysis II“ öffnet, trägt für Analysis II ein.
Oben das Formular in einer Reihe: Note (Kurzfeld, „2,0" als Platzhalter, auf der Skala bis 20 „14"; Komma oder Punkt), Tag (Datumsfeld, vorbelegt mit heute, nicht leerbar), Versuch (1 bis 99, vorbelegt mit dem höchsten Versuch, den das Modul schon hat), wahlweise Prüfung — die Auswahl erscheint nur, wenn das Modul Prüfungen hat, und nennt nur dessen eigene; hat es genau eine, ist sie vorbelegt (seit dem 14.10.2026, Befund B6), bei mehreren steht „ohne Prüfung“ — und Eintragen. Der Knopf ist aus, solange die Note keine ist; steht etwas im Feld, das keine Note ist (etwa „5,3"), steht darunter „Eine Note liegt zwischen 1,0 und 5,0, mit höchstens 1 Nachkommastellen." (bis 20: „zwischen 0 und 20, mit höchstens 2"). Das Fenster schreibt mit der Note die Skala, die es gemeint hat; steht das Konto inzwischen auf einer anderen, weist der Server ab, statt aus einer 2,0 still eine 2 von 20 zu machen. Ein eingetragener Eintrag zeigt seine eigene Skala. Es schreibt immer die Herkunft hand und legt immer einen neuen Eintrag an — ändern kann es nicht, eine Berichtigung ist ein Eintrag daneben (N206).
Darunter „Eingetragen": die Einträge des Moduls in der Reihenfolge, in der sie zählen (vorrangVor). Je Eintrag die Note groß, Tag und Versuch, die Herkunft („von Hand", „über MCP", „aus Moodle") und, falls gesetzt, die Prüfung. Der Eintrag, der die Note des Moduls ist, trägt das Abzeichen „zählt" — Badge in der neutralen Form; die grüne hielt auf dem Glas des Fensters nur 2,85 : 1, eine eigene violette Pille sah aus wie der Fokusring darüber. Jeder Eintrag hat genau einen Knopf, „löschen" — endgültig und zweistufig (N165): erst „löschen", dann „ja, endgültig" oder „doch nicht". Auch ein Eintrag aus Moodle lässt sich löschen, aber nicht ändern.
Nach jedem Eintragen und Löschen lädt das Fenster seine Liste und der Schirm die Modulliste neu; Spalte „Note" und Notenspiegel zeigen die neue Modulnote sofort. Der Fokus liegt beim Öffnen im Notenfeld und bleibt im Fenster. Das Fenster merkt sich nichts vom letzten Öffnen — eine halb getippte Note am falschen Modul wäre schlimmer als eine, die man neu tippt. Ein Fehler steht als Meldung über der Liste.
Ganz unten „Teilleistungen" (VA-261010-teilleistungen, Wanderung 290): die Teile, aus denen sich die Modulnote zusammensetzt, etwa Klausur und Hausarbeit. Je Teil die Note (oder „offen", solange sie fehlt), der Name, der Anteil in Prozent, ein Knopf „ändern" und „löschen", endgültig und zweistufig wie bei den Einträgen. Darunter die Note „Aus den Teilen": gewichtet und auf die Stellen der Skala abgeschnitten, nicht gerundet — 60 % mit 2,3 und 40 % mit 1,7 ergeben genau 2,06 und damit 2,0. Abgeschnitten wird zur kleineren Zahl; auf den Skalen, auf denen kleiner besser ist (deutsch, schule), fällt das zur besseren Seite, wie es die Prüfungsordnungen vorschreiben, auf den anderen (frankreich, oberstufe) zur schlechteren, und das Bestehen ändert sich dort nie. Gibt es einen Noteneintrag, steht „Die eingetragene Gesamtnote geht vor." — der Eintrag bleibt die Modulnote. Ist ein Teil offen oder stehen die Teile auf verschiedenen Skalen, ergibt sich keine Note, und ein Satz sagt warum; ergeben die Anteile nicht 100, rechnet der Server im Verhältnis und der Schirm nennt die Summe. Das Formular darunter hat Teil (Name), Anteil % (über 0 bis 100, zwei Nachkommastellen) und Note, wenn da, dazu „Hinzufügen"; „ändern" füllt es vor und macht daraus „Speichern" und „Abbrechen". Höchstens 20 Teile je Modul. Die berechnete Note zeigt der Server in der Modulliste als parts_grade, und grade_origin sagt, ob grade aus einem Eintrag oder aus den Teilen stammt.
Probe: study/client/Notenfenster.test.tsx (Fokus, Eintragen, Versuch und Prüfungsauswahl, die einzige Prüfung vorbelegt, Grenze 5,3, Moodle-Eintrag, Löschen mit Rückfrage, Fehler beim Löschen), study/client/Noteneintrag.test.tsx (Modulwahl, Eintragen unter dem gewählten Modul) und study/client/Teilleistungen.test.tsx (2,06 wird 2,0, ein Eintrag geht vor, offener Teil, Anlegen, Ändern, Anteil lesen).
Der Notenspiegel erscheint gar nicht, solange es weder Note noch Kreditpunkte gibt — wer sein erstes Semester anlegt, soll nicht zuerst lesen, was alles noch nicht geht.
Aufgehoben wird unter study.semester, study.module, study.themen und study.interessen (G03, 21.09.2026, Rahmen 7). Die Personen nicht: Sie kommen über den Anschluss aus /people und werden dort aufgehoben.
Die Eule: Thema erklären und unterteilen (KI21, N372)
Wer unter „Themen“ eine Zeile wählt, schreibt sie seit dem 28.09.2026 als ?a=topics&id=<id> in die Adresse, im Interessenbaum als ?a=interests&id=<id> (client/gegenstand.ts). Daraus liest die Eule ihren Gegenstand. „Ein Thema erklären“ läuft über „Erklär mir das“ (KI13). „Ein Thema unterteilen“ liest einen eigenen, nicht abgeschlossenen Punkt des Interessenbaums: Name, Beschreibung und die Punkte darüber und darunter, keine Notiz und keine Bewertung. Seit KI42 (04.10.2026) kommen die Unterpunkte als Einträge mit „Übernehmen“; der Knopf legt über den Klientanschluss uebernahmen (client/interessenuebernahme.ts) einen Unterpunkt mit Name und Beschreibung unter dem gewählten Punkt an, Quelle „generiert“ wie die Unterpunkte, die der Baum selbst erzeugt.
Als Baustein im Wiki (WI-261008-bausteine-artikel)
Stumm und mit festen Beispieldaten; Form und Wortlaut stehen in wiki.md unter „Bausteine im Artikel“. Ein Baustein: der Notenspiegel (study.grade-overview, Block) aus drei Modulen, zwei benotet, eines offen.
Kartenstapel — /study/kartenstapel/:id (NB-261019-kartenstapel-als, ab 20.10.2026)
Ein Kartenstapel ist ein Dokument vom Typ „Kartenstapel“: eine eigene Sammlung von Karten neben Fach und Modul (K1). Angelegt wird er in der Dokumentenliste mit „Neuer Kartenstapel“; der Knopf erscheint, wenn die Karteikarten an sind. Geteilt wird er wie jedes Dokument.
- Kopf: Titel, darunter Anzahl, fällig und neu für das eigene Konto. „Lernen“ steht nur da, wenn etwas fällig oder neu ist, und führt nach /flashcards?stapel=<id>.
- Karten im Stapel: je Karte Name, Frage, Modul und bei fremden Karten „von <Name>“, dazu der eigene Stand (Neu, Fällig, Gelernt). Wer schreiben darf, nimmt eine Karte mit „Herausnehmen“ heraus.
- Karten hinzufügen (nur mit Schreibrecht): ein ganzes Modul oder ein ganzes Fach — der Knopf erscheint erst nach der Wahl — oder einzelne eigene Karten über die Suche.
- Mitlernen (K2): Wer nur lesen darf, sieht den Hinweis „Du lernst mit, mit deinem eigenen Lernstand“. Jeder lernt mit eigenem FSRS-Stand; der Stapel ändert an FSRS nichts.
- Im Lerndurchgang: Mit ?stapel= gilt nur der Stapel, ein ?modul= tritt zurück. Statt der Modulwahl steht der Knopf „Kartenstapel“; er verlässt den Stapel und lernt wieder alle Karten.
- Ein fremder oder fehlender Stapel zeigt „Diesen Kartenstapel gibt es nicht, oder er ist nicht für dich freigegeben.“
Wege: study/kartenstapel/create, get, add, remove, candidates (MCP: kartenstapel_*). Als Block in einem Dokument einbinden lässt er sich noch nicht; das gehört zu NB-261019-dokumenttypen-als.
Was fehlt
- Zwei Kartentabellen, aber seit dem 21.09.2026 nur noch ein Verfahren.
study.flashcard_statesrechnet FSRS;personal.flashcardsträgt weiter SM-2 mitease_factor, wird aber von nichts mehr gelesen — der zweite Lesepfad (getFlashcardsDueForReview) liegt inarchiv/2026-09-21-sm2-lesepfad/(G02). Was fehlt: die 266 Zeilen selbst. Sie zu überführen kostet Lernstand und ist Christians Entscheidung (C10); Wanderung 71 hat die erste Stufe gelegt, Stufe 2 und 3 stehen als Text am Ende derselben Datei. Kein Weg zum Lern-Timer von hier(Guide S19) — gebaut am 26.09.2026 (NB06). Im Reiter „Lernen" steht rechts in der Reihe der Lernweisen ein Knopf „Lern-Timer"; am Telefon bricht er unter sie um. Er zeichnet keine eigene Uhr, sondern ruft überTIMER_RUFdieselbe Leiste wie die Schnellaktion, und sie bleibt beim Seitenwechsel stehen. Der Timer reicht den Knopf über seinen Anschluss (ANSCHLUESSE.timer?.Startknopf);Studienmenue.tsxgibt ihn dem Lerndurchgang alszusatzmit. Er fehlt, wenn der Timer abgeschaltet ist, und solange ein Block offen ist — dann steht die Leiste schon da (docs/seiten/00-rahmen.md, „Die Leiste des Lern-Timers").Was fehlt:der Verlauf der Lernblöcke auf diesem Schirm— gebaut am 27.09.2026 (N328): der Kasten „Lernzeit" unter dem Lerndurchgang, siehe „Der Kasten „Lernzeit"".Kein selbsttätiger Plan vor einer Prüfung.— gebaut am 22.09.2026. Über der Prüfungsliste steht ein Vorschlagskasten: Er nennt jede Prüfung im Vierzehn-Tage-Fenster, für die noch kein Sprint läuft, sagt wie viele Karten das am Tag bedeutet, und startet ihn mit einem Klick. Dazu die drei stillen Fälle — keine Karten, kein Termin, vorbei und Marken stehen noch. Gerechnet wird instudy/shared/pruefungsplan.ts, gezeigt instudy/client/Pruefungsplan.tsx. Was fehlt: ein Plan, der die Karten auf die Tage verteilt statt nur zu teilen — dafür bräuchte er die Dauer einer Karte und die freie Zeit des Tages, und beides gibt es nirgends. Und er weiß nichts vom Stundenplan: die Prüfung am Tag nach drei Vorlesungen rechnet wie jede andere.Kein Stundenplan.Module haben Dozenten, aber keine Zeiten.— überholt, am 22.09.2026 nachgesehen. Den Stundenplan gibt es seit dem 20.09.2026 als eigenen Bereich (plugins/src/stundenplan/,study.veranstaltungenmitmodule_id,verify:stundenplan), und seit heute liest ihn der Abschnitt „Heute" mit. Was fehlt steht als 34 bis 41 weiter unten.Kein Notendurchschnitt.Seit dem 21.09.2026 steht der gewichtete Ist-Schnitt über der Modultabelle. Was fehlt, ist die Prüfungsordnung als Daten (BE20): Best-of-3 bei den Mathematikmodulen, Bachelorarbeit doppelt, Freiversuche, ungewichtete Module — keine zwei Prüfungsordnungen rechnen gleich, und ohne sie ist die Zahl nicht der Zeugnisschnitt.- Keine Prognose mit Simulationsnoten. BE20 will drei Zahlen; es gibt zwei (Ist-Schnitt und Zielschnitt). Was fehlt, ist „was käme heraus, wenn ich hier eine 2,0 schreibe".
Der Interessenbaum verbindet sich mit nichts.— gebaut am 22.09.2026. Im Knotenblatt steht „Hängt zusammen mit …": Ein Interesse hängt an Dokumenten, To-Dos, Modulen und anderen Interessen, und die Verbindung steht auf beiden Seiten (Q02/G04). Die Schnellsuche führt seitdem auch wirklich hin —?id=klappt den Weg auf, statt auf einem zugeklappten Graphen zu landen. Was fehlt: Die Kante trägt keine Bedeutung. „Dieses Dokument handelt von Kosmologie" und „dieses Modul deckt Kosmologie ab" sind dieselbe Kante. Und Karten und Themen hängen weiter an nichts, weil sie keinen Anschluss haben — siehe 31.Kein Karten-Importaus Anki oder CSV.Anki geht seit KN-261015-anki-import (STUDY_CARDS_ANKI_IMPORT, Knopf auf/flashcards); CSV weiterhin nicht.Keine Bilder auf Karten.Seit KN-261015-anki-import zeigt der Lerndurchgang Bilder aus der Ablage; das Anlegeformular setzt noch keine.- Keine Trefferquote und kein Verlauf. (
„sagt nur die Gesamt-XP"war falsch, am 17.09.2026 nachgesehen: über der Karte stehen fünf Kennzahlen, darunter „Heute" mit den Wiederholungen des Tages. Was fehlt, ist wie gut es lief und wie es sich über Wochen bewegt. Seit dem 10.10.2026 stehen die Kacheln nicht mehr da; die Zahl der fälligen Karten steht am Knopf „Fällig“, ES-261009-kennzahlen-nur.) Kein Rückwärts-Lernen(Antwort → Frage).— gebaut am 21.09.2026. Der Schalter „↺ Rückwärts" steht neben den drei Betriebsarten. Was fehlt: ein eigener Terminplan je Richtung. Heute fällt die Bewertung auf dieselbe Karte, und wer rückwärts „Einfach" drückt, verschiebt den Termin der Vorwärtsrichtung mit. Dafür braucht es eine zweite Zeile instudy.flashcard_states(Bauplan D2).Der Sprint endet nicht von selbst.— gebaut am 21.09.2026. Er endet mit dem Prüfungstag:SPRINT_LAEUFT_NOCHinstudy/server/karten.tsliest, ob die zugehörige Prüfung noch bevorsteht, und zwar in der Warteschlange und in der Zählung. Der ganze Prüfungstag gehört noch dazu; eine Prüfung ohne Termin beendet nichts. In der Prüfungsliste steht dann der Satz, warum „0 jetzt fällig" nicht „heute geschafft" heißt. Was fehlt: das Aufräumen —sprint_activebleibt in der Datenbank stehen, bis jemand „Sprint beenden" drückt.- Keine Verknüpfung zu Moodle-Kursen auf Modulebene, obwohl
/moodlegenau das zuordnen kann. Die kommenden Abgaben eines Kurses ohne Modul stehen seit dem 15.10.2026 trotzdem da, unter „Ohne Modul“ (F-261015-hausaufgabenfristen). - Die erreichten Punkte kommen nicht aus Moodle. Die möglichen seit dem 21.09.2026 schon — sie stehen in demselben Aufruf wie die Fristen. Die erreichten stehen im Notenbuch (
gradereport_user_get_grade_items); seit BE23 trägt jedes Konto seinen eigenen Zugang, gebaut ist das Lesen noch nicht. Der Abgabestand kommt seit dem 20.10.2026 aus Moodle (Punkt 15). Nichts trägt sich selbst ein.— gebaut am 20.10.2026 (W-261019-einreichungsstatus). Eine Einreichung in Moodle setzt das Blatt beim nächsten Moodle-Abgleich aufabgegeben; von Hand bleibt es ein Klick für Blätter ohne Moodle.- Kein Bonuspunkt-Begriff. Mehr Punkte als möglich sind erlaubt (die Wanderung prüft nur auf „nicht negativ"), aber der Balken rechnet sie in denselben Nenner — 21 von 20 sieht dann aus wie ein Tippfehler.
- Die Zulassungsgrenze kennt nur Prozent. „Mindestens 4 von 12 Blättern bestanden" oder „jedes Blatt mindestens 20 %" sind verbreitete Regeln und lassen sich nicht abbilden.
- Kein Weg vom Blatt zur Abgabedatei. Das Hochladen des bearbeiteten Blattes ist BE24.
- Die Zulassung steht in keinem Briefing als Abstand. Das Briefing nennt die nächste Frist; dass zwei Module rechnerisch kippen, erfährt man nur auf
/study. - Kein Kreditpunkte-Ziel je Semester im Blick.
study.semestersführt seit jeher eincredit_goal, und seit dem 21.09.2026 gibt es endlich etwas, das darauf einzahlt — gegenübergestellt werden beide nirgends. - Die FSRS-Gewichte sind die veröffentlichten, nicht Christians. Die Vorgabegewichte in
fsrs.tsstammen aus der FSRS-4.5-Anpassung und sind ausdrücklich überschreibbar — nur optimiert sie niemand.study.review_loghätte inzwischen Material dafür; ein Nachtrainieren gibt es weder als Skript noch als Knopf. Für die alten SM-2-Karten wird es das nie geben: dort wurde nie ein Protokoll geführt. - Eine Karte kommt zweimal, wenn sie in beiden Systemen steht. Heute ist das kein Problem —
personal.block_flashcardsist leer, kein alter Block hat ein Gegenstück im Studienteil. Nach Stufe 2 der Wanderung 71 hätte er eines, und dann muss der Blockeditor dieselbe Karte meinen wie der Studienteil. Die Verknüpfung dafür steht als SQL in der Wanderung, geprüft ist sie nicht. Gesetzt wird weiter nur am Hauptgebiet, und das steht nirgends.— entschieden und gesagt am 22.09.2026. Es ist die Regel, nicht ein Rest von damals: Dass alles unter „Musik" Musikfarben trägt, ist die Auskunft, um die es am Graphen überhaupt geht — eine eigene Farbe je Unterpunkt machte ihn unlesbar. Also steht sie jetzt neben dem Farbfeld, und an einem Unterpunkt steht sie mit dem Namen des Gebiets, das sie setzt. Dass das Zeichen ausdrücklich nicht erbt, steht daneben. Was fehlt: ein Weg dorthin — der Satz nennt das Gebiet, macht es aber nicht anklickbar.Der Altbestand der Gebietsfarben liegt noch in der Datenbank(A28).— erledigt am 24.09.2026 (A28). Was hier stand:interest.colorsundinterest.iconsstehen weiter inpersonal.preferences; gelesen werden sie nur, solangedarstellung.gebietezu derselben Kennung nichts sagt. Zwei Wahrheiten zu einer Farbe — hinnehmbar für ein Release, nicht länger.- Die Personen fallen nicht zurück — sie kommen über den Anschluss aus
/people. Bei einem Ausfall stehen die vier Studienlisten noch da und die Namen daneben nicht (G03, Rahmen 7). - Die Kategorien sind auch ein Baum und haben keine Gliederung.
categories-treeträgt dasselbetreewie die Themen, und damit dieselbe abgeschaltete Gruppierung. Heute fällt es nicht auf, weil es weniger Kategorien als Themen gibt — die Regel aus §14 hängt aber nicht an der Zahl, sondern an der Form. Die richtige Antwort wäre eine Gruppierung der Wurzeln eines Baumes inDataTable; dann hätte jede Baumansicht sie, nicht nur diese eine. Die Themengliederung gruppiert nur nach Modul.— gebaut am 22.09.2026. Drei Ordnungen zur Wahl (Modul, Fach, Stand); die Wahl liegt inAnsichtszustand.gruppierungder Ansichttopics-tree, wo sie jede andere Liste auch hat. Was fehlt: die Kategorien haben denselben Baum und keine Gliederung (26), und die Wahl gilt je Ansicht und nicht je Bereich — wer die Themen nach Fach gliedert, sagt damit nichts über die Kategorien.Die offene Gruppe überlebt den Schirmwechsel nicht.— gebaut am 22.09.2026. Sie steht alsg.topics-treein der Adresse und übersteht damit den Wechsel zu „Module" und zurück. Was fehlt: sie übersteht kein Neuladen aus einem Lesezeichen heraus, das den Parameter nicht trägt — was richtig ist —, und sie ist die einzige Stelle im Studienteil mit einemg.-Parameter. Ob das die Form für alle Gliederungen wird, ist offen; der Rahmen (00-rahmen.md) kennt bisher nurf.für Filter.- Die Richtung des Lernens wird nicht gemerkt. „↺ Rückwärts" gilt für den Durchgang und ist beim nächsten Öffnen wieder aus. Eine Einstellung dafür gehört zu den „Lernen"-Einstellungen und braucht einen Schlüssel in
preferenceKeys.ts. Kein gemischter Durchgang.— gebaut am 22.09.2026. „⇄ Gemischt" ist die dritte Stellung der Richtung; gerechnet wird sie instudy/shared/lernrichtung.tsaus Kartenkennung und einer Saat je Stapel. Was fehlt: es bleibt eine Bewertung je Karte. Was Anki „Kartentypen" nennt, sind zwei Karten mit zwei Terminplänen aus einer Notiz — hier ist es eine Karte, die mal so und mal so gefragt wird, und „Einfach" rückwärts verschiebt den Vorwärtstermin mit (Bauplan D2, dieselbe Lücke wie bei 11). Und das Verhältnis ist fest bei ungefähr halbe-halbe; „jede dritte rückwärts" gibt es nicht.- Der Verknüpfungskasten kennt vier Arten, der Studienteil zwei. Ein Interesse lässt sich mit einem Dokument, einem To-Do, einem Modul und einem anderen Interesse verbinden — Semester, Themen, Kategorien und Karten nicht, weil sie keinen Anschluss haben. Gerade die Karte wäre die Kante, um die es geht: „diese 40 Karten hängen an Kosmologie" beantwortet die Frage, mit der man den Baum aufmacht. Ein Anschluss dafür ist wenig Arbeit (
titelVonundsuche, wie instudy/server/knoten.ts); was fehlt, ist die Entscheidung, ob eine Karte einzeln verknüpft gehört oder über ihre Kategorie. - Der Graph zeichnet die neuen Kanten nicht. Sie stehen im Knotenblatt als Chips, der Ring zeigt weiter nur Eltern und Kinder. Solange eine Kante nur im Blatt steht, muss man jeden Knoten einzeln anklicken, um sie zu finden — und der Graph ist gerade das Werkzeug, das einem das abnehmen soll. Sichtbar würde es erst mit einer zweiten Kantenart im Bild (gestrichelt, quer über die Sektoren), und die wiederum braucht 7: eine Kante ohne Bedeutung kann man nicht beschriften.
- Ein abgeschlossener Punkt lässt sich nicht mehr verknüpfen. Die Suche im Verknüpfungskasten lässt
closed_at IS NULLstehen — wer gerade etwas anhängt, meint einen Punkt, an dem noch gearbeitet wird. Bestehende Kanten dorthin bleiben sichtbar und lösbar; neu anlegen geht nur von der anderen Seite aus, und dort steht kein Wort darüber, warum. Entweder gehört der Hinweis in die leere Trefferliste, oder abgeschlossene Punkte gehören mit einer Marke dazu. - Der Abschnitt „Heute" liest den Stundenplan an seinem Bereich vorbei.
study/server/heutefachlich.tsfragtstudy.veranstaltungen,study.veranstaltungsausnahmenundstudy.freie_tagedirekt in SQL ab. Das Raster selbst rechnetterminAnTagaus@shared— also dieselbe Regel wie die Wochenansicht, keine zweite Fassung —, aber die Tabellen gehören dem Bereichstundenplan, und Grundsatz 43 lässt quer zwischen zwei abschaltbaren Bereichen nur einen Anschluss zu. Den gibt es nicht:@shared/types/anschluesse.tskennt keinenstundenplan. Solange er fehlt, sieht dieser Abschnitt Termine auch dann, wenn der Stundenplan abgeschaltet ist — das MerkmalSTUNDENPLANfängt es ab, der Bereichsschalter nicht. - Auf der Kachel steht nicht, was für eine Veranstaltung es ist. Vorlesung, Übung, Seminar, Praktikum, Tutorium — der Unterschied entscheidet, ob man ein Blatt mitbringt. Die Wortliste dazu liegt in
stundenplan/client/Veranstaltungsformular.tsxund damit in einem fremden Bereich; sie hier abzuschreiben wäre eine zweite Wahrheit. Sie gehört nach@shared/types/stundenplan.ts, neben die Liste der Arten selbst — dann lesen beide Bereiche dieselbe. - Nichts auf der Kachel ist anklickbar. Das Thema steht als Name und nicht als Weg zu
?a=topics&id=…, die Mitschrift als Name und nicht als Weg ins Dokument, die Veranstaltung als Zeile und nicht als Weg nach/stundenplan. Ein Schirm, der vor der Vorlesung sagt, wo der Stoff steht, sollte auch hinführen. - „Heute" kennt nur heute. Kein „morgen", keine Datumswahl. Wer abends vorbereiten will, was morgen dran ist, sieht den Tag, der gerade zu Ende geht. Der Endpunkt kann es längst —
tagist ein Parameter, der Schirm schickt nur immer denselben. - Der Tag wechselt nicht von selbst. Der Schirm lädt einmal beim Öffnen; wer ihn über Mitternacht offen lässt, sieht den Vortag, ohne dass etwas darauf hindeutet.
- Die Mitschrift ist ein Name ohne Inhalt.
study.lecture_notesträgtnameundnote_date; was darin steht, hängt anderswo. Die Antwort auf „wo steht der Stoff" ist damit „es gibt etwas, das so heißt" — richtig, aber eine halbe. - Briefing und „Heute" wissen nichts voneinander. Beide reden über denselben Tag, jeder mit eigener Abfrage. Heute widersprechen sie sich nicht, weil sie verschiedene Felder zeigen; sobald einer von beiden anfängt, Termine zu bewerten, sind es zwei Wahrheiten. Ein Anschluss
stundenplan.heute()(34) wäre auch dagegen die Antwort. - Vier Sätze des Abschnitts stehen nur auf Deutsch. „Zuletzt dran", „Als Nächstes", „Mitschrift" und „Für heute liegt nichts vor." fehlen in
oberflaeche.en_us.json. Die gerechneten Sätze — „vor 5 Tagen", „heute fällig, in Arbeit", der Tagessatz — stehen ohnehin außerhalb des Katalogs, weil sie inshared/entstehen; für sie gibt es bis heute keinen Weg in eine zweite Sprache. - Die Fächer tragen Zustandsfarben, ohne Zustände zu sein (N134). Physik ist rot, Chemie gelb — im Rest von Denotato heißt das „brennt" und „Achtung". Ein Fach ist eine Eigenschaft und bräuchte eine eigene Palette (Guide §3.3); das ist eine Entscheidung über den Guide, keine über diesen Schirm. Seit VA13 wählt ein Admin den Ton je Fach aus denselben Zustandstönen (
FACHTOENE) — die Frage bleibt offen, sie hat nur einen Ort bekommen. Ein Zeichen je Fach gibt es bewusst nicht. Das Gebiet ohne eigenes Symbol ist noch die Glyphe „◆".— gebaut am 12.10.2026 (I06): Der Wert bleibt „◆", gezeichnet wird er alsraute.SymbolValue(frontend/src/components/zeichen/) trifft die Unterscheidung beim Zeichnen — Emoji als Text, die Raute als Registerzeichen in der Farbe des Gebiets —, im GraphenSvgSymbolValue, weil ein<text>kein<svg>aufnimmt. So bleiben gespeicherte Wahlen gültig, und keine Migration ist nötig.Die Richtungsworte tragen ihre Glyphe noch inshared/.— gebaut am 10.10.2026 (ES-261009-gezeichnete-zeichen): Das Richtungsschild nennt Wort und Zeichennamen,ohneGlypheist weg.study/shared/lernrichtung.tsschreibt „↺ Rückwärts" und „⇄ Gemischt"; der Lerndurchgang streicht die Glyphe beim Zeichnen (ohneGlyphe). Richtig wäre das nackte Wort inshared/— dann fällt die Streichung weg, und der Nachweis dort muss mit.- Die Tafel „Nach Stand" zeigt den Status doppelt. Damit die Spaltenköpfe ein Zeichen tragen, steht die Statusspalte mit auf der Karte, obwohl die Spalte ihn schon sagt. Die Datenansicht kennt keine Spalte, die nur den Kopf liefert; ein Merkmal dafür gehört in den Kern (
viewTypes.ts), nicht hierher. - Ein Spaltenkopf kann kein Zeichen tragen. Deshalb heißt „✓" im Themenbaum jetzt „Erledigt" und ist breiter geworden. Ein Feld
kopfzeicheninColumnDefinitiongäbe die schmale Spalte zurück. - Die Ausnahmezeichen gehören neben die Ausnahmearten.
AUSNAHMEZEICHENsteht inHeuteFachlich.tsx;/stundenplanzeigt dieselben drei Arten und bräuchte dieselben Zeichen. Der Ort dafür ist@shared/types/stundenplan.ts, nebenAUSNAHMEARTEN. - Der rote Rand der Prüfungskarte widerspricht Guide §7.6. Er beginnt bei 14 Tagen, der Guide lässt eine Zeile erst ab drei Tagen drängen und rot erst bei „überfällig" werden. Das Wort steht jetzt daneben; die Schwelle ist geblieben, weil sie eine Entscheidung ist.
Das Semester „Sommer/Winter" steht als Wort ohne Zeichen.— behoben am 30.09.2026 (E12): Die Registry hatsonneundschneeflocke, und die Spalte „Typ" trägt sie. Der alte Befund: Eine Sonne und eine Schneeflocke gab es in der Registry nicht.- Wort und Guide streiten beim Überfälligen. Guide §7.6 will das Datum überfälliger Blätter rot; N134 will das Wort neutral und das Zeichen farbig. Gebaut ist N134 — der Guide sollte es nachziehen.
Der Registry fehlenvergroessernundverkleinern.— behoben am 30.09.2026 (E12): Das Lupenpaar mit Plus und Minus ist gezeichnet, dasselbe Motiv wiesuchen, und die Graphwerkzeuge „Näher heran" und „Weiter weg" tragen es, mit dem Wort als Titel. Der alte Befund: Sie zeigten die Schriftglyphen „+" und „−";anlegenundteilweiseheißen etwas anderes und wurden am 23.09.2026 zurückgenommen.- Eine Prüfung oder ein Blatt lässt sich nicht löschen. Es gibt weder eine Route noch einen Knopf dafür (am 24.09.2026 nachgesehen:
DELETE FROM study.examssteht nur im Isolationsnachweis). Seit BE39 wiegt das schwerer: Ein Zug für das falsche Modul sind vierzehn Zeilen, die stehen bleiben. Die Vorschau vor dem Anlegen fängt das meiste ab, ersetzt aber kein Zurücknehmen — gebraucht wird ein Löschen je Blatt und eines für alle Blätter eines Zuges. Noten lassen sich am Schirm nicht eintragen.Seit dem 26.09.2026 öffnet der Knopf „Noten" an der Modulzeile das Notenfenster: Einträge sehen, eine Note mit Tag, Versuch und wahlweise Prüfung von Hand eintragen, einen Eintrag endgültig löschen (BE20, N288). Ändern kann es nicht — eine Berichtigung ist ein neuer Eintrag.
Lesbare Wertflächen (F21, 25.09.2026). Gewählte Stufen, Lernknöpfe und Prüfungsaktionen lesen handlung.on (bis 09.10.2026 alternative.on), also die gerechnete Tinte der Anwendungsfarbe; einen Verlauf hat sie seitdem nicht mehr. Im Prüfungsplan trägt eine drängende Prüfung Bernstein (status.warning), das Fortschrittsband der Tabellen ist unbunt (ES-261009-akzentfarbe-fester). 54. Das Fremd-Zeichen fehlt dort, wo keine Tabelle ist (NB10, 27.09.2026). Die nach Modul gegliederten Themen (Themengliederung.tsx), die Übungsblätter und Klausurkarten unter „Prüfungen" und die Kacheln unter „Heute" zeigen eine geteilte Zeile wie eine eigene, obwohl foreign_owner für Themen und Prüfungen mitkommt. Nachzuziehen ist die Fremdmarke hinter dem Titel, wie es DataTable tut. 55. Die Lage über „Heute“ zählt die Karten nicht je Modul (KN-261014-studium-heute). Der Musterbogen B4 zeigte „12 Karten warten“ neben der Klausur ihres Moduls; die Lage kennt nur die Gesamtzahl der Übersicht. Je Modul hieße: studienlage zählt zusätzlich nach module_id, und die Übersicht summiert — dieselbe Quelle bliebe. 56. Die Lage sieht nur eigene Prüfungen. Sie fragt wie die Übersicht owner_id = $1; eine geteilte Prüfung, die die Veranstaltungskacheln darunter über visibleTo zeigen, steht nicht in den Lagezeilen.