Export a board to PowerPoint, one slide per empty-space area - #92
Open
marcosqlbi wants to merge 1 commit into
Open
Export a board to PowerPoint, one slide per empty-space area#92marcosqlbi wants to merge 1 commit into
marcosqlbi wants to merge 1 commit into
Conversation
The board is one unbounded plane with no notion of a page. File > Export cuts it into areas where it is empty: a container keeps its linked ink, a stroke that spans two containers keeps them together, and a region is cut at the widest empty band until it fits a slide at the smallest text the person accepts. Each area becomes a picture slide rendered by the same BoardSurface that draws the screen, with the text containers in the speaker notes and an overview slide first. The dialog previews the areas numbered on the board and updates as the settings move. The partitioner lives in Core and is smoke-tested; the deck writer is a new SQLBI.Whiteboard.Export assembly over the Open XML SDK, listed in the signing step. docs/export.md is the plan, docs/export-decisions.md the calls made while implementing it, decision 26 the summary. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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
A
.wboardis one unbounded plane. Attendees ask for the board after a session, and a deck is what they can open, annotate, and search. Nothing in the file says where a slide begins, so most of this change is deciding that: docs/export.md is the plan and the alternatives, decision 26 the summary, and docs/export-decisions.md every smaller call made while building it, for review.What it does
BoardSurfacethat draws the screen, at up to 3840×2160, so calligraphy, the highlighter, and SVG come out as seen. The slide title comes from the dominant container (the language service's own title for DAX and SQL), and the area's text containers go in the speaker notes so code can be copied.Where the code is
SQLBI.Whiteboard.Core/Export: the partitioner and layout options, covered by the smoke tests with synthetic boards.SQLBI.Whiteboard.Export(new, net10.0, no WPF): the deck writer overDocumentFormat.OpenXml(MIT, managed-only, per decision 21). Added to the pipeline's signing step. The smoke tests open the produced deck.SQLBI.Whiteboard/Export: the rasterizer that generalizes thepreview.pngrenderer, the overlay, the exporter, and the dialog.The version is not bumped; the changelog line is ready when a release is cut.
🤖 Generated with Claude Code