Hello everyone, it was a fun meeting some of you chaps yesterday!
We need to push the discussion on the MVP for the Editor, and it is good for those who missed this meeting to chip in here.
We are creating a google document to collect our thoughts, please take a look here.
To quickly bring you up to speed here is what we currently are thinking. These will be the minimal features the Atelier UI needs to be able to do for MVP.
Level and prefab editing
A way to compose a project quickly and visually, this will be a load better instead of doing things by hand in code. The Editor should know what systems and components are available in the project, you can assign and tweak values of prefabs, place them in a level with either 2D or 3D space.
Undo, Redo, Recover. aka Atelier-Changelog
Using a diff-centric message-passing system for event-change management via broadcast routing between components of Atelier will enable undo, redo, recovery and history branching. (See @nothingismagick 's detailed follow-up below.)
General project management with Amtheyst.toml
At the root of an amethyst project we are going to have an Amethyst.toml, this will store general information about the game, editor settings, and the project’s engine settings. This TOML file will be the file the editor is initially looking for to open a project. Potentially the editor can generate amethyst projects or “project templates”.
Launch, debug, build it, all from the editor.
We are thinking of doing some slight automation of these basic features and put them as single-click buttons.
In Editor Console Interface
Where we can display warnings, errors, and info in one place, and the ability to send back commands to the system.
Hierarchy vs Query interface
Displaying information with ECS may prove to be difficult, these are fresh grounds to cover, an idea is to allow us to use a Query system similar to what spacial OS is doing, while we want some way to also have a sort of “classic” Hierarchy scene view.
The Atelier project
The editor is part of the Atelier project, the editor is referred to as Atelier-UI, while Atelier-Assets is the actual asset system that will be integrated into amethyst.
2D and 3D space editing
Thanks to @AndreaCatania for reminding me about adding this,
Our plans to use this great component to do all our 2D translations in the editor in a designated 2D editing space.
3D is something different, we need to discuss how we want to integrate the 3D rendering from the engine into our webview canvas.
Atelier-UI has now moved and is now under the amethyst org!