2.8 KiB
2.8 KiB
ADDED Requirements
Requirement: Docking is enabled at compile time
The build system SHALL define IMGUI_HAS_DOCK prior to compiling any translation unit that includes imgui.h.
Scenario: ImGui compiled with docking support
- WHEN the project is compiled with CMake
- THEN
IMGUI_HAS_DOCKis defined for all imgui source files and any file includingimgui.h
Requirement: Docking is enabled at runtime
The application SHALL set ImGuiConfigFlags_DockingEnable in the ImGui IO configuration during initialization.
Scenario: Docking flag set on startup
- WHEN the application starts and
ImGuiContext::Initialize()is called - THEN
io.ConfigFlagsincludesImGuiConfigFlags_DockingEnable
Requirement: Main dockspace spans the application window
The application SHALL create a full-viewport dockspace via ImGui::DockSpaceOverViewport() at the start of each frame's UI rendering.
Scenario: Dockspace created each frame
- WHEN
Application::RenderUI()executes - THEN
ImGui::DockSpaceOverViewport()is called afterNewFrame()and before any panelBegin/Endcalls
Scenario: Dockspace fills the entire viewport
- WHEN the application window is resized
- THEN the dockspace automatically fills the new window dimensions
Requirement: All panels are dockable
All application panels SHALL be created as dockable ImGui windows that integrate with the dockspace.
Scenario: Panel windows use standard Begin/End
- WHEN any panel window is rendered
- THEN its
ImGui::Begin()call does not includeSetNextWindowPosorSetNextWindowSizecalls - AND the window can be dragged, docked, tabbed, or floated by the user
Scenario: Core panels cannot be collapsed
- WHEN the Scene Hierarchy, Layer Panel, Viewport, or Property Panel windows are rendered
- THEN each window is created with
ImGuiWindowFlags_NoCollapse
Requirement: Window visibility toggles persist
Existing View menu toggles for Stage Info and Demo Window SHALL continue to control window visibility.
Scenario: Toggle Stage Info visibility
- WHEN the user clicks "Stage Info" in the View menu
- THEN the Stage Info window appears or disappears
- AND the toggle state is reflected by the checkmark in the menu item
Scenario: Toggle Demo Window visibility
- WHEN the user clicks "ImGui Demo" in the View menu
- THEN the ImGui Demo Window appears or disappears
- AND the toggle state is reflected by the checkmark in the menu item
Requirement: Dock layout persists across sessions
The docking layout SHALL be saved to and restored from imgui.ini automatically by ImGui's built-in persistence.
Scenario: Layout restored on restart
- WHEN the user arranges panels into a custom docking layout and restarts the application
- THEN the previous docking layout is restored