0.8.0
Legacy document models now expose actual formatting, cell types and shape data, and binary Visio version 11 has a checked preserving document model.
parseVsdandparseOle2(bytes, {expect: 'vsd'})returnVsdDocument, extendingOle2DocumentBase. Pages/shapes expose stored dimensions and scale, identities, explicit transforms, UTF-16 text and MoveTo/LineTo geometry. Same-length text and conservative exclusive literal transforms preserve opaque records/streams by rewriting reachable blocks and ancestors. Earlier versions and unsafe ownership, allocation, control and formula contexts explicitly refuse.- The default
parseOle2union addskind: 'vsd'. ExistingOle2Fileassignments and checked format expectations remain valid; exhaustive switches must add the new variant. Unsupported automatic drawing decoding retains a diagnostic CFB model; checked parsing fails instead. - DOC paragraphs expose actual CP-mapped CHPX runs, direct formatting and PAPX style indices. Existing exclusive bold/italic operands can be set; inherited styles remain unresolved. Run handles expire after edits. Formatting table and lookup budgets avoid excessive allocation and repeated linear scans.
- XLS cells expose value types and supported boolean/error setters. NUMBER/RK/ MULRK conversions preserve XF and packed neighbors; BOOLERR replacement retains other records. Formulas, missing cells and unsupported type changes refuse.
- PPT slides expose actual OfficeArt identities, primitive kinds, names, local anchors and validated inline text references. Supported small-anchor rectangle/ text-box geometry edits reparse candidate values before commit. Large anchors remain raw/unknown; groups, mirrors and unsafe properties refuse edits.
Independent evidence covers four native Word formatting cases, eight native Excel boolean/error cases and three native PowerPoint geometry cases. Each comparison asserts only declared semantic changes and captured preservation. Authored VSD fixtures passed three libvisio 0.1.7 callback comparisons and three Windows IStorage checks, observing page/path/text values and intended text or transform changes. External parser code and unverified public binary fixtures are not incorporated. Native Visio was unavailable; library acceptance is not native fidelity, and literal path points are not automatically scaled or recalculated when transform dimensions change.
Full legacy parity, native rendering fidelity, general ShapeSheet evaluation, rich Visio text/styles/masters, structural creation and earlier binary versions remain subsequent work. Modern VSDX stays in ooxml; consumers reuse the released binary API and retain their own preview/editing capability boundaries.