OutWit.Engine.Assets
1.0.0
dotnet add package OutWit.Engine.Assets --version 1.0.0
NuGet\Install-Package OutWit.Engine.Assets -Version 1.0.0
<PackageReference Include="OutWit.Engine.Assets" Version="1.0.0" />
<PackageVersion Include="OutWit.Engine.Assets" Version="1.0.0" />
<PackageReference Include="OutWit.Engine.Assets" />
paket add OutWit.Engine.Assets --version 1.0.0
#r "nuget: OutWit.Engine.Assets, 1.0.0"
#:package OutWit.Engine.Assets@1.0.0
#addin nuget:?package=OutWit.Engine.Assets&version=1.0.0
#tool nuget:?package=OutWit.Engine.Assets&version=1.0.0
OutWit.Engine.Assets
Controller asset resolution library for WitEngine.
Overview
Controllers in WitEngine consist of two kinds of artefacts:
- Logic — compiled .NET assemblies, manifests, small scripts. Naturally distributed via NuGet.
- Data — native runtimes (Blender, FFmpeg), datasets, reference scenes, ML models. Can be hundreds of MB or more, distributed independently.
This library handles the data side: parses the extended controller.json manifest, resolves declared asset URIs, downloads with SHA256 verification, caches by content hash, and extracts archives into the controller's runtime module layout.
It is the shared core used by:
OutWit.Engine.Assets.Cli(outwit-resolve) — invoked during WitCloud server Docker image buildsOutWit.Engine.Assets.MSBuild— auto-imported via controller NuGet packages so localdotnet runof the WitCloud server fetches missing assets on first buildOutWit.Controller.Pack(outwit-controller-pack) — third-party contributor packaging tool for manifest validation- WitCloud server runtime — contributor-upload pipeline, when policy permits manifests with external URIs
See @Docs/Active/Architecture/controller-assets-architecture.md for the full design.
Manifest schema (extension)
The existing controller.json schema is extended with an optional dataAssets[] array:
{
"name": "Render",
"version": "1.15.0",
"...": "other existing controller manifest fields unchanged",
"dataAssets": [
{
"id": "blender-win-x64",
"runtimeIdentifier": "win-x64",
"uri": "gh-release://omnibuscloud/Controllers/render-v1.15.0/blender-win-x64.zip",
"sha256": "abc123...",
"size": 240000000,
"extractTo": "blender/win-x64/",
"required": true
}
]
}
Controllers without external assets simply omit the field.
URI schemes
| Scheme | Use case |
|---|---|
gh-release://<owner>/<repo>/<tag>/<filename> |
Free public distribution via GitHub Releases |
https://... |
Author-controlled CDN / S3 / Azure Blob |
file://... |
Local override, or relative path inside a contributor zip |
Status
Skeleton + manifest parsing. Resolvers, cache, fetcher, CLI, and MSBuild task land in subsequent steps per the implementation plan.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 55 | 5/17/2026 |