feat: Add Vector Graphics Showcase sample#927
Open
MartinZikmund wants to merge 2 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite MainPage to host shapes in fixed-size Canvas panels so caps, dashes, joins and the animated RectangleGeometry.Transform render reliably; drop the composition alpha-mask section. Verified on Skia Desktop. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new Vector Graphics Showcase Uno sample under UI/VectorGraphicsShowcase, focused on demonstrating Skia vector stroke styling (caps/joins/dashes) and an animated Geometry.Transform, along with the supporting single-project solution scaffolding and documentation entry.
Changes:
- Introduces a new single-project Uno app (
net10.0-desktop+net10.0-browserwasm) implementing the vector-stroke and geometry-transform showcase UI. - Adds platform scaffolding (Desktop/WASM entry points, WASM static hosting config, publish profiles) and app assets (icons/splash/screenshots).
- Adds sample documentation (
UI/VectorGraphicsShowcase/README.md) and an entry indoc/samples.md.
Reviewed changes
Copilot reviewed 39 out of 44 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/VectorGraphicsShowcase.csproj | Defines the Uno single-project app and target frameworks. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Strings/en/Resources.resw | Adds default string resources (app name). |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/ReadMe.md | Template “getting started” readme for the app project. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Properties/PublishProfiles/win-x86.pubxml | Windows x86 publish profile for the sample app. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Properties/PublishProfiles/win-x64.pubxml | Windows x64 publish profile for the sample app. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Properties/PublishProfiles/win-arm64.pubxml | Windows arm64 publish profile for the sample app. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Properties/launchSettings.json | Launch profiles for Desktop and WebAssembly runs/debugging. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/wwwroot/web.config | IIS/static hosting configuration for pre-compressed WASM assets. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/wwwroot/staticwebapp.config.json | Azure Static Web Apps routing/cache configuration for WASM. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/WasmScripts/AppManifest.js | WASM app manifest JS (display name). |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/WasmCSS/Fonts.css | Web font configuration for WASM. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/Program.cs | WebAssembly host startup entry point. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/manifest.webmanifest | PWA manifest metadata for the WASM target. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/WebAssembly/LinkerConfig.xml | Linker configuration for WASM builds. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Platforms/Desktop/Program.cs | Desktop host startup entry point. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Package.appxmanifest | Windows app package manifest stub for the sample. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/MainPage.xaml.cs | Code-behind to drive the rotation storyboard and toggle pause/resume. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/MainPage.xaml | XAML UI showcasing line caps, dashes, joins, and animated geometry transform. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/GlobalUsings.cs | Global using directives for the sample project. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Assets/Splash/splash_screen.svg | Adds splash-screen vector asset. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Assets/SharedAssets.md | Documents asset conventions for the sample project. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Assets/Icons/icon.svg | Adds base icon asset. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/Assets/Icons/icon_foreground.svg | Adds foreground icon asset. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/App.xaml.cs | App bootstrap and logging initialization. |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/App.xaml | App-level resources (WinUI resources merged). |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase/app.manifest | Windows app manifest (DPI awareness settings, etc.). |
| UI/VectorGraphicsShowcase/src/VectorGraphicsShowcase.sln | New solution file for building the sample independently. |
| UI/VectorGraphicsShowcase/src/global.json | Pins Uno.Sdk version for this sample solution. |
| UI/VectorGraphicsShowcase/src/Directory.Packages.props | Enables central package management (empty item group). |
| UI/VectorGraphicsShowcase/src/Directory.Build.targets | Placeholder build targets file. |
| UI/VectorGraphicsShowcase/src/Directory.Build.props | Common build settings (nullable, implicit usings, NoWarn). |
| UI/VectorGraphicsShowcase/src/.vsconfig | Visual Studio workload/component recommendations for the sample. |
| UI/VectorGraphicsShowcase/src/.vscode/tasks.json | VS Code tasks to build/publish WASM and Desktop TFMs. |
| UI/VectorGraphicsShowcase/src/.vscode/settings.json | VS Code workspace settings for file nesting/associations. |
| UI/VectorGraphicsShowcase/src/.vscode/launch.json | VS Code debug configurations for WASM and Desktop. |
| UI/VectorGraphicsShowcase/src/.vscode/extensions.json | VS Code extension recommendations for Uno development. |
| UI/VectorGraphicsShowcase/src/.run/VectorGraphicsShowcase.run.xml | Rider run configurations based on launch profiles. |
| UI/VectorGraphicsShowcase/src/.run/Readme.md | Explains the purpose of the Rider .run folder. |
| UI/VectorGraphicsShowcase/src/.gitignore | Sample-local gitignore (template-derived). |
| UI/VectorGraphicsShowcase/src/.editorconfig | Sample-local formatting and style rules. |
| UI/VectorGraphicsShowcase/README.md | Sample documentation with screenshots and feature list. |
| doc/samples.md | Adds the sample to the repository’s sample catalog. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### Vector Graphics Showcase | ||
|
|
||
| Demonstrates Uno Platform 6.6 vector rendering on Skia: stroke caps and joins, dashed strokes, animatable `Geometry.Transform`, and per-element alpha masks via the Composition API. |
Comment on lines
+7
to
+13
| private Storyboard? _spin; | ||
|
|
||
| public MainPage() | ||
| { | ||
| this.InitializeComponent(); | ||
| Loaded += OnLoaded; | ||
| } |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Adds a Vector Graphics Showcase sample under
UI/VectorGraphicsShowcasedemonstrating richer Skia stroke styling and animatable geometry transforms — new in Uno Platform 6.6.Features
Geometry.Transformon aRectangleGeometry— unoplatform/uno#22620Contents
net10.0-desktop+net10.0-browserwasm),Uno.Sdk 6.6.14, Fluent theme.README.md+ two screenshots underdoc/assets; entry added todoc/samples.md.Screenshot
Built and verified running on Windows Skia Desktop (Release) — every cap, dash, join and the spinning geometry render correctly.
🤖 Generated with Claude Code