Repository navigation
feat: JSON 작성기 경량화 — 기본값 생략·한글 비이스케이프 (corpus 3,043 → 378 KB, 스키마 그대로) - #62
Merged
Merged
Conversation
스키마는 그대로("1.0"). 판독기가 없을 때 가정하는 값과 같은 필드는 쓰지 않는다
(run의 Bold/Italic/Underline/Strikethrough/FontSize 10, 문단 기본 필드, 기본 Type,
Rows/Columns, 병합 없는 표의 span 격자, 레거시 IsListItem). 비ASCII는 그대로 쓰고
HTML 민감 문자만 이스케이프(UnicodeRanges.All). 들여쓰기 없음.
corpus 240.6 -> 37.7 KB, 3,043 -> 378 KB.
구 판독기 호환: 변경 전 트리가 새 출력 18개를 읽어 자기 출력과 바이트 동일(JSON·.flow).
구 형식 fixture(format-1.0-verbose-kitchen-sink.json)를 새 판독기가 그대로 읽는 테스트.
그 밖: 메이저 버전이 더 높은 문서는 로드 경로가 거부(JsonException) ·
모르는 블록/인라인 Type은 RichEditorDiagnostics에 보고 · 문단 MarginTop NaN 직렬화 예외 ·
DOCUMENT_FORMAT.md를 코드에 맞춤(손상=예외, 여백 15mm, 자동 MarginTop, 가져오기 상한).
테스트 LeanJsonFormatTests 14, 반증 9. unit 1307 + render 55.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- JSON 로드도 같은 서식의 이웃 run을 합친다(HTML·RTF와 포트처럼) - 색은 Color.ToString()(이름·소문자) 대신 #AARRGGBB 대문자 — 사양대로, 포트와 같게 - Alt·VAlign 선언 순서를 포트와 맞춤 - Fixtures/format-1.0-interchange.json: 모든 필드를 쓰는 정본 문서, 포트도 같은 파일·같은 테스트 - 만든 모델과 비교하던 왕복 테스트 3개는 한 번 읽은 출력 기준으로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 로드 시 run 합치기, 색 #AARRGGBB 대문자(이전 판의 이름·소문자 표기 기록), 행 없는 표, 교환 정본 파일 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
centwon
added a commit
that referenced
this pull request
Oct 2, 2026
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
스키마는 그대로(
1.0)이고 작성기만 바꿨다..flow모두).LoadJson·LoadJsonAsync·LoadPackageAsync)가 거부한다. 모르는 블록·인라인Type은 진단으로 보고한다.MarginTop이 NaN이면 직렬화가 예외를 던지던 것을 고쳤다.docs/DOCUMENT_FORMAT.md를 코드에 맞췄다.검증: unit 1307 + render 55, 반증 9건.
🤖 Generated with Claude Code