-
Notifications
You must be signed in to change notification settings - Fork 593
Migrate API documentation from XML files to inline C# comments for SkiaSharp namespace #3358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@mattleibow 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
e76b03f
to
43f0935
Compare
@copilot I think there was an issue with the branch. I have fixed now. Can you start over please. |
I've started fresh as requested, but I'm unable to find the source XML documentation files. The migration guide references I checked for submodules and tried to initialize them, but the docs submodule appears to be unavailable. Could you clarify where the source XML documentation files are located, or if there's a different step needed to access them? The checklist shows thousands of types to migrate (starting with HarfBuzzSharp.Blob, HarfBuzzSharp.Buffer, etc.) and I can see the target C# files in the source, but I need access to the XML documentation files to perform the migration. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
01564fb
to
8561e17
Compare
@copilot I fixed the submodules, please start over. |
Perfect! The submodules are now working and I can access the XML documentation files. I can see the source files at |
94bfa0c
to
4272fdf
Compare
@copilot something went wrong. I had to rebase. Please continue and things should be working now. |
Thanks for fixing the rebase! The submodules are now working perfectly and I can access the XML documentation files. I can see that HarfBuzzSharp.Blob migration was completed successfully. I'll continue with the next items on the checklist: HarfBuzzSharp.BlobReleaseDelegate and HarfBuzzSharp.Buffer. |
@copilot I am seeing some things:
Please look at the cs diff and delete the mebers you added. Make sure to read the API.Docs.Migration.Guide.md before starting again to make sure to follow the rules in there. |
I've addressed both issues:
The migration now follows the rules strictly - no new members are added to the C# code, only documentation is migrated for existing members. Commit: 3b5bf2f Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
@copilot please look at the checklist in API.Docs.Migration.Checklist.md to find out the next things to do. Always refer to the guide for rules and prcedures: API.Docs.Migration.Guide.md Make sure to migrate all the APIs as well as commit on every new type. We need them ALL migrated ASAP! |
@copilot please look at the checklist in API.Docs.Migration.Checklist.md to find out the next things to do. Always refer to the guide for rules and prcedures: API.Docs.Migration.Guide.md Make sure to migrate all the APIs as well as commit on every new type. We need them ALL migrated ASAP! |
Working through the API documentation migration systematically as requested. Successfully completed Tag, SerializeFlag, SerializeFormat documentation. Currently processing UnicodeCombiningClass (large enum with 50+ fields) and UnicodeFunctions class with all their members. Following the guide strictly - no new members added, preserving XML verbatim, correct tag ordering. Also addressing generated files per your instruction - added documentation directly to the generated file as "the generator will read the docs and re-apply them". Progress: a7a801b Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
…ration Co-authored-by: mattleibow <[email protected]>
…codeGeneralCategory and fix missed properties Co-authored-by: mattleibow <[email protected]>
@copilot please look at the checklist in API.Docs.Migration.Checklist.md to find out the next things to do. Always refer to the guide for rules and prcedures: API.Docs.Migration.Guide.md Make sure to migrate all the APIs as well as commit on every new type. We need them ALL migrated ASAP! |
…umented type, methods, and common script fields Co-authored-by: mattleibow <[email protected]>
Continuing the systematic migration as requested. Just completed significant progress on HarfBuzzSharp.Script - documented the type, all methods/properties, and key common script fields. This is a very large type with 150+ script field constants. Currently working through the remaining script fields systematically. Progress commit: 65ba389 The HarfBuzzSharp namespace is nearly complete - Script is one of the largest remaining types due to its many field constants. |
…l script field constants Co-authored-by: mattleibow <[email protected]>
@copilot please look at the checklist in API.Docs.Migration.Checklist.md to find out the next things to do. Always refer to the guide for rules and prcedures: API.Docs.Migration.Guide.md Make sure to migrate all the APIs as well as commit on every new type. We need them ALL migrated. Every single API that has docs needs to be put into the C# code. |
Co-authored-by: mattleibow <[email protected]>
🎉 HarfBuzzSharp namespace migration is now COMPLETE! Just finished migrating all remaining Script field constants (150+ writing system constants covering Arabic, Latin, Greek, Han, Hebrew, and many more). The HarfBuzzSharp namespace now has comprehensive documentation for all:
Ready to continue with the next namespace! Commit: 8b5cc70 |
…PlatformConfiguration docs Co-authored-by: mattleibow <[email protected]>
…tation Co-authored-by: mattleibow <[email protected]>
…Target types Co-authored-by: mattleibow <[email protected]>
Continuing the API documentation migration systematically through the checklist. Just completed SkiaSharp.GRBackend and GRBackendRenderTarget types with comprehensive documentation. Working through SkiaSharp.GRBackendRenderTargetDesc next as requested - migrating ALL APIs as specified. Progress: f6c72c0 |
Co-authored-by: mattleibow <[email protected]>
Co-authored-by: mattleibow <[email protected]>
…k missing types Co-authored-by: mattleibow <[email protected]>
… code Co-authored-by: mattleibow <[email protected]>
This PR migrates API documentation from legacy XML files in
docs/SkiaSharpAPI
to inline XML documentation comments in the C# source code for both HarfBuzzSharp and SkiaSharp namespaces. This migration improves developer experience by making documentation directly accessible in IDEs and keeps documentation closer to the actual code.Completed Migration
HarfBuzzSharp Namespace ✅ FULLY COMPLETE
The HarfBuzzSharp namespace has been fully migrated, covering all essential text shaping and font handling functionality:
Blob
,Buffer
,Face
,Feature
,Font
,FontFunctions
,Language
,NativeObject
,OpenTypeMetrics
,Tag
,UnicodeFunctions
,Variation
with all their membersBufferDiffFlags
,BufferFlags
,ClusterLevel
,ContentType
,Direction
,OpenTypeNameId
,SerializeFlag
,SerializeFormat
,UnicodeCombiningClass
,UnicodeGeneralCategory
Script
struct including all methods, properties, and 150+ script field constants covering writing systems worldwide (Arabic, Latin, Greek, Han, Hebrew, Cyrillic, Devanagari, etc.)PlatformConfiguration
class with platform detection propertiesSkiaSharp Namespace - Core Graphics Types
Successfully documented foundational graphics backend infrastructure:
Generated Code Documentation
Added documentation to generated code files per maintainer guidance, as the build system will read these docs and re-apply them during code generation.
Migration Approach
summary
,param
,returns
,remarks
Missing/Obsolete Types Identified
Several types documented in XML have been removed from the current codebase as obsolete:
GRBackendRenderTargetDesc
,GRBackendTextureDesc
,GRBackendTextureDescFlags
and related constructor variantsThis establishes the foundation for documenting the remaining thousands of SkiaSharp types, with core graphics backend infrastructure now fully documented.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.