You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrates the raster rendering backend from DemaConsulting.Rendering.Skia
(SkiaSharp) to DemaConsulting.Rendering.CanvasNet, following the DemaConsulting.Rendering 0.3.0-beta.1
release, which fully replaces SkiaSharp with the new pure-managed DemaConsulting.CanvasNet drawing library (no native/P-Invoke
dependency).
Result: DemaConsulting.SysML2Tools.Tool is now a fully managed
.NET tool with zero native runtime dependencies, able to run on any
supported .NET target/platform without RID-specific native asset
packaging.
Changes
Bump DemaConsulting.Rendering.CanvasNet / .Svg / .Layout to
0.3.0-beta.1
Remove the SupportedNativeAssetRids property group and TrimPublishedNativeAssets MSBuild target (no longer needed —
CanvasNet ships no native runtime assets to trim)
Swap using DemaConsulting.Rendering.Skia; for using DemaConsulting.Rendering.CanvasNet; in RenderCommand.cs
and Validation.cs
Remove the NativeLibrary.TryLoad("libSkiaSharp", ...)
graceful-skip guards from the PNG self-tests — they now run
unconditionally
Update design/verification/reqstream docs, README, AGENTS.md, ROADMAP.md, and the user guide to reflect the CanvasNet backend
Add CanvasNet to the .cspell.yaml dictionary
Verification
Full solution build/test: 0 warnings/errors, 2125/2125 tests
passed
Replaces DemaConsulting.Rendering.Skia + SkiaSharp native assets with
DemaConsulting.Rendering.CanvasNet 0.3.0-beta.1, a pure-managed .NET
raster renderer with no native/P-Invoke dependency. This makes
DemaConsulting.SysML2Tools.Tool a fully managed .NET tool with zero
native runtime dependencies, able to run on any supported .NET
target/platform without RID-specific native asset packaging.
- Bump DemaConsulting.Rendering.CanvasNet/Svg/Layout to 0.3.0-beta.1
- Remove SkiaSharp.NativeAssets.* package references
- Remove SupportedNativeAssetRids/TrimPublishedNativeAssets MSBuild
target (no longer needed; CanvasNet ships no native assets)
- Swap `using DemaConsulting.Rendering.Skia;` for
`using DemaConsulting.Rendering.CanvasNet;` in RenderCommand.cs and
Validation.cs
- Remove NativeLibrary.TryLoad("libSkiaSharp", ...) graceful-skip
guards from PNG self-tests, which now run unconditionally
- Update design/verification/reqstream docs, README, AGENTS.md,
ROADMAP.md, and user guide to reflect the CanvasNet backend
- Add CanvasNet to .cspell.yaml dictionary
Verified via full build/test (2125/2125 passing), lint.ps1, and a
formal review of all 26 affected review-sets (all passing, zero
blocking findings). Confirmed via `dotnet list package
--include-transitive` and a scratch publish that the tool no longer
carries any SkiaSharp/native runtime assets.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Removes the stale ~435 MB SkiaSharp packaging comment/check and
replaces it with a stricter assertion that the packed Tool NuGet
contains no
untimes/ folder at all (native or otherwise), matching
the pure-managed CanvasNet backend. Tightens the package size budget
from 70 MiB to 10 MiB to reflect the actual packed size (~3.84 MB).
Addresses PR review feedback on #67.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The PNG guard was the only use of System.Runtime.InteropServices, so after removing both NativeLibrary calls this import is now dead in Validation.cs. Remove it as part of this migration to keep the file free of unused-using diagnostics.
Reruns 'sysml2tools render' for all 10 gallery models (18 views) in
both PNG and SVG formats after the SkiaSharp->CanvasNet migration:
- All 18 PNGs regenerated with the new CanvasNet raster backend;
visually spot-checked and confirmed pixel-correct against the
documented design.
- 5 SVGs also changed - not from a renderer swap (SVG renderer is
unchanged) but from the DemaConsulting.Rendering.Layout bump to
0.3.0-beta.1, which includes PR#34's port-label vertical-clearance
fix (taller boxes where port labels previously risked overlapping
connector lines).
Also fixes a YAML auto-fixer regression in .fileassert.yaml where the
bare word 'no' in a comment was mangled to 'false'; reworded the
comment to avoid the ambiguous YAML 1.1 boolean-alias token.
Verified with a full 'build.ps1' run (2125/2125 tests passing, 0
warnings/errors) and 'lint.ps1' (clean).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the raster rendering backend from
DemaConsulting.Rendering.Skia(SkiaSharp) to
DemaConsulting.Rendering.CanvasNet, following theDemaConsulting.Rendering 0.3.0-beta.1
release, which fully replaces SkiaSharp with the new pure-managed
DemaConsulting.CanvasNetdrawing library (no native/P-Invokedependency).
Result:
DemaConsulting.SysML2Tools.Toolis now a fully managed.NET tool with zero native runtime dependencies, able to run on any
supported .NET target/platform without RID-specific native asset
packaging.
Changes
DemaConsulting.Rendering.CanvasNet/.Svg/.Layoutto0.3.0-beta.1
SkiaSharp.NativeAssets.*package referencesSupportedNativeAssetRidsproperty group andTrimPublishedNativeAssetsMSBuild target (no longer needed —CanvasNet ships no native runtime assets to trim)
using DemaConsulting.Rendering.Skia;forusing DemaConsulting.Rendering.CanvasNet;inRenderCommand.csand
Validation.csNativeLibrary.TryLoad("libSkiaSharp", ...)graceful-skip guards from the PNG self-tests — they now run
unconditionally
AGENTS.md,ROADMAP.md, and the user guide to reflect the CanvasNet backendCanvasNetto the.cspell.yamldictionaryVerification
passed
pwsh ./lint.ps1: clean (markdownlint-cli2, cspell, yamllint,dotnet format, reqstream, versionmark, reviewmark)
blocking findings
dotnet list package --include-transitiveconfirms zeroSkiaSharp packages; a scratch
dotnet publishshows noruntimes/folder and no*Skia*filesNotes
no WEBP codec); this project never used the
WebpRenderer, so it'sa non-issue here.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com