Editor
The Editor UI system works like this
- The engine runtime is initiated
- The editor is started (Editor.cpp)
- Resources such as textures and thumbnails are loaded (Editor.cpp)
- A Dear ImGui context is created (Editor.cpp)
- A theme is loaded if the user has one (Editor.cpp)
- Tick starts
- The Dear ImGui context is updated (Editor.cpp)
- All the widgets are updated (Editor.cpp)
- Frame finishes
Widgets
Only the most notable widgets will be listed
Asset slot
The asset slot accepts an asset discriminator to sort assets by type.
Asset slots are used for the Details Panel
where they come
particularly handy for easy asset assignment.
Editor Viewport
Contains the functionality for displaying the game preview to a Dear ImGui window, as well as the whole transformation gizmo system
Filesystem
Controls the Filesystem
widget and everything related to
it. Notable for being a very complicated class that needs a
refactor.
Memory Editor
The memory editor is your standard hex/binary editor, that is going to be used for inspecting the Vulkan shader cache but is currently not able to do that
Settings
Lists all the GUI settings functions
Ship
Used for shipping your production ready application
Statistics
Uses many types of charts to highlight statistics. Notable for both not being performant and being hard to refactor.
Terminal emulator
A soon-to-be released terminal emulator widget
Warnings
Contains all warning messages
UI
The UI works exactly the same as the Editor UI, setup and functionality wise. However, it needs to be kept in mind that the UI uses an event queue, while the regular Editor UI has its widgets baked in the code
- Home
- Beginner concepts
- Advanced concepts
- Engine developer and contributor resources