Fill all documentation placeholders for SkiaSharp 3.x APIs#145
Fill all documentation placeholders for SkiaSharp 3.x APIs#145github-actions[bot] wants to merge 1 commit into
Conversation
Populate all 'To be added.' placeholder fields across 38 documentation files (1057 fields in 38 XML files) for new APIs in SkiaSharp 3.x and HarfBuzzSharp: HarfBuzzSharp: - Face: variation axes (HasVariationData, VariationAxisInfos, etc.), named instances, color palettes (HasPalettes, GetPaletteColors, etc.) - Font: SetVariations, SetVariationCoordsDesign/Normalized, VariationCoordsNormalized, SetVariationNamedInstance - HBColor: BGRA-packed color struct with full type-level remarks SkiaSharp: - SKFourByteTag: big-endian packed tag struct with remarks/examples - SKColorspacePrimariesCicp / SKColorspaceTransferFnCicp: CICP enums - SKColorSpace.CreateCicp: factory for CICP color spaces - SKColorType: Bgra10101010XR, RgbF16F16F16x, R16Unorm, RF16 - GRVkYcbcrComponents / GRVkYcbcrConversionInfo: Vulkan YCbCr structs - GrVkYcbcrConversionInfo: obsolete wrapper with conversion operators - SKDocumentXpsOptions / SKDocument.CreateXps: XPS options struct - SKFontArguments / SKFontPaletteOverride / SKFontVariationAxis / SKFontVariationPositionCoordinate: font variation/palette structs - SKTypeface: Empty, IsEmpty, Clone overloads, variation API - SKPathBuilder: full 51-member mutable path builder with remarks - SKPathMeasure.GetSegment with SKPathBuilder destination - SKPaint.GetFillPath overloads writing to SKPathBuilder - SKWebpEncoder.Encode / EncodeAnimated: animated WebP encoding - SKWebpEncoderFrame: animated WebP frame struct - SKCanvas: DrawBitmap/DrawSurface with SKSamplingOptions - SKSurface.Draw with SKSamplingOptions - SKMaskFilter.CreateShader, SKStream.GetData, SKPath.Handle - GRContext.Flush(SKImage) / Flush(SKSurface) SkiaSharp.HarfBuzz: - ColorExtensions: ToHBColor/ToSKColor/ToSKColorF/ToSKColors Views: - SKGLControl constructors, GTKExtensions converters - SKDrawingArea.Dispose, SKGLSurfaceViewRenderer (infra) - Blazor _Imports, ActionHelper, FloatFloatActionHelper (infra) - SkiaSharp.Views.Blazor.Internal namespace summary 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 dd79afe:
|
dd79afe to
5bcb571
Compare
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 |
5bcb571 to
dd79afe
Compare
|
Learn Build status updates of commit 5bcb571: ✅ Validation status: passed
For more details, please refer to the build report. |
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 dd79afe:
|
[CI] Run API-docs stub regeneration on Linux via Mono (#147) Two related changes to the auto-api-docs-writer workflow: flip the regenerate-stubs job to Linux, and stop the writer from running on pull requests. ~~ Move regenerate-stubs from Windows to Linux ~~ This job was the last non-Linux job across the SkiaSharp + SkiaSharp-API-docs doc pipeline; with it flipped, the entire two-repo pipeline runs on Linux, matching the local Docker image and the SkiaSharp-side CI. The job only used Windows because mdoc.exe is a .NET Framework tool, but that requirement no longer holds: * mdoc.exe runs fine under Mono, and SkiaSharp's docs.cake already invokes it via `mono`. * The managed GTK# reference assemblies mdoc needs come from NuGet via the cake comparer (passed as --lib paths), so no system GTK# install is required — the Windows GTK# 2 MSI download/install was redundant. So Mono (mono-complete via apt) is the only added dependency. The job now calls the shared scripts/infra/docs/generate-api-docs.sh entry point instead of `dotnet cake --target=update-docs`, uses global.json for the SDK and Linux-style nuget cache paths, and drops the now-redundant `dotnet tool restore` and docs-download-output steps. Proven locally end-to-end on Linux (Docker, dotnet10 + mono-complete) against this repo's stub tree: it correctly pruned the orphaned net6-only type files (ActionHelper, FloatFloatActionHelper) and added the newer [Nullable] attributes, and two consecutive runs produced byte-identical output (hash ec15190a) — so the job is both correct and idempotent on Linux. Prerequisite: the companion mono/SkiaSharp#4200, which adds scripts/infra/docs/generate-api-docs.sh, has merged to main, so the checked-out SkiaSharp tree now has the script. ~~ Drop the pull_request trigger ~~ The writer is a full agentic workflow: it regenerates stubs, fills placeholders with AI, and opens a PR via gh-aw safe-outputs. When a PR edits this workflow, the writer fires on that PR and then fails, because safe-outputs refuses to create a PR that touches protected workflow files (protect_top_level_dot_folders: true) — surfacing as a red safe_outputs check on this very PR. Removing the pull_request trigger stops the writer running on PRs; push:[main] still validates workflow edits after they land, and workflow_dispatch + schedule are unaffected. Recompiled .lock.yml via `gh aw compile` for both commits. Supersedes #144, which gh-aw's recreate_ref:true auto-closed when a run was dispatched on its branch; moved to the dedicated ci/linux-mdoc-regenerate-stubs branch so the agentic placeholder-fill PRs reusing dev/linux-mdoc-regenerate-stubs (e.g. #145) can't collide with it. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Populates all
"To be added."placeholder fields across 38 documentation files (1057 fields merged into 65 XML files) for new APIs added in SkiaSharp 3.x and HarfBuzzSharp.What was documented
HarfBuzzSharp
HasVariationData,VariationAxisInfos,GetVariationAxisInfos,TryFindVariationAxis), named instances (NamedInstanceCount,GetNamedInstanceSubfamilyNameId, etc.), color palettes (HasPalettes,PaletteCount,GetPaletteColors,GetPaletteFlags,GetPaletteNameId,GetPaletteColorNameId), color layers/SVG/PNG flagsSetVariations,SetVariationCoordsDesign,SetVariationCoordsNormalized,VariationCoordsNormalized,GetVariationCoordsNormalized,SetVariationNamedInstanceSkiaSharp
Bgra10101010XR,RgbF16F16F16x,R16Unorm,RF16Dpi,AllowNoPngs;SKDocument.CreateXpsoverloadsEmpty,IsEmpty,Cloneoverloads, variation design APISKPathBuilderSKPathBuilderDrawBitmap/DrawSurfaceoverloads withSKSamplingOptionsSKSamplingOptionsSkiaSharp.HarfBuzz
ToHBColor,ToSKColor,ToSKColorF,ToSKColorsViews
_Imports,ActionHelper,FloatFloatActionHelper(infrastructure)SkiaSharp.Views.Blazor.Internalnamespace summaryProcess
Documentation was sourced directly from C# source files in the SkiaSharp binding, SkiaApi.generated.cs (for CICP enum values and Vulkan struct layouts), and verified against the .NET XML documentation patterns guide.