Capability ledger

What exists, how it is evidenced, and what is still missing. A transparent map toward richer Visio support.

Full Microsoft Visio parity is a target, not the current result.

Implementation means code exists for the described subset. It does not mean a Microsoft Visio comparison passed. Generated fixtures exercise selected cases; the original sample is a demonstration, not a reference document.

How to read this ledger

Initial implementation identifies a working code path that still needs broader validation. Partial means known gaps or approximations. Not implemented means no supported end-to-end capability. Not established means there is insufficient evidence to make the claim.

Snapshot: 3 October 2026. The evidence column identifies source locations and test suites to inspect, not a claim that every listed test has passed in your checkout. Final test results belong to the specific commit being evaluated.

Capability inventory

Capability Target Current state Evidence to inspect Still missing
VSDX package intake Safe local OPC/ZIP reading Initial implementation Core package.ts; package.test.ts Broader producer corpus, independent security review
Format discovery and pages Relationships, page order, dimensions Initial implementation Core parser.ts; parser.test.ts More genuine document fixtures
Background pages Resolve and draw inherited background pages Partial Core getVisioPageLayers; viewer render-svg.ts Visio reference comparisons; page-scale interactions
Master inheritance Master and instance cell/section merging Partial Core shapes.ts and sheet.ts Formula-driven resizing, full master semantics
Group transforms Nested coordinate systems, rotation, flips and group display modes Partial Core geometry.ts; groupDisplayMode; renderer order tests Complex group corpus and reference renders
Basic paths Move, line, relative quadratic/cubic segments Partial Core geometryPaths in geometry.ts Comprehensive geometry conformance corpus
Ellipses and arcs Native cached arc and ellipse geometry Partial Core geometry.ts; geometry.test.ts Degenerate cases and reference images
NURBS, splines, polylines All Visio Geometry row forms Partial: polylines, cached splines and bounded NURBS approximation Core geometry.ts; literal/spline analytic tests; real upstream NURBS fixture Periodic/nonclamped forms, expressions, global error bounds and native spline fixtures
Line and fill styles Full styles, patterns, gradients and opacity Partial: cached caps/dashes, theme linear and saved horizontal gradients Core style/root and generated horizontal-gradient tests; ten real theme gradients; six real pattern-23 strokes; SVG paint tests Non-horizontal saved gradients, non-solid theme/custom patterns, native comparison, radial/hatch fills and effects
Arrowheads All connector end variants Partial: codes 1-5 Viewer arrowheads.ts; SVG markers Exact sizing, remaining codes, reference corpus
Connectors and glue Connectivity, routing, dynamic glue Partial read Core page connection model; cached geometry Live routing, glue constraints, editing and reroute
ShapeSheet formulas Recalculation and dependencies Partial: bounded numeric dependency recalculation for admitted geometry edits Core formula, edit-recalculate and independent review tests Scoped package/master/theme graph, dynamic functions and native conformance
Text Runs, margins, orientation, paragraphs and layout Partial: rich runs, wrapping, spacing, RTL and bullets Core paragraph model; bounded text/paragraph layout tests Exact Visio font metrics, tabs, advanced typography and reference comparisons
Themes and styles Theme colors, variants and inheritance Partial: selected theme records and explicit root-style caches Core theme resolver; upstream colors/gradients; hash-pinned root-cache regressions Missing caches, complete theme variants/fonts/effects and native reference equivalence
Images and foreign data Raster, vector, OLE and foreign objects Partial: embedded PNG/JPEG/GIF; isolated bounded EMF primitives Core raster/admission tests; inert vector boundary; isolated production worker and shared rendering tests Most EMF records, EMF+/WMF, SVG/OLE, effects and native Visio fidelity
Layers Visibility, locks, colors and print settings Partial: shared display controls and bounded visibility resolver Core visibility tests; shared control/search/selection tests; all-six binding APIs Layer color overrides, editing, native visibility comparison and print policy
Shape data and hyperlinks Properties, data graphics and links Partial: cached data and guarded hyperlink metadata 389 real-corpus data rows; generated URL tests; shared inspector tests Internal-target navigation, external subaddresses, frames, data graphics and editing
Containers and swimlanes Container relationships and layout Not implemented Cached child shapes may still render Semantic model, memberships, layout and editing
Document text search Find and navigate matching diagram text Partial: bounded visible-shape literal search across pages Shared controller/index/UI tests and all-six native binding integration Per-occurrence highlighting, regex, language collation, shape-data search and native visibility comparison
Page navigation Visio bottom page tabs, Ctrl+Page Up/Down and "Page N of M" status Initial implementation: shared ooxml-ui tab strip, page rail and status item ViewerController; viewer-chrome.ts; viewer-chrome.test.ts; editor-chrome.spec.ts Insert, rename, reorder and delete pages (needs core page commands); genuine multi-page usability corpus
Zoom and fit Visio status-bar zoom slider, Fit to Window (Ctrl+Shift+W), Page Width, 100%, Ctrl+wheel Initial implementation: shared ooxml-ui zoom slider, View ribbon Zoom group and the floating Pan & Zoom window (page thumbnail, visible-area outline, click or drag to pan, arrow keys, Ctrl+wheel zoom) viewer-element.ts; viewer-commands.ts; viewer-pan-zoom.ts; viewer-chrome.test.ts; viewer-pan-zoom.test.ts; visio-toolbar.spec.ts; task-windows.spec.ts Zoom dialog presets, resizing the Pan & Zoom outline to zoom, pinch behavior and large-diagram performance
Ribbon and toolbar commands Microsoft Visio window: File backstage, Quick Access Toolbar, Home, Insert, Design, Data, Process, Review, View and Help tabs, Tell me, Shapes window, context menus, page bar and status bar, with native shortcuts Partial. Layout follows a capture of Visio 16: tabs, groups, large and three-row commands, dropdown and split menus, dialog launchers; File backstage; Tell me what you want to do (Alt+Q) over every ribbon command with its location; KeyTips (Alt, then letters) across tabs and both Home and View levels; the Shapes window with the Basic Shapes stencil and a minimised Shapes strip that reopens it; shape and page context menus; page tabs with All pages and Insert Page; Presentation Mode in the status bar. Working: Undo/Redo, Pointer Tool, Rectangle drag tool and Rectangle master, Edit Text, Shape Data, Find, Layer Properties, Ruler, Grid, Task Panes, Pan & Zoom, Zoom presets, Fit to Window, Page Width, Full Screen, File Open, Save and Save As (VSDX copy), Export SVG, Print current page, Close, Info, Account (shared ooxml-ui profile editor, stored on this device) and Visio Options (shared ooxml-ui options dialog; User name and Initials honoured, every other setting disabled with its reason). Every other command, master and page is visible, disabled and names the missing capability. Composed from shared ooxml-ui elements, including the ribbon tab row, File backstage, print preview, Find bar and rulers ribbon*.ts, backstage.ts, viewer-backstage.ts, viewer-options.ts, viewer-tell-me.ts, viewer-options.test.ts, shapes-window.ts, viewer-stencil.ts, viewer-context-menu.ts, viewer-commands.ts, viewer-ruler.ts; viewer-chrome.test.ts, viewer-commands.test.ts, shapes-window.test.ts, visio-toolbar.spec.ts. Rectangle create plus delete reopened in Visio 16 over COM with exact PinX/PinY/Width/Height Clipboard, Font, Paragraph, Shape Styles, Arrange, Connector, Text and other drawing tools, other Basic Shapes masters, Change Shape, Insert Page and the Insert, Design, Data, Process and Review commands need new core edit commands. Also missing: New blank drawing, PDF export, Presentation Mode, bundled Help, on-canvas move/resize handles (need core-exposed PinX/LocPin), multi-selection, Guides, Page Breaks and Size & Position panes, stencil files
Shape selection Identify shapes by page and shape ID Partial: pointer and keyboard navigation Page-scoped selection, roving focus and lifecycle tests Multi-selection, assistive-technology and real-browser audit
Framework integration One renderer across host frameworks Six thin native adapters with lifecycle tests React/Vue/Angular/Svelte/Solid/vanilla runtime checks; selected SSR/hydration checks Standalone packaging, cross-browser and historical peer-version matrix
Editing and history Move, resize, style, text, undo/redo Experimental plain text and admitted top-level local 2D create/move/resize/delete, plus bounded primitive master-instance moves with explicit local pins and undo/redo Shared geometry controls, atomic API, all-six forwarding and Chrome editing tests; core corpus: 12 admitted master instances across four files, 59 refusals from 71 scanned Master resize/delete, groups, glue, unsupported package dependencies, style/rich-text edits and native Visio fidelity remain unsupported or unverified
Native save and round-trip Save editable VSDX preserving unknown parts Experimental local VSDX copy export for admitted text/geometry edits Core atomic preservation, dependency and independent safety tests; worker-isolated edits, bounded history and explicit downloaded copies. Signed and macro packages are rejected General writer, broader geometry and scoped cache recalculation, rich text, native Visio reopen
Export and print SVG, images, PDF and print layout Partial: SVG export and bounded immutable print artifacts Shared export/snapshot APIs, all-six handle tests, four-page real snapshot and raster pixel tests Print frames/dialogs, saved printer/layer settings, PNG/PDF output, embedded fonts and native comparison
Legacy and other Visio formats VSD, VDX, stencils, templates, macros Bounded binary VSD v11 preview through ole2 Byte-signature dispatch; explicit page/shape transforms, move/line geometry and plain text with diagnosed fallback styles. Legacy source is retained, with VSDX editing/export disabled. Older binary versions, groups/masters, rich formatting, complex geometry, native Visio fidelity, VDX, stencils, templates and macros
Collaboration and comments Shared editing with durable state Partial: File > Share starts a live session (ooxml-core/collab, Yjs) between windows of this browser over BroadcastChannel. The whole VSDX package is shared; remote changes arrive as one undoable history step; collaborators show with the shared ooxml-ui presence element viewer-share.ts; viewer-share.test.ts (two controllers sync a load, an edit and an undo); core package-sync.test.ts Sharing across devices (needs a host-provided server transport), field-level merging (concurrent changes: the last package wins), comments, authentication and roles
Visio visual parity Measured equivalence on real documents Not established; real corpus under comparison 19 upstream drawings import; secondary embedded-thumbnail comparisons reveal gaps Full reference renders, fonts/settings, measured fidelity and manual review
Corner rounding Rounded contiguous geometry Partial: closed axis-aligned rectangles and nonclamped open orthogonal paths Analytic regressions; five 60973 rectangles and five connectors (14 corners) Short-segment connector clamping, general polygon and mixed/curved path rounding

What the viewer tells you

Read compatibility notes after opening a document. The core emits structured diagnostic codes with available part, page and shape context. The renderer adds warnings for visual approximations such as unsupported arrow variants, approximate arrow sizing, and browser-based text metrics. Absence of a warning is not a guarantee that every unsupported construct was detected.

Evidence required for a parity claim

  1. Collect genuine Visio-authored fixtures spanning the capability inventory.
  2. Export reference views from a recorded Microsoft Visio version with known fonts and page settings.
  3. Compare geometry, text, styles, connectors and page backgrounds with measured tolerances.
  4. For editing, verify the result in the viewer and after saving and reopening in Visio.
  5. For round-trip, compare untouched XML parts, relationships and unknown content.
  6. Run the same workflow across every advertised framework and browser.

A full-parity percentage is deliberately not shown. No denominator or independent validation corpus has been established.

Source references

Search documentation

Type to find a topic.