Skip to content

UI Debugger Coverage Map (Source of Truth)

This document tracks the implementation status of UIComponent methods within the Consul UI Debugger. It serves as the reference for feature parity between games and identifying missing functionality.

1. Core Properties (Getters)

These are properties extracted during the UI tree crawl in consul_uidebug.lua.

PropertyRome IIAttilaStatusTestedNote
IdPrimary identifier
AddressMemory address (hex)
PriorityZ-order priority
VisibleVisibility state
IsInteractiveResponds to mouse/keys
PositionX,Y screen coordinates
BoundsFull bounding box
DimensionsWidth x Height
GetStateTextLocalized text content
GetTooltipTextHover tooltip text
Opacity🚫⚠️Getter exists in Attila only
CurrentStateCurrent active state name
ChildCountNumber of direct children
Height / WidthIndividual dimensions
TextDimensionsArea occupied by text
IsDraggedDrag state
IsMoveableCan be moved by user
ParentAlready known from the tree.
IsMouseOverChildrenHover state propagation
HasInterfaceChecks component interface
DockingPointComponent anchor point
CurrentAnimationIdRunning animation
ShaderTechniqueGetGet rendering technique
ShaderVarsGetGet shader parameters
CallbackIdInternal engine callback
GetStateTextDetails?
IsCharPrintable?
CurrentStateUI?
WidthOfTextLineRequires text string param
GlobalExists?
InterfaceFunctionCall internal interface
TextShaderVarsGetGet text shader params
GetPropertyDynamic property access

2. State Modifiers (Setters)

These are triggered via dispatchCommand from the HTML property grid.

Action / SetterRome IIAttilaStatusTestedNote
SetVisibleToggle visibility
SetInteractiveToggle interaction
SetDraggedForce drag state
SetMoveableToggle moveability
SetDisabledToggle disabled state (Buttons)
PropagatePrioritySet priority (recursive)
SetOpacitySet alpha transparency
MoveToManual positioning
ResizeManual sizing
SetStateTextUpdate text content
SetTooltipTextUpdate tooltip
SetStateSwitch component state
SetDockingPointAnchor point control
StealInputFocusSteal all keyboard input (true/false param)
TextShaderTechniqueSetSet text shader tech
TextShaderVarsSetSet text shader params
ShaderTechniqueSetSet rendering technique
ShaderVarsSetSet shader parameters
SetImageColour?
SetImageRotation?
SetStateColours?
SetStateTextXOffset?
SetGlobal?
PropagateImageColour?
SetEventCallback?
SetProperty?
SetStateTextDetails?
SetTooltipTextWithRLSKey🚫?
PropagateOpacity?
PropagateVisibility?

3. Interactive Actions

One-shot functions triggered by buttons in the "Actions" section of the debugger.

MethodRome IIAttilaStatusTestedNote
FindSearch for child
SimulateClickGeneric click
SimulateLClick🚫⚠️Attila-only
SimulateRClick🚫⚠️Attila-only
SimulateMouseOn🚫⚠️Attila-only
SimulateMouseOff🚫⚠️Attila-only
ClearSound🚫⚠️Attila-only
DestroyChildrenWipe child hierarchy
LayoutForce UI refresh/layout call
SimulateMouseMove🚫Mouse movement simulation
CreateComponent🚫Dynamic UI creation
Highlight?
TriggerAnimation?
RunScript?
Adopt?
AttachCustomControl?
Divorce?
FindPositionIntoCurrentText?
FindTextSnapPosition?
ForceEvent?
LockPriority?
LuaCall?
PopulateTextures?
ReorderChildren?
RestoreUIHeirarchy?
SaveUIHeirarchy?
SequentialFind?
SimulateKey?
StealShortcutKey?
TriggerShortcut?
UnLockPriority?

4. Planned Improvements

  1. Visual Highlight: Add a button to call c:Highlight(true) to see the component flicker in-game.
  2. Parent Navigation: Display the Parent Address and allow "jumping" to it.
  3. Search/Filter: Filter the tree by ID or StateText.
  4. Custom Property Fetcher: Input box to call GetProperty(key) on the selected component.

Released under the GPL-3.0 license.