Novolis.Workspaces.Projects.Timeline
2026.1.2.38
See the version list below for details.
dotnet add package Novolis.Workspaces.Projects.Timeline --version 2026.1.2.38
NuGet\Install-Package Novolis.Workspaces.Projects.Timeline -Version 2026.1.2.38
<PackageReference Include="Novolis.Workspaces.Projects.Timeline" Version="2026.1.2.38" />
<PackageVersion Include="Novolis.Workspaces.Projects.Timeline" Version="2026.1.2.38" />
<PackageReference Include="Novolis.Workspaces.Projects.Timeline" />
paket add Novolis.Workspaces.Projects.Timeline --version 2026.1.2.38
#r "nuget: Novolis.Workspaces.Projects.Timeline, 2026.1.2.38"
#:package Novolis.Workspaces.Projects.Timeline@2026.1.2.38
#addin nuget:?package=Novolis.Workspaces.Projects.Timeline&version=2026.1.2.38
#tool nuget:?package=Novolis.Workspaces.Projects.Timeline&version=2026.1.2.38
Novolis.Workspaces.Projects.Timeline
Project-scoped save and restore points: zips one IProject subtree (via IProjectSnapshotPolicy) and records nodes on a shared workspace timeline.
Install
dotnet add package Novolis.Workspaces.Projects.Timeline
Depends on System.IO.Abstractions, Novolis.Workspaces.Abstractions, Novolis.Workspaces.Timeline, and related snapshot/timeline packages.
Quick start
using System.IO.Abstractions;
using Novolis.Snapshots;
using Novolis.Timeline.FileSystem;
using Novolis.Workspaces.FileSystem;
using Novolis.Workspaces.Projects.Timeline;
var fs = new FileSystem();
var snapshotsRoot = fs.DirectoryInfo.New(Path.Combine(workspace.Root.FullName, ".novolis", "snapshots"));
var timeline = new FileSystemTimeline<ZipSnapshotRef>(
fs,
fs.DirectoryInfo.New(WorkspaceLayout.TimelinePath(workspace.Root.FullName)));
var projectTimeline = new ProjectTimeline(fs, snapshotsRoot, timeline);
await projectTimeline.SavePointAsync(
project,
new SavePointRequest("Before mesh edit", SnapshotKinds.Manual));
API
| Type | Role |
|---|---|
ProjectTimeline |
SavePointAsync, RestorePointAsync for one project |
IProjectSnapshotPolicy |
ShouldInclude(project, file) |
DefaultProjectSnapshotPolicy |
Includes documents, assets, settings, manifest; excludes cache/temp/outputs |
Project zips are stored under projects/{projectId-prefix}/{objectId}.zip in the snapshots root.
Related
| Package | Role |
|---|---|
Novolis.Workspaces.Timeline |
Workspace-wide save points |
Novolis.Workspaces.Abstractions |
IProject |
Novolis.Workspaces.Snapshots |
Whole-workspace zip policy patterns |
Novolis.Timeline.FileSystem |
Shared timeline persistence |
Novolis.Workspaces.FileSystem |
Project folder layout |
Notes
Use when multiple projects in one workspace need independent rollback without restoring the entire tree. See design.md.
| 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
- Novolis.Snapshots.Abstractions (>= 2026.1.2.38)
- Novolis.Timeline.Abstractions (>= 2026.1.2.38)
- Novolis.Workspaces.Abstractions (>= 2026.1.2.38)
- Novolis.Workspaces.Snapshots (>= 2026.1.2.38)
- Novolis.Workspaces.Timeline (>= 2026.1.2.38)
- System.IO.Abstractions (>= 22.3.0)
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 |
|---|---|---|
| 2026.1.2.40 | 35 | 10/4/2026 |
| 2026.1.2.38 | 45 | 10/2/2026 |
| 2026.1.2.37 | 43 | 10/1/2026 |
| 2026.1.2.36 | 40 | 10/1/2026 |
| 2026.1.2.35 | 48 | 9/30/2026 |