feat: Puente Mayúscula-Minúscula + TTS SpeechSynthesis + E2E fixes
This commit is contained in:
@@ -0,0 +1,345 @@
|
||||
import type { Stage } from '../types'
|
||||
|
||||
const stage: Stage = {
|
||||
id: 2,
|
||||
name: 'Conciencia fonológica',
|
||||
description: 'Rimas, conteo de sílabas, identificar sonidos iniciales y segmentación de palabras.',
|
||||
exercises: [
|
||||
// --- Rimas ---
|
||||
{
|
||||
id: 'lec2-rima-sol',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-rimas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec1-sonido-perro', 'lec1-ritmo-palmas'],
|
||||
content: {
|
||||
instruction: '¿Cuál palabra rima con SOL?',
|
||||
text: 'SOL',
|
||||
audioText: 'Sol rima con...',
|
||||
options: [
|
||||
{ label: 'SOL', correct: false },
|
||||
{ label: 'CARACOL', correct: true },
|
||||
{ label: 'LUNA', correct: false },
|
||||
],
|
||||
emoji: '☀️',
|
||||
},
|
||||
functionalContext: 'Identificar palabras que terminan igual.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-rima-pan',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-rimas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec1-sonido-perro'],
|
||||
content: {
|
||||
instruction: '¿Qué rima con PAN?',
|
||||
text: 'PAN',
|
||||
audioText: 'Pan rima con...',
|
||||
options: [
|
||||
{ label: 'MANO', correct: false },
|
||||
{ label: 'PAN', correct: false },
|
||||
{ label: 'CHAPAN', correct: true },
|
||||
],
|
||||
emoji: '🍞',
|
||||
},
|
||||
functionalContext: 'Reconocer terminaciones comunes.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-rima-flor',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-rimas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec1-sonido-perro'],
|
||||
content: {
|
||||
instruction: 'Buscá la palabra que rima con FLOR',
|
||||
text: 'FLOR',
|
||||
audioText: 'Flor rima con...',
|
||||
options: [
|
||||
{ label: 'COLOR', correct: true },
|
||||
{ label: 'HOJA', correct: false },
|
||||
{ label: 'FLOR', correct: false },
|
||||
],
|
||||
emoji: '🌸',
|
||||
},
|
||||
functionalContext: 'Identificar rimas en palabras conocidas.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-rima-miel',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-rimas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec1-sonido-abeja'],
|
||||
content: {
|
||||
instruction: '¿Cuál rima con MIEL?',
|
||||
text: 'MIEL',
|
||||
audioText: 'Miel rima con...',
|
||||
options: [
|
||||
{ label: 'MIEL', correct: false },
|
||||
{ label: 'PAN', correct: false },
|
||||
{ label: 'PINCEL', correct: true },
|
||||
],
|
||||
emoji: '🍯',
|
||||
},
|
||||
functionalContext: 'Reconocer patrones sonoros finales.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
// --- Conteo de sílabas ---
|
||||
{
|
||||
id: 'lec2-silabas-2',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-silabas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec1-eco'],
|
||||
content: {
|
||||
instruction: 'Vamos a contar: ¿cuántas palmadas tiene MANO? (MA-NO)',
|
||||
text: 'MANO',
|
||||
audioText: 'MA-NO, dos palmadas',
|
||||
options: [
|
||||
{ label: '👏 Una', correct: false },
|
||||
{ label: '👏👏 Dos', correct: true },
|
||||
{ label: '👏👏👏 Tres', correct: false },
|
||||
],
|
||||
emoji: '✋',
|
||||
},
|
||||
functionalContext: 'Desarrollar conciencia de segmentación silábica.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-silabas-3',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-silabas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-silabas-2'],
|
||||
content: {
|
||||
instruction: '¿Cuántas partes tiene VENTANA? (VEN-TA-NA)',
|
||||
text: 'VENTANA',
|
||||
audioText: 'VEN-TA-NA, tres partes',
|
||||
options: [
|
||||
{ label: '👏 Dos', correct: false },
|
||||
{ label: '👏👏👏 Tres', correct: true },
|
||||
{ label: '👏👏👏👏 Cuatro', correct: false },
|
||||
],
|
||||
emoji: '🪟',
|
||||
},
|
||||
functionalContext: 'Segmentar palabras en sílabas.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-silabas-1',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-silabas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-silabas-2'],
|
||||
content: {
|
||||
instruction: '¿Cuántas palmadas para SOL? (SOL)',
|
||||
text: 'SOL',
|
||||
audioText: 'SOL, una sola palmada',
|
||||
options: [
|
||||
{ label: '👏 Una', correct: true },
|
||||
{ label: '👏👏 Dos', correct: false },
|
||||
{ label: '👏👏👏 Tres', correct: false },
|
||||
],
|
||||
emoji: '☀️',
|
||||
},
|
||||
functionalContext: 'Reconocer palabras monosílabas.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-silabas-4',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-silabas',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-silabas-3'],
|
||||
content: {
|
||||
instruction: '¿Cuántas palmadas para MARIPOSA? (MA-RI-PO-SA)',
|
||||
text: 'MARIPOSA',
|
||||
audioText: 'MA-RI-PO-SA, cuatro partes',
|
||||
options: [
|
||||
{ label: '👏 Dos', correct: false },
|
||||
{ label: '👏👏👏 Tres', correct: false },
|
||||
{ label: '👏👏👏👏 Cuatro', correct: true },
|
||||
],
|
||||
emoji: '🦋',
|
||||
},
|
||||
functionalContext: 'Segmentar palabras de 4 sílabas.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
// --- Sílaba inicial ---
|
||||
{
|
||||
id: 'lec2-inicial-ma',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-inicial',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-silabas-2'],
|
||||
content: {
|
||||
instruction: '¿Cuál empieza como MAMÁ? (MA-MÁ, MA-NO)',
|
||||
text: 'MAMÁ → MA...',
|
||||
audioText: 'Mamá empieza con MA',
|
||||
options: [
|
||||
{ label: 'MANO', correct: true },
|
||||
{ label: 'PATO', correct: false },
|
||||
{ label: 'SAPO', correct: false },
|
||||
],
|
||||
emoji: '👩',
|
||||
},
|
||||
functionalContext: 'Identificar el sonido inicial de las palabras.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-inicial-pa',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-inicial',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-inicial-ma'],
|
||||
content: {
|
||||
instruction: '¿Cuál empieza como PAPÁ? (PA-PÁ, PA-TO)',
|
||||
text: 'PAPÁ → PA...',
|
||||
audioText: 'Papá empieza con PA',
|
||||
options: [
|
||||
{ label: 'PERRO', correct: false },
|
||||
{ label: 'PATO', correct: true },
|
||||
{ label: 'CASA', correct: false },
|
||||
],
|
||||
emoji: '👨',
|
||||
},
|
||||
functionalContext: 'Generalizar identificación de sílaba inicial.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-inicial-ta',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-inicial',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-inicial-pa'],
|
||||
content: {
|
||||
instruction: 'Buscá la que empieza como TAZA (TA-ZA, TA-BLA)',
|
||||
text: 'TAZA → TA...',
|
||||
audioText: 'Taza empieza con TA',
|
||||
options: [
|
||||
{ label: 'MESA', correct: false },
|
||||
{ label: 'TAMBOR', correct: true },
|
||||
{ label: 'LÁPIZ', correct: false },
|
||||
],
|
||||
emoji: '☕',
|
||||
},
|
||||
functionalContext: 'Reconocer sílaba TA al inicio.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
{
|
||||
id: 'lec2-inicial-sa',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-inicial',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-inicial-ta'],
|
||||
content: {
|
||||
instruction: '¿Cuál empieza como SAPO? (SA-PO, SA-LTA)',
|
||||
text: 'SAPO → SA...',
|
||||
audioText: 'Sapo empieza con SA',
|
||||
options: [
|
||||
{ label: 'SAPO', correct: false },
|
||||
{ label: 'SALTA', correct: true },
|
||||
{ label: 'RANA', correct: false },
|
||||
],
|
||||
emoji: '🐸',
|
||||
},
|
||||
functionalContext: 'Identificar sonido SA al inicio.',
|
||||
errorType: 'discriminacion-auditiva',
|
||||
},
|
||||
// --- Segmentación ---
|
||||
{
|
||||
id: 'lec2-segmentar-casa',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-segmentacion',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-silabas-2', 'lec2-inicial-ma'],
|
||||
content: {
|
||||
instruction: 'Separala en partes: CA-SA. ¿Cuál tiene dos partes?',
|
||||
text: 'CA-SA',
|
||||
audioText: 'CA-SA',
|
||||
options: [
|
||||
{ label: 'SOL', correct: false },
|
||||
{ label: 'CASA', correct: true },
|
||||
{ label: 'MARIPOSA', correct: false },
|
||||
],
|
||||
emoji: '🏠',
|
||||
},
|
||||
functionalContext: 'Segmentar palabras en sílabas.',
|
||||
errorType: 'omision-letra',
|
||||
},
|
||||
{
|
||||
id: 'lec2-segmentar-mesa',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-segmentacion',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-segmentar-casa'],
|
||||
content: {
|
||||
instruction: 'ME-SA. ¿Cuál es?',
|
||||
text: 'ME-SA',
|
||||
audioText: 'ME-SA',
|
||||
options: [
|
||||
{ label: 'MESA', correct: true },
|
||||
{ label: 'MELÓN', correct: false },
|
||||
{ label: 'SAPO', correct: false },
|
||||
],
|
||||
emoji: '🪑',
|
||||
},
|
||||
functionalContext: 'Unir segmentos para formar palabras.',
|
||||
errorType: 'omision-letra',
|
||||
},
|
||||
{
|
||||
id: 'lec2-segmentar-pato',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-segmentacion',
|
||||
type: 'conciencia',
|
||||
prerequisites: ['lec2-segmentar-mesa'],
|
||||
content: {
|
||||
instruction: 'PA-TO. ¿Qué palabra formamos?',
|
||||
text: 'PA-TO',
|
||||
audioText: 'PA-TO',
|
||||
options: [
|
||||
{ label: 'PATO', correct: true },
|
||||
{ label: 'PERRO', correct: false },
|
||||
{ label: 'GATO', correct: false },
|
||||
],
|
||||
emoji: '🦆',
|
||||
},
|
||||
functionalContext: 'Sintetizar sílabas para formar palabras.',
|
||||
errorType: 'omision-letra',
|
||||
},
|
||||
{
|
||||
id: 'lec2-ordenar-silabas',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-orden',
|
||||
type: 'secuencia',
|
||||
prerequisites: ['lec2-segmentar-pato'],
|
||||
content: {
|
||||
instruction: 'Ordená las sílabas para formar una palabra',
|
||||
audioText: 'Ordená las sílabas',
|
||||
sequence: ['TO', 'PA'],
|
||||
emoji: '🧩',
|
||||
},
|
||||
functionalContext: 'Desarrollar habilidad de ordenamiento fonológico.',
|
||||
errorType: 'inversion-letra',
|
||||
},
|
||||
{
|
||||
id: 'lec2-ordenar-silabas-2',
|
||||
stage: 2,
|
||||
skillCode: 'conciencia-orden',
|
||||
type: 'secuencia',
|
||||
prerequisites: ['lec2-ordenar-silabas'],
|
||||
content: {
|
||||
instruction: 'Armá la palabra',
|
||||
audioText: 'Ordená estas sílabas',
|
||||
sequence: ['SA', 'CA'],
|
||||
emoji: '🧩',
|
||||
},
|
||||
functionalContext: 'Ordenar sílabas para formar palabras.',
|
||||
errorType: 'inversion-letra',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default stage
|
||||
Reference in New Issue
Block a user