EffectsSpace.Viewer 0.1.0-alpha.1

This is a prerelease version of EffectsSpace.Viewer.
dotnet add package EffectsSpace.Viewer --version 0.1.0-alpha.1
                    
NuGet\Install-Package EffectsSpace.Viewer -Version 0.1.0-alpha.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EffectsSpace.Viewer" Version="0.1.0-alpha.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EffectsSpace.Viewer" Version="0.1.0-alpha.1" />
                    
Directory.Packages.props
<PackageReference Include="EffectsSpace.Viewer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EffectsSpace.Viewer --version 0.1.0-alpha.1
                    
#r "nuget: EffectsSpace.Viewer, 0.1.0-alpha.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EffectsSpace.Viewer@0.1.0-alpha.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EffectsSpace.Viewer&version=0.1.0-alpha.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=EffectsSpace.Viewer&version=0.1.0-alpha.1&prerelease
                    
Install as a Cake Tool

<div align="center">

EffectsSpace

A C# motion-design workbench. One composition engine. Desktop and browser.

Build Desktop Pages Audio Fidelity License: MIT

Open the browser studio · User guide · Architecture · Feature ledger

</div>


EffectsSpace is an independent motion-design and compositing application built with Uno Platform, .NET and SkiaSharp. Its dense studio layout operates on a real composition model: editable layers, nested compositions, keyframes, masks, mattes, effects, video frames and audio samples.

The browser application is the same C# Uno workbench compiled to WebAssembly, not an HTML imitation. Preview draws into Uno's existing Skia canvas. Platform file access and optional audio output are injected services.

Development release — 0.1.0-alpha.1. Implemented 2D editing and portable media support are not complete Adobe After Effects parity. MP4/H.264/WebM, native audible preview, 3D, tracking, Adobe formats/plugins and a dedicated WebGPU renderer remain absent. The feature ledger records these boundaries explicitly.

Compose, animate and deliver

Compose. Create shapes, Bezier paths, text, images and Motion JPEG footage. Manipulate transforms directly in the viewer. Use parent chains, nested compositions, seventeen blend modes, alpha/luma mattes, masked adjustment layers and independently feathered masks. Direct mask-node and tangent editing is transactional and supports cancellation.

Animate. Use frame-snapped time, stopwatches, auto-key, linear/hold/Bezier interpolation and bounded scalar expressions. Select, marquee, retime, copy, cut and paste multiple keys across transform/effect/audio channels. Edit temporal handles and inspect value or signed-velocity graphs. Remap source time, freeze a frame or reverse continuous remap curves.

Work with actual media. Import classic Motion JPEG AVI and mono/stereo PCM WAVE. The original CLOCKWORK study contains real JPEG frames and synthesized stereo samples. Video uses the same compositing path as graphics. Nested audio supports gain/balance animation and varispeed; browser preview follows a prepared Web Audio buffer's clock.

Choose audio precision. Media → Audio Delivery Settings exposes PCM16, PCM24 and Float32 WAVE, 44.1/48/96 kHz, integer TPDF dither and a resampling-quality choice. The workbench defaults to rate-adaptive, band-limited windowed-sinc sampling. Integer-aligned same-rate reads use an exact direct path. Float delivery preserves finite headroom instead of saturating at full scale.

Keep and export. Save versioned .effects projects with embedded media and local recovery. Export transparent PNG frames/sequences, Motion JPEG AVI with stereo PCM16/48 kHz sound, or a separate WAVE mix. Exports use snapshots, cancellation and byte/frame budgets. ORBITAL and CLOCKWORK are original editable samples, not baked application previews.

Documentation

Guide Contents
User guide Workspace, layer tools, projects and basic animation
Animation editing Multi-key transactions, clipboard mapping, easing and velocity
Compositing Adjustments, masks, mattes, source time and render caches
Portable media AVI/WAVE contracts, video rendering, audio clock and limits
Audio fidelity Precision, resampling, dither, delivery settings and measurements
Embedding Reusable engine and Uno-control integration
Validation / Deployment Reproducible checks, artifacts, Pages and releases

Run locally

The toolchain is pinned in global.json: .NET SDK 10.0.401, Uno SDK 6.7.30, with managed/native SkiaSharp 3.119.2 aligned to Uno's ABI. Python 3 and Node 22+ support build scripts and browser validation.

# Fetch checksum-verified open typography and retain its license
python3 scripts/fetch-assets.py

# Native desktop: Windows, macOS or Linux
dotnet run --project src/EffectsSpace.App -f net10.0-desktop \
  -p:EffectsSpaceDesktopOnly=true

# Real Uno WebAssembly application
dotnet workload install wasm-tools
dotnet publish src/EffectsSpace.App -f net10.0-browserwasm -c Release \
  -o artifacts/publish -p:WasmShellWebAppBasePath=/EffectsSpace/
python3 scripts/collect-site.py artifacts/publish artifacts/site
python3 scripts/serve-site.py --directory artifacts/site --port 4173

Open http://127.0.0.1:4173/EffectsSpace/.

# Engine and media regression executables
dotnet run --project tests/EffectsSpace.Tests -c Release
dotnet run --project tests/EffectsSpace.Animation.Tests -c Release
dotnet run --project tests/EffectsSpace.Skia.Tests -c Release
dotnet run --project tests/EffectsSpace.Compositing.Tests -c Release
dotnet run --project tests/EffectsSpace.Media.Tests -c Release
dotnet run --project tests/EffectsSpace.Media.Skia.Tests -c Release
dotnet run --project tests/EffectsSpace.Audio.Tests -c Release

# Independent media validation: requires test-only FFmpeg/ffprobe
python3 scripts/verify-media.py
python3 scripts/verify-audio.py

# Real keyboard, pointer, file-picker and download interactions
npm ci --ignore-scripts
npx playwright install chromium
npm run test:browser

The Skia test projects include Linux native assets. Native applications resolve platform-specific assets through Uno. A green native build is not native interactive or device-output certification.

Download

Every release ships a self-contained, single-file desktop app — no .NET install needed:

OS x64 Arm64
Windows EffectsSpace-<version>-win-x64.zip EffectsSpace-<version>-win-arm64.zip
macOS EffectsSpace-<version>-osx-x64.tar.gz EffectsSpace-<version>-osx-arm64.tar.gz
Linux EffectsSpace-<version>-linux-x64.tar.gz EffectsSpace-<version>-linux-arm64.tar.gz

Extract and run EffectsSpace (EffectsSpace.exe on Windows). Builds are not code-signed yet: on macOS clear the quarantine flag with xattr -d com.apple.quarantine EffectsSpace; on Windows choose More info → Run anyway in SmartScreen. Verify downloads against SHA256SUMS.txt. Releases also include the browser build and a source archive.

The libraries below are published to NuGet.org, e.g. dotnet add package EffectsSpace.Core.

Eleven reusable packages

Package Responsibility
EffectsSpace.Core Compositions, layers, paths, effects, channels and rational time
EffectsSpace.Animation Curves, derivatives, easing, transforms and bounded expressions
EffectsSpace.Documents Versioned JSON, validation, budgets and storage/audio-output contracts
EffectsSpace.Editing Transactions, selection-aware history, keyframe clipboard and commands
EffectsSpace.Rendering Indexed frame evaluation, render plans, hit testing and export schedules
EffectsSpace.Media RIFF/AVI/WAVE, PCM indexing, stereo windows, sinc sampling, mixing and muxing
EffectsSpace.Skia Compositing, filters/masks, resource caches and PNG/AVI rendering
EffectsSpace.Controls Original studio chrome, icons, choices, splitters and numeric scrubbing
EffectsSpace.Viewer Camera, selection, transforms, paths, inline text, mask editing and waveform
EffectsSpace.Timeline Row-cached timeline, clip/key editing, marquee and value/velocity graphs
EffectsSpace.Workbench Panels, media/delivery settings, transport, queue and document workflows

All eleven libraries are published to NuGet.org with symbols; the app is a thin platform host.

Keyboard essentials

Workflow Shortcut
Save / Open / Import Ctrl+S / Ctrl+O / Ctrl+I
Undo / Redo Ctrl+Z / Ctrl+Shift+Z
Duplicate / Split / Pre-compose Ctrl+D / Ctrl+Shift+D / Ctrl+Shift+C
Key copy / cut / paste Ctrl+C / Ctrl+X / Ctrl+V
Play / Previous frame / Next frame Space / Page Up / Page Down
Work area start / end B / N
Transform / effect properties P, S, R, T, A / E
Animated properties / Easy Ease U / F9
Graph / value–velocity switch Shift+F3 / Shift+F4
Composite / Render stats / Media Shift+F5 / Shift+F6 / Shift+F7
New adjustment / Time remap / Freeze Ctrl+Alt+Y / Ctrl+Alt+T / Ctrl+Alt+F
CLOCKWORK sample / AVI / WAVE export Ctrl+Alt+L / Ctrl+Alt+M / Ctrl+Alt+W

Text entry retains ordinary text-editing behavior. Keyframe clipboard content is session-local, not system clipboard interchange.

Performance and correctness

The renderer indexes composition state, memoizes shared parents and reuses bounded native geometry/filter resources. Eligible plain opaque shapes avoid unnecessary isolated surfaces; text, gradients, strokes, images and nested composites retain isolation. Decoded media images are keyed by payload and source frame. AVI export reuses its raster surface. Inspector/toolbar updates avoid unnecessary reconstruction during playback.

Audio uses zero-copy encoded indexes and an 8 KiB decoded stereo window per voice. Block decoding performs one segment search for a range instead of separate searches for every sample/channel. Waveform construction uses the same exact block decoder. Warmed static sampling has allocation regression coverage; coefficient-bank creation is explicitly a cold cost.

Benchmarks are emitted under artifacts/performance: compositor raster submission, AVI metadata lookup and bounded PCM reads. Each report defines its input and baseline. They are not whole-application speedups, hardware decoder/GPU timings or comparisons against Adobe. See the linked guides before interpreting a result.

Rendering, licensing and distribution

SKCanvasElement draws into Uno's existing canvas. Hardware acceleration depends on the selected host/backend and device; software fallback remains possible. PNG/AVI delivery uses CPU raster surfaces. No dedicated WebGPU backend or universal hardware-acceleration guarantee is claimed.

EffectsSpace is MIT licensed. Uno Platform core is Apache-2.0, SkiaSharp MIT, Skia BSD-style, and Inter SIL OFL. FFmpeg/ffprobe are test-only interoperability tools, not bundled runtime dependencies. Preserve actual transitive notices; see THIRD-PARTY-NOTICES.md.

Build gates engine, rendered-pixel, signal-quality and real-browser tests before Pages can deploy its matching artifact. Pages verifies the merged commit and repeats browser tests against the public site. Desktop builds cover Windows, macOS and Linux. Release runs for v* tags or a supplied manual version. It runs the engine, media, audio and real-browser gates, publishes self-contained single-file desktop executables for Windows, macOS and Linux (x64 and arm64), builds the browser and source archives, packs all eleven versioned libraries with symbols and emits SHA256SUMS.txt. Tags attach all assets to a GitHub Release and publish the packages to NuGet.org with Trusted Publishing (OIDC, no stored API key) from the protected nuget environment. Manual runs are dry runs: they build and upload every asset as workflow artifacts but publish nothing. Signing/notarization is not configured by default.

Independence

EffectsSpace is not affiliated with or endorsed by Adobe. After Effects is a workflow reference, not a compatibility guarantee. No Adobe source, binaries, icons, fonts, sample artwork or proprietary SDKs are included. The studio icons and ORBITAL/CLOCKWORK studies are original project content. Read SECURITY.md, CONTRIBUTING.md and the feature ledger before production use.

Product Compatible and additional computed target framework versions.
.NET net10.0-browserwasm1.0 is compatible.  net10.0-desktop1.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EffectsSpace.Viewer:

Package Downloads
EffectsSpace.Workbench

Composable motion-design workbench, project bins, inspectors, effect panels, transport, render queue and document workflows.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.1 0 9/29/2026