Repository navigation
docs(roadmap): say what 2.5 did for DOCX and what is left - #1017
Merged
Merged
Conversation
The strict-mode item said shapes, lines and ellipses are dropped with a warning; since 2.5 they are drawn where the layout places them, and every loss is named in DocxExportReport. It now says why the report is not a refusal - an export given an output file has written it before the sink runs - and keeps a built-in refuse option as a direction. The DOCX maturity item offered expanding coverage or an experimental flag; it now records that 2.5 expanded it and lists what is left: the @beta parts, charts still written as their data table, bytes that differ across platforms, and LibreOffice's distance from the page. Now no longer lists moving DOCX onto the compiled layout as work to come.
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.
Why
Two of
ROADMAP.md's Later items described a DOCX export 2.5 no longer has, and Now listed as work to come what 2.5 has done.shape,lineandellipse"now warns", and that the missing piece was a flag against "silently producing a document with content gone". Since 2.5 those nodes are written where the layout places them, as drawings or, for a plain horizontal line in the flow, as Word's own rule (capability matrix, the drawing-nodes paragraph), dropped only where they cannot be drawn (DocxSemanticBackend.droppedBecause: a gradient-only paint, nothing painted, no layout), and every node the export drops or approximates is named, with its path, inDocxExportReport.SemanticBackend.requiresResolvedLayout) and is held to a corpus in Word and LibreOffice. No experimental flag exists.What changed
v2.5.0changelog entry.DocxSemanticBackend.writewrites it before it calls the sink. The report comes from the backend passed toexport(...)(on the session or aMultiSectionDocument);buildDocxand its siblings build one without a sink. A built-in option that fails the export stays a direction, not a decision: today an export writes what it can and reports the rest.@Betaparts 2.5 added (among them the report, the builder,buildDocxand its siblings, the section export), and the charts still written as their data table (sharing a table cell with other drawings, or in a table composed in a cell). It also names deterministic bytes that still differ across platforms (Apache POI's XML-declaration line break), and LibreOffice setting the document further from the engine's page than Word (77 of 84 corpus documents pass in Word on Windows, 48 in LibreOffice 24.2 on CI's Linux).CHANGELOG.md: av2.5.0Documentation entry.No dates, no version, no code. Backend-neutral layout measurement is unchanged: it is still accurate, and
render-docxnow depending onrender-pdfonly makes it more pointed.Verification
CHANGELOG.mdv2.5.0 Highlights and Migrating: charts, report, determinism, the corpus counts (Word 77/84, LibreOffice 48/84);docs/architecture/backend-capability-matrix.md: drawing nodes, the chart row, the deterministic-output row;docs/api-stability.md: which DOCX parts are@Beta;DocxSemanticBackend.java: the file is written, then the sink is called;droppedBecause../mvnw -B -ntp test -pl :graph-compose-core -Dtest='com.demcha.documentation.**': 172 tests, 0 failures../mvnw -B -ntp test -f qa/pom.xml -Dtest='com.demcha.documentation.**': 28 tests, 0 failures.