dart-app-core/agent-ops/rules/project/domain/subtitle/rules.md
2026-05-19 10:27:12 +09:00

1.2 KiB

subtitle

목적 / 책임

SRT, SMI, VTT 등 자막 포맷을 파싱하고 공통 자막 모델로 변환한다.

포함 경로

  • lib/subtitle/ — 자막 파서, 공통 모델, 시간 처리

제외 경로

  • lib/charset/ — 문자셋 변환 및 코드 페이지 책임
  • lib/platform/ — 파일 접근과 플랫폼 분기 책임

주요 구성 요소

  • ParserBase — 파서 공통 계약과 HTML 태그 제거 로직
  • Subtitles, Subtitle, Time — 자막 데이터 모델
  • parser_srt.dart, parser_smi.dart, parser_vtt.dart — 포맷별 파서

유지할 패턴

  • 포맷별 파서는 ParserBase 계약을 유지한다.
  • 시간 처리 변경 시 기존 포맷별 파서의 경계값을 함께 점검한다.

다른 도메인과의 경계

  • charset: 문자열 디코딩 문제는 charset 도메인에서 처리하고 subtitle은 파싱된 문자열 구조에 집중한다.
  • application-core: 자막 모델을 앱 데이터 모델과 직접 결합하지 않는다.

금지 사항

  • 특정 파일 시스템이나 네트워크 접근을 subtitle 파서에 직접 넣지 않는다.
  • 포맷별 파서의 정규식 변경 시 다른 포맷 동작을 함께 수정하지 않는다.