Skip to content

Keep fills, square frames, and handwriting from older Microsoft Whiteboard boards (1.7.2) - #173

Merged
marcosqlbi merged 1 commit into
mainfrom
fix/ms-whiteboard-older-board-fidelity
Sep 30, 2026
Merged

marcosqlbi merged 1 commit into
mainfrom
fix/ms-whiteboard-older-board-fidelity

Conversation

@marcosqlbi

Copy link
Copy Markdown
Collaborator

Compared with Edge, boards made with older versions of Microsoft Whiteboard imported with three differences: highlighter fills were missing, frames had rounded corners, and handwritten titles were split onto two lines.

Missing fills. Older boards keep some highlighter strokes as an outline only: the polyline is empty and the scale is not 1/128. The outline is a square tip followed by the sweep, as overlapping pieces, and the path cannot be recovered from it reliably, so the importer treated the stroke as empty and dropped it without a message. Such a stroke now becomes an SVG picture of its outline, in its color and opacity, at its place in the drawing order. Seven such strokes on three sample boards (FEvsSE, Venn diagrams, Whiteboard 1) are back. They move and delete as pictures, and they keep the few small gaps Edge shows where the outline's pieces overlap.

Square frames. The board had no square-cornered shape. ShapeKind.Rectangle is added at the end of the enum, because a board stores the kind by name and an older release opens an unknown kind as a rounded rectangle. It comes first on the Insert row and palette (now three rows of three), and PowerPoint export writes it as rect. Imported rectangles of either form use it. Notes and note grids stay rounded.

Handwriting. Text boxes on older boards use Ink Free, which was mapped to Segoe Print, a wider font. The line breaks were worked out in Segoe Print, so single-line titles split in two. Ink Free is now a label font, embedded in PDF export from its one regular file. Imported text is now broken into lines by measuring in the family the page names, so Aptos text keeps its breaks too.

Verified by rendering FEvsSE, Venn diagrams, and Whiteboard 1 in headless Edge and in the application at the same fit; the fills, frames, and titles match. All 21 sample boards import with nothing left out. New Core smoke tests cover the outline picture, the Rectangle kind on both import paths, and the line-break font. The existing per-shape and per-font export tests now include Rectangle and Ink Free. The solution builds clean and both harnesses pass.

The Insert row and palette with the new button were not checked on screen.

The version goes to 1.7.2, with a CHANGELOG entry; README, the guide, the shortcuts page, the Preferences description, and the design, export, and import docs are updated.

🤖 Generated with Claude Code

…board boards (1.7.2)

Boards made with older versions of Microsoft Whiteboard imported without their
highlighter fills, with rounded frames, and with handwritten titles split in two.

Highlighter strokes that the page keeps only as an outline become SVG pictures of
that outline. A Rectangle shape with square corners joins the Insert row, and imported
rectangles use it. Ink Free joins the label fonts, and imported text is broken into
lines by measuring in the family the page names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@marcosqlbi
marcosqlbi merged commit 24a1144 into main Sep 30, 2026
5 checks passed
@marcosqlbi
marcosqlbi deleted the fix/ms-whiteboard-older-board-fidelity branch September 30, 2026 10:13
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