Summary
@rhwp/core 0.7.3 에는 paragraph 구조 자체를 삭제 하는 WASM API 가 없습니다. 현재는 replaceText(text, "") 폴백으로 text 만 비울 수 있을 뿐이라, paragraph 자체를 제거하는 시나리오가 엔진 레벨에서 구현 불가합니다.
Environment
@rhwp/core 0.7.3
- Node.js v25.6.0 on macOS arm64
Context
MCP / CLI / Swift bridge 는 공통적으로 deleteSelection 같은 "선택된 paragraph 를 지워버리기" 의미론을 제공해야 합니다. 지금은 다음과 같이 처리:
// rhwp-mcp 의 deleteSelection 폴백
doc.replaceAll(block.text, "", true);
// → 빈 paragraph 가 남음 (structure 유지, text 만 비움)
사용자 관점에서는:
- "이 문단을 지워" 의도 → 빈 paragraph 가 남음
- 여러 paragraph 삭제 시 문서 구조가 점점 공허해짐
Expected
deleteParagraph(section, paraIdx) WASM 함수 — 해당 paragraph 의 control, run, property 를 모두 제거하고 이후 paragraph 의 paraIdx 를 재조정.
Suggested API
doc.delete_paragraph(section: usize, paraIdx: usize) → JSON
{ ok: bool, removedCharCount: usize, newParagraphCount: usize }
범위 검사:
paraIdx < paragraphCount(section) 필수
- 섹션의 마지막 paragraph 삭제 시 섹션 empty 여부 정책 결정 (한컴 규약상 paragraph 0 은 유지?)
Impact
해소 시 rhwp-mcp 의 deleteSelection 폴백 제거 가능, 저수준 tool rhwp_delete_paragraph 노출 가능, Swift bridge 의 degradation 경로 제거.
English summary
There is no WASM API to actually remove a paragraph; only text-blanking via replaceAll(text, "") is possible. Consumers need a delete_paragraph(section, paraIdx) entry to implement proper delete semantics. Please consider exposing one.
References
- 다운스트림 폴백 경로 (비공개):
rhwp-mcp/src/planner/mutation-planner.ts deleteActions + apply-edit.ts executeParagraphAction case "deleteParagraph"
Summary
@rhwp/core0.7.3 에는 paragraph 구조 자체를 삭제 하는 WASM API 가 없습니다. 현재는replaceText(text, "")폴백으로 text 만 비울 수 있을 뿐이라, paragraph 자체를 제거하는 시나리오가 엔진 레벨에서 구현 불가합니다.Environment
@rhwp/core0.7.3Context
MCP / CLI / Swift bridge 는 공통적으로
deleteSelection같은 "선택된 paragraph 를 지워버리기" 의미론을 제공해야 합니다. 지금은 다음과 같이 처리:사용자 관점에서는:
Expected
deleteParagraph(section, paraIdx)WASM 함수 — 해당 paragraph 의 control, run, property 를 모두 제거하고 이후 paragraph 의 paraIdx 를 재조정.Suggested API
범위 검사:
paraIdx < paragraphCount(section)필수Impact
해소 시 rhwp-mcp 의
deleteSelection폴백 제거 가능, 저수준 toolrhwp_delete_paragraph노출 가능, Swift bridge 의 degradation 경로 제거.English summary
There is no WASM API to actually remove a paragraph; only text-blanking via
replaceAll(text, "")is possible. Consumers need adelete_paragraph(section, paraIdx)entry to implement proper delete semantics. Please consider exposing one.References
rhwp-mcp/src/planner/mutation-planner.tsdeleteActions+apply-edit.tsexecuteParagraphAction case "deleteParagraph"