Skip to content

[Feature] Save window layout to .atta #90

Open
@brenocq

Description

@brenocq

Feature description

Currently, Atta does not save the state (position, size, docking status) of the ImGui windows used within the editor. Every time a project is opened, the window layout resets to its default configuration. This requires users to manually rearrange their workspace repeatedly, which can be inefficient and annoying, especially for projects that rely on specific ImGui windows for visualization or debugging tasks.

This feature proposes saving the ImGui window layout configuration directly within the project's .atta file. When a project is saved, the current layout of all ImGui windows should be stored. When the project is subsequently opened, Atta should restore the windows to their saved positions, sizes, and docking states.

This will provide a persistent workspace for users, improving workflow efficiency. ImGui itself provides mechanisms for saving and loading window states (often to an imgui.ini file), which could potentially be leveraged or adapted for integration with the .atta file format.

Tasks

  • Study ImGui Ini settings
  • Study ImGui window internal API
  • Disable creation of detached window by ImGui
  • Organize Atta dockspace
  • Improve top bar "Window" menu
    • Option to show/hide module windows
    • Option to show/hide editor windows
  • Improve top bar "Help" item
    • Report a bug
    • Suggest a feature
    • Gallery
    • Q&A
  • Determine which window data to store in .atta
  • Get ImGui window data
  • Serialize ImGui window data to .atta
  • Deserialize ImGui window data from .atta
  • Make sure the initial layout is correct when no layout is stored in .atta
  • Make sure layout is initialized when switching between Vulkan/OpenGL
  • Fix Atta crashing when the window is resized

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions