Skip to content

docs: VisioScripting.Client is undocumented in the gitbook #131

Description

@saveenr

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions