算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
windows-design【设计与创意】Use when the user asks for a Windows app, Win11/Win12 UI, XAML, Fluent design, WinUI, WPF, PowerToys-style tool, Microsoft Store app, desktop utility, admin tool, music/photo/creative app, Tauri desktop, Electron desktop, or any Windows desktop deliverable. Builds Windows apps across system-like WinUI 3, branded WinUI 3, Tauri 2, and Electron while p…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Windows desktop has four distinct tracks. Each has different visual ceilings, different cost. Ask the user which one before any code. Do not default.
Present these four options verbatim. Do not pick for them.
Which track do you want for this app?
1. System-like native (WinUI 3 strict) — feels like Settings/Calculator/Notepad. Best for: productivity utilities, internal tools, system panels. Visual ceiling: medium. Binary ~30MB. Users who care: Windows power users, IT admins. Examples: PowerToys, Snipping Tool, Sound Recorder.
2. Branded native (WinUI 3 + branded Fluent) — native chrome (Mica, Snap Layouts, ThemeResource auto dark/light/HC) but bespoke content surface (custom accent, custom display font, hero atmospheres, magazine layouts). Best for: consumer apps that want fit-in and identity. Visual ceiling: high but XAML-bound. Binary ~30MB. Examples: Apple Music for Windows, Files (community), Microsoft Photos rewrite, DevHome.
3. Tauri 2 + React/Tailwind/Motion — same React code as Electron but uses Windows' built-in WebView2 instead of bundled Chromium. Full visual freedom (mesh gradients, custom motion, real imagery, anything CSS can do). Binary ~5–10MB. RAM ~30–80MB. Mica still available via Tauri API. Examples: Cap, Spacedrive, ClashVerge, Pot.
4. Electron + React/Tailwind/Motion — bundles full Chromium. Same dev experience as Tauri but heavier. Binary ~150–250MB. RAM ~300–500MB. Largest ecosystem, every dev knows it. Examples: Spotify, Discord, VSCode, Slack, Notion, Figma desktop, Claude desktop, ChatGPT desktop.
Which? Or describe priorities (binary size, visual ambition, brand vs fit-in) and I'll pick.
If the user has already given enough signal in the brief (e.g. "I want a system tray utility" → 1; "I want it to look like Awwwards site" → 3; "Spotify-style" → 3 or 4), state your pick + reasoning in one sentence and proceed. But if ambiguous, ask.
| Track | Reference docs | Default stack |
|---|---|---|
| 1. System-like WinUI 3 | ../../references/fluent-design.md | WinUI 3 + current stable Windows App SDK + CommunityToolkit.Mvvm + SettingsControls |
| 2. Branded WinUI 3 | ../../references/fluent-design.md + ../../references/branded-fluent.md | Same as 1 + custom accent override + embedded display font + bespoke surfaces |
| 3. Tauri 2 + Web | ../../references/web-fonts.md + ../../references/web-motion.md + ../../references/web-bans.md + ../../references/awwwards-ceiling.md | React 19 + Tailwind v4 + Motion (motion.dev) + Tauri 2 shell |
| 4. Electron + Web | Same as 3 | React 19 + Tailwind v4 + Motion + Electron shell + electron-builder |
For tracks 3 and 4, the web design rules from web-design SKILL apply — same anti-slop ban list, same typography curation, same aesthetic direction discipline.
Before code, read:
../../references/ui-patterns/surface-taxonomy.md../../references/ui-patterns/ui-decision-brief.md../../references/ui-patterns/desktop-app-archetypes.md../../references/ui-patterns/native-desktop-app-quality-contract.md../../references/ui-patterns/originality-engine.md../../references/ui-patterns/design-recipes.md../../references/ui-patterns/anti-default-contrasts.md../../references/ui-patterns/visual-hierarchy.md../../references/ui-patterns/motion-budget.mdWrite the UI decision brief, desktop archetype brief, native desktop quality brief, originality brief when relevant, and a compact layout sketch before code. Pick the app shape before picking controls: command center, library/collection, workbench, monitoring cockpit, tray utility, media/consumer, document/knowledge, or setup/preferences. Then choose a composition archetype from the product subject: cockpit, command deck, ledger, timeline wall, studio desk, light table, archive index, inspection bay, instrument panel, or another concrete premise. Define window model, command model, resize behavior, native controls, keyboard/focus paths, state coverage, and platform evidence. If the sketch becomes sidebar + cards + table, use anti-default contrasts and rewrite it. Windows utilities and admin tools should favor operational density, stable navigation, command surfaces, inspectors, timelines, and low motion. Use SettingsCard/NavigationView strongly for preferences and system-like utilities, but do not make every Windows app a settings shell. Branded consumer apps may use richer content surfaces, but native chrome, Mica/Acrylic rules, Segoe UI Variable, and Fluent icons still apply.
Track 1 = system-like. Track 2 = branded. The user already picked. Skip to step 2.
For reference: branded means native chrome + bespoke content surface. Read ../../references/branded-fluent.md.
Every Win11 app must:
AppWindow.TitleBar API (preserve Snap Layouts hover)SystemBackdrop="Mica") — opaque, desktop-tintedThemeResource brushes, never hex literalsReveal effect is deprecated in Win11 styling. Do not generate it.
| Need | Use |
|---|---|
| Top-level navigation | NavigationView (Left, LeftCompact, Top modes) |
| Settings | SettingsCard (CommunityToolkit.WinUI.Controls.SettingsControls) |
| Library / collection | ListView / GridView + preview pane + metadata panel |
| Workbench / editor | CommandBar + canvas/document area + right-side inspector |
| Monitoring / jobs | timeline/list + InfoBar states + detail pane |
| Tray utility | compact window or tray flyout + one primary status/action |
| Inline alert | InfoBar (Severity: Informational/Success/Warning/Error) |
| Coachmark | TeachingTip |
| Disclosure | Expander |
| Path / breadcrumb | BreadcrumbBar |
| Tabbed segment toggle | SelectorBar |
Refer to WinUI Gallery (https://github.com/microsoft/WinUI-Gallery) for canonical control usage. When generating, mirror its patterns exactly.
[ObservableProperty], [RelayCommand]) — never raw INotifyPropertyChangedMicrosoft.Extensions.HostingWindows.Storage.ApplicationData.Current.LocalSettings or Microsoft.UI.Xaml.Settings.resw resource files (not hardcoded strings)Reject all of these:
box-shadow — use tonal elevation brushes (LayerFillColorDefaultBrush etc.)NavigationView belongsScrollViewer (breaks dynamic thinning)../../assets/tokens/fluent-2.json shipped with this pluginRead ../../references/fluent-design.md for deep token + spacing reference.
When the user picks a non-native stack, state the loss explicitly in one line: