Project Hub

The Project Hub is the first screen you see when launching the editor. It lets you create new projects, open recent ones, and manage your project library.

Layout

The hub window (1440×900) is divided into:

  • Header (48px) — "SAFI ENGINE" branding
  • Left sidebar (220px) — Navigation and template selection
  • Center — Project grid with 3-column card layout
  • Right panel (360px) — Details for the selected project

Project cards use a rotating set of accent colors: blue (#264f78), teal (#4ec9b0), orange (#ce9178), purple (#b56ea6), green (#6a9955), and yellow (#dcdcaa).

Creating a New Project

Click New Project in the sidebar to open the creation dialog.

Configure:

FieldDescription
NameProject name (used as folder name)
LocationParent directory (defaults to ~/SafiEngineProjects)
TemplateEmpty Project or 3D Starter

Templates

TemplateContents
Empty ProjectBare project with assets/scenes/ and shaders/ directories
3D StarterIncludes a Player.glb model in assets/

After creation, the editor writes a project.json metadata file and immediately opens the project.

Project File Structure

MyProject/
├── project.json          # Project metadata (name, engine version, timestamps)
├── assets/
│   ├── scenes/           # .scene files (JSON)
│   └── ...               # Models, textures, audio, scripts
└── shaders/              # Shader files (.vert, .frag)

The project.json file contains:

{
  "name": "MyProject",
  "engineVersion": "0.1.0",
  "created": "2026-03-16T12:00:00Z",
  "lastModified": "2026-03-16T12:00:00Z"
}

Opening Recent Projects

The center grid shows your recent projects (up to 20). Click a card to select it and view details in the right panel. Double-click or press Open to launch the editor with that project.

Recent projects are stored in ~/.SafiEngine/recent_projects.json. Invalid projects (missing project.json) are automatically filtered out.

Deleting Projects

Right-click a project card for removal options:

  • Remove from List — Removes the entry from recent projects without touching files
  • Delete from Disk — Permanently deletes the project directory (with confirmation)