[FEATURE] Support for DayZ Enforce Engine .layout files (XML-based UI format)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
I develop mods for DayZ (Bohemia Interactive game) using Enforce Script and
the game's XML-based UI format (.layout files). When I ask Claude Code to
help edit or create .layout files, it consistently makes structural errors —
wrong property names, wrong value formats, broken nesting — because it has
no knowledge of this format's syntax.
This forces me to manually fix every .layout change Claude suggests, making
it nearly useless for UI work in DayZ modding, even though it handles the
related Enforce Script (.c files) reasonably well.
Proposed Solution
Claude should recognize .layout files used in DayZ/Enforce Engine and
understand their syntax:
- Widget types: PanelWidgetClass, TextWidgetClass, ButtonWidgetClass,
ImageWidgetClass, ScrollWidgetClass, MultilineTextWidgetClass, etc.
- Properties: visible, position, size, color (R G B A, floats 0-1),
hexactpos, vexactpos, hexactsize, vexactsize, font, text, style,
stretch, mode, ignorepointer, clipchildren, valign, halign, etc.
- Nesting: child widgets go inside { } braces
- Properties with spaces in name use quotes: "exact text", "text valign"
Ideally: syntax highlighting + correct autocomplete/edits when working
with .layout files, similar to how Claude handles HTML or XML.
Alternative Solutions
Current workaround: I describe every property manually in the chat each
time, paste example snippets from vanilla DayZ files, and fix Claude's
mistakes by hand. This works but is very slow and defeats the purpose
of AI assistance for UI work.
Priority
Critical - Blocking my work
Feature Category
File operations
Use Case Example
- I'm building a custom quest journal UI for a DayZ mod (КПК-терминал)
- I ask Claude to add a new widget — a scrollable task list panel
- Claude creates a ScrollWidgetClass with wrong property names
(e.g. writes "width"/"height" instead of "size", uses hex colors
instead of R G B A floats, omits required hexactsize/vexactsize flags)
- The layout fails to load in-game with no error — just a blank screen
- I have to manually compare with vanilla DayZ layout files to find
every mistake and fix it by hand
- With proper .layout support, Claude would generate correct widget
syntax on the first try, saving 30-60 min per UI iteration
Additional Context
Reference: DayZ modding wiki — https://community.bistudio.com/wiki/DayZ:GUI_Framework
The .layout format is also used in Arma 3 modding (same Enforce Engine).
Combined DayZ + Arma 3 modding community = hundreds of thousands of users.
Example of a correct .layout snippet (for reference):
ScrollWidgetClass RSA_TasksScroll {
visible 1
position 0 8
size 1 0.7
hexactpos 0
vexactpos 1
hexactsize 0
vexactsize 0
color 0 0 0 0
{
WrapSpacerWidgetClass RSA_TasksList {
visible 1
position 0 0
size 1 0
hexactpos 0
vexactpos 0
hexactsize 0
vexactsize 1
}
}
}