{
    "service": "crucistudio-updates",
    "format": 1,
    "latest": {
        "version": "1.86",
        "file": "cruci_v_1.86.zip",
        "size": 215722,
        "sha256": "73fd66541e43521588b169abb5487d8473cf4687a4eb60b4a42f4f12d217aa33",
        "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.86.zip",
        "changelog": "## v1.86 — Numeración espacial coherente + carpetas separadas\n\n- Horizontales y verticales se numeran por sus posiciones iniciales, desde la fila superior hacia abajo y, en empates de fila, de izquierda a derecha.\n- Cada pista y su respuesta permanecen vinculadas por `entryId`. La lista impresa cambia de posición junto con la respuesta, nunca solo la cifra.\n- Las nuevas matrices evitan compartir la casilla inicial H\/V. Las antiguas con inicios compartidos muestran números de orientación explícitos cuando difieren.\n- ACTIVIDADES agrupa ejercicios sin resolver; RESULTADOS exclusivamente las soluciones activadas; informes y herramientas aparte.\n- Se mantiene la identidad de lotes, nombres exportados, dimensiones, márgenes, y el almacenamiento original.\n\n## v1.85 — Exportación separada de actividades y soluciones\n\n- Los crucigramas y sopas sin resolver se guardan exclusivamente en `ACTIVIDADES\/`.\n- Los documentos de respuestas se guardan exclusivamente en `RESULTADOS\/`, solo si se marca «Exportar también soluciones».\n- Las hojas complementarias de pistas sin respuestas siguen al crucigrama dentro de `ACTIVIDADES\/`.\n- El mismo criterio se aplica a la exportación ZIP y a la escritura directa en carpetas.\n- `INFORMES\/` y `HERRAMIENTAS\/` siguen separados; se mantienen nombres de archivo e identificadores para InDesign.\n- No cambia la generación, los diseños, los proyectos, los lotes ni el almacenamiento `storage\/`.\n\n## v1.84 — barra superior Pico: alineación y contraste (2026-11-03)\n\n- Unifica a 36 px la altura y centra verticalmente botones, enlaces, engranaje y texto en la barra del editor.\n- Corrige el contraste del texto y del icono al pasar el cursor: azul oscuro sobre azul claro, sin cambios de tamaño ni desplazamientos.\n- No modifica Spectrum, el motor de generación, configuraciones, archivos de lote ni datos de `storage\/`.\n- Actualización acumulativa mediante el actualizador existente.\n\n# Versión 1.83\n- Corrección crítica: una llave extra cerraba incorrectamente `batch.js`, producía `Unexpected token }` en Chromium e impedía iniciar la carga y el generador. Verificado con el parser real del navegador.\n- Seleccionar un lote guardado carga automáticamente sus temas, configuraciones y documentos, manteniendo «Cargar lote» como opción manual.\n- Las tarjetas plegadas se contraen de verdad hasta el encabezado, también en cuadrículas de dos columnas. Los botones de herramientas se ocultan con su sección.\n- Tooltips personalizados, dentro de la tarjeta y legibles en Pico y Spectrum; eliminados tooltips nativos recortados.\n- Abrir un lote expande «Regenerar lote» para mostrar los controles sin pasos adicionales.\n- No se alteran las API de persistencia, la generación, las exportaciones ni los archivos `storage\/`.\n\n## v1.82 — Paneles, edición de lotes y exportaciones organizadas\n- Dos columnas equilibradas: «Agregar nuevo lote» y «Mis lotes», «Regenerar lote» e «Importar contenido». Diseños de sopa y crucigrama conservados en dos columnas.\n- Eliminada la numeración de los encabezados principales de producción.\n- Paneles plegables independientes de la inicialización del motor, accesibles con botón de flecha y estado expandido\/contraído.\n- Controles de selección alineados para regenerar crucigramas, sopas o ambas, habilitar actividades con errores y exportar soluciones; soporte Pico y Spectrum.\n- Exportación ZIP: los documentos se ubican exclusivamente en RESULTADOS\/, los informes en INFORMES\/ y los conversores en HERRAMIENTAS\/.\n- Exportación directa a carpeta: usa los mismos subdirectorios, reemplazando los nombres en RESULTADOS sin generar sufijos por cada regeneración.\n- La actualización no reescribe storage\/projects.json ni cambia los identificadores de Recientes o nombres guardados del lote.\n\n## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a di"
    },
    "packages": [
        {
            "version": "1.86",
            "file": "cruci_v_1.86.zip",
            "size": 215722,
            "sha256": "73fd66541e43521588b169abb5487d8473cf4687a4eb60b4a42f4f12d217aa33",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.86.zip",
            "changelog": "## v1.86 — Numeración espacial coherente + carpetas separadas\n\n- Horizontales y verticales se numeran por sus posiciones iniciales, desde la fila superior hacia abajo y, en empates de fila, de izquierda a derecha.\n- Cada pista y su respuesta permanecen vinculadas por `entryId`. La lista impresa cambia de posición junto con la respuesta, nunca solo la cifra.\n- Las nuevas matrices evitan compartir la casilla inicial H\/V. Las antiguas con inicios compartidos muestran números de orientación explícitos cuando difieren.\n- ACTIVIDADES agrupa ejercicios sin resolver; RESULTADOS exclusivamente las soluciones activadas; informes y herramientas aparte.\n- Se mantiene la identidad de lotes, nombres exportados, dimensiones, márgenes, y el almacenamiento original.\n\n## v1.85 — Exportación separada de actividades y soluciones\n\n- Los crucigramas y sopas sin resolver se guardan exclusivamente en `ACTIVIDADES\/`.\n- Los documentos de respuestas se guardan exclusivamente en `RESULTADOS\/`, solo si se marca «Exportar también soluciones».\n- Las hojas complementarias de pistas sin respuestas siguen al crucigrama dentro de `ACTIVIDADES\/`.\n- El mismo criterio se aplica a la exportación ZIP y a la escritura directa en carpetas.\n- `INFORMES\/` y `HERRAMIENTAS\/` siguen separados; se mantienen nombres de archivo e identificadores para InDesign.\n- No cambia la generación, los diseños, los proyectos, los lotes ni el almacenamiento `storage\/`.\n\n## v1.84 — barra superior Pico: alineación y contraste (2026-11-03)\n\n- Unifica a 36 px la altura y centra verticalmente botones, enlaces, engranaje y texto en la barra del editor.\n- Corrige el contraste del texto y del icono al pasar el cursor: azul oscuro sobre azul claro, sin cambios de tamaño ni desplazamientos.\n- No modifica Spectrum, el motor de generación, configuraciones, archivos de lote ni datos de `storage\/`.\n- Actualización acumulativa mediante el actualizador existente.\n\n# Versión 1.83\n- Corrección crítica: una llave extra cerraba incorrectamente `batch.js`, producía `Unexpected token }` en Chromium e impedía iniciar la carga y el generador. Verificado con el parser real del navegador.\n- Seleccionar un lote guardado carga automáticamente sus temas, configuraciones y documentos, manteniendo «Cargar lote» como opción manual.\n- Las tarjetas plegadas se contraen de verdad hasta el encabezado, también en cuadrículas de dos columnas. Los botones de herramientas se ocultan con su sección.\n- Tooltips personalizados, dentro de la tarjeta y legibles en Pico y Spectrum; eliminados tooltips nativos recortados.\n- Abrir un lote expande «Regenerar lote» para mostrar los controles sin pasos adicionales.\n- No se alteran las API de persistencia, la generación, las exportaciones ni los archivos `storage\/`.\n\n## v1.82 — Paneles, edición de lotes y exportaciones organizadas\n- Dos columnas equilibradas: «Agregar nuevo lote» y «Mis lotes», «Regenerar lote» e «Importar contenido». Diseños de sopa y crucigrama conservados en dos columnas.\n- Eliminada la numeración de los encabezados principales de producción.\n- Paneles plegables independientes de la inicialización del motor, accesibles con botón de flecha y estado expandido\/contraído.\n- Controles de selección alineados para regenerar crucigramas, sopas o ambas, habilitar actividades con errores y exportar soluciones; soporte Pico y Spectrum.\n- Exportación ZIP: los documentos se ubican exclusivamente en RESULTADOS\/, los informes en INFORMES\/ y los conversores en HERRAMIENTAS\/.\n- Exportación directa a carpeta: usa los mismos subdirectorios, reemplazando los nombres en RESULTADOS sin generar sufijos por cada regeneración.\n- La actualización no reescribe storage\/projects.json ni cambia los identificadores de Recientes o nombres guardados del lote.\n\n## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a di"
        },
        {
            "version": "1.84",
            "file": "cruci_v_1.84.zip",
            "size": 214361,
            "sha256": "3c96cc6113042cd738d628e07adda275a284fce187e953ce322671a70a445e4d",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.84.zip",
            "changelog": "## v1.84 — barra superior Pico: alineación y contraste (2026-11-03)\n\n- Unifica a 36 px la altura y centra verticalmente botones, enlaces, engranaje y texto en la barra del editor.\n- Corrige el contraste del texto y del icono al pasar el cursor: azul oscuro sobre azul claro, sin cambios de tamaño ni desplazamientos.\n- No modifica Spectrum, el motor de generación, configuraciones, archivos de lote ni datos de `storage\/`.\n- Actualización acumulativa mediante el actualizador existente.\n\n# Versión 1.83\n- Corrección crítica: una llave extra cerraba incorrectamente `batch.js`, producía `Unexpected token }` en Chromium e impedía iniciar la carga y el generador. Verificado con el parser real del navegador.\n- Seleccionar un lote guardado carga automáticamente sus temas, configuraciones y documentos, manteniendo «Cargar lote» como opción manual.\n- Las tarjetas plegadas se contraen de verdad hasta el encabezado, también en cuadrículas de dos columnas. Los botones de herramientas se ocultan con su sección.\n- Tooltips personalizados, dentro de la tarjeta y legibles en Pico y Spectrum; eliminados tooltips nativos recortados.\n- Abrir un lote expande «Regenerar lote» para mostrar los controles sin pasos adicionales.\n- No se alteran las API de persistencia, la generación, las exportaciones ni los archivos `storage\/`.\n\n## v1.82 — Paneles, edición de lotes y exportaciones organizadas\n- Dos columnas equilibradas: «Agregar nuevo lote» y «Mis lotes», «Regenerar lote» e «Importar contenido». Diseños de sopa y crucigrama conservados en dos columnas.\n- Eliminada la numeración de los encabezados principales de producción.\n- Paneles plegables independientes de la inicialización del motor, accesibles con botón de flecha y estado expandido\/contraído.\n- Controles de selección alineados para regenerar crucigramas, sopas o ambas, habilitar actividades con errores y exportar soluciones; soporte Pico y Spectrum.\n- Exportación ZIP: los documentos se ubican exclusivamente en RESULTADOS\/, los informes en INFORMES\/ y los conversores en HERRAMIENTAS\/.\n- Exportación directa a carpeta: usa los mismos subdirectorios, reemplazando los nombres en RESULTADOS sin generar sufijos por cada regeneración.\n- La actualización no reescribe storage\/projects.json ni cambia los identificadores de Recientes o nombres guardados del lote.\n\n## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas q"
        },
        {
            "version": "1.83",
            "file": "cruci_v_1.83.zip",
            "size": 213663,
            "sha256": "bec4c53a4e3d725e065554ad53b549dcaae31e5bd7589ce7ce93e559b3fac4c7",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.83.zip",
            "changelog": "# Versión 1.83\n- Corrección crítica: una llave extra cerraba incorrectamente `batch.js`, producía `Unexpected token }` en Chromium e impedía iniciar la carga y el generador. Verificado con el parser real del navegador.\n- Seleccionar un lote guardado carga automáticamente sus temas, configuraciones y documentos, manteniendo «Cargar lote» como opción manual.\n- Las tarjetas plegadas se contraen de verdad hasta el encabezado, también en cuadrículas de dos columnas. Los botones de herramientas se ocultan con su sección.\n- Tooltips personalizados, dentro de la tarjeta y legibles en Pico y Spectrum; eliminados tooltips nativos recortados.\n- Abrir un lote expande «Regenerar lote» para mostrar los controles sin pasos adicionales.\n- No se alteran las API de persistencia, la generación, las exportaciones ni los archivos `storage\/`.\n\n## v1.82 — Paneles, edición de lotes y exportaciones organizadas\n- Dos columnas equilibradas: «Agregar nuevo lote» y «Mis lotes», «Regenerar lote» e «Importar contenido». Diseños de sopa y crucigrama conservados en dos columnas.\n- Eliminada la numeración de los encabezados principales de producción.\n- Paneles plegables independientes de la inicialización del motor, accesibles con botón de flecha y estado expandido\/contraído.\n- Controles de selección alineados para regenerar crucigramas, sopas o ambas, habilitar actividades con errores y exportar soluciones; soporte Pico y Spectrum.\n- Exportación ZIP: los documentos se ubican exclusivamente en RESULTADOS\/, los informes en INFORMES\/ y los conversores en HERRAMIENTAS\/.\n- Exportación directa a carpeta: usa los mismos subdirectorios, reemplazando los nombres en RESULTADOS sin generar sufijos por cada regeneración.\n- La actualización no reescribe storage\/projects.json ni cambia los identificadores de Recientes o nombres guardados del lote.\n\n## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n-"
        },
        {
            "version": "1.82",
            "file": "cruci_v_1.82.zip",
            "size": 211953,
            "sha256": "0ac7293c7c88680a7ebc4e8b77cd25e8421e568fb830f7769c0f9d6372c1220c",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.82.zip",
            "changelog": "## v1.82 — Paneles, edición de lotes y exportaciones organizadas\n- Dos columnas equilibradas: «Agregar nuevo lote» y «Mis lotes», «Regenerar lote» e «Importar contenido». Diseños de sopa y crucigrama conservados en dos columnas.\n- Eliminada la numeración de los encabezados principales de producción.\n- Paneles plegables independientes de la inicialización del motor, accesibles con botón de flecha y estado expandido\/contraído.\n- Controles de selección alineados para regenerar crucigramas, sopas o ambas, habilitar actividades con errores y exportar soluciones; soporte Pico y Spectrum.\n- Exportación ZIP: los documentos se ubican exclusivamente en RESULTADOS\/, los informes en INFORMES\/ y los conversores en HERRAMIENTAS\/.\n- Exportación directa a carpeta: usa los mismos subdirectorios, reemplazando los nombres en RESULTADOS sin generar sufijos por cada regeneración.\n- La actualización no reescribe storage\/projects.json ni cambia los identificadores de Recientes o nombres guardados del lote.\n\n## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las s"
        },
        {
            "version": "1.81",
            "file": "cruci_v_1.81.zip",
            "size": 209475,
            "sha256": "54e0c07935a1cd7e0ccea835f961bfcd297d9a78b55f9200a66d025e1b21f820",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.81.zip",
            "changelog": "## v1.81 — Restauración de la lista de lotes\n- «Mis lotes» se consulta de forma independiente del motor de generación, evitando el estado «Buscando lotes…» permanente cuando otro módulo JS no inicializa.\n- No requiere que cargue un nuevo módulo JS para inicializar el generador; la función selectiva está incorporada en el archivo principal.\n- La consulta devuelve mensaje explícito si no hay lotes o si el servidor falla\/expira (12 s). Incluye diagnóstico en depurador.\n- API: lista nombres\/IDs de manifiestos conservados sin reconstruir cada proyecto histórico. Cuando no hay lotes nombrados, mantiene la recuperación desde Recientes.\n- Ninguna migración ni escritura sobre storage\/projects.json; se conservan diseños, IDs, nombres y regeneración selectiva de v1.80.\n\n## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen"
        },
        {
            "version": "1.80",
            "file": "cruci_v_1.80.zip",
            "size": 207663,
            "sha256": "0e8bfb0c232d2159beeeccb43f269faf494ef3d6996d6da54ef81b3861722ac5",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.80.zip",
            "changelog": "## v1.80 — Regenerar lote por tipo (2026-11-02)\n- «Regenerar lote»: elegir Crucigramas, Sopas de letras o ambas mediante dos casillas.\n- El lote debe cargarse previamente desde Mis lotes; se regeneran TODAS las actividades guardadas del tipo marcado, no solo las filas visibles con check.\n- La distribución se calcula desde cero, sin reutilizar el tablero anterior ni caché de vista previa.\n- Se reutilizan ajustes, IDs, nombres y claves de guardado de la versión del lote; no se modifican los documentos de tipos no marcados.\n- Un crucigrama desconectado\/incompleto es rechazado por el motor y por la API; en caso de error se muestra actividad fallida y se bloquea la exportación de un lote regenerado parcialmente.\n- Se conservan formato de hoja, márgenes, tamaño de casillas y nombres de archivos para sustituir en InDesign.\n\n# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en to"
        },
        {
            "version": "1.79",
            "file": "cruci_v_1.79.zip",
            "size": 205488,
            "sha256": "8624ea3c8b393c1f25c88b4e7460c3c25e2969a906091be7497416e2cf5775be",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.79.zip",
            "changelog": "# Cambios v1.79\n\n- **Mis lotes**: cada lote tiene un nombre editable («Lote 01», «Lote clientes», etc.) y botones **Guardar lote** y **Cargar lote**.\n- Al cargar, se restauran los temas, preguntas, respuestas, selección, modelos, formato, nombres y los documentos ya generados, listos para exportarse sin volver a importar el DOCX ni regenerar previamente.\n- Los lotes distintos creados con el mismo documento de origen mantienen identificadores independientes; la regeneración dentro del mismo lote reutiliza los nombres originales, evitando volver a vincular archivos en InDesign cuando se reemplazan en la misma carpeta.\n- Los lotes guardados en la v1.78 siguen siendo recuperables. Si alguno ya no tiene un documento disponible, se informa cuántos faltan, sin sustituir otros archivos.\n- No se alteran el motor conectado de v1.78, hojas, márgenes, medidas de casillas ni reglas de pistas.\n- Los proyectos se conservan en `storage\/` y no forman parte del ZIP de actualización.\n\n# Cambios v1.78 — Cruces conectados y recuperar lote completo\n\n- Crucigramas generados: todas las respuestas forman una única red mediante cruces auténticos H\/V; no se aceptan palabras aisladas ni componentes separados.\n- Búsqueda escalonada: intenta primero las separaciones clásicas y, cuando la cuadrícula fija es demasiado exigente, permite un encaje más compacto SIN soltar palabras de la red. Nunca reduce casillas, cambia orientaciones ni elimina respuestas.\n- El motor y la API PHP verifican la conectividad: un crucigrama desconectado o incompleto no reemplaza un documento válido.\n- Recuperación de lotes completos: conserva texto fuente, 80 temas, pistas, ajustes visuales, actividades elegidas, referencias de Recientes, nombres y formato de exportación.\n- Regeneración estable: reutiliza el ID y el nombre de cada actividad y sustituye los archivos de exportación con el mismo nombre. Permite elegir la misma carpeta de trabajo para actualizar los vínculos de InDesign.\n- Migración desde Recientes: reconstruye un lote anterior cuando las actividades guardadas se identifican sin ambigüedad; no mezcla documentos de lotes distintos.\n- El archivo de proyectos y configuraciones del usuario permanece en storage\/ y nunca se incluye en el ZIP.\n- No cambia hoja de 150×230 mm, márgenes (12, 12, 18, 12), tamaño de casillas, ni el ajuste de las 20 pistas en una sola hoja de v1.77.\n\n# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de le"
        },
        {
            "version": "1.77",
            "file": "cruci_v_1.77.zip",
            "size": 199076,
            "sha256": "31d4be69fa279a0d56c0ab8354b5c6ff10b5f88a0135cb95c2d6e8b112385893",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.77.zip",
            "changelog": "# Cambios v1.77\n\n- Una sola hoja por crucigrama: tablero y 10 pistas horizontales + 10 verticales.\n- Las pistas se ajustan automáticamente en tamaño, interlineado y separación sin cambiar casillas.\n- Se conservan hoja de 150 × 230 mm, márgenes asimétricos y orientaciones originales.\n- Se elimina la paginación adicional del lote aunque un modelo anterior la tenga activada.\n- El ajuste se usa por igual en vista previa, documentos guardados y exportaciones.\n\n## v1.76 — paginación editorial de pistas completas\n\n- Si todas las pistas caben juntas en una hoja complementaria, se mantienen completas en esa hoja (10 H y 10 V), sin dejar preguntas huérfanas en páginas casi vacías.\n- Si las pistas y el tablero sí caben juntos en la primera hoja, se conservan allí.\n- Si las pistas exceden una hoja completa, se paginan respetando los párrafos y el orden H\/V, sin cortar preguntas.\n- Conserva 150×230 mm, márgenes asimétricos originales, casillas del diseño, tamaño de letra, interlineado y almacenamiento.\n\n## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n"
        },
        {
            "version": "1.75",
            "file": "cruci_v_1.75.zip",
            "size": 197969,
            "sha256": "1ace315282f484d05692decb5cdec0d7c20d3aa9b4177c81f09313efe5a31903",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.75.zip",
            "changelog": "## v1.75 — Corrección de hoja fija 150 × 230 mm, márgenes y pistas completas\n\n- Ancho útil calculado con márgenes izquierdo y derecho independientes; coordenada horizontal centrada dentro del área útil, no la hoja completa.\n- El parser DOCX no confunde «La materia prima» del tema 80 con un encabezado editorial.\n- Casillas y hoja mantienen sus dimensiones originales. No se amplía la altura ni se reduce la casilla.\n- Cuando las pistas no caben con los parámetros del modelo, se generan hojas complementarias con el mismo formato y el mismo estilo de pistas.\n- Las hojas complementarias se exportan junto con el tablero como archivos adicionales del lote (PNG, JPG, SVG o IDML).\n- Se conserva estilo solo casillas usadas, orden de pistas horizontales\/verticales, numeración independiente, almacenamiento y actualizador.\n\n## v1.74 — Respeto estricto del diseño original en crucigramas por lotes\n\n- Modelo aplicado: se preservan exactamente formato de preguntas, columnas H\/V, tipografía, espaciado y márgenes.\n- No se convierte automáticamente a texto corrido ni se reduce la tipografía o el tamaño de las casillas.\n- Estilo «solo casillas utilizadas»: se recortan filas\/columnas no usadas para dimensionar y dibujar.\n- Se eliminó el centrado vertical del conjunto que dejaba un hueco encima del tablero.\n- Si faltara espacio vertical, se amplía solo la altura física del soporte manteniendo todas las opciones editoriales del modelo.\n- Se incorpora crossClueParagraphGapMm a las propiedades copiadas desde diseños guardados.\n- Respeta orden de pistas H\/V y sus números originales de lista.\n\n## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo "
        },
        {
            "version": "1.73",
            "file": "cruci_v_1.73.zip",
            "size": 195961,
            "sha256": "b5d16485220c1f5802d29fe0613bbf0922c6f12ad13069da7f112a35ce5ea867",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.73.zip",
            "changelog": "## v1.73 — Vista de lote sin bloqueos de casillas\n\n- Resuelve el fallo de vista previa «La hoja no admite casillas de 6.00 mm; máximo 5.15 mm» al aplicar modelos guardados.\n- Redistribuye automáticamente el espacio de las pistas, sin reducir el tamaño físico de ninguna casilla.\n- Si el texto no cabe aun después de la redistribución, ajusta solo la altura de la hoja de salida, conservando el ancho, los márgenes y el tamaño de casilla. Informa la medida final de la hoja.\n- El mismo ajuste se emplea para previsualizar y generar el lote, de modo que lo visto corresponde al documento guardado.\n- Sigue conservando proyectos y configuraciones en `storage\/`.\n\n## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, "
        },
        {
            "version": "1.72",
            "file": "cruci_v_1.72.zip",
            "size": 194019,
            "sha256": "7a70a07fabf0a82a25b787b1c8720f6a5788d3f22f5e9c142a36067eb1d85db6",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.72.zip",
            "changelog": "## v1.72 — Corrección de modelos de lote y tamaño de casilla\n\n- Al pulsar **Aplicar diseño**, la medida física guardada del modelo se respeta, incluido `sharedCellSize` de sopas de letras y crucigramas.\n- En modelos anteriores sin medida fija declarada, se recupera su tamaño natural mediante la cuadrícula y el diseño almacenados.\n- Se elimina el nuevo bloqueo arbitrario de 8 mm que introducía v1.71; una plantilla que antes funcionaba no queda invalidada por ese límite.\n- Las casillas de ambos tipos se mantienen de igual tamaño, priorizando el mayor tamaño elegido en modelos y sin reducirlo para acomodar otros temas.\n- No se modifica ni elimina la carpeta `storage\/`, que contiene los documentos y configuraciones existentes.\n\n## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copi"
        },
        {
            "version": "1.71",
            "file": "cruci_v_1.71.zip",
            "size": 192791,
            "sha256": "92fe4a80f6dcd939035b66cfbc9a6579235e90f84d1233fc2a13aabc10022d05",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.71.zip",
            "changelog": "## v1.71 — Motor de encaje y casillas grandes uniformes\n\n- Los crucigramas vuelven a distribuir todas las entradas en la matriz seleccionada respetando H\/V y sin redimensionar casillas.\n- Se agregó búsqueda de restricciones con retroceso para matrices difíciles, con verificación final de 20\/20 respuestas.\n- En lotes, crucigramas y sopas comparten una medida física de casilla en mm. El renderizador no reduce medidas fijadas.\n- El motor conserva la zona reservada y la numeración de cada pista y no elimina palabras silenciosamente.\n- Al preparar un lote, verifica el espacio real en la hoja para la rejilla y el texto antes de guardar cada documento.\n- No modifica ni incluye storage\/, credenciales, proyectos ni otros datos del usuario.\n\nNota: ninguna cuadrícula de dimensiones fijas puede alojar cualquier combinación arbitraria de palabras, y una hoja de papel finita tampoco admite tamaños ilimitados. Si la configuración fuera geométricamente imposible, la operación debe fallar sin generar un documento incompleto ni achicar las casillas.\n\n## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen"
        },
        {
            "version": "1.70",
            "file": "cruci_v_1.70.zip",
            "size": 186253,
            "sha256": "0ef5adce0dd9c5ce5dda67c50520ee57f07d07341bf261e86e6fd8727e798e0c",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.70.zip",
            "changelog": "## v1.70 — Lectura robusta de pistas y advertencias generables\n- Reconstruye las pistas de Word\/DOCX que abarcan varios párrafos o saltos de página aunque Word haya ocultado la numeración automática; la respuesta final entre paréntesis determina el cierre de cada pista.\n- Ninguna frase descriptiva puede convertirse silenciosamente en una respuesta del crucigrama: los registros sin respuesta verificable generan advertencia y no se inventan soluciones.\n- Las sopas que tienen 19 palabras frente a 20 declaradas siguen siendo generables y seleccionables de inmediato; se muestran como válidas con advertencia en la tabla y los informes Excel.\n- Distingue advertencias no bloqueantes de impedimentos de generación, conservando orden, orientaciones, preguntas, respuestas, plantilla visual y tamaño de casillas.\n- El actualizador conserva los proyectos almacenados y la configuración existente.\n\n## v1.69 — Lotes permisivos sin omitir respuestas repetidas\n- Genera sopas y crucigramas con palabras repetidas: cada pista de crucigrama conserva su identidad y posición, aunque comparta el mismo texto con otra.\n- Las diferencias respecto a la cantidad declarada se informan como observación; nunca impiden por sí solas generar o exportar.\n- Las sopas conservan también las entradas repetidas; el motor las coloca sin duplicar exactamente la misma trayectoria.\n- El analizador del PDF reconoce correctamente los límites de preguntas en el tema 27 y excluye texto editorial posterior en los temas 40 y 60.\n- La numeración y las pistas de respuestas repetidas se preservan en las vistas y SVG; apertura compatible con documentos guardados anteriormente sin identificadores.\n- Se mantienen los tamaños de casillas, las zonas reservadas configuradas, los diseños, temas visuales y el actualizador.\n- Las secciones vacías o un contenido técnicamente imposible de construir continúan informándose como no generadas, nunca como archivos falsos.\n\n## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. "
        },
        {
            "version": "1.68",
            "file": "cruci_v_1.68.zip",
            "size": 183662,
            "sha256": "cd30521690b8bbcf029abb9903e6b5f661d9abc661d6580aae9f82da391180bb",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.68.zip",
            "changelog": "## v1.68 — Reserva exacta por número de casillas\n- Editor: ancho y alto de la zona reservada en casillas enteras, elegibles directamente por el usuario.\n- Lotes: mismas dimensiones exactas, tanto con posición fija como ubicación aleatoria.\n- El generador redistribuye las palabras sin disminuir la reserva ni variar el tamaño físico de las casillas.\n- Se rechaza una reserva incompatible, sin recortarla silenciosamente.\n- Corrección del modo «solo casillas usadas» para que no recorte una zona reservada.\n- Migración compatible con porcentajes guardados por versiones anteriores, preservando el tablero al abrir desde Recientes.\n\n## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también acti"
        },
        {
            "version": "1.67",
            "file": "cruci_v_1.67.zip",
            "size": 182902,
            "sha256": "e190ffb61a0f9392160bd4f44938f6ad11fb3a456709d7b82842f421e896d635",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.67.zip",
            "changelog": "## v1.67 — Zona reservada automática en casillas y contraste Spectrum\n\n- Solo se elige activar la reserva y su anclaje. El motor calcula el máximo de casillas viable y reduce exclusivamente la reserva cuando es necesario.\n- No existen controles de porcentajes ni cantidades manuales. Se muestra la medida real en casillas.\n- No se amplía la cuadrícula para forzar el espacio: las casillas mantienen sus dimensiones; se evita la reducción silenciosa de la medida fija.\n- En Lotes el ajuste automático es consistente con el tamaño común de casilla y conserva diseños previos.\n- Mejorado contraste de etiquetas, selectores e indicaciones en Spectrum.\n\n## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la c"
        },
        {
            "version": "1.66",
            "file": "cruci_v_1.66.zip",
            "size": 181821,
            "sha256": "0e393b2272e53567b9bb049dc046385507d09902bc222cd6ce847bf2a8264c1b",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.66.zip",
            "changelog": "## v1.66 — Alineación vertical de bloques de texto\n\n- Sopa: alinear el bloque completo de palabras arriba, centro o abajo en el espacio disponible.\n- Crucigrama: posicionar el conjunto de preguntas en los márgenes superior\/inferior o centrado, con opción original junto a la cuadrícula.\n- Los ajustes se guardan en Recientes y se aplican también en Lotes y en todos los exportadores.\n- Las posiciones de las letras, el tamaño de casilla y los márgenes no se modifican.\n\n## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapa"
        },
        {
            "version": "1.65",
            "file": "cruci_v_1.65.zip",
            "size": 180963,
            "sha256": "f6d6f1199df0796d368c1ed63180d91db656866903c76cc24a4a2e6d23d7fd27",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.65.zip",
            "changelog": "## v1.65 — Regeneración explícita de posiciones\n- En sopa de letras: botón «Regenerar posiciones de palabras en sopa».\n- En crucigrama: botón «Regenerar posiciones de palabras en crucigrama».\n- El editor sigue generando automáticamente si cambian las respuestas.\n- El botón busca una nueva distribución sin alterar palabras, preguntas ni opciones de diseño.\n- Si la búsqueda no encuentra otra distribución válida, se mantiene la anterior.\n- Abrir y guardar documentos no fuerza regeneración.\n\n## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un cr"
        },
        {
            "version": "1.64",
            "file": "cruci_v_1.64.zip",
            "size": 180061,
            "sha256": "5755a949227d3b98b47c8d4e74b89cee15a3507542569043c140a3bb89d07127",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.64.zip",
            "changelog": "## v1.64 — Análisis inteligente de contenido en el editor individual\n- Pegado de listas correctas sin modificación; cuando hay viñetas, numeración, espacios o categorías, se limpia automáticamente.\n- Sopa de letras: una respuesta normalizada por línea, sin viñetas ni espacios internos innecesarios.\n- Crucigrama: el analizador reconoce HORIZONTALES y VERTICALES, extrae respuestas al final de pistas entre paréntesis y conserva las preguntas en cada orientación.\n- Entrada por archivo PDF, DOCX, DOC, TXT o MD y botón «Analizar y limpiar lo escrito» en el editor individual, utilizando el analizador documental de Lotes y la misma API PHP.\n- Selección del tema cuando el texto\/documento contiene varias actividades; no se mezclan temas.\n- Sin modificaciones de datos guardados de Recientes, cuadrículas, exportadores o actualizador.\n\n## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de "
        },
        {
            "version": "1.63",
            "file": "cruci_v_1.63.zip",
            "size": 174317,
            "sha256": "fa3563847deac25d80109e628ba35f1643dd51d662642d999e0c2bdb4166a7d8",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.63.zip",
            "changelog": "## v1.63 — Flechas de selectores centradas verticalmente\n- Se reemplaza el indicador nativo de los selectores por un chevrón SVG con `background-position` centrado, tanto en Pico como en Spectrum.\n- La flecha del selector de Google Fonts ahora se dibuja geométricamente, sin depender de la línea base de un carácter Unicode.\n- Sin cambios en los motores de crucigramas, sopas, lotes, actualizaciones ni almacenamiento.\n\n## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Ex"
        },
        {
            "version": "1.62",
            "file": "cruci_v_1.62.zip",
            "size": 173332,
            "sha256": "c1868a4e6c902fbe27ac87d30ea88cb7300c198ce857ca751875e2713fb72440",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.62.zip",
            "changelog": "## v1.62 — Temas Pico y Spectrum seleccionables en Configuración\n- Alternador Pico \/ Spectrum en Configuración para Editor y Lotes. Cambio visual en vivo sin recarga ni alteraciones de los documentos.\n- Persistencia de preferencia visual en navegador, también entre Editor, Lotes y acceso. Pico queda como valor inicial.\n- Spectrum oscuro con paneles compactos de estilo editorial profesional. CSS local, sin dependencias de red.\n- Sin cambios en el motor de generación, exportación ni los datos de storage.\n\n## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, d"
        },
        {
            "version": "1.61",
            "file": "cruci_v_1.61.zip",
            "size": 168554,
            "sha256": "f66d8213a07d6c4055d7c39be0bec6cba1a8a5078063e2cc50f87de0c9e5b084",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.61.zip",
            "changelog": "## v1.61 — interfaz de escritorio estilo Pico CSS\n- Capa visual local de inspiración Pico CSS v2: controles, tarjetas, tablas, paneles, modales, foco y estados consistentes.\n- Prioridad a escritorios: espacio de trabajo amplio y paneles de vistas previas sin modificar su motor de lienzos.\n- Se mantiene el funcionamiento de Recientes, Lotes, exportaciones, tipografías y actualizador.\n- No requiere cargar CSS desde un CDN; archivo `assets\/css\/pico-desktop.css`.\n\n## v1.60 — Tipo de documento inmutable al guardar\n\n- Al guardar por primera vez, el tipo de actividad queda fijado para ese documento.\n- Al abrir desde Recientes o al cambiar de pestaña, el selector muestra el tipo guardado en estado atenuado, sin permitir modificaciones.\n- Guardar como conserva el tipo original; Nuevo permite elegir otra actividad.\n- El servidor rechaza guardar una revisión que intente convertir una sopa en crucigrama o viceversa.\n- Las funciones anteriores y el almacenamiento de documentos se conservan.\n\n## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos rea"
        },
        {
            "version": "1.59",
            "file": "cruci_v_1.59.zip",
            "size": 163730,
            "sha256": "bb117b2819a428baa9b4532cb389f2621c777d86fe2bdc42e64219804986841d",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.59.zip",
            "changelog": "## v1.59 — Vista previa real de Google Fonts\n- Lista a dos columnas: nombre de la fuente y muestra «Aa Bb 123» renderizada con la familia elegida.\n- Las muestras cargan solo al desplazarse a filas visibles, con concurrencia limitada para evitar descargar todo el catálogo.\n- Mientras carga se indica el estado. Si Google Fonts no está disponible, muestra «Sin vista previa» en lugar de fingir una fuente diferente; los nombres siguen siendo seleccionables.\n- Conserva búsqueda, navegación por teclado, selección, editor, lotes y exportadores de v1.58.\n- No incluye ni modifica almacenamiento de proyectos.\n\n## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de a"
        },
        {
            "version": "1.58",
            "file": "cruci_v_1.58.zip",
            "size": 162385,
            "sha256": "ee58096cd812f1f2f0d9451e70ed83bf1c3b26023089856ece43ac1b66eb93c0",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.58.zip",
            "changelog": "## v1.58 — Selector visual de Google Fonts\n- Al pulsar una fuente se abre de inmediato el listado navegable. Se puede elegir sin escribir; búsqueda opcional y teclado.\n- Funciona en editor y en diseños por lotes, con catálogo inicial sin conexión y catálogo completo si está disponible.\n- Respeta el guardado y exportación de la fuente elegida; no modifica archivos de proyectos.\n\n## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentaci"
        },
        {
            "version": "1.57",
            "file": "cruci_v_1.57.zip",
            "size": 159709,
            "sha256": "1b2fcc0fb5988b923efead6f9c1804c12c84856551b7c5d83bd49e2829afda84",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.57.zip",
            "changelog": "## v1.57 – Recuperación coordinada del actualizador\n- Solo una operación de finalización PHP puede estar en curso desde el editor y el módulo de rescate; evita carreras de activación y mensajes falsos.\n- La recuperación al abrir la aplicación consulta primero si hay una actualización pendiente. No ejecuta finish.php cuando no hay nada que activar.\n- La instalación verifica la versión activa antes de declarar éxito. Conserva respaldo SHA-256 de `storage\/projects.json` e historial de versiones separado.\n- Compatible con el formato de actualizaciones `cruci_v_X.Y.zip`, manteniendo el flujo Configuración → Actualizaciones → Instalar.\n- **Limitación de origen**: si el motor 1.53\/1.54 agota PHP antes de copiar los archivos nuevos, ningún cambio del ZIP posterior puede ejecutarse en esa petición. No afirmar que se ha reparado una instalación en ese estado.\n\n## v1.56 – Actualizaciones automáticas recuperables\n- La instalación desde Configuración > Actualizaciones completa internamente la activación diferida del motor PHP.\n- Si la instalación previa dejó un motor pendiente, la aplicación intenta reactivarlo automáticamente al abrir la página, sin botón adicional.\n- Verifica la versión efectiva antes de confirmar que la actualización terminó. Si hay error, no declara éxito.\n- Mantiene historial de versiones separado del archivo de proyectos y no elimina ni modifica storage\/projects.json.\n- No se requieren CMD, PowerShell, reemplazos de archivos ni convertidores para actualizar la aplicación.\n\n## v1.55 — Actualizador de memoria constante y lote IDML→INDD\n\n- El historial de actualizaciones se guarda en `storage\/updates\/history.json`, separado de los proyectos. La migración del historial anterior lee solo el tramo final del JSON; no modifica `projects.json`.\n- Respaldo e integridad de proyectos por streams y SHA-256, sin cargar ni convertir a objetos todo el historial y los documentos.\n- Los IDML de un lote pueden convertirse a archivos INDD nativos con `CONVERTIR_IDML_A_INDD.jsx`: InDesign instalado procesa todos los IDML y los guarda en `INDD\/` sin abrirlos ni copiarlos manualmente. El exportador IDML adjunta el script y las instrucciones al ZIP y al guardado por carpeta.\n- Un archivo `.indd` auténtico debe ser creado por Adobe InDesign; el navegador y PHP no pueden sustituir el motor de composición de Adobe.\n- Conservadas las características de lotes, Recientes, exportación y borrado múltiple de v1.54.\n\n## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentación no modifican el documento exportado, la cuadrícula, la numeración, los proyectos guardados ni el motor de lotes.\n- Validación de navegador y apertura efectiva en Adobe InDesign: consultar informe de pruebas.\n\n# iRaffe Estudio de crucigramas 1.43\n\n- Corrección final de referencias: H1, H2... y V1, V2... nunca cambian a números de lectura por coordenadas, ni en Respuestas, ni en l"
        },
        {
            "version": "1.54",
            "file": "cruci_v_1.54.zip",
            "size": 154493,
            "sha256": "34a797c13223e4773940e345723609e440823e72f8f32a4e703fddd3a984349c",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.54.zip",
            "changelog": "## v1.54 — Recientes: apertura fiel de lotes y eliminación múltiple\n- Al abrir una actividad generada por Lotes se recuperan sus respuestas y pistas por orientación directamente de las entradas colocadas; se conserva la cuadrícula guardada, sin generar una diferente.\n- Recuperación compatible con documentos anteriores incompletos: no se muestran palabras «undefined» y se reconstruyen los campos de edición desde las respuestas realmente colocadas. Los documentos no se sobrescriben automáticamente.\n- Biblioteca de Recientes: seleccionar todos los resultados, desmarcar individuales, limpiar selección y eliminar seleccionados con confirmación clara. Se mantienen intactos los no seleccionados.\n- Eliminación múltiple transaccional en PHP, con validación de IDs, verificación CSRF, rechazo completo ante conflictos y escritura atómica.\n- El guardado manual permite listas de más de 60 respuestas cuando caben en la cuadrícula y el proyecto cumple los límites técnicos; se elimina la discrepancia con el guardado de lotes.\n- La actualización no modifica el almacenamiento del usuario: se debe conservar storage\/projects.json.\n\n## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentación no modifican el documento exportado, la cuadrícula, la numeración, los proyectos guardados ni el motor de lotes.\n- Validación de navegador y apertura efectiva en Adobe InDesign: consultar informe de pruebas.\n\n# iRaffe Estudio de crucigramas 1.43\n\n- Corrección final de referencias: H1, H2... y V1, V2... nunca cambian a números de lectura por coordenadas, ni en Respuestas, ni en los lotes, ni en documentos antiguos.\n- Cuando dos respuestas comienzan en una misma casilla se muestran sus dos referencias con orientación explícita (ej. H1 \/ V3); no se oculta la primera detrás de la segunda.\n- La tabla de correspondencia de lotes muestra Hn\/Vn para los inicios coincidentes.\n- La opción de numeración clásica deja de estar disponible porque es incompatible con la numeración independiente solicitada.\n\n- La cuadrícula de crucigramas queda centrada respecto al eje físico de la página, aun con márgenes izquierdo\/derecho diferentes, en vista previa, exportaciones y lotes.\n- El cálculo utiliza una banda segura simétrica: nunca desplaza el crucigrama hacia izquierda o derecha para compensar márgenes distintos.\n- El tamaño manual de casilla se limita al área útil disponible; se emite aviso si resulta demasiado grande.\n- Las pistas incluyen kerning métrico\/desactivado, tracking (milésimas de em) e interlineado (pt, 0 automático).\n- Opciones incorporadas en editor y lotes y persistidas en diseños guardados.\n- PNG, SVG e IDML comparten la geometría; SVG conserva letter-spacing y font-kerning; IDML crea texto editable con Tracking, KerningMethod y Leading.\n- Preserva las entradas separadas HORIZONTALES\/VERTICALES, la numeración 1..n y las exportaciones anteriores.\n- La apertura en una instalación real de Adobe InDesign continúa pendiente de verificación.\n\n# iRaffe Estudio de crucigramas 1.42\n\n- Pistas numeradas sin saltos: HORIZONTALES 1..n y VERTICALES 1..m, por párrafos o texto corrido.\n- Corregido el cambio involuntario a numeración clásica al activar preguntas.\n- Vista previa, exportaciones y motor de lotes comparten exactamente la misma numeración; soporta dos inicios en la misma casilla.\n\n\n- Opciones de pistas visibles bajo HORIZONTALES y VERTICALES, en Contenido.\n- Entrada por respuestas o preguntas con respuesta final.\n- Modo de preguntas completas activa la impresion de pistas, reversible.\n- Corregida la medida de la altura visible de palabras en la lista de la sopa: misma linea base antes de measureText y fillText.\n- Aclarada la entrada de orientaciones en editor de lotes.\n- Conserva modos SVG, IDML, PNG y JPG.\n\n# iRaffe Estudio de crucigramas 1.41\n\n- HORIZONTALES y VERTICALES siempre en campos independientes, en ambos modos de entrada.\n- Alineación óptica vertical de cada casilla de chequeo y su palabra en la sopa de letras (Canvas, SVG e IDML).\n- Modo 1: únicamente respuestas; modo 2: pregunt"
        },
        {
            "version": "1.53",
            "file": "cruci_v_1.53.zip",
            "size": 151377,
            "sha256": "25d3998481774bd4c70b683d6d01a052e478ad82da0b9efb8f74d9148e5555b0",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.53.zip",
            "changelog": "## v1.53 — Casillas uniformes y reemplazo en lotes\n\nLos crucigramas del mismo lote usan una única dimensión física de casilla, calculada con las medidas de todas las cuadrículas y pistas antes de guardar. Se respeta el tamaño explícito sin escalar individualmente; los que no caben muestran error. Regenerar un tema del mismo archivo actualiza el registro de Recientes aun si cambian respuestas. En carpeta se sobrescriben los archivos de igual nombre, sin sufijos adicionales. No se altera el módulo de sopas de letras.\n\n## v1.52 — Exportación de lotes sin restricción por marca de navegador\n- El formato ZIP único continúa disponible en Firefox, Brave, Safari, Chrome, Edge y demás navegadores con descargas estándar.\n- Se elimina el bloqueo por marca o por ausencia de `showDirectoryPicker`: ambas opciones de destino siguen visibles.\n- Cuando el navegador permite escritura en carpetas, se abre el selector seguro y se exportan los archivos separados.\n- Si no ofrece esa API, la opción de carpeta solicita permiso explícito para descargar un único ZIP, guardarlo donde se desee y extraerlo. No se afirma falsamente que el navegador pueda descomprimir o escribir archivos automáticamente.\n- Cuando el navegador deniega el acceso directo, puede aceptarse el ZIP; cancelar mantiene intacto el lote.\n- Sin descargas individuales, fragmentación de ZIP ni sobrescritura silenciosa de archivos; el informe de incidencias y las soluciones se mantienen.\n\n## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentación no modifican el documento exportado, la cuadrícula, la numeración, los proyectos guardados ni el motor de lotes.\n- Validación de navegador y apertura efectiva en Adobe InDesign: consultar informe de pruebas.\n\n# iRaffe Estudio de crucigramas 1.43\n\n- Corrección final de referencias: H1, H2... y V1, V2... nunca cambian a números de lectura por coordenadas, ni en Respuestas, ni en los lotes, ni en documentos antiguos.\n- Cuando dos respuestas comienzan en una misma casilla se muestran sus dos referencias con orientación explícita (ej. H1 \/ V3); no se oculta la primera detrás de la segunda.\n- La tabla de correspondencia de lotes muestra Hn\/Vn para los inicios coincidentes.\n- La opción de numeración clásica deja de estar disponible porque es incompatible con la numeración independiente solicitada.\n\n- La cuadrícula de crucigramas queda centrada respecto al eje físico de la página, aun con márgenes izquierdo\/derecho diferentes, en vista previa, exportaciones y lotes.\n- El cálculo utiliza una banda segura simétrica: nunca desplaza el crucigrama hacia izquierda o derecha para compensar márgenes distintos.\n- El tamaño manual de casilla se limita al área útil disponible; se emite aviso si resulta demasiado grande.\n- Las pistas incluyen kerning métrico\/desactivado, tracking (milésimas de em) e interlineado (pt, 0 automático).\n- Opciones incorporadas en editor y lotes y persistidas en diseños guardados.\n- PNG, SVG e IDML comparten la geometría; SVG conserva letter-spacing y font-kerning; IDML crea texto editable con Tracking, KerningMethod y Leading.\n- Preserva las entradas separadas HORIZONTALES\/VERTICALES, la numeración 1..n y las exportaciones anteriores.\n- La apertura en una instalación real de Adobe InDesign continúa pendiente de verificación.\n\n# iRaffe Estudio de crucigramas 1.42\n\n- Pistas numeradas sin saltos: HORIZONTALES 1..n y VERTICALES 1..m, por párrafos o texto corrido.\n- Corregido el cambio involuntario a numeración clásica al activar preguntas.\n- Vista previa, exportaciones y motor de lotes comparten exactamente la misma numeración; soporta dos inicios en la misma casilla.\n\n\n- Opciones de pistas visibles bajo HORIZONTALES y VERTICALES, en Contenido.\n- Entrada por respuestas o preguntas con respuesta final.\n- Modo de preguntas completas activa la impresion de pistas, reversible.\n- Corregida la medida de la altura visible de palabras en la lista de la sopa: misma linea base antes de measureText y fillText.\n- Aclarada la entrada de orientaciones en editor de lotes.\n- Conserva modos SVG, IDML, PNG y JPG.\n\n# iRaffe Estudio de crucigramas 1.41\n\n- HORIZONTALES y VERTICALES siempre en campos independientes, en ambos modos de entrada.\n- Alineación óptica vertical de cada casilla de chequeo y su palabra en la sopa de letras (Canvas, SVG e IDML).\n- Modo 1: únicamente respuestas; modo 2: preguntas con respuesta final entre paréntesis, con o sin numeración.\n- Motor del crucigrama respeta la orientación y el orden de cada respuesta.\n- Se conservan las opciones de impresión de pistas: activación, arriba\/abajo, dos columnas\/bloques, párrafos\/corrido, fuente, tamaño en pt y números en negrita.\n- Motor de lotes reconoce respuestas simples o pistas (RESPUESTA), no exige 10 por orientación, conserva cada pista vinculada a su respuesta incluso tras editar.\n- Conserva exportaciones PNG, JPG, SVG, IDML, plantillas, documentos y actualizador.\n- Migración de documentos que tenían un único campo de texto completo en 1.40.\n\n## Límites de verificación\n- La importación IDML debe probarse también en Adobe InDesign en el entorno del usuario.\n- Las pruebas automatizadas locales no sustituyen una prueba con datos reales de producción.\n\n# iRaffe Estudio de crucigramas 1.40\n\n- Preguntas impresas opcionales para crucigramas, arriba o debajo de la cuadrícula, sin mostrar respuestas.\n- Dos disposiciones: horizontales y verticales en columnas paralelas, o bloques a ancho completo.\n- Composición por párrafos o texto corrido; tamaño"
        },
        {
            "version": "1.51",
            "file": "cruci_v_1.51.zip",
            "size": 148089,
            "sha256": "084dd8d06b3cd421ac740da399c5043b73118b3b240e442da499d4c62671ba72",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.51.zip",
            "changelog": "## v1.51 — Lotes: carpeta de Windows o un único ZIP\n- El usuario elige explícitamente entre guardar todo en una carpeta local o descargar un solo archivo ZIP.\n- Se elimina la descarga ZIP fragmentada por grupos de ocho archivos.\n- Los navegadores sin selección segura de carpetas utilizan ZIP; no se cambia automáticamente el destino elegido.\n- Los nombres duplicados en un lote se desambiguan y no se sobrescriben archivos existentes en la carpeta elegida.\n- Se conserva el informe de incidencias y las exportaciones PNG, JPG, SVG e IDML, con actividad y soluciones.\n- Destino carpeta disponible en Chrome\/Edge con contexto seguro (HTTPS o localhost).\n\n## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentación no modifican el documento exportado, la cuadrícula, la numeración, los proyectos guardados ni el motor de lotes.\n- Validación de navegador y apertura efectiva en Adobe InDesign: consultar informe de pruebas.\n\n# iRaffe Estudio de crucigramas 1.43\n\n- Corrección final de referencias: H1, H2... y V1, V2... nunca cambian a números de lectura por coordenadas, ni en Respuestas, ni en los lotes, ni en documentos antiguos.\n- Cuando dos respuestas comienzan en una misma casilla se muestran sus dos referencias con orientación explícita (ej. H1 \/ V3); no se oculta la primera detrás de la segunda.\n- La tabla de correspondencia de lotes muestra Hn\/Vn para los inicios coincidentes.\n- La opción de numeración clásica deja de estar disponible porque es incompatible con la numeración independiente solicitada.\n\n- La cuadrícula de crucigramas queda centrada respecto al eje físico de la página, aun con márgenes izquierdo\/derecho diferentes, en vista previa, exportaciones y lotes.\n- El cálculo utiliza una banda segura simétrica: nunca desplaza el crucigrama hacia izquierda o derecha para compensar márgenes distintos.\n- El tamaño manual de casilla se limita al área útil disponible; se emite aviso si resulta demasiado grande.\n- Las pistas incluyen kerning métrico\/desactivado, tracking (milésimas de em) e interlineado (pt, 0 automático).\n- Opciones incorporadas en editor y lotes y persistidas en diseños guardados.\n- PNG, SVG e IDML comparten la geometría; SVG conserva letter-spacing y font-kerning; IDML crea texto editable con Tracking, KerningMethod y Leading.\n- Preserva las entradas separadas HORIZONTALES\/VERTICALES, la numeración 1..n y las exportaciones anteriores.\n- La apertura en una instalación real de Adobe InDesign continúa pendiente de verificación.\n\n# iRaffe Estudio de crucigramas 1.42\n\n- Pistas numeradas sin saltos: HORIZONTALES 1..n y VERTICALES 1..m, por párrafos o texto corrido.\n- Corregido el cambio involuntario a numeración clásica al activar preguntas.\n- Vista previa, exportaciones y motor de lotes comparten exactamente la misma numeración; soporta dos inicios en la misma casilla.\n\n\n- Opciones de pistas visibles bajo HORIZONTALES y VERTICALES, en Contenido.\n- Entrada por respuestas o preguntas con respuesta final.\n- Modo de preguntas completas activa la impresion de pistas, reversible.\n- Corregida la medida de la altura visible de palabras en la lista de la sopa: misma linea base antes de measureText y fillText.\n- Aclarada la entrada de orientaciones en editor de lotes.\n- Conserva modos SVG, IDML, PNG y JPG.\n\n# iRaffe Estudio de crucigramas 1.41\n\n- HORIZONTALES y VERTICALES siempre en campos independientes, en ambos modos de entrada.\n- Alineación óptica vertical de cada casilla de chequeo y su palabra en la sopa de letras (Canvas, SVG e IDML).\n- Modo 1: únicamente respuestas; modo 2: preguntas con respuesta final entre paréntesis, con o sin numeración.\n- Motor del crucigrama respeta la orientación y el orden de cada respuesta.\n- Se conservan las opciones de impresión de pistas: activación, arriba\/abajo, dos columnas\/bloques, párrafos\/corrido, fuente, tamaño en pt y números en negrita.\n- Motor de lotes reconoce respuestas simples o pistas (RESPUESTA), no exige 10 por orientación, conserva cada pista vinculada a su respuesta incluso tras editar.\n- Conserva exportaciones PNG, JPG, SVG, IDML, plantillas, documentos y actualizador.\n- Migración de documentos que tenían un único campo de texto completo en 1.40.\n\n## Límites de verificación\n- La importación IDML debe probarse también en Adobe InDesign en el entorno del usuario.\n- Las pruebas automatizadas locales no sustituyen una prueba con datos reales de producción.\n\n# iRaffe Estudio de crucigramas 1.40\n\n- Preguntas impresas opcionales para crucigramas, arriba o debajo de la cuadrícula, sin mostrar respuestas.\n- Dos disposiciones: horizontales y verticales en columnas paralelas, o bloques a ancho completo.\n- Composición por párrafos o texto corrido; tamaño en puntos, fuente y numeración opcional en negrita.\n- Entrada por palabras y preguntas (`RESPUESTA | pregunta`) o texto completo con encabezados HORIZONTALES \/ VERTICALES y respuesta al final entre paréntesis.\n- Opciones disponibles también en lotes; conservan las preguntas importadas cuando están presentes.\n- Compatible con vista previa, PNG, JPG, SVG e IDML mediante el mismo motor de composición.\n- Conservar versiones anteriores, proyectos, y sistema de actualizaciones.\n\n## Notas\n- No se incluyen las respuestas en la impresión de preguntas.\n- Para probar la apertura efectiva del archivo IDML se requiere InDesign en el equipo de destino.\n\n\n## v1.48 — Importación flexible y Word\n- Reconocimiento sin máximo prefijado de temas ni de actividades.\n- Cantidad de palabras de sopa variable, contrastada únicamente cuando la fuente declara un número.\n- Eliminada la truncación arbitraria de 60 palabras del lector de listas.\n- Importación de DOCX, DOC (cuando antiword está disponible), TXT, MD y PDF.\n- Lector DOCX integrado mediante ZIP y XML sin depender de extensiones PHP opcionales.\n- Conservación de actividades con incidencias en el inventario, sin mezclarlas con listas listas para producir.\n"
        },
        {
            "version": "1.50",
            "file": "cruci_v_1.50.zip",
            "size": 145984,
            "sha256": "c6992131c052bdf1d33144c1372c1033d44873d29068ba57aeb42f554ec0bc72",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.50.zip",
            "changelog": "## v1.50 — Lotes: opción de exportar con incidencias\n- Nuevo interruptor en Revisar actividades: «Generar y exportar también actividades con errores», desactivado por defecto. Permite seleccionar las actividades detectadas con incidencias; al desactivarlo, las bloquea de nuevo.\n- El modo permisivo intenta generar cuadrículas con las palabras utilizables. Mantiene advertencias de conteo, título y duplicados, y registra las palabras omitidas. No crea falsos archivos cuando faltan datos esenciales o la cuadrícula es imposible.\n- Los archivos generados con incidencias se guardan en Recientes con las advertencias en metadatos de lote. Los errores de generación se muestran en el registro y se incluyen en «INCIDENCIAS_LOTE.txt», que acompaña a los ZIP o a la carpeta exportada; admite informe incluso cuando ningún diseño puede generarse.\n- Se elimina la exigencia de exactamente 20 palabras en la API batch_save; se siguen verificando cuadrícula, entradas colocadas y formato de proyecto.\n- Se conserva la selección estricta, exportaciones SVG, IDML, PNG y JPG, y diseños independientes.\n\n## v1.49 — Tipografía uniforme y alineación de listas de sopas de letras\n- Eliminada la reducción de tamaño individual por palabra en las columnas de la lista.\n- Las cuatro columnas y todas las palabras comparten el tamaño de texto, fuente y grosor.\n- Columnas de ancho adaptable según su contenido para evitar solapamientos; si el espacio no alcanza, se reduce la fuente de TODA la lista por igual y se muestra una advertencia.\n- Los cuadritos conservan su posición central respecto a una línea tipográfica común para todas las palabras.\n- Cambios aplicados desde el motor compartido por editor, vistas, lotes, PNG, JPG, SVG e IDML.\n\n## iRaffe v1.47 — Lotes: inventario completo del PDF\n- La detección deja de confundirse con la validación\/selección: cada tema mantiene una sopa y un crucigrama como registros independientes.\n- Resumen visible: temas, sopas y crucigramas detectados, actividades detectadas, válidas y con incidencias.\n- Los registros que requieren corrección permanecen visibles y editables, aunque no sean seleccionables para generar hasta corregirlos.\n- El reporte Excel completo etiqueta explícitamente las actividades detectadas, incluso cuando presentan errores.\n- Se mantienen los ajustes de aplicación de diseños por lotes de la versión 1.46.\n- Verificado con PDF de 114 páginas, 80 temas, 80 sopas, 80 crucigramas.\n\n## Versión 1.46 · Aplicar diseño en Lotes\nSe incorpora confirmación y errores junto al botón Aplicar diseño. La carga de Recientes valida tipo de actividad, formato y controles antes de aplicar los parámetros; comprueba los valores aplicados, actualiza la vista previa y avisa cuando el lote debe regenerarse. Los diseños de sopa de letras y crucigrama permanecen separados. No se cambia el contenido ni se borran datos.\n\n# iRaffe Estudio de crucigramas 1.45\n\n- Se traslada la sección «PREGUNTAS IMPRESAS · CRUCIGRAMA» completa de Contenido a Diseño, dentro del bloque exclusivo para crucigramas; la entrada de respuestas HORIZONTALES y VERTICALES sigue en Contenido. No se muestran controles de pistas de crucigrama en Sopa de letras.\n- Nuevo selector de grosor para pistas: Thin 100, Extra Light 200, Light 300, Regular 400, Medium 500, Semibold 600, Bold 700, Extra Bold 800, Black 900. Por defecto Medium 500 para no alterar documentos anteriores.\n- El peso de pistas seleccionado se guarda en documentos y plantillas, se aplica a la vista previa, PNG, JPG, SVG e IDML, y también a las opciones del motor de lotes.\n- Nuevo ajuste independiente «Separación entre crucigrama y preguntas (mm)» de 0 a 80 mm, disponible dentro de Diseño, para pistas arriba o abajo, editor individual y lotes. Valor predeterminado de 7 mm para compatibilidad con documentos anteriores. El cambio actualiza vistas previas y exportaciones PNG, JPG, SVG e IDML. No se mezcla con la separación de palabras de las sopas.\n- Se conservan tamaños, ubicación, distribución, formato, números en negrita, kerning, tracking, separación de letras e interlineado, sin modificar el generador ni la orientación\/numeración existente.\n- Los estilos realmente disponibles dependen de la familia tipográfica instalada o disponible en Google Fonts; InDesign también requiere la tipografía correspondiente en el equipo.\n\n# iRaffe Estudio de crucigramas 1.44\n\n- Mantiene íntegro el panel de «PREGUNTAS IMPRESAS · CRUCIGRAMA», sus fuentes, tamaños, estilos, posiciones y controles de numeración. Se agrega separación adicional entre letras (pt), independiente de tracking (milésimas de em), kerning e interlineado. Se conservan las preferencias en editor y lotes, y el valor se traslada al trazado vectorial SVG y a texto editable IDML.\n\n- Se ocultan por completo en modo Crucigrama los controles exclusivos de Sopa de letras del apartado Diseño: tipografía de lista, columnas, orden, márgenes de lista, tamaño y trazo de cuadros de marcado, recuadro y separación sopa\/lista.\n- Las opciones de pistas del crucigrama permanecen únicamente en Contenido, bajo HORIZONTALES y VERTICALES. No se modifican las preferencias de la sopa al cambiar de actividad.\n- Los visores Actividad y Respuestas incorporan desplazamiento horizontal y vertical real, mano de arrastre por ratón, indicador de agarre y desplazamiento táctil nativo.\n- El zoom (25 %-400 %) mantiene el centro visible; las barras de desplazamiento permiten llegar a los cuatro bordes de la hoja.\n- El motor de crucigramas prohíbe que comiencen dos respuestas de distinto número en una misma casilla; un inicio compartido Hn\/Vn es válido solo cuando n coincide y muestra una sola numeración. Se aplica al editor, vista de respuestas, SVG\/IDML y lotes.\n- Zoom, desplazamiento y controles de presentación no modifican el documento exportado, la cuadrícula, la numeración, los proyectos guardados ni el motor de lotes.\n- Validación de navegador y apertura efectiva en Adobe InDesign: consultar informe de pruebas.\n\n# iRaffe Estudio de crucigramas 1.43\n\n- Corrección final de referencias: H1, H2... y V1, V2... nunca cambian a números de lectura por coordenadas, ni en Respuestas, ni en los lotes, ni en documentos antiguos.\n- Cuando dos respuestas comienzan en una misma casilla se muestran sus dos referencias con orientación explícita (ej. H1 \/ V3); no se oculta la primera detrás de la segunda.\n- La tabla de correspondencia de lotes muestra Hn\/Vn para los inicios coincidentes.\n- La opción de numeración clásica deja de estar disponible porque es incompatible con la numeración independiente solicitada.\n\n- La cuadrícula de crucigramas queda centrada respecto al eje físico de la página, aun con márgenes izquierdo\/derecho diferentes, en vista previa, exportaciones y lotes.\n- El cálculo utiliza una banda segura simétrica: nunca desplaza el crucigrama hacia izquierda o derecha para compensar márgenes distintos.\n- El tamaño manual de casilla se limita al área útil disponible; se emite aviso si resulta demasiado grande.\n- Las pistas incluyen kerning métrico\/desactivado, tracking (milésimas de em) e interlineado (pt, 0 automático).\n- Opciones incorporadas en editor y lotes y persistidas en diseños guardados.\n- PNG, SVG e IDML comparten la geometría; SVG conserva letter-spacing y font-kerning; IDML crea texto editable con Tracking, KerningMethod y Leading.\n- Preserva las entradas separadas HORIZONTALES\/VERTICALES, la numeración 1..n y las exportaciones anteriores.\n- La apertura en una instalación real de Adobe InDesign continúa pendiente de verificación.\n\n# iRaffe Estudio de crucigramas 1.42\n\n- Pistas numeradas sin saltos: HORIZONTALES 1..n y VERTICALES 1..m, por párrafos o texto corrido.\n- Corregido el cambio involuntario a numeración clásica al activar preguntas.\n- Vista previa, exportaciones y motor de lotes comparten exactamente la misma numeración; soporta dos inicios en la misma casilla.\n\n\n- Opciones de pistas visibles bajo HORIZONTALES y VERTICALES, en Contenido.\n- Entrada por respuestas o preguntas con respuesta final.\n- Modo de preguntas completas activa la impresion de pistas, reversible.\n- Corregida la medida de la altura visible de palabras en la lista de la sopa: misma linea base antes de measureText y fillText.\n- Aclarada la entrada de orientaciones en editor de lotes.\n- Conserva modos SVG, IDML, PNG y JPG.\n\n# iRaffe Estudio de crucigramas 1.41\n\n- HORIZONTALES y VERTICALES siempre en campos independientes, en ambos modos de entrada.\n- Alineación óptica vertical de cada casilla de chequeo y su palabra en la sopa de letras (Canvas, SVG e IDML).\n- Modo 1: únicamente respuestas; modo 2: preguntas con respuesta final entre paréntesis, con o sin numeración.\n- Motor del crucigrama respeta la orientación y el orden de cada respuesta.\n- Se conservan las opciones de impresión de pistas: activación, arriba\/abajo, dos columnas\/bloques, párrafos\/corrido, fuente, tamaño en pt y números en negrita.\n- Motor de lotes reconoce respuestas simples o pistas (RESPUESTA), no exige 10 por orientación, conserva cada pista vinculada a su respuesta incluso tras editar.\n- Conserva exportaciones PNG, JPG, SVG, IDML, plantillas, documentos y actualizador.\n- Migración de documentos que tenían un único campo de texto completo en 1.40.\n\n## Límites de verificación\n- La importación IDML debe probarse también en Adobe InDesign en el entorno del usuario.\n- Las pruebas automatizadas locales no sustituyen una prueba con datos reales de producción.\n\n# iRaffe Estudio de crucigramas 1.40\n\n- Preguntas impresas opcionales para crucigramas, arriba o debajo de la cuadrícula, sin mostrar respuestas.\n- Dos disposiciones: horizontales y verticales en columnas paralelas, o bloques a ancho completo.\n- Composición por párrafos o texto corrido; tamaño en puntos, fuente y numeración opcional en negrita.\n- Entrada por palabras y preguntas (`RESPUESTA | pregunta`) o texto completo con encabezados HORIZONTALES \/ VERTICALES y respuesta al final entre paréntesis.\n- Opciones disponibles también en lotes; conservan las preguntas importadas cuando están presentes.\n- Compatible con vista previa, PNG, JPG, SVG e IDML mediante el mismo motor de composición.\n- Conservar versiones anteriores, proyectos, y sistema de actualizaciones.\n\n## Notas\n- No se incluyen las respuestas en la impresión de preguntas.\n- Para probar la apertura efectiva del archivo IDML se requiere InDesign en el equipo de destino.\n\n\n## v1.48 — Importación flexible y Word\n- Reconocimiento sin máximo prefijado de temas ni de actividades.\n- Cantidad de palabras de sopa variable, contrastada únicamente cuando la fuente declara un número.\n- Eliminada la truncación arbitraria de 60 palabras del lector de listas.\n- Importación de DOCX, DOC (cuando antiword está disponible), TXT, MD y PDF.\n- Lector DOCX integrado mediante ZIP y XML sin depender de extensiones PHP opcionales.\n- Conservación de actividades con incidencias en el inventario, sin mezclarlas con listas listas para producir.\n"
        },
        {
            "version": "1.1",
            "file": "cruci_v_1.1.zip",
            "size": 4292140,
            "sha256": "7d9729da8f4536a531ef69aee97de089b73c8adb586abfecec581d21a434a079",
            "url": "https:\/\/carlosraffe.sensatoweb.com\/actualizaciones\/cruci2\/cruci_v_1.1.zip",
            "changelog": "# Registro de cambios de CruciStudio\n\n## cruci_v_1.1 · 17 de octubre de 2026\n- Actualización automática con repositorio fijo info.php y archivos `cruci_v_X.Y.zip`.\n- Consulta de versiones y cambios, verificación de SHA-256 y copias locales de respaldo para reversión.\n- Conservación de `storage\/` y proyectos JSON durante una actualización.\n- Crucigramas: separar pistas horizontales y verticales; no mostrar soluciones ni casillas de verificación en las pistas; solo casillas vacías numeradas.\n- Crucigramas: color configurable de casillas bloqueadas y tamaño y color de numeración.\n- Sopa de letras: mostrar\/ocultar líneas interiores y personalizar su grosor\/color; borde exterior configurable (visibilidad, grosor, color).\n- Mantiene selección Google Fonts, guardado\/historial en JSON y PNG de impresión a 300 DPI.\n"
        }
    ]
}