# Subtitle Delivery Studio — Version 1.0.0

## Start
1. Open index.html in a current desktop Chrome, Edge or Firefox browser. Keep all supplied app files together.
2. Choose UTF-8 .srt or .vtt files, or try the fictional Willow Workshop sample.
3. Review every blocked-file message and advisory. Change the offset and optional rules.
4. Choose VTT to retain supported VTT settings, or explicitly allow dropping settings for SRT output.
5. Export new caption files. The originals stay unchanged. Watch the real video with the exported captions before delivering.

## Editions
- Free: one file, 100 cues, 1 MB; text upload/paste, checking, offset, SRT/VTT conversion and CSV report.
- Offline batch: up to 100 files, 10,000 cues per file, 16 MB each, 64 MB total; ZIP with valid captions, report and profile; JSON profile import/export. No account, subscription or paid API.
- Mixed batch: a malformed file stays blocked. Other files may export only after explicitly selecting “omit failed files.” The report records failed files. This is not a claim that all files passed.
- Duplicate output names receive -2, -3 and so on; safe ASCII filenames are generated. Originals are not renamed.

## Supported input
- Plain-text SubRip (SRT) and basic WebVTT. UTF-8 BOM, CRLF or LF accepted.
- SRT timing uses HH:MM:SS,mmm or HH:MM:SS.mmm. VTT uses HH:MM:SS.mmm or MM:SS.mmm. Exact three-digit milliseconds; minutes/seconds 00–59.
- End must be later than start. Cues separated by a blank line; no blank lines within cue text.
- VTT align, vertical, line, position and size settings are validated and preserved in VTT output. Region settings are unsupported.
- VTT NOTE blocks are skipped on export and shown as notices. No timestamp maps or extended headers.
- Markup tags, STYLE, REGION, karaoke timestamp tags and embedded timing arrows are unsupported. Use a specialist editor for those files. A file with any invalid cue cannot export partial output.
- Timestamp hours have up to five digits, and offsets are whole milliseconds within ±24 hours. Negative result times block export rather than clamping.

## Meaning of the checks
- Overlap and out-of-order starts are advisories; they may be intentional. Nothing is auto-fixed.
- Line length/reading speed count Unicode code points, including spaces and punctuation, excluding line breaks. They do not measure display width or user reading ability. Combining marks and emoji sequences can contain multiple code points.
- No transcription, translation, spellcheck, video playback, frame-rate detection, burn-in, visual line breaking, speech alignment or platform/broadcast/accessibility certification.
- Choose your own rule values; defaults are convenience presets, not externally certified requirements.

## Privacy and troubleshooting
Caption files are read into browser memory. This app has no upload endpoint, analytics, network fetch, automatic profile storage or AI service. Downloads are stored wherever your browser saves files. Close the tab or use Clear captions to release source text. A saved JSON profile contains rules only.

Do not use UTF-16 files; re-save as UTF-8. Strict errors are intentional. Review blocked text in your editor instead of silently dropping it. If your browser disallows local downloads, use a current desktop browser and allow the download prompt. Browser permission choices remain yours.

Support: shruti4thewin@gmail.com. Send version, browser, error and a fictional minimal example. Do not send confidential caption data. Value Addition. AI-assisted software; human review of each real delivery is still needed.
