프로젝트 소개
Open Presentation Format (OPF)는 슬라이드 덱을 위한 이식 가능하고 사람이 읽을 수 있는 JSON 문서 형식입니다. 이 저장소는 형식 사양, JSON 스키마, 카탈로그 프리셋, 예제, 생성된 개발자 타입, 로컬 검증 도구 및 향후 렌더링/편집/변환 툴킷을 위한 계획 문서의 표준 저장소입니다. 이 프로젝트는 npm에 @openpresentation/opf로 게시되었으며, 현재 MIT 라이선스 하에 프리-스테이블(0.x 버전으로, 1.0 이전 마이너 버전 간에 파괴적 변경 예상) 상태입니다.
동기: .pptx는 XML의 압축 묶음으로, 사람이 diff를 확인하기 어렵고 모델이 안정적으로 읽고 쓰기 어려우며, git에서 의미 있게 추적하기 어려워 모든 변경 사항이 바이너리 블롭처럼 보입니다. OPF는 일반 JSON이므로 에디터에서 읽을 수 있고, 모델이 예시를 통해 스키마를 추측하지 않고도 작성할 수 있으며, 다른 작업과 함께 버전 관리 시스템에서 추적할 수 있습니다. 명시된 목표는 LLM이 마크업 태그와 씨름하는 대신 덱 작성(내러티브 구조, 프레이밍, 데이터 분석, 차트 제안, 수정)에 참여할 수 있도록 하는 것입니다.
컨벤션 및 명명 규칙: OPF 문서는 전체 프레젠테이션의 경우 *.opf.json(예: board-review.opf.json)이라는 이름의 JSON 파일로 저장됩니다. 프로젝트에서는 *.opf 확장자가 이미 다른 문서 및 프로젝트 형식에서 사용되고 있으므로 단독 사용을 권장하지 않습니다. Open Presentation Format이라는 이름과 스키마, 카탈로그, 패키지 및 로컬 도구는 제품 특정 브랜딩을 채택하지 않고도 읽기, 쓰기, 검증, 렌더링, 변환 및 지원 설명을 위해 제3자 도구에서 사용할 수 있습니다.
JavaScript/TypeScript 패키지 기능: spec/의 표준 스키마와 번들된 카탈로그 레코드를 내보내며, 패키지 주소 지정 가능 스펙 콘텐츠를 위한 타입 지정된 원시 스펙 파일 매니페스트, Presentation을 최상위 타입으로 하는 생성된 TypeScript 타입, OPF JSON 및 카탈로그 레코드에 대한 로컬 검증 기능을 제공합니다. 검증 시 유효성 여부와 함께 알 수 없는 카탈로그 ID와 같은 권고 경고를 반환합니다. 스키마, 카탈로그, 스펙 파일, 검증기 및 타입을 위한 집중된 서브패스 임포트를 사용할 수 있으며, 엔진이나 리졸버가 원시 JSON 스키마를 직접 임포트할 수 있습니다. 또한 이 패키지는 순수 구성 기하학(composition geometry)을 노출하여 다운스트림 라이브러리가 레이아웃 동작을 공유하도록 합니다. .pptx 렌더링 또는 파싱, AI를 이용한 콘텐츠 생성, 원격 카탈로그 가져오기, 호스팅 API 호출 또는 관리형 서비스 제공은 명시적으로 수행하지 않습니다.
로컬 도구: 설치 가능한 MIT 라이선스 CLI를 통해 로컬에서 OPF 파일을 생성, 검증, 편집 및 검사할 수 있습니다(예: 제목이 있는 덱 생성, 파일 검증 또는 인플레이스 패치 적용). CLI 0.5.0 명령은 로컬 복사본을 사용하여 AI 에이전트를 위한 6가지 OPF 스킬을 프로젝트에 설치하며, 기존 지침을 보존하고 사용자 정의된 스킬의 덮어쓰기를 거부하며, 문서화된 타겟과 프리릴리스 테스트를 제공합니다. 문서는 에이전트 스킬, LLM 작성, 동적 구성 및 로컬 생태계 검증을 다룹니다.
저장소 레이아웃 주요 사항: 최상위 Presentation 문서를 위한 표준 JSON 스키마, 문서 모델, 콘텐츠 형태, 카탈로그 해석 및 검증 철학에 대한 개념적 소개, 디자인 우선순위 알고리즘(슬라이드 디자인, 덱 디자인, 해석된 테마, 엔진 기본값), 최상위 필드, 스키마 정의, 동반 카탈로그 스키마 및 차트와 테이블를 포함한 슬라이드/영역 콘텐츠 페이로드에 대한 작성자용 참조, 기술적 고정 장치 및 시나리오 중심 갤러리 예제 가이드, 브라우저 캔버스, 폰트 로딩 및 현재 충실도 제한에 대한 라이브 에디터 노트, 유지 관리자 릴리스 런북이 포함되어 있습니다. OPF를 HTTP를 통해 노출하려는 다운스트림 서비스를 위한 선택적 참조 OpenAPI 계약이 존재하지만, OpenPresentation은 해당 API를 호스팅하지 않습니다.
생태계 경계: 렌더링, 편집 및 변환 기능은 별도의 MIT 형제 저장소인 opf-render(OPF를 SVG/PNG/PDF로), opf-editor(헤드리스 에디터 프리미티브 및 선택적 UI 컴포넌트), opf-pptx(순수 로컬 PPTX 임포트/익스포트)에 위치합니다. 이들은 오픈 소스 프리미티브만 제공하며, 호스팅, 인증, 저장소, 협업, 큐, 미리보기, 분석, 지원 및 워크플로우 UX는 다운스트림 애플리케이션이 소유합니다. 향후 Python 및 Go 패키지도 동일한 로컬 우선 경계를 따를 예정이며, 네트워크 호출이나 숨겨진 텔레메트리 없이 스키마, 모델, 카탈로그, 검증 및 패키지 주소 지정 가능 자산을 노출할 것입니다. 레이아웃, 테마, 색상 및 폰트 구성, 차트 유형, 내러티브, 청중, 목적, 톤, 언어 및 소셜 플랫폼과 같이 사람이 탐색 가능한 카탈로그 프리셋은 pptx.gallery를 통해 참조됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.