Rerender core Templates with with ToggleControl but it doesnt recognize block type

Neat implementation 🙂

The issue responsible for that error is here:

    const [template, setTemplate] = useState([
        ["core/heading", { placeholder: "Three CTA Block" }],
        ["core/columns", {}, [...column]],
    ])

As well as here:

        setTemplate([
            ["core/heading", { placeholder: "Three CTA Block" }],
            ["core/columns", {}, [...newColumn]],
        ])

If present, the third element of a block template block item array is supposed to be an array of inner block item arrays, but in both cases above you’re spreading the contents of a single block item into the inner blocks container.

The block name "r" in the error message is a product of the block template API attempting to treat the characters in the string "core/column" as a block item array:

Block template API attempting to process a misplaced string

I think the proper solution is to just remove the array spread operator in both cases.