Skip to content

feat: Add Vector Graphics Showcase sample#927

Open
MartinZikmund wants to merge 2 commits into
masterfrom
dev/mazi/vector-graphics
Open

feat: Add Vector Graphics Showcase sample#927
MartinZikmund wants to merge 2 commits into
masterfrom
dev/mazi/vector-graphics

Conversation

@MartinZikmund

Copy link
Copy Markdown
Member

What

Adds a Vector Graphics Showcase sample under UI/VectorGraphicsShowcase demonstrating richer Skia stroke styling and animatable geometry transforms — new in Uno Platform 6.6.

Features

Contents

  • Single-project Uno app (net10.0-desktop + net10.0-browserwasm), Uno.Sdk 6.6.14, Fluent theme.
  • README.md + two screenshots under doc/assets; entry added to doc/samples.md.

Screenshot

Vector Graphics Showcase

Built and verified running on Windows Skia Desktop (Release) — every cap, dash, join and the spinning geometry render correctly.

🤖 Generated with Claude Code

MartinZikmund and others added 2 commits July 1, 2026 14:07
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>
Copilot AI review requested due to automatic review settings July 1, 2026 12:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 in doc/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.

Comment thread doc/samples.md

### 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;
}
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.

2 participants