JARVIGManual

Project hub

ADR-0060. The hub is the host above the editor. Level, Land, and Character stay where they are.

Startup

JARVIG or JARVIGEditor, no project and no harness flag
        |
        v
JARVIG Hub
        |
        +-- close --> exit
        |
        +-- .jarvigproject
                |
                v
        read the manifest
        splash, for work the editor actually does
        startup level
        restore the workspace
        Level, unless the template or workspace says otherwise

JARVIGEditor --project path.jarvigproject skips the hub.

These flags also skip the hub, and they do not open a sample in its place:

--self-test
--frames
--lod-capture
--rfc0001
--rfc0001-runtime
--content-check
--bind-pose-shots

--self-test is still the two-triangle bootstrap. A harness that needs Lighting Lab passes --project samples/lighting-lab/LightingLab.jarvigproject. --content-check needs that sample because it looks for townshop. No development sample is the fallback project.

What the hub loads

Enough of .jarvigproject to show the name, the path, the engine version, the startup level, and the last-opened time. A thumbnail path may be stored. This slice does not decode it.

The recent list is %LOCALAPPDATA%\JARVIG\Hub\recent-projects.json, schema jarvig.hub-recent version 1. If LOCALAPPDATA is missing, the file is Saved/Hub/recent-projects.json next to the process. It is not inside a game project. A missing path stays missing until the user removes it or locates the file. The hub does not scan the disk.

Templates

New Project asks for a template, a name, and a folder. The project file is {folder}/{name}/{name}.jarvigproject. The writer is create_project_at in jarvig_core. File > New Project uses that same writer. The menu words are Blank, Landscape, Third Person, and First Person.

TemplateLevelWorkspace when workspace.json is absent
BlankWorld Settings and the bootstrap environmentLevel
LandscapeThe same level. No heightfield yetLand
First PersonWorld Settings and one Player StartLevel
Third PersonWorld Settings and one Player StartLevel

The startup level file is Content/Levels/Main.jarviglevel. Blank keeps the environment already stored on World Settings: intensity 0.20 and the two hemisphere colors. It does not add a light, a probe, a mesh, a triangle, Base, Base Male, or townshop. Land can create terrain after that.

First Person and Third Person write Content/Players/DefaultPlayer.jarvigplayer with an empty character path. Empty means no character has been chosen. They do not copy a body, and they do not invent a controller, a camera, or input. The editor log says so. Older words empty, terrain, land, fps, and third-person still select these templates. The saved word is blank, landscape, first-person, or third-person.

Settings are jarvig.settings version 1 with the controller and the pawn left none.

Splash

The splash is the editor, after a project is chosen. The lines name work that is happening:

Reading project manifest
Loading startup level
Loading meshes
Loading materials
Initializing renderer
Restoring editor workspace
Scanning asset registry

The registry line means the scan was queued on the existing job queue. The content browser fills when that job finishes. The splash does not mark it done early.

Later, not this slice

Marketplace, accounts, an updater, a plugin store, and an engine-version manager can sit in the hub later. A Windows file association for .jarvigproject can come later. JARVIG.exe already forwards a project path to a sibling JARVIGEditor.exe.