Skip to content

Conversion Pilot Scope

easylogic edited this page Sep 20, 2026 · 1 revision

제한된 Note→Word→Slides 변환: 첫 인수 범위

작성일: 2026-09-20. 연결: #292, #291, #273. 기준 main: 9111de74730f0ec3dc240dd807d81eda40ea55d0. 상태: 소스 조사와 합성 예제 설계. 변환 구현·실행·고객 효용은 미검증이다.

판단

첫 시제품은 저장된 원본의 문장을 유지한 새 문서·발표 초안으로 제한한다. Note→Word를 먼저 검증하고, Word→Slides는 제목별 구분과 고정 레이아웃을 추가한다. 한 번에 두 단계를 자동 실행하지 않는다. 사용자가 Word를 수정한 뒤 다음 변환을 선택할 수 있어야 한다.

자동 요약, 의미 추론, 전체 서식 호환은 첫 범위에서 제외한다. 일반 붙여넣기 기능과 이 시제품의 차이는 출처가 있는 새 결과물, 전체 변환 전 미리보기, 지원 범위와 누락의 확인이다. 사용자가 현재 수동 방식보다 유용하게 느끼는지는 #289에서 별도로 확인한다.

이미 있는 기반과 새로 필요한 부분

현재 확인한 기반 재사용 범위와 제한
제품별 workspace adapter의 create/read/text/schema 제품 모델과 파일 경계를 유지한다. adapter 자체가 제품 간 변환기는 아니다.
FragmentEditor의 원본 schema·등록 adapter 검사, preview plan·손실·적용 기준 제품의 기존 편집 정책을 재사용한다. 같은 stype 이름만으로 직접 호환을 선언하지 않는다. 런타임 문서 epoch를 저장 파일 revision으로 사용하지 않는다.
standard clipboard 변환 일부 이미지·링크·페이지 참조를 대상에 맞게 바꾸는 경로가 있다. 페이지 참조를 라벨로 바꾸는 손실을 명시한다. 이 경로의 전체 수용 범위를 시제품 지원 범위로 복사하지 않는다.
네 제품 clipboard body flow 검사 각 제품 안에서 본문 복사·붙여넣기와 undo/redo를 검사한다. 이 파일은 Note→Word→Slides 전체 문서 변환의 인수 증거가 아니다.
Word 기본 문서와 Slides 기본 deck Word는 flow surface, Slides는 theme/master/layout과 textFrame을 가진다. 본문 노드를 deck 최상위에 붙이는 방식으로 발표 자료를 만들지 않는다.
Slides의 도형 clipboard 도형 좌표와 카드 자원을 다루는 별도 경로다. Word 제목을 슬라이드로 나누는 기능을 대신하지 않는다.
Slides auditDeck 모델 기반 진단이다. 코드 설명에 텍스트 상자 넘침은 측정하지 않는다고 명시돼 있다. 이 검사만 통과했다고 긴 문단이 잘리지 않는다고 판단할 수 없다.

근거: 제품 codec, 편집 계획, clipboard 변환, 본문 검사 정의, Word 기본 문서, Slides 기본 deck, 도형 clipboard, 진단 범위.

조회 당시 PR #313은 OPEN, head e7fef45cfe955c87c01477fa7dba922722fb2aa0였다. 본문·파일 목록은 native DND, 노드 이동과 정책 연결을 설명한다. 보고된 검사는 해당 작성자의 실행 보고이며 이번 연구가 재실행한 결과가 아니다. 이 PR이 병합되지 않았으며 자동 문서→발표 생성까지 구현했다고 해석하지 않는다. #273도 OPEN이다. #292의 승인된 선행 순서를 바꾸지 않는다.

첫 지원 표 제안

아래 표는 시제품의 목표 계약이다. 현재 지원이 입증된 표가 아니다. 구현 시 각 제품 schema와 실제 결과로 검증한다.

입력 Note→Word Word→Slides
문서 제목 문서 제목에 보존 deck 제목에 보존. 각 slide 제목은 절 제목 사용
동일 단계의 절 제목 순서와 텍스트 보존 절 하나를 제목+본문 slide 하나로 구성
일반 문단 텍스트와 문단 순서 보존 해당 절의 본문 textFrame에 유지. 요약·문장 재작성 없음
한 단계 글머리 목록 항목과 순서 보존 해당 절 안의 한 단계 목록으로 보존
절 제목 앞 일반 문단 보존 가능 여부 검증 첫 버전은 구조 안내 후 거절. 임의 제목을 만들어 넣지 않음
중첩 목록·번호 목록·서로 다른 절 단계 첫 버전 거절 첫 버전 거절. 번호 의미나 제목 위계를 조용히 평탄화하지 않음
강조·색·링크 등 별도 인라인 서식 첫 버전의 명시적 지원 목록에 없으면 거절 같은 원칙. 겉보기 텍스트만 남긴 채 성공 처리하지 않음
이미지·표·각주·주석·수식·페이지 참조·데이터 블록 첫 버전 거절 첫 버전 거절
여러 Word 구역·머리말·꼬리말·페이지 배치 해당 없음 첫 버전 거절. 본문 외 정보가 사라지지 않게 안내
비어 있거나 손상된 입력 생성 전 거절 생성 전 거절

첫 범위는 거절 우선을 제안한다. 생략 승인 기능은 이후 독립 확장으로 남긴다. 기존 #292의 ‘거절 또는 선택 후 생략’에서 거절만 먼저 구현하는 안이다. 사용자가 원본을 직접 단순화하거나 별도 사본을 만들 수는 있으나, 변환기가 대신 원본을 고치지 않는다.

Slides 넘침 기준

글자 수만으로 넘침 통과를 정하지 않는다. 고정 레이아웃·폰트·크기를 적용한 실제 렌더 결과가 필요하다. 글꼴 준비가 끝나지 않았거나 측정할 수 없으면 ‘검사 불가’로 처리한다. auditDeck의 기존 진단과 텍스트 상자 검사를 구분한다.

제목 또는 본문이 상자를 넘으면 미리보기에서 위치와 이유를 보여 주고 생성을 막는 안부터 시작한다. 몰래 자르기, 생략, 글자를 계속 줄이기, 임의 추가 slide 생성은 하지 않는다. 사용자는 내용을 조정한 뒤 다시 확인한다. 자동 분할은 문장·목록 연속성과 출처 매핑이 필요한 후속 기능이다. 현재 코드에 쓸 수 있는 렌더 측정 경로가 있는지는 구현 설계에서 추가 확인해야 한다.

합성 예제 F01과 예상 결과

기존 고객 연구 과제의 가상 워크숍을 구조화한 설계용 예제다. 실제 고객 문서가 아니다. 원본 제목은 ‘가상 워크숍 알파’다. 절 제목은 동일 단계이며 총 세 개다.

절 원문 블록 Word 기대 결과 Slides 기대 결과
개요 문단: ‘일정: 2026-10-06 14:00. 장소: 가상 회의실 A.’ / 문단: ‘대상: 신규 구성원 12명. 목표: 자료 정리 방법 익히기.’ 두 문단을 같은 순서로 유지 첫 slide 제목 ‘개요’, 본문 두 문단
진행 한 단계 글머리 목록: ‘소개 15분’, ‘실습 45분’, ‘질문 30분’ 세 항목의 순서 유지 둘째 slide 제목 ‘진행’, 세 항목
준비 안내 문단: ‘준비물: 노트북.’ 문장 보존 셋째 slide 제목 ‘준비 안내’, 같은 문장

예상 출력은 Word 한 문서와 Slides 세 장이다. 별도 표지 slide는 넣지 않는다. Word 페이지 수는 실제 렌더를 확인하기 전 확정하지 않는다. 날짜·시간·장소·대상·목표·진행 시간·준비물의 텍스트를 임의로 고치지 않는다. 이 표는 생성기를 실행한 결과가 아니다.

후속 변경 예제 F02: 저장된 Word의 시간을 15:00, 장소를 가상 회의실 C로 고친 뒤 새 Slides 사본을 만든다. 앞선 Slides는 그대로 남는다. 새 Slides의 직접 출처는 수정된 Word다. 처음 Note에서 시작했다는 계보를 남길 수 있으나, Note와 현재 Word가 같은 내용이라고 주장하지 않는다. Note를 나중에 바꿨다고 Word나 Slides에 자동 반영하지 않는다.

거절 예제: F01에 페이지 참조 하나 추가, 목록 중첩, 절 앞 문단, 긴 제목, 긴 본문, 제목 없는 Word 구역, 손상된 파일. 구조·미지원 내용은 저장 전에 거절하며, 길이 예제는 실제 레이아웃의 넘침 검사를 확인한다. 취소·원본 변경·저장 실패·다시 시도도 별도 시나리오다.

수락·저장과 출처

읽은 저장 원본 → 지원 검사 → 결정적 변환 → 대상 schema 검사 → 실제 레이아웃 검사 → 결과·출처·거절 사유 미리보기 → 사용자 수락 → 원본 재확인 → 새 ID 저장 순서다. 원본과 기존 결과물은 바꾸지 않는다. 미리보기 전에 원본을 자동 수정하거나 대상 파일을 만들지 않는다.

각 단계는 원본 주소·저장 revision·변환 입력·변환기 버전을 남긴다. #291의 ‘확인한 스냅샷’ 의미와 구형 사본 미상 처리, 부분 저장 복구를 재사용한다. Word와 Slides의 저장을 하나의 원자적 작업이라고 표현하지 않는다. 첫 단계 성공·둘째 단계 실패이면 Word를 유지하고 Slides 미완료를 표시한다. 재시도는 같은 작업의 사본 중복을 막아야 한다.

미리보기와 저장 직전 입력이 다르면 다시 확인한다. FragmentEditor의 런타임 checkpoint와 파일 저장 revision은 서로 다른 기준이다. 새 파일 생성과 기존 편집기 삽입도 구분한다. 기존 문서 삽입으로 범위를 넓힐 때는 #273의 preview/apply·undo 경계를 따라야 한다.

비교할 수동 경로와 구현 인수

수동 기준은 사용자가 같은 원문으로 Word와 Slides를 각각 만들고 저장·재열기하는 흐름이다. 현재 제품 UI에서 본문 입력·일반 복사와 붙여넣기를 사용할 수 있지만, 제품 간 모든 서식 보존을 가정하지 않는다. 내부 예행에서 실제 쓸 경로와 폰트·레이아웃을 고정한다. #298/PR #310의 Slides 입력 보존 상태를 해당 실행 빌드에서 확인한다. 조회 당시 PR #310은 아직 OPEN이었다.

새 흐름도 미리보기·거절 대응·수정·저장·재열기 시간을 포함한다. 자동 변환 함수의 실행 시간만 수동 전체 시간과 비교하지 않는다. #297의 저장·활성화·독립 완료를 구분한다. 기능이 없는 동안은 정적 예제로 이해만 확인하며 시간 절감 성과를 만들지 않는다.

구현 인수는 두 단계의 내용·구조·출처, 지원 불가 입력의 쓰기 없음, 레이아웃 넘침·검사 불가, 원본 수정 후 재확인, 취소·부분 저장·재시도, 결과 수정·재열기를 포함한다. 기존 clipboard와 DND는 기존 검사로 회귀를 확인한다. 이 회차는 코드를 읽고 이 인수 예제를 준비했으며 검사를 실행하지 않았다.

다음 실행 범위

#292는 열린 제안으로 유지한다. 구현 순서는 지원 계약·예제 고정 → Note→Word 새 사본 → Word→Slides 고정 레이아웃 → 수동 업무와 비교다. 각 단계의 담당과 착수는 기존 선행 작업 상태를 확인해 정한다. 새 변환 엔진·별도 편집기·AI 요약을 중복 구현하지 않는다. 실제 고객 선택은 #289와 #326의 증거를 따른다.

Clone this wiki locally