microsoft / microsoft/terminal
Sandboxed XAML for less resource-hungry background animation
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
# Description of the new feature/enhancement
There are currently two ways to configure background animation in Windows Terminal:
1. Video files
2. Pixel shaders
Video files will either take up a lot of disk space (when encoded at high resolution) or be prone to scaling artifacts (when encoded at low resolution). Pixel shaders are inefficient by nature and consume significantly more GPU resource than what is necessary.
Background animation implemented in XAML could possibly solve all of these problems, making it more practical for budget laptops to render animated background. Due to obvious security concerns, these XAML files must be sandboxed.
# Proposed technical implementation details (optional)
The application shall accept XAML files (.xaml) in addition to all the currently supported image/video formats as a background image for each profile.
When a XAML file is specified in the profile configuration, the app loads the XAML in a sandbox and renders the content in the background.
## Why XAML? Why not any other vector animation format?
Because I think that introducing another dependency just for the sake of decoration would not be acceptable. XAML animation could be implemented without any external libraries.
## Why not let an external assembly draw whatever it wants into the surface?
Because at that point it's turning into a full-blown plugin architecture, which has been officially announced to not arrive until much later.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points, so first map how profile background images and videos are configured and rendered. Assess the security requirements for sandboxed XAML and define completion as accepting .xaml backgrounds, safely loading them, and rendering them without the stated resource concerns.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100