Skip to content

Fix obsolete cross-references in API docs (DrawInSurface, ISKRenderer, SKPaint text props)#173

Merged
mattleibow merged 1 commit into
mainfrom
mattleibow-dev-fix-obsolete-doc-xrefs
Jun 30, 2026
Merged

Fix obsolete cross-references in API docs (DrawInSurface, ISKRenderer, SKPaint text props)#173
mattleibow merged 1 commit into
mainfrom
mattleibow-dev-fix-obsolete-doc-xrefs

Conversation

@mattleibow

Copy link
Copy Markdown
Collaborator

Summary

Fixes 36 xref-not-found build warnings that were blocking the Go Live publish (#171). These are dangling <xref:> links in 2019-era hand-written conceptual prose (<remarks>/[!NOTE] blocks) that point at SkiaSharp API members which were later removed or relocated. The link targets disappeared when commit 1dd7575 ("Regenerate frameworks docs: latest-only monikers (#141)") dropped the old member/type pages, but the prose linking to them was never updated.

These are ECMA/mdoc XML docs — the <remarks>/<summary> prose is hand-authored and preserved across regeneration, so editing the prose is the correct, safe fix. No generated <Member> signatures or <Parameters> were touched.

Changes per group

Group 1 — Obsolete Apple DrawInSurface notes (24 instances)

Removed the obsolete > [!NOTE] blocks that told pre-v1.68 users to override DrawInSurface instead of OnPaintSurface. DrawInSurface was removed after v1.68.x (replaced by OnPaintSurface), so the note is ~8 years obsolete.

  • SkiaSharp.Views.Mac/{SKCanvasLayer,SKCanvasView,SKGLLayer,SKGLView}.xml
  • SkiaSharp.Views.iOS/{SKCanvasLayer,SKCanvasView,SKGLLayer,SKGLView}.xml
  • SkiaSharp.Views.tvOS/{SKCanvasLayer,SKCanvasView,SKGLLayer,SKGLView}.xml

Group 2 — Obsolete Android ISKRenderer references (4 instances)

Removed the obsolete > [!NOTE] blocks referencing the removed nested ISKRenderer interface and SetRenderer(ISKRenderer) method. The surrounding remarks already document the modern pattern (override OnPaintSurface / subscribe to the PaintSurface event), so the docs remain coherent and accurate.

  • SkiaSharp.Views.Android/{SKGLSurfaceView,SKGLTextureView}.xml

Group 3 — Repoint SKTypeface xrefs to SKFont (4 instances)

The four SKPaint text properties were removed and now live on SKFont. Repointed the xrefs (targets verified to exist in SKFont.xml) and updated the surrounding sentence ("used in the paint" → "used in the font"):

  • SKPaint.TextSizeSKFont.Size
  • SKPaint.TextSkewXSKFont.SkewX
  • SKPaint.TextScaleXSKFont.ScaleX
  • SKPaint.FakeBoldTextSKFont.Embolden

Verification

  • grep confirms zero remaining references to DrawInSurface, ISKRenderer, SetRenderer(SKGL…), SKPaint.TextSize, SKPaint.TextSkewX, SKPaint.TextScaleX, SKPaint.FakeBoldText. The only remaining SetRenderer hit is the legitimate GLTextureView.SetRenderer(GLTextureView.IRenderer) API member (unrelated, kept).
  • All four SKFont xref targets exist as <Member MemberName="Size|SkewX|ScaleX|Embolden"> in SkiaSharp/SKFont.xml.
  • .github/known-warnings.csv is not modified — we are fixing these warnings, not allowlisting them.
  • All 15 changed files validated as well-formed XML.
  • Diff is surgical: only prose/xref changes (15 files, 5 insertions / 173 deletions). No signature/parameter or unrelated whitespace changes.

Unblocks Go Live PR #171.

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

…, SKPaint text props)

Resolve 36 xref-not-found build warnings caused by dangling <xref:> links in
2019-era hand-written remarks that point at members removed/relocated by the
latest-only-monikers regeneration (#141).

- Group 1 (24): remove obsolete pre-v1.68 DrawInSurface [!NOTE] blocks from the
  Apple Mac/iOS/tvOS SKCanvasLayer/SKCanvasView/SKGLLayer/SKGLView views.
- Group 2 (4): drop obsolete ISKRenderer/SetRenderer [!NOTE] blocks from the
  Android SKGLSurfaceView/SKGLTextureView; surrounding prose already documents
  the modern OnPaintSurface/PaintSurface pattern.
- Group 3 (4): repoint SKTypeface remarks from removed SKPaint text properties
  (TextSize/TextSkewX/TextScaleX/FakeBoldText) to their SKFont equivalents
  (Size/SkewX/ScaleX/Embolden) and fix the surrounding sentence.

Unblocks Go Live PR #171.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@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 392f495 into main Jun 30, 2026
3 checks passed
@mattleibow mattleibow deleted the mattleibow-dev-fix-obsolete-doc-xrefs branch June 30, 2026 17:11
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