Skip to content

Document Svg.Editor.* Packages and Generated API#471

Merged
wieslawsoltes merged 3 commits into
masterfrom
docs/svg-editor-packages
Mar 11, 2026
Merged

Document Svg.Editor.* Packages and Generated API#471
wieslawsoltes merged 3 commits into
masterfrom
docs/svg-editor-packages

Conversation

@wieslawsoltes
Copy link
Copy Markdown
Owner

PR Summary: Document Svg.Editor.* Packages and Generated API

Overview

This PR adds full end-user documentation for the extracted editor package stack and wires those packages into the Lunet-generated API site.

The repository already contains the reusable editor implementation under src/Svg.Editor.*. This PR makes that surface discoverable and maintainable by:

  • adding a dedicated Editor article section to the docs site,
  • documenting each editor package as a first-class package guide,
  • updating package selection and architecture articles to include editor scenarios,
  • extending Lunet api.dotnet generation to include all Svg.Editor.* projects,
  • updating the API/reference articles so future package additions follow the same workflow,
  • reducing the old docs/editor-packages.md file to a short maintainer-oriented note and pointing readers at the canonical site docs.

Commit Breakdown

1. a78e4f46 Add editor docs articles and package guides

Adds the authored documentation content for the editor stack.

Included:

  • new site/articles/editor/ section:
    • readme.md
    • architecture.md
    • embedding-workspace.md
    • composing-panels-and-dialogs.md
    • rendering-and-svg-services.md
  • new package guides:
    • site/articles/packages/svg-editor-core.md
    • site/articles/packages/svg-editor-svg.md
    • site/articles/packages/svg-editor-skia.md
    • site/articles/packages/svg-editor-avalonia.md
    • site/articles/packages/svg-editor-skia-avalonia.md
  • docs navigation and discovery updates:
    • site/articles/menu.yml
    • site/articles/packages/menu.yml
    • site/articles/packages/readme.md
    • site/articles/readme.md
    • site/readme.md
    • site/articles/getting-started/overview.md
    • site/articles/concepts/package-architecture.md

Key content added:

  • dependency ordering and package responsibilities for Svg.Editor.Core, Svg.Editor.Svg, Svg.Editor.Skia, Svg.Editor.Avalonia, and Svg.Editor.Skia.Avalonia
  • host integration guidance for SvgEditorWorkspace, SvgEditorSurface, DialogService, FileDialogService, PreviewRequested, ResourceAssembly, and WorkspaceTitlePrefix
  • custom-composition guidance for the reusable Avalonia panels and dialog abstractions
  • lower-level service documentation for session state, SVG mutation services, and Skia interaction/overlay helpers

Review fixes folded into the authored docs:

  • clarified that SvgEditorSurface comes from Svg.Editor.Skia.Avalonia, not Svg.Editor.Avalonia by itself
  • replaced placeholder examples that referenced undeclared variables with self-contained snippets

2. da16b05d Document editor API generation and references

Extends the generated API documentation and its supporting reference docs.

Included:

  • site/config.scriban
  • site/articles/reference/api-coverage-index.md
  • site/articles/reference/lunet-docs-pipeline.md
  • site/articles/reference/packages-and-namespaces.md

Key changes:

  • adds all five Svg.Editor.* projects to Lunet api.dotnet.projects
  • adds external API xrefs needed by the editor packages:
    • Avalonia.Controls.ColorPicker
    • Avalonia.Controls.DataGrid
  • updates the API coverage article so the generated /api site explicitly lists the editor assemblies
  • documents the maintenance steps required when a new public package is added to src/

3. 108a486a Refresh editor package maintainer note

Updates docs/editor-packages.md to stop serving as the primary user-facing documentation source.

Changes:

  • points maintainers to the canonical Lunet docs locations
  • keeps only the compact package summary and public host seams
  • lists the public host command entry points on SvgEditorWorkspace

Documentation Structure After This PR

New user-facing editor docs

  • site/articles/editor/
  • site/articles/packages/svg-editor-*.md

Updated cross-reference/docs plumbing

  • site/config.scriban
  • site/articles/reference/api-coverage-index.md
  • site/articles/reference/lunet-docs-pipeline.md
  • site/articles/reference/packages-and-namespaces.md

Updated entry points

  • site/readme.md
  • site/articles/readme.md
  • site/articles/getting-started/overview.md
  • site/articles/concepts/package-architecture.md
  • site/articles/packages/readme.md

Validation

Ran successfully:

./build-docs.sh
dotnet format --no-restore
dotnet build Svg.Skia.slnx -c Release
dotnet test Svg.Skia.slnx -c Release --no-build

Notes:

  • Lunet successfully generated API output for all Svg.Editor.* projects.
  • dotnet build still reports the repository's existing warnings, including the known NU1510 warning in samples/svgc and existing nullable/obsolete API warnings elsewhere.
  • No source or behavior changes were made outside documentation and docs-generation wiring.

Reviewer Focus

  • Verify the package selection guidance matches how you want consumers to discover the editor stack.
  • Verify the api.dotnet project list is the intended long-term surface for the generated API site.
  • Verify the host integration examples use the right abstraction level for SvgEditorWorkspace consumers versus custom-shell consumers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant