Build & Inspect VFS

VFS Federation Studio 1.1.5 · Offline help

Design a federation workspace

Use Design federation to describe exactly which host files enter each project, where child projects mount, and which profile controls the build.

Save model: there is no separate Save button. Every successful Add, Edit, Remove, Make active, Undo, or Redo action is validated and atomically saved as a new Chronicle generation.

Before opening the editor

Create the files and folders you plan to package. A source may be an individual file or a directory. Use paths relative to the .vfsworkspace.json file when you want a movable project folder; use absolute paths when the content deliberately lives elsewhere.

MyFederation\
  federation.vfsworkspace.json
  content\root\README.txt
  content\plugin\plugin.txt

1. Open Design federation

Create or open a workspace, then choose Design federation on Home, Federation Workspace Editor… on the toolbar, or the same command under Workspace. The root project and its default active build profile already exist.

2. Add sources

  1. Open Sources and choose Add source….
  2. Select the project that owns the content.
  3. Enter a file or directory, for example content\root.
  4. Enter a virtual root such as / or /docs, then choose Save.
Source kindExamplePaths added to the VFS
Directorycontent\root at /docsEvery regular file below the directory, preserving its relative path; README.txt becomes /docs/README.txt.
Filecontent\logo.svg at /assetsThe file name is appended; the result is /assets/logo.svg.

Sources are read only when you start a build. Missing paths, symbolic links, or two sources producing the same virtual path stop the build with an error; source files are never modified.

3. Add a child project and mount it

  1. On Projects, choose Add project…. Give it a name and initial package namespace.
  2. On Sources, add the child project’s file or directory.
  3. On Mounts, choose Add mount…. Select the root as Parent and the new project as Child.
  4. Set a prefix such as /plugins/demo, keep Delivery mode Embedded, and begin with Collision policy Error.

An embedded mount makes the complete child image available below the prefix in its parent. A project cannot mount itself; cycles and duplicate prefixes are rejected. Bundled and External can be recorded for future provider workflows, but the current complete workspace build stops clearly if either is present.

4. Review build profiles

Each new project receives a default profile. On Build profiles you can add or edit a profile, then select it and choose Make active. The active profile supplies the package namespace, image index profile, and number of previous roots retained by the generated writable Perl runtime.

Profile ID is a stable machine name such as release; Display name is for people; Package namespace is the deterministic identity stored in the image. Exactly one profile should be active for every project you build.

5. Correct a change safely

Choose Undo to apply the inverse of the latest authoring command. Choose Redo to reapply it. Both are new committed generations, so the audit trail remains intact. Removing the root project is forbidden. A child project must be unmounted before it can be removed.

6. Build the saved design

Close the editor and choose Build & export. Confirm the destination, then choose Build VFS or Build + Export Perl. See Build and export for verification and command-line equivalents.

Pre-build checklist