# UnifiedWriter dev-5.27.0 Google Docs-style Editing + DOCX Import Level 1-2

## Scope

This development milestone consolidates the planned v5.25.0-v5.27.0 work into one package.

- v5.25.x: Google Docs-style UI refinement, Japanese-first menus/tooltips, pane organization.
- v5.26.x: Basic text and paragraph formatting on the Model-first editor.
- v5.27.x: DOCX Import Level 1-2 practical improvements.

## Model-first editing note

Visible page DOM is still a renderer output. Formatting commands update the block model first and then re-render pages. This is important because the same model operation path must eventually support undo/redo, DOCX import/export, page layout, and Host-driven save/open callbacks.

## Implemented editing features

- Paragraph style: Normal / Heading 1 / Heading 2 / Heading 3.
- Font size selection.
- Bold / Italic / Underline.
- Text color menu.
- Highlight color menu.
- Clear formatting across selected blocks or list items.
- Alignment: left / center / right / justify.
- Paragraph indent / outdent.
- List item indent / outdent remains item-level model metadata.
- Line spacing: single / 1.15 / 1.5 / double.

## DOCX Import Level 1-2 coverage

The importer keeps an OOXML-first path and uses Mammoth only as fallback.

- `word/document.xml`: paragraphs, runs, line breaks, page breaks.
- `word/styles.xml`: heading style detection.
- `word/numbering.xml`: bullet/numbered list type and level metadata.
- `word/_rels/document.xml.rels`: image and hyperlink relationships.
- `word/media/*`: inline image import as data URLs.
- Run formatting: bold, italic, underline, font size, text color.
- Paragraph formatting: alignment, line spacing, left indent.
- Hyperlinks: relationship or anchor based links.

## Not yet complete

The following are intentionally left for later milestones.

- Table editing and high-fidelity table layout.
- Header / footer editing.
- Footnotes/endnotes editing.
- Floating images and text wrapping.
- Track changes and comments.xml import.
- Full DOCX round-trip preservation of unknown parts.

