Document Apple Graphite view APIs
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp
- Domain
- documentation
Research direction
Start by locating the API reference entries for SkiaSharp.Views.iOS, SkiaSharp.Views.Mac, and SkiaSharp.Views.tvOS, then review the listed Graphite view and event-argument types and their signatures. Done means the three types, recorder helpers, failure properties, platform coverage, lifecycle guidance, and Metal/Graphite recovery behavior are documented accurately.
Written by the indexing model from the issue text.
Description
Document the Apple-native Graphite view APIs added by mono/SkiaSharp#4745.
Platforms/namespaces:
- iOS and Mac Catalyst:
SkiaSharp.Views.iOS - macOS:
SkiaSharp.Views.Mac - tvOS:
SkiaSharp.Views.tvOS
Types:
SKGraphiteMetalViewSKPaintGraphiteSurfaceEventArgsSKGraphiteRenderFailedEventArgs
SKPaintGraphiteSurfaceEventArgs also exposes:
public SKGraphiteRecorder? CreateRecorder();
public SKGraphiteRecorder? CreateRecorder(long recorderBudgetBytes);
public SKGraphiteInsertStatus InsertRecording(SKGraphiteRecording recording);
SKGraphiteRenderFailedEventArgs also exposes:
public SKGraphiteRenderFailedEventArgs(Exception exception, bool requiresContextRecreation);
public bool RequiresContextRecreation { get; }
The recorder helpers support Graphite's multi-recorder model: applications create independent worker-owned Recorders from the view's Context, record and snap work off the UI thread, then insert completed Recordings on the view/Context thread before the presentation Recording. Each helper-created Recorder owns an independent image cache and must be disposed before the view when RequiresContextRecreation is true.
Recovery follows Apple and Skia guidance: Metal device/queue objects remain long-lived for ordinary frame errors, while Graphite Context/Recorder state is recreated after Skia reports an unrecoverable insertion/submission failure. The view pauses and reports failure before recreation; retry is initiated by unpausing after dependent worker Recorders are disposed.
These APIs ship in the existing SkiaSharp.Views package and use Graphite over Metal.
- Dominant language
- PowerShell
- Stars
- 26
- Forks
- 34
- Avg merge
- 14h 20m
- Merged PRs (30d)
- 9
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mono/SkiaSharp-API-docs
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
mono/SkiaSharp-API-docs#215 ·
-
agentic-workflows
Difficulty 4/5 3-5 days Newbie friendliness 38/100
mono/SkiaSharp-API-docs#213 · 1 comment ·
-
agentic-workflows
Difficulty 3/5 1-2 days Newbie friendliness 45/100
mono/SkiaSharp-API-docs#212 ·
-
agentic-workflows
Difficulty 4/5 3-5 days Newbie friendliness 45/100
mono/SkiaSharp-API-docs#211 ·
-
agentic-workflows
Difficulty 4/5 3-5 days Newbie friendliness 35/100
mono/SkiaSharp-API-docs#210 ·
All issues in mono/SkiaSharp-API-docs
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·