Fill and review API documentation#172
Conversation
Filled "To be added." placeholders for 8 new members across SKColorFilter, SKImageFilter, SKPaint, and SKSurface. Fixed 23 deterministic lint findings: 17 accessor-verb mismatches, 4 repeated-word defects, 1 spelling, and 1 invalid <see cref> missing the T: prefix. 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 f1f0fca:
|
|
Learn Build status updates of commit dc838bb:
|
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 |
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 api-docs run: filled
To be added.placeholders for the latest stub additions and cleared all deterministic lint findings reported bydotnet cake --target=docs-format-docs.What was filled (8 members across 4 files)
SkiaSharp/SKColorFilter.xmlCreateOverdraw(SKColor[])SkiaSharp/SKColorFilter.xmlCreateOverdraw(ReadOnlySpan<SKColor>)SkiaSharp/SKImageFilter.xmlCreateCrop(SKRect)SkiaSharp/SKImageFilter.xmlCreateCrop(SKRect, SKShaderTileMode)SkiaSharp/SKImageFilter.xmlCreateCrop(SKRect, SKShaderTileMode, SKImageFilter?)SkiaSharp/SKImageFilter.xmlCreateEmpty()SkiaSharp/SKPaint.xmlGetFastBounds(SKRect, out SKRect)SkiaSharp/SKSurface.xmlDisposeManaged()Every member was cross-checked against the C# source in
binding/SkiaSharp/before writing the summary, parameter docs, return doc, and exceptions:CreateOverdraw— confirmed the 6-color overdraw mapping and theArgumentNullException/ArgumentException("Exactly 6 colors are required.")behavior; both overloads documented per their actual validation.CreateCrop— confirmed the single-arg overload defaults toSKShaderTileMode.Decaland the (rect,tileMode,input) overload accepts a nullable input filter.CreateEmpty— documented as producing a fully transparent result regardless of source (matchessk_imagefilter_new_empty).GetFastBounds— confirmedfalseis returned withfastBounds = SKRect.Emptywhen the paint cannot compute conservative bounds; otherwisetruewith the expanded bounds.DisposeManaged— mirrors the doc shape of the existingSKPixmap.DisposeManagedoverride.What was reviewed and fixed (23 lint defects)
Accessor verbs (17) — corrected summaries to follow the read-only
Gets ...vs. settableGets or sets ...rule fromreferences/patterns.md:SKBitmap.Pixels,SKFrontBufferedStream.Position,SKImageInfo.AlphaType,SKPath.Handle,SKStream.Position— switched toGets or sets.SKJpegEncoderOptions.{AlphaOption,Downsample,Quality},SKNativeObject.{IgnorePublicDispose,IsDisposed},SKPath.Convexity,SKPngEncoderOptions.{FilterFlags,ZLibLevel},SKSurfaceProperties.{Flags,PixelGeometry},SKWebpEncoderOptions.{Compression,Quality}— switched toGets.Repeated words (4):
SKColorFilter.CreateBlendModeparammode: "The blend mode mode that is applied..." → "The blend mode that is applied...".SKSize.op_Explicit(SKSize→SKPoint),SKSize.op_Implicit(SKSizeI→SKSize),SKSizeI.op_Explicit(SKSizeI→SKPointI): dropped the duplicated word in "structure structure" within<returns>.Spelling (1):
SKColorspacePrimariesCicptype remarks — "Colour primaries" → "color primaries" (US English, consistent with the rest of the docs).Invalid cref (1):
SkiaSharp.Views.Tizen.CustomRenderingViewconstructor —<see cref='SkiaSharp.Views.Tizen.CustomRenderingView'>now uses the requiredT:DocId prefix.Findings summary
Deferred: none.
Validation
Re-ran
cd skiasharp && dotnet cake --target=docs-format-docsafter the edits:Generated files (
SkiaSharpAPI/index.xml,ns-*.xml,_filter.xml,FrameworksIndex/) were intentionally excluded from this commit per the workflow instructions; they will be regenerated as part of the normal sync cycle.