← Web to Widget

Diagnostic codes

Every diagnostic has a stable code, a severity, and usually a line and column in the source HTML. Errors abort the import. Warnings are reported and the import continues. Info entries explain a decision the importer made. Agents and CI should key on the code, never on the message text.

HTML (parser)

CodeSeverityMeaningWhat to do
HTML001warningElement never closed; auto-closed at end of inputClose the tag
HTML002warningEnd tag with no matching open element; ignoredRemove the stray end tag
HTML003infoElement implicitly closed by an outer end tagUsually fine
HTML004warningMalformed attributeQuote the value
HTML005warningUnterminated commentAdd -->
HTML006warningUnterminated tag or declarationFix the markup
HTML010warning / infoscript ignored (info for the Tailwind CDN script)Nothing; JavaScript is never converted
HTML011warningExternal stylesheet link ignoredMove rules into a <style> block
HTML012warningDuplicate idMake ids unique; only the first can be bound
HTML020errorNesting deeper than 256Flatten the design

CSS (stylesheets and cascade)

CodeSeverityMeaningWhat to do
CSS001warning / infoRule or at-rule could not be parsed and was skippedCheck the syntax
CSS002warning@media block ignoredUse --viewport, or unconditional rules
CSS003warningUnsupported selector (sibling combinators, pseudo-elements, :not(), :nth-*, nesting)Use class, id, descendant or child selectors
CSS004warning@import ignoredInline the rules
CSS005info@keyframes ignoredAnimate in UMG
CSS006info@font-face ignoredPass --font
CSS007warningProperty not supportedSee the support matrix
CSS008warningValue could not be parsedFix the value
CSS009infoNon-visual property ignored (transition, cursor, ...)Nothing
CSS010warningvar() had no value and no fallback; declaration droppedDefine it on :root or add a fallback

TW (Tailwind)

CodeSeverityMeaningWhat to do
TW001warningUnknown class: not a Tailwind utility and no stylesheet rule uses itTypo, custom color, or plugin class; define a rule or remove it
TW002infoVariant not applicable at the design viewport/mode (max-*, print:, dark: when off)Nothing, or pass --dark / --viewport
TW003infoUtility has no visual effect in UMG (transition-*, cursor-*, ring-*, ...)Nothing

MAP (mapper)

CodeSeverityMeaningWhat to do
MAP001infoElement has no dedicated mapping; treated as a containerUsually fine
MAP002warningdata-widget names an unknown classUse a class from the authoring guide
MAP003infoImage recorded for importNothing
MAP004infoPercentage size approximated by a fill weightUse px or flex-1 for exact control
MAP005infoGradient has more than three stops; rendered from its first, middle and last stopSplit into two overlays if the other stops matter
MAP006infobox-shadow ignoredNothing
MAP007warningWidget name collision resolved with a suffixMake ids unique
MAP008warningId contained invalid characters and was sanitizedUse [A-Za-z0-9_]
MAP009warningDuplicate data-bind or data-event nameMake names unique
MAP010infoAbsolute children anchored to a non-positioned parentAdd relative to the intended parent
MAP011infoProgress bar produced from elementNothing
MAP012infoInline formatting flattened into one text blockSplit into separate elements
MAP013infoaspect-ratio ignoredGive explicit width and height
MAP014warningInline svg not converted; placeholder image emittedExport the SVG to PNG and use img
MAP015infojustify-content reproduced with spacer widgetsNothing
MAP016infoElement marked data-webumg-ignore skipped (preview-only)Nothing; intended for screenshots behind a HUD
MAP017infoCorner gradient direction (to bottom right, bg-gradient-to-br) on an element without fixed px width and height; a 45-degree diagonal is usedGive the element w-[px] h-[px], or use an explicit angle

EMIT (asset creation)

CodeSeverityMeaningWhat to do
EMIT001warning / errorA property could not be applied, or a widget class is unavailableReport it; the rest of the widget is still built
EMIT002warningImage not found or texture import failedCheck the path relative to the HTML
EMIT003errorAsset exists and was not created by this importerRename the design, or pass --force
EMIT004warningParent class not foundCheck --parent
EMIT005infoTypeface not on the font asset; Regular usedUse a font with Bold/Italic faces
EMIT006errorBlueprint compiled with errorsOpen the asset; report the compiler message
EMIT007errorSave failedCheck permissions and source control
EMIT008errorDestination is not a valid content pathUse /Game/...

IO

CodeSeverityMeaning
IO001errorSource file could not be read
IO002warningManifest or header could not be written