Docs

Editor

The Sedulous Editor is a standalone application for authoring scenes, importing assets, and configuring game content. It runs an embedded engine runtime for live 3D preview. The editor is entirely optional – everything it does can also be done in code.

Sedulous Editor overview

Project Structure

Open a directory as a project. The editor creates a .sedproj file to store project settings, open pages, and dock layout.

MyProject/
  .sedproj                    # Project settings (OpenDDL)
  editor_layout.oddl          # Dock panel layout
  project.registry            # Resource GUID -> URI map for the project mount
  scenes/
    level1.scene
  models/
    hero.mesh
    hero.skeleton
  textures/
    hero_diffuse.texture
    hero_diffuse.texture.bin  # Pixel data sidecar
  materials/
    hero.material

Editor Layout

The editor uses a dockable panel system:

Layout is saved automatically on shutdown and restored on next launch.

Scene Editor

Double-click a .scene file in the asset browser to open it as a tab. The scene editor has three panes:

Transform Gizmos

Select an entity and use the toolbar or keyboard shortcuts:

Key Mode Description
W Translate Drag arrows to move along axes
E Rotate Drag rings to rotate around axes
R Scale Drag handles to scale along axes

Toggle World/Local space with the toolbar button.

Scene Settings

Click on empty space (deselect all entities) to see scene-level settings in the inspector:

Asset Browser

The bottom panel shows all mounted resource collections, organized as a tree on the left and a content view on the right.

The tree’s root nodes are mounts – the editor always shows builtin (engine-supplied primitives, materials, skies) and project (the open project’s assets). Additional mounts can be added via the toolbar:

Each mount has its own index file (e.g. project.registry) that maps GUIDs to URIs within that scheme. The index is persisted automatically whenever you create, rename, delete, or import an asset.

Context Menu (Right-Click)

On empty space / folder:

On asset:

Importing Assets

Right-click -> Import, or use File -> Import. The import dialog shows:

Supported source formats:

Double-Click to Open

Double-clicking any resource opens it in a page tab. Scene and prefab files open the full scene editor. Other resources open type-specific viewers (texture preview, material properties, etc.).

Prefabs

Prefabs are reusable entity subgraphs. A .prefab file is a mini-scene that can be instantiated multiple times across different scenes.

Creating a Prefab

In the asset browser: right-click -> Create -> Prefab. This creates an empty .prefab file that opens in the scene editor for authoring.

Using a Prefab

Add a PrefabReferenceComponent to an entity. Set its PrefabRef to the .prefab file. The prefab’s entities are instantiated as children at runtime.

Inspector

The inspector shows properties of the selected entity:

Properties are auto-generated from [Property] attributes via comptime codegen. Supported field types: float, int32, bool, String, Vector3, Quaternion, ResourceRef, enums.

Undo/Redo

Each scene page has its own undo stack. Transform gizmo drags, property edits, and entity creation/deletion are all undoable via Edit -> Undo/Redo.

Session Persistence

The editor saves and restores: