You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CLI 는 GrayScale + brightness=-50 + contrast=70 워터마크 효과를 모두 정상 적용.
가설 (1차 진단 출발점)
rhwp-studio/src/ 의 PageRenderTree → Canvas/SVG 렌더 경로에서 ImageNode.effect / brightness / contrast 값을 조회는 하지만 (picture-props-dialog 에서 사용 확인) 실제 paint 단계에서 Canvas 2D filter 또는 inline SVG <filter> 를 적용하는 처리가 누락 되어 있다.
비교: PR #510 (Task #508) 은 PageLayerTree JSON 에 brightness/contrast 가 누락된 결함이었음 — 동일 패턴의 contract 누락이지만 본 결함은 JSON 은 정상이고 web consumer 의 적용 누락.
재현
rhwp-studio dev 서버 기동: cd rhwp-studio && npx vite --host 0.0.0.0 --port 7700
samples/복학원서.hwp 로드
워터마크 영역 (회색조 + brightness=-50 + contrast=70 의 흐린 직인) 확인 → 원본 컬러 + 진하게 표시
비교: rhwp export-svg samples/복학원서.hwp 로 CLI SVG 생성 → 정상 (회색조 + 흐린 워터마크)
본질 (조사 출발점)
rhwp-studio/src/engine/ 또는 rhwp-studio/src/render/ 의 paint 경로에서 image.effect/brightness/contrast 적용 코드 부재 점검
Canvas 2D ctx.filter = 'grayscale(100%) brightness(...) contrast(...)' 또는 inline SVG <filter> 추가 필요
증상
samples/복학원서.hwp등 그림에effect=GrayScale,brightness,contrast가 설정된 문서를 rhwp-studio (web) 에서 열면 회색조/밝기/대비 효과가 적용되지 않은 원본 컬러 그림 이 출력된다.CLI SVG 출력 (
rhwp export-svg) 은 동일 문서에서<filter feColorMatrix>를 정상 적용하고 있어 결과가 다르다.정합성 회귀 (CLI ↔ web)
rhwp export-svg)src/renderer/svg.rs::ensure_image_effect_filter가 GrayScale / BlackWhite / brightness/contrast 필터 emit코드 흐름
Picture.image_attr.effect = ImageEffect::GrayScale정상 (src/parser/control/shape.rs:852)src/renderer/svg.rs:1172영역):<filter id="rhwp-img-grayscale">+<g filter="url(...)">정상 emitsrc/paint/json.rs:727):"effect":"grayScale"+"brightness"+"contrast"정상 직렬화 (PR Task #508: PageLayerTree image brightness/contrast JSON 필드 추가 #510 으로 brightness/contrast 추가 완료)CLI 출력 검증 자료
samples/복학원서.hwp의 CLI SVG (output/svg/pr510_after/복학원서.svg) 에서 다음 정의/적용 확인됨:CLI 는 GrayScale + brightness=-50 + contrast=70 워터마크 효과를 모두 정상 적용.
가설 (1차 진단 출발점)
rhwp-studio/src/의 PageRenderTree → Canvas/SVG 렌더 경로에서ImageNode.effect/brightness/contrast값을 조회는 하지만 (picture-props-dialog 에서 사용 확인) 실제 paint 단계에서 Canvas 2Dfilter또는 inline SVG<filter>를 적용하는 처리가 누락 되어 있다.비교: PR #510 (Task #508) 은 PageLayerTree JSON 에 brightness/contrast 가 누락된 결함이었음 — 동일 패턴의 contract 누락이지만 본 결함은 JSON 은 정상이고 web consumer 의 적용 누락.
재현
cd rhwp-studio && npx vite --host 0.0.0.0 --port 7700samples/복학원서.hwp로드rhwp export-svg samples/복학원서.hwp로 CLI SVG 생성 → 정상 (회색조 + 흐린 워터마크)본질 (조사 출발점)
rhwp-studio/src/engine/또는rhwp-studio/src/render/의 paint 경로에서image.effect/brightness/contrast적용 코드 부재 점검ctx.filter = 'grayscale(100%) brightness(...) contrast(...)'또는 inline SVG<filter>추가 필요src/renderer/svg.rs::ensure_image_effect_filter로직과 정합한 web-side 구현비-목표 (별도 이슈 후보)
Pattern8x8effect 의 web 적용 (CLI 도 grayscale 폴백)환경