{"apps":[{"slug":"circle-arithmetic","url":"https://apps.to-teach.ai/circle-arithmetic/","config":{"name":{"de":"Kreis-Rechenaufgaben","en":"Circle Arithmetic"},"description":{"de":"Grundrechenarten in Kreisaufgaben mit sechs Sektoren üben.","en":"Practice basic arithmetic with six-sector circle tasks."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"operationMode":{"type":"string","default":"mixed","options":["mixed","addition","subtraction","multiplication","division"],"optionLabels":{"mixed":{"de":"Gemischt","en":"Mixed"},"addition":{"de":"Addition","en":"Addition"},"subtraction":{"de":"Subtraktion","en":"Subtraction"},"multiplication":{"de":"Multiplikation","en":"Multiplication"},"division":{"de":"Division","en":"Division"}},"description":{"de":"Rechenart der Kreisaufgaben","en":"Operation mode for the circles"}},"maxValue":{"type":"number","default":72,"min":20,"max":144,"description":{"de":"Obergrenze für Zahlenwerte","en":"Upper bound for generated values"}},"exercises":{"type":"number","default":6,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/circle-arithmetic.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Kreisaufgaben.","en":"Print template with all circle exercises."},"acceptsParameters":true,"parameters":["lang","seed","operationMode","maxValue","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/circle-arithmetic.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Kreisaufgaben als JSON.","en":"Generated circle exercises as JSON."},"acceptsParameters":true,"parameters":["lang","seed","operationMode","maxValue","exercises"]}},"stateSchema":{"answers":"Array<Array<number | null>>"},"taskSchema":{"task":"{ operation: 'addition' | 'subtraction' | 'multiplication' | 'division', center: number, sectors: Array<{ inner: number, outer: number, missing: 'inner' | 'outer' }> }"}},"error":null},{"slug":"clocks","url":"https://apps.to-teach.ai/clocks/","config":{"name":{"de":"Uhrzeiten","en":"Clocks"},"description":{"de":"Uhrzeiten von analogen Zifferblättern ablesen und eintragen.","en":"Read and enter times from analog clock faces."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"precision":{"type":"string","default":"five","options":["full","half","quarter","five","any"],"optionLabels":{"full":{"de":"Volle Stunden","en":"Full hours"},"half":{"de":"Halbe Stunden","en":"Half hours"},"quarter":{"de":"Viertelstunden","en":"Quarter hours"},"five":{"de":"5-Minuten-Schritte","en":"5-minute steps"},"any":{"de":"Beliebige Minuten","en":"Any minute"}},"description":{"de":"Genauigkeit der Minutenanzeige","en":"Precision of minute display"}},"timeFormat":{"type":"string","default":"12","options":["12","24"],"optionLabels":{"12":{"de":"12-Stunden","en":"12-hour"},"24":{"de":"24-Stunden","en":"24-hour"}},"description":{"de":"Zeitformat für die Eingabe","en":"Time format for input"}},"exercises":{"type":"number","default":8,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/clocks.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit Uhrzeiten-Aufgaben.","en":"Print template with clock exercises."},"acceptsParameters":true,"parameters":["lang","seed","precision","timeFormat","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/clocks.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","precision","timeFormat","exercises"]}},"stateSchema":{"answers":"Array<{ hours: number | null, minutes: number | null }>"},"taskSchema":{"task":"{ hours: number, minutes: number }"}},"error":null},{"slug":"cube-nets","url":"https://apps.to-teach.ai/cube-nets/","config":{"name":{"de":"Würfelnetze bestimmen","en":"Cube Nets"},"description":{"de":"Entscheide, ob ein gezeigtes Netz aus sechs Quadraten einen Würfel ergibt.","en":"Decide whether a six-square net folds into a cube."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"exercises":{"type":"number","default":6,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/cube-nets.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit Würfelnetz-Aufgaben.","en":"Print template with cube net exercises."},"acceptsParameters":true,"parameters":["lang","seed","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/cube-nets.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","exercises"]}},"stateSchema":{"answers":"Array<{ isCube: boolean | null }>"},"taskSchema":{"task":"{ cells: Array<{ x: number, y: number }>, isValid: boolean, violatedRule: number | null }"}},"error":null},{"slug":"float-sink","url":"https://apps.to-teach.ai/float-sink/","config":{"name":{"de":"Schwimmen oder Sinken","en":"Float or Sink"},"description":{"de":"Erkunde durch Drag-and-Drop, welche Gegenstände in Wasser schwimmen oder sinken.","en":"Explore by drag-and-drop which objects float or sink in water."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Im Druck alle Gegenstände an der korrekten Position zeigen","en":"In print, show all objects at their correct positions"}}},"exports":{"image":{"path":"/api/float-sink.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Poster: leeres Wasserbecken mit Emoji-Galerie oder Lösungsübersicht.","en":"Poster: empty water tank with emoji gallery or solution overview."},"acceptsParameters":true,"parameters":["lang","showSolution"]}},"credits":{"emojis":"Emojis from OpenMoji (openmoji.org), CC BY-SA 4.0"}},"error":null},{"slug":"food-web","url":"https://apps.to-teach.ai/food-web/","config":{"name":{"de":"Nahrungsnetz-Spielwiese","en":"Food Web Playground"},"description":{"de":"Erkunde Nahrungsnetze in Wald, See, Wiese und Wüste durch Ziehen von Arten auf eine Spielfläche.","en":"Explore food webs in forest, lake, meadow and desert by dragging species onto a playground."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"ecosystem":{"type":"string","default":"forest","options":["forest","lake","meadow","desert"],"optionLabels":{"forest":{"de":"Wald","en":"Forest"},"lake":{"de":"See","en":"Lake"},"meadow":{"de":"Wiese","en":"Meadow"},"desert":{"de":"Wüste","en":"Desert"}},"description":{"de":"Start-Ökosystem","en":"Starting ecosystem"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Im Druck eine Lösungs-Übersicht statt leerem Spielfeld zeigen","en":"In print, show a solution overview instead of an empty playground"}}},"exports":{"image":{"path":"/api/food-web.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage: leeres Spielfeld zum Selber-Einzeichnen oder Lösungs-Übersicht.","en":"Print template: empty playground to draw on, or solution overview."},"acceptsParameters":true,"parameters":["lang","ecosystem","showSolution"]}},"credits":{"emojis":"Emojis from OpenMoji (openmoji.org), CC BY-SA 4.0"}},"error":null},{"slug":"hieroglyph-workshop","url":"https://apps.to-teach.ai/hieroglyph-workshop/","config":{"name":{"de":"Hieroglyphen-Werkstatt","en":"Hieroglyph Workshop"},"description":{"de":"Schreibe Namen und Wörter mit echten ägyptischen Hieroglyphen — explorativ und ohne Bewertung.","en":"Write names and words with authentic Egyptian hieroglyphs — exploratory, no grading."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"sampleWord":{"type":"string","default":"","description":{"de":"Beispielwort für Druck-Vorschau (leer = nur leere Kartusche)","en":"Sample word for print preview (empty = empty cartouche only)"}}},"exports":{"image":{"path":"/api/hieroglyph-workshop.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Alphabet-Poster mit Uniliteral-Tabelle und leerer Kartusche zum Einzeichnen.","en":"Alphabet poster with uniliteral chart and empty cartouche for drawing."},"acceptsParameters":true,"parameters":["lang","sampleWord"]}},"credits":{"font":"NewGardiner font by Mark-Jan Nederhof (University of St Andrews), SIL OFL 1.1, via github.com/nederhof/newgardiner"}},"error":null},{"slug":"hundredfield-swap","url":"https://apps.to-teach.ai/hundredfield-swap/","config":{"name":{"de":"Tauschaufgaben am Hunderterfeld","en":"Hundred Field Swap Tasks"},"description":{"de":"Malaufgaben und Tauschaufgaben am 10×10-Hunderterfeld üben — Ablesen und Malen.","en":"Practice multiplication and swap tasks on the 10×10 hundred field — reading and painting."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"mode":{"type":"string","default":"read","options":["read","paint"],"optionLabels":{"read":{"de":"Ablesen","en":"Read"},"paint":{"de":"Malen","en":"Paint"}},"description":{"de":"Übungsmodus","en":"Exercise mode"}},"maxFactor":{"type":"number","default":10,"min":2,"max":10,"description":{"de":"Größter Faktor","en":"Maximum factor"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/hundredfield-swap.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage: Hunderterfeld-Aufgaben mit Tauschaufgaben.","en":"Print template: hundred field tasks with swap tasks."},"acceptsParameters":true,"parameters":["lang","seed","exercises","mode","maxFactor","checkAnswers","showSolution"]},"tasks":{"path":"/api/hundredfield-swap.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","exercises","mode","maxFactor"]}},"stateSchema":{"answers":"Array<{ paintedRow: number | null, paintedCol: number | null, mainA: number | null, mainB: number | null, mainC: number | null, swapA: number | null, swapB: number | null, swapC: number | null }>"},"taskSchema":{"task":"{ a: number, b: number, c: number, mode: 'read' | 'paint' }"}},"error":null},{"slug":"math-memory","url":"https://apps.to-teach.ai/math-memory/","config":{"name":{"de":"Mathe-Memory","en":"Math Memory"},"description":{"de":"Memory-Spiel: Rechenaufgaben den passenden Emoji-Bildern zuordnen.","en":"Memory game: match calculations with their emoji visualizations."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"mode":{"type":"string","default":"multiplication","options":["addition","subtraction","multiplication","division"],"optionLabels":{"addition":{"de":"Addition","en":"Addition"},"subtraction":{"de":"Subtraktion","en":"Subtraction"},"multiplication":{"de":"Multiplikation","en":"Multiplication"},"division":{"de":"Division","en":"Division"}},"description":{"de":"Rechenmodus","en":"Calculation mode"}},"topic":{"type":"string","default":"mixed","options":["mixed","animals","food","nature","sports","vehicles","space","sea","music","weather"],"optionLabels":{"mixed":{"de":"Gemischt","en":"Mixed"},"animals":{"de":"Tiere","en":"Animals"},"food":{"de":"Essen","en":"Food"},"nature":{"de":"Natur","en":"Nature"},"sports":{"de":"Sport","en":"Sports"},"vehicles":{"de":"Fahrzeuge","en":"Vehicles"},"space":{"de":"Weltraum","en":"Space"},"sea":{"de":"Meer","en":"Sea"},"music":{"de":"Musik","en":"Music"},"weather":{"de":"Wetter","en":"Weather"}},"description":{"de":"Emoji-Thema","en":"Emoji topic"}},"pairs":{"type":"number","default":6,"min":4,"max":12,"description":{"de":"Anzahl der Kartenpaare","en":"Number of card pairs"}},"maxNumber":{"type":"number","default":20,"min":10,"max":100,"description":{"de":"Maximales Ergebnis","en":"Maximum result"}},"showSolution":{"type":"boolean","default":true,"description":{"de":"Lösung auf Rechen-Karten anzeigen","en":"Show solution on calculation cards"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Paare automatisch prüfen","en":"Check pairs automatically"}}},"exports":{"image":{"path":"/api/math-memory.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Ausschneide-Bogen mit Memory-Karten zum Ausdrucken.","en":"Cut-out sheet with memory cards for printing."},"acceptsParameters":true,"parameters":["lang","seed","mode","topic","pairs","maxNumber","showSolution"]},"tasks":{"path":"/api/math-memory.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Kartenpaare als JSON.","en":"Generated card pairs as JSON."},"acceptsParameters":true,"parameters":["lang","seed","mode","topic","pairs","maxNumber"]}},"stateSchema":{"matched":"number[] (indices of matched pairs)","moves":"number (total flip attempts)"},"taskSchema":{"task":"{ a: number, b: number, result: number, emoji: string, operation: string }"},"credits":{"emojis":"Emojis from OpenMoji (openmoji.org), CC BY-SA 4.0"}},"error":null},{"slug":"math-table","url":"https://apps.to-teach.ai/math-table/","config":{"name":{"de":"Rechentabelle","en":"Math Table"},"description":{"de":"Mal- oder Plus-Tabellen im Schulbuch-Standard ausfüllen.","en":"Fill in multiplication or addition tables in classic schoolbook style."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"operation":{"type":"string","default":"multiplication","options":["multiplication","addition"],"optionLabels":{"multiplication":{"de":"Mal-Tabelle","en":"Multiplication"},"addition":{"de":"Plus-Tabelle","en":"Addition"}},"description":{"de":"Rechen-Operation","en":"Operation"}},"tableSize":{"type":"number","default":3,"options":[3,4],"description":{"de":"Tabellen-Größe (Zeilen × Spalten)","en":"Table size (rows × columns)"}},"maxSum":{"type":"number","default":20,"min":10,"max":20,"description":{"de":"Maximale Summe (nur Plus-Modus)","en":"Maximum sum (addition mode only)"}},"exercises":{"type":"number","default":4,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/math-table.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Tabellen-Aufgaben.","en":"Print template with all table exercises."},"acceptsParameters":true,"parameters":["lang","seed","operation","tableSize","maxSum","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/math-table.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Tabellen-Aufgaben als JSON.","en":"Generated table exercises as JSON."},"acceptsParameters":true,"parameters":["lang","seed","operation","tableSize","maxSum","exercises"]}},"stateSchema":{"answers":"Array<Array<Array<number | null>>>"},"taskSchema":{"task":"{ operation: 'multiplication' | 'addition', size: number, rowFactors: number[], colFactors: number[], anchors: Array<{ row: number, col: number }>, grid: number[][] }"}},"error":null},{"slug":"money-counting","url":"https://apps.to-teach.ai/money-counting/","config":{"name":{"de":"Geldbeträge zählen","en":"Money Counting"},"description":{"de":"Geldbeträge in Euro, US-Dollar oder Pfund ablesen und auslegen.","en":"Read and make money amounts in euros, US dollars, or pounds."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"mode":{"type":"string","default":"read","options":["read","make"],"optionLabels":{"read":{"de":"Betrag ablesen","en":"Read amount"},"make":{"de":"Betrag auslegen","en":"Make amount"}},"description":{"de":"Übungsmodus","en":"Exercise mode"}},"currency":{"type":"string","default":"EUR","options":["EUR","USD","GBP"],"optionLabels":{"EUR":{"de":"Euro","en":"Euro"},"USD":{"de":"US-Dollar","en":"US dollar"},"GBP":{"de":"Britisches Pfund","en":"British pound"}},"description":{"de":"Währung","en":"Currency"}},"includeDecimals":{"type":"boolean","default":true,"description":{"de":"Beträge mit Cent/Pence verwenden","en":"Use amounts with cents/pence"}},"maxMajor":{"type":"number","default":20,"min":5,"max":100,"description":{"de":"Größter Betrag in ganzen Währungseinheiten","en":"Largest amount in whole currency units"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/money-counting.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Geld-Aufgaben.","en":"Print template with all money exercises."},"acceptsParameters":true,"parameters":["lang","seed","mode","currency","includeDecimals","maxMajor","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/money-counting.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Geld-Aufgaben als JSON.","en":"Generated money exercises as JSON."},"acceptsParameters":true,"parameters":["lang","seed","mode","currency","includeDecimals","maxMajor","exercises"]}},"stateSchema":{"answers":"Array<{ mode: 'read' | 'make', valueMinor: number | null, items: Array<{ denominationMinor: number, count: number }> }>"},"taskSchema":{"task":"{ mode: 'read', currency: 'EUR' | 'USD' | 'GBP', amountMinor: number, items: Array<{ denominationMinor: number, count: number }> } | { mode: 'make', currency: 'EUR' | 'USD' | 'GBP', amountMinor: number, denominations: number[] }"}},"error":null},{"slug":"number-house","url":"https://apps.to-teach.ai/number-house/","config":{"name":{"de":"Zahlenhaus","en":"Number House"},"description":{"de":"Zahlzerlegung im Zahlenraum bis 20 mit dem klassischen Zahlenhaus.","en":"Number decomposition up to 20 with the classic number house."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"targetMax":{"type":"number","default":10,"min":5,"max":20,"description":{"de":"Maximale Zielzahl im Dach","en":"Maximum target number in the roof"}},"exercises":{"type":"number","default":4,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/number-house.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Zahlenhäusern.","en":"Print template with all number houses."},"acceptsParameters":true,"parameters":["lang","seed","targetMax","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/number-house.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","targetMax","exercises"]}},"stateSchema":{"answers":"Array<Array<number | null>>"},"taskSchema":{"task":"{ target: number, floors: Array<{ a: number, b: number, blank: 'a' | 'b' }> }"}},"error":null},{"slug":"number-line","url":"https://apps.to-teach.ai/number-line/","config":{"name":{"de":"Zahlenstrahl","en":"Number Line"},"description":{"de":"Position am Zahlenstrahl ablesen oder Sprünge berechnen.","en":"Read positions on a number line or compute jumps."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"mode":{"type":"string","default":"read","options":["read","jump","mixed"],"optionLabels":{"read":{"de":"Position ablesen","en":"Read position"},"jump":{"de":"Sprünge berechnen","en":"Compute jumps"},"mixed":{"de":"Gemischt","en":"Mixed"}},"description":{"de":"Übungsmodus","en":"Exercise mode"}},"maxValue":{"type":"number","default":20,"min":10,"max":100,"description":{"de":"Größter Wert auf dem Strahl (0 bis maxValue)","en":"Largest value on the number line (0 to maxValue)"}},"maxJump":{"type":"number","default":5,"min":1,"max":10,"description":{"de":"Maximale Sprungweite im Sprung-Modus","en":"Maximum jump distance in jump mode"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"showTaskText":{"type":"boolean","default":false,"description":{"de":"Aufgabentext neben dem Antwortfeld anzeigen","en":"Show task text next to the answer field"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/number-line.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Aufgaben.","en":"Print template with all exercises."},"acceptsParameters":true,"parameters":["lang","seed","mode","maxValue","maxJump","exercises","showTaskText","checkAnswers","showSolution"]},"tasks":{"path":"/api/number-line.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","mode","maxValue","maxJump","exercises","showTaskText"]}},"stateSchema":{"answers":"Array<{ value: number | null }>"},"taskSchema":{"task":"{ kind: 'read', position: number } | { kind: 'jump', start: number, delta: number, end: number }"}},"error":null},{"slug":"numberwall","url":"https://apps.to-teach.ai/numberwall/","config":{"name":{"de":"Zahlenmauer","en":"Number Wall"},"description":{"de":"Additionsaufgaben mit der Rechenmauer im Zahlenraum bis 100.","en":"Addition tasks with the number wall in the range up to 100."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"rows":{"type":"number","default":3,"options":[3,4,5],"description":{"de":"Anzahl der Reihen","en":"Number of rows"}},"maxTop":{"type":"number","default":100,"min":20,"max":100,"description":{"de":"Maximale Zielzahl (oberster Brick)","en":"Maximum top number"}},"gaps":{"type":"number","default":3,"min":2,"max":5,"description":{"de":"Anzahl Lücken pro Mauer","en":"Number of gaps per wall"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/numberwall.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Mauern.","en":"Print template with all walls."},"acceptsParameters":true,"parameters":["lang","seed","rows","maxTop","gaps","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/numberwall.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Mauer-Aufgaben als JSON.","en":"Generated wall tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","rows","maxTop","gaps","exercises"]}},"stateSchema":{"answers":"Array<{ values: Array<number | null> }>"},"taskSchema":{"task":"{ rows: number, solution: number[], gapIndices: number[] }"}},"error":null},{"slug":"pizza-fractions","url":"https://apps.to-teach.ai/pizza-fractions/","config":{"name":{"de":"Pizza-Brüche","en":"Pizza Fractions"},"description":{"de":"Bruchrechnung (Addition gleichnamiger Brüche) mit Pizza-Visualisierung.","en":"Fraction addition (same denominator) with pizza visualization."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"mode":{"type":"string","default":"read","options":["read","fill"],"optionLabels":{"read":{"de":"Ablesen","en":"Read"},"fill":{"de":"Auffüllen","en":"Fill"}},"description":{"de":"Übungsmodus","en":"Exercise mode"}},"maxDenominator":{"type":"number","default":8,"min":2,"max":12,"description":{"de":"Maximaler Nenner (Anzahl Stücke)","en":"Maximum denominator (number of slices)"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/pizza-fractions.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Aufgaben.","en":"Print template with all exercises."},"acceptsParameters":true,"parameters":["lang","seed","mode","maxDenominator","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/pizza-fractions.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","mode","maxDenominator","exercises"]}},"stateSchema":{"answers":"Array<{ n1: number | null, d1: number | null, n2: number | null, d2: number | null, nr: number | null, dr: number | null }> | Array<{ filledSlices: number[] }>"},"taskSchema":{"task":"{ denominator: number, numerator1: number, numerator2: number }"}},"error":null},{"slug":"product-triangle","url":"https://apps.to-teach.ai/product-triangle/","config":{"name":{"de":"Rechendreieck","en":"Calculation Triangle"},"description":{"de":"Rechendreiecke mit Summen oder Produkten – Innen- oder Außenwerte finden.","en":"Calculation triangles with sums or products – find inside or outside values."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"mode":{"type":"string","default":"findCorners","options":["findCorners","findProducts"],"optionLabels":{"findCorners":{"de":"Innenwerte finden","en":"Find inside values"},"findProducts":{"de":"Außenwerte finden","en":"Find outside values"}},"description":{"de":"Übungsmodus","en":"Exercise mode"}},"operation":{"type":"string","default":"multiplication","options":["addition","multiplication"],"optionLabels":{"addition":{"de":"Addition","en":"Addition"},"multiplication":{"de":"Multiplikation","en":"Multiplication"}},"description":{"de":"Rechenart","en":"Operation"}},"maxFactor":{"type":"number","default":10,"min":2,"max":100,"description":{"de":"Zahlenraum: bei Addition maximaler Außenwert, bei Multiplikation maximaler Innenwert","en":"Number range: maximum outside value for addition, maximum inside value for multiplication"}},"exercises":{"type":"number","default":6,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/product-triangle.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit Rechendreiecken.","en":"Print template with calculation triangles."},"acceptsParameters":true,"parameters":["lang","seed","mode","operation","maxFactor","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/product-triangle.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Rechendreieck-Aufgaben als JSON.","en":"Generated calculation triangle exercises as JSON."},"acceptsParameters":true,"parameters":["lang","seed","mode","operation","maxFactor","exercises"]}},"stateSchema":{"answers":"Array<{ corners: [number | null, number | null, number | null], edgeValues: [number | null, number | null, number | null] }>"},"taskSchema":{"task":"{ corners: [number, number, number], edgeValues: [number, number, number], operation: 'addition' | 'multiplication' }"}},"error":null},{"slug":"symbol-count","url":"https://apps.to-teach.ai/symbol-count/","config":{"name":{"de":"Symbole markieren","en":"Mark Symbols"},"description":{"de":"Markiere genau so viele Symbole wie die Zielzahl angibt.","en":"Mark exactly as many symbols as the target number shows."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"targetMax":{"type":"number","default":5,"min":2,"max":10,"description":{"de":"Höchste Zielzahl","en":"Maximum target number"}},"poolSize":{"type":"number","default":20,"min":10,"max":30,"description":{"de":"Symbole im Feld","en":"Symbols in the pool"}},"exercises":{"type":"number","default":4,"min":1,"max":12,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/symbol-count.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Aufgaben.","en":"Print template with all exercises."},"acceptsParameters":true,"parameters":["lang","seed","targetMax","poolSize","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/symbol-count.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","targetMax","poolSize","exercises"]}},"stateSchema":{"answers":"Array<{ selected: boolean[] }>"},"taskSchema":{"task":"{ target: number, emoji: string, poolSize: number, jitter: { dx: number, dy: number }[] }"},"credits":{"emojis":"Emojis from OpenMoji (openmoji.org), CC BY-SA 4.0"}},"error":null},{"slug":"target-sum-line","url":"https://apps.to-teach.ai/target-sum-line/","config":{"name":{"de":"Summenpfade","en":"Sum Paths"},"description":{"de":"Finde auf einem Zahlenraster gerade Linien, deren Zahlen zusammen die Zielsumme ergeben.","en":"Find straight lines on a number grid whose numbers add up to the target sum."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbares Raster","en":"Seed for reproducible grid"}},"targetSum":{"type":"number","default":10,"min":5,"max":30,"description":{"de":"Zielsumme","en":"Target sum"}},"gridSize":{"type":"number","default":4,"options":[3,4,5],"description":{"de":"Rastergröße (Zeilen × Spalten)","en":"Grid size (rows × columns)"}},"maxDigit":{"type":"number","default":9,"min":3,"max":9,"description":{"de":"Maximale Ziffer pro Zelle","en":"Maximum digit per cell"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Pfade prüfen","en":"Check paths"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Alle gültigen Pfade anzeigen","en":"Show all valid paths"}}},"exports":{"image":{"path":"/api/target-sum-line.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit Zahlenraster und optional eingezeichneten Pfaden.","en":"Print template with number grid and optionally drawn paths."},"acceptsParameters":true,"parameters":["lang","seed","targetSum","gridSize","maxDigit","checkAnswers","showSolution"]},"tasks":{"path":"/api/target-sum-line.json","method":"GET","contentType":"application/json","description":{"de":"Generiertes Raster und gültige Pfade als JSON.","en":"Generated grid and valid paths as JSON."},"acceptsParameters":true,"parameters":["lang","seed","targetSum","gridSize","maxDigit"]}},"stateSchema":{"foundPaths":"Array<Array<[row: number, col: number]>>","totalPossible":"number"},"taskSchema":{"task":"{ grid: number[][], targetSum: number, validPaths: Array<Array<[row: number, col: number]>> }"}},"error":null},{"slug":"twentyfield","url":"https://apps.to-teach.ai/twentyfield/","config":{"name":{"de":"Zwanzigerfeld","en":"Twenty Frame"},"description":{"de":"Additionsaufgaben im Zahlenraum bis 20 mit dem Zwanzigerfeld.","en":"Addition tasks up to 20 with the twenty frame."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"maxSum":{"type":"number","default":20,"min":5,"max":20,"description":{"de":"Maximale Summe","en":"Maximum sum"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/twentyfield.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit allen Aufgaben.","en":"Print template with all exercises."},"acceptsParameters":true,"parameters":["lang","seed","maxSum","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/twentyfield.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Aufgaben als JSON.","en":"Generated tasks as JSON."},"acceptsParameters":true,"parameters":["lang","seed","maxSum","exercises"]}},"stateSchema":{"answers":"Array<{ a: number | null, b: number | null, sum: number | null }>"},"taskSchema":{"task":"{ a: number, b: number, sum: number }"}},"error":null},{"slug":"weight-scale","url":"https://apps.to-teach.ai/weight-scale/","config":{"name":{"de":"Mathe-Waage","en":"Math Balance Scale"},"description":{"de":"Gewichtseinheiten und Umrechnungen mit einer digitalen Balkenwaage ausgleichen.","en":"Balance weight units and conversions on a digital beam scale."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Aufgaben","en":"Seed for reproducible exercises"}},"units":{"type":"string","default":"g_kg","options":["g","kg","g_kg","mg_g_kg","g_kg_t"],"optionLabels":{"g":{"de":"g","en":"g"},"kg":{"de":"kg","en":"kg"},"g_kg":{"de":"g und kg","en":"g and kg"},"mg_g_kg":{"de":"mg, g, kg","en":"mg, g, kg"},"g_kg_t":{"de":"g, kg, t","en":"g, kg, t"}},"description":{"de":"Gewichtseinheiten","en":"Weight units"}},"numberRange":{"type":"string","default":"1000g","options":["100g","1000g","10kg","100kg"],"optionLabels":{"100g":{"de":"bis 100 g","en":"up to 100 g"},"1000g":{"de":"bis 1000 g","en":"up to 1000 g"},"10kg":{"de":"bis 10 kg","en":"up to 10 kg"},"100kg":{"de":"bis 100 kg","en":"up to 100 kg"}},"description":{"de":"Zahlenraum","en":"Number range"}},"numberFormat":{"type":"string","default":"integer","options":["integer","decimal","mixed"],"optionLabels":{"integer":{"de":"Nur ganze Zahlen","en":"Whole numbers only"},"decimal":{"de":"Kommazahlen","en":"Decimal numbers"},"mixed":{"de":"Gemischte Schreibweise","en":"Mixed notation"}},"description":{"de":"Zahlenformat","en":"Number format"}},"conversionType":{"type":"string","default":"g_kg","options":["mg_g","g_kg","kg_t","mixed"],"optionLabels":{"mg_g":{"de":"mg ↔ g","en":"mg ↔ g"},"g_kg":{"de":"g ↔ kg","en":"g ↔ kg"},"kg_t":{"de":"kg ↔ t","en":"kg ↔ t"},"mixed":{"de":"Mehrere Einheiten gemischt","en":"Mixed units"}},"description":{"de":"Umrechnungsart","en":"Conversion type"}},"targetMode":{"type":"string","default":"random","options":["fixed","random"],"optionLabels":{"fixed":{"de":"Feste Zielwerte","en":"Fixed targets"},"random":{"de":"Zufällige Zielwerte","en":"Random targets"}},"description":{"de":"Zielwerte","en":"Target values"}},"fixedTargets":{"type":"string","default":"1 kg, 750 g, 2,5 kg","description":{"de":"Feste Ziele (kommagetrennt, z. B. 1 kg, 750 g)","en":"Fixed targets (comma-separated, e.g. 1 kg, 750 g)"}},"exercises":{"type":"number","default":6,"min":1,"max":20,"description":{"de":"Anzahl der Aufgaben","en":"Number of exercises"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben automatisch prüfen","en":"Check inputs automatically"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösung anzeigen","en":"Show solution"}}},"exports":{"image":{"path":"/api/weight-scale.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit Waage und Gewichtsauswahl","en":"Print template with scale and weight selection"},"acceptsParameters":true,"parameters":["lang","seed","units","numberRange","numberFormat","conversionType","targetMode","fixedTargets","exercises","checkAnswers","showSolution"]},"tasks":{"path":"/api/weight-scale.json","method":"GET","contentType":"application/json","description":{"de":"Aufgaben als JSON","en":"Tasks as JSON"},"acceptsParameters":true,"parameters":["lang","seed","units","numberRange","numberFormat","conversionType","targetMode","fixedTargets","exercises"]}},"stateSchema":{"answers":"Array<{ targetMg: number, placed: Array<{ valueMg: number, count: number }> }>"},"taskSchema":{"task":"{ targetMg: number, targetDisplay: string, pieces: Array<{ valueMg: number, label: string }>, solution: Array<{ valueMg: number, count: number }> }"}},"error":null},{"slug":"zahlenschlangen","url":"https://apps.to-teach.ai/zahlenschlangen/","config":{"name":{"de":"Zahlenschlangen","en":"Number Snakes"},"description":{"de":"Kinder ergänzen fehlende Zahlen in farbigen Zahlenschlangen mit einfachen Zahlenfolgen.","en":"Children complete missing numbers in colorful number snakes with simple number patterns."},"supportedLanguages":["de","en"],"viewport":{"minWidth":320,"minHeight":480},"parameters":{"lang":{"type":"string","default":"de","options":["de","en"],"optionLabels":{"de":{"de":"Deutsch","en":"German"},"en":{"de":"Englisch","en":"English"}},"description":{"de":"Sprache der Inhalte","en":"Content language"}},"seed":{"type":"string","default":"random","description":{"de":"Seed für reproduzierbare Schlangen","en":"Seed for reproducible snakes"}},"exercises":{"type":"number","default":3,"min":1,"max":5,"description":{"de":"Anzahl der Schlangen","en":"Number of snakes"}},"minNumber":{"type":"number","default":1,"min":0,"max":500,"description":{"de":"Kleinste Zahl in den Reihen","en":"Smallest number in the rows"}},"maxNumber":{"type":"number","default":100,"min":10,"max":1000,"description":{"de":"Größte Zahl in den Reihen","en":"Largest number in the rows"}},"rowLength":{"type":"number","default":7,"min":5,"max":9,"description":{"de":"Anzahl Kreise pro Schlange","en":"Circles per snake"}},"missingCount":{"type":"number","default":3,"min":1,"max":4,"description":{"de":"Anzahl leerer Kreise pro Schlange","en":"Empty circles per snake"}},"maxStep":{"type":"number","default":5,"options":[2,5,10],"description":{"de":"Größter Schritt in der Zahlenfolge","en":"Largest step in the number pattern"}},"patternType":{"type":"string","default":"mixed","options":["mixed","ones","twos","fives","tens","even","odd"],"optionLabels":{"mixed":{"de":"Gemischt","en":"Mixed"},"ones":{"de":"In Einerschritten","en":"Count by 1"},"twos":{"de":"In Zweierschritten","en":"Count by 2"},"fives":{"de":"In Fünferschritten","en":"Count by 5"},"tens":{"de":"In Zehnerschritten","en":"Count by 10"},"even":{"de":"Gerade Zahlen","en":"Even numbers"},"odd":{"de":"Ungerade Zahlen","en":"Odd numbers"}},"description":{"de":"Art der Zahlenfolge","en":"Number pattern type"}},"allowBackwards":{"type":"boolean","default":false,"description":{"de":"Auch rückwärts zählen","en":"Also count backwards"}},"showSolution":{"type":"boolean","default":false,"description":{"de":"Lösungen anzeigen","en":"Show solutions"}},"checkAnswers":{"type":"boolean","default":true,"description":{"de":"Eingaben prüfen","en":"Check answers"}}},"exports":{"image":{"path":"/api/zahlenschlangen.svg","method":"GET","contentType":"image/svg+xml","description":{"de":"Druckvorlage mit generierten Zahlenschlangen.","en":"Printable worksheet with generated number snakes."},"acceptsParameters":true,"parameters":["lang","seed","exercises","minNumber","maxNumber","rowLength","missingCount","maxStep","patternType","allowBackwards","showSolution","checkAnswers"]},"tasks":{"path":"/api/zahlenschlangen.json","method":"GET","contentType":"application/json","description":{"de":"Generierte Zahlenreihen, Lücken und Lösungen als JSON.","en":"Generated number rows, blanks, and solutions as JSON."},"acceptsParameters":true,"parameters":["lang","seed","exercises","minNumber","maxNumber","rowLength","missingCount","maxStep","patternType","allowBackwards"]}},"stateSchema":{"answers":"Record<snakeId, Record<index, string>>","completed":"boolean"},"taskSchema":{"task":"{ tasks: Array<{ values: number[], given: boolean[], step: number, patternType: string }> }"}},"error":null}]}