{ "abdeckung": { "bedienen:ablehnen": { "abdruck": "61a0e2e5f8a4c439", "funktion": "Vorschlag annehmen" }, "bedienen:alleAblehnen": { "abdruck": "9d613f6b111b9b67", "funktion": "Alle Vorschläge verwerfen" }, "bedienen:alleAnnehmen": { "abdruck": "9456d726b83144c9", "funktion": "Alle Vorschläge annehmen" }, "bedienen:annehmen": { "abdruck": "97dc5220725e77ee", "funktion": "Vorschlag annehmen" }, "bedienen:auswaehlen": { "abdruck": "31f34c41cbd1bd93", "funktion": "Projekt aufrufen" }, "bedienen:bereichsMenue": { "abdruck": "421627feeb92867c", "funktion": "Projekt aufrufen" }, "bedienen:bestaetigen": { "abdruck": "b1ce0152c68722c9", "funktion": "Feature anlegen" }, "bedienen:funktionsMenue": { "abdruck": "67bf62e64b2af11f", "funktion": "Funktion entfernen" }, "bedienen:kartenMenue": { "abdruck": "bc47fd3a97b2027c", "funktion": "Feature entfernen" }, "bedienen:leistenMenue": { "abdruck": "90a66ccbe71ddc74", "funktion": "Projekt anlegen" }, "bedienen:projektMenue": { "abdruck": "58ca0dac4286c61d", "funktion": "Projekt umbenennen" }, "bedienen:schliesse": { "abdruck": "f78739ce74d876f5", "funktion": "" }, "bedienen:springe": { "abdruck": "67b827c9bba0c05a", "funktion": "Problemstelle anspringen" }, "bedienen:starte": { "abdruck": "06e7ff1e70efc603", "funktion": "Titel anpassen" }, "bedienen:startePruefung": { "abdruck": "1f9ac6d1bb70cda8", "funktion": "Stil prüfen" }, "bedienen:umbenennen": { "abdruck": "af404032e5814872", "funktion": "Projekt umbenennen" }, "bedienen:wechsleAnsicht": { "abdruck": "ee50f2dbfa66f779", "funktion": "Anzeigemodus umschalten" }, "bedienen:wechsleArt": { "abdruck": "3fcd27f68677ed3a", "funktion": "Feature einstufen" }, "bedienen:wechsleDarkMode": { "abdruck": "51e5efb1e9196f3b", "funktion": "Darkmode umschalten" }, "lauscher:window.click": { "abdruck": "5dd03db00120c133", "funktion": "Kontextmenü schließen" }, "lauscher:window.keydown": { "abdruck": "70b3f36549535bfc", "funktion": "" }, "menue:+ Feature erstellen": { "abdruck": "a9a3fefd653555c7", "funktion": "Feature anlegen" }, "menue:+ Funktion erstellen": { "abdruck": "0f968068851c2f7a", "funktion": "Feature entfernen" }, "menue:+ Projekt erstellen": { "abdruck": "dbbe1573ebe97251", "funktion": "Projekt entfernen" }, "menue:+ Vision erstellen": { "abdruck": "1d814205e510b035", "funktion": "Feature anlegen" }, "menue:✎ Projekt anpassen": { "abdruck": "cd7390c2f6852257", "funktion": "Projekt umbenennen" }, "menue:✕ Feature entfernen": { "abdruck": "e773a996f84a8d7b", "funktion": "Feature entfernen" }, "menue:✕ Funktion entfernen": { "abdruck": "99495f37aa040550", "funktion": "Funktion entfernen" }, "menue:✕ Projekt entfernen": { "abdruck": "bc7b8c360ac3c403", "funktion": "Projekt anlegen" }, "menue:✕ Vision entfernen": { "abdruck": "ec65c57f36ff14d0", "funktion": "Anzeigemodus umschalten" }, "route:delete /projekte/{name}": { "abdruck": "9014a4b884cca27a", "funktion": "Projekt entfernen" }, "route:delete /projekte/{name}/features/{id}": { "abdruck": "ff8d0773ef483606", "funktion": "Feature entfernen" }, "route:delete /projekte/{name}/pruefung": { "abdruck": "79f2bdc0413ea88a", "funktion": "Prüfung beenden" }, "route:get /health": { "abdruck": "3214361386c64911", "funktion": "" }, "route:get /projekte": { "abdruck": "2f6756caafbe76b8", "funktion": "" }, "route:get /projekte/{name}/features": { "abdruck": "509119bcecfd63e6", "funktion": "Projekt aufrufen" }, "route:get /projekte/{name}/pruefung": { "abdruck": "f7d46d8a5be26212", "funktion": "Stil prüfen" }, "route:post /projekte": { "abdruck": "c3e70befc5eb772b", "funktion": "Projekt anlegen" }, "route:post /projekte/{name}/features": { "abdruck": "df08920d8f5e5d4d", "funktion": "Feature anlegen" }, "route:post /projekte/{name}/pruefung": { "abdruck": "9fb8d6c9260477c7", "funktion": "Stil prüfen" }, "route:put /projekte/{name}": { "abdruck": "6030731add729040", "funktion": "Projekt umbenennen" }, "route:put /projekte/{name}/features/{id}": { "abdruck": "e95aea276bf795cd", "funktion": "" } }, "belege": { "[\"darkmode\", \"Darkmode umschalten\"]": { "abdruck": "653c08d0647a7f7b", "beleg": "function wechsleDarkMode() {\n modus.value = MODI[(MODI.indexOf(modus.value) + 1) % MODI.length]\n localStorage.setItem('darkModus', modus.value)\n wendeAn()\n}", "datei": "frontend/src/App.vue" }, "[\"design\", \"Kontextmenü schließen\"]": { "abdruck": "519c5a56bf4b9810", "beleg": "schliesseMenue()", "datei": "frontend/src/composables/kontextmenue.js" }, "[\"features\", \"Anzeigemodus umschalten\"]": { "abdruck": "b22ba2dd122887fa", "beleg": "function wechsleAnsicht() {\n gross.value = !gross.value\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Feature anlegen\"]": { "abdruck": "d2968bea16a06b65", "beleg": "async function erstellen(titel) {", "datei": "frontend/src/components/FeatureListe.vue" }, "[\"features\", \"Feature einstufen\"]": { "abdruck": "de473e39c7232637", "beleg": "function wechsleArt() {\n s.value.art = s.value.art === 'kern' ? 'optional' : 'kern'\n speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Feature entfernen\"]": { "abdruck": "c6f27381a41a63d7", "beleg": "def loeschen(projekt: str, id: str):\n _datei(projekt, id).unlink()", "datei": "backend/features.py" }, "[\"features\", \"Regeln anpassen\"]": { "abdruck": "0af0e4eadcaae560", "beleg": "
", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Titel anpassen\"]": { "abdruck": "7f727f71dc555492", "beleg": "

{{ s.titel }}

", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Ziel anpassen\"]": { "abdruck": "965b52779fa6aa35", "beleg": "
", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Funktion anlegen\"]": { "abdruck": "6250215b920cf0f0", "beleg": "async function funktionErstellen(titel) {", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Funktion entfernen\"]": { "abdruck": "20e8d8e507ee6310", "beleg": "{ text: '✕ Funktion entfernen', aktion: () => (modal.value = { art: 'entfernen', i }) },", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Regeln anpassen\"]": { "abdruck": "303d6988603e3d61", "beleg": "async function starte(feld, i, j) {\n if (!gross.value) return // Bearbeiten nur in der ausführlichen Ansicht\n const original = wert(feld, i, j)\n aktiv.value = { feld, i, j, original }\n entwurf.value = original\n await nextTick()\n const el = Array.isArray(feldRef.value) ? feldRef.value[0] : feldRef.value\n el?.focus()\n if (feld === 'titel') el?.select()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Testschritte anpassen\"]": { "abdruck": "e303ebeaece423de", "beleg": "
", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Titel anpassen\"]": { "abdruck": "3ceaa19290c793b4", "beleg": "s.value.funktionen[a.i].text = neu", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Ziel anpassen\"]": { "abdruck": "4cb617031cbf6ef4", "beleg": "
", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"karten-pruefen\", \"Alle Vorschläge annehmen\"]": { "abdruck": "52fb2acd3d6945fa", "beleg": "async function alleAnnehmen() {\n props.probleme.forEach(p => { if (anwenden(p)) erledige(p) })\n await speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"karten-pruefen\", \"Alle Vorschläge verwerfen\"]": { "abdruck": "f98fd3fc005b9e56", "beleg": "function alleAblehnen() {\n props.probleme.forEach(erledige)\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"karten-pruefen\", \"Code in Features prüfen\"]": { "abdruck": "daf5820ada5ee059", "beleg": "async def code_im_feature(features: list, punkte: list, stand: dict,", "datei": "backend/inhalt.py" }, "[\"karten-pruefen\", \"Features im Code prüfen\"]": { "abdruck": "acc652c172671790", "beleg": "ANKLAGE_AB = 4", "datei": "backend/inhalt.py" }, "[\"karten-pruefen\", \"Problemstelle anspringen\"]": { "abdruck": "340a32321fd23834", "beleg": "karte.classList.add('gesucht')", "datei": "frontend/src/components/PruefPanel.vue" }, "[\"karten-pruefen\", \"Prüfung beenden\"]": { "abdruck": "7400070de29ce762", "beleg": "", "datei": "frontend/src/components/PruefPanel.vue" }, "[\"karten-pruefen\", \"Stil prüfen\"]": { "abdruck": "86c4530f5dd0bd52", "beleg": "async def starte(projekt: str, art: str = \"stil\") -> dict:", "datei": "backend/pruefung.py" }, "[\"karten-pruefen\", \"Vorschlag annehmen\"]": { "abdruck": "e4b81d800fd23fec", "beleg": "async function annehmen(p) {\n if (anwenden(p)) erledige(p)\n await speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"karten-pruefen\", \"Vorschlag verwerfen\"]": { "abdruck": "b37b74ea369ed66c", "beleg": "export function erledige(problem) {\n probleme.value = probleme.value.filter(p => p !== problem)\n}", "datei": "frontend/src/composables/pruefung.js" }, "[\"projekte\", \"Projekt anlegen\"]": { "abdruck": "9b3598c9081155b2", "beleg": "def anlegen(name: str):", "datei": "backend/projekte.py" }, "[\"projekte\", \"Projekt aufrufen\"]": { "abdruck": "1071109545496535", "beleg": "@click=\"emit('auswaehlen', p.name)\"", "datei": "frontend/src/components/SeitenLeiste.vue" }, "[\"projekte\", \"Projekt entfernen\"]": { "abdruck": "e413063557fa0f13", "beleg": "shutil.rmtree(ordner)", "datei": "backend/projekte.py" }, "[\"projekte\", \"Projekt umbenennen\"]": { "abdruck": "d4e71f8ef907393c", "beleg": "function projektMenue(e, name) {\n oeffneMenue(e, [\n { text: '✎ Projekt anpassen', aktion: () => starteUmbenennen(name) },\n { text: '✕ Projekt entfernen', aktion: () => oeffneModal({ art: 'entfernen', name }) },\n ])\n}", "datei": "frontend/src/components/SeitenLeiste.vue" }, "[\"vision-festhalten\", \"Anzeigemodus umschalten\"]": { "abdruck": "b983b82c02343560", "beleg": "const gross = ref(false)", "datei": "frontend/src/components/VisionKarte.vue" }, "[\"vision-festhalten\", \"Vision anlegen\"]": { "abdruck": "58ceb9502d1754bf", "beleg": "
", "datei": "frontend/src/components/FeatureListe.vue" }, "[\"vision-festhalten\", \"Vision anpassen\"]": { "abdruck": "dd527b57b4c9685e", "beleg": "async function fertig() {\n if (!aktiv.value) return\n aktiv.value = false\n const neu = entwurf.value.trim()\n if (neu === text.value) return\n text.value = neu\n await speichern()\n}", "datei": "frontend/src/components/VisionKarte.vue" }, "[\"vision-festhalten\", \"Vision entfernen\"]": { "abdruck": "0aeb156d13b32b7e", "beleg": "function kartenMenue(e) {\n oeffneMenue(e, [{ text: '✕ Vision entfernen', aktion: () => emit('entfernen') }])\n}", "datei": "frontend/src/components/VisionKarte.vue" } }, "ohne_code": {}, "ohne_karte": {}, "paare": { "[\"[\\\"features\\\", \\\"Anzeigemodus umschalten\\\"]\", \"[\\\"vision-festhalten\\\", \\\"Anzeigemodus umschalten\\\"]\"]": { "abdruck": "d23706be97d6369a", "gleich": false }, "[\"[\\\"features\\\", \\\"Feature anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\"]": { "abdruck": "3eb9956887005cc4", "gleich": false }, "[\"[\\\"features\\\", \\\"Feature entfernen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktion entfernen\\\"]\"]": { "abdruck": "9717a5c6eab69f22", "gleich": false }, "[\"[\\\"features\\\", \\\"Regeln anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Regeln anpassen\\\"]\"]": { "abdruck": "827215ea68dcbada", "gleich": false }, "[\"[\\\"features\\\", \\\"Titel anpassen\\\"]\", \"[\\\"features\\\", \\\"Ziel anpassen\\\"]\"]": { "abdruck": "69360dc1502aa01f", "gleich": false }, "[\"[\\\"features\\\", \\\"Titel anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Titel anpassen\\\"]\"]": { "abdruck": "01fbbfc1ca91d32a", "gleich": false }, "[\"[\\\"features\\\", \\\"Titel anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Ziel anpassen\\\"]\"]": { "abdruck": "414ddf4e7bff9896", "gleich": false }, "[\"[\\\"features\\\", \\\"Ziel anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Titel anpassen\\\"]\"]": { "abdruck": "83a0a87e978c859a", "gleich": false }, "[\"[\\\"features\\\", \\\"Ziel anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Ziel anpassen\\\"]\"]": { "abdruck": "5e97e3c6fe9df287", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"projekte\\\", \\\"Projekt anlegen\\\"]\"]": { "abdruck": "202f51c53a73b452", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion entfernen\\\"]\", \"[\\\"projekte\\\", \\\"Projekt entfernen\\\"]\"]": { "abdruck": "a9d2c4dd5e70fa2c", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion entfernen\\\"]\", \"[\\\"vision-festhalten\\\", \\\"Vision entfernen\\\"]\"]": { "abdruck": "4090ee6826466fa3", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Titel anpassen\\\"]\", \"[\\\"funktionen\\\", \\\"Ziel anpassen\\\"]\"]": { "abdruck": "17b00db94f54b62d", "gleich": false } } }