Skip to content

fix(hwpx): 그림 effects/shadow roundtrip 보존#1349

Closed
Mireutale wants to merge 1 commit into
edwardkim:develfrom
Mireutale:fix/issue-1345-hwpx-picture-effects
Closed

fix(hwpx): 그림 effects/shadow roundtrip 보존#1349
Mireutale wants to merge 1 commit into
edwardkim:develfrom
Mireutale:fix/issue-1345-hwpx-picture-effects

Conversation

@Mireutale

Copy link
Copy Markdown
Contributor

변경 요약

HWPX 그림의 hp:effects/hp:shadow 정보가 parse → serialize_hwpx roundtrip 중 사라지는 문제를 수정했습니다.

  • Picture IR에 HWPX 그림 효과 모델(PictureEffects, PictureShadow, EffectColor 등)을 추가했습니다.
  • HWPX 파서가 hp:effects > hp:shadow > hp:scale/effectsColor/rgb 값을 보존하도록 했습니다.
  • HWPX 그림 serializer가 저장된 shadow/effects 값을 다시 출력하도록 했습니다.
  • hp:container 안의 그룹 자식 그림도 직렬화되도록 그룹 자식 루프를 연결했습니다.
  • samples/hwpx/aift.hwpx 기반 roundtrip 회귀 테스트를 추가했습니다.

관련 이슈

closes #1345

테스트

  • git diff --check 통과
  • cargo fmt --all -- --check 통과
  • cargo test --lib issue_1345_picture_effects_shadow_roundtrip 통과
  • cargo test --lib picture_effects_shadow_are_serialized 통과
  • cargo clippy --lib -- -D warnings 통과
  • cargo test 통과
  • 관련 샘플 파일로 SVG 내보내기 확인
  • 웹(WASM) 렌더링 확인 (해당하는 경우)

스크린샷

XML roundtrip 데이터 보존 수정이라 스크린샷은 첨부하지 않았습니다.

@edwardkim edwardkim self-requested a review June 9, 2026 07:38
@edwardkim edwardkim added the hwpx2hwp save hwpx to hwp label Jun 9, 2026
@edwardkim edwardkim added this to the v1.0.0 milestone Jun 9, 2026
edwardkim pushed a commit that referenced this pull request Jun 9, 2026
@edwardkim

Copy link
Copy Markdown
Owner

검토 및 수용 완료했습니다.

PR 커밋은 현재 devel 기준으로 maintainer-side cherry-pick 하여 반영했습니다.

로컬 검증:

  • cargo fmt --all -- --check
  • cargo test --offline --lib issue_1345_picture_effects_shadow_roundtrip -- --nocapture
  • cargo test --offline --lib picture_effects_shadow_are_serialized -- --nocapture
  • cargo test --offline --lib serializer::hwpx
  • cargo test --offline --test hwpx_roundtrip_integration
  • cargo test --offline --test hwpx_to_hwp_adapter stage5_export_hwp_with_adapter_idempotent_on_repeated_calls -- --nocapture
  • cargo test --offline --test issue_1279_picture_rotation_save issue_1279_hwpx_to_hwp_export_preserves_picture_rotation_contract -- --nocapture
  • cargo clippy --offline --lib -- -D warnings
  • rhwp convert samples/hwpx/aift.hwpx /private/tmp/rhwp-pr1349-aift-final.hwp

HWPX effects/shadow roundtrip 보존 방향과 hp:container 자식 직렬화 보강이 타당함을 확인했습니다. hwpx2hwp 저장 경로도 별도 cross-check 했고, HWP export/reload 경로를 깨뜨리지 않는 것을 확인했습니다.

기여 감사합니다.

@edwardkim edwardkim closed this Jun 9, 2026
edwardkim pushed a commit that referenced this pull request Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hwpx2hwp save hwpx to hwp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants