Fill API documentation placeholders#150
Conversation
…APIs
Fill all 'To be added.' placeholder fields across 33 XML documentation files
covering 1021 fields.
Types documented:
- HarfBuzzSharp: Face (variation/palette/color APIs), Font (variation coords),
HBColor (BGRA struct, operators, conversions)
- SkiaSharp: GRContext (Flush overloads), GRVkYcbcrComponents,
GRVkYcbcrConversionInfo, GrVkYcbcrConversionInfo (deprecated),
SKCanvas (DrawBitmap/DrawSurface/DrawText overloads), SKColorType (new values),
SKColorspace{Primaries,TransferFn}Cicp (CICP enums), SKDocument (CreateXps),
SKDocumentXpsOptions, SKFontArguments (ref struct), SKFontPaletteOverride,
SKFontVariationAxis, SKFontVariationPositionCoordinate, SKFourByteTag,
SKMaskFilter (CreateShader), SKPaint (GetFillPath builder overloads),
SKPath (Handle), SKPathBuilder (full API, 51 members), SKPathMeasure,
SKStream (GetData), SKSurface (Draw), SKTypeface (Clone/variation APIs),
SKWebpEncoder (Encode/EncodeAnimated), SKWebpEncoderFrame
- SkiaSharp.HarfBuzz: ColorExtensions (color conversion methods)
- SkiaSharp.Views.*: SKGLControl constructors, GTKExtensions, SKDrawingArea,
_Imports, SKGLSurfaceViewRenderer
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove obsolete API members and apply formatting cleanup to documentation XML files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PoliCheck Scan ReportThe 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 foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
|
Learn Build status updates of commit bcc11fe:
|
* [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>
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>
Automated AI-generated documentation for XML API docs with 'To be added.' placeholders.
Summary
Fills 1,021 documentation fields across 33 XML files covering the following types:
HarfBuzzSharp
Face— color layers, palettes, variation axes, named instancesFont— variation coordinates (design and normalized)HBColor— BGRA packed color struct with constructors, operators, and rich remarksSkiaSharp Core
GRContext—FlushoverloadsGRVkYcbcrComponents— Vulkan YCbCr component swizzle structGRVkYcbcrConversionInfo— Vulkan YCbCr conversion infoGrVkYcbcrConversionInfo— deprecated Vulkan typeSKCanvas—DrawBitmap/DrawSurface/DrawTextsampling overloadsSKColorType— new color type enum valuesSKColorspacePrimariesCicp/SKColorspaceTransferFnCicp— CICP standard-based enumsSKDocument—CreateXpsoverloadsSKDocumentXpsOptions— XPS document options structSKFontArguments— font argument ref structSKFontPaletteOverride— font palette color override structSKFontVariationAxis— font variation axis infoSKFontVariationPositionCoordinate— font variation coordinate structSKFourByteTag— four-byte tag parsing and conversionSKMaskFilter—CreateShaderfactory methodSKPaint—GetFillPathbuilder overloadsSKPath—HandlepropertySKPathBuilder— full API (51 members) with rich remarks and examplesSKPathMeasure— path measurement APIsSKStream— stream abstractionSKSurface— surface factory methodsSKTypeface— typeface creation and propertiesSKWebpEncoder/SKWebpEncoderFrame— WebP encoding optionsSkiaSharp.HarfBuzz
ColorExtensions— color conversion extension methodsSkiaSharp.Views
SKGLControl(Desktop),GTKExtensions,SKDrawingArea,_Imports,SKGLSurfaceViewRendererAlso includes formatting cleanup: removal of obsolete API members from XML files.