Skip to content

Fill API documentation placeholders#151

Merged
mattleibow merged 1 commit into
mainfrom
automation/write-api-docs
Jun 23, 2026
Merged

Fill API documentation placeholders#151
mattleibow merged 1 commit into
mainfrom
automation/write-api-docs

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated AI-generated documentation for XML API docs with 'To be added.' placeholders.

Changes

Filled documentation for the following types:

  • HarfBuzzSharp.HBColorEquals(object), op_Explicit, op_Implicit
  • SkiaSharp.GrVkYcbcrConversionInfoComponents, SamplerFilterMustMatchChromaFilter, SupportsLinearFilter, two op_Implicit conversions
  • SkiaSharp.SKCanvasDrawBitmap (two overloads with SKSamplingOptions), DrawSurface
  • SkiaSharp.SKColorSpaceCreateCicp
  • SkiaSharp.SKDocumentCreateXps (three overloads, options parameter)
  • SkiaSharp.SKPathMeasureGetSegment(float,float,SKPathBuilder,bool)
  • SkiaSharp.SKSurfaceDraw(SKCanvas,SKPoint,SKSamplingOptions,SKPaint)
  • SkiaSharp.Views.Android.SKGLSurfaceViewRendererIJavaPeerable.UnregisterFromRuntime
  • SkiaSharp.Views.Gtk.SKDrawingAreaDispose()

Generated by Auto API Docs Writer · ● 7.9M ·

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 01ee1fa:

⚠️ Validation status: warnings

File Status Preview URL Details
SkiaSharpAPI/SkiaSharp.Views.Gtk/SKDrawingArea.xml ⚠️Warning Details
SkiaSharpAPI/SkiaSharp/SKTypeface.xml ⚠️Warning Details
SkiaSharpAPI/HarfBuzzSharp/Face.xml ✅Succeeded
SkiaSharpAPI/HarfBuzzSharp/HBColor.xml ✅Succeeded
SkiaSharpAPI/index.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp.Views.Android/SKGLSurfaceViewRenderer.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/GRVkYcbcrComponents.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/GRVkYcbcrConversionInfo.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKCanvas.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKColorSpace.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKDocument.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKDocumentXpsOptions.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKFontPaletteOverride.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKFontVariationAxis.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKFontVariationPositionCoordinate.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKFourByteTag.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPaint.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPathBuilder.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPathMeasure.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKSurface.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKWebpEncoder.xml ✅Succeeded

SkiaSharpAPI/SkiaSharp.Views.Gtk/SKDrawingArea.xml

  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'Gtk.DrawingArea'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'Cairo.Context'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'Cairo.Context'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'Cairo.Context'.

SkiaSharpAPI/SkiaSharp/SKTypeface.xml

  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'SkiaSharp.SKPaint.TextSize'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'SkiaSharp.SKPaint.TextSkewX'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'SkiaSharp.SKPaint.TextScaleX'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'SkiaSharp.SKPaint.FakeBoldText'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@mattleibow mattleibow merged commit a946bd1 into main Jun 23, 2026
3 checks passed
@mattleibow mattleibow deleted the automation/write-api-docs branch June 23, 2026 19:10
mattleibow added a commit that referenced this pull request Jun 23, 2026
* [docs] Fix broken API doc cross-references

Correct 16 dangling <see>/<value> cross-references that the AED
documentation-fill PRs (#150, #151) left pointing at removed, renamed, or
mistyped SkiaSharp members. Removes the resulting docfx xref-not-found
warnings. ECMA-XML prose only; no mdoc regeneration.

- SKColorTable.MaxLength -> SKColorFilter.TableMaxLength (type removed)
- SKCodec.Origin -> SKCodec.EncodedOrigin (renamed)
- SKSurfaceProps -> SKSurfaceProperties (renamed)
- GrVkYcbcrConversionInfo -> GRVkYcbcrConversionInfo (casing)
- SKPathVerb.Close: E: -> F: (enum field, wrong prefix)
- SKFontStyleWeight/Width: F: -> T: (type, wrong prefix)
- *.Empty (SKMatrix, SKPoint, SKColorSpaceXyz, SKColorSpaceTransferFn): P: -> F:
- SKMatrix44 Create* remarks: drop references to removed Set* instance methods

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [docs] Repoint removed 3-arg SKPath.Iterator.Next cref to 1-arg overload

Learn build validation on the docs flagged
M:SkiaSharp.SKPath.Iterator.Next(SkiaSharp.SKPoint[],System.Boolean,System.Boolean)
as xref-not-found. The 3-arg overload was removed upstream; SKPath.Iterator now
exposes only Next(SKPoint[]) and Next(Span<SKPoint>) (verified against
binding/SkiaSharp/SKPath.cs and the SKPath+Iterator.xml member list).

Repoint all 10 occurrences (3 in SKPath+Iterator.xml, 7 in SKPathVerb.xml) to
M:SkiaSharp.SKPath.Iterator.Next(SkiaSharp.SKPoint[]). Sibling
RawIterator.Next(SKPoint[]) crefs are valid and left unchanged.

This was missed initially because the xref scan matched on type+method name and
ignored the overload signature; the scan now requires exact full-DocId matches,
and a strict whole-repo re-audit confirms zero remaining internal dangling crefs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [docs] Fix hidden broken GRVkFilter cref masked by case-insensitive FS

The ChromaFilter property doc in the legacy GrVkYcbcrConversionInfo struct
referenced a type that does not exist — `<see cref="T:SkiaSharp.GRVkFilter"/>`.
ChromaFilter is a plain `uint` holding a raw Vulkan `VkFilter` value; there is
no GRVkFilter type in the docs corpus or the SkiaSharp API, so docfx emits an
xref-not-found warning. The modern GRVkYcbcrConversionInfo struct already
documents the same field correctly as a raw `<c>VkFilter</c>` value; mirror it.

This dangling cref was missed by the prior xref sweep because the repo contains
a case-collision pair — GRVkYcbcrConversionInfo.xml (modern) and
GrVkYcbcrConversionInfo.xml (legacy) differ only by case. On a case-insensitive
filesystem only one of the two physically checks out, so a working-tree glob
silently drops the shadowed legacy file. Staged via git plumbing so the fix
lands on the legacy blob without materializing both colliding paths on disk.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [docs] Drop obsolete GrVkYcbcrConversionInfo page to fix case-collision

The legacy [Obsolete("Use GRVkYcbcrConversionInfo instead.")] forwarder struct
GrVkYcbcrConversionInfo (lowercase-r) and the modern GRVkYcbcrConversionInfo
(uppercase-R) differ only by one letter's case. mdoc documents both
soft-obsolete types, producing two ECMA-XML files whose names collide on a
case-insensitive filesystem (the Learn / OpenPublishing build). One file
shadows the other, so crefs to the shadowed type fail with
"Cross reference not found: 'SkiaSharp.GRVkYcbcrConversionInfo'".

PR #152 repointed GRVkImageInfo.xml from the wrong lowercase casing to the real
uppercase type; that correct fix exposed this latent collision (the GR page is
the one shadowed). Rather than revert the casing, remove the collision at its
source: stop publishing the obsolete forwarder's page. The legacy type only
forwards to the modern one via two implicit conversion operators.

- Delete SkiaSharpAPI/SkiaSharp/GrVkYcbcrConversionInfo.xml
  (T:SkiaSharp.GrVkYcbcrConversionInfo) via the index, leaving the modern
  GRVkYcbcrConversionInfo.xml blob untouched.
- Remove its <Type> block from SkiaSharpAPI/FrameworksIndex/skiasharp.xml.
- Remove its entry from SkiaSharpAPI/index.xml.

No surviving file references T:SkiaSharp.GrVkYcbcrConversionInfo; the modern
GRVkYcbcrConversionInfo page is kept and now resolves cleanly. A companion
generator-side exclusion is being added in mono/SkiaSharp
scripts/infra/docs/docs.cake so mdoc won't regenerate the page.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Re-trigger OpenPublishing build

The previous build failed on a transient infrastructure error
(restore-template-repository-failed: could not clone
Microsoft/templates.docs.msft#main); all changed files validated
Succeeded with zero cross-reference errors. Empty commit to re-run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mattleibow added a commit that referenced this pull request Jun 30, 2026
Go Live: publish latest API docs (#171)

Publish the accumulated SkiaSharp / HarfBuzzSharp API documentation from main
to the live (published) branch. This is the first Go Live since #66 and rolls up
a large batch of docs automation, a full regeneration, and content/cross-reference
cleanup.

Highlights in this batch:

- Docs automation: automated API docs writer (#92, hardened in #155), daily
  update workflow, go-live workflow (#65), and a Learn Build status-based
  auto-merge gate (#82, #83) backed by check-learn-build.py and a
  .github/known-warnings.csv baseline.
- Regeneration: frameworks docs switched to latest-only monikers (#141), baseline
  reset to the Windows-generated output (#142), and stub regeneration moved to
  Linux via Mono (#147). This drops older, no-longer-shipping member/type pages
  (e.g. pre-v1.68 view APIs, the removed Android ISKRenderer interface, and the
  SKPaint text properties that moved to SKFont).
- Content: filled API documentation placeholders (#150, #151, #172) and fixed
  broken cross-references (#152).
- Cross-reference cleanup (#173): removed/repointed 36 obsolete xref-not-found
  references left behind by the latest-only-moniker regeneration — dangling links
  in 2019-era remarks to members that were since removed or relocated. Without
  this the Go Live build reported 160 warnings and the auto-merge gate (correctly)
  blocked the publish.

Build health at publish: 0 errors, 124 warnings, 0 suggestions. All 124 remaining
warnings are expected xref-not-found references to external framework types
(OpenTK, Gdk/Cairo/Graphene, ElmSharp/Tizen.NUI, Windows.UI.Xaml, Microsoft.UI.Xaml,
SharpVk, Vortice) that Learn cannot resolve and which are tracked in the
known-warnings.csv baseline — 0 new warnings versus baseline, so the gate passes.

Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant