Putting <t> primitive [doStopThis V] in a custom block’s definition makes the block turn into an ide, and it also freezes snap!. the IDE in a block is the same width and length as the normal block, and I think the reason for the freeze is because Snap tries to update the IDE in a block with the real ide, but then the IDE in a block IN the IDE in a block needs to be updated, and so on..
But the freeze haooened without an input
but about the IDE in a block, why does that happen
I didn’t get the IDE in a block glitch. It just froze, without the block on screen. It’s probably just a rendering bug, though; since it errors when rendering the block.
Thats simply because it couldn’t render the block in the palette, since it was checking for stop that failed - so it just rendered the section of the screen (from the topleft) with the size of the block. Why does it do that? I dont know
I can probably answer this, as someone who has analysed Morphic.js’s code extensively in the past. Each morph in Morphic draws onto a canvas with the width and height of the morph itself. When it is done, it draws the image of the canvas onto it’s parent, and so on, until it displays the entire world on the canvas you see. I think it errors when flushing (refreshing) the block pallet so it cannot draw the morph of the block, and thus there is no canvas to draw onto its parent’s canvas, so it just takes the pixels from 0, 0 to the width and height of the Morph from the main canvas and draws that instead.






