Task #508: PageLayerTree image brightness/contrast JSON 필드 추가#510
Closed
postmelee wants to merge 2 commits into
Closed
Task #508: PageLayerTree image brightness/contrast JSON 필드 추가#510postmelee wants to merge 2 commits into
postmelee wants to merge 2 commits into
Conversation
edwardkim
pushed a commit
that referenced
this pull request
May 1, 2026
edwardkim
added a commit
that referenced
this pull request
May 1, 2026
- PR #510 (postmelee, Task #508 PageLayerTree image brightness/contrast) 머지 완료 (cherry-pick 548df60). 검토 + 구현 계획서 + 처리 보고서 작성. before/after SVG byte-identical 380,804 bytes 결정적 검증 + 작업지시자 시각 판정 승인. - PR #507 (cskwork, CASES+EQALIGN 분수 분실) 검토 문서 작성. 수정 요청 — 시각 판정 게이트 미충족 (samples/미적분03.hwp 부재). - mydocs/orders/20260502.md 외부 PR 처리 섹션 추가. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Owner
|
검토 + 시각 판정 게이트 통과 후 cherry-pick 머지 완료 (commit 548df60, devel branch). 단일 일괄 cherry-pick + commit 메시지 보강 (PR 번호 + closes #508 footer). 검증: paint::json 4/4 + lib 1110/1110 + clippy 0 + issue_418/501/svg_snapshot 회귀 0 + before/after SVG byte-identical (380,804 bytes). 처리 보고서: mydocs/pr/pr_510_report.md. 감사합니다. |
edwardkim
added a commit
that referenced
this pull request
May 1, 2026
…괄 정리 - README v0.7.9 사이클: PR #506 (jangster77, HWP 3.0 파서 + Square wrap) + PR #510 (postmelee, PageLayerTree image brightness/contrast) 추가. Task #509 (PUA 글머리표 회귀) 도 회귀 정정 섹션에 추가. - 누적 외부 기여자 목록에 jangster77 추가. - mydocs/pr/ → archives/ 일괄 이동 (PR #235~#510 closed/merged 44 PR, 84 파일). pr_507 만 OPEN 상태로 보존. pr_235_review/_impl 은 archives 사본과 byte-identical 이라 중복 제거. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim
added a commit
that referenced
this pull request
May 1, 2026
직전 commit 9b3c039 에서 의도된 변경 두 건이 누락되어 후속 정정. - README v0.7.9 사이클: PR #506 (jangster77, HWP 3.0 파서 + Square wrap) + PR #510 (postmelee, PageLayerTree image brightness/contrast) + Task #509 (PUA 글머리표) 추가. 누적 외부 기여자에 jangster77 추가. - mydocs/pr/pr_235_review.md / pr_235_review_impl.md 가 archives/ 와 pr/ 양쪽에 중복 존재했던 문제 정리 (archives 사본 보존, pr/ 사본 제거). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 1, 2026
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.
요약
brightness,contrast필드를 추가했습니다.0도 항상 출력해 downstream renderer가 필드 존재 여부를 분기하지 않고 replay contract를 사용할 수 있게 했습니다.serializes_backend_replay_payload_fields테스트에 non-zero brightness/contrast assertion을 추가했습니다.원인
ImageNode와 PageRenderTree 생성 경로에는 brightness/contrast가 이미 존재했지만,src/paint/json.rs의PaintOp::Imageserialization에서 두 필드를 내보내지 않았습니다.그 결과 PageLayerTree JSON 기반 renderer는 이미지 보정 값을 알 수 없었고, core SVG renderer와 같은 image filter 입력값을 재현할 수 없었습니다.
핵심 변경 내용
기존 image paint op serialization은
effect만 출력한 뒤 바로transform을 출력했습니다.이번 변경으로
effect직후brightness,contrast를 항상 출력합니다.따라서 image paint op JSON은 다음처럼 보정 값을 포함합니다.
{ "type": "image", "effect": "blackWhite", "brightness": -50, "contrast": 70, "transform": { "rotation": 0.000, "horzFlip": false, "vertFlip": false } }테스트도 non-zero 값이 JSON에 그대로 포함되는지 검증하도록 보강했습니다.
스키마 판단
PAGE_LAYER_TREE_SCHEMA_VERSION은 유지했습니다.brightness,contrast를 추가하는 additive JSON field 변경0은 기존 시각 의미와 동일외부 기여자 체크리스트
postmelee:task508→edwardkim/rhwp:develdevelplans/,working/,report/,orders/규칙 준수mydocs/pr/폴더는 수정하지 않음AGENTS.md는 PR 범위에서 제외로컬 검증
cargo test --lib paint::json::tests::serializes_backend_replay_payload_fields— 통과cargo test --lib paint::json— 4 passed, 0 failedcargo test --lib— 1102 passed, 0 failed, 1 ignoredcargo clippy --lib -- -D warnings— 통과cargo clippy -- -D warnings— 통과cargo test— 통과GitHub CI