Block doesn’t appear in the editor inserter after upload
Check the debug panel for validator errors. Most common causes:
block.jsonis missing or has invalid JSON (Rule 1)index.jsis missing (Rule 5)index.asset.phpis missing (Rule 6)wp-primitivesis in the dependencies array (Rule 10: causes silent load failure)
Element controls not appearing in the inspector
The element handle is not in index.asset.php. For each element you use, add wpt-element-{name} to the dependencies array. Without this, window.wptElementDefs does not contain the element definition when the block loads.
Element options showing as empty dropdowns
window.wptElements is defined but the element returned an empty object from resolve(). Check the browser console, there will be a [wpTruss] Element "..." not found in registry warning. This confirms the handle is missing from index.asset.php.
Block canvas is blank on first insert
Placeholder text is missing from canvas elements. Every el() call for a heading, description, or button must provide a fallback string as the last argument:
el( attr.headingLevel || 'h2', { className: ... }, attr.heading || 'Placeholder heading' )
Spacing changes in the editor don’t appear on the frontend
Spacing is set via CSS custom properties in inline styles, not modifier classes. If render.php is not setting --wpt-{slug}-padding on the root element, the style.css fallback applies instead. Check that the spacing map in render.php is present and that the inline style attribute is passed to getblockwrapper_attributes().
Validator rejects block with “transition: not permitted”
Remove all transition:, animation:, and @keyframes from style.css. Motion is reserved for the V2 Motion Layer. Use hover state changes without transitions, change the property directly, without an easing curve, until V2 ships.
Block audit shows no registry pills (no ✓ structure, ✓ spacing)
The block has not been re-registered against the current Panel Registry. Go to Custom Blocks → Block Audit and click Re-register on the block. This syncs the attribute definitions with the current registry options.