visualContainerObjects is at the root level of visual.json (invalid position).
visualContainerObjects must sit inside the visual object; at the root it's invalid and formatting silently breaks.
Why it happens
- visualContainerObjects placed at the root of visual.json instead of inside the
visualobject. - A duplicated visualContainerObjects block.
- Hand-authored from an outdated example.
How to fix it
- Move visualContainerObjects inside the
visualobject — for every visual type, including textboxes. - Remove any duplicate visualContainerObjects.
- Copy the placement from a shipped, validated visual.json rather than from memory.