Skip to content

Add automatic two-line warichu across renderers and bindings - #86

Merged
Iktahana merged 3 commits into
mainfrom
release/automatic-warichu
Sep 7, 2026
Merged

Add automatic two-line warichu across renderers and bindings#86
Iktahana merged 3 commits into
mainfrom
release/automatic-warichu

Conversation

@Iktahana

@Iktahana Iktahana commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Long [[warichu:...]] annotations now form continuous two-row fragments using the first body line's remaining capacity and later lines' full capacity. The syntax and AST remain compatible; author [[br]] breaks are preserved, and automatic rows never write back to source.

Rust owns grapheme-safe splitting, kinsoku, atomic ruby/tcy/no-break/nested content, overflow reporting and UTF-8 source paths. Numeric layout calls remain supported alongside first/continuation capacity options, with thin C, Python, Swift and Kotlin/JNI interfaces. HTML, legacy HAST, EPUB and PDF use the shared rules; DOCX retains native Word combine groups. The browser controller supports invalidation, reconfiguration, settlement and disposal. Printing settles against resolved physical page dimensions, including measured font/letter-spacing advances.

The change also preserves semantic HTML table headers and formatted nested no-break parsing, both caught by consumer regressions. Public types, examples, multilingual binding documentation and changelogs are updated. Custom size, row count and manual split controls remain tracked in #85.

Local verification for fbfaf640f40e2d628fe67e8568d5dc91d9638248:

  • Rust fmt, clippy, full tests/coverage and packaged crate; Python wheel/sdist installs and 27 tests at 100% coverage.
  • Swift five-target XCFramework, exact binary consumer (17 tests, 99.34%) and format validators; Android two ABIs, JNI host tests, four hidden native tests and coverage gate.
  • Node build/typecheck, all package coverage gates, packed Chromium/Firefox/WebKit consumers, publication contracts (65 DOCX + 9 specified rejections, 7 LibreOffice imports, 74 PDF, 7 EPUB, 3 HTML).
  • Complete local downstream chain: plugin release:check/three-browser consumers passed; Illusions 629 test files, 5,587 tests and unchanged full/changed coverage gates passed, with renderer/Electron builds and two hidden warichu E2E scenarios.
  • Actual A5 horizontal/vertical PDFs preserve all 720 annotation characters and 10.5pt body/5.25pt note glyphs. No Word GUI, native OS IME or EPUB reader compatibility claim is made.

This is the source candidate for the authorized npm/Rust/Python/Android publications and subsequent Swift prepare → manifest PR → publish workflow. Publication uses the established protected-branch CI and release workflows. Illusions app publication is outside this change.

@codecov

codecov Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.29190% with 25 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
nodejs/packages/mdi/src/warichu-browser.ts 91.72% 6 Missing and 5 partials ⚠️
mdi-core/src/warichu.rs 97.04% 8 Missing ⚠️
nodejs/packages/mdi/src/warichu-print.ts 88.63% 2 Missing and 3 partials ⚠️
mdi-core/src/lib.rs 97.61% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@Iktahana
Iktahana merged commit 0f67680 into main Sep 7, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant