Skip to content

fix(editor): store zui_layout.ini in ZodiacEngine/Settings/ - #700

Merged
JeanPhilippeKernel merged 1 commit into
developfrom
fix/699-zui-layout-path
Aug 31, 2026
Merged

fix(editor): store zui_layout.ini in ZodiacEngine/Settings/#700
JeanPhilippeKernel merged 1 commit into
developfrom
fix/699-zui-layout-path

Conversation

@JeanPhilippeKernel

Copy link
Copy Markdown
Owner

Summary

Closes #699

zui_layout.ini is an engine setting (not project-specific) and belongs in ZodiacEngine/Settings/ — the directory managed by EngineAssetsBackend and created during the engine build. Previously it was written as a bare "zui_layout.ini" resolved from the process working directory, silently resetting on every clean build or launch from a different CWD.

Approach

  1. EngineAssetsBackend.Exists("/Settings") — verify the directory is accessible via the engine's own VFS backend (no runtime mkdir, the directory is created by the build)
  2. VFSPath::ResolveNative(NativeRoot(), ...) — produce the native path through the engine's path API instead of manual string concatenation
  3. Falls back to "zui_layout.ini" in the working directory when Settings/ is not yet available

Result path

<cwd>/ZodiacEngine/Settings/zui_layout.ini

The file is written on first layout change (LayoutDirty), not on every launch.

…699

Previously the path was a bare "zui_layout.ini" resolved from the process
working directory; a clean build or different launch path would silently
reset the layout.

The layout is an engine setting (not project-specific) so it belongs in
ZodiacEngine/Settings/ — the directory managed by EngineAssetsBackend.

Fix:
- Check EngineAssetsBackend.Exists("/Settings") to confirm the directory
  is accessible (created by the engine build, no runtime mkdir needed)
- Use VFSPath::ResolveNative(NativeRoot()) to produce the native path
  via the engine's own path API instead of manual string concatenation
- Falls back to "zui_layout.ini" in the working directory when the
  Settings directory is not yet available
@JeanPhilippeKernel JeanPhilippeKernel self-assigned this Aug 31, 2026
@JeanPhilippeKernel JeanPhilippeKernel added enhancement New feature or request area-linux Work on Linux system area-window Work on Window system area-macOS Work on macOS system labels Aug 31, 2026
@JeanPhilippeKernel JeanPhilippeKernel moved this to In Progress in ZEngine Board Aug 31, 2026
@JeanPhilippeKernel
JeanPhilippeKernel merged commit 6a8dc18 into develop Aug 31, 2026
17 checks passed
@JeanPhilippeKernel
JeanPhilippeKernel deleted the fix/699-zui-layout-path branch August 31, 2026 23:01
@github-project-automation github-project-automation Bot moved this from In Progress to Done in ZEngine Board Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-linux Work on Linux system area-macOS Work on macOS system area-window Work on Window system enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

fix(editor): store zui_layout.ini in ZodiacEngine/Settings/ instead of process working directory

1 participant