Background
The .NET-side gitbook (https://saveenr.gitbook.io/visioautomation/) has zero coverage of VisioScripting.Client, even though the source readme.md leads with a VisioScripting.Client snippet as its quick-start. A new C# reader's first impression is therefore an undocumented type.
VisioScripting/Client.cs exposes ~25 command groups (Application, Arrange, Connection, ConnectionPoint, Container, Control, CustomProperty, Developer, Document, Draw, Export, Grouping, Hyperlink, Layer, Lock, Master, Model, Output, Page, Selection, ShapeSheet, Text, Undo, UserDefinedCell, View). The source has a VisioScripting/README.md that's a solid starter, but it's not surfaced on the gitbook.
Public-API status (resolved)
Resolved per #156: hybrid public. VisioScripting.Client, the 25 group properties, and the public method signatures on each *Commands class are the documented public-stable contract. Helpers/, Loaders/, CommandTarget, and other plumbing stay internal-mutable. The pre-lock cleanup (#182) has landed: facade methods added for the two boundary leaks, and the enforcement layer is in place. Authoritative table: docs/decisions/visioscripting-public-api.md. Documented surface is ~156 method signatures across the 25 *Commands classes plus Client itself, the Target* types, ClientContext / DefaultClientContext, and the Models.* types referenced from public signatures.
Dead-method stance (resolved)
Resolved per #184: Option A ("public, candidate for CY27 removal"). Each dead method's gitbook page carries a "Remarks: candidate for CY27 removal (see #183)" note. The list of methods that get the flag is the ~36 identified in the #156 audit (filed under "Dead methods" in #183's body).
Status
- Overview page landed.
visio-scripting.md on the gitbook (commit 79474d1) covers the facade introduction, instantiation, the Target* convention, the 25-group index, and ClientContext / DefaultClientContext. SUMMARY now has a ## VisioScripting section between ## Core APIs and ## Shape data.
- Per-group sub-pages: pending. 25 pages, one per
*Commands class. Each follows the standard ## Syntax / ## Parameters / ## Examples / ## See also template, with a "Remarks: candidate for CY27 removal" block on dead methods per #184.
- getting-started.md preamble polish: pending. Existing API selection table is the foundation; the
VisioScripting.Client row should now link to visio-scripting.md.
- PowerShell-side cross-links: pending. Each cmdlet that wraps a
Client.<Group> call gets a cross-link to the corresponding new .NET-side page on the PSGallery gitbook.
Proposed work (remaining)
- Write 25 per-group sub-pages under
visio-scripting/ on the gitbook. Standard layout per existing per-namespace pages on the gitbook, with the "Remarks: candidate for CY27 removal" block where applicable.
- Update
getting-started.md to link the VisioScripting.Client table entry at the new overview page.
- Cross-link from PowerShell-side cmdlet docs to the corresponding new .NET-side group page.
Effort
M-L. Per-group pages are the bulk; ~25 pages with similar structure should batch reasonably. Comparable in scope to the Tier 1+2+4 .NET-side coverage that landed in 2026-05.
See also
Background
The .NET-side gitbook (https://saveenr.gitbook.io/visioautomation/) has zero coverage of
VisioScripting.Client, even though the sourcereadme.mdleads with aVisioScripting.Clientsnippet as its quick-start. A new C# reader's first impression is therefore an undocumented type.VisioScripting/Client.csexposes ~25 command groups (Application,Arrange,Connection,ConnectionPoint,Container,Control,CustomProperty,Developer,Document,Draw,Export,Grouping,Hyperlink,Layer,Lock,Master,Model,Output,Page,Selection,ShapeSheet,Text,Undo,UserDefinedCell,View). The source has aVisioScripting/README.mdthat's a solid starter, but it's not surfaced on the gitbook.Public-API status (resolved)
Resolved per #156: hybrid public.
VisioScripting.Client, the 25 group properties, and the public method signatures on each*Commandsclass are the documented public-stable contract.Helpers/,Loaders/,CommandTarget, and other plumbing stay internal-mutable. The pre-lock cleanup (#182) has landed: facade methods added for the two boundary leaks, and the enforcement layer is in place. Authoritative table:docs/decisions/visioscripting-public-api.md. Documented surface is ~156 method signatures across the 25*Commandsclasses plusClientitself, theTarget*types,ClientContext/DefaultClientContext, and theModels.*types referenced from public signatures.Dead-method stance (resolved)
Resolved per #184: Option A ("public, candidate for CY27 removal"). Each dead method's gitbook page carries a "Remarks: candidate for CY27 removal (see #183)" note. The list of methods that get the flag is the ~36 identified in the #156 audit (filed under "Dead methods" in #183's body).
Status
visio-scripting.mdon the gitbook (commit79474d1) covers the facade introduction, instantiation, theTarget*convention, the 25-group index, andClientContext/DefaultClientContext. SUMMARY now has a## VisioScriptingsection between## Core APIsand## Shape data.*Commandsclass. Each follows the standard## Syntax/## Parameters/## Examples/## See alsotemplate, with a "Remarks: candidate for CY27 removal" block on dead methods per #184.VisioScripting.Clientrow should now link tovisio-scripting.md.Client.<Group>call gets a cross-link to the corresponding new .NET-side page on the PSGallery gitbook.Proposed work (remaining)
visio-scripting/on the gitbook. Standard layout per existing per-namespace pages on the gitbook, with the "Remarks: candidate for CY27 removal" block where applicable.getting-started.mdto link theVisioScripting.Clienttable entry at the new overview page.Effort
M-L. Per-group pages are the bulk; ~25 pages with similar structure should batch reasonably. Comparable in scope to the Tier 1+2+4 .NET-side coverage that landed in 2026-05.
See also
docs/decisions/visioscripting-public-api.md— authoritative public/internal contract table.docs/FUTURES.mdunder "Decide whether to documentVisioScriptingas a public API".