public sealed class ProjectA project on disk, and everything a command needs to work on it.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
⚠ The stores themselves are ProjectWorkspace's, in Vixen.Editor.Assets. They moved there when the editor grew import and build commands of its own: two ways of opening the same four things is two ways for one of them to be pointed at the wrong directory. What is left here is finding the project a command is meant to work on, which is a command-line concern and only that.
The properties are kept as forwarders rather than deleted, so that every call site reads the way it did — project.Database, not project.Workspace.Database.
Fields and properties (9)
public ProjectWorkspace WorkspaceThe stores, opened together.
public ProjectPaths PathsWhat a project's directories are called.
public AssetDatabase DatabaseThe GUID index over Assets/.
public ObjectDatabase ArtifactsWhere imported chunks are stored, under Library/.
public IOdbBackend ChunksThe store behind Artifacts, which is what a content build packs from.
public ImportCache CacheWhat the last import of each asset produced.
public string CacheFileWhere the import cache is written.
public IFileProvider FilesSource files, rooted at the project, which is what an importer's paths are relative to.
public static string HostTargetThe build target to assume when nobody said.
Methods (5)
public static bool TryOpen(string? given, out Project project, out string error)Finds the project a command is meant to work on.
public static ImporterRegistry Importers()Which importers this build of the tool has.
public string DefaultOutput(string target)Where a build for a target goes when nobody said.
public List<AddressableGroup> Groups(out List<string> failures)Reads every .vxgroup the project defines.
public void Save()Writes the index and the import cache back.
Used by (6)
- ContentBuildRunnerVixen.Cli
- DoctorRunnerVixen.Cli
- ImportRunnerVixen.Cli
- ShaderBuildRunnerVixen.Cli
- VixenCommandVixen.Cli
- VixenCommandTestsVixen.Cli.Tests