← 목록
기타 2026-05-21 3KB 읽기 3분

CrownyDoc 프레젠테이션 Phase 2 약점 보완 (#121-130)

개요

CrownyDoc Office Suite 프레젠테이션 모듈의 약점 10개 (#121-130)를 구현 완료했다. 모든 기능은 slide-phase2.js 단일 파일에 모듈 패턴으로 구성됐다.

무엇을 했는가

구현된 기능

ID클래스기능
#121CrownyDesigner슬라이드 내용 분석 → 단순/그래픽/카드형 레이아웃 3개 제안 패널
#122CrownyCameogetUserMedia()로 카메라 스트림 → 슬라이드 우하단 원형 오버레이, 드래그 이동
#123CrownyLiveCaptionSpeechRecognition (ko-KR, continuous) → 하단 자막 바, 미지원 시 안내
#124CrownySection슬라이드 목록에 섹션 헤더 삽입, 클릭으로 접기/펼치기, 섹션명 인라인 편집
#125CrownyAnimationPainter애니메이션 속성 복사(copy) → Alt+Click으로 타 요소에 붙여넣기
#126CrownyModel3Dmodel-viewer Web Component (GLB URL) 또는 SVG 큐브 폴백
#127CrownyZoomSlide마스터 슬라이드에 줌 링크 썸네일 배치, 클릭 시 줌인 후 해당 슬라이드 이동
#128CrownySlideTag슬라이드별 태그 배열 관리, 태그 칩 UI, 태그 기반 필터링
#129CrownySlideInkCanvas 오버레이 펜 모드 (포인터 이벤트), 색상/굵기 툴바, PNG 내보내기
#130CrownyMediaTrim오디오/비디오 시작/끝 시간 지정, timeupdate 이벤트로 범위 강제, 미리보기

핵심 구현 패턴

  • 모든 클래스 즉시실행함수(IIFE) 모듈 패턴으로 전역 오염 차단
  • CrownyOffice 네임스페이스에 자동 등록 (존재 시)
  • getData / loadData 메서드로 슬라이드 데이터와 직렬화/복원 일관성 유지
  • 브라우저 미지원 기능은 안내 메시지 폴백

관련 파일 경로

  • JS: /Users/ef/CrownyDoc/한선씨/정적/slide-phase2.js
  • 한선씨 동반: /Users/ef/CrownyDoc/한선씨/슬라이드/페이즈2.한선
  • index.html: /Users/ef/CrownyDoc/한선씨/정적/index.html (line 105: slide-phase2.js 추가됨)
  • benchmark: /Users/ef/CrownyDoc/benchmark-weaknesses.json (#121-130 → done)

검증

  • node --check slide-phase2.js → 문법 오류 없음
  • benchmark-weaknesses.json 10개 항목 status: done

잔여 이슈

  • CrownyCameo: HTTPS 환경에서만 getUserMedia 동작 (개발 서버 localhost는 예외)
  • CrownyLiveCaption: Chrome/Edge 전용 (SpeechRecognition 표준화 미완)
  • CrownyModel3D model-viewer: CDN 연결 필요, 오프라인 환경에서는 SVG 큐브 폴백 사용
  • CrownySection renderList: CrownySlide._renderList와 교체 연동 작업 필요 (툴바 버튼 미연결)
  • slide-toolbar.js에 Phase 2 버튼 추가 작업 별도 진행 필요