FORK DOSCLIC de tscaps — notas de modificaciones
=================================================

Origen      : https://github.com/francozanardi/tscaps
Commit base : 1d7da5337e13c3856334ca1ea1413e0ba323d3bf
Licencia    : apps/studio AGPL-3.0 · packages/engine MIT · templates/ MIT
Sitio       : https://dosclic.com.ni/tools/tscaps/
Fecha       : 2026-09-21

Este archivo describe los cambios introducidos por DOSCLIC sobre el
codigo original. El aviso de licencia AGPL-3.0 de apps/studio se
conserva sin cambios (apps/studio/LICENSE). En cumplimiento de la
seccion 13 de la AGPL, esta es la fuente correspondiente de la version
modificada que se sirve por red en la URL indicada arriba.


Cambios funcionales
-------------------

1. Seleccion de origen de subtitulos en el dialogo de inicio
   - apps/studio/src/ui/pages/editor/features/preprocessing/StartDialog.tsx
     Nuevo selector "Generate with AI" / "Attach SRT / VTT". En modo
     archivo se oculta el selector de idioma y las opciones avanzadas,
     se adjunta un .srt/.vtt y se deshabilita Start hasta leerlo.
   - apps/studio/src/ui/pages/editor/features/preprocessing/StartFlowHost.tsx
     Activa la opcion (allowCaptionFile) y muestra el aviso de fuente.

2. Transcriber basado en archivo de subtitulos
   - apps/studio/src/core/transcription/domain/CaptionFileTranscriber.ts (nuevo)
     ConfigurableTranscriber que delega en SrtTranscriber/VttTranscriber
     del engine en lugar de ejecutar Whisper.
   - apps/studio/src/core/transcription/domain/CaptionFileTranscriber.test.ts (nuevo)
   - apps/studio/src/core/transcription/actions/TranscribeAction.ts
     Acepta un transcriber opcional para la corrida.
   - apps/studio/src/core/preprocessing/actions/PreprocessVideoAction.ts
     Nueva opcion captionFile; construye el transcriber de archivo y
     omite Whisper cuando hay archivo adjunto.

3. Error legible para archivo de subtitulos ilegible
   - apps/studio/src/core/transcription/domain/errors/CaptionFileUnreadableError.ts (nuevo)
   - apps/studio/src/core/errors/domain/AppErrorName.ts
   - apps/studio/src/ui/_shared/components/AppErrorMessage/AppErrorMessage.tsx

4. Aviso de fuente AGPL en la interfaz
   - apps/studio/src/ui/_shared/components/ForkSourceNotice/ForkSourceNotice.tsx (nuevo)
   - apps/studio/src/ui/pages/editor/components/EditorPage.tsx
     Enlaza a /tools/tscaps-source/ conforme a AGPL seccion 13.

5. Despliegue en subruta
   - apps/studio/vite.config.ts
     base: '/tools/tscaps/' para servir la app bajo esa ruta.


Compilacion
-----------

  Requiere Node >= 20 y pnpm (corepack enable).
  En la raiz del repo:

    pnpm install --frozen-lockfile
    pnpm build                   # engine + studio
    # salida en apps/studio/dist/

  El postinstall compila las plantillas (templates:build).


Aviso
-----

El resto del proyecto es obra de sus autores originales. "tscaps" y su
marca pertenecen a Franco Zanardi; este es un build modificado no
oficial.
